From e7b3a5e891287b1291d2ac38f7c83d5d73bc7906 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期六, 08 十月 2022 08:49:01 +0800 Subject: [PATCH] 1 --- src/main/resources/static/css/bootstrap/bootstrap-grid.css.map | 1 src/main/java/com/lf/server/service/sys/UsersService.java | 9 src/main/java/com/lf/server/helper/RestHelper.java | 1 src/main/resources/templates/monitor.html | 1062 ++ src/main/java/com/lf/server/entity/sys/ResEntity.java | 2 src/main/java/com/lf/server/helper/StringHelper.java | 39 src/main/java/com/lf/server/config/WebConfig.java | 25 src/main/resources/static/css/bootstrap/bootstrap-grid.min.css.map | 1 src/main/java/com/lf/server/service/sys/TokenService.java | 19 src/main/resources/static/js/jquery-ui.min.js | 13 src/main/resources/static/css/bootstrap/bootstrap.min.css.map | 1 data/dep.xls | 0 src/main/java/com/lf/server/controller/sys/ResController.java | 30 src/main/java/com/lf/server/service/sys/AuthService.java | 7 src/main/java/com/lf/server/entity/sys/UsersEntity.java | 2 src/main/java/com/lf/server/config/ScheduleConfig.java | 61 src/main/java/com/lf/server/controller/sys/LoginController.java | 25 说明.txt | 168 src/main/java/com/lf/server/controller/sys/MenusController.java | 30 src/main/resources/config/rsa_private_key.txt | 1 src/main/resources/mapper/data/ResOpMapper.xml | 10 src/main/java/com/lf/server/config/WebSocketConfig.java | 21 src/main/resources/static/css/main.css | 482 + src/main/java/com/lf/server/service/sys/OperateService.java | 6 src/main/resources/static/css/bootstrap/bootstrap-reboot.min.css.map | 1 src/main/java/com/lf/server/service/all/ScheduleService.java | 171 src/main/java/com/lf/server/service/sys/ResOpService.java | 6 src/main/java/com/lf/server/controller/data/DirController.java | 14 src/main/resources/static/js/echarts.min.js | 20 src/main/java/com/lf/server/entity/sys/TokenEntity.java | 3 src/main/resources/config/rsa_public_key.txt | 1 src/main/resources/static/sg/login.html | 365 + src/main/resources/static/css/bootstrap/bootstrap-reboot.css | 326 src/main/java/com/lf/server/interceptor/AuthInterceptor.java | 93 src/main/java/com/lf/server/service/data/StyleService.java | 1 src/main/java/com/lf/server/mapper/sys/ResMapper.java | 5 src/main/java/com/lf/server/service/sys/DepService.java | 8 src/main/java/com/lf/server/controller/all/FileController.java | 123 src/main/java/com/lf/server/entity/sys/ResOpEntity.java | 2 src/main/java/com/lf/server/entity/sys/LoginEntity.java | 2 pom.xml | 77 src/main/java/com/lf/server/entity/sys/OperateEntity.java | 33 src/main/resources/mapper/data/TokenMapper.xml | 14 src/main/java/com/lf/server/mapper/sys/DepMapper.java | 4 src/main/java/com/lf/server/entity/sys/MenusEntity.java | 2 src/main/java/com/lf/server/LfApplication.java | 6 src/main/java/com/lf/server/controller/sys/DepController.java | 24 src/main/java/com/lf/server/mapper/sys/MenusMapper.java | 4 src/main/java/com/lf/server/config/PropertiesConfig.java | 82 src/main/java/com/lf/server/controller/sys/UsersController.java | 76 src/main/java/com/lf/server/mapper/sys/LoginMapper.java | 5 src/main/java/com/lf/server/entity/sys/RoleEntity.java | 2 data/dep.csv | 86 src/main/java/com/lf/server/mapper/data/StyleMapper.java | 1 src/main/java/com/lf/server/mapper/sys/ResOpMapper.java | 4 src/main/resources/static/js/paramconfig.js | 58 src/main/java/com/lf/server/controller/all/SignController.java | 232 src/main/resources/mapper/data/UsersMapper.xml | 16 src/main/java/com/lf/server/helper/PathHelper.java | 100 src/main/java/com/lf/server/mapper/sys/OperateMapper.java | 4 src/main/java/com/lf/server/service/all/RedisService.java | 2 src/main/java/com/lf/server/controller/sys/ResOpController.java | 24 src/main/java/com/lf/server/service/all/WebSocketService.java | 132 src/main/java/com/lf/server/service/sys/RoleService.java | 7 src/main/resources/application.yml | 109 src/main/java/com/lf/server/entity/sys/AuthEntity.java | 2 src/main/java/com/lf/server/controller/data/DictController.java | 16 src/main/java/com/lf/server/aspect/LogAspect.java | 140 src/main/java/com/lf/server/mapper/sys/AuthMapper.java | 5 src/main/resources/static/css/bootstrap/bootstrap-reboot.min.css | 8 src/main/resources/static/css/bootstrap/bootstrap-grid.css | 3872 ++++++++++ src/main/java/com/lf/server/helper/WebHelper.java | 93 src/main/java/com/lf/server/filter/CrosFilter.java | 0 src/main/resources/mapper/data/DepMapper.xml | 10 src/main/resources/static/css/bootstrap/bootstrap.css.map | 1 src/main/java/com/lf/server/service/all/SignService.java | 69 src/main/resources/mapper/data/MenusMapper.xml | 10 src/main/java/com/lf/server/entity/all/RedisCacheKey.java | 47 src/main/java/com/lf/server/entity/sys/DepEntity.java | 2 src/main/resources/mapper/data/RoleMapper.xml | 10 src/main/java/com/lf/server/controller/all/ControlController.java | 93 src/main/resources/static/js/resourceAnalyse.js | 89 src/main/java/com/lf/server/controller/sys/RoleController.java | 32 src/main/java/com/lf/server/controller/sys/OperateController.java | 25 src/main/java/com/lf/server/mapper/sys/UsersMapper.java | 4 src/main/java/com/lf/server/entity/all/StaticData.java | 15 data/dir.xls | 0 src/main/java/com/lf/server/aspect/SysLog.java | 14 src/main/java/com/lf/server/service/all/FileService.java | 137 src/main/resources/mapper/data/LoginMapper.xml | 10 src/main/java/com/lf/server/config/SwaggerConfig.java | 37 src/main/java/com/lf/server/mapper/sys/TokenMapper.java | 6 src/main/java/com/lf/server/controller/data/VersionController.java | 16 data/menu.xls | 0 src/main/java/com/lf/server/service/sys/ResService.java | 8 data/menu.csv | 66 src/main/java/com/lf/server/controller/sys/AuthController.java | 25 src/main/resources/static/css/bootstrap/bootstrap.css | 10263 ++++++++++++++++++++++++++++ data/dir.csv | 246 src/main/java/com/lf/server/controller/data/StyleController.java | 23 src/main/resources/static/css/bootstrap/bootstrap-reboot.css.map | 1 src/main/java/com/lf/server/mapper/sys/RoleMapper.java | 6 src/main/resources/templates/login.html | 33 src/main/resources/static/js/rsa.min.js | 95 src/main/resources/static/sg/monitor.html | 1051 ++ src/main/resources/static/css/bootstrap/bootstrap-grid.min.css | 7 src/main/java/com/lf/server/config/InitConfig.java | 32 src/main/java/com/lf/server/helper/RsaHelper.java | 200 src/main/java/com/lf/server/controller/sys/TokenController.java | 32 src/main/java/com/lf/server/service/sys/MenusService.java | 6 src/main/resources/templates/index.html | 14 src/main/resources/templates/druid.html | 12 src/main/java/com/lf/server/helper/FileHelper.java | 123 src/main/resources/mapper/data/ResMapper.xml | 8 src/main/java/com/lf/server/controller/all/BaseController.java | 2 /dev/null | 137 src/main/resources/static/js/sockjs.min.js | 2 src/main/java/com/lf/server/mapper/data/DictMapper.java | 1 src/main/resources/static/css/jquery-ui.min.css | 7 src/main/resources/static/css/bootstrap/bootstrap.min.css | 7 src/main/resources/static/js/bootstrap.min.js | 7 src/main/java/com/lf/server/service/sys/LoginService.java | 6 src/main/resources/mapper/data/OperateMapper.xml | 23 src/main/resources/mapper/data/AuthMapper.xml | 10 124 files changed, 20,695 insertions(+), 782 deletions(-) diff --git a/data/dep.csv b/data/dep.csv index 76200eb..7b8ad16 100644 --- a/data/dep.csv +++ b/data/dep.csv @@ -1,44 +1,44 @@ 1,0,中国石油天然气管道工程有限公司,,,,,,,,,,0,1,1,,,, -2,1,职能业务部门,,,,,,,,,,1,1,1,,,, -3,2,分公司办公室,,,,,,,,,,2,1,1,,,, -4,2,人力资源部,,,,,,,,,,2,2,1,,,, -5,2,企划运营部,,,,,,,,,,2,3,1,,,, -6,2,财务资产部,,,,,,,,,,2,4,1,,,, -7,2,技术质量安全部,,,,,,,,,,2,5,1,,,, -8,2,技术质量安全部,,,,,,,,,,2,6,1,,,, -9,2,党群工作部,,,,,,,,,,2,7,1,,,, -10,1,共享支持部门,,,,,,,,,,1,2,1,,,, -11,10,技术中心,,,,,,,,,,2,1,1,,,, -12,10,信息档案中心,,,,,,,,,,2,2,1,,,, -13,10,人才交流中心,,,,,,,,,,2,3,1,,,, -14,10,招标中心,,,,,,,,,,2,4,1,,,, -15,1,生产业务部门,,,,,,,,,,1,3,1,,,, -16,15,市场开发部,,,,,,,,,,2,1,1,,,, -17,15,项目管理部,,,,,,,,,,2,2,1,,,, -18,15,工艺室,,,,,,,,,,2,3,1,,,, -19,15,配管室,,,,,,,,,,2,4,1,,,, -20,15,线路室,,,,,,,,,,2,5,1,,,, -21,15,穿跨越室,,,,,,,,,,2,6,1,,,, -22,15,土建室,,,,,,,,,,2,7,1,,,, -23,15,机械室,,,,,,,,,,2,8,1,,,, -24,15,仪表自动化室,,,,,,,,,,2,9,1,,,, -25,15,电力室,,,,,,,,,,2,10,1,,,, -26,15,通信室,,,,,,,,,,2,11,1,,,, -27,15,技术经济室,,,,,,,,,,2,12,1,,,, -28,15,市政工程室,,,,,,,,,,2,13,1,,,, -29,15,海洋工程室,,,,,,,,,,2,14,1,,,, -30,1,分公司事务部,,,,,,,,,,1,4,1,,,, -31,30,国际项目中心,,,,,,,,,,2,1,1,,,, -32,30,阿布扎比分公司,,,,,,,,,,2,2,1,,,, -33,30,东北分公司,,,,,,,,,,2,3,1,,,, -34,30,上海分公司,,,,,,,,,,2,4,1,,,, -35,30,珠海分公司,,,,,,,,,,2,5,1,,,, -36,30,新疆分公司,,,,,,,,,,2,6,1,,,, -37,30,北京分公司,,,,,,,,,,2,7,1,,,, -38,30,勘察事业部,,,,,,,,,,2,8,1,,,, -39,30,东南亚设计咨询中心,,,,,,,,,,2,9,1,,,, -40,30,西南设计咨询中心,,,,,,,,,,2,10,1,,,, -41,1,服务保障部门,,,,,,,,,,1,5,1,,,, -42,41,行政事务部,,,,,,,,,,2,1,1,,,, -43,41,文印完成室,,,,,,,,,,2,2,1,,,, -44,41,汽车队,,,,,,,,,,2,3,1,,,, +2,1,职能业务部门,,,,,,,,,,1,2,1,,,, +3,2,分公司办公室,,,,,,,,,,2,3,1,,,, +4,2,人力资源部,,,,,,,,,,2,4,1,,,, +5,2,企划运营部,,,,,,,,,,2,5,1,,,, +6,2,财务资产部,,,,,,,,,,2,6,1,,,, +7,2,技术质量安全部,,,,,,,,,,2,7,1,,,, +8,2,技术质量安全部,,,,,,,,,,2,8,1,,,, +9,2,党群工作部,,,,,,,,,,2,9,1,,,, +10,1,共享支持部门,,,,,,,,,,1,10,1,,,, +11,10,技术中心,,,,,,,,,,2,11,1,,,, +12,10,信息档案中心,,,,,,,,,,2,12,1,,,, +13,10,人才交流中心,,,,,,,,,,2,13,1,,,, +14,10,招标中心,,,,,,,,,,2,14,1,,,, +15,1,生产业务部门,,,,,,,,,,1,15,1,,,, +16,15,市场开发部,,,,,,,,,,2,16,1,,,, +17,15,项目管理部,,,,,,,,,,2,17,1,,,, +18,15,工艺室,,,,,,,,,,2,18,1,,,, +19,15,配管室,,,,,,,,,,2,19,1,,,, +20,15,线路室,,,,,,,,,,2,20,1,,,, +21,15,穿跨越室,,,,,,,,,,2,21,1,,,, +22,15,土建室,,,,,,,,,,2,22,1,,,, +23,15,机械室,,,,,,,,,,2,23,1,,,, +24,15,仪表自动化室,,,,,,,,,,2,24,1,,,, +25,15,电力室,,,,,,,,,,2,25,1,,,, +26,15,通信室,,,,,,,,,,2,26,1,,,, +27,15,技术经济室,,,,,,,,,,2,27,1,,,, +28,15,市政工程室,,,,,,,,,,2,28,1,,,, +29,15,海洋工程室,,,,,,,,,,2,29,1,,,, +30,1,分公司事务部,,,,,,,,,,1,30,1,,,, +31,30,国际项目中心,,,,,,,,,,2,31,1,,,, +32,30,阿布扎比分公司,,,,,,,,,,2,32,1,,,, +33,30,东北分公司,,,,,,,,,,2,33,1,,,, +34,30,上海分公司,,,,,,,,,,2,34,1,,,, +35,30,珠海分公司,,,,,,,,,,2,35,1,,,, +36,30,新疆分公司,,,,,,,,,,2,36,1,,,, +37,30,北京分公司,,,,,,,,,,2,37,1,,,, +38,30,勘察事业部,,,,,,,,,,2,38,1,,,, +39,30,东南亚设计咨询中心,,,,,,,,,,2,39,1,,,, +40,30,西南设计咨询中心,,,,,,,,,,2,40,1,,,, +41,1,服务保障部门,,,,,,,,,,1,41,1,,,, +42,41,行政事务部,,,,,,,,,,2,42,1,,,, +43,41,文印完成室,,,,,,,,,,2,43,1,,,, +44,41,汽车队,,,,,,,,,,2,44,1,,,, diff --git a/data/dep.xls b/data/dep.xls index e1c90d2..34f4fa9 100644 --- a/data/dep.xls +++ b/data/dep.xls Binary files differ diff --git a/data/dep.xls.BASE.xls b/data/dep.xls.BASE.xls deleted file mode 100644 index 716b0d2..0000000 --- a/data/dep.xls.BASE.xls +++ /dev/null Binary files differ diff --git a/data/dep.xls.LOCAL.xls b/data/dep.xls.LOCAL.xls deleted file mode 100644 index e1c90d2..0000000 --- a/data/dep.xls.LOCAL.xls +++ /dev/null Binary files differ diff --git a/data/dep.xls.REMOTE.xls b/data/dep.xls.REMOTE.xls deleted file mode 100644 index c985177..0000000 --- a/data/dep.xls.REMOTE.xls +++ /dev/null Binary files differ diff --git a/data/dir.csv b/data/dir.csv index bd4f699..20b04a9 100644 --- a/data/dir.csv +++ b/data/dir.csv @@ -1,123 +1,123 @@ -1001,0,国家基础地理数据,,,1,1,1,,,, -1002,1001,DOM,,,2,1,1,,,, -1003,1002,2m,,,3,1,1,,,, -1004,1002,0.5m,,,3,2,1,,,, -1005,1001,DEM,,,2,2,1,,,, -1006,1005,30m,,,3,1,1,,,, -1007,1005,90m,,,3,2,1,,,, -1008,1001,DLG,,,2,3,1,,,, -1009,1008,1:100万,,,3,1,1,,,, -2001,0,中俄东线管道工程南段,,,1,2,1,,,, -2002,2001,勘察数据,,,2,1,1,,,, -2003,2002,基础地质,,,3,1,1,,,, -2004,2003,钻孔数据,,,4,1,1,,,, -2007,2003,气象资料,,,4,4,1,,,, -2009,2003,项目评估报告,,,4,6,1,,,, -2005,2003,海洋气象,,,4,5,1,,,, -2010,2002,勘察工程数据,,,3,2,1,,,, -2011,2010,勘察报告说明书,,,4,1,1,,,, -2012,2010,试验成果表,,,4,2,1,,,, -2013,2010,地质剖面图,,,4,3,1,,,, -2014,2010,现场采样照片,,,4,4,1,,,, -2015,2010,踏勘资料,,,4,5,1,,,, -2016,2010,数字化成果,,,4,6,1,,,, -2017,2010,数据库,,,4,7,1,,,, -2018,2010,三维地质模型,,,4,8,1,,,, -2019,2001,岩土数据,,,2,2,1,,,, -2020,2019,基础岩土资料,,,4,1,1,,,, -2021,2020,地灾分布资料,,,5,1,1,,,, -2022,2019,InSAR,,,4,2,1,,,, -2023,2022,哨兵 Sentinel-1,,,5,1,1,,,, -2024,2019,岩土工程数据,,,4,3,1,,,, -2025,2024,高陡边坡设计数据,,,5,1,1,,,, -2026,2024,地质灾害治理设计数据,,,5,2,1,,,, -2027,2024,地质灾害勘察数据,,,5,3,1,,,, -2028,2024,地灾监测数据,,,5,4,1,,,, -2029,2001,测量数据,,,2,3,1,,,, -2030,2029,基础地理数据,,,3,1,1,,,, -2031,2030,DOM,,,4,1,1,,,, -2032,2031,0.5m,,,5,1,1,,,, -2033,2031,2m,,,5,2,1,,,, -2034,2030,DEM,,,4,2,1,,,, -2035,2034,30m,,,5,1,1,,,, -2036,2034,90m,,,5,2,1,,,, -2037,2030,DLG,,,4,3,1,,,, -2038,2037,1:1万,,,5,1,1,,,, -2039,2037,1:5万,,,5,2,1,,,, -2040,2037,1:25万(有偏),,,5,3,1,,,, -2041,2037,1:100 万,,,5,4,1,,,, -2042,2037,OSM 数据,,,5,5,1,,,, -2043,2030,DRG,,,4,4,1,,,, -2044,2043,1:1万,,,5,1,1,,,, -2045,2043,1:5万,,,5,2,1,,,, -2046,2043,1:10万,,,5,3,1,,,, -2047,2043,1:25万,,,5,4,1,,,, -2048,2030,POI,,,4,5,1,,,, -2049,2048,特定场所Ⅰ,,,5,1,1,,,, -2050,2048,特定场所Ⅱ,,,5,2,1,,,, -2051,2048,易燃易爆场所,,,5,3,1,,,, -2052,2029,测量工程数据,,,3,2,1,,,, -2053,2052,DOM,,,4,1,1,,,, -2054,2053,0.2m,,,5,1,1,,,, -2055,2053,1m,,,5,2,1,,,, -2056,2052,DEM,,,4,2,1,,,, -2057,2056,2m,,,5,1,1,,,, -2058,2056,12.5m,,,5,2,1,,,, -2059,2052,DLG,,,4,3,1,,,, -2060,2059,0.388888889,,,5,1,1,,,, -2061,2059,0.736111111,,,5,2,1,,,, -2062,2059,1.430555556,,,5,3,1,,,, -2063,2052,数据表,,,4,4,1,,,, -2064,2063,中线成果,,,5,1,1,,,, -2065,2063,地面线,,,5,2,1,,,, -2066,2063,地形图索引表,,,5,3,1,,,, -2067,2063,离散点,,,5,4,1,,,, -2068,2063,行政区划表,,,5,5,1,,,, -2069,2063,基准控制点,,,5,6,1,,,, -2070,2052,技术报告,,,4,5,1,,,, -2071,2070,测量纲要,,,5,1,1,,,, -2072,2070,技术设计方案,,,5,2,1,,,, -2073,2070,总结报告,,,5,3,1,,,, -2074,2052,图片,,,4,6,1,,,, -2075,2074,航测相片,,,5,1,1,,,, -2076,2074,三桩一牌,,,5,2,1,,,, -2077,2074,水工保护,,,5,3,1,,,, -2078,2074,设备铭牌,,,5,4,1,,,, -2079,2074,点之记,,,5,5,1,,,, -2080,2052,模型数据,,,4,7,1,,,, -2081,2080,三维场景,,,5,1,1,,,, -2082,2080,倾斜模型,,,5,2,1,,,, -2083,2080,三维地形,,,5,3,1,,,, -2084,2080,BIM 模型,,,5,4,1,,,, -2085,2080,点云模型,,,5,5,1,,,, -2086,2029,符号库,,,3,3,1,,,, -2087,2086,三维符号,,,4,1,1,,,, -2088,2086,二维符号,,,4,2,1,,,, -2089,2088,CAD 块符号,,,5,3,1,,,, -2090,2088,矢量出图符号,,,5,4,1,,,, -2091,2001,合规数据,,,2,4,1,,,, -2092,2091,法律,,,3,1,1,,,, -2093,2091,法规,,,3,2,1,,,, -2094,2091,国际标准,,,3,3,1,,,, -2095,2091,国家标准,,,3,4,1,,,, -2096,2095,测绘,,,4,1,1,,,, -2097,2095,勘察,,,4,2,1,,,, -2098,2095,岩土,,,4,3,1,,,, -2099,2095,计算机,,,4,4,1,,,, -2100,2091,行业标准,,,3,5,1,,,, -2101,2100,测绘,,,4,1,1,,,, -2102,2100,勘察,,,4,2,1,,,, -2103,2100,岩土,,,4,3,1,,,, -2104,2100,计算机,,,4,4,1,,,, -2105,2091,企业标准,,,3,6,1,,,, -2106,2105,中国石油天然气集团,,,4,1,1,,,, -2107,2105,国家管网集团,,,4,2,1,,,, -2108,2105,管道局,,,4,3,1,,,, -2109,2105,管道设计院,,,4,4,1,,,, -2110,2091,外部参考资料,,,3,7,1,,,, -2111,2110,会议资料,,,4,1,1,,,, -2112,2110,工程经验与案例,,,4,2,1,,,, -2113,2001,管理数据,,,2,5,1,,,, -2114,2113,视频,,,3,1,1,,,, -2115,2113,照片,,,3,3,1,,,, -2116,2113,周报,,,3,2,1,,,, +1,0,国家基础地理数据,,,1,1,1,,,, +2,1,DOM,,,2,2,1,,,, +3,2,2m,,,3,3,1,,,, +4,2,0.5m,,,3,4,1,,,, +5,1,DEM,,,2,5,1,,,, +6,5,30m,,,3,6,1,,,, +7,5,90m,,,3,7,1,,,, +8,1,DLG,,,2,8,1,,,, +9,8,1:100万,,,3,9,1,,,, +10,0,中俄东线管道工程南段,,,1,10,1,,,, +11,10,勘察数据,,,2,11,1,,,, +12,11,基础地质,,,3,12,1,,,, +13,12,钻孔数据,,,4,13,1,,,, +14,12,气象资料,,,4,14,1,,,, +15,12,项目评估报告,,,4,15,1,,,, +16,12,海洋气象,,,4,16,1,,,, +17,11,勘察工程数据,,,3,17,1,,,, +18,17,勘察报告说明书,,,4,18,1,,,, +19,17,试验成果表,,,4,19,1,,,, +20,17,地质剖面图,,,4,20,1,,,, +21,17,现场采样照片,,,4,21,1,,,, +22,17,踏勘资料,,,4,22,1,,,, +23,17,数字化成果,,,4,23,1,,,, +24,17,数据库,,,4,24,1,,,, +25,17,三维地质模型,,,4,25,1,,,, +26,10,岩土数据,,,2,26,1,,,, +27,26,基础岩土资料,,,4,27,1,,,, +28,27,地灾分布资料,,,5,28,1,,,, +29,26,InSAR,,,4,29,1,,,, +30,29,哨兵 Sentinel-1,,,5,30,1,,,, +31,26,岩土工程数据,,,4,31,1,,,, +32,31,高陡边坡设计数据,,,5,32,1,,,, +33,31,地质灾害治理设计数据,,,5,33,1,,,, +34,31,地质灾害勘察数据,,,5,34,1,,,, +35,31,地灾监测数据,,,5,35,1,,,, +36,10,测量数据,,,2,36,1,,,, +37,36,基础地理数据,,,3,37,1,,,, +38,37,DOM,,,4,38,1,,,, +39,38,0.5m,,,5,39,1,,,, +40,38,2m,,,5,40,1,,,, +41,37,DEM,,,4,41,1,,,, +42,41,30m,,,5,42,1,,,, +43,41,90m,,,5,43,1,,,, +44,37,DLG,,,4,44,1,,,, +45,44,1:1万,,,5,45,1,,,, +46,44,1:5万,,,5,46,1,,,, +47,44,1:25万(有偏),,,5,47,1,,,, +48,44,1:100 万,,,5,48,1,,,, +49,44,OSM 数据,,,5,49,1,,,, +50,37,DRG,,,4,50,1,,,, +51,50,1:1万,,,5,51,1,,,, +52,50,1:5万,,,5,52,1,,,, +53,50,1:10万,,,5,53,1,,,, +54,50,1:25万,,,5,54,1,,,, +55,37,POI,,,4,55,1,,,, +56,55,特定场所Ⅰ,,,5,56,1,,,, +57,55,特定场所Ⅱ,,,5,57,1,,,, +58,55,易燃易爆场所,,,5,58,1,,,, +59,36,测量工程数据,,,3,59,1,,,, +60,59,DOM,,,4,60,1,,,, +61,60,0.2m,,,5,61,1,,,, +62,60,1m,,,5,62,1,,,, +63,59,DEM,,,4,63,1,,,, +64,63,2m,,,5,64,1,,,, +65,63,12.5m,,,5,65,1,,,, +66,59,DLG,,,4,66,1,,,, +67,66,0.388888889,,,5,67,1,,,, +68,66,0.736111111,,,5,68,1,,,, +69,66,1.430555556,,,5,69,1,,,, +70,59,数据表,,,4,70,1,,,, +71,70,中线成果,,,5,71,1,,,, +72,70,地面线,,,5,72,1,,,, +73,70,地形图索引表,,,5,73,1,,,, +74,70,离散点,,,5,74,1,,,, +75,70,行政区划表,,,5,75,1,,,, +76,70,基准控制点,,,5,76,1,,,, +77,59,技术报告,,,4,77,1,,,, +78,77,测量纲要,,,5,78,1,,,, +79,77,技术设计方案,,,5,79,1,,,, +80,77,总结报告,,,5,80,1,,,, +81,59,图片,,,4,81,1,,,, +82,81,航测相片,,,5,82,1,,,, +83,81,三桩一牌,,,5,83,1,,,, +84,81,水工保护,,,5,84,1,,,, +85,81,设备铭牌,,,5,85,1,,,, +86,81,点之记,,,5,86,1,,,, +87,59,模型数据,,,4,87,1,,,, +88,87,三维场景,,,5,88,1,,,, +89,87,倾斜模型,,,5,89,1,,,, +90,87,三维地形,,,5,90,1,,,, +91,87,BIM 模型,,,5,91,1,,,, +92,87,点云模型,,,5,92,1,,,, +93,36,符号库,,,3,93,1,,,, +94,93,三维符号,,,4,94,1,,,, +95,93,二维符号,,,4,95,1,,,, +96,95,CAD 块符号,,,5,96,1,,,, +97,95,矢量出图符号,,,5,97,1,,,, +98,10,合规数据,,,2,98,1,,,, +99,98,法律,,,3,99,1,,,, +100,98,法规,,,3,100,1,,,, +101,98,国际标准,,,3,101,1,,,, +102,98,国家标准,,,3,102,1,,,, +103,102,测绘,,,4,103,1,,,, +104,102,勘察,,,4,104,1,,,, +105,102,岩土,,,4,105,1,,,, +106,102,计算机,,,4,106,1,,,, +107,98,行业标准,,,3,107,1,,,, +108,107,测绘,,,4,108,1,,,, +109,107,勘察,,,4,109,1,,,, +110,107,岩土,,,4,110,1,,,, +111,107,计算机,,,4,111,1,,,, +112,98,企业标准,,,3,112,1,,,, +113,112,中国石油天然气集团,,,4,113,1,,,, +114,112,国家管网集团,,,4,114,1,,,, +115,112,管道局,,,4,115,1,,,, +116,112,管道设计院,,,4,116,1,,,, +117,98,外部参考资料,,,3,117,1,,,, +118,117,会议资料,,,4,118,1,,,, +119,117,工程经验与案例,,,4,119,1,,,, +120,10,管理数据,,,2,120,1,,,, +121,120,视频,,,3,121,1,,,, +122,120,照片,,,3,122,1,,,, +123,120,周报,,,3,123,1,,,, diff --git a/data/dir.xls b/data/dir.xls index 0dc9a44..f86ed2a 100644 --- a/data/dir.xls +++ b/data/dir.xls Binary files differ diff --git a/data/menu.csv b/data/menu.csv index a62d0d5..7421980 100644 --- a/data/menu.csv +++ b/data/menu.csv @@ -1,35 +1,35 @@ 1,0,管道基础大数据平台,Pipeline Basic Big Data Platform,,,0,,0,1,0,1,,,, 2,1,综合展示,Comprehensive Display,,,1,,1,2,1,1,,,, -3,2,综合展示,Comprehensive Display,Synthesis,,1,,2,1,1,1,,,, -4,2,专题图,Thematic Maps,Thematic,,1,,2,2,1,1,,,, -5,2,资料馆,Data Library,Archive,,1,,2,3,1,1,,,, -6,1,数据管理,Data Manage,,,1,,1,3,1,1,,,, -7,6,目录管理,CatalogueManage,catalogueManage,,1,,2,1,1,1,,,, -8,6,数据上传,Data Updata,dataUpdata,,1,,2,2,1,1,,,, -9,6,元数据管理,MetadataManage,metadataManage,,1,,2,3,1,1,,,, -10,6,数据入库,DataLoading,dataLoading,,1,,2,4,1,1,,,, -11,6,空间数据管理,SpatialData,SpatialData,,1,,2,5,1,1,,,, -12,6,版本管理,VersionManage,versionManage,,1,,2,6,1,1,,,, -13,6,字典管理,DictionaryManage,dictionaryManage,,1,,2,7,1,1,,,, -14,6,样式管理,StyleManage,styleManage,,1,,2,8,1,1,,,, -15,1,运维管理,Operat Manage,,,1,,1,4,1,1,,,, -16,15,系统配置,System Layout,,,1,,2,1,1,1,,,, -17,16,菜单配置,Menu Settings,menuSettings,,1,,3,1,1,1,,,, -18,16,参数配置,ParameterConfiguration,parameterConfiguration,,1,,3,2,1,1,,,, -19,16,其他,Rests,rests,,1,,3,3,1,1,,,, -20,15,安全管理,Safety Management,safetyManagement,,1,,2,2,1,1,,,, -21,15,运行监控,Operation Monitoring,,,1,,2,3,1,1,,,, -22,21,事件日志管理,Event Log Manage,eventlogManage,,1,,3,1,1,1,,,, -23,21,登录日志,ConLog,logLog,,1,,3,2,1,1,,,, -24,21,操作日志,Operation Log,operationLog,,1,,3,3,1,1,,,, -25,21,数据库监控,Database Monitoring,databaseMonitoring,,1,,3,4,1,1,,,, -26,21,服务资源实时监控,System Monitoring,systemMonitoring,,1,,3,5,1,1,,,, -27,21,黑白名单,Black/White List,blackwhiteList,,1,,3,6,1,1,,,, -28,21,Token工具,Token Tool,tokentool,,1,,3,7,1,1,,,, -29,15,用户管理,User Manage,,,1,,2,5,1,1,,,, -30,29,用户信息管理,User Information Manage,userInfoManage,,1,,2,1,1,1,,,, -31,29,组织机构管理,Org Manage,orgManage,,1,,2,2,1,1,,,, -32,29,用户审核,User Auditing,userAuditing,,1,,2,3,1,1,,,, -33,29,角色管理,Role Manage,roleManage,,1,,2,4,1,1,,,, -34,29,群组管理,Group Manage,groupManage,,1,,2,5,1,1,,,, -35,29,权限管理,Permission management,authorityManage,,1,,2,6,1,1,,,, +3,2,综合展示,Comprehensive Display,Synthesis,,1,,2,3,1,1,,,, +4,2,专题图,Thematic Maps,Thematic,,1,,2,4,1,1,,,, +5,2,资料馆,Data Library,Archive,,1,,2,5,1,1,,,, +6,1,数据管理,Data Manage,,,1,,1,6,1,1,,,, +7,6,目录管理,CatalogueManage,catalogueManage,,1,,2,7,1,1,,,, +8,6,数据上传,Data Updata,dataUpdata,,1,,2,8,1,1,,,, +9,6,元数据管理,MetadataManage,metadataManage,,1,,2,9,1,1,,,, +10,6,数据入库,DataLoading,dataLoading,,1,,2,10,1,1,,,, +11,6,空间数据管理,SpatialData,SpatialData,,1,,2,11,1,1,,,, +12,6,版本管理,VersionManage,versionManage,,1,,2,12,1,1,,,, +13,6,字典管理,DictionaryManage,dictionaryManage,,1,,2,13,1,1,,,, +14,6,样式管理,StyleManage,styleManage,,1,,2,14,1,1,,,, +15,1,运维管理,Operat Manage,,,1,,1,15,1,1,,,, +16,15,系统配置,System Layout,,,1,,2,16,1,1,,,, +17,16,菜单配置,Menu Settings,menuSettings,,1,,3,17,1,1,,,, +18,16,参数配置,ParameterConfiguration,parameterConfiguration,,1,,3,18,1,1,,,, +19,16,其他,Rests,rests,,1,,3,19,1,1,,,, +20,15,安全管理,Safety Management,safetyManagement,,1,,2,20,1,1,,,, +21,15,运行监控,Operation Monitoring,,,1,,2,21,1,1,,,, +22,21,事件日志管理,Event Log Manage,eventlogManage,,1,,3,22,1,1,,,, +23,21,登录日志,ConLog,logLog,,1,,3,23,1,1,,,, +24,21,操作日志,Operation Log,operationLog,,1,,3,24,1,1,,,, +25,21,数据库监控,Database Monitoring,databaseMonitoring,,1,,3,25,1,1,,,, +26,21,服务资源实时监控,System Monitoring,systemMonitoring,,1,,3,26,1,1,,,, +27,21,黑白名单,Black/White List,blackwhiteList,,1,,3,27,1,1,,,, +28,21,Token工具,Token Tool,tokentool,,1,,3,28,1,1,,,, +29,15,用户管理,User Manage,,,1,,2,29,1,1,,,, +30,29,用户信息管理,User Information Manage,userInfoManage,,1,,2,30,1,1,,,, +31,29,组织机构管理,Org Manage,orgManage,,1,,2,31,1,1,,,, +32,29,用户审核,User Auditing,userAuditing,,1,,2,32,1,1,,,, +33,29,角色管理,Role Manage,roleManage,,1,,2,33,1,1,,,, +34,29,群组管理,Group Manage,groupManage,,1,,2,34,1,1,,,, +35,29,权限管理,Permission management,authorityManage,,1,,2,35,1,1,,,, diff --git a/data/menu.xls b/data/menu.xls index 33b3416..66981e7 100644 --- a/data/menu.xls +++ b/data/menu.xls Binary files differ diff --git a/pom.xml b/pom.xml index 3a858e5..7f4dc13 100644 --- a/pom.xml +++ b/pom.xml @@ -27,48 +27,60 @@ <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> + <!--<dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-security</artifactId> + </dependency>--> + <!--jdbc--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> + <!--thymeleaf--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> <version>2.2.2.RELEASE</version> </dependency> + <!--lombok--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> + <!--redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-pool2</artifactId> - </dependency> + <!--postgresql--> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <scope>runtime</scope> </dependency> - + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-pool2</artifactId> + </dependency> + <!--aop--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> + <!--鐑儴缃�--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> + <!--fastjson--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency> + <!--mybatis--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> @@ -78,7 +90,12 @@ <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> - <version>1.2.8</version> + <version>1.1.22</version> + </dependency> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>druid-spring-boot-starter</artifactId> + <version>1.1.22</version> </dependency> <!--log4j--> <dependency> @@ -86,12 +103,13 @@ <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> - <!--瀵煎叆hutool鐨勪緷璧�--> + <!--hutool--> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>4.5.7</version> </dependency> + <!--test--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> @@ -108,7 +126,7 @@ <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> - <!--swagger ui--> + <!--swagger-ui--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> @@ -119,6 +137,49 @@ <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> </dependency> + <!--娣诲姞WebSocket渚濊禆--> + <dependency> + <groupId>javax.websocket</groupId> + <artifactId>javax.websocket-api</artifactId> + <version>1.0</version> + </dependency> + <!--websocket--> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-websocket</artifactId> + </dependency> + <!--oshi--> + <dependency> + <groupId>com.github.oshi</groupId> + <artifactId>oshi-core</artifactId> + <version>4.4.2</version> + </dependency> + <dependency> + <groupId>cn.hutool</groupId> + <artifactId>hutool-all</artifactId> + <version>5.7.20</version> + </dependency> + <dependency> + <groupId>net.java.dev.jna</groupId> + <artifactId>jna</artifactId> + <version>5.5.0</version> + </dependency> + <dependency> + <groupId>net.java.dev.jna</groupId> + <artifactId>jna-platform</artifactId> + <version>5.5.0</version> + </dependency> + <!--commons-fileupload--> + <dependency> + <groupId>commons-fileupload</groupId> + <artifactId>commons-fileupload</artifactId> + <version>1.3.1</version> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.5</version> + </dependency> </dependencies> <build> diff --git a/src/main/java/com/lf/server/LfApplication.java b/src/main/java/com/lf/server/LfApplication.java index 402edf5..34362d9 100644 --- a/src/main/java/com/lf/server/LfApplication.java +++ b/src/main/java/com/lf/server/LfApplication.java @@ -1,19 +1,19 @@ package com.lf.server; -import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.web.servlet.ServletComponentScan; import springfox.documentation.swagger2.annotations.EnableSwagger2; /** * Land搴旂敤绋嬪簭 * @author WWW + * 鎺掗櫎Security锛�, exclude = {SecurityAutoConfiguration.class, SecurityFilterAutoConfiguration.class} */ @EnableSwagger2 -@SpringBootApplication(scanBasePackages={"com.lf.server.config", "com.lf.server.mapper", "com.lf.server.service","com.lf.server.controller"}) +@SpringBootApplication(scanBasePackages={"com.lf.server.*"}) public class LfApplication { public static void main(String[] args) { SpringApplication.run(LfApplication.class, args); + // com.lf.server.helper.RsaHelper.generate(); } } diff --git a/src/main/java/com/lf/server/aspect/LogAspect.java b/src/main/java/com/lf/server/aspect/LogAspect.java index cfc6e11..527b555 100644 --- a/src/main/java/com/lf/server/aspect/LogAspect.java +++ b/src/main/java/com/lf/server/aspect/LogAspect.java @@ -1,12 +1,22 @@ package com.lf.server.aspect; +import com.lf.server.entity.sys.OperateEntity; +import com.lf.server.entity.sys.UsersEntity; +import com.lf.server.helper.WebHelper; +import com.lf.server.service.sys.OperateService; +import com.lf.server.service.sys.TokenService; +import io.swagger.annotations.Api; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; import org.aspectj.lang.reflect.MethodSignature; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Method; /** @@ -16,63 +26,117 @@ @Aspect @Component public class LogAspect { - @Pointcut("") - public void logPointCut() { + @Autowired + private TokenService tokenService; + @Autowired + private OperateService operateService; + + private final static String SELECT = "select"; + + private final static String INSERT = "insert"; + + private final static String UPDATE = "update"; + + private final static String DELETE = "delete"; + + private final static String UPLOAD = "upload"; + + private final static String DOWNLOAD = "download"; + + private static final Log log = LogFactory.getLog(LogAspect.class); + + @Pointcut("@annotation(com.lf.server.aspect.SysLog)") + public void logPointCut() { + // } + /** + * 鐜粫閫氱煡 @Around锛屼篃鍙互浣跨敤 @Before (鍓嶇疆閫氱煡) 鎴� @After (鍚庣疆閫氱煡) + */ @Around("logPointCut()") public Object around(ProceedingJoinPoint point) throws Throwable { long beginTime = System.currentTimeMillis(); + // 鎵ц鏂规硶 Object result = point.proceed(); // 鎵ц鏃堕暱(姣) long time = System.currentTimeMillis() - beginTime; - // System.out.println("time:"+time) // 淇濆瓨鏃ュ織 - saveLogAction(point, time); + saveLog(point, time); return result; } - private void saveLogAction(ProceedingJoinPoint joinPoint, long time) { - MethodSignature signature = (MethodSignature) joinPoint.getSignature(); - Method method = signature.getMethod(); - /*LogAction logAction = new LogAction(); - com.landtool.lanbase.common.annotation.LogAction log = method.getAnnotation(com.landtool.lanbase.common.annotation.LogAction.class); - if(log != null){ - // 娉ㄨВ涓婄殑鎻忚堪 - String[] list = log.value().split(","); - logAction.setLargemodel(list[0]); //澶фā鍧� - logAction.setSmallmodel(list[1]);//灏忔ā鍧� - logAction.setRemark(list[2]); //澶囨敞 - logAction.setActiontype(list[3]);//鎿嶄綔绫诲瀷 + /** + * 淇濆瓨鏃ュ織 + */ + private void saveLog(ProceedingJoinPoint joinPoint, long time) { + try { + MethodSignature signature = (MethodSignature) joinPoint.getSignature(); + Class<?> clazz = joinPoint.getTarget().getClass(); + Method method = signature.getMethod(); - //logAction.setRemark(log.value()); - //logAction.setActiontype(log.value()); + HttpServletRequest req = WebHelper.getRequest(); + String url = req.getServletPath(); + + OperateEntity oe = new OperateEntity(); + oe.setIp(WebHelper.getIpAddress(req)); + oe.setUrl(url); + oe.setExec(time); + + // 璁剧疆妯″潡 + Api api = clazz.getAnnotation(Api.class); + if (api != null) { + oe.setModular(api.tags()[0]); + } + + // 璁剧疆绫诲悕\鏂规硶鍚嶃�佺被鍒� + oe.setClazz(clazz.getName() + "." + method.getName()); + oe.setType(getType(method.getName())); + + // 璁剧疆澶囨敞 + SysLog sysLog = method.getAnnotation(SysLog.class); + if (sysLog != null) { + oe.setBak(sysLog.value()); + } + + UsersEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + oe.setUserid(ue.getId()); + } + + operateService.insertOperate(oe); + } catch (Exception ex) { + log.error(ex.getStackTrace()); + } + } + + /** + * 鑾峰彇鎿嶄綔绫诲瀷 + */ + private static int getType(String methodName) { + if (methodName.indexOf(SELECT) > -1) { + return 1; + } + if (methodName.indexOf(INSERT) > -1) { + return 2; + } + if (methodName.indexOf(UPDATE) > -1) { + return 3; + } + if (methodName.indexOf(DELETE) > -1) { + return 4; + } + if (methodName.indexOf(UPLOAD) > -1) { + return 5; + } + if (methodName.indexOf(DOWNLOAD) > -1) { + return 6; } - //鑾峰彇request - HttpServletRequest request = HttpContextUtils.getHttpServletRequest(); - String url=request.getServletPath(); - logAction.setRequesturl(url); - //璁剧疆IP鍦板潃 - logAction.setRequestip(IPUtils.getIpAddr(request)); - - //鐢ㄦ埛鍚� - Long userid = ((OrgUser) SecurityUtils.getSubject().getPrincipal()).getUserid(); - logAction.setUserid(userid); - - logAction.setAppid(loginConfig.getAppId()); - - //logAction.setLargemodel(loginConfig.getAppFullName()); - - - - - //淇濆瓨绯荤粺鏃ュ織 - logActionService.save(logAction);*/ + return 0; } } diff --git a/src/main/java/com/lf/server/aspect/SysLog.java b/src/main/java/com/lf/server/aspect/SysLog.java new file mode 100644 index 0000000..a27cbe7 --- /dev/null +++ b/src/main/java/com/lf/server/aspect/SysLog.java @@ -0,0 +1,14 @@ +package com.lf.server.aspect; + +import java.lang.annotation.*; + +/** + * 绯荤粺鏃ュ織娉ㄨВ绫� + * @author WWW + */ +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface SysLog { + String value() default ""; +} diff --git a/src/main/java/com/lf/server/config/InitConfig.java b/src/main/java/com/lf/server/config/InitConfig.java new file mode 100644 index 0000000..194d6f8 --- /dev/null +++ b/src/main/java/com/lf/server/config/InitConfig.java @@ -0,0 +1,32 @@ +package com.lf.server.config; + +import com.lf.server.helper.PathHelper; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.stereotype.Component; + +/** + * 鍒濆鍖栧畬鎴愰厤缃被 + * @author WWW + */ +@Component +public class InitConfig implements ApplicationRunner { + private final static Log log = LogFactory.getLog(InitConfig.class); + + @Autowired + private PathHelper pathHelper; + + @Override + public void run(ApplicationArguments args) { + try { + pathHelper.init(); + + log.info("*****************绯荤粺鍚姩瀹屾瘯*****************"); + } catch (Exception ex) { + log.error(ex.getStackTrace()); + } + } +} diff --git a/src/main/java/com/lf/server/config/PropertiesConfig.java b/src/main/java/com/lf/server/config/PropertiesConfig.java index 678cdf7..ad0ae83 100644 --- a/src/main/java/com/lf/server/config/PropertiesConfig.java +++ b/src/main/java/com/lf/server/config/PropertiesConfig.java @@ -1,22 +1,88 @@ package com.lf.server.config; import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; +import org.springframework.context.annotation.Configuration; /** * 灞炴�ч厤缃被 * @author WWW */ -@Component +@Configuration public class PropertiesConfig { - @Value("${sys.path}") - private String path; + @Value("${sys.path.import}") + private String importPath; - public String getPath() { - return path; + @Value("${sys.path.export}") + private String exportPath; + + @Value("${sys.path.upload}") + private String uploadPath; + + @Value("${sys.path.share}") + private String sharePath; + + @Value("${sys.path.temp}") + private String tempPath; + + @Value("${spring.datasource.druid.stat-view-servlet.login-username}") + private String druidUser; + + @Value("${spring.datasource.druid.stat-view-servlet.login-password}") + private String druidPwd; + + public String getDruidUser() { + return druidUser; } - public void setPath(String path) { - this.path = path; + public void setDruidUser(String druidUser) { + this.druidUser = druidUser; + } + + public String getDruidPwd() { + return druidPwd; + } + + public void setDruidPwd(String druidPwd) { + this.druidPwd = druidPwd; + } + + public String getImportPath() { + return importPath; + } + + public void setImportPath(String importPath) { + this.importPath = importPath; + } + + public String getExportPath() { + return exportPath; + } + + public void setExportPath(String exportPath) { + this.exportPath = exportPath; + } + + public String getUploadPath() { + return uploadPath; + } + + public void setUploadPath(String uploadPath) { + this.uploadPath = uploadPath; + } + + public String getSharePath() { + return sharePath; + } + + public void setSharePath(String sharePath) { + this.sharePath = sharePath; + } + + public String getTempPath() { + return tempPath; + } + + public void setTempPath(String tempPath) { + this.tempPath = tempPath; } } diff --git a/src/main/java/com/lf/server/config/ScheduleConfig.java b/src/main/java/com/lf/server/config/ScheduleConfig.java new file mode 100644 index 0000000..7332c59 --- /dev/null +++ b/src/main/java/com/lf/server/config/ScheduleConfig.java @@ -0,0 +1,61 @@ +package com.lf.server.config; + +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.lf.server.service.all.ScheduleService; +import com.lf.server.service.all.WebSocketService; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +/** + * 鏃ョ▼閰嶇疆绫� + * @author WWW + */ +@Component +@EnableScheduling +public class ScheduleConfig { + @Autowired + private ScheduleService scheduleService; + + private static final Log log = LogFactory.getLog(ScheduleConfig.class); + + @Scheduled(fixedRate = 15 * 1000) + public void pushMonitorInfo() { + try { + JSONObject jsonObject = new JSONObject(); + + // 鏌ヨCpu淇℃伅 + jsonObject.put("cpuInfo", scheduleService.selectCpuInfo()); + // 鏌ヨ鍐呭瓨淇℃伅 + jsonObject.put("memInfo", scheduleService.selectMemInfo()); + // 鏌ヨ鍦ㄧ嚎鐢ㄦ埛 + jsonObject.put("userInfo", scheduleService.selectOnlineUsers()); + + String json = JSONObject.toJSONStringWithDateFormat(jsonObject, "yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue); + + WebSocketService.broadCastInfo(json); + } catch (Exception ex) { + log.error(ex.getStackTrace()); + } + } + + @Scheduled(fixedRate = 60 * 1000) + public void checkSystemStatus() { + try { + JSONObject jsonObject = new JSONObject(); + + // 鏌ヨ鏈嶅姟璧勬簮鐘舵�� + jsonObject.put("resInfo", scheduleService.selectResStatus()); + + String json = JSONObject.toJSONStringWithDateFormat(jsonObject, "yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue); + + WebSocketService.broadCastInfo(json); + } catch (Exception ex) { + log.error(ex.getStackTrace()); + } + } +} diff --git a/src/main/java/com/lf/server/config/SwaggerConfig.java b/src/main/java/com/lf/server/config/SwaggerConfig.java index 2a560a4..5619012 100644 --- a/src/main/java/com/lf/server/config/SwaggerConfig.java +++ b/src/main/java/com/lf/server/config/SwaggerConfig.java @@ -5,10 +5,14 @@ import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; -import springfox.documentation.service.ApiInfo; +import springfox.documentation.service.*; import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spi.service.contexts.SecurityContext; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; + +import java.util.ArrayList; +import java.util.List; /** * Swagger閰嶇疆绫� @@ -17,12 +21,39 @@ @Configuration @EnableSwagger2 public class SwaggerConfig { + private List<ApiKey> securitySchemes() { + List<ApiKey> apiKeys = new ArrayList<ApiKey>(); + apiKeys.add(new ApiKey("Authorization", "token", "header")); + + return apiKeys; + } + + private List<SecurityContext> securityContexts() { + List<SecurityContext> securityContexts = new ArrayList<>(); + securityContexts.add(SecurityContext.builder() + .securityReferences(defaultAuth()) + .forPaths(PathSelectors.regex("^(?!auth).*$")).build()); + + return securityContexts; + } + + private List<SecurityReference> defaultAuth() { + AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything"); + AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; + authorizationScopes[0] = authorizationScope; + List<SecurityReference> securityReferences = new ArrayList<>(); + securityReferences.add(new SecurityReference("Authorization", authorizationScopes)); + + return securityReferences; + } + @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) - .apiInfo(apiInfo()) - .select() + .apiInfo(apiInfo()).select() .apis(RequestHandlerSelectors.basePackage("com.lf.server.controller")) + //.securitySchemes(securitySchemes()) + //.securityContexts(securityContexts()) .paths(PathSelectors.any()).build(); } diff --git a/src/main/java/com/lf/server/config/WebConfig.java b/src/main/java/com/lf/server/config/WebConfig.java index 72eab0e..263224b 100644 --- a/src/main/java/com/lf/server/config/WebConfig.java +++ b/src/main/java/com/lf/server/config/WebConfig.java @@ -3,8 +3,11 @@ import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.support.config.FastJsonConfig; import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; +import com.lf.server.interceptor.AuthInterceptor; +import com.lf.server.service.sys.TokenService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.HttpMessageConverter; -import org.springframework.stereotype.Component; import org.springframework.util.AntPathMatcher; import org.springframework.web.servlet.config.annotation.*; @@ -15,16 +18,29 @@ * Web閰嶇疆绫� * @author WWW */ -@Component +@Configuration public class WebConfig extends WebMvcConfigurationSupport { + @Autowired + private TokenService tokenService; + + /** + * 鑾峰彇鎷︽埅鍣ㄥ璞� + * + * @return + */ + public AuthInterceptor getAuthBean() { + return new AuthInterceptor(tokenService); + } + /** * swagger鎺у埗 */ @Override protected void addResourceHandlers(ResourceHandlerRegistry registry) { - registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); + registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/**").addResourceLocations("classpath:/static/"); + super.addResourceHandlers(registry); } /** @@ -56,6 +72,9 @@ */ @Override protected void addInterceptors(InterceptorRegistry registry) { + registry.addInterceptor(getAuthBean()) + // .excludePathPatterns("/swagger", "/webjars/**", "/v2/**", "/sign/**") + .addPathPatterns("/**"); super.addInterceptors(registry); } diff --git a/src/main/java/com/lf/server/config/WebSocketConfig.java b/src/main/java/com/lf/server/config/WebSocketConfig.java new file mode 100644 index 0000000..9c1d3a2 --- /dev/null +++ b/src/main/java/com/lf/server/config/WebSocketConfig.java @@ -0,0 +1,21 @@ +package com.lf.server.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.stereotype.Component; +import org.springframework.web.socket.server.standard.ServerEndpointExporter; + +/** + * WebSocket閰嶇疆绫� + * @author WWW + */ +@Component +public class WebSocketConfig { + /** + * 鑷姩娉ㄥ唽浣跨敤@ServerEndpoint + */ + @Bean + public ServerEndpointExporter serverEndpointExporter() { + return new ServerEndpointExporter(); + } +} diff --git a/src/main/java/com/lf/server/controller/BaseController.java b/src/main/java/com/lf/server/controller/all/BaseController.java similarity index 96% rename from src/main/java/com/lf/server/controller/BaseController.java rename to src/main/java/com/lf/server/controller/all/BaseController.java index 485a874..bbbbe1a 100644 --- a/src/main/java/com/lf/server/controller/BaseController.java +++ b/src/main/java/com/lf/server/controller/all/BaseController.java @@ -1,4 +1,4 @@ -package com.lf.server.controller; +package com.lf.server.controller.all; import com.lf.server.entity.all.HttpStatus; import com.lf.server.entity.all.ResponseMsg; diff --git a/src/main/java/com/lf/server/controller/all/ControlController.java b/src/main/java/com/lf/server/controller/all/ControlController.java new file mode 100644 index 0000000..abba177 --- /dev/null +++ b/src/main/java/com/lf/server/controller/all/ControlController.java @@ -0,0 +1,93 @@ +package com.lf.server.controller.all; + +import com.alibaba.fastjson.JSONObject; +import com.lf.server.aspect.SysLog; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.sys.ResEntity; +import com.lf.server.service.all.ScheduleService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 鎺у埗鍙版帶鍒跺櫒 + * @author WWW + * @date 2022-09-21 + */ +@Api(tags = "杩愮淮绠$悊\\鎺у埗鍙�") +@RestController +@RequestMapping("/ctrl") +public class ControlController extends BaseController { + @Autowired + private ScheduleService scheduleService; + + @SysLog() + @ApiOperation(value = "鏌ヨ鏈嶅姟鍣ㄧ姸鎬�") + @GetMapping(value = "/selectServerStatus") + public ResponseMsg<JSONObject> selectServerStatus() { + try { + JSONObject jsonObject = scheduleService.selectServerStatus(); + + return success(jsonObject); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨCpu淇℃伅") + @GetMapping(value = "/selectCpuInfo") + public ResponseMsg<JSONObject> selectCpuInfo() { + try { + JSONObject jsonObject = scheduleService.selectCpuInfo(); + + return success(jsonObject); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鍐呭瓨淇℃伅") + @GetMapping(value = "/selectMemInfo") + public ResponseMsg<JSONObject> selectMemInfo() { + try { + JSONObject jsonObject = scheduleService.selectMemInfo(); + + return success(jsonObject); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鍦ㄧ嚎鐢ㄦ埛") + @GetMapping(value = "/selectOnlineUsers") + public ResponseMsg<List<JSONObject>> selectOnlineUsers() { + try { + List<JSONObject> list = scheduleService.selectOnlineUsers(); + + return success(list); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鏈嶅姟璧勬簮鐘舵��") + @GetMapping(value = "/selectResStatus") + public ResponseMsg<List<ResEntity>> selectResStatus() { + try { + List<ResEntity> list = scheduleService.selectResStatus(); + + return success(list); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } +} diff --git a/src/main/java/com/lf/server/controller/all/FileController.java b/src/main/java/com/lf/server/controller/all/FileController.java new file mode 100644 index 0000000..9102db4 --- /dev/null +++ b/src/main/java/com/lf/server/controller/all/FileController.java @@ -0,0 +1,123 @@ +package com.lf.server.controller.all; + +import com.lf.server.aspect.SysLog; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.helper.FileHelper; +import com.lf.server.service.all.FileService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.net.URLEncoder; +import java.util.Iterator; + +/** + * 鏂囦欢鎺у埗鍣� + * @author WWW + */ +@Api(tags = "杩愮淮绠$悊\\鏂囦欢绠$悊") +@RestController +@RequestMapping("/file") +public class FileController extends BaseController { + @Autowired + private FileService fileService; + + private final static Log log = LogFactory.getLog(FileController.class); + + @SysLog() + @ApiOperation(value = "鏂囦欢涓婁紶") + @PostMapping(value = "/upload") + public ResponseMsg<String> upload(@RequestBody MultipartFile[] files, String tab, HttpServletRequest req, HttpServletResponse res) { + try { + MultipartHttpServletRequest mreq = (MultipartHttpServletRequest) req; + Iterator<String> fileNames = mreq.getFileNames(); + + // 鑾峰彇鍘熸枃浠跺悕 + // noinspection AlibabaLowerCamelCaseVariableNaming + String OriginalFileName = files[0].getOriginalFilename(); + // 鑾峰彇鏂囦欢鍚庣紑鍚� + String suffixName = OriginalFileName.substring(OriginalFileName.lastIndexOf(".")); + + String fileName = null; + MultipartFile file = null; + while (fileNames.hasNext()) { + fileName = (String) fileNames.next(); + file = mreq.getFile(fileName); + } + + // kb + long size = file.getSize(); + file.transferTo(new File("")); + + return success(""); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "鏂囦欢GUID", dataType = "String", paramType = "query", example = "") + }) + @GetMapping("/download") + public void download(String guid, HttpServletRequest req, HttpServletResponse res) { + try { + String filePath = ""; + + // 鍒涘缓鏂囦欢瀵硅薄 + File file = new File(filePath); + if (!file.exists()) { + return; + } + + String fileName = URLEncoder.encode("瀛︾敓鍚嶅唽.pdf", "UTF-8"); + + // 璁剧疆鍝嶅簲澶翠腑鏂囦欢鐨勪笅杞芥柟寮忎负闄勪欢鏂瑰紡锛屼互鍙婅缃枃浠跺悕 + res.setHeader("Content-Disposition", "attachment; filename=" + fileName); + + // 瀹氫箟杈撳叆娴侊紝閫氳繃杈撳叆娴佽鍙栨枃浠跺唴瀹� + FileInputStream fileInputStream = new FileInputStream(file); + + // 閫氳繃response瀵硅薄锛岃幏鍙栧埌杈撳嚭娴� + ServletOutputStream outputStream = res.getOutputStream(); + + // 璁剧疆鍝嶅簲澶寸殑缂栫爜鏍煎紡涓篣TF-8 + res.setCharacterEncoding("UTF-8"); + + // 閫氳繃response瀵硅薄璁剧疆鍝嶅簲鏁版嵁鏍煎紡("text/plain; charset=utf-8") + String ext = FileHelper.getExtension(file); + String mime = FileHelper.getMime(ext); + res.setContentType(mime); + + // 璁板綍涓嬭浇璁板綍... + + int len = 0; + byte[] bytes = new byte[1024]; + while ((len = fileInputStream.read(bytes)) != -1) { + // 閫氳繃杈撳叆娴佽鍙栨枃浠舵暟鎹紝鐒跺悗閫氳繃涓婅堪鐨勮緭鍑烘祦鍐欏洖娴忚鍣� + outputStream.write(bytes, 0, len); + // 鍒锋柊 + outputStream.flush(); + } + + // 鍏抽棴璧勬簮 + outputStream.close(); + fileInputStream.close(); + } catch (Exception ex) { + log.error(ex.getStackTrace()); + } + } +} diff --git a/src/main/java/com/lf/server/controller/all/SignController.java b/src/main/java/com/lf/server/controller/all/SignController.java new file mode 100644 index 0000000..c950e57 --- /dev/null +++ b/src/main/java/com/lf/server/controller/all/SignController.java @@ -0,0 +1,232 @@ +package com.lf.server.controller.all; + +import com.lf.server.aspect.SysLog; +import com.lf.server.config.PropertiesConfig; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.sys.LoginEntity; +import com.lf.server.entity.sys.TokenEntity; +import com.lf.server.entity.sys.UsersEntity; +import com.lf.server.helper.*; +import com.lf.server.service.sys.LoginService; +import com.lf.server.service.sys.TokenService; +import com.lf.server.service.sys.UsersService; +import com.lf.server.service.all.SignService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * 绛惧悕鎺у埗鍣� + * @author WWW + * @date 2022-09-21 + */ +@Api(tags = "杩愮淮绠$悊\\绛惧悕绠$悊") +@RestController +@RequestMapping("/sign") +public class SignController extends BaseController { + @Autowired + UsersService userService; + + @Autowired + LoginService loginService; + + @Autowired + TokenService tokenService; + + @Autowired + SignService signService; + + @Autowired + PropertiesConfig propertiesConfig; + + @SysLog() + @ApiOperation(value = "璺宠浆棣栭〉") + @GetMapping({"/", "/toIndex"}) + public ModelAndView toIndex(ModelAndView mv, HttpServletRequest req) { + mv.setViewName("index"); + + UsersEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + mv.addObject("msg", "Hello " + ue.getUname() + " !"); + } + + return mv; + } + + @SysLog() + @ApiOperation(value = "璺宠浆鐧诲綍椤�") + @GetMapping("/toLogin") + public ModelAndView toLogin(ModelAndView mv) { + mv.setViewName("login"); + + return mv; + } + + @SysLog() + @ApiOperation(value = "鏁版嵁搴撶洃鎺�") + @GetMapping(value = "/toDruid") + public ModelAndView toDruid(HttpServletRequest req, HttpServletResponse res) { + ModelAndView mv = new ModelAndView(); + mv.setViewName("druid"); + + try { + UsersEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + String sessionId = WebHelper.getCookieByKey(StaticData.DRUID_COOKIE_KEY, req); + if (StringHelper.isNull(sessionId)) { + signService.loginDruid(req, res); + } + } + } catch (Exception ex) { + // + } + + return mv; + } + + @SysLog() + @ApiOperation(value = "璧勬簮鐩戞帶") + @GetMapping(value = "/toMonitor") + public ModelAndView toMonitor(ModelAndView mv, HttpServletRequest req, HttpServletResponse res) { + try { + mv.setViewName("redirect:/toLogin"); + + UsersEntity ue = tokenService.getCurrentUser(req); + if (ue != null) { + mv.setViewName("monitor"); + } + } catch (Exception ex) { + // + } + + return mv; + } + + @SysLog() + @ApiOperation(value = "鐧诲綍") + @ApiImplicitParams({ + @ApiImplicitParam(name = "user", value = "鐢ㄦ埗鍚�", dataType = "UsersEntity", paramType = "body", example = "") + }) + @PostMapping(value = "/login", produces = "application/json; charset=UTF-8") + public ResponseMsg<TokenEntity> login(@RequestBody UsersEntity user, HttpServletRequest req, HttpServletResponse res) { + try { + if (user == null) { + return fail("璇疯緭鍏ョ敤鎴峰悕鍜屽瘑鐮侊紒", null); + } + if (StringHelper.isEmpty(user.getUid())) { + return fail("鐢ㄦ埛鍚嶄笉鑳戒负绌猴紒", null); + } + if (StringHelper.isEmpty(user.getPwd())) { + return fail("瀵嗙爜涓嶈兘涓虹┖锛�", null); + } + + // 瑙e瘑 + String uid = RsaHelper.decrypt(user.getUid()); + String pwd = RsaHelper.decrypt(user.getPwd()); + + UsersEntity ue = userService.selectByUid(uid); + if (ue == null) { + return fail("鐢ㄦ埛鍚嶄笉瀛樺湪锛�", null); + } + + LoginEntity le = loginService.getNewLogin(ue.getId(), 1, req); + if (!Md5Helper.validatePassword(pwd, ue.getPwd())) { + le.setStatus(0); + le.setDescr("瀵嗙爜閿欒"); + loginService.insertLogin(le); + return fail("瀵嗙爜涓嶆纭紒", null); + } + + Integer rows = loginService.insertLogin(le); + if (rows == 0) { + return fail("鍒涘缓鐧诲綍鏃ュ織澶辫触锛�", null); + } + + TokenEntity te = tokenService.getNewToken(ue.getId(), req); + rows = tokenService.insertToken(te); + if (rows == 0) { + return fail("鍒涘缓浠ょ墝淇℃伅澶辫触锛�", null); + } + + tokenService.saveToken(ue, te, req, res); + + return success(te); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "鐧诲嚭") + @GetMapping(value = "/logout") + public ResponseMsg<Boolean> logout(HttpServletRequest req, HttpServletResponse res) { + try { + String token = WebHelper.getToken(req); + if (StringHelper.isEmpty(token)) { + return fail("娌℃湁妫�娴嬪埌浠ょ墝", false); + } + + Boolean flag = tokenService.logout(token, req, res); + + return success(flag ? "鐧诲嚭鎴愬姛" : "鐧诲嚭澶辫触", flag); + } catch (Exception ex) { + return fail(ex.getMessage(), false); + } + } + + @SysLog() + @ApiOperation(value = "妫�鏌ユ槸/鍚︾櫥褰�") + @GetMapping("/check") + public ResponseMsg<Boolean> check(HttpServletRequest req, HttpServletResponse res) { + try { + Boolean flag = tokenService.isLogin(req, res); + if (flag) { + // 鍐欐棩蹇� + UsersEntity ue = tokenService.getCurrentUser(req); + LoginEntity le = loginService.getNewLogin(ue.getId(), 2, req); + Integer rows = loginService.insertLogin(le); + } + + return success(flag ? "鐢ㄦ埛宸茬櫥褰�" : "鐢ㄦ埛鏈櫥褰�", flag); + } catch (Exception ex) { + return fail(ex.getMessage(), false); + } + } + + @SysLog() + @ApiOperation(value = "鑾峰彇褰撳墠鐢ㄦ埛") + @GetMapping("/getCurrentUser") + public ResponseMsg<UsersEntity> getCurrentUser(HttpServletRequest req) { + try { + UsersEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("娌℃湁鎵惧埌", null); + } + + return success(ue); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "鑾峰彇RSA鍔犲瘑鍏挜") + @GetMapping("/getPublicKey") + public ResponseMsg<String> getPublicKey() { + try { + String key = RsaHelper.getPublicKey(); + + return success(key); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } +} diff --git a/src/main/java/com/lf/server/controller/data/DictController.java b/src/main/java/com/lf/server/controller/data/DictController.java index b615cff..8ee5dc5 100644 --- a/src/main/java/com/lf/server/controller/data/DictController.java +++ b/src/main/java/com/lf/server/controller/data/DictController.java @@ -1,7 +1,8 @@ package com.lf.server.controller.data; -import com.lf.server.controller.BaseController; +import com.lf.server.aspect.SysLog; +import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; import com.lf.server.entity.data.DictEntity; import com.lf.server.service.data.DictService; @@ -19,13 +20,14 @@ * @author SWS + WWW * @date 2022-09.26 */ -@Api(tags = "瀛楀吀绠$悊") +@Api(tags = "鏁版嵁绠$悊\\瀛楀吀绠$悊") @RestController @RequestMapping("/dict") public class DictController extends BaseController { @Autowired DictService dictService; + @SysLog() @ApiOperation(value = "鏌ヨ璁板綍鏁�") @ApiImplicitParams({ @ApiImplicitParam(name = "tab", value = "琛ㄥ悕", dataType = "String", paramType = "query", required = false, example = "sys_dict") @@ -41,6 +43,7 @@ } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ") @ApiImplicitParams({ @ApiImplicitParam(name = "tab", value = "琛ㄥ悕", dataType = "String", paramType = "query", example = "sys_dict"), @@ -62,6 +65,7 @@ } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") @ApiImplicitParams({ @ApiImplicitParam(name = "tab", value = "琛ㄥ悕", dataType = "String", paramType = "query", example = "sys_dict"), @@ -88,6 +92,7 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "dictEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.data.DictEntity", paramType = "body", example = "") @@ -103,6 +108,7 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "dictEntity", value = "瀛楀吀瀹炰綋绫婚泦鍚�", dataType = "List<DictEntity>", paramType = "body", example = "") @@ -118,6 +124,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -133,6 +140,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "ids", value = "瀛楀吀ID闆嗗悎", dataType = "List<Integer>", paramType = "query", example = "1,2") @@ -152,6 +160,7 @@ } } + @SysLog() @ApiOperation(value = "鏇存柊涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "dictEntity", value = "瀛楀吀ID闆嗗悎", dataType = "DictEntity", paramType = "body", example = "") @@ -168,6 +177,7 @@ } } + @SysLog() @ApiOperation(value = "鏍规嵁ID鏌ヨ瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -183,6 +193,7 @@ } } + @SysLog() @ApiOperation(value = "鏌ヨ鎵�鏈夊瓧鍏�") @GetMapping(value = "/selectDictAll") public ResponseMsg<List<DictEntity>> selectDictAll() { @@ -195,6 +206,7 @@ } } + @SysLog() @ApiOperation(value = "鏌ヨ瀛楀吀涓殑鎵�鏈夎〃鍚�") @GetMapping(value = "/selectDictTab") public ResponseMsg<List<DictEntity>> selectDictTab() { diff --git a/src/main/java/com/lf/server/controller/data/DirController.java b/src/main/java/com/lf/server/controller/data/DirController.java index 349a6da..89a59b2 100644 --- a/src/main/java/com/lf/server/controller/data/DirController.java +++ b/src/main/java/com/lf/server/controller/data/DirController.java @@ -1,8 +1,8 @@ package com.lf.server.controller.data; -import com.lf.server.controller.BaseController; +import com.lf.server.aspect.SysLog; +import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; -import com.lf.server.entity.data.DictEntity; import com.lf.server.entity.data.DirEntity; import com.lf.server.service.data.DirService; import io.swagger.annotations.Api; @@ -19,13 +19,14 @@ * @author sws * @date 2022-09-22 */ -@Api(tags = "鐩綍绠$悊") +@Api(tags = "鏁版嵁绠$悊\\鐩綍绠$悊") @RestController @RequestMapping("/dir") public class DirController extends BaseController { @Autowired DirService dirService; + @SysLog() @ApiOperation(value = "鎻掑叆鏁版嵁") @ApiImplicitParams({ @ApiImplicitParam(name = "DirEntity", value = "鐩綍瀹炰綋绫�", dataType = "com.lf.server.entity.data.DirEntity", paramType = "body", example = "") @@ -41,6 +42,7 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆澶氭潯鏁版嵁") @ApiImplicitParams({ @ApiImplicitParam(name = "DirEntity", value = "鐩綍瀹炰綋绫�", dataType = "com.lf.server.entity.data.DirEntity", paramType = "body", example = "") @@ -56,6 +58,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎涓�鏉℃暟鎹�") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "涓婚敭ID", dataType = "Integer", paramType = "query", example = "1") @@ -71,6 +74,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎澶氭潯鏁版嵁") @ApiImplicitParams({ @ApiImplicitParam(name = "ids", value = "涓婚敭ID闆嗗悎", dataType = "List<Integer>", paramType = "query", example = "1,2") @@ -90,6 +94,7 @@ } } + @SysLog() @ApiOperation(value = "鏇存柊涓�鏉℃暟鎹�") @ApiImplicitParams({ @ApiImplicitParam(name = "dirEntity", value = "涓婚敭ID闆嗗悎", dataType = "DictEntity", paramType = "body", example = "") @@ -106,6 +111,7 @@ } } + @SysLog() @ApiOperation(value = "鏍规嵁ID鏌ヨ鏁版嵁") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "涓婚敭ID", dataType = "Integer", paramType = "query", example = "1") @@ -121,7 +127,7 @@ } } - + @SysLog() @ApiOperation(value = "鏌ヨ鎵�鏈夋暟鎹�") @GetMapping(value = "/selectDirAll") public ResponseMsg<List<DirEntity>> selectDirAll() { diff --git a/src/main/java/com/lf/server/controller/data/StyleController.java b/src/main/java/com/lf/server/controller/data/StyleController.java index f68e93d..52d05ed 100644 --- a/src/main/java/com/lf/server/controller/data/StyleController.java +++ b/src/main/java/com/lf/server/controller/data/StyleController.java @@ -1,8 +1,8 @@ package com.lf.server.controller.data; -import com.lf.server.controller.BaseController; +import com.lf.server.aspect.SysLog; +import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; -import com.lf.server.entity.data.DictEntity; import com.lf.server.entity.data.StyleEntity; import com.lf.server.service.data.StyleService; import io.swagger.annotations.Api; @@ -19,13 +19,14 @@ * @author sws * @date 2022-09.26 */ -@Api(tags = "鏍峰紡绠$悊") +@Api(tags = "鏁版嵁绠$悊\\鏍峰紡绠$悊") @RestController @RequestMapping("/Style") public class StyleController extends BaseController { @Autowired StyleService styleService; + @SysLog() @ApiOperation(value = "鏌ヨ璁板綍鏁�") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", required = false, example = "sys_style") @@ -41,6 +42,7 @@ } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", required = false, example = "sys_style"), @@ -63,13 +65,13 @@ } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "sys_style"), @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉绱㈠紩锛堜粠0寮�濮嬶級", dataType = "Integer", paramType = "query", example = "0") }) - @GetMapping(value = "/selectByPageAndCount") public ResponseMsg<List<StyleEntity>> selectByPageAndCount(String name, Integer pageSize, Integer pageIndex) { try { @@ -90,11 +92,12 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "StyleEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "List<StyleEntity>", paramType = "body", example = "") }) - @PostMapping(value = "/insertStyle",produces = "application/json; charset=UTF-8") + @PostMapping(value = "/insertStyle", produces = "application/json; charset=UTF-8") public ResponseMsg<Integer> insertStyle(@RequestBody StyleEntity styleEntity) { try { int count = styleService.insertStyle(styleEntity); @@ -105,11 +108,12 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "StyleEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.data.StyleEntity", paramType = "body", example = "") }) - @PostMapping(value = "/insertStyles" ,produces = "application/json; charset=UTF-8") + @PostMapping(value = "/insertStyles", produces = "application/json; charset=UTF-8") public ResponseMsg<Integer> insertStyles(@RequestBody List<StyleEntity> styleEntity) { try { int count = styleService.insertStyles(styleEntity); @@ -120,6 +124,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -135,6 +140,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -154,6 +160,7 @@ } } + @SysLog() @ApiOperation(value = "鏇存柊涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "styleEntity", value = "瀛楀吀ID闆嗗悎", dataType = "StyleEntity", paramType = "body", example = "") @@ -170,6 +177,7 @@ } } + @SysLog() @ApiOperation(value = "鏍规嵁ID鏌ヨ瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -186,6 +194,7 @@ } } + @SysLog() @ApiOperation(value = "鏌ヨ鎵�鏈夊瓧鍏�") @GetMapping(value = "/selectStyleAll") public ResponseMsg<List<StyleEntity>> selectStyleAll() { @@ -197,4 +206,4 @@ return fail(ex.getMessage(), null); } } -} \ No newline at end of file +} diff --git a/src/main/java/com/lf/server/controller/data/VersionController.java b/src/main/java/com/lf/server/controller/data/VersionController.java index 21b8965..cc5766f 100644 --- a/src/main/java/com/lf/server/controller/data/VersionController.java +++ b/src/main/java/com/lf/server/controller/data/VersionController.java @@ -1,8 +1,8 @@ package com.lf.server.controller.data; -import com.lf.server.controller.BaseController; +import com.lf.server.aspect.SysLog; +import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; -import com.lf.server.entity.data.AuthEntity; import com.lf.server.entity.data.VersionEntity; import com.lf.server.service.data.VersionService; import io.swagger.annotations.Api; @@ -20,13 +20,14 @@ * @author SWS * @date 2022-09.29 */ -@Api(tags = "鐗堟湰琛�") +@Api(tags = "鏁版嵁绠$悊\\鐗堟湰绠$悊") @RestController @RequestMapping("/version") public class VersionController extends BaseController { @Autowired VersionService versionService; + @SysLog() @ApiOperation(value = "鏌ヨ璁板綍鏁�") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", required = false, example = "sys_ver") @@ -42,6 +43,7 @@ } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "sys_ver"), @@ -61,6 +63,7 @@ } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "1"), @@ -87,6 +90,7 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "versionEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.data.VersionEntity", paramType = "body", example = "") @@ -102,6 +106,7 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "versionEntity", value = "瀛楀吀瀹炰綋绫婚泦鍚�", dataType = "List<VersionEntity>", paramType = "body", example = "") @@ -117,6 +122,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -132,6 +138,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "ids", value = "瀛楀吀ID闆嗗悎", dataType = "List<Integer>", paramType = "query", example = "1,2") @@ -149,6 +156,7 @@ } } + @SysLog() @ApiOperation(value = "鏇存柊涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "versionEntity", value = "瀛楀吀ID闆嗗悎", dataType = "VersionEntity", paramType = "body", example = "") @@ -165,6 +173,7 @@ } } + @SysLog() @ApiOperation(value = "鏍规嵁ID鏌ヨ瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -180,6 +189,7 @@ } } + @SysLog() @ApiOperation(value = "鏌ヨ鎵�鏈夊瓧鍏�") @GetMapping(value = "/selectVersionAll") public ResponseMsg<List<VersionEntity>> selectVersionAll() { diff --git a/src/main/java/com/lf/server/controller/data/AuthController.java b/src/main/java/com/lf/server/controller/sys/AuthController.java similarity index 93% rename from src/main/java/com/lf/server/controller/data/AuthController.java rename to src/main/java/com/lf/server/controller/sys/AuthController.java index bef586d..df9513c 100644 --- a/src/main/java/com/lf/server/controller/data/AuthController.java +++ b/src/main/java/com/lf/server/controller/sys/AuthController.java @@ -1,10 +1,10 @@ -package com.lf.server.controller.data; +package com.lf.server.controller.sys; -import com.lf.server.controller.BaseController; +import com.lf.server.aspect.SysLog; +import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; -import com.lf.server.entity.data.AuthEntity; -import com.lf.server.entity.data.LoginEntity; -import com.lf.server.service.data.AuthService; +import com.lf.server.entity.sys.AuthEntity; +import com.lf.server.service.sys.AuthService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -19,14 +19,14 @@ * @author SWS * @date 2022-09.28 */ -@Api(tags = "鏉冮檺琛�") +@Api(tags = "杩愮淮绠$悊\\鏉冮檺绠$悊") @RestController @RequestMapping("/auth") public class AuthController extends BaseController { @Autowired AuthService authService; - + @SysLog() @ApiOperation(value = "鏌ヨ璁板綍鏁�") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", required = false, example = "sys_auth") @@ -42,6 +42,7 @@ } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "sys_auth"), @@ -61,6 +62,7 @@ } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "1"), @@ -87,9 +89,10 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆瀛楀吀") @ApiImplicitParams({ - @ApiImplicitParam(name = "authEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.data.AuthEntity", paramType = "body", example = "") + @ApiImplicitParam(name = "authEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.sys.AuthEntity", paramType = "body", example = "") }) @PostMapping(value = "/insertAuth", produces = "application/json; charset=UTF-8") public ResponseMsg<Integer> insertAuth(@RequestBody AuthEntity authEntity) { @@ -102,6 +105,7 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "authEntity", value = "瀛楀吀瀹炰綋绫婚泦鍚�", dataType = "List<AuthEntity>", paramType = "body", example = "") @@ -117,6 +121,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -132,6 +137,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "ids", value = "瀛楀吀ID闆嗗悎", dataType = "List<Integer>", paramType = "query", example = "1,2") @@ -149,6 +155,7 @@ } } + @SysLog() @ApiOperation(value = "鏇存柊涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "loginEntity", value = "瀛楀吀ID闆嗗悎", dataType = "LoginEntity", paramType = "body", example = "") @@ -165,6 +172,7 @@ } } + @SysLog() @ApiOperation(value = "鏍规嵁ID鏌ヨ瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -180,6 +188,7 @@ } } + @SysLog() @ApiOperation(value = "鏌ヨ鎵�鏈夊瓧鍏�") @GetMapping(value = "/selectAuthAll") public ResponseMsg<List<AuthEntity>> selectAuthAll() { diff --git a/src/main/java/com/lf/server/controller/data/DepController.java b/src/main/java/com/lf/server/controller/sys/DepController.java similarity index 88% rename from src/main/java/com/lf/server/controller/data/DepController.java rename to src/main/java/com/lf/server/controller/sys/DepController.java index 2d22a3e..e6075cd 100644 --- a/src/main/java/com/lf/server/controller/data/DepController.java +++ b/src/main/java/com/lf/server/controller/sys/DepController.java @@ -1,10 +1,10 @@ -package com.lf.server.controller.data; +package com.lf.server.controller.sys; -import com.lf.server.controller.BaseController; +import com.lf.server.aspect.SysLog; +import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; -import com.lf.server.entity.data.DepEntity; -import com.lf.server.entity.data.DictEntity; -import com.lf.server.service.data.DepService; +import com.lf.server.entity.sys.DepEntity; +import com.lf.server.service.sys.DepService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -20,16 +20,17 @@ * @date 2022-09-23 */ -@Api(tags = "缁勭粐鏈烘瀯") +@Api(tags = "杩愮淮绠$悊\\鍗曚綅绠$悊") @RestController @RequestMapping("/dep") public class DepController extends BaseController { @Autowired DepService depService; + @SysLog() @ApiOperation(value = "鎻掑叆鏁版嵁") @ApiImplicitParams({ - @ApiImplicitParam(name = "DepEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.data.DepEntity", paramType = "body", example = "") + @ApiImplicitParam(name = "DepEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.sys.DepEntity", paramType = "body", example = "") }) @PostMapping(value = "/insertDep", produces = "application/json; charset=UTF-8") public ResponseMsg<Integer> insertDep(@RequestBody DepEntity depEntity) { @@ -42,9 +43,10 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆澶氭潯鏁版嵁") @ApiImplicitParams({ - @ApiImplicitParam(name = "DepEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.data.DepEntity", paramType = "body", example = "") + @ApiImplicitParam(name = "DepEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.sys.DepEntity", paramType = "body", example = "") }) @PostMapping(value = "/insertDes", produces = "application/json; charset=UTF-8") public ResponseMsg<Integer> insertDes(@RequestBody List<DepEntity> depEntity) { @@ -57,6 +59,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎涓�鏉℃暟鎹�") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "涓婚敭ID", dataType = "Integer", paramType = "query", example = "1") @@ -72,6 +75,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎澶氭潯鏁版嵁") @ApiImplicitParams({ @ApiImplicitParam(name = "ids", value = "涓婚敭ID", dataType = "Integer", paramType = "query", example = "1") @@ -91,6 +95,7 @@ } } + @SysLog() @ApiOperation(value = "鏇存柊涓�鏉℃暟鎹�") @ApiImplicitParams({ @ApiImplicitParam(name = "depEntity", value = "涓婚敭ID闆嗗悎", dataType = "DepEntity", paramType = "body", example = "") @@ -107,6 +112,7 @@ } } + @SysLog() @ApiOperation(value = "鏍规嵁ID鏌ヨ") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "涓婚敭ID", dataType = "Integer", paramType = "query", example = "1") @@ -121,6 +127,7 @@ } } + @SysLog() @ApiOperation(value = "鏌ヨ鎵�鏈夋暟鎹�") @GetMapping(value = "/selectDepAll") public ResponseMsg<List<DepEntity>> selectDepAll() { @@ -131,5 +138,4 @@ return fail(ex.getMessage(), null); } } - } diff --git a/src/main/java/com/lf/server/controller/data/LoginController.java b/src/main/java/com/lf/server/controller/sys/LoginController.java similarity index 93% rename from src/main/java/com/lf/server/controller/data/LoginController.java rename to src/main/java/com/lf/server/controller/sys/LoginController.java index 97d8ae5..45d8a7a 100644 --- a/src/main/java/com/lf/server/controller/data/LoginController.java +++ b/src/main/java/com/lf/server/controller/sys/LoginController.java @@ -1,10 +1,10 @@ -package com.lf.server.controller.data; +package com.lf.server.controller.sys; -import com.lf.server.controller.BaseController; +import com.lf.server.aspect.SysLog; +import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; -import com.lf.server.entity.data.DictEntity; -import com.lf.server.entity.data.LoginEntity; -import com.lf.server.service.data.LoginService; +import com.lf.server.entity.sys.LoginEntity; +import com.lf.server.service.sys.LoginService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -19,13 +19,14 @@ * @author SWS * @date 2022-09.28 */ -@Api(tags = "鐧诲綍鏃ュ織") +@Api(tags = "杩愮淮绠$悊\\鐧诲綍鏃ュ織") @RestController @RequestMapping("/login") public class LoginController extends BaseController { @Autowired LoginService loginService; + @SysLog() @ApiOperation(value = "鏌ヨ璁板綍鏁�") @ApiImplicitParams({ @ApiImplicitParam(name = "userid", value = "鐧诲綍浜篒D", dataType = "String", paramType = "query", required = false, example = "sys_login") @@ -41,6 +42,7 @@ } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ") @ApiImplicitParams({ @ApiImplicitParam(name = "userid", value = "鐧诲綍浜篒D", dataType = "String", paramType = "query", example = "sys_login"), @@ -60,6 +62,7 @@ } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") @ApiImplicitParams({ @ApiImplicitParam(name = "userid", value = "鐧诲綍浜篒D", dataType = "String", paramType = "query", example = "1"), @@ -86,9 +89,10 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆瀛楀吀") @ApiImplicitParams({ - @ApiImplicitParam(name = "loginEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.data.LoginEntity", paramType = "body", example = "") + @ApiImplicitParam(name = "loginEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.sys.LoginEntity", paramType = "body", example = "") }) @PostMapping(value = "/insertLogin", produces = "application/json; charset=UTF-8") public ResponseMsg<Integer> insertLogin(@RequestBody LoginEntity loginEntity) { @@ -101,6 +105,7 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "loginEntity", value = "瀛楀吀瀹炰綋绫婚泦鍚�", dataType = "List<LoginEntity>", paramType = "body", example = "") @@ -116,6 +121,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -131,6 +137,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "ids", value = "瀛楀吀ID闆嗗悎", dataType = "List<Integer>", paramType = "query", example = "1,2") @@ -148,6 +155,7 @@ } } + @SysLog() @ApiOperation(value = "鏇存柊涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "loginEntity", value = "瀛楀吀ID闆嗗悎", dataType = "LoginEntity", paramType = "body", example = "") @@ -164,6 +172,7 @@ } } + @SysLog() @ApiOperation(value = "鏍规嵁ID鏌ヨ瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -179,6 +188,7 @@ } } + @SysLog() @ApiOperation(value = "鏌ヨ鎵�鏈夊瓧鍏�") @GetMapping(value = "/selectLoginAll") public ResponseMsg<List<LoginEntity>> selectLoginAll() { @@ -190,5 +200,4 @@ return fail(ex.getMessage(), null); } } - } diff --git a/src/main/java/com/lf/server/controller/data/MenusController.java b/src/main/java/com/lf/server/controller/sys/MenusController.java similarity index 85% rename from src/main/java/com/lf/server/controller/data/MenusController.java rename to src/main/java/com/lf/server/controller/sys/MenusController.java index ea87fca..aa18b54 100644 --- a/src/main/java/com/lf/server/controller/data/MenusController.java +++ b/src/main/java/com/lf/server/controller/sys/MenusController.java @@ -1,10 +1,10 @@ -package com.lf.server.controller.data; +package com.lf.server.controller.sys; -import com.lf.server.controller.BaseController; +import com.lf.server.aspect.SysLog; +import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; -import com.lf.server.entity.data.DictEntity; -import com.lf.server.entity.data.MenusEntity; -import com.lf.server.service.data.MenusService; +import com.lf.server.entity.sys.MenusEntity; +import com.lf.server.service.sys.MenusService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -20,16 +20,17 @@ * @date 2022-09-23 */ -@Api(tags= "鑿滃崟绠$悊") +@Api(tags= "杩愮淮绠$悊\\鑿滃崟绠$悊") @RestController @RequestMapping("/Menu") public class MenusController extends BaseController { @Autowired MenusService menuService; + @SysLog() @ApiOperation(value = "鎻掑叆涓�鏉℃暟鎹�") @ApiImplicitParams({ - @ApiImplicitParam(name = "MenusEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.data.MenusEntity", paramType = "body", example = "") + @ApiImplicitParam(name = "MenusEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.sys.MenusEntity", paramType = "body", example = "") }) @PostMapping(value = "/insertMenu", produces = "application/json; charset=UTF-8") public ResponseMsg<Integer> insertMenu(@RequestBody MenusEntity menusEntity) { @@ -41,11 +42,12 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆澶氭潯鏁版嵁") @ApiImplicitParams({ - @ApiImplicitParam(name = "MenusEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.data.MenusEntity", paramType = "body", example = "") + @ApiImplicitParam(name = "MenusEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.sys.MenusEntity", paramType = "body", example = "") }) - @PostMapping(value = "/insertMenus", produces = "application/json; charset=UTF-8") + @PostMapping(value = "/insertMenus", produces = "application/json; charset=UTF-8") public ResponseMsg<Integer> insertMenus(@RequestBody List<MenusEntity> menusEntity) { try { int count = menuService.insertMenus(menusEntity); @@ -56,6 +58,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎涓�鏉℃暟鎹�") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "涓婚敭ID", dataType = "Integer", paramType = "query", example = "1") @@ -71,6 +74,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎澶氭潯鏁版嵁") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "涓婚敭ID", dataType = "Integer", paramType = "query", example = "1") @@ -90,12 +94,13 @@ } } + @SysLog() @ApiOperation(value = "鏇存柊涓�鏉℃暟鎹�") @ApiImplicitParams({ @ApiImplicitParam(name = "MenusEntity", value = "鑿滃崟ID闆嗗悎", dataType = "MenusEntity", paramType = "body", example = "") }) @ResponseBody - @PostMapping(value = "/updateMenu", produces = "application/json; charset=UTF-8") + @PostMapping(value = "/updateMenu", produces = "application/json; charset=UTF-8") public ResponseMsg<Integer> updateMenu(@RequestBody MenusEntity menusEntity) { try { int count = menuService.updateMenu(menusEntity); @@ -106,6 +111,7 @@ } } + @SysLog() @ApiOperation(value = "鏍规嵁ID鏌ヨ瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -121,6 +127,7 @@ } } + @SysLog() @ApiOperation(value = "鏌ヨ鎵�鏈夊瓧鍏�") @GetMapping(value = "/selectMenuAll") public ResponseMsg<List<MenusEntity>> selectMenuAll() { @@ -132,5 +139,4 @@ return fail(ex.getMessage(), null); } } - -} \ No newline at end of file +} diff --git a/src/main/java/com/lf/server/controller/data/OperateController.java b/src/main/java/com/lf/server/controller/sys/OperateController.java similarity index 93% rename from src/main/java/com/lf/server/controller/data/OperateController.java rename to src/main/java/com/lf/server/controller/sys/OperateController.java index e4b909d..288429a 100644 --- a/src/main/java/com/lf/server/controller/data/OperateController.java +++ b/src/main/java/com/lf/server/controller/sys/OperateController.java @@ -1,10 +1,10 @@ -package com.lf.server.controller.data; +package com.lf.server.controller.sys; -import com.lf.server.controller.BaseController; +import com.lf.server.aspect.SysLog; +import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; -import com.lf.server.entity.data.LoginEntity; -import com.lf.server.entity.data.OperateEntity; -import com.lf.server.service.data.OperateService; +import com.lf.server.entity.sys.OperateEntity; +import com.lf.server.service.sys.OperateService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -19,14 +19,14 @@ * @author SWS * @date 2022-09.28 */ -@Api(tags = "鎿嶄綔鏃ュ織") +@Api(tags = "杩愮淮绠$悊\\鎿嶄綔鏃ュ織") @RestController @RequestMapping("/operate") public class OperateController extends BaseController { @Autowired OperateService operateService; - + @SysLog() @ApiOperation(value = "鏌ヨ璁板綍鏁�") @ApiImplicitParams({ @ApiImplicitParam(name = "userid", value = "鐧诲綍浜篒D", dataType = "String", paramType = "query", required = false, example = "sys_operate") @@ -42,6 +42,7 @@ } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ") @ApiImplicitParams({ @ApiImplicitParam(name = "userid", value = "鐧诲綍浜篒D", dataType = "String", paramType = "query", example = "sys_operate"), @@ -61,6 +62,7 @@ } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") @ApiImplicitParams({ @ApiImplicitParam(name = "userid", value = "鐧诲綍浜篒D", dataType = "String", paramType = "query", example = "1"), @@ -87,9 +89,10 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆瀛楀吀") @ApiImplicitParams({ - @ApiImplicitParam(name = "operateEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.data.OperateEntity", paramType = "body", example = "") + @ApiImplicitParam(name = "operateEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.sys.OperateEntity", paramType = "body", example = "") }) @PostMapping(value = "/insertOperate", produces = "application/json; charset=UTF-8") public ResponseMsg<Integer> insertOperate(@RequestBody OperateEntity operateEntity) { @@ -102,6 +105,7 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "operateEntity", value = "瀛楀吀瀹炰綋绫婚泦鍚�", dataType = "List<OperateEntity>", paramType = "body", example = "") @@ -117,6 +121,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -132,6 +137,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "ids", value = "瀛楀吀ID闆嗗悎", dataType = "List<Integer>", paramType = "query", example = "1,2") @@ -149,6 +155,7 @@ } } + @SysLog() @ApiOperation(value = "鏇存柊涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "operateEntity", value = "瀛楀吀ID闆嗗悎", dataType = "OperateEntity", paramType = "body", example = "") @@ -165,6 +172,7 @@ } } + @SysLog() @ApiOperation(value = "鏍规嵁ID鏌ヨ瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -180,6 +188,7 @@ } } + @SysLog() @ApiOperation(value = "鏌ヨ鎵�鏈夊瓧鍏�") @GetMapping(value = "/selectOperateAll") public ResponseMsg<List<OperateEntity>> selectOperateAll() { diff --git a/src/main/java/com/lf/server/controller/data/ResController.java b/src/main/java/com/lf/server/controller/sys/ResController.java similarity index 93% rename from src/main/java/com/lf/server/controller/data/ResController.java rename to src/main/java/com/lf/server/controller/sys/ResController.java index 55f7b75..1f04d17 100644 --- a/src/main/java/com/lf/server/controller/data/ResController.java +++ b/src/main/java/com/lf/server/controller/sys/ResController.java @@ -1,10 +1,10 @@ -package com.lf.server.controller.data; +package com.lf.server.controller.sys; -import com.lf.server.controller.BaseController; +import com.lf.server.aspect.SysLog; +import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; -import com.lf.server.entity.data.DictEntity; -import com.lf.server.entity.data.ResEntity; -import com.lf.server.service.data.ResService; +import com.lf.server.entity.sys.ResEntity; +import com.lf.server.service.sys.ResService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -19,13 +19,14 @@ * @author SWS * @date 2022-09.28 */ -@Api(tags = "璧勬簮琛�") +@Api(tags = "杩愮淮绠$悊\\璧勬簮绠$悊") @RestController @RequestMapping("/res") public class ResController extends BaseController { @Autowired ResService resService; + @SysLog() @ApiOperation(value = "鏌ヨ璁板綍鏁�") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", required = false, example = "sys_res") @@ -41,6 +42,7 @@ } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "sys_res"), @@ -62,6 +64,7 @@ } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "sys_res"), @@ -85,9 +88,11 @@ return fail(ex.getMessage(), null); } } + + @SysLog() @ApiOperation(value = "鎻掑叆瀛楀吀") @ApiImplicitParams({ - @ApiImplicitParam(name = "resEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.data.ResEntity", paramType = "body", example = "") + @ApiImplicitParam(name = "resEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.sys.ResEntity", paramType = "body", example = "") }) @PostMapping(value = "/insertRes", produces = "application/json; charset=UTF-8") public ResponseMsg<Integer> insertRes(@RequestBody ResEntity resEntity) { @@ -100,6 +105,7 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "resEntity", value = "瀛楀吀瀹炰綋绫婚泦鍚�", dataType = "List<ResEntity>", paramType = "body", example = "") @@ -115,6 +121,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -130,6 +137,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "ids", value = "瀛楀吀ID闆嗗悎", dataType = "List<Integer>", paramType = "query", example = "1,2") @@ -147,6 +155,7 @@ } } + @SysLog() @ApiOperation(value = "鏇存柊涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "resEntity", value = "瀛楀吀ID闆嗗悎", dataType = "ResEntity", paramType = "body", example = "") @@ -163,6 +172,7 @@ } } + @SysLog() @ApiOperation(value = "鏍规嵁ID鏌ヨ瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -178,6 +188,7 @@ } } + @SysLog() @ApiOperation(value = "鏌ヨ鎵�鏈夊瓧鍏�") @GetMapping(value = "/selectResAll") public ResponseMsg<List<ResEntity>> selectResAll() { @@ -189,9 +200,4 @@ return fail(ex.getMessage(), null); } } - - - - - } diff --git a/src/main/java/com/lf/server/controller/data/ResOpController.java b/src/main/java/com/lf/server/controller/sys/ResOpController.java similarity index 93% rename from src/main/java/com/lf/server/controller/data/ResOpController.java rename to src/main/java/com/lf/server/controller/sys/ResOpController.java index 4c80fa8..153ff6e 100644 --- a/src/main/java/com/lf/server/controller/data/ResOpController.java +++ b/src/main/java/com/lf/server/controller/sys/ResOpController.java @@ -1,10 +1,10 @@ -package com.lf.server.controller.data; +package com.lf.server.controller.sys; -import com.lf.server.controller.BaseController; +import com.lf.server.aspect.SysLog; +import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; -import com.lf.server.entity.data.LoginEntity; -import com.lf.server.entity.data.ResOpEntity; -import com.lf.server.service.data.ResOpService; +import com.lf.server.entity.sys.ResOpEntity; +import com.lf.server.service.sys.ResOpService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -19,13 +19,14 @@ * @author SWS * @date 2022-09.28 */ -@Api(tags = "璧勬簮鎿嶄綔") +@Api(tags = "杩愮淮绠$悊\\璧勬簮鎿嶄綔") @RestController @RequestMapping("/resOp") public class ResOpController extends BaseController { @Autowired ResOpService resOpService; + @SysLog() @ApiOperation(value = "鏌ヨ璁板綍鏁�") @ApiImplicitParams({ @ApiImplicitParam(name = "userid", value = "鐧诲綍浜篒D", dataType = "String", paramType = "query", required = false, example = "sys_res_op") @@ -41,6 +42,7 @@ } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ") @ApiImplicitParams({ @ApiImplicitParam(name = "userid", value = "鐧诲綍浜篒D", dataType = "String", paramType = "query", example = "sys_res_op"), @@ -60,6 +62,7 @@ } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") @ApiImplicitParams({ @ApiImplicitParam(name = "userid", value = "鐧诲綍浜篒D", dataType = "String", paramType = "query", example = "1"), @@ -86,9 +89,10 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆瀛楀吀") @ApiImplicitParams({ - @ApiImplicitParam(name = "resOpEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.data.ResOpEntity", paramType = "body", example = "") + @ApiImplicitParam(name = "resOpEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.sys.ResOpEntity", paramType = "body", example = "") }) @PostMapping(value = "/insertResOp", produces = "application/json; charset=UTF-8") public ResponseMsg<Integer> insertResOp(@RequestBody ResOpEntity resOpEntity) { @@ -101,6 +105,7 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "resOpEntity", value = "瀛楀吀瀹炰綋绫婚泦鍚�", dataType = "List<ResOpEntity>", paramType = "body", example = "") @@ -116,6 +121,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -131,6 +137,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "ids", value = "瀛楀吀ID闆嗗悎", dataType = "List<Integer>", paramType = "query", example = "1,2") @@ -148,6 +155,7 @@ } } + @SysLog() @ApiOperation(value = "鏇存柊涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "loginEntity", value = "瀛楀吀ID闆嗗悎", dataType = "LoginEntity", paramType = "body", example = "") @@ -164,6 +172,7 @@ } } + @SysLog() @ApiOperation(value = "鏍规嵁ID鏌ヨ瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -179,6 +188,7 @@ } } + @SysLog() @ApiOperation(value = "鏌ヨ鎵�鏈夊瓧鍏�") @GetMapping(value = "/selectResOpAll") public ResponseMsg<List<ResOpEntity>> selectResOpAll() { diff --git a/src/main/java/com/lf/server/controller/data/RoleController.java b/src/main/java/com/lf/server/controller/sys/RoleController.java similarity index 90% rename from src/main/java/com/lf/server/controller/data/RoleController.java rename to src/main/java/com/lf/server/controller/sys/RoleController.java index 0bf7a15..546ef04 100644 --- a/src/main/java/com/lf/server/controller/data/RoleController.java +++ b/src/main/java/com/lf/server/controller/sys/RoleController.java @@ -1,9 +1,10 @@ -package com.lf.server.controller.data; +package com.lf.server.controller.sys; -import com.lf.server.controller.BaseController; +import com.lf.server.aspect.SysLog; +import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; -import com.lf.server.entity.data.RoleEntity; -import com.lf.server.service.data.RoleService; +import com.lf.server.entity.sys.RoleEntity; +import com.lf.server.service.sys.RoleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -18,13 +19,14 @@ * @author SWS * @date 2022-09.28 */ -@Api(tags = "瑙掕壊琛�") +@Api(tags = "杩愮淮绠$悊\\瑙掕壊绠$悊") @RestController @RequestMapping("/role") public class RoleController extends BaseController { @Autowired RoleService roleService; + @SysLog() @ApiOperation(value = "鏌ヨ璁板綍鏁�") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", required = false, example = "sys_role") @@ -40,6 +42,7 @@ } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "sys_role"), @@ -48,18 +51,19 @@ @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") }) @GetMapping(value = "/selectByPage") - public ResponseMsg<List<RoleEntity>> selectByPage(String name,String depName, Integer pageSize, Integer pageIndex) { + public ResponseMsg<List<RoleEntity>> selectByPage(String name, String depName, Integer pageSize, Integer pageIndex) { try { if (pageSize < 1 || pageIndex < 1) { return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); } - List<RoleEntity> rs = roleService.selectByPage(name,depName, pageSize, pageSize * (pageIndex - 1)); + List<RoleEntity> rs = roleService.selectByPage(name, depName, pageSize, pageSize * (pageIndex - 1)); return success(rs); } catch (Exception ex) { return fail(ex.getMessage(), null); } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = "1"), @@ -68,7 +72,7 @@ @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") }) @GetMapping(value = "/selectByPageAndCount") - public ResponseMsg<List<RoleEntity>> selectByPageAndCount(String name,String depName, Integer pageSize, Integer pageIndex) { + public ResponseMsg<List<RoleEntity>> selectByPageAndCount(String name, String depName, Integer pageSize, Integer pageIndex) { try { if (pageSize < 1 || pageIndex < 1) { return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); @@ -79,7 +83,7 @@ return success(0, null); } - List<RoleEntity> rs = roleService.selectByPage(name,depName, pageSize, pageSize * (pageIndex - 1)); + List<RoleEntity> rs = roleService.selectByPage(name, depName, pageSize, pageSize * (pageIndex - 1)); return success(count, rs); } catch (Exception ex) { @@ -87,9 +91,10 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆瀛楀吀") @ApiImplicitParams({ - @ApiImplicitParam(name = "roleEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.data.RoleEntity", paramType = "body", example = "") + @ApiImplicitParam(name = "roleEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.sys.RoleEntity", paramType = "body", example = "") }) @PostMapping(value = "/insertRole", produces = "application/json; charset=UTF-8") public ResponseMsg<Integer> insertRole(@RequestBody RoleEntity roleEntity) { @@ -102,6 +107,7 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "roleEntity", value = "瀛楀吀瀹炰綋绫婚泦鍚�", dataType = "List<RoleEntity>", paramType = "body", example = "") @@ -117,6 +123,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -132,6 +139,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "ids", value = "瀛楀吀ID闆嗗悎", dataType = "List<Integer>", paramType = "query", example = "1,2") @@ -149,6 +157,7 @@ } } + @SysLog() @ApiOperation(value = "鏇存柊涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "roleEntity", value = "瀛楀吀ID闆嗗悎", dataType = "RoleEntity", paramType = "body", example = "") @@ -165,6 +174,7 @@ } } + @SysLog() @ApiOperation(value = "鏍规嵁ID鏌ヨ瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -180,6 +190,7 @@ } } + @SysLog() @ApiOperation(value = "鏌ヨ鎵�鏈夊瓧鍏�") @GetMapping(value = "/selectRoleAll") public ResponseMsg<List<RoleEntity>> selectRoleAll() { @@ -191,5 +202,4 @@ return fail(ex.getMessage(), null); } } - } diff --git a/src/main/java/com/lf/server/controller/sys/SignController.java b/src/main/java/com/lf/server/controller/sys/SignController.java deleted file mode 100644 index 862a212..0000000 --- a/src/main/java/com/lf/server/controller/sys/SignController.java +++ /dev/null @@ -1,180 +0,0 @@ -package com.lf.server.controller.sys; - -import com.lf.server.controller.BaseController; -import com.lf.server.entity.all.ResponseMsg; -import com.lf.server.entity.data.LoginEntity; -import com.lf.server.entity.data.TokenEntity; -import com.lf.server.entity.data.UsersEntity; -import com.lf.server.helper.StringHelper; -import com.lf.server.helper.WebHelper; -import com.lf.server.service.data.LoginService; -import com.lf.server.service.data.TokenService; -import com.lf.server.service.data.UsersService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.servlet.ModelAndView; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * 绛惧悕鎺у埗鍣� - * @author www - * @date 2022-09-21 - */ -@RestController -@RequestMapping("/sign") -public class SignController extends BaseController { - @Autowired - UsersService userService; - - @Autowired - LoginService loginService; - - @Autowired - TokenService tokenService; - - /** - * 璺冲埌棣栭〉 - * - * @return String - */ - @GetMapping({"/", "/toIndex"}) - public ModelAndView toIndex(ModelAndView mv, HttpServletRequest req) { - mv.setViewName("index"); - - UsersEntity ue = tokenService.getCurrentUser(req); - if (ue != null) { - mv.addObject("msg", "Hello " + ue.getUname() + " !"); - } - - return mv; - } - - /** - * 璺冲埌鐧诲綍椤� - * - * @return String - */ - @GetMapping("/toLogin") - public ModelAndView toLogin(ModelAndView mv) { - mv.setViewName("login"); - - return mv; - } - - /** - * 鐧诲綍璁よ瘉 - * - * @return ResponseMsg<TokenEntity> - */ - @PostMapping(value = "/login", produces = "application/json; charset=UTF-8") - public ResponseMsg<TokenEntity> login(@RequestBody UsersEntity user, HttpServletRequest req, HttpServletResponse res) { - try { - if (user == null) { - return fail("璇疯緭鍏ョ敤鎴峰悕鍜屽瘑鐮侊紒", null); - } - if (StringHelper.isEmpty(user.getUid())) { - return fail("鐢ㄦ埛鍚嶄笉鑳戒负绌猴紒", null); - } - if (StringHelper.isEmpty(user.getPwd())) { - return fail("瀵嗙爜涓嶈兘涓虹┖锛�", null); - } - - UsersEntity ue = userService.selectByUid(user.getUid()); - if (ue == null) { - return fail("鐢ㄦ埛鍚嶄笉瀛樺湪锛�", null); - } - - LoginEntity le = loginService.getNewLogin(ue.getId(), 1, req); - if (!user.getPwd().equals(ue.getPwd())) { - le.setStatus(0); - le.setDescr("瀵嗙爜閿欒"); - loginService.insertLogin(le); - return fail("瀵嗙爜涓嶆纭紒", null); - } - - Integer rows = loginService.insertLogin(le); - if (rows == 0) { - return fail("鍒涘缓鐧诲綍鏃ュ織澶辫触锛�", null); - } - - TokenEntity te = tokenService.getNewToken(ue.getId(), req); - rows = tokenService.insertToken(te); - if (rows == 0) { - return fail("鍒涘缓浠ょ墝淇℃伅澶辫触锛�", null); - } - - tokenService.saveToken(ue, te, req, res); - - return success(te); - } catch (Exception ex) { - return fail(ex.getMessage(), null); - } - } - - /** - * 鐧诲嚭 - * - * @param req - * @param res - * @return - */ - @GetMapping(value = "/logout") - public ResponseMsg<Boolean> logout(HttpServletRequest req, HttpServletResponse res) { - try { - String token = WebHelper.getToken(req); - if (StringHelper.isEmpty(token)) { - return fail("娌℃湁妫�娴嬪埌浠ょ墝", false); - } - - Boolean flag = tokenService.logout(token, req, res); - - return success(flag ? "鐧诲嚭鎴愬姛" : "鐧诲嚭澶辫触", flag); - } catch (Exception ex) { - return fail(ex.getMessage(), false); - } - } - - /** - * 妫�鏌ユ槸/鍚︾櫥褰� - * - * @return ResponseMsg<String> - */ - @GetMapping("/check") - public ResponseMsg<Boolean> check(HttpServletRequest req, HttpServletResponse res) { - try { - Boolean flag = tokenService.isLogin(req, res); - if (flag) { - // 鍐欐棩蹇� - UsersEntity ue = tokenService.getCurrentUser(req); - LoginEntity le = loginService.getNewLogin(ue.getId(), 2, req); - Integer rows = loginService.insertLogin(le); - } - - return success(flag ? "鐢ㄦ埛宸茬櫥褰�" : "鐢ㄦ埛鏈櫥褰�", flag); - } catch (Exception ex) { - return fail(ex.getMessage(), false); - } - } - - /** - * 鑾峰彇褰撳墠鐢ㄦ埛 - * - * @param req - * @return - */ - @GetMapping("/getCurrentUser") - public ResponseMsg<UsersEntity> getCurrentUser(HttpServletRequest req) { - try { - UsersEntity ue = tokenService.getCurrentUser(req); - if (ue == null) { - return fail("娌℃湁鎵惧埌", null); - } - - return success(ue); - } catch (Exception ex) { - return fail(ex.getMessage(), null); - } - } -} diff --git a/src/main/java/com/lf/server/controller/data/TokenController.java b/src/main/java/com/lf/server/controller/sys/TokenController.java similarity index 92% rename from src/main/java/com/lf/server/controller/data/TokenController.java rename to src/main/java/com/lf/server/controller/sys/TokenController.java index a7c8ded..d24fe75 100644 --- a/src/main/java/com/lf/server/controller/data/TokenController.java +++ b/src/main/java/com/lf/server/controller/sys/TokenController.java @@ -1,10 +1,10 @@ -package com.lf.server.controller.data; +package com.lf.server.controller.sys; -import com.lf.server.controller.BaseController; +import com.lf.server.aspect.SysLog; +import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; -import com.lf.server.entity.data.DictEntity; -import com.lf.server.entity.data.TokenEntity; -import com.lf.server.service.data.TokenService; +import com.lf.server.entity.sys.TokenEntity; +import com.lf.server.service.sys.TokenService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -20,14 +20,14 @@ * @date 2022-09-28 */ -@Api(tags = "浠ょ墝绠$悊") +@Api(tags = "杩愮淮绠$悊\\浠ょ墝绠$悊") @RestController @RequestMapping("/token") public class TokenController extends BaseController { + @Autowired + TokenService tokenService; - @Autowired - TokenService tokenService; - + @SysLog() @ApiOperation(value = "鏌ヨ璁板綍鏁�") @ApiImplicitParams({ @ApiImplicitParam(name = "token", value = "浠ょ墝", dataType = "String", paramType = "query", required = false, example = "sys_token") @@ -43,6 +43,7 @@ } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ") @ApiImplicitParams({ @ApiImplicitParam(name = "token", value = "浠ょ墝", dataType = "String", paramType = "query", example = "sys_token"), @@ -62,6 +63,7 @@ } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") @ApiImplicitParams({ @ApiImplicitParam(name = "token", value = "浠ょ墝", dataType = "String", paramType = "query", example = "sys_token"), @@ -85,9 +87,10 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆瀛楀吀") @ApiImplicitParams({ - @ApiImplicitParam(name = "tokenEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.data.TokenEntity", paramType = "body", example = "") + @ApiImplicitParam(name = "tokenEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.sys.TokenEntity", paramType = "body", example = "") }) @PostMapping(value = "/insertToken", produces = "application/json; charset=UTF-8") public ResponseMsg<Integer> insertToken(@RequestBody TokenEntity tokenEntity) { @@ -99,7 +102,7 @@ } } - + @SysLog() @ApiOperation(value = "鎻掑叆澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "tokenEntity", value = "瀛楀吀瀹炰綋绫婚泦鍚�", dataType = "List<TokenEntity>", paramType = "body", example = "") @@ -115,6 +118,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -130,6 +134,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "ids", value = "瀛楀吀ID闆嗗悎", dataType = "List<Integer>", paramType = "query", example = "1,2") @@ -147,6 +152,7 @@ } } + @SysLog() @ApiOperation(value = "鏇存柊涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "tokenEntity", value = "瀛楀吀ID闆嗗悎", dataType = "TokenEntity", paramType = "body", example = "") @@ -162,6 +168,7 @@ } } + @SysLog() @ApiOperation(value = "鏍规嵁ID鏌ヨ瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -177,6 +184,7 @@ } } + @SysLog() @ApiOperation(value = "鏌ヨ鎵�鏈夊瓧鍏�") @GetMapping(value = "/selectTokenAll") public ResponseMsg<List<TokenEntity>> selectTokenAll() { @@ -187,6 +195,4 @@ return fail(ex.getMessage(), null); } } - - } diff --git a/src/main/java/com/lf/server/controller/data/UsersController.java b/src/main/java/com/lf/server/controller/sys/UsersController.java similarity index 73% rename from src/main/java/com/lf/server/controller/data/UsersController.java rename to src/main/java/com/lf/server/controller/sys/UsersController.java index 22c425b..5f68242 100644 --- a/src/main/java/com/lf/server/controller/data/UsersController.java +++ b/src/main/java/com/lf/server/controller/sys/UsersController.java @@ -1,9 +1,13 @@ -package com.lf.server.controller.data; +package com.lf.server.controller.sys; -import com.lf.server.controller.BaseController; +import com.lf.server.aspect.SysLog; +import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; -import com.lf.server.entity.data.UsersEntity; -import com.lf.server.service.data.UsersService; +import com.lf.server.entity.sys.UsersEntity; +import com.lf.server.helper.Md5Helper; +import com.lf.server.helper.StringHelper; +import com.lf.server.service.sys.TokenService; +import com.lf.server.service.sys.UsersService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -11,6 +15,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -18,13 +24,17 @@ * @author sws * @date 2022-09-27 */ -@Api(tags = "鐢ㄦ埛绠$悊") +@Api(tags = "杩愮淮绠$悊\\鐢ㄦ埛绠$悊") @RestController @RequestMapping("/user") public class UsersController extends BaseController { @Autowired UsersService userService; + @Autowired + TokenService tokenService; + + @SysLog() @ApiOperation(value = "鏌ヨ璁板綍鏁�") @ApiImplicitParams({ @ApiImplicitParam(name = "uname", value = "鐢ㄦ埛鍚�", dataType = "String", paramType = "query", required = false, example = "sys_user") @@ -40,6 +50,7 @@ } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ") @ApiImplicitParams({ @ApiImplicitParam(name = "uname", value = "鐢ㄦ埗鍚�", dataType = "String", paramType = "query", example = "sys_user"), @@ -61,6 +72,7 @@ } } + @SysLog() @ApiOperation(value = "鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟") @ApiImplicitParams({ @ApiImplicitParam(name = "uname", value = "鐢ㄦ埛鍚�", dataType = "String", paramType = "query", example = "sys_dict"), @@ -85,6 +97,7 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "userEntity", value = "瀛楀吀瀹炰綋绫�", dataType = "com.lf.server.entity.data.UserEntity", paramType = "body", example = "") @@ -100,6 +113,7 @@ } } + @SysLog() @ApiOperation(value = "鎻掑叆澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "userEntity", value = "瀛楀吀瀹炰綋绫婚泦鍚�", dataType = "List<UserEntity>", paramType = "body", example = "") @@ -115,6 +129,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -130,6 +145,7 @@ } } + @SysLog() @ApiOperation(value = "鍒犻櫎澶氭潯瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "ids", value = "瀛楀吀ID闆嗗悎", dataType = "List<Integer>", paramType = "query", example = "1,2") @@ -149,6 +165,7 @@ } } + @SysLog() @ApiOperation(value = "鏇存柊涓�鏉″瓧鍏�") @ApiImplicitParams({ @ApiImplicitParam(name = "userEntity", value = "瀛楀吀ID闆嗗悎", dataType = "UserEntity", paramType = "body", example = "") @@ -165,6 +182,7 @@ } } + @SysLog() @ApiOperation(value = "鏍规嵁ID鏌ヨ瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -180,6 +198,7 @@ } } + @SysLog() @ApiOperation(value = "鏌ヨ鎵�鏈夊瓧鍏�") @GetMapping(value = "/selectUserAll") public ResponseMsg<List<UsersEntity>> selectUserAll() { @@ -191,4 +210,51 @@ return fail(ex.getMessage(), null); } } + + @SysLog() + @ApiOperation(value = "鏇存柊鐢ㄦ埛瀵嗙爜") + @ApiImplicitParams({ + @ApiImplicitParam(name = "user", value = "鐢ㄦ埛瀹炰綋绫�", dataType = "UsersEntity", paramType = "body", example = "") + }) + @PostMapping(value = "/updateUserPwd") + public ResponseMsg<Boolean> updateUserPwd(@RequestBody UsersEntity user, HttpServletRequest req, HttpServletResponse res) { + try { + if (user == null) { + return fail("璇锋彁浜ょ敤鎴蜂俊鎭紒", false); + } + if (StringHelper.isEmpty(user.getPwd())) { + return fail("璇疯緭鍏ョ敤鎴峰瘑鐮侊紒", false); + } + if (StringHelper.isEmpty(user.getSalt())) { + return fail("璇疯緭鍏ョ鐞嗗憳瀵嗙爜锛�", false); + } + if (!StringHelper.checkPwdValid(user.getPwd())) { + return fail("鏂板瘑鐮佷笉绗﹀悎瑙勫垯瑕佹眰锛�", false); + } + + UsersEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("娌℃湁鐧诲綍鎴栫櫥褰曡秴鏃讹紒", false); + } + if (!Md5Helper.validatePassword(user.getSalt(), ue.getPwd())) { + return fail("绠$悊鍛樺瘑鐮佷笉姝g‘锛�", false); + } + + UsersEntity usersEntity = userService.selectUser(user.getId()); + if (usersEntity == null) { + return fail("娌℃湁鎵惧埌瑕佷慨鏀圭殑鐢ㄦ埛锛�", false); + } + // 璁剧疆鏂板瘑鐮� + String md5 = Md5Helper.reverse(Md5Helper.generate(user.getPwd())); + usersEntity.setPwd(md5); + // 璁剧疆鏇存柊淇℃伅 + usersEntity.setUpdateUser(ue.getId()); + + Integer rows = userService.updateUsers(usersEntity); + + return success(rows > 0 ? "鏇存柊鎴愬姛" : "鏇存柊澶辫触", rows > 0); + } catch (Exception ex) { + return fail(ex.getMessage(), false); + } + } } \ No newline at end of file diff --git a/src/main/java/com/lf/server/entity/all/RedisCacheKey.java b/src/main/java/com/lf/server/entity/all/RedisCacheKey.java new file mode 100644 index 0000000..d54b416 --- /dev/null +++ b/src/main/java/com/lf/server/entity/all/RedisCacheKey.java @@ -0,0 +1,47 @@ +package com.lf.server.entity.all; + +/** + * Redis缂撳瓨閿� + * @author WWW + */ +public class RedisCacheKey { + /** + * 鐧诲綍浠ょ墝閿� + * + * @param key + * @return + */ + public static String signTokenKey(String key) { + return "sign:token:" + key; + } + + /** + * 鐧诲綍鐢ㄦ埛閿� + * + * @param key + * @return + */ + public static String signUserKey(String key) { + return "sign:user:" + key; + } + + /** + * 瀵嗙爜閿欒閿� + * + * @param key + * @return + */ + public static String signPwdError(String key) { + return "sign:pwdError:" + key; + } + + /** + * 閿佸畾鐢ㄦ埛閿� + * + * @param key + * @return + */ + public static String signLockUser(String key) { + return "sso:lockUser:" + key; + } +} diff --git a/src/main/java/com/lf/server/entity/all/StaticData.java b/src/main/java/com/lf/server/entity/all/StaticData.java index 94ab8ad..986eeb5 100644 --- a/src/main/java/com/lf/server/entity/all/StaticData.java +++ b/src/main/java/com/lf/server/entity/all/StaticData.java @@ -6,6 +6,11 @@ */ public class StaticData { /** + * 鎺掗櫎璺緞锛�"/druid/", + */ + public final static String[] EXCLUDE_PATH = new String[]{"/swagger", "/sign/", "proxy"}; + + /** * 鐗堟湰鍙� */ public final static String VERSION = "1.0.0"; @@ -21,6 +26,11 @@ public final static String TOKEN_COOKIE_KEY = "token"; /** + * Cookie涓璬ruid閿� + */ + public final static String DRUID_COOKIE_KEY = "JSESSIONID"; + + /** * 鏂囨湰缂栫爜鏂瑰紡 */ public final static String TEXT_ENCODER = "UTF-8"; @@ -29,4 +39,9 @@ * 缂撳瓨鍓嶇紑 */ public final static String CACHE_PREFIX = "LF"; + + /** + * 瀵嗙爜姝e垯琛ㄨ揪寮� + */ + public static final String PWD_REG = "^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\\W!@#$%^&*`~()\\-_+=,.?;<>]{8,20}$"; } diff --git a/src/main/java/com/lf/server/entity/data/AuthEntity.java b/src/main/java/com/lf/server/entity/sys/AuthEntity.java similarity index 97% rename from src/main/java/com/lf/server/entity/data/AuthEntity.java rename to src/main/java/com/lf/server/entity/sys/AuthEntity.java index 489f975..eb3d81f 100644 --- a/src/main/java/com/lf/server/entity/data/AuthEntity.java +++ b/src/main/java/com/lf/server/entity/sys/AuthEntity.java @@ -1,4 +1,4 @@ -package com.lf.server.entity.data; +package com.lf.server.entity.sys; import java.io.Serializable; import java.sql.Timestamp; diff --git a/src/main/java/com/lf/server/entity/data/DepEntity.java b/src/main/java/com/lf/server/entity/sys/DepEntity.java similarity index 98% rename from src/main/java/com/lf/server/entity/data/DepEntity.java rename to src/main/java/com/lf/server/entity/sys/DepEntity.java index 6ce1785..63cb656 100644 --- a/src/main/java/com/lf/server/entity/data/DepEntity.java +++ b/src/main/java/com/lf/server/entity/sys/DepEntity.java @@ -1,4 +1,4 @@ -package com.lf.server.entity.data; +package com.lf.server.entity.sys; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/src/main/java/com/lf/server/entity/data/LoginEntity.java b/src/main/java/com/lf/server/entity/sys/LoginEntity.java similarity index 97% rename from src/main/java/com/lf/server/entity/data/LoginEntity.java rename to src/main/java/com/lf/server/entity/sys/LoginEntity.java index 0da29d8..6ebc693 100644 --- a/src/main/java/com/lf/server/entity/data/LoginEntity.java +++ b/src/main/java/com/lf/server/entity/sys/LoginEntity.java @@ -1,4 +1,4 @@ -package com.lf.server.entity.data; +package com.lf.server.entity.sys; import java.io.Serializable; import java.sql.Timestamp; diff --git a/src/main/java/com/lf/server/entity/data/MenusEntity.java b/src/main/java/com/lf/server/entity/sys/MenusEntity.java similarity index 98% rename from src/main/java/com/lf/server/entity/data/MenusEntity.java rename to src/main/java/com/lf/server/entity/sys/MenusEntity.java index ffe2919..25a094e 100644 --- a/src/main/java/com/lf/server/entity/data/MenusEntity.java +++ b/src/main/java/com/lf/server/entity/sys/MenusEntity.java @@ -1,4 +1,4 @@ -package com.lf.server.entity.data; +package com.lf.server.entity.sys; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/src/main/java/com/lf/server/entity/data/OperateEntity.java b/src/main/java/com/lf/server/entity/sys/OperateEntity.java similarity index 72% rename from src/main/java/com/lf/server/entity/data/OperateEntity.java rename to src/main/java/com/lf/server/entity/sys/OperateEntity.java index f20a64c..7c79b3f 100644 --- a/src/main/java/com/lf/server/entity/data/OperateEntity.java +++ b/src/main/java/com/lf/server/entity/sys/OperateEntity.java @@ -1,4 +1,4 @@ -package com.lf.server.entity.data; +package com.lf.server.entity.sys; import java.io.Serializable; import java.sql.Timestamp; @@ -9,7 +9,6 @@ * @date 2022-09-28 */ public class OperateEntity implements Serializable { - private static final long serialVersionUID = -2335232554888606229L; private int id; @@ -20,11 +19,17 @@ private String ip; + private long exec; + + private String clazz; + private int type; private int userid; private Timestamp optime; + + private String bak; public int getId() { return id; @@ -54,6 +59,22 @@ return ip; } + public long getExec() { + return exec; + } + + public void setExec(long exec) { + this.exec = exec; + } + + public String getClazz() { + return clazz; + } + + public void setClazz(String clazz) { + this.clazz = clazz; + } + public void setIp(String ip) { this.ip = ip; } @@ -81,4 +102,12 @@ public void setOptime(Timestamp optime) { this.optime = optime; } + + public String getBak() { + return bak; + } + + public void setBak(String bak) { + this.bak = bak; + } } diff --git a/src/main/java/com/lf/server/entity/sys/RedisCacheKey.java b/src/main/java/com/lf/server/entity/sys/RedisCacheKey.java deleted file mode 100644 index ea76257..0000000 --- a/src/main/java/com/lf/server/entity/sys/RedisCacheKey.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.lf.server.entity.sys; - -/** - * Redis缂撳瓨閿� - * @author WWW - */ -public class RedisCacheKey { - /** - * 鐧诲綍鏃朵护鐗屼綔涓簁ey - * - * @param key - * @return - */ - public static String signTokenKey(String key) { - return "sign:token:" + key; - } - - public static String signUserKey(String key) { - return "sign:user:" + key; - } -} diff --git a/src/main/java/com/lf/server/entity/data/ResEntity.java b/src/main/java/com/lf/server/entity/sys/ResEntity.java similarity index 98% rename from src/main/java/com/lf/server/entity/data/ResEntity.java rename to src/main/java/com/lf/server/entity/sys/ResEntity.java index dd1965b..7e706a8 100644 --- a/src/main/java/com/lf/server/entity/data/ResEntity.java +++ b/src/main/java/com/lf/server/entity/sys/ResEntity.java @@ -1,4 +1,4 @@ -package com.lf.server.entity.data; +package com.lf.server.entity.sys; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/src/main/java/com/lf/server/entity/data/ResOpEntity.java b/src/main/java/com/lf/server/entity/sys/ResOpEntity.java similarity index 96% rename from src/main/java/com/lf/server/entity/data/ResOpEntity.java rename to src/main/java/com/lf/server/entity/sys/ResOpEntity.java index 21f600f..ae10f73 100644 --- a/src/main/java/com/lf/server/entity/data/ResOpEntity.java +++ b/src/main/java/com/lf/server/entity/sys/ResOpEntity.java @@ -1,4 +1,4 @@ -package com.lf.server.entity.data; +package com.lf.server.entity.sys; import java.io.Serializable; import java.sql.Timestamp; diff --git a/src/main/java/com/lf/server/entity/data/RoleEntity.java b/src/main/java/com/lf/server/entity/sys/RoleEntity.java similarity index 97% rename from src/main/java/com/lf/server/entity/data/RoleEntity.java rename to src/main/java/com/lf/server/entity/sys/RoleEntity.java index f17172d..94ff44e 100644 --- a/src/main/java/com/lf/server/entity/data/RoleEntity.java +++ b/src/main/java/com/lf/server/entity/sys/RoleEntity.java @@ -1,4 +1,4 @@ -package com.lf.server.entity.data; +package com.lf.server.entity.sys; import java.io.Serializable; import java.sql.Timestamp; diff --git a/src/main/java/com/lf/server/entity/data/TokenEntity.java b/src/main/java/com/lf/server/entity/sys/TokenEntity.java similarity index 96% rename from src/main/java/com/lf/server/entity/data/TokenEntity.java rename to src/main/java/com/lf/server/entity/sys/TokenEntity.java index 4ce9d4b..40ffbca 100644 --- a/src/main/java/com/lf/server/entity/data/TokenEntity.java +++ b/src/main/java/com/lf/server/entity/sys/TokenEntity.java @@ -1,7 +1,6 @@ -package com.lf.server.entity.data; +package com.lf.server.entity.sys; import java.io.Serializable; -import java.sql.Time; import java.sql.Timestamp; /** diff --git a/src/main/java/com/lf/server/entity/data/UsersEntity.java b/src/main/java/com/lf/server/entity/sys/UsersEntity.java similarity index 98% rename from src/main/java/com/lf/server/entity/data/UsersEntity.java rename to src/main/java/com/lf/server/entity/sys/UsersEntity.java index 799ab6e..bab15b9 100644 --- a/src/main/java/com/lf/server/entity/data/UsersEntity.java +++ b/src/main/java/com/lf/server/entity/sys/UsersEntity.java @@ -1,4 +1,4 @@ -package com.lf.server.entity.data; +package com.lf.server.entity.sys; import java.io.Serializable; import java.sql.Timestamp; diff --git a/src/main/java/com/lf/server/interceptor/CrosFilter.java b/src/main/java/com/lf/server/filter/CrosFilter.java similarity index 100% rename from src/main/java/com/lf/server/interceptor/CrosFilter.java rename to src/main/java/com/lf/server/filter/CrosFilter.java diff --git a/src/main/java/com/lf/server/helper/FileHelper.java b/src/main/java/com/lf/server/helper/FileHelper.java new file mode 100644 index 0000000..5e49417 --- /dev/null +++ b/src/main/java/com/lf/server/helper/FileHelper.java @@ -0,0 +1,123 @@ +package com.lf.server.helper; + +import java.io.File; + +/** + * 鏂囦欢甯姪绫� + * @author WWW + */ +public class FileHelper { + private final static String POINT = "."; + + /** + * 鑾峰彇鏂囦欢鎵╁睍鍚� + * + * @param file 鏂囦欢 + * @return + */ + public static String getExtension(File file) { + if (file == null) { + return null; + } + + String fileName = file.getName().toLowerCase(); + + int idx = fileName.lastIndexOf(POINT); + if (idx == -1) { + return ""; + } + + return fileName.substring(idx); + } + + + /** + * 鑾峰彇澶氱敤閫斾簰鑱旂綉閭欢鎵╁睍绫诲瀷 + * + * @param ext 鏂囦欢鎵╁睍鍚� + * @return + */ + public static String getMime(String ext) { + switch (ext) { + // 鍥剧墖 + case ".tif": + case ".tiff": + return "image/tiff"; + case ".img": + return "application/x-img"; + case ".gif": + return "image/gif"; + case ".jpg": + case ".jpeg": + return "image/jpeg"; + case ".png": + return "image/png"; + // 闊�/瑙嗛 + case ".mp3": + return "audio/mp3"; + case ".mp4": + return "video/mpeg4"; + case ".avi": + return "video/avi"; + case ".mpg": + case ".mpeg": + return "video/mpg"; + case ".wav": + return "audio/wav"; + case ".wma": + return "audio/x-ms-wma"; + case ".swf": + return "application/x-shockwave-flash"; + case ".wmv": + return "video/x-ms-wmv"; + case ".rm": + return "application/vnd.rn-realmedia"; + case ".rmvb": + return "application/vnd.rn-realmedia-vbr"; + // 缃戦〉 + case ".js": + return "application/x-javascript"; + case ".css": + return "text/css"; + case ".asp": + return "text/asp"; + case ".mht": + return "message/rfc822"; + case ".jsp": + case ".htm": + case ".html": + case ".xhtml": + return "text/html"; + case ".xml": + case ".svg": + return "text/xml"; + // 鏂囦欢 + case ".txt": + return "text/plain"; + case ".dbf": + return "application/x-dbf"; + case ".mdb": + return "application/msaccess"; + case ".pdf": + return "application/pdf"; + case ".ppt": + case ".pptx": + return "application/x-ppt"; + case ".doc": + case ".docx": + return "application/msword"; + case ".xls": + case ".xlsx": + return "application/vnd.ms-excel"; + case ".dgn": + return "application/x-dgn"; + case ".dwg": + return "application/x-dwg"; + case ".ext": + return "application/x-msdownload"; + // 榛樿 + default: + return "application/octet-stream"; + } + } +} diff --git a/src/main/java/com/lf/server/helper/PathHelper.java b/src/main/java/com/lf/server/helper/PathHelper.java new file mode 100644 index 0000000..327240e --- /dev/null +++ b/src/main/java/com/lf/server/helper/PathHelper.java @@ -0,0 +1,100 @@ +package com.lf.server.helper; + +import com.lf.server.config.PropertiesConfig; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.io.File; + +/** + * 璺緞甯姪绫� + * @author WWW + */ +@Component +public class PathHelper { + @Autowired + private PropertiesConfig propertiesConfig; + + private static int MAX_FILES = 2000; + + private static int importPath = 1; + + private static int exportPath = 1; + + private static int uploadPath = 1; + + private static int sharePath = 1; + + /** + * 鍒濆鍖� + */ + public void init() { + importPath = getSubPath(propertiesConfig.getImportPath(), importPath); + exportPath = getSubPath(propertiesConfig.getExportPath(), exportPath); + uploadPath = getSubPath(propertiesConfig.getUploadPath(), uploadPath); + sharePath = getSubPath(propertiesConfig.getSharePath(), sharePath); + } + + private static int getSubPath(String parentPath, int subPath) { + while (true) { + String path = parentPath + File.separator + subPath; + + File file = new File(path); + if (!file.exists() && !file.isDirectory()) { + file.mkdirs(); + return subPath; + } + + File[] files = file.listFiles(); + if (files.length < MAX_FILES) { + return subPath; + } + + subPath++; + } + } + + /** + * 鑾峰彇瀵煎叆鐩綍 + * + * @return + */ + public String getImportPath() { + importPath = getSubPath(propertiesConfig.getImportPath(), importPath); + + return propertiesConfig.getImportPath() + File.separator + importPath; + } + + /** + * 鑾峰彇鍑哄浘鐩綍 + * + * @return + */ + public String getExportPath() { + exportPath = getSubPath(propertiesConfig.getExportPath(), exportPath); + + return propertiesConfig.getExportPath() + File.separator + exportPath; + } + + /** + * 鑾峰彇涓婁紶鐩綍 + * + * @return + */ + public String getUploadPath() { + uploadPath = getSubPath(propertiesConfig.getUploadPath(), uploadPath); + + return propertiesConfig.getUploadPath() + File.separator + uploadPath; + } + + /** + * 鑾峰彇鍏变韩鐩綍 + * + * @return + */ + public String getSharePath() { + sharePath = getSubPath(propertiesConfig.getSharePath(), sharePath); + + return propertiesConfig.getSharePath() + File.separator + sharePath; + } +} diff --git a/src/main/java/com/lf/server/helper/RestHelper.java b/src/main/java/com/lf/server/helper/RestHelper.java index aa68a28..385b3f3 100644 --- a/src/main/java/com/lf/server/helper/RestHelper.java +++ b/src/main/java/com/lf/server/helper/RestHelper.java @@ -172,6 +172,7 @@ httpPost.setEntity(postEntity); CloseableHttpResponse closeResponse = httpClient.execute(httpPost); + // 鍙栧嚭杩斿洖浣� HttpEntity entity = closeResponse.getEntity(); diff --git a/src/main/java/com/lf/server/helper/RsaHelper.java b/src/main/java/com/lf/server/helper/RsaHelper.java new file mode 100644 index 0000000..cf73452 --- /dev/null +++ b/src/main/java/com/lf/server/helper/RsaHelper.java @@ -0,0 +1,200 @@ +package com.lf.server.helper; + +import org.apache.tomcat.util.codec.binary.Base64; +import org.springframework.core.io.ClassPathResource; + +import javax.crypto.Cipher; +import java.io.*; +import java.security.*; +import java.security.interfaces.RSAPrivateKey; +import java.security.interfaces.RSAPublicKey; +import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; +import java.util.HashMap; +import java.util.Map; + + +/** + * RSA宸ュ叿绫� 榛樿闀垮害涓�2048浣� + * @author LinTao + * @date 2022/2/13 + */ +public class RsaHelper { + /** + * 绉侀挜 + */ + private static String privateKey; + + /** + * 鍏挜 + */ + private static String publicKey; + + private static final String KEY_ALGORITHM = "RSA"; + + /** + * RSA瀵嗛挜闀垮害锛�1024 鎴� 2048 + */ + private static final int DEFAULT_RSA_KEY_SIZE = 1024; + + /** + * 鐢熸垚鍏閽� + */ + public static void generate() { + Map<String, String> result = generateRsaKey(DEFAULT_RSA_KEY_SIZE); + System.out.println("鍏挜涓猴細" + result.get("publicKey")); + System.out.println("绉侀挜涓猴細" + result.get("privateKey")); + } + + /** + * 鑾峰彇RSA鍔犲瘑绉侀挜 + * + * @return + * @throws IOException + */ + public static String getPrivateKey() throws IOException { + if (privateKey == null) { + InputStream inPrivate = new ClassPathResource("config" + File.separator + "rsa_private_key.txt").getInputStream(); + privateKey = inputStream2String(inPrivate); + inPrivate.close(); + } + + return privateKey; + } + + /** + * 鑾峰彇RSA鍔犲瘑鍏挜 + * + * @return + * @throws IOException + */ + public static String getPublicKey() throws IOException { + if (publicKey == null) { + InputStream inPrivate = new ClassPathResource("config" + File.separator + "rsa_public_key.txt").getInputStream(); + publicKey = inputStream2String(inPrivate); + inPrivate.close(); + } + + return publicKey; + } + + /** + * 璇诲彇鏂囨湰鏂囦欢 + * + * @param fileName 鏂囦欢璺緞 + * @return + * @throws IOException + */ + public static String readFile(String fileName) throws IOException { + File file = new File(fileName); + BufferedReader br = new BufferedReader(new FileReader(file)); + + StringBuilder result = new StringBuilder(); + + String line = null; + while ((line = br.readLine()) != null) { + result.append(System.lineSeparator() + line); + } + br.close(); + + return result.toString(); + } + + /** + * 鎶奿nputStream杞垚String + * + * @param is + * @return + * @throws IOException + */ + private static String inputStream2String(InputStream is) throws IOException { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + + int i = -1; + while ((i = is.read()) != -1) { + baos.write(i); + } + + String str = baos.toString(); + baos.close(); + + return str; + } + + /** + * 鐢熸垚RSA鐨勫叕绉侀挜 + * + * @param keySize 1025 鎴� 2048 + * @return + */ + public static Map<String, String> generateRsaKey(int keySize) { + Map<String, String> result = new HashMap<>(2); + try { + KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance(KEY_ALGORITHM); + + // 鍒濆鍖栧瘑閽ュ鐢熸垚鍣紝瀵嗛挜澶у皬涓�1024 2048浣� + keyPairGen.initialize(keySize, new SecureRandom()); + + // 鐢熸垚涓�涓瘑閽ュ锛屼繚瀛樺湪keyPair涓� + KeyPair keyPair = keyPairGen.generateKeyPair(); + + // 寰楀埌鍏挜瀛楃涓� + String pub = new String(Base64.encodeBase64(keyPair.getPublic().getEncoded())); + result.put("publicKey", pub); + + // 寰楀埌绉侀挜瀛楃涓� + String pri = new String(Base64.encodeBase64(keyPair.getPrivate().getEncoded())); + result.put("privateKey", pri); + } catch (GeneralSecurityException e) { + e.printStackTrace(); + } + + return result; + } + + /** + * RSA绉侀挜瑙e瘑 + * + * @param str 鍔犲瘑鐨勫瓧绗︿覆 + * @return 瑙e瘑瀛楃涓� + * @throws Exception 鍔犲瘑杩囩▼涓殑寮傚父淇℃伅 + */ + public static String decrypt(String str) throws Exception { + // 64浣嶈В鐮佸姞瀵嗗悗鐨勫瓧绗︿覆 + byte[] inputByte = Base64.decodeBase64(str.getBytes("UTF-8")); + + // Base64缂栫爜鐨勭閽� + byte[] decoded = Base64.decodeBase64(getPrivateKey()); + RSAPrivateKey priKey = (RSAPrivateKey) KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(decoded)); + + // RSA瑙e瘑锛歊SA/ECB/NoPadding + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.DECRYPT_MODE, priKey); + + String outStr = new String(cipher.doFinal(inputByte)); + + return outStr; + } + + /** + * RSA鍏挜鍔犲瘑 + * + * @param str 闇�瑕佸姞瀵嗙殑瀛楃涓� + * @return 瀵嗘枃 + * @throws Exception 鍔犲瘑杩囩▼涓殑寮傚父淇℃伅 + */ + public static String encrypt(String str) throws Exception { + // Base64缂栫爜鐨勫叕閽� + byte[] decoded = Base64.decodeBase64(getPublicKey()); + + RSAPublicKey pubKey = (RSAPublicKey) KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(decoded)); + + // RSA鍔犲瘑锛歊SA/ECB/NoPadding + Cipher cipher = Cipher.getInstance("RSA"); + cipher.init(Cipher.ENCRYPT_MODE, pubKey); + + String outStr = Base64.encodeBase64String(cipher.doFinal(str.getBytes("UTF-8"))); + + return outStr; + } +} diff --git a/src/main/java/com/lf/server/helper/StringHelper.java b/src/main/java/com/lf/server/helper/StringHelper.java index 0eaed3e..e66dedb 100644 --- a/src/main/java/com/lf/server/helper/StringHelper.java +++ b/src/main/java/com/lf/server/helper/StringHelper.java @@ -1,5 +1,8 @@ package com.lf.server.helper; +import com.lf.server.entity.all.StaticData; + +import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.regex.Matcher; @@ -24,6 +27,8 @@ * 鏍煎紡鍖栧綋鍓嶇郴缁熸棩鏈� 2 */ public static final SimpleDateFormat YMDHMS_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + public static final double D1024 = 1024.0; /** * 鍒ゆ柇瀛楃涓�,鏄惁涓烘暟瀛� @@ -109,4 +114,38 @@ public static String capitalize(String str) { return String.valueOf(str.charAt(0)).toUpperCase() + str.substring(1); } + + /** + * 鏍¢獙瀵嗙爜鏄�/鍚﹀悎娉� + * + * @param pwd 瀵嗙爜 + * @return 鏄�/鍚﹀悎娉� + */ + public static boolean checkPwdValid(String pwd) { + return Pattern.matches(StaticData.PWD_REG, pwd); + } + + /** + * 瀛楄妭鍗曚綅鎹㈢畻 + * + * @param byteNumber + * @return + */ + public static String formatByte(long byteNumber) { + double kbNumber = byteNumber / D1024; + if (kbNumber < D1024) { + return new DecimalFormat("#.##KB").format(kbNumber); + } + double mbNumber = kbNumber / D1024; + if (mbNumber < D1024) { + return new DecimalFormat("#.##MB").format(mbNumber); + } + double gbNumber = mbNumber / D1024; + if (gbNumber < D1024) { + return new DecimalFormat("#.##GB").format(gbNumber); + } + double tbNumber = gbNumber / D1024; + + return new DecimalFormat("#.##TB").format(tbNumber); + } } diff --git a/src/main/java/com/lf/server/helper/WebHelper.java b/src/main/java/com/lf/server/helper/WebHelper.java index 657d818..d2b7f9f 100644 --- a/src/main/java/com/lf/server/helper/WebHelper.java +++ b/src/main/java/com/lf/server/helper/WebHelper.java @@ -1,10 +1,15 @@ package com.lf.server.helper; import com.lf.server.entity.all.StaticData; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.io.IOException; +import java.io.PrintWriter; import java.sql.Timestamp; import java.util.Calendar; import java.util.UUID; @@ -126,7 +131,7 @@ */ public static void saveToken2Cookie(String token, HttpServletRequest request, HttpServletResponse response) { // 鍏堝垹闄� - deleteCookie(StaticData.TOKEN_COOKIE_KEY, request, response); + deleteAll(request, response); // 鍐嶄繚瀛� saveCookie(StaticData.TOKEN_COOKIE_KEY, token, response); @@ -171,6 +176,41 @@ } /** + * 鍒犻櫎鎵�鏈塁ookie + * + * @param request + * @param response + */ + public static void deleteAll(HttpServletRequest request, HttpServletResponse response) { + Cookie[] cookies = request.getCookies(); + if (cookies != null && cookies.length > 0) { + for (Cookie c : cookies) { + c.setMaxAge(0); + c.setPath("/"); + response.addCookie(c); + } + } + } + + /** + * 鏍规嵁閿幏鍙朇ookie鍊� + */ + public static String getCookieByKey(String key,HttpServletRequest request) { + Cookie[] cookies = request.getCookies(); + if (cookies == null || cookies.length == 0) { + return null; + } + + for (Cookie c : cookies) { + if (key.equals(c.getName())) { + return c.getValue(); + } + } + + return null; + } + + /** * 鑾峰彇Token * * @param request @@ -192,4 +232,55 @@ return token; } + + /** + * 鑾峰彇Request + * + * @return + */ + public static HttpServletRequest getRequest() { + ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + + return servletRequestAttributes.getRequest(); + } + + /** + * 鑾峰彇Response + * + * @return + */ + public static HttpServletResponse getResponse() { + ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + + return servletRequestAttributes.getResponse(); + } + + /** + * 鑾峰彇Session + * + * @return + */ + public static HttpSession getSession() { + return getRequest().getSession(); + } + + /** + * 杈撳嚭json鏁版嵁鍒板墠绔� + * + * @param response + * @param jsonPack + * @throws Exception + */ + public static void write2Page(HttpServletResponse response, String jsonPack) throws IOException { + response.setContentType("application/json;charset=UTF-8"); + response.setHeader("Cache-Control", "no-cache"); + response.setHeader("Pragma", "No-cache"); + response.setDateHeader("Expires", 0); + + PrintWriter out = response.getWriter(); + out.print(jsonPack); + + out.flush(); + out.close(); + } } diff --git a/src/main/java/com/lf/server/interceptor/AuthInterceptor.java b/src/main/java/com/lf/server/interceptor/AuthInterceptor.java index 2994796..4e03e05 100644 --- a/src/main/java/com/lf/server/interceptor/AuthInterceptor.java +++ b/src/main/java/com/lf/server/interceptor/AuthInterceptor.java @@ -1,8 +1,99 @@ package com.lf.server.interceptor; +import com.alibaba.fastjson.JSON; +import com.lf.server.entity.all.HttpStatus; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.sys.UsersEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.helper.WebHelper; +import com.lf.server.service.sys.TokenService; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.method.HandlerMethod; +import org.springframework.web.servlet.HandlerInterceptor; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + /** * 韬唤璁よ瘉鎷︽埅鍣� * @author WWW */ -public class AuthInterceptor { +@Configuration +public class AuthInterceptor implements HandlerInterceptor { + private TokenService tokenService; + + private static final Log log = LogFactory.getLog(AuthInterceptor.class); + + private static final String NO_TOKEN = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.TOKEN_ERROR, "鎵句笉鍒颁护鐗�")); + + private static final String NO_LOGIN = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.NO_LOGIN_ERROR, "鐢ㄦ埛鏈櫥褰�")); + + + public AuthInterceptor(TokenService tokenService) { + this.tokenService = tokenService; + } + + /** + * Controller鎵ц涔嬪墠鎵ц锛屽鏋滆繑鍥炲�兼槸true鍒欎唬琛ㄦ斁琛岋紝杩斿洖false鍒欐嫤鎴� + * + * @param request + * @param response + * @param handler + * @return + */ + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { + try { + System.out.println(request.getRequestURI().toLowerCase() + "," + (handler instanceof HandlerMethod)); + + // 闈炴柟娉曪紝鏃犻渶鎷︽埅 + if (!(handler instanceof HandlerMethod)) { + return true; + } + + // 鏃犻渶鎺堟潈 + if (noNeedAuth(request)) { + return true; + } + + String token = WebHelper.getToken(request); + if (StringHelper.isNull(token)) { + WebHelper.write2Page(response, NO_TOKEN); + return false; + } + + UsersEntity ue = tokenService.getCurrentUser(request); + if (ue == null) { + WebHelper.write2Page(response, NO_LOGIN); + return false; + } + + // 鏉冮檺鏍¢獙 + + return true; + } catch (Exception ex) { + log.error(ex.getStackTrace()); + return false; + } + } + + /** + * 鏃犻渶鎺堟潈 + * + * @param request + * @return + */ + private static boolean noNeedAuth(HttpServletRequest request) { + String uri = request.getRequestURI().toLowerCase(); + for (String page : StaticData.EXCLUDE_PATH) { + if (uri.contains(page)) { + return true; + } + } + + return false; + } } diff --git a/src/main/java/com/lf/server/mapper/data/DictMapper.java b/src/main/java/com/lf/server/mapper/data/DictMapper.java index 17fe732..f0f2398 100644 --- a/src/main/java/com/lf/server/mapper/data/DictMapper.java +++ b/src/main/java/com/lf/server/mapper/data/DictMapper.java @@ -1,6 +1,5 @@ package com.lf.server.mapper.data; - import com.lf.server.entity.data.DictEntity; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository; diff --git a/src/main/java/com/lf/server/mapper/data/StyleMapper.java b/src/main/java/com/lf/server/mapper/data/StyleMapper.java index 5da6d30..c72329c 100644 --- a/src/main/java/com/lf/server/mapper/data/StyleMapper.java +++ b/src/main/java/com/lf/server/mapper/data/StyleMapper.java @@ -1,6 +1,5 @@ package com.lf.server.mapper.data; -import com.lf.server.entity.data.DictEntity; import com.lf.server.entity.data.StyleEntity; import org.apache.ibatis.annotations.Mapper; import org.springframework.web.bind.annotation.ResponseBody; diff --git a/src/main/java/com/lf/server/mapper/data/AuthMapper.java b/src/main/java/com/lf/server/mapper/sys/AuthMapper.java similarity index 92% rename from src/main/java/com/lf/server/mapper/data/AuthMapper.java rename to src/main/java/com/lf/server/mapper/sys/AuthMapper.java index 1071b43..d99654a 100644 --- a/src/main/java/com/lf/server/mapper/data/AuthMapper.java +++ b/src/main/java/com/lf/server/mapper/sys/AuthMapper.java @@ -1,7 +1,6 @@ -package com.lf.server.mapper.data; +package com.lf.server.mapper.sys; -import com.lf.server.entity.data.AuthEntity; -import com.lf.server.entity.data.LoginEntity; +import com.lf.server.entity.sys.AuthEntity; import org.apache.ibatis.annotations.Mapper; import org.springframework.web.bind.annotation.ResponseBody; diff --git a/src/main/java/com/lf/server/mapper/data/DepMapper.java b/src/main/java/com/lf/server/mapper/sys/DepMapper.java similarity index 92% rename from src/main/java/com/lf/server/mapper/data/DepMapper.java rename to src/main/java/com/lf/server/mapper/sys/DepMapper.java index 8491118..ed31a7e 100644 --- a/src/main/java/com/lf/server/mapper/data/DepMapper.java +++ b/src/main/java/com/lf/server/mapper/sys/DepMapper.java @@ -1,8 +1,8 @@ -package com.lf.server.mapper.data; +package com.lf.server.mapper.sys; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository; -import com.lf.server.entity.data.DepEntity; +import com.lf.server.entity.sys.DepEntity; import java.util.List; diff --git a/src/main/java/com/lf/server/mapper/data/LoginMapper.java b/src/main/java/com/lf/server/mapper/sys/LoginMapper.java similarity index 92% rename from src/main/java/com/lf/server/mapper/data/LoginMapper.java rename to src/main/java/com/lf/server/mapper/sys/LoginMapper.java index 0477c9e..c8a81a8 100644 --- a/src/main/java/com/lf/server/mapper/data/LoginMapper.java +++ b/src/main/java/com/lf/server/mapper/sys/LoginMapper.java @@ -1,7 +1,6 @@ -package com.lf.server.mapper.data; +package com.lf.server.mapper.sys; -import com.lf.server.entity.data.DictEntity; -import com.lf.server.entity.data.LoginEntity; +import com.lf.server.entity.sys.LoginEntity; import org.apache.ibatis.annotations.Mapper; import org.springframework.web.bind.annotation.ResponseBody; diff --git a/src/main/java/com/lf/server/mapper/data/MenusMapper.java b/src/main/java/com/lf/server/mapper/sys/MenusMapper.java similarity index 92% rename from src/main/java/com/lf/server/mapper/data/MenusMapper.java rename to src/main/java/com/lf/server/mapper/sys/MenusMapper.java index 7dbff0d..30dd491 100644 --- a/src/main/java/com/lf/server/mapper/data/MenusMapper.java +++ b/src/main/java/com/lf/server/mapper/sys/MenusMapper.java @@ -1,6 +1,6 @@ -package com.lf.server.mapper.data; +package com.lf.server.mapper.sys; -import com.lf.server.entity.data.MenusEntity; +import com.lf.server.entity.sys.MenusEntity; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository; diff --git a/src/main/java/com/lf/server/mapper/data/OperateMapper.java b/src/main/java/com/lf/server/mapper/sys/OperateMapper.java similarity index 94% rename from src/main/java/com/lf/server/mapper/data/OperateMapper.java rename to src/main/java/com/lf/server/mapper/sys/OperateMapper.java index ea452f5..314d0e1 100644 --- a/src/main/java/com/lf/server/mapper/data/OperateMapper.java +++ b/src/main/java/com/lf/server/mapper/sys/OperateMapper.java @@ -1,6 +1,6 @@ -package com.lf.server.mapper.data; +package com.lf.server.mapper.sys; -import com.lf.server.entity.data.OperateEntity; +import com.lf.server.entity.sys.OperateEntity; import org.apache.ibatis.annotations.Mapper; import org.springframework.web.bind.annotation.ResponseBody; diff --git a/src/main/java/com/lf/server/mapper/data/ResMapper.java b/src/main/java/com/lf/server/mapper/sys/ResMapper.java similarity index 92% rename from src/main/java/com/lf/server/mapper/data/ResMapper.java rename to src/main/java/com/lf/server/mapper/sys/ResMapper.java index b263bf9..ff44477 100644 --- a/src/main/java/com/lf/server/mapper/data/ResMapper.java +++ b/src/main/java/com/lf/server/mapper/sys/ResMapper.java @@ -1,7 +1,6 @@ -package com.lf.server.mapper.data; +package com.lf.server.mapper.sys; -import com.lf.server.entity.data.DictEntity; -import com.lf.server.entity.data.ResEntity; +import com.lf.server.entity.sys.ResEntity; import org.apache.ibatis.annotations.Mapper; import org.springframework.web.bind.annotation.ResponseBody; diff --git a/src/main/java/com/lf/server/mapper/data/ResOpMapper.java b/src/main/java/com/lf/server/mapper/sys/ResOpMapper.java similarity index 94% rename from src/main/java/com/lf/server/mapper/data/ResOpMapper.java rename to src/main/java/com/lf/server/mapper/sys/ResOpMapper.java index 030f831..209370a 100644 --- a/src/main/java/com/lf/server/mapper/data/ResOpMapper.java +++ b/src/main/java/com/lf/server/mapper/sys/ResOpMapper.java @@ -1,6 +1,6 @@ -package com.lf.server.mapper.data; +package com.lf.server.mapper.sys; -import com.lf.server.entity.data.ResOpEntity; +import com.lf.server.entity.sys.ResOpEntity; import org.apache.ibatis.annotations.Mapper; import org.springframework.web.bind.annotation.ResponseBody; diff --git a/src/main/java/com/lf/server/mapper/data/RoleMapper.java b/src/main/java/com/lf/server/mapper/sys/RoleMapper.java similarity index 92% rename from src/main/java/com/lf/server/mapper/data/RoleMapper.java rename to src/main/java/com/lf/server/mapper/sys/RoleMapper.java index bf38795..c861456 100644 --- a/src/main/java/com/lf/server/mapper/data/RoleMapper.java +++ b/src/main/java/com/lf/server/mapper/sys/RoleMapper.java @@ -1,8 +1,6 @@ -package com.lf.server.mapper.data; +package com.lf.server.mapper.sys; - -import com.lf.server.entity.data.AuthEntity; -import com.lf.server.entity.data.RoleEntity; +import com.lf.server.entity.sys.RoleEntity; import org.apache.ibatis.annotations.Mapper; import org.springframework.web.bind.annotation.ResponseBody; diff --git a/src/main/java/com/lf/server/mapper/data/TokenMapper.java b/src/main/java/com/lf/server/mapper/sys/TokenMapper.java similarity index 93% rename from src/main/java/com/lf/server/mapper/data/TokenMapper.java rename to src/main/java/com/lf/server/mapper/sys/TokenMapper.java index 385ab9b..e8ea80f 100644 --- a/src/main/java/com/lf/server/mapper/data/TokenMapper.java +++ b/src/main/java/com/lf/server/mapper/sys/TokenMapper.java @@ -1,8 +1,6 @@ -package com.lf.server.mapper.data; +package com.lf.server.mapper.sys; - -import com.lf.server.entity.data.DictEntity; -import com.lf.server.entity.data.TokenEntity; +import com.lf.server.entity.sys.TokenEntity; import org.apache.ibatis.annotations.Mapper; import org.springframework.web.bind.annotation.ResponseBody; diff --git a/src/main/java/com/lf/server/mapper/data/UsersMapper.java b/src/main/java/com/lf/server/mapper/sys/UsersMapper.java similarity index 95% rename from src/main/java/com/lf/server/mapper/data/UsersMapper.java rename to src/main/java/com/lf/server/mapper/sys/UsersMapper.java index c6f557b..1520a37 100644 --- a/src/main/java/com/lf/server/mapper/data/UsersMapper.java +++ b/src/main/java/com/lf/server/mapper/sys/UsersMapper.java @@ -1,6 +1,6 @@ -package com.lf.server.mapper.data; +package com.lf.server.mapper.sys; -import com.lf.server.entity.data.UsersEntity; +import com.lf.server.entity.sys.UsersEntity; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository; diff --git a/src/main/java/com/lf/server/service/all/FileService.java b/src/main/java/com/lf/server/service/all/FileService.java new file mode 100644 index 0000000..c4973fa --- /dev/null +++ b/src/main/java/com/lf/server/service/all/FileService.java @@ -0,0 +1,137 @@ +package com.lf.server.service.all; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.tomcat.util.http.fileupload.FileItem; +import org.apache.tomcat.util.http.fileupload.disk.DiskFileItemFactory; +import org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload; +import org.apache.tomcat.util.http.fileupload.servlet.ServletRequestContext; +import org.springframework.stereotype.Service; + +import javax.servlet.ServletContext; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.util.List; +import java.util.UUID; + +/** + * 鏂囦欢鏈嶅姟绫� + * @author WWW + */ +@Service +public class FileService { + private final static Log log = LogFactory.getLog(FileService.class); + + /** + * 涓婁紶鏂囦欢 + * + * @param req + * @param res + */ + public void upload(HttpServletRequest req, HttpServletResponse res) { + try { + // 澶勭悊涓枃涔辩爜闂 + req.setCharacterEncoding("utf-8"); + res.setContentType("text/html;charset=utf-8"); + + // 妫�鏌ヨ姹傛槸/鍚︽槸multipart/form-data绫诲瀷 + if (!ServletFileUpload.isMultipartContent(req)) { + throw new RuntimeException("琛ㄥ崟鐨別nctype灞炴�т笉鏄痬ultipart/form-data绫诲瀷锛侊紒"); + } + + // 鍒涘缓涓婁紶鎵�闇�瑕佺殑涓や釜瀵硅薄锛氱鐩樻枃浠跺璞�+鏂囦欢涓婁紶瀵硅薄 + DiskFileItemFactory factory = new DiskFileItemFactory(); + ServletFileUpload sfu = new ServletFileUpload(factory); + ServletRequestContext ctx = new ServletRequestContext(req); + + //闄愬埗鍗曚釜鏂囦欢鐨勫ぇ灏� + sfu.setFileSizeMax(1024 * 10); + + //闄愬埗涓婁紶鐨勬�绘枃浠跺ぇ灏� + sfu.setSizeMax(1024 * 200); + + // 璁剧疆缂栫爜鏂瑰紡 + sfu.setHeaderEncoding("utf-8"); + + // list瀹瑰櫒鐢ㄦ潵淇濆瓨琛ㄥ崟涓殑鎵�鏈夋暟鎹俊鎭� + List<FileItem> items = sfu.parseRequest(ctx); + + // 閬嶅巻瀹瑰櫒锛屽鐞嗚В鏋愮殑鍐呭锛氫竴涓鐞嗘櫘閫氳〃鍗曞煙锛屼竴涓鐞嗘枃浠剁殑琛ㄥ崟鍩� + for (FileItem item : items) { + if (item.isFormField()) { + handleFormField(item); + } else { + handleFileField(item, req); + } + } + } catch (Exception ex) { + log.error(ex.getStackTrace()); + } + } + + /** + * 澶勭悊 鏅�氭暟鎹」 + * + * @param item + */ + private void handleFormField(FileItem item) { + // 鑾峰彇 鏅�氭暟鎹」涓殑 name鍊� + String fieldName = item.getFieldName(); + + // 鑾峰彇 鏅�氭暟鎹」涓殑 value鍊� + String value = ""; + try { + // 浠� utf-8鐨勭紪鐮佹牸寮忔潵瑙f瀽 value鍊� + value = item.getString("utf-8"); + } catch (Exception ex) { + log.error(ex.getStackTrace()); + } + + // 杈撳嚭鍒版帶鍒跺彴 + System.out.println("fieldName:" + fieldName + "--value:" + value); + } + + /** + * 澶勭悊 鏂囦欢鏁版嵁椤� + * + * @param item + */ + private void handleFileField(FileItem item, HttpServletRequest req) { + // 鑾峰彇 鏂囦欢鏁版嵁椤逛腑鐨� 鏂囦欢鍚� + String fileName = item.getName(); + + // 鍒ゆ柇 姝ゆ枃浠剁殑鏂囦欢鍚嶆槸鍚﹀悎娉� + if (fileName == null || "".equals(fileName)) { + return; + } + + // 鎺у埗鍙兘涓婁紶鍥剧墖 + String img = "image"; + if (!item.getContentType().startsWith(img)) { + return; + } + + // 灏嗘枃浠朵俊鎭緭鍑哄埌鎺у埗鍙�:鏂囦欢鍚�+鏂囦欢澶у皬 + System.out.println("fileName:" + fileName); + System.out.println("fileSize:" + item.getSize()); + + // 鑾峰彇 褰撳墠椤圭洰涓嬬殑 /files 鐩綍鐨勭粷瀵逛綅缃� + ServletContext ctx = req.getSession().getServletContext(); + String path = ctx.getRealPath("/files"); + + // 鍒涘缓 file瀵硅薄 + File file = new File(path); + if (!file.exists()) { + // 鍒涘缓鐩綍 + file.mkdir(); + } + + // 灏嗘枃浠朵繚瀛樺埌鏈嶅姟鍣ㄤ笂锛圲UID鏄�氱敤鍞竴鏍囪瘑鐮侊級 + try { + item.write(new File(file.toString(), UUID.randomUUID() + "_" + fileName)); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/src/main/java/com/lf/server/service/sys/RedisService.java b/src/main/java/com/lf/server/service/all/RedisService.java similarity index 98% rename from src/main/java/com/lf/server/service/sys/RedisService.java rename to src/main/java/com/lf/server/service/all/RedisService.java index e8afc7d..2405e0b 100644 --- a/src/main/java/com/lf/server/service/sys/RedisService.java +++ b/src/main/java/com/lf/server/service/all/RedisService.java @@ -1,4 +1,4 @@ -package com.lf.server.service.sys; +package com.lf.server.service.all; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; diff --git a/src/main/java/com/lf/server/service/all/ScheduleService.java b/src/main/java/com/lf/server/service/all/ScheduleService.java new file mode 100644 index 0000000..c094c64 --- /dev/null +++ b/src/main/java/com/lf/server/service/all/ScheduleService.java @@ -0,0 +1,171 @@ +package com.lf.server.service.all; + +import com.lf.server.entity.all.RedisCacheKey; +import com.lf.server.entity.sys.ResEntity; +import com.lf.server.entity.sys.UsersEntity; +import com.lf.server.helper.StringHelper; +import com.lf.server.service.sys.ResService; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import com.alibaba.fastjson.JSONObject; +import org.springframework.stereotype.Service; + +import java.net.InetSocketAddress; +import java.net.Socket; +import java.net.SocketAddress; +import java.net.URI; +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; +import java.util.concurrent.TimeUnit; + +import oshi.SystemInfo; +import oshi.hardware.CentralProcessor; +import oshi.hardware.GlobalMemory; + +/** + * 鏃ョ▼鏈嶅姟绫� + * @author WWW + */ +@Service +public class ScheduleService { + @Autowired + private ResService resService; + + @Autowired + private RedisTemplate<String, Object> redisTemplate; + + private static final Log log = LogFactory.getLog(ScheduleService.class); + + /** + * 鏌ヨ鏈嶅姟鍣ㄧ姸鎬� + * + * @return + * @throws InterruptedException + */ + public JSONObject selectServerStatus() throws InterruptedException { + JSONObject json = new JSONObject(); + json.put("cpuInfo", selectCpuInfo()); + json.put("memInfo", selectMemInfo()); + + return json; + } + + /** + * 鏌ヨCpu淇℃伅 + * + * @return + * @throws InterruptedException + */ + public JSONObject selectCpuInfo() throws InterruptedException { + SystemInfo systemInfo = new SystemInfo(); + CentralProcessor processor = systemInfo.getHardware().getProcessor(); + long[] prevTicks = processor.getSystemCpuLoadTicks(); + + // 鐫$湢1s + TimeUnit.SECONDS.sleep(1); + long[] ticks = processor.getSystemCpuLoadTicks(); + long nice = ticks[CentralProcessor.TickType.NICE.getIndex()] - prevTicks[CentralProcessor.TickType.NICE.getIndex()]; + long irq = ticks[CentralProcessor.TickType.IRQ.getIndex()] - prevTicks[CentralProcessor.TickType.IRQ.getIndex()]; + long softIrq = ticks[CentralProcessor.TickType.SOFTIRQ.getIndex()] - prevTicks[CentralProcessor.TickType.SOFTIRQ.getIndex()]; + long steal = ticks[CentralProcessor.TickType.STEAL.getIndex()] - prevTicks[CentralProcessor.TickType.STEAL.getIndex()]; + long cSys = ticks[CentralProcessor.TickType.SYSTEM.getIndex()] - prevTicks[CentralProcessor.TickType.SYSTEM.getIndex()]; + long user = ticks[CentralProcessor.TickType.USER.getIndex()] - prevTicks[CentralProcessor.TickType.USER.getIndex()]; + long ioWait = ticks[CentralProcessor.TickType.IOWAIT.getIndex()] - prevTicks[CentralProcessor.TickType.IOWAIT.getIndex()]; + long idle = ticks[CentralProcessor.TickType.IDLE.getIndex()] - prevTicks[CentralProcessor.TickType.IDLE.getIndex()]; + long totalCpu = user + nice + cSys + idle + ioWait + irq + softIrq + steal; + + JSONObject map = new JSONObject(); + map.put("cpuCore", processor.getLogicalProcessorCount()); + map.put("cpuSysUsage", new DecimalFormat("#.##%").format(cSys * 1.0 / totalCpu)); + map.put("cpuUserUsage", new DecimalFormat("#.##%").format(user * 1.0 / totalCpu)); + map.put("cpuRtcWaitUsage", new DecimalFormat("#.##%").format(ioWait * 1.0 / totalCpu)); + map.put("cpuRtcUseUsage", new DecimalFormat("#.##%").format(1.0 - (idle * 1.0 / totalCpu))); + + return map; + } + + /** + * 鏌ヨ鍐呭瓨淇℃伅 + * + * @return + */ + public JSONObject selectMemInfo() { + JSONObject map = new JSONObject(); + SystemInfo systemInfo = new SystemInfo(); + GlobalMemory memory = systemInfo.getHardware().getMemory(); + + // 鎬诲唴瀛� + long totalByte = memory.getTotal(); + + // 鍓╀綑 + long surplusByte = memory.getAvailable(); + map.put("totalMem", StringHelper.formatByte(totalByte)); + map.put("use", StringHelper.formatByte(totalByte - surplusByte)); + map.put("remainMem", StringHelper.formatByte(surplusByte)); + map.put("usage", new DecimalFormat("#.##%").format((totalByte - surplusByte) * 1.0 / totalByte)); + + return map; + } + + /** + * 鏌ヨ鍦ㄧ嚎鐢ㄦ埛 + * + * @return + */ + public List<JSONObject> selectOnlineUsers() { + List<JSONObject> list = new ArrayList<JSONObject>(); + + Set<String> keys = redisTemplate.keys(RedisCacheKey.signUserKey("*")); + for (String key : keys) { + Object obj = redisTemplate.opsForValue().get(key); + if (obj != null && obj instanceof UsersEntity) { + UsersEntity ue = (UsersEntity) obj; + + JSONObject map = new JSONObject(); + map.put("uid", ue.getUid()); + map.put("uname", ue.getUname()); + map.put("loginTime", ue.getBak()); + + list.add(map); + } + } + + return list; + } + + /** + * 鏌ヨ鏈嶅姟璧勬簮鐘舵�� + * + * @return + */ + public List<ResEntity> selectResStatus() { + List<ResEntity> list = new ArrayList<ResEntity>(); + + List<ResEntity> resList = resService.selectResAll(); + for (ResEntity re : resList) { + Socket socket = new Socket(); + try { + URI uri = new URI(re.getServer()); + SocketAddress add = new InetSocketAddress(uri.getHost(), uri.getPort() == -1 ? 80 : uri.getPort()); + + // Ping閫氬湴鍧� + socket.connect(add, 2000); + } catch (Exception e) { + log.error(e.getStackTrace()); + list.add(re); + } finally { + try { + socket.close(); + } catch (Exception e) { + log.error(e.getStackTrace()); + } + } + } + + return list; + } +} diff --git a/src/main/java/com/lf/server/service/all/SignService.java b/src/main/java/com/lf/server/service/all/SignService.java new file mode 100644 index 0000000..143b422 --- /dev/null +++ b/src/main/java/com/lf/server/service/all/SignService.java @@ -0,0 +1,69 @@ +package com.lf.server.service.all; + +import com.lf.server.config.PropertiesConfig; +import com.lf.server.entity.all.StaticData; +import com.lf.server.helper.WebHelper; +import org.apache.http.Header; +import org.apache.http.HttpEntity; +import org.apache.http.NameValuePair; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.util.EntityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.List; + +/** + * 绛惧悕鏈嶅姟绫� + * @author WWW + */ +@Service("sysService") +public class SignService { + @Autowired + PropertiesConfig propertiesConfig; + + private final static String SUCCESS = "success"; + + /** + * 鑷姩鐧诲綍Druid + */ + public void loginDruid(HttpServletRequest req, HttpServletResponse res) throws Exception { + List<NameValuePair> list = new ArrayList<>(); + list.add(new BasicNameValuePair("loginUsername", propertiesConfig.getDruidUser())); + list.add(new BasicNameValuePair("loginPassword", propertiesConfig.getDruidPwd())); + + String url = req.getRequestURL().toString().replace("/sign/toDruid", "/druid/submitLogin"); + CloseableHttpClient httpClient = HttpClients.custom().build(); + + UrlEncodedFormEntity postEntity = new UrlEncodedFormEntity(list, StaticData.TEXT_ENCODER); + HttpPost httpPost = new HttpPost(url); + httpPost.setEntity(postEntity); + + CloseableHttpResponse closeResponse = httpClient.execute(httpPost); + HttpEntity entity = closeResponse.getEntity(); + + String rs = EntityUtils.toString(entity, StaticData.TEXT_ENCODER); + if (!SUCCESS.equals(rs)) { + return; + } + + Header[] headers = closeResponse.getAllHeaders(); + for (int i = 0; i < headers.length; i++) { + Header header = headers[i]; + if ("Set-Cookie".equals(header.getName())) { + String val = header.getValue(); + String sessionId = val.substring(val.indexOf("=") + 1, val.indexOf(";")); + WebHelper.saveCookie(StaticData.DRUID_COOKIE_KEY, sessionId, res); + break; + } + } + } +} diff --git a/src/main/java/com/lf/server/service/all/WebSocketService.java b/src/main/java/com/lf/server/service/all/WebSocketService.java new file mode 100644 index 0000000..2441f8b --- /dev/null +++ b/src/main/java/com/lf/server/service/all/WebSocketService.java @@ -0,0 +1,132 @@ +package com.lf.server.service.all; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import javax.websocket.*; +import javax.websocket.server.ServerEndpoint; +import java.io.IOException; +import java.util.concurrent.CopyOnWriteArraySet; +import java.util.concurrent.atomic.AtomicInteger; + +/** + * WebSocket鏈嶅姟绫� + * @author WWW + */ +@ServerEndpoint(value = "/ws") +@Component +public class WebSocketService { + @PostConstruct + public void init() { + System.out.println("websocket 鍔犺浇"); + } + + private static Logger log = LoggerFactory.getLogger(WebSocketService.class); + + private static final AtomicInteger ONLINE_COUNT = new AtomicInteger(0); + + /** + * 鐢ㄦ潵瀛樻斁姣忎釜瀹㈡埛绔搴旂殑Session瀵硅薄锛堢嚎绋嬪畨鍏⊿et锛� + */ + private static CopyOnWriteArraySet<Session> SessionSet = new CopyOnWriteArraySet<Session>(); + + /** + * 杩炴帴寤虹珛鎴愬姛璋冪敤鐨勬柟娉� + */ + @OnOpen + public void onOpen(Session session) { + SessionSet.add(session); + + int cnt = ONLINE_COUNT.incrementAndGet(); + log.info("鏈夎繛鎺ュ姞鍏ワ紝褰撳墠杩炴帴鏁颁负锛歿}", cnt); + sendMessage(session, "杩炴帴鎴愬姛"); + } + + /** + * 杩炴帴鍏抽棴璋冪敤鐨勬柟娉� + */ + @OnClose + public void onClose(Session session) { + SessionSet.remove(session); + + int cnt = ONLINE_COUNT.decrementAndGet(); + log.info("鏈夎繛鎺ュ叧闂紝褰撳墠杩炴帴鏁颁负锛歿}", cnt); + } + + /** + * 鏀跺埌瀹㈡埛绔秷鎭悗璋冪敤鐨勬柟娉� + * + * @param message 瀹㈡埛绔彂閫佽繃鏉ョ殑娑堟伅 + */ + @OnMessage + public void onMessage(String message, Session session) { + log.info("鏉ヨ嚜瀹㈡埛绔殑娑堟伅锛歿}", message); + sendMessage(session, "鏀跺埌娑堟伅锛屾秷鎭唴瀹癸細" + message); + } + + /** + * 鍑虹幇閿欒 + * + * @param session + * @param error + */ + @OnError + public void onError(Session session, Throwable error) { + log.error("鍙戠敓閿欒锛歿}锛孲ession ID锛� {}", error.getMessage(), session.getId()); + error.printStackTrace(); + } + + /** + * 鍙戦�佹秷鎭紝瀹炶返琛ㄦ槑锛屾瘡娆℃祻瑙堝櫒鍒锋柊锛宻ession浼氬彂鐢熷彉鍖栥�� + * + * @param session + * @param message + */ + public static void sendMessage(Session session, String message) { + try { + session.getBasicRemote().sendText(String.format("%s", message)); + } catch (IOException e) { + log.error("鍙戦�佹秷鎭嚭閿欙細{}", e.getMessage()); + e.printStackTrace(); + } + } + + /** + * 缇ゅ彂娑堟伅 + * + * @param message + * @throws IOException + */ + public static void broadCastInfo(String message) throws IOException { + for (Session session : SessionSet) { + if (session.isOpen()) { + sendMessage(session, message); + } + } + } + + /** + * 鎸囧畾Session鍙戦�佹秷鎭� + * + * @param sessionId + * @param message + * @throws IOException + */ + public static void sendMessage(String message, String sessionId) throws IOException { + Session session = null; + for (Session s : SessionSet) { + if (s.getId().equals(sessionId)) { + session = s; + break; + } + } + + if (session != null) { + sendMessage(session, message); + } else { + log.warn("娌℃湁鎵惧埌浣犳寚瀹欼D鐨勪細璇濓細{}", sessionId); + } + } +} diff --git a/src/main/java/com/lf/server/service/data/StyleService.java b/src/main/java/com/lf/server/service/data/StyleService.java index 090c0f0..614a16a 100644 --- a/src/main/java/com/lf/server/service/data/StyleService.java +++ b/src/main/java/com/lf/server/service/data/StyleService.java @@ -1,6 +1,5 @@ package com.lf.server.service.data; -import com.lf.server.entity.data.DictEntity; import com.lf.server.entity.data.StyleEntity; import com.lf.server.mapper.data.StyleMapper; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/com/lf/server/service/data/AuthService.java b/src/main/java/com/lf/server/service/sys/AuthService.java similarity index 88% rename from src/main/java/com/lf/server/service/data/AuthService.java rename to src/main/java/com/lf/server/service/sys/AuthService.java index 93c372d..67c83d2 100644 --- a/src/main/java/com/lf/server/service/data/AuthService.java +++ b/src/main/java/com/lf/server/service/sys/AuthService.java @@ -1,8 +1,7 @@ -package com.lf.server.service.data; +package com.lf.server.service.sys; -import com.lf.server.entity.data.AuthEntity; -import com.lf.server.entity.data.LoginEntity; -import com.lf.server.mapper.data.AuthMapper; +import com.lf.server.entity.sys.AuthEntity; +import com.lf.server.mapper.sys.AuthMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/lf/server/service/sys/CommonService.java b/src/main/java/com/lf/server/service/sys/CommonService.java deleted file mode 100644 index 2190f38..0000000 --- a/src/main/java/com/lf/server/service/sys/CommonService.java +++ /dev/null @@ -1,137 +0,0 @@ -package com.lf.server.service.sys; - -import com.alibaba.fastjson.JSONObject; -import com.lf.server.entity.all.StaticData; -import com.lf.server.helper.RestHelper; -import com.lf.server.helper.SpringContextHelper; -import com.lf.server.helper.StringHelper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.context.request.ServletRequestAttributes; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.concurrent.TimeUnit; - -/** - * 閫氱敤鏈嶅姟绫� - * @author WWW - */ -@Service("commonService") -public class CommonService { - @Autowired - private RedisService redisService; - - /** - * 鑾峰彇璇锋眰 - * - * @return HttpServletRequest - */ - public HttpServletRequest getRequest() { - return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - } - - /** - * 鑾峰彇鍝嶅簲 - * - * @return HttpServletResponse - */ - public HttpServletResponse getResponse() { - return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse(); - } - - /** - * 鑾峰彇璇锋眰Uri - * - * @return Uri - */ - public String getRequestUri() { - return this.getRequest().getRequestURI(); - } - - /** - * 鑾峰彇鏈�缁堢殑URL - * - * @param mainUrl 涓籙rl - * @return 鏈�缁圲rl - */ - public String getLastUrl(String mainUrl) { - String queryString = this.getRequest().getQueryString(); - if (StringHelper.isNull(queryString)) { - return mainUrl; - } - - return String.format("%s?%s", mainUrl, queryString); - } - - /** - * 鏄�/鍚︿负寮�鍙戠幆澧� - * - * @return 鏄�/鍚� - */ - public boolean isDevProfile() { - String profile = SpringContextHelper.getActiveProfile(); - - return "dev".equals(profile); - } - - /** - * 妫�鏌ヤ护鐗� - * - * @param token 浠ょ墝 - * @return 鏄�/鍚︽湁鏁� - * @throws IOException - */ - public boolean checkToken(String token) throws IOException { - // http://a4.petrochina/sysservice/token/check?token=1d016abc-cf17-4801-9b5b-b43304e5bfe1 - String url = "http://a4.petrochina/sysservice/" + "token/check?token=" + token; - - String json = isDevProfile() ? RestHelper.get(url) : RestHelper.getForRest(url); - if (StringHelper.isEmpty(json)) { - return false; - } - - JSONObject jo = JSONObject.parseObject(json); - Object code = jo.get("code"); - - return null != code && "200".equals(code.toString()); - } - - /** - * 璁剧疆缂撳瓨 - * - * @param db 鏁版嵁搴� - * @param tag 鏍囪瘑 - * @param obj 瀵硅薄 - * @param timeout 缂撳瓨鍒嗛挓鏁� - */ - private void setCache(String db, String tag, Object obj, int timeout) { - String key = StaticData.CACHE_PREFIX + ":" + db + ":" + tag; - redisService.put(key, obj, timeout, TimeUnit.MINUTES); - } - - /** - * 鑾峰彇缂撳瓨 - * - * @param db 鏁版嵁搴� - * @param tag 鏍囪瘑 - * @return 瀵硅薄 - */ - private Object getCache(String db, String tag) { - String key = StaticData.CACHE_PREFIX + ":" + db + ":" + tag; - if (redisService.hasKey(key)) { - return redisService.get(key); - } - - return null; - } - - /** - * 娓呯┖缂撳瓨 - */ - public void clearCache() { - redisService.clearKeys(StaticData.CACHE_PREFIX); - } -} diff --git a/src/main/java/com/lf/server/service/data/DepService.java b/src/main/java/com/lf/server/service/sys/DepService.java similarity index 89% rename from src/main/java/com/lf/server/service/data/DepService.java rename to src/main/java/com/lf/server/service/sys/DepService.java index d4cedfc..577ed67 100644 --- a/src/main/java/com/lf/server/service/data/DepService.java +++ b/src/main/java/com/lf/server/service/sys/DepService.java @@ -1,12 +1,12 @@ -package com.lf.server.service.data; +package com.lf.server.service.sys; - -import com.lf.server.entity.data.DepEntity; -import com.lf.server.mapper.data.DepMapper; +import com.lf.server.entity.sys.DepEntity; +import com.lf.server.mapper.sys.DepMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; + /** * 缁勭粐鏈烘瀯 * @author sws diff --git a/src/main/java/com/lf/server/service/data/LoginService.java b/src/main/java/com/lf/server/service/sys/LoginService.java similarity index 93% rename from src/main/java/com/lf/server/service/data/LoginService.java rename to src/main/java/com/lf/server/service/sys/LoginService.java index ae55379..7b18372 100644 --- a/src/main/java/com/lf/server/service/data/LoginService.java +++ b/src/main/java/com/lf/server/service/sys/LoginService.java @@ -1,8 +1,8 @@ -package com.lf.server.service.data; +package com.lf.server.service.sys; -import com.lf.server.entity.data.LoginEntity; +import com.lf.server.entity.sys.LoginEntity; import com.lf.server.helper.WebHelper; -import com.lf.server.mapper.data.LoginMapper; +import com.lf.server.mapper.sys.LoginMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/lf/server/service/data/MenusService.java b/src/main/java/com/lf/server/service/sys/MenusService.java similarity index 89% rename from src/main/java/com/lf/server/service/data/MenusService.java rename to src/main/java/com/lf/server/service/sys/MenusService.java index b5a0fec..ffd5053 100644 --- a/src/main/java/com/lf/server/service/data/MenusService.java +++ b/src/main/java/com/lf/server/service/sys/MenusService.java @@ -1,7 +1,7 @@ -package com.lf.server.service.data; +package com.lf.server.service.sys; -import com.lf.server.entity.data.MenusEntity; -import com.lf.server.mapper.data.MenusMapper; +import com.lf.server.entity.sys.MenusEntity; +import com.lf.server.mapper.sys.MenusMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/lf/server/service/data/OperateService.java b/src/main/java/com/lf/server/service/sys/OperateService.java similarity index 91% rename from src/main/java/com/lf/server/service/data/OperateService.java rename to src/main/java/com/lf/server/service/sys/OperateService.java index bba92cb..3a286fe 100644 --- a/src/main/java/com/lf/server/service/data/OperateService.java +++ b/src/main/java/com/lf/server/service/sys/OperateService.java @@ -1,7 +1,7 @@ -package com.lf.server.service.data; +package com.lf.server.service.sys; -import com.lf.server.entity.data.OperateEntity; -import com.lf.server.mapper.data.OperateMapper; +import com.lf.server.entity.sys.OperateEntity; +import com.lf.server.mapper.sys.OperateMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/lf/server/service/data/ResOpService.java b/src/main/java/com/lf/server/service/sys/ResOpService.java similarity index 91% rename from src/main/java/com/lf/server/service/data/ResOpService.java rename to src/main/java/com/lf/server/service/sys/ResOpService.java index f7a443b..a68a7d0 100644 --- a/src/main/java/com/lf/server/service/data/ResOpService.java +++ b/src/main/java/com/lf/server/service/sys/ResOpService.java @@ -1,7 +1,7 @@ -package com.lf.server.service.data; +package com.lf.server.service.sys; -import com.lf.server.entity.data.ResOpEntity; -import com.lf.server.mapper.data.ResOpMapper; +import com.lf.server.entity.sys.ResOpEntity; +import com.lf.server.mapper.sys.ResOpMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/lf/server/service/data/ResService.java b/src/main/java/com/lf/server/service/sys/ResService.java similarity index 86% rename from src/main/java/com/lf/server/service/data/ResService.java rename to src/main/java/com/lf/server/service/sys/ResService.java index e39856c..36d706a 100644 --- a/src/main/java/com/lf/server/service/data/ResService.java +++ b/src/main/java/com/lf/server/service/sys/ResService.java @@ -1,9 +1,7 @@ -package com.lf.server.service.data; +package com.lf.server.service.sys; -import com.lf.server.entity.data.DictEntity; -import com.lf.server.entity.data.ResEntity; -import com.lf.server.entity.data.UsersEntity; -import com.lf.server.mapper.data.ResMapper; +import com.lf.server.entity.sys.ResEntity; +import com.lf.server.mapper.sys.ResMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/lf/server/service/data/RoleService.java b/src/main/java/com/lf/server/service/sys/RoleService.java similarity index 89% rename from src/main/java/com/lf/server/service/data/RoleService.java rename to src/main/java/com/lf/server/service/sys/RoleService.java index 97ef10e..ed2a14e 100644 --- a/src/main/java/com/lf/server/service/data/RoleService.java +++ b/src/main/java/com/lf/server/service/sys/RoleService.java @@ -1,8 +1,7 @@ -package com.lf.server.service.data; +package com.lf.server.service.sys; -import com.lf.server.entity.data.AuthEntity; -import com.lf.server.entity.data.RoleEntity; -import com.lf.server.mapper.data.RoleMapper; +import com.lf.server.entity.sys.RoleEntity; +import com.lf.server.mapper.sys.RoleMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/lf/server/service/data/TokenService.java b/src/main/java/com/lf/server/service/sys/TokenService.java similarity index 93% rename from src/main/java/com/lf/server/service/data/TokenService.java rename to src/main/java/com/lf/server/service/sys/TokenService.java index 25ba7e1..233c8ce 100644 --- a/src/main/java/com/lf/server/service/data/TokenService.java +++ b/src/main/java/com/lf/server/service/sys/TokenService.java @@ -1,19 +1,19 @@ -package com.lf.server.service.data; +package com.lf.server.service.sys; -import com.lf.server.entity.all.StaticData; -import com.lf.server.entity.data.LoginEntity; -import com.lf.server.entity.data.TokenEntity; -import com.lf.server.entity.data.UsersEntity; -import com.lf.server.entity.sys.RedisCacheKey; +import com.lf.server.entity.sys.LoginEntity; +import com.lf.server.entity.sys.TokenEntity; +import com.lf.server.entity.sys.UsersEntity; +import com.lf.server.entity.all.RedisCacheKey; import com.lf.server.helper.StringHelper; import com.lf.server.helper.WebHelper; -import com.lf.server.mapper.data.TokenMapper; -import com.lf.server.service.sys.RedisService; +import com.lf.server.mapper.sys.TokenMapper; +import com.lf.server.service.all.RedisService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.concurrent.TimeUnit; @@ -157,7 +157,7 @@ } // 娓呴櫎Cookie WebHelper.saveCookie(StaticData.TOKEN_COOKIE_KEY, "", 60, res) - WebHelper.deleteCookie(StaticData.TOKEN_COOKIE_KEY, req, res); + WebHelper.deleteAll(req, res); // 鑾峰彇褰撳墠鐢ㄦ埛 UsersEntity ue = getCurrentUser(req); @@ -229,6 +229,7 @@ redisService.put(tokenKey, te, te.getDuration(), TimeUnit.MINUTES); String userKey = RedisCacheKey.signUserKey(te.getToken()); + ue.setBak(StringHelper.YMDHMS_FORMAT.format(new Date())); redisService.put(userKey, ue, te.getDuration(), TimeUnit.MINUTES); } diff --git a/src/main/java/com/lf/server/service/data/UsersService.java b/src/main/java/com/lf/server/service/sys/UsersService.java similarity index 86% rename from src/main/java/com/lf/server/service/data/UsersService.java rename to src/main/java/com/lf/server/service/sys/UsersService.java index b8fb107..23d3adb 100644 --- a/src/main/java/com/lf/server/service/data/UsersService.java +++ b/src/main/java/com/lf/server/service/sys/UsersService.java @@ -1,13 +1,10 @@ -package com.lf.server.service.data; +package com.lf.server.service.sys; -import com.lf.server.entity.data.LoginEntity; -import com.lf.server.entity.data.UsersEntity; -import com.lf.server.helper.WebHelper; -import com.lf.server.mapper.data.UsersMapper; +import com.lf.server.entity.sys.UsersEntity; +import com.lf.server.mapper.sys.UsersMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import javax.servlet.http.HttpServletRequest; import java.util.List; /** diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 70a161e..09d5061 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -3,40 +3,95 @@ uri-encoding: UTF-8 max-connections: 1000 port: 12316 - #servlet: - # context-path: /land +# servlet: +# context-path: /land application: name: land spring: session: timeout: PT20M # 20鍒嗛挓 + datasource: + name: prod + # JDBC 鍩烘湰閰嶇疆 + url: jdbc:postgresql://127.0.0.1:5432/langfang username : postgres password: postgres - url : jdbc:postgresql://192.168.20.39:5433/langfang driver-class-name: org.postgresql.Driver - type: com.alibaba.druid.pool.DruidDataSource # 鑷畾涔夋暟鎹簮 - #druid 鏁版嵁婧愪笓鏈夐厤缃� - initialSize: 5 - minIdle: 5 - maxActive: 20 - maxWait: 60000 - timeBetweenEvictionRunsMillis: 60000 - minEvictableIdleTimeMillis: 300000 - validationQuery: SELECT 1 FROM now() - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - poolPreparedStatements: true - #閰嶇疆鐩戞帶缁熻鎷︽埅鐨刦ilters锛宻tat:鐩戞帶缁熻銆乴og4j锛氭棩蹇楄褰曘�亀all锛氶槻寰ql娉ㄥ叆 - #濡傛灉鍏佽鏃舵姤閿� java.lang.ClassNotFoundException: org.apache.log4j.Priority + type: com.alibaba.druid.pool.DruidDataSource + # 閰嶇疆鐩戞帶缁熻鎷︽埅鐨刦ilters锛宻tat:鐩戞帶缁熻銆乴og4j锛氭棩蹇楄褰曘�亀all锛氶槻寰ql娉ㄥ叆 filters: stat,wall,log4j - maxPoolPreparedStatementPerConnectionSize: 20 - useGlobalDataSourceStat: true + # 閫氳繃connectProperties灞炴�ф潵鎵撳紑mergeSql鍔熻兘锛涙參SQL璁板綍 connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500 + # 瓒呰繃鏃堕棿闄愬埗鏄惁鍥炴敹 + removeAbandoned: true + # 瓒呮椂鏃堕棿锛涘崟浣嶄负绉掋��180绉�=3鍒嗛挓 + removeAbandonedTimeout: 180 + # 鍏抽棴 abanded 杩炴帴鏃惰緭鍑洪敊璇棩蹇� + logAbandoned: true + + # 閰嶇疆杩炴帴姹犱俊鎭� + druid: + ## 鍒濆鍖栧ぇ灏忥紝鏈�灏忥紝鏈�澶� + initial-size: 5 + min-idle: 5 + max-active: 50 + ## 閰嶇疆鑾峰彇杩炴帴绛夊緟瓒呮椂鐨勬椂闂� + max-wait: 60000 + # 閰嶇疆闂撮殧澶氫箙鎵嶈繘琛屼竴娆℃娴嬶紝妫�娴嬮渶瑕佸叧闂殑绌洪棽杩炴帴锛屽崟浣嶆槸姣 + time-between-eviction-runs-millis: 60000 + # 閰嶇疆涓�涓繛鎺ュ湪姹犱腑鏈�灏忕敓瀛樼殑鏃堕棿锛屽崟浣嶆槸姣 + min-evictable-idle-time-millis: 300000 + max-pool-prepared-statement-per-connection-size: 50 + pool-prepared-statements: true + # 鐢ㄦ潵娴嬭瘯杩炴帴鏄惁鍙敤鐨凷QL璇彞 + validation-query: SELECT 1 + # 搴旂敤鍚戣繛鎺ユ睜鐢宠杩炴帴锛屽苟涓攖estOnBorrow涓篺alse鏃讹紝杩炴帴姹犲皢浼氬垽鏂繛鎺ユ槸鍚﹀浜庣┖闂茬姸鎬侊紝濡傛灉鏄紝鍒欓獙璇佽繖鏉¤繛鎺ユ槸鍚﹀彲鐢� + test-while-idle: true + # 濡傛灉涓簍rue锛岄粯璁ゆ槸false锛屽簲鐢ㄥ悜杩炴帴姹犵敵璇疯繛鎺ユ椂锛岃繛鎺ユ睜浼氬垽鏂繖鏉¤繛鎺ユ槸鍚︽槸鍙敤鐨� + test-on-borrow: false + # 濡傛灉涓簍rue锛堥粯璁alse锛夛紝褰撳簲鐢ㄤ娇鐢ㄥ畬杩炴帴锛岃繛鎺ユ睜鍥炴敹杩炴帴鐨勬椂鍊欎細鍒ゆ柇璇ヨ繛鎺ユ槸鍚﹁繕鍙敤 + test-on-return: false + + stat-view-servlet: + # sql鐩戞帶寮�鍏� + enabled: true + # 璁块棶鍐呯疆鐩戞帶椤甸潰鐨勮矾寰勶紝鍐呯疆鐩戞帶椤甸潰鐨勯椤垫槸/druid/index.html + url-pattern: /druid/* + # 鏄惁鍏佽娓呯┖缁熻鏁版嵁锛岄噸鏂拌绠� true:鍏佽 false:涓嶅厑璁� + reset-enable: false + # 閰嶇疆鐩戞帶椤甸潰璁块棶璐﹀彿瀵嗙爜 + login-username: druid_mg + login-password: ad_DruId!_min + # 鍏佽璁块棶鐨勫湴鍧�锛屽鏋渁llow娌℃湁閰嶇疆鎴栬�呬负绌猴紝鍒欏厑璁告墍鏈夎闂� + allow: 127.0.0.1 + # 鎷掔粷璁块棶鐨勫湴鍧�锛宒eny浼樺厛浜巃llow锛屽鏋滃湪deny鍒楄〃涓紝灏辩畻鍦╝llow鍒楄〃涓紝涔熶細琚嫆缁� + deny: + # 閰嶇疆WebStatFilter锛岀敤浜庨噰闆唚eb鍏宠仈鐩戞帶鐨勬暟鎹� + web-stat-filter: + # web url鐩戞帶 + enabled: true + # session鐩戞帶 + session-stat-enable: true + # session鐨勬渶澶т釜鏁帮紝榛樿100 + session-stat-max-count: 1000 + # 杩囨护鎵�鏈塽rl + url-pattern: /* + # 鎺掗櫎涓�浜涗笉蹇呰鐨剈rl + exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*" + # 鑷繁閰嶇疆鐩戞帶缁熻鎷︽埅鐨刦ilter + filter: + # 寮�鍚疍ruidDataSource鐨勭姸鎬佺洃鎺� + stat: + enabled: true + db-type: postgresql + # 寮�鍚參sql鐩戞帶锛岃秴杩�2s 灏辫涓烘槸鎱ql锛岃褰曞埌鏃ュ織涓� + log-slow-sql: true + slow-sql-millis: 2000 + redis: - host: 192.168.20.39 + host: 127.0.0.1 port: 6379 password: database: 1 @@ -61,4 +116,14 @@ # 绯荤粺閰嶇疆 sys: - path: E:\\Test\\LF\\ + path: + # 瀵煎叆鐩綍 + import: D:\LF\import + # 鍑哄浘鐩綍 + export: D:\LF\export + # 涓婁紶鐩綍 + upload: D:\LF\upload + # 鍏变韩鐩綍 + share: D:\LF\share + # 涓存椂鐩綍 + temp: D:\LF\temp \ No newline at end of file diff --git a/src/main/resources/config/rsa_private_key.txt b/src/main/resources/config/rsa_private_key.txt new file mode 100644 index 0000000..001000f --- /dev/null +++ b/src/main/resources/config/rsa_private_key.txt @@ -0,0 +1 @@ +MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAOMYaA79D83HcKxt6Oz64WPsdb/Gxj2KJpM3RNv+GWAUuhc+a9VUgT44mvhqkqYo2zyBx93sJbc7TyW5NN4szAivxeI4zvNUX6vIIX66BhlC6q9PXeAh1DEI8BPqv3MJC9OnrFEeyTtv/MFaODn4tzODmCtp2EO/vOkJ0MWOE8vZAgMBAAECgYBj3LCtnqSbdc9bU72wsCX6/dlNqsgz+ZM6+3vhTZy0/ohSflWG6vEmflfPU3YHcUHvGpbcROLU71S/nvDbnlFd0ExP1GLEBdFw53gBF07QBlq8m4eLUPS1hBOWl93NwXVCUUMClIZrZYXOGWsdTjIxhkUvJzv+0Ze2xYO6fvXj7QJBAPrfnd/xNqo6Xl0lvRcsQYgfOKSIdRB3BVoxB0rhMtKjaRq9wIBnkq7Ey4txryzHhASArUbsO0uaI1TGdJ9QhrMCQQDnvGZvGp4cV4C8Z/ShfiGgR/Ndaq5evmixciAOd5xc3MSjN2zHoBlEiNx9Na4hbA8uKTy8YAAgAkHWK2fDyslDAkEAgCIwn42zDvTq94Zr8ub+vYi8xISRzgwMZsl94Qfujlk6OJdMOAkuiScokxtIjoWE70vNtNi5XF7oxsbqD+jwMwJABPQxGGTwRljUhrKONzmUDHIdULzsF1hosopnBwgljpKlnXuc1rOkdqOaWw7ftxUxSeJVyw0eU5DYyXRKFpRqMwJASynigTCLzW9oCxqChohVZEgtU9ZfyuhsXSJtm3HGJHOuT4tcw92vEnEiAq7Y7LY8l8UdzW05tn1dUmeKHDkbzg== \ No newline at end of file diff --git a/src/main/resources/config/rsa_public_key.txt b/src/main/resources/config/rsa_public_key.txt new file mode 100644 index 0000000..746f276 --- /dev/null +++ b/src/main/resources/config/rsa_public_key.txt @@ -0,0 +1 @@ +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjGGgO/Q/Nx3Csbejs+uFj7HW/xsY9iiaTN0Tb/hlgFLoXPmvVVIE+OJr4apKmKNs8gcfd7CW3O08luTTeLMwIr8XiOM7zVF+ryCF+ugYZQuqvT13gIdQxCPAT6r9zCQvTp6xRHsk7b/zBWjg5+Lczg5gradhDv7zpCdDFjhPL2QIDAQAB \ No newline at end of file diff --git a/src/main/resources/mapper/data/AuthMapper.xml b/src/main/resources/mapper/data/AuthMapper.xml index 9db108e..3ec62ba 100644 --- a/src/main/resources/mapper/data/AuthMapper.xml +++ b/src/main/resources/mapper/data/AuthMapper.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.lf.server.mapper.data.AuthMapper"> +<mapper namespace="com.lf.server.mapper.sys.AuthMapper"> <!-- 缁熻琛屾暟 --> <select id="selectCount" resultType="java.lang.Integer" parameterType="java.lang.String"> @@ -13,7 +13,7 @@ </select> <!-- 鍒嗛〉鏌ヨ --> - <select id="selectByPage" resultType="com.lf.server.entity.data.AuthEntity"> + <select id="selectByPage" resultType="com.lf.server.entity.sys.AuthEntity"> select * from lf.sys_auth <where> <if test="name != null"> @@ -25,15 +25,15 @@ </select> - <select id="selectAuthAll" resultType="com.lf.server.entity.data.AuthEntity"> + <select id="selectAuthAll" resultType="com.lf.server.entity.sys.AuthEntity"> select * from lf.sys_auth order by id </select> - <select id="selectAuth" resultType="com.lf.server.entity.data.AuthEntity"> + <select id="selectAuth" resultType="com.lf.server.entity.sys.AuthEntity"> select * from lf.sys_auth where id = #{id} </select> - <insert id="insertAuth" parameterType="com.lf.server.entity.data.AuthEntity"> + <insert id="insertAuth" parameterType="com.lf.server.entity.sys.AuthEntity"> insert into lf.sys_auth (name,tag,create_user,create_time,bak) values diff --git a/src/main/resources/mapper/data/DepMapper.xml b/src/main/resources/mapper/data/DepMapper.xml index 33f88b4..bff0843 100644 --- a/src/main/resources/mapper/data/DepMapper.xml +++ b/src/main/resources/mapper/data/DepMapper.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.lf.server.mapper.data.DepMapper"> - <resultMap id="resultMap" type="com.lf.server.entity.data.DepEntity"> +<mapper namespace="com.lf.server.mapper.sys.DepMapper"> + <resultMap id="resultMap" type="com.lf.server.entity.sys.DepEntity"> <id property="id" column="id"></id> <result property="orderNum" column="order_num"></result> <result property="createUser" column="create_user"></result> @@ -9,15 +9,15 @@ <result property="updateUser" column="update_user"></result> <result property="updateTime" column="update_time"></result> </resultMap> - <select id="selectDepAll" resultMap="resultMap" resultType="com.lf.server.entity.data.DepEntity"> + <select id="selectDepAll" resultMap="resultMap" resultType="com.lf.server.entity.sys.DepEntity"> select * from lf.sys_dep order by id; </select> - <select id="selectDep" resultMap="resultMap" resultType="com.lf.server.entity.data.DepEntity"> + <select id="selectDep" resultMap="resultMap" resultType="com.lf.server.entity.sys.DepEntity"> select * from lf.sys_dep where id = #{id} </select> - <insert id="insertDep" parameterType="com.lf.server.entity.data.DepEntity"> + <insert id="insertDep" parameterType="com.lf.server.entity.sys.DepEntity"> insert into lf.sys_dep (pid,name,sname,code,uncode,addr,contact,fax,email,post,website,level,order_num,create_user,create_time,bak) values diff --git a/src/main/resources/mapper/data/LoginMapper.xml b/src/main/resources/mapper/data/LoginMapper.xml index 2b2c1fa..44f9472 100644 --- a/src/main/resources/mapper/data/LoginMapper.xml +++ b/src/main/resources/mapper/data/LoginMapper.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.lf.server.mapper.data.LoginMapper"> +<mapper namespace="com.lf.server.mapper.sys.LoginMapper"> <!-- 缁熻琛屾暟 --> <select id="selectCount" resultType="java.lang.Integer" parameterType="java.lang.String"> @@ -13,7 +13,7 @@ </select> <!-- 鍒嗛〉鏌ヨ --> - <select id="selectByPage" resultType="com.lf.server.entity.data.LoginEntity"> + <select id="selectByPage" resultType="com.lf.server.entity.sys.LoginEntity"> select * from lf.sys_login <where> <if test="userid != null"> @@ -24,15 +24,15 @@ limit #{limit} offset #{offset} </select> - <select id="selectLoginAll" resultType="com.lf.server.entity.data.LoginEntity"> + <select id="selectLoginAll" resultType="com.lf.server.entity.sys.LoginEntity"> select * from lf.sys_login order by id; </select> - <select id="selectLogin" resultType="com.lf.server.entity.data.LoginEntity"> + <select id="selectLogin" resultType="com.lf.server.entity.sys.LoginEntity"> select * from lf.sys_login where id = #{id} </select> - <insert id="insertLogin" parameterType="com.lf.server.entity.data.LoginEntity"> + <insert id="insertLogin" parameterType="com.lf.server.entity.sys.LoginEntity"> <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id"> select currval('lf.sys_login_id_seq'::regclass) as id </selectKey> diff --git a/src/main/resources/mapper/data/MenusMapper.xml b/src/main/resources/mapper/data/MenusMapper.xml index 2853875..3d34fd1 100644 --- a/src/main/resources/mapper/data/MenusMapper.xml +++ b/src/main/resources/mapper/data/MenusMapper.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.lf.server.mapper.data.MenusMapper"> - <resultMap id="resultMap" type="com.lf.server.entity.data.MenusEntity"> +<mapper namespace="com.lf.server.mapper.sys.MenusMapper"> + <resultMap id="resultMap" type="com.lf.server.entity.sys.MenusEntity"> <id property="id" column="id"></id> <result property="cnName" column="cn_name"></result> <result property="enName" column="en_name"></result> @@ -12,15 +12,15 @@ <result property="updateUser" column="update_user"></result> <result property="updateTime" column="update_time"></result> </resultMap> - <select id="selectMenuAll" resultMap="resultMap" resultType="com.lf.server.entity.data.MenusEntity"> + <select id="selectMenuAll" resultMap="resultMap" resultType="com.lf.server.entity.sys.MenusEntity"> select * from lf.sys_menu order by id; </select> - <select id="selectMenu" resultMap="resultMap" resultType="com.lf.server.entity.data.MenusEntity"> + <select id="selectMenu" resultMap="resultMap" resultType="com.lf.server.entity.sys.MenusEntity"> select * from lf.sys_menu where id = #{id} </select> - <insert id="insertMenu" parameterType="com.lf.server.entity.data.MenusEntity"> + <insert id="insertMenu" parameterType="com.lf.server.entity.sys.MenusEntity"> insert into lf.sys_menu (pid,cn_name,en_name,url,perms,type,icon,level,order_num,is_show, create_user,create_time,bak) values diff --git a/src/main/resources/mapper/data/OperateMapper.xml b/src/main/resources/mapper/data/OperateMapper.xml index 940b2ea..7bdd193 100644 --- a/src/main/resources/mapper/data/OperateMapper.xml +++ b/src/main/resources/mapper/data/OperateMapper.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.lf.server.mapper.data.OperateMapper"> +<mapper namespace="com.lf.server.mapper.sys.OperateMapper"> <!-- 缁熻琛屾暟 --> <select id="selectCount" resultType="java.lang.Integer" parameterType="java.lang.String"> @@ -13,7 +13,7 @@ </select> <!-- 鍒嗛〉鏌ヨ --> - <select id="selectByPage" resultType="com.lf.server.entity.data.OperateEntity"> + <select id="selectByPage" resultType="com.lf.server.entity.sys.OperateEntity"> select * from lf.sys_operate <where> <if test="userid != null"> @@ -25,27 +25,27 @@ </select> - <select id="selectOperateAll" resultType="com.lf.server.entity.data.OperateEntity"> + <select id="selectOperateAll" resultType="com.lf.server.entity.sys.OperateEntity"> select * from lf.sys_operate order by id; </select> - <select id="selectOperate" resultType="com.lf.server.entity.data.OperateEntity"> + <select id="selectOperate" resultType="com.lf.server.entity.sys.OperateEntity"> select * from lf.sys_operate where id = #{id} </select> - <insert id="insertOperate" parameterType="com.lf.server.entity.data.OperateEntity"> + <insert id="insertOperate" parameterType="com.lf.server.entity.sys.OperateEntity"> insert into lf.sys_operate - (modular,url,ip,type,userid,optime) + (modular,url,ip,exec,clazz,type,userid,optime,bak) values - (#{modular},#{url},#{ip},#{type},#{userid},now()); + (#{modular},#{url},#{ip},#{exec},#{clazz},#{type},#{userid},now(),#{bak}); </insert> <insert id="insertOperates" > insert into lf.sys_operate - (modular,url,ip,type,userid,optime) + (modular,url,ip,exec,clazz,type,userid,optime,bak) values <foreach collection="list" item="item" index="index" separator="," > - (#{item.modular},#{item.url},#{item.ip},#{item.type},#{item.userid},now()) + (#{modular},#{url},#{ip},#{exec},#{clazz},#{type},#{userid},now(),#{bak}) </foreach> </insert> @@ -55,13 +55,12 @@ <delete id="deleteOperates" > delete from lf.sys_operate where id in - <foreach item="ids" collection="list" index="index" open="(" - separator="," close=")"> + <foreach item="ids" collection="list" index="index" open="(" separator="," close=")"> #{ids} </foreach> </delete> <update id="updateOperate"> - update lf.sys_operate set modular=#{modular},url=#{url},ip=#{ip},type=#{type},userid=#{userid},optime=now() where id=#{id} + update lf.sys_operate set modular=#{modular},url=#{url},ip=#{ip},exec=#{exec},clazz=#{clazz},type=#{type},userid=#{userid},optime=now(),bak=#{bak} where id=#{id} </update> </mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/data/ResMapper.xml b/src/main/resources/mapper/data/ResMapper.xml index 9415b37..95eea9a 100644 --- a/src/main/resources/mapper/data/ResMapper.xml +++ b/src/main/resources/mapper/data/ResMapper.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.lf.server.mapper.data.ResMapper"> +<mapper namespace="com.lf.server.mapper.sys.ResMapper"> <!-- 缁熻琛屾暟 --> <select id="selectCount" resultType="java.lang.Integer" parameterType="java.lang.String"> select count(*) from lf.sys_res @@ -11,7 +11,7 @@ </where> </select> <!-- 鍒嗛〉鏌ヨ --> - <select id="selectByPage" resultType="com.lf.server.entity.data.ResEntity"> + <select id="selectByPage" resultType="com.lf.server.entity.sys.ResEntity"> select * from lf.sys_res <where> <if test="name != null"> @@ -23,11 +23,11 @@ </select> - <select id="selectResAll" resultType="com.lf.server.entity.data.ResEntity"> + <select id="selectResAll" resultType="com.lf.server.entity.sys.ResEntity"> select * from lf.sys_res order by id; </select> - <select id="selectRes" resultType="com.lf.server.entity.data.ResEntity"> + <select id="selectRes" resultType="com.lf.server.entity.sys.ResEntity"> select * from lf.sys_res where id = #{id} </select> diff --git a/src/main/resources/mapper/data/ResOpMapper.xml b/src/main/resources/mapper/data/ResOpMapper.xml index a9c9681..1e63767 100644 --- a/src/main/resources/mapper/data/ResOpMapper.xml +++ b/src/main/resources/mapper/data/ResOpMapper.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.lf.server.mapper.data.ResOpMapper"> +<mapper namespace="com.lf.server.mapper.sys.ResOpMapper"> <!-- 缁熻琛屾暟 --> <select id="selectCount" resultType="java.lang.Integer" parameterType="java.lang.String"> @@ -13,7 +13,7 @@ </select> <!-- 鍒嗛〉鏌ヨ --> - <select id="selectByPage" resultType="com.lf.server.entity.data.ResOpEntity"> + <select id="selectByPage" resultType="com.lf.server.entity.sys.ResOpEntity"> select * from lf.sys_res_op <where> <if test="userid != null"> @@ -25,15 +25,15 @@ </select> - <select id="selectResOpAll" resultType="com.lf.server.entity.data.ResOpEntity"> + <select id="selectResOpAll" resultType="com.lf.server.entity.sys.ResOpEntity"> select * from lf.sys_res_op order by id; </select> - <select id="selectResOp" resultType="com.lf.server.entity.data.ResOpEntity"> + <select id="selectResOp" resultType="com.lf.server.entity.sys.ResOpEntity"> select * from lf.sys_res_op where id = #{id} </select> - <insert id="insertResOp" parameterType="com.lf.server.entity.data.ResOpEntity"> + <insert id="insertResOp" parameterType="com.lf.server.entity.sys.ResOpEntity"> insert into lf.sys_res_op (resid,type,ip,userid,optime) values diff --git a/src/main/resources/mapper/data/RoleMapper.xml b/src/main/resources/mapper/data/RoleMapper.xml index 32b0420..a7862f3 100644 --- a/src/main/resources/mapper/data/RoleMapper.xml +++ b/src/main/resources/mapper/data/RoleMapper.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.lf.server.mapper.data.RoleMapper"> +<mapper namespace="com.lf.server.mapper.sys.RoleMapper"> <!-- 缁熻琛屾暟 --> <select id="selectCount" resultType="java.lang.Integer" parameterType="java.lang.String"> @@ -13,7 +13,7 @@ </select> <!-- 鍒嗛〉鏌ヨ --> - <select id="selectByPage" resultType="com.lf.server.entity.data.RoleEntity"> + <select id="selectByPage" resultType="com.lf.server.entity.sys.RoleEntity"> select a.*,b.name as dep_name from lf.sys_role a inner join lf.sys_dep b on a.depid = b.id @@ -32,15 +32,15 @@ </select> - <select id="selectRoleAll" resultType="com.lf.server.entity.data.RoleEntity"> + <select id="selectRoleAll" resultType="com.lf.server.entity.sys.RoleEntity"> select * from lf.sys_role order by id; </select> - <select id="selectRole" resultType="com.lf.server.entity.data.RoleEntity"> + <select id="selectRole" resultType="com.lf.server.entity.sys.RoleEntity"> select * from lf.sys_role where id = #{id} </select> - <insert id="insertRole" parameterType="com.lf.server.entity.data.RoleEntity"> + <insert id="insertRole" parameterType="com.lf.server.entity.sys.RoleEntity"> insert into lf.sys_role (depid,name,descr,create_user,create_time,bak) values diff --git a/src/main/resources/mapper/data/TokenMapper.xml b/src/main/resources/mapper/data/TokenMapper.xml index ea112b9..c369c3a 100644 --- a/src/main/resources/mapper/data/TokenMapper.xml +++ b/src/main/resources/mapper/data/TokenMapper.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.lf.server.mapper.data.TokenMapper"> - <resultMap id="resultMap" type="com.lf.server.entity.data.TokenEntity"> +<mapper namespace="com.lf.server.mapper.sys.TokenMapper"> + <resultMap id="resultMap" type="com.lf.server.entity.sys.TokenEntity"> <id property="id" column="id"></id> <result property="createUser" column="create_user"></result> <result property="createTime" column="create_time"></result> @@ -20,7 +20,7 @@ </select> <!-- 鍒嗛〉鏌ヨ --> - <select id="selectByPage" resultMap="resultMap" resultType="com.lf.server.entity.data.TokenEntity"> + <select id="selectByPage" resultMap="resultMap" resultType="com.lf.server.entity.sys.TokenEntity"> select * from lf.sys_token <where> <if test="token != null"> @@ -31,19 +31,19 @@ limit #{limit} offset #{offset} </select> - <select id="selectTokenAll" resultMap="resultMap" resultType="com.lf.server.entity.data.TokenEntity"> + <select id="selectTokenAll" resultMap="resultMap" resultType="com.lf.server.entity.sys.TokenEntity"> select * from lf.sys_token order by id </select> - <select id="selectToken" resultMap="resultMap" resultType="com.lf.server.entity.data.TokenEntity"> + <select id="selectToken" resultMap="resultMap" resultType="com.lf.server.entity.sys.TokenEntity"> select * from lf.sys_token where id = #{id} </select> - <select id="selectOneByToken" resultType="com.lf.server.entity.data.TokenEntity"> + <select id="selectOneByToken" resultType="com.lf.server.entity.sys.TokenEntity"> select * from lf.sys_token where token = #{token} and expire > now() limit 1 </select> - <insert id="insertToken" parameterType="com.lf.server.entity.data.TokenEntity"> + <insert id="insertToken" parameterType="com.lf.server.entity.sys.TokenEntity"> <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id"> select currval('lf.sys_token_id_seq'::regclass) as id </selectKey> diff --git a/src/main/resources/mapper/data/UsersMapper.xml b/src/main/resources/mapper/data/UsersMapper.xml index 0108af4..f6c1095 100644 --- a/src/main/resources/mapper/data/UsersMapper.xml +++ b/src/main/resources/mapper/data/UsersMapper.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.lf.server.mapper.data.UsersMapper"> - <resultMap id="resultMap" type="com.lf.server.entity.data.UsersEntity"> +<mapper namespace="com.lf.server.mapper.sys.UsersMapper"> + <resultMap id="resultMap" type="com.lf.server.entity.sys.UsersEntity"> <id property="id" column="id"></id> <result property="natives" column="native"></result> <result property="createUser" column="create_user"></result> @@ -21,7 +21,7 @@ </select> <!-- 鍒嗛〉鏌ヨ --> - <select id="selectByPage" resultMap="resultMap" resultType="com.lf.server.entity.data.UsersEntity"> + <select id="selectByPage" resultMap="resultMap" resultType="com.lf.server.entity.sys.UsersEntity"> select * from lf.sys_user <where> <if test="uname != null"> @@ -32,24 +32,24 @@ limit #{limit} offset #{offset} </select> - <select id="selectUserAll" resultMap="resultMap" resultType="com.lf.server.entity.data.UsersEntity"> + <select id="selectUserAll" resultMap="resultMap" resultType="com.lf.server.entity.sys.UsersEntity"> select * from lf.sys_user order by id; </select> - <select id="selectUser" resultMap="resultMap" resultType="com.lf.server.entity.data.UsersEntity"> + <select id="selectUser" resultMap="resultMap" resultType="com.lf.server.entity.sys.UsersEntity"> select * from lf.sys_user where id = #{id} </select> - <select id="selectByUid" resultMap="resultMap" resultType="com.lf.server.entity.data.UsersEntity"> + <select id="selectByUid" resultMap="resultMap" resultType="com.lf.server.entity.sys.UsersEntity"> select * from lf.sys_user where uid = #{uid} </select> - <select id="selectByToken" resultType="com.lf.server.entity.data.UsersEntity"> + <select id="selectByToken" resultType="com.lf.server.entity.sys.UsersEntity"> select * from lf.sys_user where id = ( select create_user from lf.sys_token where token=#{token} and expire > now() limit 1) </select> - <insert id="insertUser" parameterType="com.lf.server.entity.data.UsersEntity"> + <insert id="insertUser" parameterType="com.lf.server.entity.sys.UsersEntity"> insert into lf.sys_user (depid,uid,uname,pwd,salt,sex,native,contact,job,email,addr,edu,idcard,status,create_user,create_time,bak) values diff --git a/src/main/resources/static/css/bootstrap/bootstrap-grid.css b/src/main/resources/static/css/bootstrap/bootstrap-grid.css new file mode 100644 index 0000000..9cfa07a --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap-grid.css @@ -0,0 +1,3872 @@ +/*! + * Bootstrap Grid v4.5.3 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors + * Copyright 2011-2020 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +html { + box-sizing: border-box; + -ms-overflow-style: scrollbar; +} + +*, +*::before, +*::after { + box-sizing: inherit; +} + +.container, +.container-fluid, +.container-sm, +.container-md, +.container-lg, +.container-xl { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container, .container-sm { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container, .container-sm, .container-md { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container, .container-sm, .container-md, .container-lg { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container, .container-sm, .container-md, .container-lg, .container-xl { + max-width: 1140px; + } +} + +.row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +.col { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; +} + +.row-cols-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.row-cols-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.row-cols-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.row-cols-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.row-cols-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; +} + +.row-cols-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; +} + +.col-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + -ms-flex-order: -1; + order: -1; +} + +.order-last { + -ms-flex-order: 13; + order: 13; +} + +.order-0 { + -ms-flex-order: 0; + order: 0; +} + +.order-1 { + -ms-flex-order: 1; + order: 1; +} + +.order-2 { + -ms-flex-order: 2; + order: 2; +} + +.order-3 { + -ms-flex-order: 3; + order: 3; +} + +.order-4 { + -ms-flex-order: 4; + order: 4; +} + +.order-5 { + -ms-flex-order: 5; + order: 5; +} + +.order-6 { + -ms-flex-order: 6; + order: 6; +} + +.order-7 { + -ms-flex-order: 7; + order: 7; +} + +.order-8 { + -ms-flex-order: 8; + order: 8; +} + +.order-9 { + -ms-flex-order: 9; + order: 9; +} + +.order-10 { + -ms-flex-order: 10; + order: 10; +} + +.order-11 { + -ms-flex-order: 11; + order: 11; +} + +.order-12 { + -ms-flex-order: 12; + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-sm-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-sm-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-sm-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-sm-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-sm-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-sm-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-sm-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + -ms-flex-order: -1; + order: -1; + } + .order-sm-last { + -ms-flex-order: 13; + order: 13; + } + .order-sm-0 { + -ms-flex-order: 0; + order: 0; + } + .order-sm-1 { + -ms-flex-order: 1; + order: 1; + } + .order-sm-2 { + -ms-flex-order: 2; + order: 2; + } + .order-sm-3 { + -ms-flex-order: 3; + order: 3; + } + .order-sm-4 { + -ms-flex-order: 4; + order: 4; + } + .order-sm-5 { + -ms-flex-order: 5; + order: 5; + } + .order-sm-6 { + -ms-flex-order: 6; + order: 6; + } + .order-sm-7 { + -ms-flex-order: 7; + order: 7; + } + .order-sm-8 { + -ms-flex-order: 8; + order: 8; + } + .order-sm-9 { + -ms-flex-order: 9; + order: 9; + } + .order-sm-10 { + -ms-flex-order: 10; + order: 10; + } + .order-sm-11 { + -ms-flex-order: 11; + order: 11; + } + .order-sm-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-md-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-md-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-md-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-md-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-md-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-md-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-md-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + -ms-flex-order: -1; + order: -1; + } + .order-md-last { + -ms-flex-order: 13; + order: 13; + } + .order-md-0 { + -ms-flex-order: 0; + order: 0; + } + .order-md-1 { + -ms-flex-order: 1; + order: 1; + } + .order-md-2 { + -ms-flex-order: 2; + order: 2; + } + .order-md-3 { + -ms-flex-order: 3; + order: 3; + } + .order-md-4 { + -ms-flex-order: 4; + order: 4; + } + .order-md-5 { + -ms-flex-order: 5; + order: 5; + } + .order-md-6 { + -ms-flex-order: 6; + order: 6; + } + .order-md-7 { + -ms-flex-order: 7; + order: 7; + } + .order-md-8 { + -ms-flex-order: 8; + order: 8; + } + .order-md-9 { + -ms-flex-order: 9; + order: 9; + } + .order-md-10 { + -ms-flex-order: 10; + order: 10; + } + .order-md-11 { + -ms-flex-order: 11; + order: 11; + } + .order-md-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-lg-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-lg-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-lg-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-lg-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-lg-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-lg-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-lg-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + -ms-flex-order: -1; + order: -1; + } + .order-lg-last { + -ms-flex-order: 13; + order: 13; + } + .order-lg-0 { + -ms-flex-order: 0; + order: 0; + } + .order-lg-1 { + -ms-flex-order: 1; + order: 1; + } + .order-lg-2 { + -ms-flex-order: 2; + order: 2; + } + .order-lg-3 { + -ms-flex-order: 3; + order: 3; + } + .order-lg-4 { + -ms-flex-order: 4; + order: 4; + } + .order-lg-5 { + -ms-flex-order: 5; + order: 5; + } + .order-lg-6 { + -ms-flex-order: 6; + order: 6; + } + .order-lg-7 { + -ms-flex-order: 7; + order: 7; + } + .order-lg-8 { + -ms-flex-order: 8; + order: 8; + } + .order-lg-9 { + -ms-flex-order: 9; + order: 9; + } + .order-lg-10 { + -ms-flex-order: 10; + order: 10; + } + .order-lg-11 { + -ms-flex-order: 11; + order: 11; + } + .order-lg-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-xl-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-xl-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-xl-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-xl-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-xl-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-xl-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-xl-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + -ms-flex-order: -1; + order: -1; + } + .order-xl-last { + -ms-flex-order: 13; + order: 13; + } + .order-xl-0 { + -ms-flex-order: 0; + order: 0; + } + .order-xl-1 { + -ms-flex-order: 1; + order: 1; + } + .order-xl-2 { + -ms-flex-order: 2; + order: 2; + } + .order-xl-3 { + -ms-flex-order: 3; + order: 3; + } + .order-xl-4 { + -ms-flex-order: 4; + order: 4; + } + .order-xl-5 { + -ms-flex-order: 5; + order: 5; + } + .order-xl-6 { + -ms-flex-order: 6; + order: 6; + } + .order-xl-7 { + -ms-flex-order: 7; + order: 7; + } + .order-xl-8 { + -ms-flex-order: 8; + order: 8; + } + .order-xl-9 { + -ms-flex-order: 9; + order: 9; + } + .order-xl-10 { + -ms-flex-order: 10; + order: 10; + } + .order-xl-11 { + -ms-flex-order: 11; + order: 11; + } + .order-xl-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: -ms-flexbox !important; + display: flex !important; +} + +.d-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-sm-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-md-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-lg-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-xl-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-print-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +.flex-row { + -ms-flex-direction: row !important; + flex-direction: row !important; +} + +.flex-column { + -ms-flex-direction: column !important; + flex-direction: column !important; +} + +.flex-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} + +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} + +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} + +.flex-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; +} + +.flex-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; +} + +.flex-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; +} + +.flex-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; +} + +.justify-content-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} + +.justify-content-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} + +.justify-content-center { + -ms-flex-pack: center !important; + justify-content: center !important; +} + +.justify-content-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} + +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} + +.align-items-start { + -ms-flex-align: start !important; + align-items: flex-start !important; +} + +.align-items-end { + -ms-flex-align: end !important; + align-items: flex-end !important; +} + +.align-items-center { + -ms-flex-align: center !important; + align-items: center !important; +} + +.align-items-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; +} + +.align-items-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; +} + +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} + +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} + +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} + +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} + +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} + +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} + +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} + +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} + +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} + +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} + +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} + +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-sm-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-sm-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-sm-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-sm-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-sm-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-sm-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-sm-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-sm-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-sm-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-sm-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-sm-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-sm-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-sm-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-md-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-md-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-md-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-md-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-md-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-md-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-md-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-md-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-md-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-md-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-md-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-md-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-md-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-md-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-lg-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-lg-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-lg-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-lg-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-lg-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-lg-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-lg-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-lg-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-lg-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-lg-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-lg-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-lg-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-lg-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xl-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xl-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-xl-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-xl-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-xl-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xl-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xl-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xl-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-xl-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xl-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xl-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xl-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xl-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +.m-n3 { + margin: -1rem !important; +} + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +.m-n4 { + margin: -1.5rem !important; +} + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +.m-n5 { + margin: -3rem !important; +} + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + .m-sm-n1 { + margin: -0.25rem !important; + } + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; + } + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; + } + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; + } + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; + } + .m-sm-n2 { + margin: -0.5rem !important; + } + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; + } + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; + } + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; + } + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; + } + .m-sm-n3 { + margin: -1rem !important; + } + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; + } + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; + } + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; + } + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; + } + .m-sm-n4 { + margin: -1.5rem !important; + } + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; + } + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; + } + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; + } + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; + } + .m-sm-n5 { + margin: -3rem !important; + } + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; + } + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; + } + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; + } + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + .m-md-n1 { + margin: -0.25rem !important; + } + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; + } + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; + } + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; + } + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; + } + .m-md-n2 { + margin: -0.5rem !important; + } + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; + } + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; + } + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; + } + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; + } + .m-md-n3 { + margin: -1rem !important; + } + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; + } + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; + } + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; + } + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; + } + .m-md-n4 { + margin: -1.5rem !important; + } + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; + } + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; + } + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; + } + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; + } + .m-md-n5 { + margin: -3rem !important; + } + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; + } + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; + } + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; + } + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + .m-lg-n1 { + margin: -0.25rem !important; + } + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; + } + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; + } + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; + } + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; + } + .m-lg-n2 { + margin: -0.5rem !important; + } + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; + } + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; + } + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; + } + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; + } + .m-lg-n3 { + margin: -1rem !important; + } + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; + } + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; + } + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; + } + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; + } + .m-lg-n4 { + margin: -1.5rem !important; + } + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; + } + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; + } + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; + } + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; + } + .m-lg-n5 { + margin: -3rem !important; + } + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; + } + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; + } + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; + } + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + .m-xl-n1 { + margin: -0.25rem !important; + } + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; + } + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; + } + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; + } + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; + } + .m-xl-n2 { + margin: -0.5rem !important; + } + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; + } + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; + } + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; + } + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; + } + .m-xl-n3 { + margin: -1rem !important; + } + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; + } + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; + } + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; + } + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; + } + .m-xl-n4 { + margin: -1.5rem !important; + } + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; + } + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; + } + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; + } + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; + } + .m-xl-n5 { + margin: -3rem !important; + } + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; + } + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; + } + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; + } + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} +/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap-grid.css.map b/src/main/resources/static/css/bootstrap/bootstrap-grid.css.map new file mode 100644 index 0000000..a664f98 --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap-grid.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"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EKp0BM;IAAwB,iBADZ;IACY,QADZ;ELw0BlB;EKv0BM;IAAwB,iBADZ;IACY,QADZ;EL20BlB;EK10BM;IAAwB,kBADZ;IACY,SADZ;EL80BlB;EK70BM;IAAwB,kBADZ;IACY,SADZ;ELi1BlB;EKh1BM;IAAwB,kBADZ;IACY,SADZ;ELo1BlB;EK50BU;IHhBV,cAA4B;EF+1B5B;EK/0BU;IHhBV,sBAA8C;EFk2B9C;EKl1BU;IHhBV,uBAA8C;EFq2B9C;EKr1BU;IHhBV,gBAA8C;EFw2B9C;EKx1BU;IHhBV,uBAA8C;EF22B9C;EK31BU;IHhBV,uBAA8C;EF82B9C;EK91BU;IHhBV,gBAA8C;EFi3B9C;EKj2BU;IHhBV,uBAA8C;EFo3B9C;EKp2BU;IHhBV,uBAA8C;EFu3B9C;EKv2BU;IHhBV,gBAA8C;EF03B9C;EK12BU;IHhBV,uBAA8C;EF63B9C;EK72BU;IHhBV,uBAA8C;EFg4B9C;AACF;;AM76BM;EAAwB,wBAA0B;ANi7BxD;;AMj7BM;EAAwB,0BAA0B;ANq7BxD;;AMr7BM;EAAwB,gCAA0B;ANy7BxD;;AMz7BM;EAAwB,yBAA0B;AN67BxD;;AM77BM;EAAwB,yBAA0B;ANi8BxD;;AMj8BM;EAAwB,6BAA0B;ANq8BxD;;AMr8BM;EAAwB,8BAA0B;ANy8BxD;;AMz8BM;EAAwB,+BAA0B;EAA1B,wBAA0B;AN68BxD;;AM78BM;EAAwB,sCAA0B;EAA1B,+BAA0B;ANi9BxD;;AGh6BI;EGjDE;IAAwB,wBAA0B;ENs9BtD;EMt9BI;IAAwB,0BAA0B;ENy9BtD;EMz9BI;IAAwB,gCAA0B;EN49BtD;EM59BI;IAAwB,yBAA0B;EN+9BtD;EM/9BI;IAAwB,yBAA0B;ENk+BtD;EMl+BI;IAAwB,6BAA0B;ENq+BtD;EMr+BI;IAAwB,8BAA0B;ENw+BtD;EMx+BI;IAAwB,+BAA0B;IAA1B,wBAA0B;EN2+BtD;EM3+BI;IAAwB,sCAA0B;IAA1B,+BAA0B;EN8+BtD;AACF;;AG97BI;EGjDE;IAAwB,wBAA0B;ENo/BtD;EMp/BI;IAAwB,0BAA0B;ENu/BtD;EMv/BI;IAAwB,gCAA0B;EN0/BtD;EM1/BI;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hD;;AQpsDQ;EAAgC,yBAA4B;ARwsDpE;;AQvsDQ;;EAEE,6BAAoC;AR0sD9C;;AQxsDQ;;EAEE,+BAAwC;AR2sDlD;;AQzsDQ;;EAEE,gCAA0C;AR4sDpD;;AQ1sDQ;;EAEE,8BAAsC;AR6sDhD;;AQ5tDQ;EAAgC,uBAA4B;ARguDpE;;AQ/tDQ;;EAEE,2BAAoC;ARkuD9C;;AQhuDQ;;EAEE,6BAAwC;ARmuDlD;;AQjuDQ;;EAEE,8BAA0C;ARouDpD;;AQluDQ;;EAEE,4BAAsC;ARquDhD;;AQpvDQ;EAAgC,yBAA4B;ARwvDpE;;AQvvDQ;;EAEE,6BAAoC;AR0vD9C;;AQxvDQ;;EAEE,+BAAwC;AR2vDlD;;AQzvDQ;;EAEE,gCAA0C;AR4vDpD;;AQ1vDQ;;EAEE,8BAAsC;AR6vDhD;;AQ5wDQ;EAAgC,uBAA4B;ARgxDpE;;AQ/wDQ;;EAEE,2BAAoC;ARkxD9C;;AQhxDQ;;EAEE,6BAAwC;ARmxDlD;;AQjxDQ;;EAEE,8BAA0C;ARoxDpD;;AQlxDQ;;EAEE,4BAAsC;ARqxDhD;;AQpyDQ;EAAgC,qBAA4B;ARwyDpE;;AQvyDQ;;EAEE,yBAAoC;AR0yD9C;;AQxyDQ;;EAEE,2BAAwC;AR2yDlD;;AQzyDQ;;EAEE,4BAA0C;AR4yDpD;;AQ1yDQ;;EAEE,0BAAsC;AR6yDhD;;AQ5zDQ;EAAgC,2BAA4B;ARg0DpE;;AQ/zDQ;;EAEE,+BAAoC;ARk0D9C;;AQh0DQ;;EAEE,iCAAwC;ARm0DlD;;AQj0DQ;;EAEE,kCAA0C;ARo0DpD;;AQl0DQ;;EAEE,gCAAsC;ARq0DhD;;AQp1DQ;EAAgC,0BAA4B;ARw1DpE;;AQv1DQ;;EAEE,8BAAoC;AR01D9C;;AQx1DQ;;EAEE,gCAAwC;AR21DlD;;AQz1DQ;;EAEE,iCAA0C;AR41DpD;;AQ11DQ;;EAEE,+BAAsC;AR61DhD;;AQ52DQ;EAAgC,wBAA4B;ARg3DpE;;AQ/2DQ;;EAEE,4BAAoC;ARk3D9C;;AQh3DQ;;EAEE,8BAAwC;ARm3DlD;;AQj3DQ;;EAEE,+BAA0C;ARo3DpD;;AQl3DQ;;EAEE,6BAAsC;ARq3DhD;;AQp4DQ;EAAgC,0BAA4B;ARw4DpE;;AQv4DQ;;EAEE,8BAAoC;AR04D9C;;AQx4DQ;;EAEE,gCAAwC;AR24DlD;;AQz4DQ;;EAEE,iCAA0C;AR44DpD;;AQ14DQ;;EAEE,+BAAsC;AR64DhD;;AQ55DQ;EAAgC,wBAA4B;ARg6DpE;;AQ/5DQ;;EAEE,4BAAoC;ARk6D9C;;AQh6DQ;;EAEE,8BAAwC;ARm6DlD;;AQj6DQ;;EAEE,+BAA0C;ARo6DpD;;AQl6DQ;;EAEE,6BAAsC;ARq6DhD;;AQ75DQ;EAAwB,2BAA2B;ARi6D3D;;AQh6DQ;;EAEE,+BAA+B;ARm6DzC;;AQj6DQ;;EAEE,iCAAiC;ARo6D3C;;AQl6DQ;;EAEE,kCAAkC;ARq6D5C;;AQn6DQ;;EAEE,gCAAgC;ARs6D1C;;AQr7DQ;EAAwB,0BAA2B;ARy7D3D;;AQx7DQ;;EAEE,8BAA+B;AR27DzC;;AQz7DQ;;EAEE,gCAAiC;AR47D3C;;AQ17DQ;;EAEE,iCAAkC;AR67D5C;;AQ37DQ;;EAEE,+BAAgC;AR87D1C;;AQ78DQ;EAAwB,wBAA2B;ARi9D3D;;AQh9DQ;;EAEE,4BAA+B;ARm9DzC;;AQj9DQ;;EAEE,8BAAiC;ARo9D3C;;AQl9DQ;;EAEE,+BAAkC;ARq9D5C;;AQn9DQ;;EAEE,6BAAgC;ARs9D1C;;AQr+DQ;EAAwB,0BAA2B;ARy+D3D;;AQx+DQ;;EAEE,8BAA+B;AR2+DzC;;AQz+DQ;;EAEE,gCAAiC;AR4+D3C;;AQ1+DQ;;EAEE,iCAAkC;AR6+D5C;;AQ3+DQ;;EAEE,+BAAgC;AR8+D1C;;AQ7/DQ;EAAwB,wBAA2B;ARigE3D;;AQhgEQ;;EAEE,4BAA+B;ARmgEzC;;AQjgEQ;;EAEE,8BAAiC;ARogE3C;;AQlgEQ;;EAEE,+BAAkC;ARqgE5C;;AQngEQ;;EAEE,6BAAgC;ARsgE1C;;AQhgEI;EAAmB,uBAAuB;ARogE9C;;AQngEI;;EAEE,2BAA2B;ARsgEjC;;AQpgEI;;EAEE,6BAA6B;ARugEnC;;AQrgEI;;EAEE,8BAA8B;ARwgEpC;;AQtgEI;;EAEE,4BAA4B;ARygElC;;AGlhEI;EKlDI;IAAgC,oBAA4B;ERykElE;EQxkEM;;IAEE,wBAAoC;ER0kE5C;EQxkEM;;IAEE,0BAAwC;ER0kEhD;EQxkEM;;IAEE,2BAA0C;ER0kElD;EQxkEM;;IAEE,yBAAsC;ER0kE9C;EQzlEM;IAAgC,0BAA4B;ER4lElE;EQ3lEM;;IAEE,8BAAoC;ER6lE5C;EQ3lEM;;IAEE,gCAAwC;ER6lEhD;EQ3lEM;;IAEE,iCAA0C;ER6lElD;EQ3lEM;;IAEE,+BAAsC;ER6lE9C;EQ5mEM;IAAgC,yBAA4B;ER+mElE;EQ9mEM;;IAEE,6BAAoC;ERgnE5C;EQ9mEM;;IAEE,+BAAwC;ERgnEhD;EQ9mEM;;IAEE,gCAA0C;ERgnElD;EQ9mEM;;IAEE,8BAAsC;ERgnE9C;EQ/nEM;IAAgC,uBAA4B;ERkoElE;EQjoEM;;IAEE,2BAAoC;ERmoE5C;EQjoEM;;IAEE,6BAAwC;ERmoEhD;EQjoEM;;IAEE,8BAA0C;ERmoElD;EQjoEM;;IAEE,4BAAsC;ERmoE9C;EQlpEM;IAAgC,yBAA4B;ERqpElE;EQppEM;;IAEE,6BAAoC;ERspE5C;EQppEM;;IAEE,+BAAwC;ERspEhD;EQppEM;;IAEE,gCAA0C;ERspElD;EQppEM;;IAEE,8BAAsC;ERspE9C;EQrqEM;IAAgC,uBAA4B;ERwqElE;EQvqEM;;IAEE,2BAAoC;ERyqE5C;EQvqEM;;IAEE,6BAAwC;ERyqEhD;EQvqEM;;IAEE,8BAA0C;ERyqElD;EQvqEM;;IAEE,4BAAsC;ERyqE9C;EQxrEM;IAAgC,qBAA4B;ER2rElE;EQ1rEM;;IAEE,yBAAoC;ER4rE5C;EQ1rEM;;IAEE,2BAAwC;ER4rEhD;EQ1rEM;;IAEE,4BAA0C;ER4rElD;EQ1rEM;;IAEE,0BAAsC;ER4rE9C;EQ3sEM;IAAgC,2BAA4B;ER8sElE;EQ7sEM;;IAEE,+BAAoC;ER+sE5C;EQ7sEM;;IAEE,iCAAwC;ER+sEhD;EQ7sEM;;IAEE,kCAA0C;ER+sElD;EQ7sEM;;IAEE,gCAAsC;ER+sE9C;EQ9tEM;IAAgC,0BAA4B;ERiuElE;EQhuEM;;IAEE,8BAAoC;ERkuE5C;EQhuEM;;IAEE,gCAAwC;ERkuEhD;EQhuEM;;IAEE,iCAA0C;ERkuElD;EQhuEM;;IAEE,+BAAsC;ERkuE9C;EQjvEM;IAAgC,wBAA4B;ERovElE;EQnvEM;;IAEE,4BAAoC;ERqvE5C;EQnvEM;;IAEE,8BAAwC;ERqvEhD;EQnvEM;;IAEE,+BAA0C;ERqvElD;EQnvEM;;IAEE,6BAAsC;ERqvE9C;EQpwEM;IAAgC,0BAA4B;ERuwElE;EQtwEM;;IAEE,8BAAoC;ERwwE5C;EQtwEM;;IAEE,gCAAwC;ERwwEhD;EQtwEM;;IAEE,iCAA0C;ERwwElD;EQtwEM;;IAEE,+BAAsC;ERwwE9C;EQvxEM;IAAgC,wBAA4B;ER0xElE;EQzxEM;;IAEE,4BAAoC;ER2xE5C;EQzxEM;;IAEE,8BAAwC;ER2xEhD;EQzxEM;;IAEE,+BAA0C;ER2xElD;EQzxEM;;IAEE,6BAAsC;ER2xE9C;EQnxEM;IAAwB,2BAA2B;ERsxEzD;EQrxEM;;IAEE,+BAA+B;ERuxEvC;EQrxEM;;IAEE,iCAAiC;ERuxEzC;EQrxEM;;IAEE,kCAAkC;ERuxE1C;EQrxEM;;IAEE,gCAAgC;ERuxExC;EQtyEM;IAAwB,0BAA2B;ERyyEzD;EQxyEM;;IAEE,8BAA+B;ER0yEvC;EQxyEM;;IAEE,gCAAiC;ER0yEzC;EQxyEM;;IAEE,iCAAkC;ER0yE1C;EQxyEM;;IAEE,+BAAgC;ER0yExC;EQzzEM;IAAwB,wBAA2B;ER4zEzD;EQ3zEM;;IAEE,4BAA+B;ER6zEvC;EQ3zEM;;IAEE,8BAAiC;ER6zEzC;EQ3zEM;;IAEE,+BAAkC;ER6zE1C;EQ3zEM;;IAEE,6BAAgC;ER6zExC;EQ50EM;IAAwB,0BAA2B;ER+0EzD;EQ90EM;;IAEE,8BAA+B;ERg1EvC;EQ90EM;;IAEE,gCAAiC;ERg1EzC;EQ90EM;;IAEE,iCAAkC;ERg1E1C;EQ90EM;;IAEE,+BAAgC;ERg1ExC;EQ/1EM;IAAwB,wBAA2B;ERk2EzD;EQj2EM;;IAEE,4BAA+B;ERm2EvC;EQj2EM;;IAEE,8BAAiC;ERm2EzC;EQj2EM;;IAEE,+BAAkC;ERm2E1C;EQj2EM;;IAEE,6BAAgC;ERm2ExC;EQ71EE;IAAmB,uBAAuB;ERg2E5C;EQ/1EE;;IAEE,2BAA2B;ERi2E/B;EQ/1EE;;IAEE,6BAA6B;ERi2EjC;EQ/1EE;;IAEE,8BAA8B;ERi2ElC;EQ/1EE;;IAEE,4BAA4B;ERi2EhC;AACF;;AG32EI;EKlDI;IAAgC,oBAA4B;ERk6ElE;EQj6EM;;IAEE,wBAAoC;ERm6E5C;EQj6EM;;IAEE,0BAAwC;ERm6EhD;EQj6EM;;IAEE,2BAA0C;ERm6ElD;EQj6EM;;IAEE,yBAAsC;ERm6E9C;EQl7EM;IAAgC,0BAA4B;ERq7ElE;EQp7EM;;IAEE,8BAAoC;ERs7E5C;EQp7EM;;IAEE,gCAAwC;ERs7EhD;EQp7EM;;IAEE,iCAA0C;ERs7ElD;EQp7EM;;IAEE,+BAAsC;ERs7E9C;EQr8EM;IAAgC,yBAA4B;ERw8ElE;EQv8EM;;IAEE,6BAAoC;ERy8E5C;EQv8EM;;IAEE,+BAAwC;ERy8EhD;EQv8EM;;IAEE,gCAA0C;ERy8ElD;EQv8EM;;IAEE,8BAAsC;ERy8E9C;EQx9EM;IAAgC,uBAA4B;ER29ElE;EQ19EM;;IAEE,2BAAoC;ER49E5C;EQ19EM;;IAEE,6BAAwC;ER49EhD;EQ19EM;;IAEE,8BAA0C;ER49ElD;EQ19EM;;IAEE,4BAAsC;ER49E9C;EQ3+EM;IAAgC,yBAA4B;ER8+ElE;EQ7+EM;;IAEE,6BAAoC;ER++E5C;EQ7+EM;;IAEE,+BAAwC;ER++EhD;EQ7+EM;;IAEE,gCAA0C;ER++ElD;EQ7+EM;;IAEE,8BAAsC;ER++E9C;EQ9/EM;IAAgC,uBAA4B;ERigFlE;EQhgFM;;IAEE,2BAAoC;ERkgF5C;EQhgFM;;IAEE,6BAAwC;ERkgFhD;EQhgFM;;IAEE,8BAA0C;ERkgFlD;EQhgFM;;IAEE,4BAAsC;ERkgF9C;EQjhFM;IAAgC,qBAA4B;ERohFlE;EQnhFM;;IAEE,yBAAoC;ERqhF5C;EQnhFM;;IAEE,2BAAwC;ERqhFhD;EQnhFM;;IAEE,4BAA0C;ERqhFlD;EQnhFM;;IAEE,0BAAsC;ERqhF9C;EQpiFM;IAAgC,2BAA4B;ERuiFlE;EQtiFM;;IAEE,+BAAoC;ERwiF5C;EQtiFM;;IAEE,iCAAwC;ERwiFhD;EQtiFM;;IAEE,kCAA0C;ERwiFlD;EQtiFM;;IAEE,gCAAsC;ERwiF9C;EQvjFM;IAAgC,0BAA4B;ER0jFlE;EQzjFM;;IAEE,8BAAoC;ER2jF5C;EQzjFM;;IAEE,gCAAwC;ER2jFhD;EQzjFM;;IAEE,iCAA0C;ER2jFlD;EQzjFM;;IAEE,+BAAsC;ER2jF9C;EQ1kFM;IAAgC,wBAA4B;ER6kFlE;EQ5kFM;;IAEE,4BAAoC;ER8kF5C;EQ5kFM;;IAEE,8BAAwC;ER8kFhD;EQ5kFM;;IAEE,+BAA0C;ER8kFlD;EQ5kFM;;IAEE,6BAAsC;ER8kF9C;EQ7lFM;IAAgC,0BAA4B;ERgmFlE;EQ/lFM;;IAEE,8BAAoC;ERimF5C;EQ/lFM;;IAEE,gCAAwC;ERimFhD;EQ/lFM;;IAEE,iCAA0C;ERimFlD;EQ/lFM;;IAEE,+BAAsC;ERimF9C;EQhnFM;IAAgC,wBAA4B;ERmnFlE;EQlnFM;;IAEE,4BAAoC;ERonF5C;EQlnFM;;IAEE,8BAAwC;ERonFhD;EQlnFM;;IAEE,+BAA0C;ERonFlD;EQlnFM;;IAEE,6BAAsC;ERonF9C;EQ5mFM;IAAwB,2BAA2B;ER+mFzD;EQ9mFM;;IAEE,+BAA+B;ERgnFvC;EQ9mFM;;IAEE,iCAAiC;ERgnFzC;EQ9mFM;;IAEE,kCAAkC;ERgnF1C;EQ9mFM;;IAEE,gCAAgC;ERgnFxC;EQ/nFM;IAAwB,0BAA2B;ERkoFzD;EQjoFM;;IAEE,8BAA+B;ERmoFvC;EQjoFM;;IAEE,gCAAiC;ERmoFzC;EQjoFM;;IAEE,iCAAkC;ERmoF1C;EQjoFM;;IAEE,+BAAgC;ERmoFxC;EQlpFM;IAAwB,wBAA2B;ERqpFzD;EQppFM;;IAEE,4BAA+B;ERspFvC;EQppFM;;IAEE,8BAAiC;ERspFzC;EQppFM;;IAEE,+BAAkC;ERspF1C;EQppFM;;IAEE,6BAAgC;ERspFxC;EQrqFM;IAAwB,0BAA2B;ERwqFzD;EQvqFM;;IAEE,8BAA+B;ERyqFvC;EQvqFM;;IAEE,gCAAiC;ERyqFzC;EQvqFM;;IAEE,iCAAkC;ERyqF1C;EQvqFM;;IAEE,+BAAgC;ERyqFxC;EQxrFM;IAAwB,wBAA2B;ER2rFzD;EQ1rFM;;IAEE,4BAA+B;ER4rFvC;EQ1rFM;;IAEE,8BAAiC;ER4rFzC;EQ1rFM;;IAEE,+BAAkC;ER4rF1C;EQ1rFM;;IAEE,6BAAgC;ER4rFxC;EQtrFE;IAAmB,uBAAuB;ERyrF5C;EQxrFE;;IAEE,2BAA2B;ER0rF/B;EQxrFE;;IAEE,6BAA6B;ER0rFjC;EQxrFE;;IAEE,8BAA8B;ER0rFlC;EQxrFE;;IAEE,4BAA4B;ER0rFhC;AACF;;AGpsFI;EKlDI;IAAgC,oBAA4B;ER2vFlE;EQ1vFM;;IAEE,wBAAoC;ER4vF5C;EQ1vFM;;IAEE,0BAAwC;ER4vFhD;EQ1vFM;;IAEE,2BAA0C;ER4vFlD;EQ1vFM;;IAEE,yBAAsC;ER4vF9C;EQ3wFM;IAAgC,0BAA4B;ER8wFlE;EQ7wFM;;IAEE,8BAAoC;ER+wF5C;EQ7wFM;;IAEE,gCAAwC;ER+wFhD;EQ7wFM;;IAEE,iCAA0C;ER+wFlD;EQ7wFM;;IAEE,+BAAsC;ER+wF9C;EQ9xFM;IAAgC,yBAA4B;ERiyFlE;EQhyFM;;IAEE,6BAAoC;ERkyF5C;EQhyFM;;IAEE,+BAAwC;ERkyFhD;EQhyFM;;IAEE,gCAA0C;ERkyFlD;EQhyFM;;IAEE,8BAAsC;ERkyF9C;EQjzFM;IAAgC,uBAA4B;ERozFlE;EQnzFM;;IAEE,2BAAoC;ERqzF5C;EQnzFM;;IAEE,6BAAwC;ERqzFhD;EQnzFM;;IAEE,8BAA0C;ERqzFlD;EQnzFM;;IAEE,4BAAsC;ERqzF9C;EQp0FM;IAAgC,yBAA4B;ERu0FlE;EQt0FM;;IAEE,6BAAoC;ERw0F5C;EQt0FM;;IAEE,+BAAwC;ERw0FhD;EQt0FM;;IAEE,gCAA0C;ERw0FlD;EQt0FM;;IAEE,8BAAsC;ERw0F9C;EQv1FM;IAAgC,uBAA4B;ER01FlE;EQz1FM;;IAEE,2BAAoC;ER21F5C;EQz1FM;;IAEE,6BAAwC;ER21FhD;EQz1FM;;IAEE,8BAA0C;ER21FlD;EQz1FM;;IAEE,4BAAsC;ER21F9C;EQ12FM;IAAgC,qBAA4B;ER62FlE;EQ52FM;;IAEE,yBAAoC;ER82F5C;EQ52FM;;IAEE,2BAAwC;ER82FhD;EQ52FM;;IAEE,4BAA0C;ER82FlD;EQ52FM;;IAEE,0BAAsC;ER82F9C;EQ73FM;IAAgC,2BAA4B;ERg4FlE;EQ/3FM;;IAEE,+BAAoC;ERi4F5C;EQ/3FM;;IAEE,iCAAwC;ERi4FhD;EQ/3FM;;IAEE,kCAA0C;ERi4FlD;EQ/3FM;;IAEE,gCAAsC;ERi4F9C;EQh5FM;IAAgC,0BAA4B;ERm5FlE;EQl5FM;;IAEE,8BAAoC;ERo5F5C;EQl5FM;;IAEE,gCAAwC;ERo5FhD;EQl5FM;;IAEE,iCAA0C;ERo5FlD;EQl5FM;;IAEE,+BAAsC;ERo5F9C;EQn6FM;IAAgC,wBAA4B;ERs6FlE;EQr6FM;;IAEE,4BAAoC;ERu6F5C;EQr6FM;;IAEE,8BAAwC;ERu6FhD;EQr6FM;;IAEE,+BAA0C;ERu6FlD;EQr6FM;;IAEE,6BAAsC;ERu6F9C;EQt7FM;IAAgC,0BAA4B;ERy7FlE;EQx7FM;;IAEE,8BAAoC;ER07F5C;EQx7FM;;IAEE,gCAAwC;ER07FhD;EQx7FM;;IAEE,iCAA0C;ER07FlD;EQx7FM;;IAEE,+BAAsC;ER07F9C;EQz8FM;IAAgC,wBAA4B;ER48FlE;EQ38FM;;IAEE,4BAAoC;ER68F5C;EQ38FM;;IAEE,8BAAwC;ER68FhD;EQ38FM;;IAEE,+BAA0C;ER68FlD;EQ38FM;;IAEE,6BAAsC;ER68F9C;EQr8FM;IAAwB,2BAA2B;ERw8FzD;EQv8FM;;IAEE,+BAA+B;ERy8FvC;EQv8FM;;IAEE,iCAAiC;ERy8FzC;EQv8FM;;IAEE,kCAAkC;ERy8F1C;EQv8FM;;IAEE,gCAAgC;ERy8FxC;EQx9FM;IAAwB,0BAA2B;ER29FzD;EQ19FM;;IAEE,8BAA+B;ER49FvC;EQ19FM;;IAEE,gCAAiC;ER49FzC;EQ19FM;;IAEE,iCAAkC;ER49F1C;EQ19FM;;IAEE,+BAAgC;ER49FxC;EQ3+FM;IAAwB,wBAA2B;ER8+FzD;EQ7+FM;;IAEE,4BAA+B;ER++FvC;EQ7+FM;;IAEE,8BAAiC;ER++FzC;EQ7+FM;;IAEE,+BAAkC;ER++F1C;EQ7+FM;;IAEE,6BAAgC;ER++FxC;EQ9/FM;IAAwB,0BAA2B;ERigGzD;EQhgGM;;IAEE,8BAA+B;ERkgGvC;EQhgGM;;IAEE,gCAAiC;ERkgGzC;EQhgGM;;IAEE,iCAAkC;ERkgG1C;EQhgGM;;IAEE,+BAAgC;ERkgGxC;EQjhGM;IAAwB,wBAA2B;ERohGzD;EQnhGM;;IAEE,4BAA+B;ERqhGvC;EQnhGM;;IAEE,8BAAiC;ERqhGzC;EQnhGM;;IAEE,+BAAkC;ERqhG1C;EQnhGM;;IAEE,6BAAgC;ERqhGxC;EQ/gGE;IAAmB,uBAAuB;ERkhG5C;EQjhGE;;IAEE,2BAA2B;ERmhG/B;EQjhGE;;IAEE,6BAA6B;ERmhGjC;EQjhGE;;IAEE,8BAA8B;ERmhGlC;EQjhGE;;IAEE,4BAA4B;ERmhGhC;AACF;;AG7hGI;EKlDI;IAAgC,oBAA4B;ERolGlE;EQnlGM;;IAEE,wBAAoC;ERqlG5C;EQnlGM;;IAEE,0BAAwC;ERqlGhD;EQnlGM;;IAEE,2BAA0C;ERqlGlD;EQnlGM;;IAEE,yBAAsC;ERqlG9C;EQpmGM;IAAgC,0BAA4B;ERumGlE;EQtmGM;;IAEE,8BAAoC;ERwmG5C;EQtmGM;;IAEE,gCAAwC;ERwmGhD;EQtmGM;;IAEE,iCAA0C;ERwmGlD;EQtmGM;;IAEE,+BAAsC;ERwmG9C;EQvnGM;IAAgC,yBAA4B;ER0nGlE;EQznGM;;IAEE,6BAAoC;ER2nG5C;EQznGM;;IAEE,+BAAwC;ER2nGhD;EQznGM;;IAEE,gCAA0C;ER2nGlD;EQznGM;;IAEE,8BAAsC;ER2nG9C;EQ1oGM;IAAgC,uBAA4B;ER6oGlE;EQ5oGM;;IAEE,2BAAoC;ER8oG5C;EQ5oGM;;IAEE,6BAAwC;ER8oGhD;EQ5oGM;;IAEE,8BAA0C;ER8oGlD;EQ5oGM;;IAEE,4BAAsC;ER8oG9C;EQ7pGM;IAAgC,yBAA4B;ERgqGlE;EQ/pGM;;IAEE,6BAAoC;ERiqG5C;EQ/pGM;;IAEE,+BAAwC;ERiqGhD;EQ/pGM;;IAEE,gCAA0C;ERiqGlD;EQ/pGM;;IAEE,8BAAsC;ERiqG9C;EQhrGM;IAAgC,uBAA4B;ERmrGlE;EQlrGM;;IAEE,2BAAoC;ERorG5C;EQlrGM;;IAEE,6BAAwC;ERorGhD;EQlrGM;;IAEE,8BAA0C;ERorGlD;EQlrGM;;IAEE,4BAAsC;ERorG9C;EQnsGM;IAAgC,qBAA4B;ERssGlE;EQrsGM;;IAEE,yBAAoC;ERusG5C;EQrsGM;;IAEE,2BAAwC;ERusGhD;EQrsGM;;IAEE,4BAA0C;ERusGlD;EQrsGM;;IAEE,0BAAsC;ERusG9C;EQttGM;IAAgC,2BAA4B;ERytGlE;EQxtGM;;IAEE,+BAAoC;ER0tG5C;EQxtGM;;IAEE,iCAAwC;ER0tGhD;EQxtGM;;IAEE,kCAA0C;ER0tGlD;EQxtGM;;IAEE,gCAAsC;ER0tG9C;EQzuGM;IAAgC,0BAA4B;ER4uGlE;EQ3uGM;;IAEE,8BAAoC;ER6uG5C;EQ3uGM;;IAEE,gCAAwC;ER6uGhD;EQ3uGM;;IAEE,iCAA0C;ER6uGlD;EQ3uGM;;IAEE,+BAAsC;ER6uG9C;EQ5vGM;IAAgC,wBAA4B;ER+vGlE;EQ9vGM;;IAEE,4BAAoC;ERgwG5C;EQ9vGM;;IAEE,8BAAwC;ERgwGhD;EQ9vGM;;IAEE,+BAA0C;ERgwGlD;EQ9vGM;;IAEE,6BAAsC;ERgwG9C;EQ/wGM;IAAgC,0BAA4B;ERkxGlE;EQjxGM;;IAEE,8BAAoC;ERmxG5C;EQjxGM;;IAEE,gCAAwC;ERmxGhD;EQjxGM;;IAEE,iCAA0C;ERmxGlD;EQjxGM;;IAEE,+BAAsC;ERmxG9C;EQlyGM;IAAgC,wBAA4B;ERqyGlE;EQpyGM;;IAEE,4BAAoC;ERsyG5C;EQpyGM;;IAEE,8BAAwC;ERsyGhD;EQpyGM;;IAEE,+BAA0C;ERsyGlD;EQpyGM;;IAEE,6BAAsC;ERsyG9C;EQ9xGM;IAAwB,2BAA2B;ERiyGzD;EQhyGM;;IAEE,+BAA+B;ERkyGvC;EQhyGM;;IAEE,iCAAiC;ERkyGzC;EQhyGM;;IAEE,kCAAkC;ERkyG1C;EQhyGM;;IAEE,gCAAgC;ERkyGxC;EQjzGM;IAAwB,0BAA2B;ERozGzD;EQnzGM;;IAEE,8BAA+B;ERqzGvC;EQnzGM;;IAEE,gCAAiC;ERqzGzC;EQnzGM;;IAEE,iCAAkC;ERqzG1C;EQnzGM;;IAEE,+BAAgC;ERqzGxC;EQp0GM;IAAwB,wBAA2B;ERu0GzD;EQt0GM;;IAEE,4BAA+B;ERw0GvC;EQt0GM;;IAEE,8BAAiC;ERw0GzC;EQt0GM;;IAEE,+BAAkC;ERw0G1C;EQt0GM;;IAEE,6BAAgC;ERw0GxC;EQv1GM;IAAwB,0BAA2B;ER01GzD;EQz1GM;;IAEE,8BAA+B;ER21GvC;EQz1GM;;IAEE,gCAAiC;ER21GzC;EQz1GM;;IAEE,iCAAkC;ER21G1C;EQz1GM;;IAEE,+BAAgC;ER21GxC;EQ12GM;IAAwB,wBAA2B;ER62GzD;EQ52GM;;IAEE,4BAA+B;ER82GvC;EQ52GM;;IAEE,8BAAiC;ER82GzC;EQ52GM;;IAEE,+BAAkC;ER82G1C;EQ52GM;;IAEE,6BAAgC;ER82GxC;EQx2GE;IAAmB,uBAAuB;ER22G5C;EQ12GE;;IAEE,2BAA2B;ER42G/B;EQ12GE;;IAEE,6BAA6B;ER42GjC;EQ12GE;;IAEE,8BAA8B;ER42GlC;EQ12GE;;IAEE,4BAA4B;ER42GhC;AACF","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n@import \"utilities/spacing\";\n","/*!\n * Bootstrap Grid v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n @include deprecate(\"The `make-container-max-widths` mixin\", \"v4.5.2\", \"v5\");\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-th-font-weight: null !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n$custom-control-cursor: null !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-label-color: null !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: null !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: null !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: null !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>\") !default;\n$custom-select-background: escape-svg($custom-select-indicator) no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n$user-selects: all, auto, none !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @if $columns > 0 {\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n }\n\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n @if $columns > 0 {\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap-grid.min.css b/src/main/resources/static/css/bootstrap/bootstrap-grid.min.css new file mode 100644 index 0000000..d323f93 --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap-grid.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap Grid v4.5.3 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors + * Copyright 2011-2020 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}} +/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap-grid.min.css.map b/src/main/resources/static/css/bootstrap/bootstrap-grid.min.css.map new file mode 100644 index 0000000..9c96ff3 --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap-grid.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_spacing.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n@import \"utilities/spacing\";\n","/*!\n * Bootstrap Grid v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n @include deprecate(\"The `make-container-max-widths` mixin\", \"v4.5.2\", \"v5\");\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @if $columns > 0 {\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n }\n\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n @if $columns > 0 {\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n"]} \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap-reboot.css b/src/main/resources/static/css/bootstrap/bootstrap-reboot.css new file mode 100644 index 0000000..4c64218 --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap-reboot.css @@ -0,0 +1,326 @@ +/*! + * Bootstrap Reboot v4.5.3 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors + * Copyright 2011-2020 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */ +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus:not(:focus-visible) { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([class]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg { + overflow: hidden; + vertical-align: middle; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +[role="button"] { + cursor: pointer; +} + +select { + word-wrap: normal; +} + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} +/*# sourceMappingURL=bootstrap-reboot.css.map */ \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap-reboot.css.map b/src/main/resources/static/css/bootstrap/bootstrap-reboot.css.map new file mode 100644 index 0000000..e79cab0 --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap-reboot.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-reboot.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","/*!\n * Bootstrap Reboot v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\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 padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\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; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role=\"button\"] {\n cursor: pointer;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\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 font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-th-font-weight: null !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n$custom-control-cursor: null !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-label-color: null !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: null !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: null !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: null !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>\") !default;\n$custom-select-background: escape-svg($custom-select-indicator) no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n$user-selects: all, auto, none !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap-reboot.min.css b/src/main/resources/static/css/bootstrap/bootstrap-reboot.min.css new file mode 100644 index 0000000..04512ed --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap-reboot.min.css @@ -0,0 +1,8 @@ +/*! + * Bootstrap Reboot v4.5.3 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors + * Copyright 2011-2020 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important} +/*# sourceMappingURL=bootstrap-reboot.min.css.map */ \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap-reboot.min.css.map b/src/main/resources/static/css/bootstrap/bootstrap-reboot.min.css.map new file mode 100644 index 0000000..bfaee25 --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap-reboot.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","../../scss/vendor/_rfs.scss","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Reboot v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\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; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role=\"button\"] {\n cursor: pointer;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\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 font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\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 padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","/*!\n * Bootstrap Reboot v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\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 padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap.css b/src/main/resources/static/css/bootstrap/bootstrap.css new file mode 100644 index 0000000..a3171be --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap.css @@ -0,0 +1,10263 @@ +/*! + * Bootstrap v4.5.3 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors + * Copyright 2011-2020 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #6c757d; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus:not(:focus-visible) { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([class]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg { + overflow: hidden; + vertical-align: middle; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +[role="button"] { + cursor: pointer; +} + +select { + word-wrap: normal; +} + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; +} + +h1, .h1 { + font-size: 2.5rem; +} + +h2, .h2 { + font-size: 2rem; +} + +h3, .h3 { + font-size: 1.75rem; +} + +h4, .h4 { + font-size: 1.5rem; +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2; +} + +.display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; +} + +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +small, +.small { + font-size: 80%; + font-weight: 400; +} + +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} + +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d; +} + +.blockquote-footer::before { + content: "\2014\00A0"; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 90%; + color: #6c757d; +} + +code { + font-size: 87.5%; + color: #e83e8c; + word-wrap: break-word; +} + +a > code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} + +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; +} + +pre { + display: block; + font-size: 87.5%; + color: #212529; +} + +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container, +.container-fluid, +.container-sm, +.container-md, +.container-lg, +.container-xl { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container, .container-sm { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container, .container-sm, .container-md { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container, .container-sm, .container-md, .container-lg { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container, .container-sm, .container-md, .container-lg, .container-xl { + max-width: 1140px; + } +} + +.row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +.col { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; +} + +.row-cols-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.row-cols-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.row-cols-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.row-cols-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.row-cols-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; +} + +.row-cols-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; +} + +.col-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + -ms-flex-order: -1; + order: -1; +} + +.order-last { + -ms-flex-order: 13; + order: 13; +} + +.order-0 { + -ms-flex-order: 0; + order: 0; +} + +.order-1 { + -ms-flex-order: 1; + order: 1; +} + +.order-2 { + -ms-flex-order: 2; + order: 2; +} + +.order-3 { + -ms-flex-order: 3; + order: 3; +} + +.order-4 { + -ms-flex-order: 4; + order: 4; +} + +.order-5 { + -ms-flex-order: 5; + order: 5; +} + +.order-6 { + -ms-flex-order: 6; + order: 6; +} + +.order-7 { + -ms-flex-order: 7; + order: 7; +} + +.order-8 { + -ms-flex-order: 8; + order: 8; +} + +.order-9 { + -ms-flex-order: 9; + order: 9; +} + +.order-10 { + -ms-flex-order: 10; + order: 10; +} + +.order-11 { + -ms-flex-order: 11; + order: 11; +} + +.order-12 { + -ms-flex-order: 12; + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-sm-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-sm-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-sm-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-sm-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-sm-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-sm-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-sm-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + -ms-flex-order: -1; + order: -1; + } + .order-sm-last { + -ms-flex-order: 13; + order: 13; + } + .order-sm-0 { + -ms-flex-order: 0; + order: 0; + } + .order-sm-1 { + -ms-flex-order: 1; + order: 1; + } + .order-sm-2 { + -ms-flex-order: 2; + order: 2; + } + .order-sm-3 { + -ms-flex-order: 3; + order: 3; + } + .order-sm-4 { + -ms-flex-order: 4; + order: 4; + } + .order-sm-5 { + -ms-flex-order: 5; + order: 5; + } + .order-sm-6 { + -ms-flex-order: 6; + order: 6; + } + .order-sm-7 { + -ms-flex-order: 7; + order: 7; + } + .order-sm-8 { + -ms-flex-order: 8; + order: 8; + } + .order-sm-9 { + -ms-flex-order: 9; + order: 9; + } + .order-sm-10 { + -ms-flex-order: 10; + order: 10; + } + .order-sm-11 { + -ms-flex-order: 11; + order: 11; + } + .order-sm-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-md-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-md-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-md-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-md-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-md-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-md-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-md-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + -ms-flex-order: -1; + order: -1; + } + .order-md-last { + -ms-flex-order: 13; + order: 13; + } + .order-md-0 { + -ms-flex-order: 0; + order: 0; + } + .order-md-1 { + -ms-flex-order: 1; + order: 1; + } + .order-md-2 { + -ms-flex-order: 2; + order: 2; + } + .order-md-3 { + -ms-flex-order: 3; + order: 3; + } + .order-md-4 { + -ms-flex-order: 4; + order: 4; + } + .order-md-5 { + -ms-flex-order: 5; + order: 5; + } + .order-md-6 { + -ms-flex-order: 6; + order: 6; + } + .order-md-7 { + -ms-flex-order: 7; + order: 7; + } + .order-md-8 { + -ms-flex-order: 8; + order: 8; + } + .order-md-9 { + -ms-flex-order: 9; + order: 9; + } + .order-md-10 { + -ms-flex-order: 10; + order: 10; + } + .order-md-11 { + -ms-flex-order: 11; + order: 11; + } + .order-md-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-lg-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-lg-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-lg-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-lg-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-lg-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-lg-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-lg-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + -ms-flex-order: -1; + order: -1; + } + .order-lg-last { + -ms-flex-order: 13; + order: 13; + } + .order-lg-0 { + -ms-flex-order: 0; + order: 0; + } + .order-lg-1 { + -ms-flex-order: 1; + order: 1; + } + .order-lg-2 { + -ms-flex-order: 2; + order: 2; + } + .order-lg-3 { + -ms-flex-order: 3; + order: 3; + } + .order-lg-4 { + -ms-flex-order: 4; + order: 4; + } + .order-lg-5 { + -ms-flex-order: 5; + order: 5; + } + .order-lg-6 { + -ms-flex-order: 6; + order: 6; + } + .order-lg-7 { + -ms-flex-order: 7; + order: 7; + } + .order-lg-8 { + -ms-flex-order: 8; + order: 8; + } + .order-lg-9 { + -ms-flex-order: 9; + order: 9; + } + .order-lg-10 { + -ms-flex-order: 10; + order: 10; + } + .order-lg-11 { + -ms-flex-order: 11; + order: 11; + } + .order-lg-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .row-cols-xl-1 > * { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .row-cols-xl-2 > * { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .row-cols-xl-3 > * { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .row-cols-xl-4 > * { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .row-cols-xl-5 > * { + -ms-flex: 0 0 20%; + flex: 0 0 20%; + max-width: 20%; + } + .row-cols-xl-6 > * { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + .col-xl-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + -ms-flex-order: -1; + order: -1; + } + .order-xl-last { + -ms-flex-order: 13; + order: 13; + } + .order-xl-0 { + -ms-flex-order: 0; + order: 0; + } + .order-xl-1 { + -ms-flex-order: 1; + order: 1; + } + .order-xl-2 { + -ms-flex-order: 2; + order: 2; + } + .order-xl-3 { + -ms-flex-order: 3; + order: 3; + } + .order-xl-4 { + -ms-flex-order: 4; + order: 4; + } + .order-xl-5 { + -ms-flex-order: 5; + order: 5; + } + .order-xl-6 { + -ms-flex-order: 6; + order: 6; + } + .order-xl-7 { + -ms-flex-order: 7; + order: 7; + } + .order-xl-8 { + -ms-flex-order: 8; + order: 8; + } + .order-xl-9 { + -ms-flex-order: 9; + order: 9; + } + .order-xl-10 { + -ms-flex-order: 10; + order: 10; + } + .order-xl-11 { + -ms-flex-order: 11; + order: 11; + } + .order-xl-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.table { + width: 100%; + margin-bottom: 1rem; + color: #212529; +} + +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; +} + +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; +} + +.table tbody + tbody { + border-top: 2px solid #dee2e6; +} + +.table-sm th, +.table-sm td { + padding: 0.3rem; +} + +.table-bordered { + border: 1px solid #dee2e6; +} + +.table-bordered th, +.table-bordered td { + border: 1px solid #dee2e6; +} + +.table-bordered thead th, +.table-bordered thead td { + border-bottom-width: 2px; +} + +.table-borderless th, +.table-borderless td, +.table-borderless thead th, +.table-borderless tbody + tbody { + border: 0; +} + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); +} + +.table-hover tbody tr:hover { + color: #212529; + background-color: rgba(0, 0, 0, 0.075); +} + +.table-primary, +.table-primary > th, +.table-primary > td { + background-color: #b8daff; +} + +.table-primary th, +.table-primary td, +.table-primary thead th, +.table-primary tbody + tbody { + border-color: #7abaff; +} + +.table-hover .table-primary:hover { + background-color: #9fcdff; +} + +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th { + background-color: #9fcdff; +} + +.table-secondary, +.table-secondary > th, +.table-secondary > td { + background-color: #d6d8db; +} + +.table-secondary th, +.table-secondary td, +.table-secondary thead th, +.table-secondary tbody + tbody { + border-color: #b3b7bb; +} + +.table-hover .table-secondary:hover { + background-color: #c8cbcf; +} + +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th { + background-color: #c8cbcf; +} + +.table-success, +.table-success > th, +.table-success > td { + background-color: #c3e6cb; +} + +.table-success th, +.table-success td, +.table-success thead th, +.table-success tbody + tbody { + border-color: #8fd19e; +} + +.table-hover .table-success:hover { + background-color: #b1dfbb; +} + +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th { + background-color: #b1dfbb; +} + +.table-info, +.table-info > th, +.table-info > td { + background-color: #bee5eb; +} + +.table-info th, +.table-info td, +.table-info thead th, +.table-info tbody + tbody { + border-color: #86cfda; +} + +.table-hover .table-info:hover { + background-color: #abdde5; +} + +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th { + background-color: #abdde5; +} + +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #ffeeba; +} + +.table-warning th, +.table-warning td, +.table-warning thead th, +.table-warning tbody + tbody { + border-color: #ffdf7e; +} + +.table-hover .table-warning:hover { + background-color: #ffe8a1; +} + +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th { + background-color: #ffe8a1; +} + +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f5c6cb; +} + +.table-danger th, +.table-danger td, +.table-danger thead th, +.table-danger tbody + tbody { + border-color: #ed969e; +} + +.table-hover .table-danger:hover { + background-color: #f1b0b7; +} + +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th { + background-color: #f1b0b7; +} + +.table-light, +.table-light > th, +.table-light > td { + background-color: #fdfdfe; +} + +.table-light th, +.table-light td, +.table-light thead th, +.table-light tbody + tbody { + border-color: #fbfcfc; +} + +.table-hover .table-light:hover { + background-color: #ececf6; +} + +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th { + background-color: #ececf6; +} + +.table-dark, +.table-dark > th, +.table-dark > td { + background-color: #c6c8ca; +} + +.table-dark th, +.table-dark td, +.table-dark thead th, +.table-dark tbody + tbody { + border-color: #95999c; +} + +.table-hover .table-dark:hover { + background-color: #b9bbbe; +} + +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th { + background-color: #b9bbbe; +} + +.table-active, +.table-active > th, +.table-active > td { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover > td, +.table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); +} + +.table .thead-dark th { + color: #fff; + background-color: #343a40; + border-color: #454d55; +} + +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.table-dark { + color: #fff; + background-color: #343a40; +} + +.table-dark th, +.table-dark td, +.table-dark thead th { + border-color: #454d55; +} + +.table-dark.table-bordered { + border: 0; +} + +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); +} + +.table-dark.table-hover tbody tr:hover { + color: #fff; + background-color: rgba(255, 255, 255, 0.075); +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-sm > .table-bordered { + border: 0; + } +} + +@media (max-width: 767.98px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-md > .table-bordered { + border: 0; + } +} + +@media (max-width: 991.98px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-lg > .table-bordered { + border: 0; + } +} + +@media (max-width: 1199.98px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + .table-responsive-xl > .table-bordered { + border: 0; + } +} + +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +.table-responsive > .table-bordered { + border: 0; +} + +.form-control { + display: block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} + +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} + +.form-control:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #495057; +} + +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.form-control::-webkit-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} + +input[type="date"].form-control, +input[type="time"].form-control, +input[type="datetime-local"].form-control, +input[type="month"].form-control { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.form-control-file, +.form-control-range { + display: block; + width: 100%; +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.5; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + font-size: 1rem; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.form-control-lg { + height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +select.form-control[size], select.form-control[multiple] { + height: auto; +} + +textarea.form-control { + height: auto; +} + +.form-group { + margin-bottom: 1rem; +} + +.form-text { + display: block; + margin-top: 0.25rem; +} + +.form-row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; +} + +.form-row > .col, +.form-row > [class*="col-"] { + padding-right: 5px; + padding-left: 5px; +} + +.form-check { + position: relative; + display: block; + padding-left: 1.25rem; +} + +.form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; +} + +.form-check-input[disabled] ~ .form-check-label, +.form-check-input:disabled ~ .form-check-label { + color: #6c757d; +} + +.form-check-label { + margin-bottom: 0; +} + +.form-check-inline { + display: -ms-inline-flexbox; + display: inline-flex; + -ms-flex-align: center; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; +} + +.form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #28a745; +} + +.valid-tooltip { + position: absolute; + top: 100%; + left: 0; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(40, 167, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #28a745; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .custom-select:valid, .custom-select.is-valid { + border-color: #28a745; + padding-right: calc(0.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #28a745; +} + +.was-validated .form-check-input:valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, +.form-check-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { + color: #28a745; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { + border-color: #28a745; +} + +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { + border-color: #34ce57; + background-color: #34ce57; +} + +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + left: 0; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .custom-select:invalid, .custom-select.is-invalid { + border-color: #dc3545; + padding-right: calc(0.75em + 2.3125rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +.was-validated .form-check-input:invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, +.form-check-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { + color: #dc3545; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { + border-color: #dc3545; +} + +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { + border-color: #e4606d; + background-color: #e4606d; +} + +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.form-inline { + display: -ms-flexbox; + display: flex; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -ms-flex-align: center; + align-items: center; +} + +.form-inline .form-check { + width: 100%; +} + +@media (min-width: 576px) { + .form-inline label { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + margin-bottom: 0; + } + .form-inline .form-group { + display: -ms-flexbox; + display: flex; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -ms-flex-align: center; + align-items: center; + margin-bottom: 0; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-plaintext { + display: inline-block; + } + .form-inline .input-group, + .form-inline .custom-select { + width: auto; + } + .form-inline .form-check { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + width: auto; + padding-left: 0; + } + .form-inline .form-check-input { + position: relative; + -ms-flex-negative: 0; + flex-shrink: 0; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; + } + .form-inline .custom-control { + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + } + .form-inline .custom-control-label { + margin-bottom: 0; + } +} + +.btn { + display: inline-block; + font-weight: 400; + color: #212529; + text-align: center; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} + +.btn:hover { + color: #212529; + text-decoration: none; +} + +.btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.btn.disabled, .btn:disabled { + opacity: 0.65; +} + +.btn:not(:disabled):not(.disabled) { + cursor: pointer; +} + +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + +.btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:hover { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; +} + +.btn-primary:focus, .btn-primary.focus { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +.btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf; +} + +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); +} + +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:hover { + color: #fff; + background-color: #5a6268; + border-color: #545b62; +} + +.btn-secondary:focus, .btn-secondary.focus { + color: #fff; + background-color: #5a6268; + border-color: #545b62; + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn-secondary.disabled, .btn-secondary:disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, +.show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #545b62; + border-color: #4e555b; +} + +.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); +} + +.btn-success { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:hover { + color: #fff; + background-color: #218838; + border-color: #1e7e34; +} + +.btn-success:focus, .btn-success.focus { + color: #fff; + background-color: #218838; + border-color: #1e7e34; + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +.btn-success.disabled, .btn-success:disabled { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, +.show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #1e7e34; + border-color: #1c7430; +} + +.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); +} + +.btn-info { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:hover { + color: #fff; + background-color: #138496; + border-color: #117a8b; +} + +.btn-info:focus, .btn-info.focus { + color: #fff; + background-color: #138496; + border-color: #117a8b; + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +.btn-info.disabled, .btn-info:disabled { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, +.show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #117a8b; + border-color: #10707f; +} + +.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); +} + +.btn-warning { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:hover { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; +} + +.btn-warning:focus, .btn-warning.focus { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +.btn-warning.disabled, .btn-warning:disabled { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, +.show > .btn-warning.dropdown-toggle { + color: #212529; + background-color: #d39e00; + border-color: #c69500; +} + +.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); +} + +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:hover { + color: #fff; + background-color: #c82333; + border-color: #bd2130; +} + +.btn-danger:focus, .btn-danger.focus { + color: #fff; + background-color: #c82333; + border-color: #bd2130; + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +.btn-danger.disabled, .btn-danger:disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, +.show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #bd2130; + border-color: #b21f2d; +} + +.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); +} + +.btn-light { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:hover { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; +} + +.btn-light:focus, .btn-light.focus { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +.btn-light.disabled, .btn-light:disabled { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, +.show > .btn-light.dropdown-toggle { + color: #212529; + background-color: #dae0e5; + border-color: #d3d9df; +} + +.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); +} + +.btn-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:hover { + color: #fff; + background-color: #23272b; + border-color: #1d2124; +} + +.btn-dark:focus, .btn-dark.focus { + color: #fff; + background-color: #23272b; + border-color: #1d2124; + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-dark.disabled, .btn-dark:disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, +.show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d; +} + +.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); +} + +.btn-outline-primary { + color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:hover { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:focus, .btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #007bff; + background-color: transparent; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, +.show > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:focus, .btn-outline-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { + color: #6c757d; + background-color: transparent; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, +.show > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-success { + color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:hover { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:focus, .btn-outline-success.focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-success.disabled, .btn-outline-success:disabled { + color: #28a745; + background-color: transparent; +} + +.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, +.show > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-info { + color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:hover { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:focus, .btn-outline-info.focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-info.disabled, .btn-outline-info:disabled { + color: #17a2b8; + background-color: transparent; +} + +.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, +.show > .btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:hover { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:focus, .btn-outline-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-warning.disabled, .btn-outline-warning:disabled { + color: #ffc107; + background-color: transparent; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, +.show > .btn-outline-warning.dropdown-toggle { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-danger { + color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:focus, .btn-outline-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-danger.disabled, .btn-outline-danger:disabled { + color: #dc3545; + background-color: transparent; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, +.show > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:focus, .btn-outline-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-light.disabled, .btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent; +} + +.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, +.show > .btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-dark { + color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:focus, .btn-outline-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-outline-dark.disabled, .btn-outline-dark:disabled { + color: #343a40; + background-color: transparent; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, +.show > .btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-link { + font-weight: 400; + color: #007bff; + text-decoration: none; +} + +.btn-link:hover { + color: #0056b3; + text-decoration: underline; +} + +.btn-link:focus, .btn-link.focus { + text-decoration: underline; +} + +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; + pointer-events: none; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.btn-block { + display: block; + width: 100%; +} + +.btn-block + .btn-block { + margin-top: 0.5rem; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.fade { + transition: opacity 0.15s linear; +} + +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} + +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} + +.dropup, +.dropright, +.dropdown, +.dropleft { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} + +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} + +.dropdown-menu-left { + right: auto; + left: 0; +} + +.dropdown-menu-right { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-left { + right: auto; + left: 0; + } + .dropdown-menu-sm-right { + right: 0; + left: auto; + } +} + +@media (min-width: 768px) { + .dropdown-menu-md-left { + right: auto; + left: 0; + } + .dropdown-menu-md-right { + right: 0; + left: auto; + } +} + +@media (min-width: 992px) { + .dropdown-menu-lg-left { + right: auto; + left: 0; + } + .dropdown-menu-lg-right { + right: 0; + left: auto; + } +} + +@media (min-width: 1200px) { + .dropdown-menu-xl-left { + right: auto; + left: 0; + } + .dropdown-menu-xl-right { + right: 0; + left: auto; + } +} + +.dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} + +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} + +.dropright .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} + +.dropright .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-toggle::after { + vertical-align: 0; +} + +.dropleft .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} + +.dropleft .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +.dropleft .dropdown-toggle::after { + display: none; +} + +.dropleft .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} + +.dropleft .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { + right: auto; + bottom: auto; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} + +.dropdown-item:hover, .dropdown-item:focus { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; +} + +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #007bff; +} + +.dropdown-item.disabled, .dropdown-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: 0.25rem 1.5rem; + color: #212529; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: -ms-inline-flexbox; + display: inline-flex; + vertical-align: middle; +} + +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; +} + +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover { + z-index: 1; +} + +.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.btn-toolbar .input-group { + width: auto; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; +} + +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +.dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after, +.dropright .dropdown-toggle-split::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-align: start; + align-items: flex-start; + -ms-flex-pack: center; + justify-content: center; +} + +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; +} + +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.btn-group-toggle > .btn, +.btn-group-toggle > .btn-group > .btn { + margin-bottom: 0; +} + +.btn-group-toggle > .btn input[type="radio"], +.btn-group-toggle > .btn input[type="checkbox"], +.btn-group-toggle > .btn-group > .btn input[type="radio"], +.btn-group-toggle > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +.input-group { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: stretch; + align-items: stretch; + width: 100%; +} + +.input-group > .form-control, +.input-group > .form-control-plaintext, +.input-group > .custom-select, +.input-group > .custom-file { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + min-width: 0; + margin-bottom: 0; +} + +.input-group > .form-control + .form-control, +.input-group > .form-control + .custom-select, +.input-group > .form-control + .custom-file, +.input-group > .form-control-plaintext + .form-control, +.input-group > .form-control-plaintext + .custom-select, +.input-group > .form-control-plaintext + .custom-file, +.input-group > .custom-select + .form-control, +.input-group > .custom-select + .custom-select, +.input-group > .custom-select + .custom-file, +.input-group > .custom-file + .form-control, +.input-group > .custom-file + .custom-select, +.input-group > .custom-file + .custom-file { + margin-left: -1px; +} + +.input-group > .form-control:focus, +.input-group > .custom-select:focus, +.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { + z-index: 3; +} + +.input-group > .custom-file .custom-file-input:focus { + z-index: 4; +} + +.input-group > .form-control:not(:last-child), +.input-group > .custom-select:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .form-control:not(:first-child), +.input-group > .custom-select:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group > .custom-file { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; +} + +.input-group > .custom-file:not(:last-child) .custom-file-label, +.input-group > .custom-file:not(:last-child) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .custom-file:not(:first-child) .custom-file-label { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group-prepend, +.input-group-append { + display: -ms-flexbox; + display: flex; +} + +.input-group-prepend .btn, +.input-group-append .btn { + position: relative; + z-index: 2; +} + +.input-group-prepend .btn:focus, +.input-group-append .btn:focus { + z-index: 3; +} + +.input-group-prepend .btn + .btn, +.input-group-prepend .btn + .input-group-text, +.input-group-prepend .input-group-text + .input-group-text, +.input-group-prepend .input-group-text + .btn, +.input-group-append .btn + .btn, +.input-group-append .btn + .input-group-text, +.input-group-append .input-group-text + .input-group-text, +.input-group-append .input-group-text + .btn { + margin-left: -1px; +} + +.input-group-prepend { + margin-right: -1px; +} + +.input-group-append { + margin-left: -1px; +} + +.input-group-text { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.input-group-text input[type="radio"], +.input-group-text input[type="checkbox"] { + margin-top: 0; +} + +.input-group-lg > .form-control:not(textarea), +.input-group-lg > .custom-select { + height: calc(1.5em + 1rem + 2px); +} + +.input-group-lg > .form-control, +.input-group-lg > .custom-select, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.input-group-sm > .form-control:not(textarea), +.input-group-sm > .custom-select { + height: calc(1.5em + 0.5rem + 2px); +} + +.input-group-sm > .form-control, +.input-group-sm > .custom-select, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.input-group-lg > .custom-select, +.input-group-sm > .custom-select { + padding-right: 1.75rem; +} + +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text, +.input-group > .input-group-append:not(:last-child) > .btn, +.input-group > .input-group-append:not(:last-child) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-control { + position: relative; + z-index: 1; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; + -webkit-print-color-adjust: exact; + color-adjust: exact; +} + +.custom-control-inline { + display: -ms-inline-flexbox; + display: inline-flex; + margin-right: 1rem; +} + +.custom-control-input { + position: absolute; + left: 0; + z-index: -1; + width: 1rem; + height: 1.25rem; + opacity: 0; +} + +.custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + border-color: #007bff; + background-color: #007bff; +} + +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: #80bdff; +} + +.custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #fff; + background-color: #b3d7ff; + border-color: #b3d7ff; +} + +.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label { + color: #6c757d; +} + +.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before { + background-color: #e9ecef; +} + +.custom-control-label { + position: relative; + margin-bottom: 0; + vertical-align: top; +} + +.custom-control-label::before { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + background-color: #fff; + border: #adb5bd solid 1px; +} + +.custom-control-label::after { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background: no-repeat 50% / 50% 50%; +} + +.custom-checkbox .custom-control-label::before { + border-radius: 0.25rem; +} + +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + border-color: #007bff; + background-color: #007bff; +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-radio .custom-control-label::before { + border-radius: 50%; +} + +.custom-radio .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} + +.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-switch { + padding-left: 2.25rem; +} + +.custom-switch .custom-control-label::before { + left: -2.25rem; + width: 1.75rem; + pointer-events: all; + border-radius: 0.5rem; +} + +.custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + background-color: #adb5bd; + border-radius: 0.5rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-switch .custom-control-label::after { + transition: none; + } +} + +.custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: #fff; + -webkit-transform: translateX(0.75rem); + transform: translateX(0.75rem); +} + +.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-select { + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-select:focus { + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-select:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.custom-select[multiple], .custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; +} + +.custom-select:disabled { + color: #6c757d; + background-color: #e9ecef; +} + +.custom-select::-ms-expand { + display: none; +} + +.custom-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #495057; +} + +.custom-select-sm { + height: calc(1.5em + 0.5rem + 2px); + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; +} + +.custom-select-lg { + height: calc(1.5em + 1rem + 2px); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; +} + +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin-bottom: 0; +} + +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin: 0; + opacity: 0; +} + +.custom-file-input:focus ~ .custom-file-label { + border-color: #80bdff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-file-input[disabled] ~ .custom-file-label, +.custom-file-input:disabled ~ .custom-file-label { + background-color: #e9ecef; +} + +.custom-file-input:lang(en) ~ .custom-file-label::after { + content: "Browse"; +} + +.custom-file-input ~ .custom-file-label[data-browse]::after { + content: attr(data-browse); +} + +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.custom-file-label::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: calc(1.5em + 0.75rem); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background-color: #e9ecef; + border-left: inherit; + border-radius: 0 0.25rem 0.25rem 0; +} + +.custom-range { + width: 100%; + height: 1.4rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-range:focus { + outline: none; +} + +.custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range::-moz-focus-outer { + border: 0; +} + +.custom-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} + +.custom-range::-webkit-slider-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} + +.custom-range::-moz-range-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-ms-thumb { + width: 1rem; + height: 1rem; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-ms-thumb { + -ms-transition: none; + transition: none; + } +} + +.custom-range::-ms-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-ms-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: transparent; + border-color: transparent; + border-width: 0.5rem; +} + +.custom-range::-ms-fill-lower { + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range::-ms-fill-upper { + margin-right: 15px; + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-webkit-slider-runnable-track { + cursor: default; +} + +.custom-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-moz-range-track { + cursor: default; +} + +.custom-range:disabled::-ms-thumb { + background-color: #adb5bd; +} + +.custom-control-label::before, +.custom-file-label, +.custom-select { + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-control-label::before, + .custom-file-label, + .custom-select { + transition: none; + } +} + +.nav { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; +} + +.nav-link:hover, .nav-link:focus { + text-decoration: none; +} + +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} + +.nav-tabs .nav-item { + margin-bottom: -1px; +} + +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; +} + +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} + +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills .nav-link { + border-radius: 0.25rem; +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #007bff; +} + +.nav-fill > .nav-link, +.nav-fill .nav-item { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + text-align: center; +} + +.tab-content > .tab-pane { + display: none; +} + +.tab-content > .active { + display: block; +} + +.navbar { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 0.5rem 1rem; +} + +.navbar .container, +.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} + +.navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} + +.navbar-nav { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} + +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.navbar-collapse { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + -ms-flex-positive: 1; + flex-grow: 1; + -ms-flex-align: center; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; +} + +@media (max-width: 575.98px) { + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 576px) { + .navbar-expand-sm { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-sm .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } +} + +@media (max-width: 767.98px) { + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 768px) { + .navbar-expand-md { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-md .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } +} + +@media (max-width: 991.98px) { + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 992px) { + .navbar-expand-lg { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-lg .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } +} + +@media (max-width: 1199.98px) { + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 1200px) { + .navbar-expand-xl { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-xl .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } +} + +.navbar-expand { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { + padding-right: 0; + padding-left: 0; +} + +.navbar-expand .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; +} + +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; +} + +.navbar-expand .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; +} + +.navbar-expand .navbar-toggler { + display: none; +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} + +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} + +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} + +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-dark .navbar-brand { + color: #fff; +} + +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} + +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-text a { + color: #fff; +} + +.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { + color: #fff; +} + +.card { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} + +.card > hr { + margin-right: 0; + margin-left: 0; +} + +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} + +.card > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} + +.card-body { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + min-height: 1px; + padding: 1.25rem; +} + +.card-title { + margin-bottom: 0.75rem; +} + +.card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link:hover { + text-decoration: none; +} + +.card-link + .card-link { + margin-left: 1.25rem; +} + +.card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; + border-radius: calc(0.25rem - 1px); +} + +.card-img, +.card-img-top, +.card-img-bottom { + -ms-flex-negative: 0; + flex-shrink: 0; + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card-deck .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-deck { + display: -ms-flexbox; + display: flex; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; + } + .card-deck .card { + -ms-flex: 1 0 0%; + flex: 1 0 0%; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; + } +} + +.card-group > .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-group { + display: -ms-flexbox; + display: flex; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + } + .card-group > .card { + -ms-flex: 1 0 0%; + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +.card-columns .card { + margin-bottom: 0.75rem; +} + +@media (min-width: 576px) { + .card-columns { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + -webkit-column-gap: 1.25rem; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; + orphans: 1; + widows: 1; + } + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +.accordion { + overflow-anchor: none; +} + +.accordion > .card { + overflow: hidden; +} + +.accordion > .card:not(:last-of-type) { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.accordion > .card:not(:first-of-type) { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.accordion > .card > .card-header { + border-radius: 0; + margin-bottom: -1px; +} + +.breadcrumb { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.breadcrumb-item { + display: -ms-flexbox; + display: flex; +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} + +.breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + color: #6c757d; + content: "/"; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; +} + +.breadcrumb-item.active { + color: #6c757d; +} + +.pagination { + display: -ms-flexbox; + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; +} + +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #007bff; + background-color: #fff; + border: 1px solid #dee2e6; +} + +.page-link:hover { + z-index: 2; + color: #0056b3; + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.page-link:focus { + z-index: 3; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; +} + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .badge { + transition: none; + } +} + +a.badge:hover, a.badge:focus { + text-decoration: none; +} + +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; +} + +.badge-primary { + color: #fff; + background-color: #007bff; +} + +a.badge-primary:hover, a.badge-primary:focus { + color: #fff; + background-color: #0062cc; +} + +a.badge-primary:focus, a.badge-primary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.badge-secondary { + color: #fff; + background-color: #6c757d; +} + +a.badge-secondary:hover, a.badge-secondary:focus { + color: #fff; + background-color: #545b62; +} + +a.badge-secondary:focus, a.badge-secondary.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.badge-success { + color: #fff; + background-color: #28a745; +} + +a.badge-success:hover, a.badge-success:focus { + color: #fff; + background-color: #1e7e34; +} + +a.badge-success:focus, a.badge-success.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.badge-info { + color: #fff; + background-color: #17a2b8; +} + +a.badge-info:hover, a.badge-info:focus { + color: #fff; + background-color: #117a8b; +} + +a.badge-info:focus, a.badge-info.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.badge-warning { + color: #212529; + background-color: #ffc107; +} + +a.badge-warning:hover, a.badge-warning:focus { + color: #212529; + background-color: #d39e00; +} + +a.badge-warning:focus, a.badge-warning.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.badge-danger { + color: #fff; + background-color: #dc3545; +} + +a.badge-danger:hover, a.badge-danger:focus { + color: #fff; + background-color: #bd2130; +} + +a.badge-danger:focus, a.badge-danger.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.badge-light { + color: #212529; + background-color: #f8f9fa; +} + +a.badge-light:hover, a.badge-light:focus { + color: #212529; + background-color: #dae0e5; +} + +a.badge-light:focus, a.badge-light.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.badge-dark { + color: #fff; + background-color: #343a40; +} + +a.badge-dark:hover, a.badge-dark:focus { + color: #fff; + background-color: #1d2124; +} + +a.badge-dark:focus, a.badge-dark.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.3rem; +} + +@media (min-width: 576px) { + .jumbotron { + padding: 4rem 2rem; + } +} + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} + +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 4rem; +} + +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 0.75rem 1.25rem; + color: inherit; +} + +.alert-primary { + color: #004085; + background-color: #cce5ff; + border-color: #b8daff; +} + +.alert-primary hr { + border-top-color: #9fcdff; +} + +.alert-primary .alert-link { + color: #002752; +} + +.alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db; +} + +.alert-secondary hr { + border-top-color: #c8cbcf; +} + +.alert-secondary .alert-link { + color: #202326; +} + +.alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; +} + +.alert-success hr { + border-top-color: #b1dfbb; +} + +.alert-success .alert-link { + color: #0b2e13; +} + +.alert-info { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; +} + +.alert-info hr { + border-top-color: #abdde5; +} + +.alert-info .alert-link { + color: #062c33; +} + +.alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; +} + +.alert-warning hr { + border-top-color: #ffe8a1; +} + +.alert-warning .alert-link { + color: #533f03; +} + +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; +} + +.alert-danger hr { + border-top-color: #f1b0b7; +} + +.alert-danger .alert-link { + color: #491217; +} + +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; +} + +.alert-light hr { + border-top-color: #ececf6; +} + +.alert-light .alert-link { + color: #686868; +} + +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; +} + +.alert-dark hr { + border-top-color: #b9bbbe; +} + +.alert-dark .alert-link { + color: #040505; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +.progress { + display: -ms-flexbox; + display: flex; + height: 1rem; + overflow: hidden; + line-height: 0; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.progress-bar { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-pack: center; + justify-content: center; + overflow: hidden; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #007bff; + transition: width 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; +} + +.progress-bar-animated { + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + -webkit-animation: none; + animation: none; + } +} + +.media { + display: -ms-flexbox; + display: flex; + -ms-flex-align: start; + align-items: flex-start; +} + +.media-body { + -ms-flex: 1; + flex: 1; +} + +.list-group { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: 0.25rem; +} + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} + +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} + +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + +.list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} + +.list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; +} + +.list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #fff; +} + +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.list-group-item + .list-group-item { + border-top-width: 0; +} + +.list-group-item + .list-group-item.active { + margin-top: -1px; + border-top-width: 1px; +} + +.list-group-horizontal { + -ms-flex-direction: row; + flex-direction: row; +} + +.list-group-horizontal > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; +} + +.list-group-horizontal > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; +} + +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} + +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; +} + +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 768px) { + .list-group-horizontal-md { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 992px) { + .list-group-horizontal-lg { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +@media (min-width: 1200px) { + .list-group-horizontal-xl { + -ms-flex-direction: row; + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} + +.list-group-flush { + border-radius: 0; +} + +.list-group-flush > .list-group-item { + border-width: 0 0 1px; +} + +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + color: #004085; + background-color: #b8daff; +} + +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #004085; + background-color: #9fcdff; +} + +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #004085; + border-color: #004085; +} + +.list-group-item-secondary { + color: #383d41; + background-color: #d6d8db; +} + +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #383d41; + background-color: #c8cbcf; +} + +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #383d41; + border-color: #383d41; +} + +.list-group-item-success { + color: #155724; + background-color: #c3e6cb; +} + +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #155724; + background-color: #b1dfbb; +} + +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #155724; + border-color: #155724; +} + +.list-group-item-info { + color: #0c5460; + background-color: #bee5eb; +} + +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #0c5460; + background-color: #abdde5; +} + +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #0c5460; + border-color: #0c5460; +} + +.list-group-item-warning { + color: #856404; + background-color: #ffeeba; +} + +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #856404; + background-color: #ffe8a1; +} + +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #856404; + border-color: #856404; +} + +.list-group-item-danger { + color: #721c24; + background-color: #f5c6cb; +} + +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #721c24; + background-color: #f1b0b7; +} + +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #721c24; + border-color: #721c24; +} + +.list-group-item-light { + color: #818182; + background-color: #fdfdfe; +} + +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #818182; + background-color: #ececf6; +} + +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #818182; + border-color: #818182; +} + +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; +} + +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #1b1e21; + background-color: #b9bbbe; +} + +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; +} + +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; +} + +.close:hover { + color: #000; + text-decoration: none; +} + +.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { + opacity: .75; +} + +button.close { + padding: 0; + background-color: transparent; + border: 0; +} + +a.close.disabled { + pointer-events: none; +} + +.toast { + -ms-flex-preferred-size: 350px; + flex-basis: 350px; + max-width: 350px; + font-size: 0.875rem; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); + opacity: 0; + border-radius: 0.25rem; +} + +.toast:not(:last-child) { + margin-bottom: 0.75rem; +} + +.toast.showing { + opacity: 1; +} + +.toast.show { + display: block; + opacity: 1; +} + +.toast.hide { + display: none; +} + +.toast-header { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + padding: 0.25rem 0.75rem; + color: #6c757d; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.toast-body { + padding: 0.75rem; +} + +.modal-open { + overflow: hidden; +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +.modal.fade .modal-dialog { + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; + -webkit-transform: translate(0, -50px); + transform: translate(0, -50px); +} + +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} + +.modal.show .modal-dialog { + -webkit-transform: none; + transform: none; +} + +.modal.modal-static .modal-dialog { + -webkit-transform: scale(1.02); + transform: scale(1.02); +} + +.modal-dialog-scrollable { + display: -ms-flexbox; + display: flex; + max-height: calc(100% - 1rem); +} + +.modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden; +} + +.modal-dialog-scrollable .modal-header, +.modal-dialog-scrollable .modal-footer { + -ms-flex-negative: 0; + flex-shrink: 0; +} + +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + min-height: calc(100% - 1rem); +} + +.modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + height: -webkit-min-content; + height: -moz-min-content; + height: min-content; + content: ""; +} + +.modal-dialog-centered.modal-dialog-scrollable { + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-pack: center; + justify-content: center; + height: 100%; +} + +.modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; +} + +.modal-dialog-centered.modal-dialog-scrollable::before { + content: none; +} + +.modal-content { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop.show { + opacity: 0.5; +} + +.modal-header { + display: -ms-flexbox; + display: flex; + -ms-flex-align: start; + align-items: flex-start; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.modal-header .close { + padding: 1rem 1rem; + margin: -1rem -1rem -1rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1rem; +} + +.modal-footer { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: end; + justify-content: flex-end; + padding: 0.75rem; + border-top: 1px solid #dee2e6; + border-bottom-right-radius: calc(0.3rem - 1px); + border-bottom-left-radius: calc(0.3rem - 1px); +} + +.modal-footer > * { + margin: 0.25rem; +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); + } + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); + } + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); + height: -webkit-min-content; + height: -moz-min-content; + height: min-content; + } + .modal-sm { + max-width: 300px; + } +} + +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + max-width: 800px; + } +} + +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} + +.tooltip.show { + opacity: 0.9; +} + +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} + +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { + padding: 0.4rem 0; +} + +.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; +} + +.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} + +.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { + padding: 0 0.4rem; +} + +.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} + +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { + padding: 0.4rem 0; +} + +.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; +} + +.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} + +.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { + padding: 0 0.4rem; +} + +.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} + +.popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; +} + +.popover .arrow::before, .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-popover-top, .bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.5rem; +} + +.bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { + bottom: calc(-0.5rem - 1px); +} + +.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; +} + +.bs-popover-right, .bs-popover-auto[x-placement^="right"] { + margin-left: 0.5rem; +} + +.bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { + left: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; +} + +.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.5rem; +} + +.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { + top: calc(-0.5rem - 1px); +} + +.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; +} + +.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; +} + +.bs-popover-left, .bs-popover-auto[x-placement^="left"] { + margin-right: 0.5rem; +} + +.bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { + right: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); +} + +.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; +} + +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + -ms-touch-action: pan-y; + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: -webkit-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-left), +.active.carousel-item-right { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-right), +.active.carousel-item-left { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + -webkit-transform: none; + transform: none; +} + +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-left, +.carousel-fade .carousel-item-prev.carousel-item-right { + z-index: 1; + opacity: 1; +} + +.carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-right { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-left, + .carousel-fade .active.carousel-item-right { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + opacity: 0.5; + transition: opacity 0.15s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} + +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: no-repeat 50% / 100% 100%; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: -ms-flexbox; + display: flex; + -ms-flex-pack: center; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} + +.carousel-indicators li { + box-sizing: content-box; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: .5; + transition: opacity 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-indicators li { + transition: none; + } +} + +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; +} + +@-webkit-keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: spinner-border .75s linear infinite; + animation: spinner-border .75s linear infinite; +} + +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; +} + +@-webkit-keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: spinner-grow .75s linear infinite; + animation: spinner-grow .75s linear infinite; +} + +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.bg-primary { + background-color: #007bff !important; +} + +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #0062cc !important; +} + +.bg-secondary { + background-color: #6c757d !important; +} + +a.bg-secondary:hover, a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus { + background-color: #545b62 !important; +} + +.bg-success { + background-color: #28a745 !important; +} + +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + background-color: #1e7e34 !important; +} + +.bg-info { + background-color: #17a2b8 !important; +} + +a.bg-info:hover, a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus { + background-color: #117a8b !important; +} + +.bg-warning { + background-color: #ffc107 !important; +} + +a.bg-warning:hover, a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus { + background-color: #d39e00 !important; +} + +.bg-danger { + background-color: #dc3545 !important; +} + +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + background-color: #bd2130 !important; +} + +.bg-light { + background-color: #f8f9fa !important; +} + +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + background-color: #dae0e5 !important; +} + +.bg-dark { + background-color: #343a40 !important; +} + +a.bg-dark:hover, a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus { + background-color: #1d2124 !important; +} + +.bg-white { + background-color: #fff !important; +} + +.bg-transparent { + background-color: transparent !important; +} + +.border { + border: 1px solid #dee2e6 !important; +} + +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +.border-right { + border-right: 1px solid #dee2e6 !important; +} + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +.border-left { + border-left: 1px solid #dee2e6 !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-right-0 { + border-right: 0 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-left-0 { + border-left: 0 !important; +} + +.border-primary { + border-color: #007bff !important; +} + +.border-secondary { + border-color: #6c757d !important; +} + +.border-success { + border-color: #28a745 !important; +} + +.border-info { + border-color: #17a2b8 !important; +} + +.border-warning { + border-color: #ffc107 !important; +} + +.border-danger { + border-color: #dc3545 !important; +} + +.border-light { + border-color: #f8f9fa !important; +} + +.border-dark { + border-color: #343a40 !important; +} + +.border-white { + border-color: #fff !important; +} + +.rounded-sm { + border-radius: 0.2rem !important; +} + +.rounded { + border-radius: 0.25rem !important; +} + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +.rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-lg { + border-radius: 0.3rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: 50rem !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: -ms-flexbox !important; + display: flex !important; +} + +.d-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-sm-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-md-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-lg-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-xl-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-print-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; +} + +.embed-responsive::before { + display: block; + content: ""; +} + +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} + +.embed-responsive-21by9::before { + padding-top: 42.857143%; +} + +.embed-responsive-16by9::before { + padding-top: 56.25%; +} + +.embed-responsive-4by3::before { + padding-top: 75%; +} + +.embed-responsive-1by1::before { + padding-top: 100%; +} + +.flex-row { + -ms-flex-direction: row !important; + flex-direction: row !important; +} + +.flex-column { + -ms-flex-direction: column !important; + flex-direction: column !important; +} + +.flex-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} + +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} + +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} + +.flex-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; +} + +.flex-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; +} + +.flex-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; +} + +.flex-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; +} + +.justify-content-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} + +.justify-content-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} + +.justify-content-center { + -ms-flex-pack: center !important; + justify-content: center !important; +} + +.justify-content-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} + +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} + +.align-items-start { + -ms-flex-align: start !important; + align-items: flex-start !important; +} + +.align-items-end { + -ms-flex-align: end !important; + align-items: flex-end !important; +} + +.align-items-center { + -ms-flex-align: center !important; + align-items: center !important; +} + +.align-items-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; +} + +.align-items-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; +} + +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} + +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} + +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} + +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} + +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} + +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} + +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} + +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} + +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} + +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} + +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} + +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-sm-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-sm-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-sm-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-sm-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-sm-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-sm-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-sm-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-sm-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-sm-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-sm-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-sm-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-sm-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-sm-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-md-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-md-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-md-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-md-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-md-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-md-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-md-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-md-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-md-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-md-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-md-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-md-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-md-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-md-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-lg-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-lg-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-lg-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-lg-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-lg-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-lg-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-lg-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-lg-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-lg-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-lg-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-lg-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-lg-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-lg-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xl-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xl-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-xl-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-xl-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-xl-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xl-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xl-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xl-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-xl-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xl-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xl-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xl-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xl-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +.float-left { + float: left !important; +} + +.float-right { + float: right !important; +} + +.float-none { + float: none !important; +} + +@media (min-width: 576px) { + .float-sm-left { + float: left !important; + } + .float-sm-right { + float: right !important; + } + .float-sm-none { + float: none !important; + } +} + +@media (min-width: 768px) { + .float-md-left { + float: left !important; + } + .float-md-right { + float: right !important; + } + .float-md-none { + float: none !important; + } +} + +@media (min-width: 992px) { + .float-lg-left { + float: left !important; + } + .float-lg-right { + float: right !important; + } + .float-lg-none { + float: none !important; + } +} + +@media (min-width: 1200px) { + .float-xl-left { + float: left !important; + } + .float-xl-right { + float: right !important; + } + .float-xl-none { + float: none !important; + } +} + +.user-select-all { + -webkit-user-select: all !important; + -moz-user-select: all !important; + -ms-user-select: all !important; + user-select: all !important; +} + +.user-select-auto { + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + -ms-user-select: auto !important; + user-select: auto !important; +} + +.user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +@supports ((position: -webkit-sticky) or (position: sticky)) { + .sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.vw-100 { + width: 100vw !important; +} + +.vh-100 { + height: 100vh !important; +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +.m-n3 { + margin: -1rem !important; +} + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +.m-n4 { + margin: -1.5rem !important; +} + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +.m-n5 { + margin: -3rem !important; +} + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + .m-sm-n1 { + margin: -0.25rem !important; + } + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; + } + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; + } + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; + } + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; + } + .m-sm-n2 { + margin: -0.5rem !important; + } + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; + } + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; + } + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; + } + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; + } + .m-sm-n3 { + margin: -1rem !important; + } + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; + } + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; + } + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; + } + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; + } + .m-sm-n4 { + margin: -1.5rem !important; + } + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; + } + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; + } + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; + } + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; + } + .m-sm-n5 { + margin: -3rem !important; + } + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; + } + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; + } + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; + } + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + .m-md-n1 { + margin: -0.25rem !important; + } + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; + } + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; + } + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; + } + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; + } + .m-md-n2 { + margin: -0.5rem !important; + } + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; + } + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; + } + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; + } + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; + } + .m-md-n3 { + margin: -1rem !important; + } + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; + } + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; + } + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; + } + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; + } + .m-md-n4 { + margin: -1.5rem !important; + } + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; + } + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; + } + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; + } + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; + } + .m-md-n5 { + margin: -3rem !important; + } + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; + } + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; + } + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; + } + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + .m-lg-n1 { + margin: -0.25rem !important; + } + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; + } + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; + } + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; + } + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; + } + .m-lg-n2 { + margin: -0.5rem !important; + } + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; + } + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; + } + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; + } + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; + } + .m-lg-n3 { + margin: -1rem !important; + } + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; + } + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; + } + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; + } + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; + } + .m-lg-n4 { + margin: -1.5rem !important; + } + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; + } + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; + } + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; + } + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; + } + .m-lg-n5 { + margin: -3rem !important; + } + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; + } + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; + } + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; + } + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + .m-xl-n1 { + margin: -0.25rem !important; + } + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; + } + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; + } + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; + } + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; + } + .m-xl-n2 { + margin: -0.5rem !important; + } + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; + } + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; + } + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; + } + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; + } + .m-xl-n3 { + margin: -1rem !important; + } + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; + } + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; + } + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; + } + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; + } + .m-xl-n4 { + margin: -1.5rem !important; + } + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; + } + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; + } + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; + } + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; + } + .m-xl-n5 { + margin: -3rem !important; + } + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; + } + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; + } + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; + } + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: rgba(0, 0, 0, 0); +} + +.text-monospace { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; +} + +.text-justify { + text-align: justify !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text-left { + text-align: left !important; +} + +.text-right { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +@media (min-width: 576px) { + .text-sm-left { + text-align: left !important; + } + .text-sm-right { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} + +@media (min-width: 768px) { + .text-md-left { + text-align: left !important; + } + .text-md-right { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} + +@media (min-width: 992px) { + .text-lg-left { + text-align: left !important; + } + .text-lg-right { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + .text-xl-left { + text-align: left !important; + } + .text-xl-right { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.font-weight-light { + font-weight: 300 !important; +} + +.font-weight-lighter { + font-weight: lighter !important; +} + +.font-weight-normal { + font-weight: 400 !important; +} + +.font-weight-bold { + font-weight: 700 !important; +} + +.font-weight-bolder { + font-weight: bolder !important; +} + +.font-italic { + font-style: italic !important; +} + +.text-white { + color: #fff !important; +} + +.text-primary { + color: #007bff !important; +} + +a.text-primary:hover, a.text-primary:focus { + color: #0056b3 !important; +} + +.text-secondary { + color: #6c757d !important; +} + +a.text-secondary:hover, a.text-secondary:focus { + color: #494f54 !important; +} + +.text-success { + color: #28a745 !important; +} + +a.text-success:hover, a.text-success:focus { + color: #19692c !important; +} + +.text-info { + color: #17a2b8 !important; +} + +a.text-info:hover, a.text-info:focus { + color: #0f6674 !important; +} + +.text-warning { + color: #ffc107 !important; +} + +a.text-warning:hover, a.text-warning:focus { + color: #ba8b00 !important; +} + +.text-danger { + color: #dc3545 !important; +} + +a.text-danger:hover, a.text-danger:focus { + color: #a71d2a !important; +} + +.text-light { + color: #f8f9fa !important; +} + +a.text-light:hover, a.text-light:focus { + color: #cbd3da !important; +} + +.text-dark { + color: #343a40 !important; +} + +a.text-dark:hover, a.text-dark:focus { + color: #121416 !important; +} + +.text-body { + color: #212529 !important; +} + +.text-muted { + color: #6c757d !important; +} + +.text-black-50 { + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-break { + word-break: break-word !important; + word-wrap: break-word !important; +} + +.text-reset { + color: inherit !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media print { + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; + } + a:not(.btn) { + text-decoration: underline; + } + abbr[title]::after { + content: " (" attr(title) ")"; + } + pre { + white-space: pre-wrap !important; + } + pre, + blockquote { + border: 1px solid #adb5bd; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + @page { + size: a3; + } + body { + min-width: 992px !important; + } + .container { + min-width: 992px !important; + } + .navbar { + display: none; + } + .badge { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #dee2e6 !important; + } + .table-dark { + color: inherit; + } + .table-dark th, + .table-dark td, + .table-dark thead th, + .table-dark tbody + tbody { + border-color: #dee2e6; + } + .table .thead-dark th { + color: inherit; + border-color: #dee2e6; + } +} +/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap.css.map b/src/main/resources/static/css/bootstrap/bootstrap.css.map new file mode 100644 index 0000000..549dbb4 --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap.scss","bootstrap.css","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/utilities/_interactions.scss","../../scss/utilities/_overflow.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_stretched-link.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ACJF;EAGI,eAAc;EAAd,iBAAc;EAAd,iBAAc;EAAd,eAAc;EAAd,cAAc;EAAd,iBAAc;EAAd,iBAAc;EAAd,gBAAc;EAAd,eAAc;EAAd,eAAc;EAAd,aAAc;EAAd,eAAc;EAAd,oBAAc;EAId,kBAAc;EAAd,oBAAc;EAAd,kBAAc;EAAd,eAAc;EAAd,kBAAc;EAAd,iBAAc;EAAd,gBAAc;EAAd,eAAc;EAId,kBAAiC;EAAjC,sBAAiC;EAAjC,sBAAiC;EAAjC,sBAAiC;EAAjC,uBAAiC;EAKnC,+MAAyB;EACzB,6GAAwB;ADiB1B;;AEjBA;;;EAGE,sBAAsB;AFoBxB;;AEjBA;EACE,uBAAuB;EACvB,iBAAiB;EACjB,8BAA8B;EAC9B,6CCXa;AH+Bf;;AEdA;EACE,cAAc;AFiBhB;;AEPA;EACE,SAAS;EACT,kMCqOiN;ECrJ7M,eAtCY;EFxChB,gBC8O+B;ED7O/B,gBCkP+B;EDjP/B,cCnCgB;EDoChB,gBAAgB;EAChB,sBC9Ca;AHwDf;;AAEA;EECE,qBAAqB;AFCvB;;AEQA;EACE,uBAAuB;EACvB,SAAS;EACT,iBAAiB;AFLnB;;AEkBA;EACE,aAAa;EACb,qBCgNuC;AH/NzC;;AEsBA;EACE,aAAa;EACb,mBCoF8B;AHvGhC;;AE8BA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,gBAAgB;EAChB,sCAA8B;EAA9B,8BAA8B;AF3BhC;;AE8BA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;AF3BtB;;AE8BA;;;EAGE,aAAa;EACb,mBAAmB;AF3BrB;;AE8BA;;;;EAIE,gBAAgB;AF3BlB;;AE8BA;EACE,gBCiJ+B;AH5KjC;;AE8BA;EACE,oBAAoB;EACpB,cAAc;AF3BhB;;AE8BA;EACE,gBAAgB;AF3BlB;;AE8BA;;EAEE,mBCoIkC;AH/JpC;;AE8BA;EExFI,cAAW;AJ8Df;;AEmCA;;EAEE,kBAAkB;EEnGhB,cAAW;EFqGb,cAAc;EACd,wBAAwB;AFhC1B;;AEmCA;EAAM,cAAc;AF/BpB;;AEgCA;EAAM,UAAU;AF5BhB;;AEmCA;EACE,cCvJe;EDwJf,qBCX4C;EDY5C,6BAA6B;AFhC/B;;AKhJE;EHmLE,cCd8D;EDe9D,0BCd+C;AHjBnD;;AEwCA;EACE,cAAc;EACd,qBAAqB;AFrCvB;;AK1JE;EHkME,cAAc;EACd,qBAAqB;AFpCzB;;AE6CA;;;;EAIE,iGCyDgH;EC7M9G,cAAW;AJ2Gf;;AE6CA;EAEE,aAAa;EAEb,mBAAmB;EAEnB,cAAc;EAGd,6BAA6B;AF/C/B;;AEuDA;EAEE,gBAAgB;AFrDlB;;AE6DA;EACE,sBAAsB;EACtB,kBAAkB;AF1DpB;;AE6DA;EAGE,gBAAgB;EAChB,sBAAsB;AF5DxB;;AEoEA;EACE,yBAAyB;AFjE3B;;AEoEA;EACE,oBC6EkC;ED5ElC,uBC4EkC;ED3ElC,cCtQgB;EDuQhB,gBAAgB;EAChB,oBAAoB;AFjEtB;;AEwEA;EAEE,mBAAmB;EACnB,gCAAgC;AFtElC;;AE8EA;EAEE,qBAAqB;EACrB,qBC2J2C;AHvO7C;;AEkFA;EAEE,gBAAgB;AFhFlB;;AEuFA;EACE,mBAAmB;EACnB,0CAA0C;AFpF5C;;AEuFA;;;;;EAKE,SAAS;EACT,oBAAoB;EE5PlB,kBAAW;EF8Pb,oBAAoB;AFpFtB;;AEuFA;;EAEE,iBAAiB;AFpFnB;;AEuFA;;EAEE,oBAAoB;AFpFtB;;AAEA;EEyFE,eAAe;AFvFjB;;AE6FA;EACE,iBAAiB;AF1FnB;;AEiGA;;;;EAIE,0BAA0B;AF9F5B;;AEmGE;;;;EAKI,eAAe;AFjGrB;;AEuGA;;;;EAIE,UAAU;EACV,kBAAkB;AFpGpB;;AEuGA;;EAEE,sBAAsB;EACtB,UAAU;AFpGZ;;AEwGA;EACE,cAAc;EAEd,gBAAgB;AFtGlB;;AEyGA;EAME,YAAY;EAEZ,UAAU;EACV,SAAS;EACT,SAAS;AF5GX;;AEiHA;EACE,cAAc;EACd,WAAW;EACX,eAAe;EACf,UAAU;EACV,oBAAoB;EEnShB,iBAtCY;EF2UhB,oBAAoB;EACpB,cAAc;EACd,mBAAmB;AF9GrB;;AEiHA;EACE,wBAAwB;AF9G1B;;AAEA;;EEkHE,YAAY;AF/Gd;;AAEA;EEqHE,oBAAoB;EACpB,wBAAwB;AFnH1B;;AAEA;EEyHE,wBAAwB;AFvH1B;;AE+HA;EACE,aAAa;EACb,0BAA0B;AF5H5B;;AEmIA;EACE,qBAAqB;AFhIvB;;AEmIA;EACE,kBAAkB;EAClB,eAAe;AFhIjB;;AEmIA;EACE,aAAa;AFhIf;;AAEA;EEoIE,wBAAwB;AFlI1B;;AM1VA;;EAEE,qBHqSuC;EGnSvC,gBHqS+B;EGpS/B,gBHqS+B;AHuDjC;;AMxVA;EFgHM,iBAtCY;AJkRlB;;AM3VA;EF+GM,eAtCY;AJsRlB;;AM9VA;EF8GM,kBAtCY;AJ0RlB;;AMjWA;EF6GM,iBAtCY;AJ8RlB;;AMpWA;EF4GM,kBAtCY;AJkSlB;;AMvWA;EF2GM,eAtCY;AJsSlB;;AMzWA;EFyGM,kBAtCY;EEjEhB,gBHuS+B;AHqEjC;;AMxWA;EFmGM,eAtCY;EE3DhB,gBH0R+B;EGzR/B,gBHiR+B;AH0FjC;;AMzWA;EF8FM,iBAtCY;EEtDhB,gBHsR+B;EGrR/B,gBH4Q+B;AHgGjC;;AM1WA;EFyFM,iBAtCY;EEjDhB,gBHkR+B;EGjR/B,gBHuQ+B;AHsGjC;;AM3WA;EFoFM,iBAtCY;EE5ChB,gBH8Q+B;EG7Q/B,gBHkQ+B;AH4GjC;;AEjVA;EIpBE,gBHgFW;EG/EX,mBH+EW;EG9EX,SAAS;EACT,wCHzCa;AHkZf;;AMjWA;;EFMI,cAAW;EEHb,gBH0N+B;AH0IjC;;AMjWA;;EAEE,cHkQgC;EGjQhC,yBH0QmC;AH0FrC;;AM5VA;EC/EE,eAAe;EACf,gBAAgB;AP+alB;;AM5VA;ECpFE,eAAe;EACf,gBAAgB;APoblB;;AM9VA;EACE,qBAAqB;ANiWvB;;AMlWA;EAII,oBHoP+B;AH8GnC;;AMxVA;EFjCI,cAAW;EEmCb,yBAAyB;AN2V3B;;AMvVA;EACE,mBHuBW;ECRP,kBAtCY;AJkXlB;;AMvVA;EACE,cAAc;EF7CZ,cAAW;EE+Cb,cH1GgB;AHoclB;;AM7VA;EAMI,qBAAqB;AN2VzB;;AQ9cA;ECIE,eAAe;EAGf,YAAY;AT4cd;;AQ7cA;EACE,gBL+/BwC;EK9/BxC,sBLRa;EKSb,yBLNgB;EOQd,sBP6NgC;EMpOlC,eAAe;EAGf,YAAY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EahIX,cbSgB;AHy7ClB;;AgBr8CA;;EAQI,gBbkVgC;EajVhC,mBAAmB;EACnB,6BbJc;AHs8ClB;;AgB58CA;EAcI,sBAAsB;EACtB,gCbTc;AH28ClB;;AgBj9CA;EAmBI,6Bbbc;AH+8ClB;;AgBz7CA;;EAGI,eb4T+B;AH+nCnC;;AgBl7CA;EACE,yBbnCgB;AHw9ClB;;AgBt7CA;;EAKI,yBbvCc;AH69ClB;;AgB37CA;;EAWM,wBAA4C;AhBq7ClD;;AgBh7CA;;;;EAKI,SAAS;AhBk7Cb;;AgB16CA;EAEI,qCb1DW;AHs+Cf;;AK3+CE;EW2EI,cbvEY;EawEZ,sCbvES;AH2+Cf;;AiBv/CE;;;EAII,yBCgG4D;AlBy5ClE;;AiB7/CE;;;;EAYM,qBCwF0D;AlBg6ClE;;AK7/CE;EYiBM,yBAJsC;AjBo/C9C;;AiBr/CE;;EASQ,yBARoC;AjBy/C9C;;AiB7gDE;;;EAII,yBCgG4D;AlB+6ClE;;AiBnhDE;;;;EAYM,qBCwF0D;AlBs7ClE;;AKnhDE;EYiBM,yBAJsC;AjB0gD9C;;AiB3gDE;;EASQ,yBARoC;AjB+gD9C;;AiBniDE;;;EAII,yBCgG4D;AlBq8ClE;;AiBziDE;;;;EAYM,qBCwF0D;AlB48ClE;;AKziDE;EYiBM,yBAJsC;AjBgiD9C;;AiBjiDE;;EASQ,yBARoC;AjBqiD9C;;AiBzjDE;;;EAII,yBCgG4D;AlB29ClE;;AiB/jDE;;;;EAYM,qBCwF0D;AlBk+ClE;;AK/jDE;EYiBM,yBAJsC;AjBsjD9C;;AiBvjDE;;EASQ,yBARoC;AjB2jD9C;;AiB/kDE;;;EAII,yBCgG4D;AlBi/ClE;;AiBrlDE;;;;EAYM,qBCwF0D;AlBw/ClE;;AKrlDE;EYiBM,yBAJsC;AjB4kD9C;;AiB7kDE;;EASQ,yBARoC;AjBilD9C;;AiBrmDE;;;EAII,yBCgG4D;AlBugDlE;;AiB3mDE;;;;EAYM,qBCwF0D;AlB8gDlE;;AK3mDE;EYiBM,yBAJsC;AjBkmD9C;;AiBnmDE;;EASQ,yBARoC;AjBumD9C;;AiB3nDE;;;EAII,yBCgG4D;AlB6hDlE;;AiBjoDE;;;;EAYM,qBCwF0D;AlBoiDlE;;AKjoDE;EYiBM,yBAJsC;AjBwnD9C;;AiBznDE;;EASQ,yBARoC;AjB6nD9C;;AiBjpDE;;;EAII,yBCgG4D;AlBmjDlE;;AiBvpDE;;;;EAYM,qBCwF0D;AlB0jDlE;;AKvpDE;EYiBM,yBAJsC;AjB8oD9C;;AiB/oDE;;EASQ,yBARoC;AjBmpD9C;;AiBvqDE;;;EAII,sCdQS;AHiqDf;;AKtqDE;EYiBM,sCAJsC;AjB6pD9C;;AiB9pDE;;EASQ,sCARoC;AjBkqD9C;;AgB5kDA;EAGM,Wb3GS;Ea4GT,yBbpGY;EaqGZ,qBbgQqD;AH60C3D;;AgBllDA;EAWM,cb5GY;Ea6GZ,yBblHY;EamHZ,qBblHY;AH6rDlB;;AgBtkDA;EACE,Wb3Ha;Ea4Hb,yBbpHgB;AH6rDlB;;AgB3kDA;;;EAOI,qBb4OuD;AH81C3D;;AgBjlDA;EAWI,SAAS;AhB0kDb;;AgBrlDA;EAgBM,2Cb1IS;AHmtDf;;AK9sDE;EW4IM,WbjJO;EakJP,4CblJO;AHwtDf;;ActpDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBwjDvC;EgB7jDG;IASK,SAAS;EhBujDjB;AACF;;AclqDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBokDvC;EgBzkDG;IASK,SAAS;EhBmkDjB;AACF;;Ac9qDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBglDvC;EgBrlDG;IASK,SAAS;EhB+kDjB;AACF;;Ac1rDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhB4lDvC;EgBjmDG;IASK,SAAS;EhB2lDjB;AACF;;AgB1mDA;EAOQ,cAAc;EACd,WAAW;EACX,gBAAgB;EAChB,iCAAiC;AhBumDzC;;AgBjnDA;EAcU,SAAS;AhBumDnB;;AmBpxDA;EACE,cAAc;EACd,WAAW;EACX,mCDiH8D;EChH9D,yBhByXkC;ECpQ9B,eAtCY;Ee5EhB,gBhBkR+B;EgBjR/B,gBhBsR+B;EgBrR/B,chBDgB;EgBEhB,sBhBTa;EgBUb,4BAA4B;EAC5B,yBhBPgB;EOOd,sBP6NgC;EiB/N9B,wEjBue4F;AHmzClG;;AoBtxDM;EDdN;ICeQ,gBAAgB;EpB0xDtB;AACF;;AmB1yDA;EAsBI,6BAA6B;EAC7B,SAAS;AnBwxDb;;AmB/yDA;EA4BI,kBAAkB;EAClB,0BhBrBc;AH4yDlB;;AqB7yDE;EACE,clBAc;EkBCd,sBlBRW;EkBSX,qBlBqdsE;EkBpdtE,UAAU;EAKR,gDlBaW;AH+xDjB;;AmB5zDA;EAqCI,chB9Bc;EgBgCd,UAAU;AnB0xDd;;AmBj0DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnB0xDd;;AmBj0DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnB0xDd;;AmBj0DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnB0xDd;;AmBj0DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnB0xDd;;AmBj0DA;EAiDI,yBhB9Cc;EgBgDd,UAAU;AnBmxDd;;AmB/wDA;;;;EAKI,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;AnBixDpB;;AmB7wDA;EAOI,chB/Dc;EgBgEd,sBhBvEW;AHi1Df;;AmBrwDA;;EAEE,cAAc;EACd,WAAW;AnBwwDb;;AmB9vDA;EACE,iCDyB8D;ECxB9D,oCDwB8D;ECvB9D,gBAAgB;Ef3Bd,kBAAW;Ee6Bb,gBhB+L+B;AHkkDjC;;AmB9vDA;EACE,+BDiB8D;EChB9D,kCDgB8D;EdK1D,kBAtCY;EemBhB,gBhB6H+B;AHooDjC;;AmB9vDA;EACE,gCDU8D;ECT9D,mCDS8D;EdK1D,mBAtCY;Ee0BhB,gBhBuH+B;AH0oDjC;;AmBxvDA;EACE,cAAc;EACd,WAAW;EACX,mBAA2B;EAC3B,gBAAgB;EfDZ,eAtCY;EeyChB,gBhBkK+B;EgBjK/B,chBnHgB;EgBoHhB,6BAA6B;EAC7B,yBAAyB;EACzB,mBAAmC;AnB2vDrC;;AmBrwDA;EAcI,gBAAgB;EAChB,eAAe;AnB2vDnB;;AmB/uDA;EACE,kCD9B8D;EC+B9D,uBhBoPiC;EC9Q7B,mBAtCY;EekEhB,gBhB+E+B;EOxN7B,qBP+N+B;AH6pDnC;;AmB/uDA;EACE,gCDtC8D;ECuC9D,oBhBiPgC;ECnR5B,kBAtCY;Ee0EhB,gBhBsE+B;EOvN7B,qBP8N+B;AHsqDnC;;AmB9uDA;EAGI,YAAY;AnB+uDhB;;AmB3uDA;EACE,YAAY;AnB8uDd;;AmBtuDA;EACE,mBhB0U0C;AH+5C5C;;AmBtuDA;EACE,cAAc;EACd,mBhB2T4C;AH86C9C;;AmBjuDA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,kBAA0C;EAC1C,iBAAyC;AnBouD3C;;AmBxuDA;;EAQI,kBAA0C;EAC1C,iBAAyC;AnBquD7C;;AmB5tDA;EACE,kBAAkB;EAClB,cAAc;EACd,qBhBgS6C;AH+7C/C;;AmB5tDA;EACE,kBAAkB;EAClB,kBhB4R2C;EgB3R3C,qBhB0R6C;AHq8C/C;;AmBluDA;;EAQI,chBzNc;AHw7DlB;;AmB3tDA;EACE,gBAAgB;AnB8tDlB;;AmB3tDA;EACE,2BAAoB;EAApB,oBAAoB;EACpB,sBAAmB;EAAnB,mBAAmB;EACnB,eAAe;EACf,qBhB6Q4C;AHi9C9C;;AmBluDA;EAQI,gBAAgB;EAChB,aAAa;EACb,uBhBwQ4C;EgBvQ5C,cAAc;AnB8tDlB;;AqB36DE;EACE,aAAa;EACb,WAAW;EACX,mBlB0c0C;ECjb1C,cAAW;EiBvBX,clBPa;AHq7DjB;;AqB36DE;EACE,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBgyBqC;EkB/xBrC,iBAAiB;EjBmEf,mBAtCY;EiB3Bd,gBlBsO6B;EkBrO7B,WlBxDW;EkByDX,wClBtBa;EOxBb,sBP6NgC;AHgwDpC;;AqB/8DI;;;;EAuCE,cAAc;ArB+6DpB;;AqBt9DI;EA6CE,qBlBnCW;EkBsCT,oCH0CwD;EGzCxD,iRHpB0E;EGqB1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gEHsCwD;AlBq4DhE;;AqB/9DI;EAwDI,qBlB9CS;EkB+CT,gDlB/CS;AH09DjB;;AqBp+DI;EAkEI,oCHwBwD;EGvBxD,kFHuBwD;AlB+4DhE;;AqBz+DI;EA0EE,qBlBhEW;EkBmET,uCHawD;EGZxD,ujBAA8J;ArBi6DtK;;AqB/+DI;EAkFI,qBlBxES;EkByET,gDlBzES;AH0+DjB;;AqBp/DI;EA2FI,clBjFS;AH8+DjB;;AqBx/DI;;;EAgGI,cAAc;ArB85DtB;;AqB9/DI;EAwGI,clB9FS;AHw/DjB;;AqBlgEI;EA2GM,qBlBjGO;AH4/DjB;;AqBtgEI;EAiHM,qBAAkC;EC3IxC,yBD4I+C;ArBy5DnD;;AqB3gEI;EAwHM,gDlB9GO;AHqgEjB;;AqB/gEI;EA4HM,qBlBlHO;AHygEjB;;AqBnhEI;EAsII,qBlB5HS;AH6gEjB;;AqBvhEI;EA2IM,qBlBjIO;EkBkIP,gDlBlIO;AHkhEjB;;AqBhhEE;EACE,aAAa;EACb,WAAW;EACX,mBlB0c0C;ECjb1C,cAAW;EiBvBX,clBVa;AH6hEjB;;AqBhhEE;EACE,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBgyBqC;EkB/xBrC,iBAAiB;EjBmEf,mBAtCY;EiB3Bd,gBlBsO6B;EkBrO7B,WlBxDW;EkByDX,wClBzBa;EOrBb,sBP6NgC;AHq2DpC;;AqBpjEI;;;;EAuCE,cAAc;ArBohEpB;;AqB3jEI;EA6CE,qBlBtCW;EkByCT,oCH0CwD;EGzCxD,4UHpB0E;EGqB1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gEHsCwD;AlB0+DhE;;AqBpkEI;EAwDI,qBlBjDS;EkBkDT,gDlBlDS;AHkkEjB;;AqBzkEI;EAkEI,oCHwBwD;EGvBxD,kFHuBwD;AlBo/DhE;;AqB9kEI;EA0EE,qBlBnEW;EkBsET,uCHawD;EGZxD,knBAA8J;ArBsgEtK;;AqBplEI;EAkFI,qBlB3ES;EkB4ET,gDlB5ES;AHklEjB;;AqBzlEI;EA2FI,clBpFS;AHslEjB;;AqB7lEI;;;EAgGI,cAAc;ArBmgEtB;;AqBnmEI;EAwGI,clBjGS;AHgmEjB;;AqBvmEI;EA2GM,qBlBpGO;AHomEjB;;AqB3mEI;EAiHM,qBAAkC;EC3IxC,yBD4I+C;ArB8/DnD;;AqBhnEI;EAwHM,gDlBjHO;AH6mEjB;;AqBpnEI;EA4HM,qBlBrHO;AHinEjB;;AqBxnEI;EAsII,qBlB/HS;AHqnEjB;;AqB5nEI;EA2IM,qBlBpIO;EkBqIP,gDlBrIO;AH0nEjB;;AmB/4DA;EACE,oBAAa;EAAb,aAAa;EACb,uBAAmB;EAAnB,mBAAmB;EACnB,sBAAmB;EAAnB,mBAAmB;AnBk5DrB;;AmBr5DA;EASI,WAAW;AnBg5Df;;Ac/mEI;EKsNJ;IAeM,oBAAa;IAAb,aAAa;IACb,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;IACvB,gBAAgB;EnB+4DpB;EmBj6DF;IAuBM,oBAAa;IAAb,aAAa;IACb,kBAAc;IAAd,cAAc;IACd,uBAAmB;IAAnB,mBAAmB;IACnB,sBAAmB;IAAnB,mBAAmB;IACnB,gBAAgB;EnB64DpB;EmBx6DF;IAgCM,qBAAqB;IACrB,WAAW;IACX,sBAAsB;EnB24D1B;EmB76DF;IAuCM,qBAAqB;EnBy4DzB;EmBh7DF;;IA4CM,WAAW;EnBw4Df;EmBp7DF;IAkDM,oBAAa;IAAb,aAAa;IACb,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;IACvB,WAAW;IACX,eAAe;EnBq4DnB;EmB37DF;IAyDM,kBAAkB;IAClB,oBAAc;IAAd,cAAc;IACd,aAAa;IACb,qBhB+KwC;IgB9KxC,cAAc;EnBq4DlB;EmBl8DF;IAiEM,sBAAmB;IAAnB,mBAAmB;IACnB,qBAAuB;IAAvB,uBAAuB;EnBo4D3B;EmBt8DF;IAqEM,gBAAgB;EnBo4DpB;AACF;;AuBttEA;EACE,qBAAqB;EAErB,gBpBsR+B;EoBrR/B,cpBMgB;EoBLhB,kBAAkB;EAGlB,sBAAsB;EACtB,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;ECuF3C,yBrB2RkC;ECpQ9B,eAtCY;EoBiBhB,gBrB0L+B;EOlR7B,sBP6NgC;EiB/N9B,qIjBgb6I;AH4yDnJ;;AoBxtEM;EGdN;IHeQ,gBAAgB;EpB4tEtB;AACF;;AKtuEE;EkBUE,cpBNc;EoBOd,qBAAqB;AvBguEzB;;AuBjvEA;EAsBI,UAAU;EACV,gDpBMa;AHytEjB;;AuBtvEA;EA6BI,apBiZ6B;AH40DjC;;AuB1vEA;EAkCI,eAAsD;AvB4tE1D;;AuB9sEA;;EAEE,oBAAoB;AvBitEtB;;AuBxsEE;EC3DA,WrBCa;EmBDX,yBnB6Ba;EqB3Bf,qBrB2Be;AH4uEjB;;AKnwEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBgxE7H;;AwBpwEE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxBkwEvF;;AwB7vEE;EAEE,WrB1BW;EqB2BX,yBrBCa;EqBAb,qBrBAa;AH+vEjB;;AwBxvEE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBoyEnN;;AwBrvEI;;EAKI,gDAAiF;AxBqvEzF;;AuB7uEE;EC3DA,WrBCa;EmBDX,yBnBOc;EqBLhB,qBrBKgB;AHuyElB;;AKxyEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBqzE7H;;AwBzyEE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,iDAAiF;AxBuyEvF;;AwBlyEE;EAEE,WrB1BW;EqB2BX,yBrBrBc;EqBsBd,qBrBtBc;AH0zElB;;AwB7xEE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBy0EnN;;AwB1xEI;;EAKI,iDAAiF;AxB0xEzF;;AuBlxEE;EC3DA,WrBCa;EmBDX,yBnBoCa;EqBlCf,qBrBkCe;AH+yEjB;;AK70EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB01E7H;;AwB90EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,+CAAiF;AxB40EvF;;AwBv0EE;EAEE,WrB1BW;EqB2BX,yBrBQa;EqBPb,qBrBOa;AHk0EjB;;AwBl0EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxB82EnN;;AwB/zEI;;EAKI,+CAAiF;AxB+zEzF;;AuBvzEE;EC3DA,WrBCa;EmBDX,yBnBsCa;EqBpCf,qBrBoCe;AHk1EjB;;AKl3EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB+3E7H;;AwBn3EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxBi3EvF;;AwB52EE;EAEE,WrB1BW;EqB2BX,yBrBUa;EqBTb,qBrBSa;AHq2EjB;;AwBv2EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBm5EnN;;AwBp2EI;;EAKI,gDAAiF;AxBo2EzF;;AuB51EE;EC3DA,crBUgB;EmBVd,yBnBmCa;EqBjCf,qBrBiCe;AH03EjB;;AKv5EE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxBo6E7H;;AwBx5EE;EAEE,crBHc;EmBVd,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxBs5EvF;;AwBj5EE;EAEE,crBjBc;EqBkBd,yBrBOa;EqBNb,qBrBMa;AH64EjB;;AwB54EE;;EAGE,crB7Bc;EqB8Bd,yBAzCuK;EA6CvK,qBA7C+M;AxBw7EnN;;AwBz4EI;;EAKI,gDAAiF;AxBy4EzF;;AuBj4EE;EC3DA,WrBCa;EmBDX,yBnBiCa;EqB/Bf,qBrB+Be;AHi6EjB;;AK57EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBy8E7H;;AwB77EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,+CAAiF;AxB27EvF;;AwBt7EE;EAEE,WrB1BW;EqB2BX,yBrBKa;EqBJb,qBrBIa;AHo7EjB;;AwBj7EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxB69EnN;;AwB96EI;;EAKI,+CAAiF;AxB86EzF;;AuBt6EE;EC3DA,crBUgB;EmBVd,yBnBEc;EqBAhB,qBrBAgB;AHq+ElB;;AKj+EE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxB8+E7H;;AwBl+EE;EAEE,crBHc;EmBVd,yBEDoF;EAgBpF,qBAhByH;EAqBvH,iDAAiF;AxBg+EvF;;AwB39EE;EAEE,crBjBc;EqBkBd,yBrB1Bc;EqB2Bd,qBrB3Bc;AHw/ElB;;AwBt9EE;;EAGE,crB7Bc;EqB8Bd,yBAzCuK;EA6CvK,qBA7C+M;AxBkgFnN;;AwBn9EI;;EAKI,iDAAiF;AxBm9EzF;;AuB38EE;EC3DA,WrBCa;EmBDX,yBnBSc;EqBPhB,qBrBOgB;AHmgFlB;;AKtgFE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBmhF7H;;AwBvgFE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,8CAAiF;AxBqgFvF;;AwBhgFE;EAEE,WrB1BW;EqB2BX,yBrBnBc;EqBoBd,qBrBpBc;AHshFlB;;AwB3/EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBuiFnN;;AwBx/EI;;EAKI,8CAAiF;AxBw/EzF;;AuB1+EE;ECPA,crB7Be;EqB8Bf,qBrB9Be;AHmhFjB;;AK1iFE;EmBwDE,WrB7DW;EqB8DX,yBrBlCa;EqBmCb,qBrBnCa;AHyhFjB;;AwBn/EE;EAEE,+CrBxCa;AH6hFjB;;AwBl/EE;EAEE,crB7Ca;EqB8Cb,6BAA6B;AxBo/EjC;;AwBj/EE;;EAGE,WrBhFW;EqBiFX,yBrBrDa;EqBsDb,qBrBtDa;AHyiFjB;;AwBj/EI;;EAKI,+CrB7DS;AH8iFjB;;AuB1gFE;ECPA,crBnDgB;EqBoDhB,qBrBpDgB;AHykFlB;;AK1kFE;EmBwDE,WrB7DW;EqB8DX,yBrBxDc;EqByDd,qBrBzDc;AH+kFlB;;AwBnhFE;EAEE,iDrB9Dc;AHmlFlB;;AwBlhFE;EAEE,crBnEc;EqBoEd,6BAA6B;AxBohFjC;;AwBjhFE;;EAGE,WrBhFW;EqBiFX,yBrB3Ec;EqB4Ed,qBrB5Ec;AH+lFlB;;AwBjhFI;;EAKI,iDrBnFU;AHomFlB;;AuB1iFE;ECPA,crBtBe;EqBuBf,qBrBvBe;AH4kFjB;;AK1mFE;EmBwDE,WrB7DW;EqB8DX,yBrB3Ba;EqB4Bb,qBrB5Ba;AHklFjB;;AwBnjFE;EAEE,+CrBjCa;AHslFjB;;AwBljFE;EAEE,crBtCa;EqBuCb,6BAA6B;AxBojFjC;;AwBjjFE;;EAGE,WrBhFW;EqBiFX,yBrB9Ca;EqB+Cb,qBrB/Ca;AHkmFjB;;AwBjjFI;;EAKI,+CrBtDS;AHumFjB;;AuB1kFE;ECPA,crBpBe;EqBqBf,qBrBrBe;AH0mFjB;;AK1oFE;EmBwDE,WrB7DW;EqB8DX,yBrBzBa;EqB0Bb,qBrB1Ba;AHgnFjB;;AwBnlFE;EAEE,gDrB/Ba;AHonFjB;;AwBllFE;EAEE,crBpCa;EqBqCb,6BAA6B;AxBolFjC;;AwBjlFE;;EAGE,WrBhFW;EqBiFX,yBrB5Ca;EqB6Cb,qBrB7Ca;AHgoFjB;;AwBjlFI;;EAKI,gDrBpDS;AHqoFjB;;AuB1mFE;ECPA,crBvBe;EqBwBf,qBrBxBe;AH6oFjB;;AK1qFE;EmBwDE,crBpDc;EqBqDd,yBrB5Ba;EqB6Bb,qBrB7Ba;AHmpFjB;;AwBnnFE;EAEE,+CrBlCa;AHupFjB;;AwBlnFE;EAEE,crBvCa;EqBwCb,6BAA6B;AxBonFjC;;AwBjnFE;;EAGE,crBvEc;EqBwEd,yBrB/Ca;EqBgDb,qBrBhDa;AHmqFjB;;AwBjnFI;;EAKI,+CrBvDS;AHwqFjB;;AuB1oFE;ECPA,crBzBe;EqB0Bf,qBrB1Be;AH+qFjB;;AK1sFE;EmBwDE,WrB7DW;EqB8DX,yBrB9Ba;EqB+Bb,qBrB/Ba;AHqrFjB;;AwBnpFE;EAEE,+CrBpCa;AHyrFjB;;AwBlpFE;EAEE,crBzCa;EqB0Cb,6BAA6B;AxBopFjC;;AwBjpFE;;EAGE,WrBhFW;EqBiFX,yBrBjDa;EqBkDb,qBrBlDa;AHqsFjB;;AwBjpFI;;EAKI,+CrBzDS;AH0sFjB;;AuB1qFE;ECPA,crBxDgB;EqByDhB,qBrBzDgB;AH8uFlB;;AK1uFE;EmBwDE,crBpDc;EqBqDd,yBrB7Dc;EqB8Dd,qBrB9Dc;AHovFlB;;AwBnrFE;EAEE,iDrBnEc;AHwvFlB;;AwBlrFE;EAEE,crBxEc;EqByEd,6BAA6B;AxBorFjC;;AwBjrFE;;EAGE,crBvEc;EqBwEd,yBrBhFc;EqBiFd,qBrBjFc;AHowFlB;;AwBjrFI;;EAKI,iDrBxFU;AHywFlB;;AuB1sFE;ECPA,crBjDgB;EqBkDhB,qBrBlDgB;AHuwFlB;;AK1wFE;EmBwDE,WrB7DW;EqB8DX,yBrBtDc;EqBuDd,qBrBvDc;AH6wFlB;;AwBntFE;EAEE,8CrB5Dc;AHixFlB;;AwBltFE;EAEE,crBjEc;EqBkEd,6BAA6B;AxBotFjC;;AwBjtFE;;EAGE,WrBhFW;EqBiFX,yBrBzEc;EqB0Ed,qBrB1Ec;AH6xFlB;;AwBjtFI;;EAKI,8CrBjFU;AHkyFlB;;AuB/tFA;EACE,gBpB4M+B;EoB3M/B,cpBjDe;EoBkDf,qBpB2F4C;AHuoF9C;;AK3yFE;EkB4EE,cpByF8D;EoBxF9D,0BpByF+C;AH0oFnD;;AuB1uFA;EAYI,0BpBoF+C;AH8oFnD;;AuB9uFA;EAiBI,cpBtFc;EoBuFd,oBAAoB;AvBiuFxB;;AuBttFA;ECPE,oBrB0SgC;ECnR5B,kBAtCY;EoBiBhB,gBrB+H+B;EOvN7B,qBP8N+B;AH4lFnC;;AuBztFA;ECXE,uBrBqSiC;EC9Q7B,mBAtCY;EoBiBhB,gBrBgI+B;EOxN7B,qBP+N+B;AHkmFnC;;AuBvtFA;EACE,cAAc;EACd,WAAW;AvB0tFb;;AuB5tFA;EAMI,kBpBuT+B;AHm6EnC;;AuBrtFA;;;EAII,WAAW;AvButFf;;AyBl2FA;ELgBM,gCjBiP2C;AHqmFjD;;AoBl1FM;EKpBN;ILqBQ,gBAAgB;EpBs1FtB;AACF;;AyB52FA;EAII,UAAU;AzB42Fd;;AyBx2FA;EAEI,aAAa;AzB02FjB;;AyBt2FA;EACE,kBAAkB;EAClB,SAAS;EACT,gBAAgB;ELDZ,6BjBkPwC;AHynF9C;;AoBv2FM;EKNN;ILOQ,gBAAgB;EpB22FtB;AACF;;A0Bh4FA;;;;EAIE,kBAAkB;A1Bm4FpB;;A0Bh4FA;EACE,mBAAmB;A1Bm4FrB;;A2B/2FI;EACE,qBAAqB;EACrB,oBxB+N0C;EwB9N1C,uBxB6N0C;EwB5N1C,WAAW;EAhCf,uBAA8B;EAC9B,qCAA4C;EAC5C,gBAAgB;EAChB,oCAA2C;A3Bm5F7C;;A2B91FI;EACE,cAAc;A3Bi2FpB;;A0B34FA;EACE,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,avBwpBsC;EuBvpBtC,aAAa;EACb,WAAW;EACX,gBvB8tBuC;EuB7tBvC,iBvB8tBmC;EuB7tBnC,oBAA4B;EtBsGxB,eAtCY;EsB9DhB,cvBXgB;EuBYhB,gBAAgB;EAChB,gBAAgB;EAChB,sBvBvBa;EuBwBb,4BAA4B;EAC5B,qCvBfa;EOCX,sBP6NgC;AHgsFpC;;A0Bt4FI;EACE,WAAW;EACX,OAAO;A1By4Fb;;A0Bt4FI;EACE,QAAQ;EACR,UAAU;A1By4FhB;;Ac73FI;EYnBA;IACE,WAAW;IACX,OAAO;E1Bo5FX;E0Bj5FE;IACE,QAAQ;IACR,UAAU;E1Bm5Fd;AACF;;Acx4FI;EYnBA;IACE,WAAW;IACX,OAAO;E1B+5FX;E0B55FE;IACE,QAAQ;IACR,UAAU;E1B85Fd;AACF;;Acn5FI;EYnBA;IACE,WAAW;IACX,OAAO;E1B06FX;E0Bv6FE;IACE,QAAQ;IACR,UAAU;E1By6Fd;AACF;;Ac95FI;EYnBA;IACE,WAAW;IACX,OAAO;E1Bq7FX;E0Bl7FE;IACE,QAAQ;IACR,UAAU;E1Bo7Fd;AACF;;A0B96FA;EAEI,SAAS;EACT,YAAY;EACZ,aAAa;EACb,uBvB4rBuC;AHovE3C;;A2B/8FI;EACE,qBAAqB;EACrB,oBxB+N0C;EwB9N1C,uBxB6N0C;EwB5N1C,WAAW;EAzBf,aAAa;EACb,qCAA4C;EAC5C,0BAAiC;EACjC,oCAA2C;A3B4+F7C;;A2B97FI;EACE,cAAc;A3Bi8FpB;;A0Bv7FA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,qBvB8qBuC;AH2wE3C;;A2Bt+FI;EACE,qBAAqB;EACrB,oBxB+N0C;EwB9N1C,uBxB6N0C;EwB5N1C,WAAW;EAlBf,mCAA0C;EAC1C,eAAe;EACf,sCAA6C;EAC7C,wBAA+B;A3B4/FjC;;A2Br9FI;EACE,cAAc;A3Bw9FpB;;A2Br/FI;EDmDE,iBAAiB;A1Bs8FvB;;A0Bj8FA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,sBvB6pBuC;AHsyE3C;;A2BjgGI;EACE,qBAAqB;EACrB,oBxB+N0C;EwB9N1C,uBxB6N0C;EwB5N1C,WAAW;A3BogGjB;;A2BxgGI;EAgBI,aAAa;A3B4/FrB;;A2Bz/FM;EACE,qBAAqB;EACrB,qBxB4MwC;EwB3MxC,uBxB0MwC;EwBzMxC,WAAW;EA9BjB,mCAA0C;EAC1C,yBAAgC;EAChC,sCAA6C;A3B2hG/C;;A2B1/FI;EACE,cAAc;A3B6/FpB;;A2BvgGM;EDiDA,iBAAiB;A1B09FvB;;A0Bn9FA;EAKI,WAAW;EACX,YAAY;A1Bk9FhB;;A0B78FA;EE9GE,SAAS;EACT,gBAAmB;EACnB,gBAAgB;EAChB,6BzBCgB;AH8jGlB;;A0B78FA;EACE,cAAc;EACd,WAAW;EACX,uBvBipBwC;EuBhpBxC,WAAW;EACX,gBvBgK+B;EuB/J/B,cvBhHgB;EuBiHhB,mBAAmB;EAEnB,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;A1B+8FX;;AKpkGE;EqBoIE,cvBinBqD;EuBhnBrD,qBAAqB;EJ/IrB,yBnBEc;AHklGlB;;A0Bh+FA;EAiCI,WvBpJW;EuBqJX,qBAAqB;EJtJrB,yBnB6Ba;AH6jGjB;;A0Bt+FA;EAwCI,cvBrJc;EuBsJd,oBAAoB;EACpB,6BAA6B;A1Bk8FjC;;A0B17FA;EACE,cAAc;A1B67FhB;;A0Bz7FA;EACE,cAAc;EACd,sBvB2lBwC;EuB1lBxC,gBAAgB;EtBrDZ,mBAtCY;EsB6FhB,cvBzKgB;EuB0KhB,mBAAmB;A1B47FrB;;A0Bx7FA;EACE,cAAc;EACd,uBvBilBwC;EuBhlBxC,cvB9KgB;AHymGlB;;A6BtnGA;;EAEE,kBAAkB;EAClB,2BAAoB;EAApB,oBAAoB;EACpB,sBAAsB;A7BynGxB;;A6B7nGA;;EAOI,kBAAkB;EAClB,kBAAc;EAAd,cAAc;A7B2nGlB;;AK1nGE;;EwBII,UAAU;A7B2nGhB;;A6BxoGA;;;;EAkBM,UAAU;A7B6nGhB;;A6BvnGA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,oBAA2B;EAA3B,2BAA2B;A7B0nG7B;;A6B7nGA;EAMI,WAAW;A7B2nGf;;A6BvnGA;;EAII,iB1BmM6B;AHq7FjC;;A6B5nGA;;EnBHI,0BmBa8B;EnBZ9B,6BmBY8B;A7BwnGlC;;A6BloGA;;EnBWI,yBmBI6B;EnBH7B,4BmBG6B;A7BynGjC;;A6BzmGA;EACE,wBAAmC;EACnC,uBAAkC;A7B4mGpC;;A6B9mGA;;;EAOI,cAAc;A7B6mGlB;;A6B1mGE;EACE,eAAe;A7B6mGnB;;A6BzmGA;EACE,uBAAsC;EACtC,sBAAqC;A7B4mGvC;;A6BzmGA;EACE,sBAAsC;EACtC,qBAAqC;A7B4mGvC;;A6BxlGA;EACE,0BAAsB;EAAtB,sBAAsB;EACtB,qBAAuB;EAAvB,uBAAuB;EACvB,qBAAuB;EAAvB,uBAAuB;A7B2lGzB;;A6B9lGA;;EAOI,WAAW;A7B4lGf;;A6BnmGA;;EAYI,gB1BkH6B;AH0+FjC;;A6BxmGA;;EnBrEI,6BmBuF+B;EnBtF/B,4BmBsF+B;A7B4lGnC;;A6B9mGA;;EnBnFI,yBmB0G4B;EnBzG5B,0BmByG4B;A7B6lGhC;;A6B5kGA;;EAGI,gBAAgB;A7B8kGpB;;A6BjlGA;;;;EAOM,kBAAkB;EAClB,sBAAsB;EACtB,oBAAoB;A7BilG1B;;A8B1uGA;EACE,kBAAkB;EAClB,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,uBAAoB;EAApB,oBAAoB;EACpB,WAAW;A9B6uGb;;A8BlvGA;;;;EAWI,kBAAkB;EAClB,kBAAc;EAAd,cAAc;EACd,SAAS;EACT,YAAY;EACZ,gBAAgB;A9B8uGpB;;A8B7vGA;;;;;;;;;;;;EAoBM,iB3BkN2B;AHsiGjC;;A8B5wGA;;;EA4BI,UAAU;A9BsvGd;;A8BlxGA;EAiCI,UAAU;A9BqvGd;;A8BtxGA;;EpB4BI,0BoBUmD;EpBTnD,6BoBSmD;A9BsvGvD;;A8B5xGA;;EpB0CI,yBoBHmD;EpBInD,4BoBJmD;A9B2vGvD;;A8BlyGA;EA6CI,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;A9ByvGvB;;A8BvyGA;;EpB4BI,0BoBqB6E;EpBpB7E,6BoBoB6E;A9B4vGjF;;A8B7yGA;EpB0CI,yBoBQsE;EpBPtE,4BoBOsE;A9BgwG1E;;A8BrvGA;;EAEE,oBAAa;EAAb,aAAa;A9BwvGf;;A8B1vGA;;EAQI,kBAAkB;EAClB,UAAU;A9BuvGd;;A8BhwGA;;EAYM,UAAU;A9ByvGhB;;A8BrwGA;;;;;;;;EAoBI,iB3BqJ6B;AHumGjC;;A8BxvGA;EAAuB,kB3BiJU;AH2mGjC;;A8B3vGA;EAAsB,iB3BgJW;AH+mGjC;;A8BvvGA;EACE,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,yB3B4RkC;E2B3RlC,gBAAgB;E1BuBZ,eAtCY;E0BiBhB,gB3BqL+B;E2BpL/B,gB3ByL+B;E2BxL/B,c3B9FgB;E2B+FhB,kBAAkB;EAClB,mBAAmB;EACnB,yB3BtGgB;E2BuGhB,yB3BrGgB;EOOd,sBP6NgC;AH4nGpC;;A8BvwGA;;EAkBI,aAAa;A9B0vGjB;;A8BhvGA;;EAEE,gCZR8D;AlB2vGhE;;A8BhvGA;;;;;;EAME,oB3BuQgC;ECnR5B,kBAtCY;E0BoDhB,gB3B4F+B;EOvN7B,qBP8N+B;AHipGnC;;A8BhvGA;;EAEE,kCZzB8D;AlB4wGhE;;A8BhvGA;;;;;;EAME,uB3BiPiC;EC9Q7B,mBAtCY;E0BqEhB,gB3B4E+B;EOxN7B,qBP+N+B;AHiqGnC;;A8BhvGA;;EAEE,sBAA0E;A9BmvG5E;;A8BxuGA;;;;;;EpB7II,0BoBmJ4B;EpBlJ5B,6BoBkJ4B;A9B4uGhC;;A8BzuGA;;;;;;EpBxII,yBoB8I2B;EpB7I3B,4BoB6I2B;A9B6uG/B;;A+Bl6GA;EACE,kBAAkB;EAClB,UAAU;EACV,cAAc;EACd,kBAA+C;EAC/C,oBAAqE;EACrE,iCAAmB;EAAnB,mBAAmB;A/Bq6GrB;;A+Bl6GA;EACE,2BAAoB;EAApB,oBAAoB;EACpB,kB5Bwf0C;AH66F5C;;A+Bl6GA;EACE,kBAAkB;EAClB,OAAO;EACP,WAAW;EACX,W5Bof0C;E4Bnf1C,eAAkF;EAClF,UAAU;A/Bq6GZ;;A+B36GA;EASI,W5BzBW;E4B0BX,qB5BEa;EmB7Bb,yBnB6Ba;AHq6GjB;;A+Bj7GA;EAoBM,gD5BRW;AHy6GjB;;A+Br7GA;EAyBI,qB5BqbsE;AH2+F1E;;A+Bz7GA;EA6BI,W5B7CW;E4B8CX,yB5Bif8E;E4Bhf9E,qB5Bgf8E;AHg7FlF;;A+B/7GA;EAuCM,c5BjDY;AH68GlB;;A+Bn8GA;EA0CQ,yB5BxDU;AHq9GlB;;A+Bn5GA;EACE,kBAAkB;EAClB,gBAAgB;EAEhB,mBAAmB;A/Bq5GrB;;A+Bz5GA;EASI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5BubwC;E4BtbxC,Y5BsbwC;E4BrbxC,oBAAoB;EACpB,WAAW;EACX,sB5BrFW;E4BsFX,yB5B+I6B;AHqwGjC;;A+Bt6GA;EAwBI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5BwawC;E4BvaxC,Y5BuawC;E4BtaxC,WAAW;EACX,mCAAgE;A/Bk5GpE;;A+Bz4GA;ErBjGI,sBP6NgC;AHixGpC;;A+B74GA;EAOM,kOb7D4E;AlBu8GlF;;A+Bj5GA;EAaM,qB5B7FW;EmB7Bb,yBnB6Ba;AHs+GjB;;A+Bt5GA;EAkBM,+KbxE4E;AlBg9GlF;;A+B15GA;ET7GI,wCnB6Ba;AH8+GjB;;A+B95GA;ET7GI,wCnB6Ba;AHk/GjB;;A+B93GA;EAGI,kB5ByZ+C;AHs+FnD;;A+Bl4GA;EAQM,8KblG4E;AlBg+GlF;;A+Bt4GA;ETjJI,wCnB6Ba;AH8/GjB;;A+Bl3GA;EACE,qBAA2D;A/Bq3G7D;;A+Bt3GA;EAKM,cAAqD;EACrD,c5BiY+E;E4BhY/E,mBAAmB;EAEnB,qB5B+X4E;AHq/FlF;;A+B73GA;EAaM,wBblE0D;EamE1D,0BbnE0D;EaoE1D,uBbhD0D;EaiD1D,wBbjD0D;EakD1D,yB5BpLY;E4BsLZ,qB5BqX4E;EiBviB5E,iJjByf+H;EiBzf/H,yIjByf+H;EiBzf/H,8KjByf+H;AH6iGrI;;AoBliHM;EW2JN;IX1JQ,gBAAgB;EpBsiHtB;AACF;;A+B74GA;EA0BM,sB5BlMS;E4BmMT,sCAA4E;EAA5E,8BAA4E;A/Bu3GlF;;A+Bl5GA;ETzKI,wCnB6Ba;AHkiHjB;;A+Bz2GA;EACE,qBAAqB;EACrB,WAAW;EACX,mCbrG8D;EasG9D,0C5BmKkC;ECpQ9B,eAtCY;E2B0IhB,gB5B4D+B;E4B3D/B,gB5BgE+B;E4B/D/B,c5BvNgB;E4BwNhB,sBAAsB;EACtB,uO5BkW+I;E4BjW/I,yB5B7NgB;EOOd,sBP6NgC;E4BJlC,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/B02GlB;;A+Bz3GA;EAkBI,qB5BuPsE;E4BtPtE,UAAU;EAKR,gD5BjNW;AHwjHjB;;A+B/3GA;EAiCM,c5B/OY;E4BgPZ,sB5BvPS;AHylHf;;A+Bp4GA;EAwCI,YAAY;EACZ,sB5B8HgC;E4B7HhC,sBAAsB;A/Bg2G1B;;A+B14GA;EA8CI,c5B7Pc;E4B8Pd,yB5BlQc;AHkmHlB;;A+B/4GA;EAoDI,aAAa;A/B+1GjB;;A+Bn5GA;EAyDI,kBAAkB;EAClB,0B5BxQc;AHsmHlB;;A+B11GA;EACE,kCbjK8D;EakK9D,oB5BgHkC;E4B/GlC,uB5B+GkC;E4B9GlC,oB5B+GiC;EC9Q7B,mBAtCY;AJmiHlB;;A+B11GA;EACE,gCbzK8D;Ea0K9D,mB5B6GiC;E4B5GjC,sB5B4GiC;E4B3GjC,kB5B4GgC;ECnR5B,kBAtCY;AJ2iHlB;;A+Br1GA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,mCbzL8D;Ea0L9D,gBAAgB;A/Bw1GlB;;A+Br1GA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,mCbjM8D;EakM9D,SAAS;EACT,UAAU;A/Bw1GZ;;A+B91GA;EASI,qB5BqKsE;E4BpKtE,gD5B9Ra;AHunHjB;;A+Bn2GA;;EAgBI,yB5B9Tc;AHspHlB;;A+Bx2GA;EAqBM,iB5B4TQ;AH2hGd;;A+B52GA;EA0BI,0BAA0B;A/Bs1G9B;;A+Bl1GA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,mCbjO8D;EakO9D,yB5BuCkC;E4BrClC,gB5B/D+B;E4BgE/B,gB5B3D+B;E4B4D/B,c5BlVgB;E4BmVhB,sB5B1Va;E4B2Vb,yB5BvVgB;EOOd,sBP6NgC;AHw8GpC;;A+Bl2GA;EAkBI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,UAAU;EACV,cAAc;EACd,6BbnP4D;EaoP5D,yB5BqBgC;E4BpBhC,gB5B3E6B;E4B4E7B,c5BlWc;E4BmWd,iBAAiB;ET3WjB,yBnBGc;E4B0Wd,oBAAoB;ErBjWpB,kCqBkWgF;A/Bo1GpF;;A+B10GA;EACE,WAAW;EACX,cbzQ2B;Ea0Q3B,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/B60GlB;;A+Bl1GA;EAQI,aAAa;A/B80GjB;;A+Bt1GA;EAY8B,gE5BvWb;AHqrHjB;;A+B11GA;EAa8B,gE5BxWb;AHyrHjB;;A+B91GA;EAc8B,gE5BzWb;AH6rHjB;;A+Bl2GA;EAkBI,SAAS;A/Bo1Gb;;A+Bt2GA;EAsBI,W5BqN6C;E4BpN7C,Y5BoN6C;E4BnN7C,oBAAyE;EThZzE,yBnB6Ba;E4BqXb,S5BoN0C;EO1lB1C,mBP2lB6C;EiB7lB3C,oHjByf+H;EiBzf/H,4GjByf+H;E4B7GjI,wBAAgB;EAAhB,gBAAgB;A/Bm1GpB;;AoB3tHM;EW0WN;IXzWQ,wBAAgB;IAAhB,gBAAgB;EpB+tHtB;AACF;;A+Bv3GA;ETxXI,yBnB2mB2E;AHwoG/E;;A+B33GA;EAsCI,W5B8LoC;E4B7LpC,c5B8LqC;E4B7LrC,kBAAkB;EAClB,e5B6LuC;E4B5LvC,yB5B9Zc;E4B+Zd,yBAAyB;ErBvZzB,mBPolBoC;AH6pGxC;;A+Br4GA;EAiDI,W5B0L6C;E4BzL7C,Y5ByL6C;EmBnmB7C,yBnB6Ba;E4B+Yb,S5B0L0C;EO1lB1C,mBP2lB6C;EiB7lB3C,iHjByf+H;EiBzf/H,4GjByf+H;E4BnFjI,qBAAgB;EAAhB,gBAAgB;A/Bu1GpB;;AoBzvHM;EW0WN;IXzWQ,qBAAgB;IAAhB,gBAAgB;EpB6vHtB;AACF;;A+Br5GA;ETxXI,yBnB2mB2E;AHsqG/E;;A+Bz5GA;EAgEI,W5BoKoC;E4BnKpC,c5BoKqC;E4BnKrC,kBAAkB;EAClB,e5BmKuC;E4BlKvC,yB5Bxbc;E4Bybd,yBAAyB;ErBjbzB,mBPolBoC;AH2rGxC;;A+Bn6GA;EA2EI,W5BgK6C;E4B/J7C,Y5B+J6C;E4B9J7C,aAAa;EACb,oB5BpE+B;E4BqE/B,mB5BrE+B;EmBlY/B,yBnB6Ba;E4B4ab,S5B6J0C;EO1lB1C,mBP2lB6C;EiB7lB3C,gHjByf+H;EiBzf/H,4GjByf+H;E4BtDjI,gBAAgB;A/B21GpB;;AoB1xHM;EW0WN;IXzWQ,oBAAgB;IAAhB,gBAAgB;EpB8xHtB;AACF;;A+Bt7GA;ETxXI,yBnB2mB2E;AHusG/E;;A+B17GA;EA6FI,W5BuIoC;E4BtIpC,c5BuIqC;E4BtIrC,kBAAkB;EAClB,e5BsIuC;E4BrIvC,6BAA6B;EAC7B,yBAAyB;EACzB,oBAA4C;A/Bi2GhD;;A+Bp8GA;EAwGI,yB5B5dc;EOQd,mBPolBoC;AHiuGxC;;A+Bz8GA;EA6GI,kBAAkB;EAClB,yB5Blec;EOQd,mBPolBoC;AHuuGxC;;A+B/8GA;EAoHM,yB5BteY;AHq0HlB;;A+Bn9GA;EAwHM,eAAe;A/B+1GrB;;A+Bv9GA;EA4HM,yB5B9eY;AH60HlB;;A+B39GA;EAgIM,eAAe;A/B+1GrB;;A+B/9GA;EAoIM,yB5BtfY;AHq1HlB;;A+B11GA;;;EXvfM,4GjByf+H;AH81GrI;;AoBn1HM;EWmfN;;;IXlfQ,gBAAgB;EpBy1HtB;AACF;;AgC12HA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AhC62HlB;;AgC12HA;EACE,cAAc;EACd,oB7ByqBsC;AHosGxC;;AK52HE;E2BGE,qBAAqB;AhC62HzB;;AgCn3HA;EAWI,c7BXc;E6BYd,oBAAoB;EACpB,eAAe;AhC42HnB;;AgCp2HA;EACE,gC7BzBgB;AHg4HlB;;AgCx2HA;EAII,mB7BsM6B;AHkqHjC;;AgC52HA;EAQI,6BAAgD;EtBfhD,+BPoNgC;EOnNhC,gCPmNgC;AHqqHpC;;AKp4HE;E2B8BI,qC7BpCY;AH84HlB;;AgCt3HA;EAgBM,c7BrCY;E6BsCZ,6BAA6B;EAC7B,yBAAyB;AhC02H/B;;AgC53HA;;EAwBI,c7B5Cc;E6B6Cd,sB7BpDW;E6BqDX,kC7BrDW;AH85Hf;;AgCn4HA;EA+BI,gB7B2K6B;EOjN7B,yBsBwC4B;EtBvC5B,0BsBuC4B;AhCw2HhC;;AgC/1HA;EtB1DI,sBP6NgC;AHgsHpC;;AgCn2HA;;EAOI,W7B5EW;E6B6EX,yB7BjDa;AHk5HjB;;AgCx1HA;;EAGI,kBAAc;EAAd,cAAc;EACd,kBAAkB;AhC01HtB;;AgCt1HA;;EAGI,0BAAa;EAAb,aAAa;EACb,oBAAY;E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IAAnB,mBAAmB;EjC8+H3B;EiCtgIG;IA2BO,kBAAkB;EjC8+H5B;EiCzgIG;IA+BO,qB9B4hB6B;I8B3hB7B,oB9B2hB6B;EHk9GvC;EiC7gIG;;IAsCK,qBAAiB;IAAjB,iBAAiB;EjC2+HzB;EiCjhIG;IAqDK,+BAAwB;IAAxB,wBAAwB;IAGxB,6BAAgB;IAAhB,gBAAgB;EjC69HxB;EiCrhIG;IA4DK,aAAa;EjC49HrB;AACF;;AiC9hIA;EAyBQ,yBAAqB;EAArB,qBAAqB;EACrB,oBAA2B;EAA3B,2BAA2B;AjCygInC;;AiCniIA;;EAQU,gBAAgB;EAChB,eAAe;AjCgiIzB;;AiCziIA;EA6BU,uBAAmB;EAAnB,mBAAmB;AjCghI7B;;AiC7iIA;EAgCY,kBAAkB;AjCihI9B;;AiCjjIA;EAoCY,qB9B4hB6B;E8B3hB7B,oB9B2hB6B;AHs/GzC;;AiCtjIA;;EA2CU,qBAAiB;EAAjB,iBAAiB;AjCghI3B;;AiC3jIA;EA0DU,+BAAwB;EAAxB,wBAAwB;EAGxB,6BAAgB;EAAhB,gBAAgB;AjCmgI1B;;AiChkIA;EAiEU,aAAa;AjCmgIvB;;AiCt/HA;EAEI,yB9B/MW;AHusIf;;AKxsIE;E4BmNI,yB9BlNS;AH2sIf;;AiC9/HA;EAWM,yB9BxNS;AH+sIf;;AKhtIE;E4B4NM,yB9B3NO;AHmtIf;;AiCtgIA;EAkBQ,yB9B/NO;AHutIf;;AiC1gIA;;;;EA0BM,yB9BvOS;AH8tIf;;AiCjhIA;EA+BI,yB9B5OW;E8B6OX,gC9B7OW;AHmuIf;;AiCthIA;EAoCI,mRfrM8E;AlB2rIlF;;AiC1hIA;EAwCI,yB9BrPW;AH2uIf;;AiC9hIA;EA0CM,yB9BvPS;AH+uIf;;AKhvIE;E4B2PM,yB9B1PO;AHmvIf;;AiCl/HA;EAEI,W9B7QW;AHiwIf;;AKxvIE;E4BuQI,W9BhRS;AHqwIf;;AiC1/HA;EAWM,+B9BtRS;AHywIf;;AKhwIE;E4BgRM,gC9BzRO;AH6wIf;;AiClgIA;EAkBQ,gC9B7RO;AHixIf;;AiCtgIA;;;;EA0BM,W9BrSS;AHwxIf;;AiC7gIA;EA+BI,+B9B1SW;E8B2SX,sC9B3SW;AH6xIf;;AiClhIA;EAoCI,yRfzP8E;AlB2uIlF;;AiCthIA;EAwCI,+B9BnTW;AHqyIf;;AiC1hIA;EA0CM,W9BrTS;AHyyIf;;AKhyIE;E4B+SM,W9BxTO;AH6yIf;;AkChzIA;EACE,kBAAkB;EAClB,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,YAAY;EAEZ,qBAAqB;EACrB,sB/BJa;E+BKb,2BAA2B;EAC3B,sC/BIa;EOCX,sBP6NgC;AHilIpC;;AkC5zIA;EAaI,eAAe;EACf,cAAc;AlCmzIlB;;AkCj0IA;EAkBI,mBAAmB;EACnB,sBAAsB;AlCmzI1B;;AkCt0IA;EAsBM,mBAAmB;ExBCrB,2CQmH4D;ERlH5D,4CQkH4D;AlBksIhE;;AkC50IA;EA2BM,sBAAsB;ExBUxB,+CQqG4D;ERpG5D,8CQoG4D;AlBwsIhE;;AkCl1IA;;EAoCI,aAAa;AlCmzIjB;;AkC/yIA;EAGE,kBAAc;EAAd,cAAc;EAGd,eAAe;EACf,gB/B0wByC;AHoiH3C;;AkC1yIA;EACE,sB/BowBwC;AHyiH1C;;AkC1yIA;EACE,qBAA+B;EAC/B,gBAAgB;AlC6yIlB;;AkC1yIA;EACE,gBAAgB;AlC6yIlB;;AKl2IE;E6B0DE,qBAAqB;AlC4yIzB;;AkC9yIA;EAMI,oB/BmvBuC;AHyjH3C;;AkCpyIA;EACE,wB/B0uByC;E+BzuBzC,gBAAgB;EAEhB,qC/BrEa;E+BsEb,6C/BtEa;AH42If;;AkC3yIA;ExBhEI,0DwBwE8E;AlCuyIlF;;AkCnyIA;EACE,wB/B8tByC;E+B5tBzC,qC/BhFa;E+BiFb,0C/BjFa;AHs3If;;AkCzyIA;ExB5EI,0DQ4H4D;AlB6vIhE;;AkC7xIA;EACE,uBAAiC;EACjC,uB/B4sBwC;E+B3sBxC,sBAAgC;EAChC,gBAAgB;AlCgyIlB;;AkC7xIA;EACE,uBAAiC;EACjC,sBAAgC;AlCgyIlC;;AkC5xIA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,gB/BusByC;EOtzBvC,kCQ4H4D;AlBmxIhE;;AkC5xIA;;;EAGE,oBAAc;EAAd,cAAc;EACd,WAAW;AlC+xIb;;AkC5xIA;;ExBjHI,2CQmH4D;ERlH5D,4CQkH4D;AlBgyIhE;;AkC7xIA;;ExBxGI,+CQqG4D;ERpG5D,8CQoG4D;AlBsyIhE;;AkC3xIA;EAEI,mB/B+qBsD;AH8mH1D;;Ac53II;EoB6FJ;IAMI,oBAAa;IAAb,aAAa;IACb,uBAAmB;IAAnB,mBAAmB;IACnB,mB/ByqBsD;I+BxqBtD,kB/BwqBsD;EHsnHxD;EkCvyIF;IAaM,gBAAY;IAAZ,YAAY;IACZ,kB/BmqBoD;I+BlqBpD,gBAAgB;IAChB,iB/BiqBoD;EH4nHxD;AACF;;AkCpxIA;EAII,mB/BmpBsD;AHioH1D;;Ac/4II;EoBuHJ;IAQI,oBAAa;IAAb,aAAa;IACb,uBAAmB;IAAnB,mBAAmB;ElCqxIrB;EkC9xIF;IAcM,gBAAY;IAAZ,YAAY;IACZ,gBAAgB;ElCmxIpB;EkClyIF;IAkBQ,cAAc;IACd,cAAc;ElCmxIpB;EkCtyIF;IxBjJI,0BwB0KoC;IxBzKpC,6BwByKoC;ElCixItC;EkC1yIF;;IA8BY,0BAA0B;ElCgxIpC;EkC9yIF;;IAmCY,6BAA6B;ElC+wIvC;EkClzIF;IxBnII,yBwB2KmC;IxB1KnC,4BwB0KmC;ElC8wIrC;EkCtzIF;;IA6CY,yBAAyB;ElC6wInC;EkC1zIF;;IAkDY,4BAA4B;ElC4wItC;AACF;;AkChwIA;EAEI,sB/BwkBsC;AH0rH1C;;Ac17II;EoBsLJ;IAMI,uB/BqlBiC;I+BrlBjC,oB/BqlBiC;I+BrlBjC,e/BqlBiC;I+BplBjC,2B/BqlBuC;I+BrlBvC,wB/BqlBuC;I+BrlBvC,mB/BqlBuC;I+BplBvC,UAAU;IACV,SAAS;ElCmwIX;EkC5wIF;IAYM,qBAAqB;IACrB,WAAW;ElCmwIf;AACF;;AkC1vIA;EACE,qBAAqB;AlC6vIvB;;AkC9vIA;EAII,gBAAgB;AlC8vIpB;;AkClwIA;EAOM,gBAAgB;ExBvOlB,6BwBwOiC;ExBvOjC,4BwBuOiC;AlCgwIrC;;AkCxwIA;ExB9OI,yBwB0P8B;ExBzP9B,0BwByP8B;AlCiwIlC;;AkC7wIA;ExBvPI,gBwBuQ0B;EACxB,mB/B9C2B;AH+yIjC;;AmC3hJA;EACE,oBAAa;EAAb,aAAa;EACb,mBAAe;EAAf,eAAe;EACf,qBhC6hCsC;EgC5hCtC,mBhC+hCsC;EgC7hCtC,gBAAgB;EAChB,yBhCEgB;EOSd,sBP6NgC;AHszIpC;;AmC1hJA;EACE,oBAAa;EAAb,aAAa;AnC6hJf;;AmC9hJA;EAKI,oBhCihCqC;AH4gHzC;;AmCliJA;EAQM,qBAAqB;EACrB,qBhC6gCmC;EgC5gCnC,chCRY;EgCSZ,YhCkhCuC;AH4gH7C;;AmCziJA;EAsBI,0BAA0B;AnCuhJ9B;;AmC7iJA;EA0BI,qBAAqB;AnCuhJzB;;AmCjjJA;EA8BI,chC5Bc;AHmjJlB;;AoChkJA;EACE,oBAAa;EAAb,aAAa;E7BGb,eAAe;EACf,gBAAgB;EGad,sBP6NgC;AHw1IpC;;AoCjkJA;EACE,kBAAkB;EAClB,cAAc;EACd,uBjC8wBwC;EiC7wBxC,iBjCkO+B;EiCjO/B,iBjCixBsC;EiChxBtC,cjCuBe;EiCrBf,sBjCPa;EiCQb,yBjCLgB;AHwkJlB;;AoC5kJA;EAYI,UAAU;EACV,cjC8J8D;EiC7J9D,qBAAqB;EACrB,yBjCZc;EiCad,qBjCZc;AHglJlB;;AoCplJA;EAoBI,UAAU;EACV,UjCywBiC;EiCxwBjC,gDjCOa;AH6jJjB;;AoChkJA;EAGM,cAAc;E1BahB,+BP+LgC;EO9LhC,kCP8LgC;AHu3IpC;;AoCtkJA;E1BEI,gCP6MgC;EO5MhC,mCP4MgC;AH43IpC;;AoC3kJA;EAcI,UAAU;EACV,WjCxCW;EiCyCX,yBjCba;EiCcb,qBjCda;AH+kJjB;;AoCllJA;EAqBI,cjCxCc;EiCyCd,oBAAoB;EAEpB,YAAY;EACZ,sBjClDW;EiCmDX,qBjChDc;AHgnJlB;;AqCvnJE;EACE,uBlCuxBsC;EC5pBpC,kBAtCY;EiCnFd,gBlCmO6B;AHu5IjC;;AqCrnJM;E3BqCF,8BPgM+B;EO/L/B,iCP+L+B;AHq5InC;;AqCrnJM;E3BkBF,+BP8M+B;EO7M/B,kCP6M+B;AH05InC;;AqCvoJE;EACE,uBlCqxBqC;EC1pBnC,mBAtCY;EiCnFd,gBlCoO6B;AHs6IjC;;AqCroJM;E3BqCF,8BPiM+B;EOhM/B,iCPgM+B;AHo6InC;;AqCroJM;E3BkBF,+BP+M+B;EO9M/B,kCP8M+B;AHy6InC;;AsCrpJA;EACE,qBAAqB;EACrB,qBnCs5BsC;ECr1BpC,cAAW;EkC/Db,gBnCuR+B;EmCtR/B,cAAc;EACd,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;E5BKtB,sBP6NgC;EiB/N9B,qIjBgb6I;AHuuInJ;;AoBnpJM;EkBfN;IlBgBQ,gBAAgB;EpBupJtB;AACF;;AK7pJE;EiCGI,qBAAqB;AtC8pJ3B;;AsC5qJA;EAoBI,aAAa;AtC4pJjB;;AsCvpJA;EACE,kBAAkB;EAClB,SAAS;AtC0pJX;;AsCnpJA;EACE,oBnC23BsC;EmC13BtC,mBnC03BsC;EOj5BpC,oBPo5BqC;AH0xHzC;;AsC9oJE;ECjDA,WpCMa;EoCLb,yBpCiCe;AHkqJjB;;AKrrJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCmsJxC;;AuCtsJU;EAQJ,UAAU;EACV,+CpCsBW;AH4qJjB;;AsC7pJE;ECjDA,WpCMa;EoCLb,yBpCWgB;AHusJlB;;AKpsJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCktJxC;;AuCrtJU;EAQJ,UAAU;EACV,iDpCAY;AHitJlB;;AsC5qJE;ECjDA,WpCMa;EoCLb,yBpCwCe;AHyrJjB;;AKntJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCiuJxC;;AuCpuJU;EAQJ,UAAU;EACV,+CpC6BW;AHmsJjB;;AsC3rJE;ECjDA,WpCMa;EoCLb,yBpC0Ce;AHssJjB;;AKluJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCgvJxC;;AuCnvJU;EAQJ,UAAU;EACV,gDpC+BW;AHgtJjB;;AsC1sJE;ECjDA,cpCegB;EoCdhB,yBpCuCe;AHwtJjB;;AKjvJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvC+vJxC;;AuClwJU;EAQJ,UAAU;EACV,+CpC4BW;AHkuJjB;;AsCztJE;ECjDA,WpCMa;EoCLb,yBpCqCe;AHyuJjB;;AKhwJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC8wJxC;;AuCjxJU;EAQJ,UAAU;EACV,+CpC0BW;AHmvJjB;;AsCxuJE;ECjDA,cpCegB;EoCdhB,yBpCMgB;AHuxJlB;;AK/wJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvC6xJxC;;AuChyJU;EAQJ,UAAU;EACV,iDpCLY;AHiyJlB;;AsCvvJE;ECjDA,WpCMa;EoCLb,yBpCagB;AH+xJlB;;AK9xJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC4yJxC;;AuC/yJU;EAQJ,UAAU;EACV,8CpCEY;AHyyJlB;;AwCxzJA;EACE,kBAAoD;EACpD,mBrCmzBsC;EqCjzBtC,yBrCKgB;EOSd,qBP8N+B;AH+kJnC;;AcnwJI;E0B5DJ;IAQI,kBrC6yBoC;EH+gItC;AACF;;AwCzzJA;EACE,gBAAgB;EAChB,eAAe;E9BIb,gB8BHsB;AxC4zJ1B;;AyCv0JA;EACE,kBAAkB;EAClB,wBtCm9ByC;EsCl9BzC,mBtCm9BsC;EsCl9BtC,6BAA6C;E/BU3C,sBP6NgC;AHomJpC;;AyCt0JA;EAEE,cAAc;AzCw0JhB;;AyCp0JA;EACE,gBtC4Q+B;AH2jJjC;;AyC/zJA;EACE,mBAAsD;AzCk0JxD;;AyCn0JA;EAKI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,UAAU;EACV,wBtCo7BuC;EsCn7BvC,cAAc;AzCk0JlB;;AyCxzJE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlBqwJlE;;A0Cz2JE;EACE,yBAAqC;A1C42JzC;;A0Cz2JE;EACE,cAA0B;A1C42J9B;;AyCt0JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlBmxJlE;;A0Cv3JE;EACE,yBAAqC;A1C03JzC;;A0Cv3JE;EACE,cAA0B;A1C03J9B;;AyCp1JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlBiyJlE;;A0Cr4JE;EACE,yBAAqC;A1Cw4JzC;;A0Cr4JE;EACE,cAA0B;A1Cw4J9B;;AyCl2JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlB+yJlE;;A0Cn5JE;EACE,yBAAqC;A1Cs5JzC;;A0Cn5JE;EACE,cAA0B;A1Cs5J9B;;AyCh3JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlB6zJlE;;A0Cj6JE;EACE,yBAAqC;A1Co6JzC;;A0Cj6JE;EACE,cAA0B;A1Co6J9B;;AyC93JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlB20JlE;;A0C/6JE;EACE,yBAAqC;A1Ck7JzC;;A0C/6JE;EACE,cAA0B;A1Ck7J9B;;AyC54JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlBy1JlE;;A0C77JE;EACE,yBAAqC;A1Cg8JzC;;A0C77JE;EACE,cAA0B;A1Cg8J9B;;AyC15JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlBu2JlE;;A0C38JE;EACE,yBAAqC;A1C88JzC;;A0C38JE;EACE,cAA0B;A1C88J9B;;A2Ct9JE;EACE;IAAO,2BAAuC;E3C09JhD;E2Cz9JE;IAAK,wBAAwB;E3C49J/B;AACF;;A2C/9JE;EACE;IAAO,2BAAuC;E3C09JhD;E2Cz9JE;IAAK,wBAAwB;E3C49J/B;AACF;;A2Cz9JA;EACE,oBAAa;EAAb,aAAa;EACb,YxC49BsC;EwC39BtC,gBAAgB;EAChB,cAAc;EvCmHV,kBAtCY;EuC3EhB,yBxCLgB;EOSd,sBP6NgC;AH4vJpC;;A2Cx9JA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EACtB,qBAAuB;EAAvB,uBAAuB;EACvB,gBAAgB;EAChB,WxCjBa;EwCkBb,kBAAkB;EAClB,mBAAmB;EACnB,yBxCQe;EiBnBX,2BjB89B4C;AHygIlD;;AoBn+JM;EuBDN;IvBEQ,gBAAgB;EpBu+JtB;AACF;;A2C99JA;ErBYE,qMAA6I;EqBV7I,0BxCq8BsC;AH4hIxC;;A2C79JE;EACE,0DxCu8BkD;EwCv8BlD,kDxCu8BkD;AHyhItD;;A2C79JM;EAJJ;IAKM,uBAAe;IAAf,eAAe;E3Ci+JrB;AACF;;A4C5gKA;EACE,oBAAa;EAAb,aAAa;EACb,qBAAuB;EAAvB,uBAAuB;A5C+gKzB;;A4C5gKA;EACE,WAAO;EAAP,OAAO;A5C+gKT;;A6CjhKA;EACE,oBAAa;EAAb,aAAa;EACb,0BAAsB;EAAtB,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;EnCQd,sBP6NgC;AH8yJpC;;A6CzgKA;EACE,WAAW;EACX,c1CRgB;E0CShB,mBAAmB;A7C4gKrB;;AKnhKE;EwCWE,UAAU;EACV,c1Cdc;E0Ced,qBAAqB;EACrB,yB1CtBc;AHkiKlB;;A6CthKA;EAcI,c1ClBc;E0CmBd,yB1C1Bc;AHsiKlB;;A6CngKA;EACE,kBAAkB;EAClB,cAAc;EACd,wB1C28ByC;E0Cx8BzC,sB1C3Ca;E0C4Cb,sC1ClCa;AHsiKf;;A6C3gKA;EnCjBI,+BmC2BkC;EnC1BlC,gCmC0BkC;A7CsgKtC;;A6ChhKA;EnCHI,mCmCiBqC;EnChBrC,kCmCgBqC;A7CugKzC;;A6CrhKA;EAmBI,c1ClDc;E0CmDd,oBAAoB;EACpB,sB1C1DW;AHgkKf;;A6C3hKA;EA0BI,UAAU;EACV,W1ChEW;E0CiEX,yB1CrCa;E0CsCb,qB1CtCa;AH2iKjB;;A6CliKA;EAiCI,mBAAmB;A7CqgKvB;;A6CtiKA;EAoCM,gB1C4J2B;E0C3J3B,qB1C2J2B;AH22JjC;;A6Cx/JI;EACE,uBAAmB;EAAnB,mBAAmB;A7C2/JzB;;A6C5/JI;EnCtBA,kCPsKgC;EOlLhC,0BmCwCwC;A7C2/J5C;;A6CjgKI;EnClCA,gCPkLgC;EOtKhC,4BmCiC0C;A7C2/J9C;;A6CtgKI;EAeM,aAAa;A7C2/JvB;;A6C1gKI;EAmBM,qB1C0HuB;E0CzHvB,oBAAoB;A7C2/J9B;;A6C/gKI;EAuBQ,iB1CsHqB;E0CrHrB,sB1CqHqB;AHu4JjC;;AcvjKI;E+BmCA;IACE,uBAAmB;IAAnB,mBAAmB;E7CwhKvB;E6CzhKE;InCtBA,kCPsKgC;IOlLhC,0BmCwCwC;E7CuhK1C;E6C7hKE;InClCA,gCPkLgC;IOtKhC,4BmCiC0C;E7CshK5C;E6CjiKE;IAeM,aAAa;E7CqhKrB;E6CpiKE;IAmBM,qB1C0HuB;I0CzHvB,oBAAoB;E7CohK5B;E6CxiKE;IAuBQ,iB1CsHqB;I0CrHrB,sB1CqHqB;EH+5J/B;AACF;;AchlKI;E+BmCA;IACE,uBAAmB;IAAnB,mBAAmB;E7CijKvB;E6CljKE;InCtBA,kCPsKgC;IOlLhC,0BmCwCwC;E7CgjK1C;E6CtjKE;InClCA,gCPkLgC;IOtKhC,4BmCiC0C;E7C+iK5C;E6C1jKE;IAeM,aAAa;E7C8iKrB;E6C7jKE;IAmBM,qB1C0HuB;I0CzHvB,oBAAoB;E7C6iK5B;E6CjkKE;IAuBQ,iB1CsHqB;I0CrHrB,sB1CqHqB;EHw7J/B;AACF;;AczmKI;E+BmCA;IACE,uBAAmB;IAAnB,mBAAmB;E7C0kKvB;E6C3kKE;InCtBA,kCPsKgC;IOlLhC,0BmCwCwC;E7CykK1C;E6C/kKE;InClCA,gCPkLgC;IOtKhC,4BmCiC0C;E7CwkK5C;E6CnlKE;IAeM,aAAa;E7CukKrB;E6CtlKE;IAmBM,qB1C0HuB;I0CzHvB,oBAAoB;E7CskK5B;E6C1lKE;IAuBQ,iB1CsHqB;I0CrHrB,sB1CqHqB;EHi9J/B;AACF;;AcloKI;E+BmCA;IACE,uBAAmB;IAAnB,mBAAmB;E7CmmKvB;E6CpmKE;InCtBA,kCPsKgC;IOlLhC,0BmCwCwC;E7CkmK1C;E6CxmKE;InClCA,gCPkLgC;IOtKhC,4BmCiC0C;E7CimK5C;E6C5mKE;IAeM,aAAa;E7CgmKrB;E6C/mKE;IAmBM,qB1C0HuB;I0CzHvB,oBAAoB;E7C+lK5B;E6CnnKE;IAuBQ,iB1CsHqB;I0CrHrB,sB1CqHqB;EH0+J/B;AACF;;A6CllKA;EnCnHI,gBmCoHsB;A7CqlK1B;;A6CtlKA;EAII,qB1CmG6B;AHm/JjC;;A6C1lKA;EAOM,sBAAsB;A7CulK5B;;A8ChuKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB+nKlE;;AKxtKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9CmuKjD;;A8C1uKE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlB0oKlE;;A8ChvKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB+oKlE;;AKxuKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9CmvKjD;;A8C1vKE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlB0pKlE;;A8ChwKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB+pKlE;;AKxvKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9CmwKjD;;A8C1wKE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlB0qKlE;;A8ChxKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB+qKlE;;AKxwKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9CmxKjD;;A8C1xKE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlB0rKlE;;A8ChyKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB+rKlE;;AKxxKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9CmyKjD;;A8C1yKE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlB0sKlE;;A8ChzKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB+sKlE;;AKxyKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9CmzKjD;;A8C1zKE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlB0tKlE;;A8Ch0KE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB+tKlE;;AKxzKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9Cm0KjD;;A8C10KE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlB0uKlE;;A8Ch1KE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB+uKlE;;AKx0KE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9Cm1KjD;;A8C11KE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlB0vKlE;;A+Cn2KA;EACE,YAAY;E3C8HR,iBAtCY;E2CtFhB,gB5C6R+B;E4C5R/B,cAAc;EACd,W5CYa;E4CXb,yB5CCa;E4CAb,WAAW;A/Cs2Kb;;AKj2KE;E0CDE,W5CMW;E4CLX,qBAAqB;A/Cs2KzB;;AKl2KE;E0CCI,YAAY;A/Cq2KlB;;A+C11KA;EACE,UAAU;EACV,6BAA6B;EAC7B,SAAS;A/C61KX;;A+Cv1KA;EACE,oBAAoB;A/C01KtB;;AgDh4KA;EAGE,8B7Cq4BuC;E6Cr4BvC,iB7Cq4BuC;E6Cp4BvC,gB7Co4BuC;ECzwBnC,mBAtCY;E4ClFhB,2C7CAa;E6CCb,4BAA4B;EAC5B,oC7Cs4BmD;E6Cr4BnD,gD7COa;E6CNb,UAAU;EtCOR,sBP83BsC;AH4/I1C;;AgD54KA;EAeI,sB7C03BsC;AHugJ1C;;AgDh5KA;EAmBI,UAAU;AhDi4Kd;;AgDp5KA;EAuBI,cAAc;EACd,UAAU;AhDi4Kd;;AgDz5KA;EA4BI,aAAa;AhDi4KjB;;AgD73KA;EACE,oBAAa;EAAb,aAAa;EACb,sBAAmB;EAAnB,mBAAmB;EACnB,wB7Cs2BwC;E6Cr2BxC,c7CvBgB;E6CwBhB,2C7C9Ba;E6C+Bb,4BAA4B;EAC5B,4C7C82BoD;EO13BlD,2CQmH4D;ERlH5D,4CQkH4D;AlB2xKhE;;AgD93KA;EACE,gB7C61BwC;AHoiJ1C;;AiDv6KA;EAEE,gBAAgB;AjDy6KlB;;AiD36KA;EAKI,kBAAkB;EAClB,gBAAgB;AjD06KpB;;AiDr6KA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9C2pBsC;E8C1pBtC,aAAa;EACb,WAAW;EACX,YAAY;EACZ,gBAAgB;EAGhB,UAAU;AjDs6KZ;;AiD/5KA;EACE,kBAAkB;EAClB,WAAW;EACX,c9C24BuC;E8Cz4BvC,oBAAoB;AjDi6KtB;;AiD95KE;E7B3BI,2CjBg8BoD;EiBh8BpD,mCjBg8BoD;EiBh8BpD,oEjBg8BoD;E8Cn6BtD,sC9Ci6BmD;E8Cj6BnD,8B9Ci6BmD;AHggJvD;;AoB17KM;E6BuBJ;I7BtBM,gBAAgB;EpB87KtB;AACF;;AiDr6KE;EACE,uB9C+5BoC;E8C/5BpC,e9C+5BoC;AHygJxC;;AiDp6KE;EACE,8B9C45B2C;E8C55B3C,sB9C45B2C;AH2gJ/C;;AiDn6KA;EACE,oBAAa;EAAb,aAAa;EACb,6B/BmF8D;AlBm1KhE;;AiDx6KA;EAKI,8B/BgF4D;E+B/E5D,gBAAgB;AjDu6KpB;;AiD76KA;;EAWI,oBAAc;EAAd,cAAc;AjDu6KlB;;AiDl7KA;EAeI,gBA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E+CzxBnC,yB/CrDS;AHmsLf;;AkDzoLA;EACE,iB/CmxBuC;AHy3JzC;;AkD7oLA;EAII,QAAQ;EACR,a/C+wBqC;E+C9wBrC,c/C6wBqC;AHg4JzC;;AkDnpLA;EASM,OAAO;EACP,oC/C0wBmC;E+CzwBnC,uB/CrES;AHmtLf;;AkDznLA;EACE,gB/CyuBuC;E+CxuBvC,uB/C8uBuC;E+C7uBvC,W/CvGa;E+CwGb,kBAAkB;EAClB,sB/C/Fa;EOCX,sBP6NgC;AH8/KpC;;AoD7uLA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,ajD6qBsC;EiD5qBtC,cAAc;EACd,gBjDy2BuC;EgD92BvC,kMhDmRiN;EgDjRjN,kBAAkB;EAClB,gBhD2R+B;EgD1R/B,gBhD+R+B;EgD9R/B,gBAAgB;EAChB,iBAAiB;EACjB,qBAAqB;EACrB,iBAAiB;EACjB,oBAAoB;EACpB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;E/CgHZ,mBAtCY;EgD7EhB,qBAAqB;EACrB,sBjDNa;EiDOb,4BAA4B;EAC5B,oCjDEa;EOCX,qBP8N+B;AH0hLnC;;AoD1wLA;EAoBI,kBAAkB;EAClB,cAAc;EACd,WjDy2BoC;EiDx2BpC,cjDy2BqC;EiDx2BrC,gBjDwN+B;AHkiLnC;;AoDlxLA;EA4BM,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,yBAAyB;EACzB,mBAAmB;ApD0vLzB;;AoDrvLA;EACE,qBjD01BuC;AH85JzC;;AoDzvLA;EAII,2BlCqG4D;AlBopLhE;;AoD7vLA;EAOM,SAAS;EACT,6BAAgE;EAChE,qCjDq1BiE;AHq6JvE;;AoDnwLA;EAaM,WjD0L2B;EiDzL3B,6BAAgE;EAChE,sBjD7CS;AHuyLf;;AoDrvLA;EACE,mBjDs0BuC;AHk7JzC;;AoDzvLA;EAII,yBlCiF4D;EkChF5D,ajDk0BqC;EiDj0BrC,YjDg0BoC;EiD/zBpC,gBAAgC;ApDyvLpC;;AoDhwLA;EAUM,OAAO;EACP,oCAA2F;EAC3F,uCjD8zBiE;AH47JvE;;AoDtwLA;EAgBM,SjDmK2B;EiDlK3B,oCAA2F;EAC3F,wBjDpES;AH8zLf;;AoDrvLA;EACE,kBjD+yBuC;AHy8JzC;;AoDzvLA;EAII,wBlC0D4D;AlB+rLhE;;AoD7vLA;EAOM,MAAM;EACN,oCAA2F;EAC3F,wCjD0yBiE;AHg9JvE;;AoDnwLA;EAaM,QjD+I2B;EiD9I3B,oCAA2F;EAC3F,yBjDxFS;AHk1Lf;;AoDzwLA;EAqBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,cAAc;EACd,WjDsxBoC;EiDrxBpC,oBAAsC;EACtC,WAAW;EACX,gCjD0wBuD;AH8+J3D;;AoDpvLA;EACE,oBjD+wBuC;AHw+JzC;;AoDxvLA;EAII,0BlC0B4D;EkCzB5D,ajD2wBqC;EiD1wBrC,YjDywBoC;EiDxwBpC,gBAAgC;ApDwvLpC;;AoD/vLA;EAUM,QAAQ;EACR,oCjDqwBmC;EiDpwBnC,sCjDuwBiE;AHk/JvE;;AoDrwLA;EAgBM,UjD4G2B;EiD3G3B,oCjD+vBmC;EiD9vBnC,uBjD3HS;AHo3Lf;;AoDnuLA;EACE,uBjDguBwC;EiD/tBxC,gBAAgB;EhD3BZ,eAtCY;EgDoEhB,yBjDytByD;EiDxtBzD,gCAAyE;E1CnIvE,0CQmH4D;ERlH5D,2CQkH4D;AlBuvLhE;;AoD7uLA;EAUI,aAAa;ApDuuLjB;;AoDnuLA;EACE,uBjDktBwC;EiDjtBxC,cjDxJgB;AH83LlB;;AqDj4LA;EACE,kBAAkB;ArDo4LpB;;AqDj4LA;EACE,uBAAmB;EAAnB,mBAAmB;ArDo4LrB;;AqDj4LA;EACE,kBAAkB;EAClB,WAAW;EACX,gBAAgB;ArDo4LlB;;AsD35LE;EACE,cAAc;EACd,WAAW;EACX,WAAW;AtD85Lf;;AqDt4LA;EACE,kBAAkB;EAClB,aAAa;EACb,WAAW;EACX,WAAW;EACX,mBAAmB;EACnB,mCAA2B;EAA3B,2BAA2B;EjClBvB,8CjBqjCkF;EiBrjClF,sCjBqjCkF;EiBrjClF,0EjBqjCkF;AHu2JxF;;AoBx5LM;EiCQN;IjCPQ,gBAAgB;EpB45LtB;AACF;;AqD54LA;;;EAGE,cAAc;ArD+4LhB;;AqD54LA;;EAEE,mCAA2B;EAA3B,2BAA2B;A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4pMtD;;AyDlqME;EACE,oCAAmC;AzDqqMvC;;AK3pME;;;EoDLI,oCAAgD;AzDsqMtD;;AyD5qME;EACE,oCAAmC;AzD+qMvC;;AKrqME;;;EoDLI,oCAAgD;AzDgrMtD;;AyDtrME;EACE,oCAAmC;AzDyrMvC;;AK/qME;;;EoDLI,oCAAgD;AzD0rMtD;;AyDhsME;EACE,oCAAmC;AzDmsMvC;;AKzrME;;;EoDLI,oCAAgD;AzDosMtD;;AyD1sME;EACE,oCAAmC;AzD6sMvC;;AKnsME;;;EoDLI,oCAAgD;AzD8sMtD;;AyDptME;EACE,oCAAmC;AzDutMvC;;AK7sME;;;EoDLI,oCAAgD;AzDwtMtD;;A0DvtMA;EACE,iCAAmC;A1D0tMrC;;A0DvtMA;EACE,wCAAwC;A1D0tM1C;;A2DruMA;EAAkB,oCAAoD;A3DyuMtE;;A2DxuMA;EAAkB,wCAAwD;A3D4uM1E;;A2D3uMA;EAAkB,0CAA0D;A3D+uM5E;;A2D9uMA;EAAkB,2CAA2D;A3DkvM7E;;A2DjvMA;EAAkB,yCAAyD;A3DqvM3E;;A2DnvMA;EAAmB,oBAAoB;A3DuvMvC;;A2DtvMA;EAAmB,wBAAwB;A3D0vM3C;;A2DzvMA;EAAmB,0BAA0B;A3D6vM7C;;A2D5vMA;EAAmB,2BAA2B;A3DgwM9C;;A2D/vMA;EAAmB,yBAAyB;A3DmwM5C;;A2DhwME;EACE,gCAA+B;A3DmwMnC;;A2DpwME;EACE,gCAA+B;A3DuwMnC;;A2DxwME;EACE,gCAA+B;A3D2wMnC;;A2D5wME;EACE,gCAA+B;A3D+wMnC;;A2DhxME;EACE,gCAA+B;A3DmxMnC;;A2DpxME;EACE,gCAA+B;A3DuxMnC;;A2DxxME;EACE,gCAA+B;A3D2xMnC;;A2D5xME;EACE,gCAA+B;A3D+xMnC;;A2D3xMA;EACE,6BAA+B;A3D8xMjC;;A2DvxMA;EACE,gCAA2C;A3D0xM7C;;A2DvxMA;EACE,iCAAwC;A3D0xM1C;;A2DvxMA;EACE,0CAAiD;EACjD,2CAAkD;A3D0xMpD;;A2DvxMA;EACE,2CAAkD;EAClD,8CAAqD;A3D0xMvD;;A2DvxMA;EACE,8CAAqD;EACrD,6CAAoD;A3D0xMtD;;A2DvxMA;EACE,0CAAiD;EACjD,6CAAoD;A3D0xMtD;;A2DvxMA;EACE,gCAA2C;A3D0xM7C;;A2DvxMA;EACE,6BAA6B;A3D0xM/B;;A2DvxMA;EACE,+BAAuC;A3D0xMzC;;A2DvxMA;EACE,2BAA2B;A3D0xM7B;;AsDl2ME;EACE,cAAc;EACd,WAAW;EACX,WAAW;AtDq2Mf;;A4D91MM;EAAwB,wBAA0B;A5Dk2MxD;;A4Dl2MM;EAAwB,0BAA0B;A5Ds2MxD;;A4Dt2MM;EAAwB,gCAA0B;A5D02MxD;;A4D12MM;EAAwB,yBAA0B;A5D82MxD;;A4D92MM;EAAwB,yBAA0B;A5Dk3MxD;;A4Dl3MM;EAAwB,6BAA0B;A5Ds3MxD;;A4Dt3MM;EAAwB,8BAA0B;A5D03MxD;;A4D13MM;EAAwB,+BAA0B;EAA1B,wBAA0B;A5D83MxD;;A4D93MM;EAAwB,sCAA0B;EAA1B,+BAA0B;A5Dk4MxD;;Acj1MI;E8CjDE;IAAwB,wBAA0B;E5Du4MtD;E4Dv4MI;IAAwB,0BAA0B;E5D04MtD;E4D14MI;IAAwB,gCAA0B;E5D64MtD;E4D74MI;IAAwB,yBAA0B;E5Dg5MtD;E4Dh5MI;IAAwB,yBAA0B;E5Dm5MtD;E4Dn5MI;IAAwB,6BAA0B;E5Ds5MtD;E4Dt5MI;IAAwB,8BAA0B;E5Dy5MtD;E4Dz5MI;IAAwB,+BAA0B;IAA1B,wBAA0B;E5D45MtD;E4D55MI;IAAwB,sCAA0B;IAA1B,+BAA0B;E5D+5MtD;AACF;;Ac/2MI;E8CjDE;IAAwB,wBAA0B;E5Dq6MtD;E4Dr6MI;IAAwB,0BAA0B;E5Dw6MtD;E4Dx6MI;IAAwB,gCAA0B;E5D26MtD;E4D36MI;IAAwB,yBAA0B;E5D86MtD;E4D96MI;IAAwB,yBAA0B;E5Di7MtD;E4Dj7MI;IAAwB,6BAA0B;E5Do7MtD;E4Dp7MI;IAAwB,8BAA0B;E5Du7MtD;E4Dv7MI;IAAwB,+BAA0B;IAA1B,wBAA0B;E5D07MtD;E4D17MI;IAAwB,sCAA0B;IAA1B,+BAA0B;E5D67MtD;AACF;;Ac74MI;E8CjDE;IAAwB,wBAA0B;E5Dm8MtD;E4Dn8MI;IAAwB,0BAA0B;E5Ds8MtD;E4Dt8MI;IAAwB,gCAA0B;E5Dy8MtD;E4Dz8MI;IAAwB,yBAA0B;E5D48MtD;E4D58MI;IAAwB,yBAA0B;E5D+8MtD;E4D/8MI;IAAwB,6BAA0B;E5Dk9MtD;E4Dl9MI;IAAwB,8BAA0B;E5Dq9MtD;E4Dr9MI;IAAwB,+BAA0B;IAA1B,wBAA0B;E5Dw9MtD;E4Dx9MI;IAAwB,sCAA0B;IAA1B,+BAA0B;E5D29MtD;AACF;;Ac36MI;E8CjDE;IAAwB,wBAA0B;E5Di+MtD;E4Dj+MI;IAAwB,0BAA0B;E5Do+MtD;E4Dp+MI;IAAwB,gCAA0B;E5Du+MtD;E4Dv+MI;IAAwB,yBAA0B;E5D0+MtD;E4D1+MI;IAAwB,yBAA0B;E5D6+MtD;E4D7+MI;IAAwB,6BAA0B;E5Dg/MtD;E4Dh/MI;IAAwB,8BAA0B;E5Dm/MtD;E4Dn/MI;IAAwB,+BAA0B;IAA1B,wBAA0B;E5Ds/MtD;E4Dt/MI;IAAwB,sCAA0B;IAA1B,+BAA0B;E5Dy/MtD;AACF;;A4Dh/MA;EAEI;IAAqB,wBAA0B;E5Dm/MjD;E4Dn/ME;IAAqB,0BAA0B;E5Ds/MjD;E4Dt/ME;IAAqB,gCAA0B;E5Dy/MjD;E4Dz/ME;IAAqB,yBAA0B;E5D4/MjD;E4D5/ME;IAAqB,yBAA0B;E5D+/MjD;E4D//ME;IAAqB,6BAA0B;E5DkgNjD;E4DlgNE;IAAqB,8BAA0B;E5DqgNjD;E4DrgNE;IAAqB,+BAA0B;IAA1B,wBAA0B;E5DwgNjD;E4DxgNE;IAAqB,sCAA0B;IAA1B,+BAA0B;E5D2gNjD;AACF;;A6DjiNA;EACE,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,UAAU;EACV,gBAAgB;A7DoiNlB;;A6DziNA;EAQI,cAAc;EACd,WAAW;A7DqiNf;;A6D9iNA;;;;;EAiBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,OAAO;EACP,WAAW;EACX,YAAY;EACZ,SAAS;A7DqiNb;;A6D7hNE;EAEI,uBAA4F;A7D+hNlG;;A6DjiNE;EAEI,mBAA4F;A7DmiNlG;;A6DriNE;EAEI,gBAA4F;A7DuiNlG;;A6DziNE;EAEI,iBAA4F;A7D2iNlG;;A8DpkNI;EAAgC,kCAA8B;EAA9B,8BAA8B;A9DwkNlE;;A8DvkNI;EAAgC,qCAAiC;EAAjC,iCAAiC;A9D2kNrE;;A8D1kNI;EAAgC,0CAAsC;EAAtC,sCAAsC;A9D8kN1E;;A8D7kNI;EAAgC,6CAAyC;EAAzC,yCAAyC;A9DilN7E;;A8D/kNI;EAA8B,8BAA0B;EAA1B,0BAA0B;A9DmlN5D;;A8DllNI;EAA8B,gCAA4B;EAA5B,4BAA4B;A9DslN9D;;A8DrlNI;EAA8B,sCAAkC;EAAlC,kCAAkC;A9DylNpE;;A8DxlNI;EAA8B,6BAAyB;EAAzB,yBAAyB;A9D4lN3D;;A8D3lNI;EAA8B,+BAAuB;EAAvB,uBAAuB;A9D+lNzD;;A8D9lNI;EAA8B,+BAAuB;EAAvB,uBAAuB;A9DkmNzD;;A8DjmNI;EAA8B,+BAAyB;EAAzB,yBAAyB;A9DqmN3D;;A8DpmNI;EAA8B,+BAAyB;EAAzB,yBAAyB;A9DwmN3D;;A8DtmNI;EAAoC,+BAAsC;EAAtC,sCAAsC;A9D0mN9E;;A8DzmNI;EAAoC,6BAAoC;EAApC,oCAAoC;A9D6mN5E;;A8D5mNI;EAAoC,gCAAkC;EAAlC,kCAAkC;A9DgnN1E;;A8D/mNI;EAAoC,iCAAyC;EAAzC,yCAAyC;A9DmnNjF;;A8DlnNI;EAAoC,oCAAwC;EAAxC,wCAAwC;A9DsnNhF;;A8DpnNI;EAAiC,gCAAkC;EAAlC,kCAAkC;A9DwnNvE;;A8DvnNI;EAAiC,8BAAgC;EAAhC,gCAAgC;A9D2nNrE;;A8D1nNI;EAAiC,iCAA8B;EAA9B,8BAA8B;A9D8nNnE;;A8D7nNI;EAAiC,mCAAgC;EAAhC,gCAAgC;A9DioNrE;;A8DhoNI;EAAiC,kCAA+B;EAA/B,+BAA+B;A9DooNpE;;A8DloNI;EAAkC,oCAAoC;EAApC,oCAAoC;A9DsoN1E;;A8DroNI;EAAkC,kCAAkC;EAAlC,kCAAkC;A9DyoNxE;;A8DxoNI;EAAkC,qCAAgC;EAAhC,gCAAgC;A9D4oNtE;;A8D3oNI;EAAkC,sCAAuC;EAAvC,uCAAuC;A9D+oN7E;;A8D9oNI;EAAkC,yCAAsC;EAAtC,sCAAsC;A9DkpN5E;;A8DjpNI;EAAkC,sCAAiC;EAAjC,iCAAiC;A9DqpNvE;;A8DnpNI;EAAgC,oCAA2B;EAA3B,2BAA2B;A9DupN/D;;A8DtpNI;EAAgC,qCAAiC;EAAjC,iCAAiC;A9D0pNrE;;A8DzpNI;EAAgC,mCAA+B;EAA/B,+BAA+B;A9D6pNnE;;A8D5pNI;EAAgC,sCAA6B;EAA7B,6BAA6B;A9DgqNjE;;A8D/pNI;EAAgC,wCAA+B;EAA/B,+BAA+B;A9DmqNnE;;A8DlqNI;EAAgC,uCAA8B;EAA9B,8BAA8B;A9DsqNlE;;Ac1pNI;EgDlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;E9DitNhE;E8DhtNE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9DmtNnE;E8DltNE;IAAgC,0CAAsC;IAAtC,sCAAsC;E9DqtNxE;E8DptNE;IAAgC,6CAAyC;IAAzC,yCAAyC;E9DutN3E;E8DrtNE;IAA8B,8BAA0B;IAA1B,0BAA0B;E9DwtN1D;E8DvtNE;IAA8B,gCAA4B;IAA5B,4BAA4B;E9D0tN5D;E8DztNE;IAA8B,sCAAkC;IAAlC,kCAAkC;E9D4tNlE;E8D3tNE;IAA8B,6BAAyB;IAAzB,yBAAyB;E9D8tNzD;E8D7tNE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9DguNvD;E8D/tNE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9DkuNvD;E8DjuNE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9DouNzD;E8DnuNE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9DsuNzD;E8DpuNE;IAAoC,+BAAsC;IAAtC,sCAAsC;E9DuuN5E;E8DtuNE;IAAoC,6BAAoC;IAApC,oCAAoC;E9DyuN1E;E8DxuNE;IAAoC,gCAAkC;IAAlC,kCAAkC;E9D2uNxE;E8D1uNE;IAAoC,iCAAyC;IAAzC,yCAAyC;E9D6uN/E;E8D5uNE;IAAoC,oCAAwC;IAAxC,wCAAwC;E9D+uN9E;E8D7uNE;IAAiC,gCAAkC;IAAlC,kCAAkC;E9DgvNrE;E8D/uNE;IAAiC,8BAAgC;IAAhC,gCAAgC;E9DkvNnE;E8DjvNE;IAAiC,iCAA8B;IAA9B,8BAA8B;E9DovNjE;E8DnvNE;IAAiC,mCAAgC;IAAhC,gCAAgC;E9DsvNnE;E8DrvNE;IAAiC,kCAA+B;IAA/B,+BAA+B;E9DwvNlE;E8DtvNE;IAAkC,oCAAoC;IAApC,oCAAoC;E9DyvNxE;E8DxvNE;IAAkC,kCAAkC;IAAlC,kCAAkC;E9D2vNtE;E8D1vNE;IAAkC,qCAAgC;IAAhC,gCAAgC;E9D6vNpE;E8D5vNE;IAAkC,sCAAuC;IAAvC,uCAAuC;E9D+vN3E;E8D9vNE;IAAkC,yCAAsC;IAAtC,sCAAsC;E9DiwN1E;E8DhwNE;IAAkC,sCAAiC;IAAjC,iCAAiC;E9DmwNrE;E8DjwNE;IAAgC,oCAA2B;IAA3B,2BAA2B;E9DowN7D;E8DnwNE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9DswNnE;E8DrwNE;IAAgC,mCAA+B;IAA/B,+BAA+B;E9DwwNjE;E8DvwNE;IAAgC,sCAA6B;IAA7B,6BAA6B;E9D0wN/D;E8DzwNE;IAAgC,wCAA+B;IAA/B,+BAA+B;E9D4wNjE;E8D3wNE;IAAgC,uCAA8B;IAA9B,8BAA8B;E9D8wNhE;AACF;;AcnwNI;EgDlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;E9D0zNhE;E8DzzNE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9D4zNnE;E8D3zNE;IAAgC,0CAAsC;IAAtC,sCAAsC;E9D8zNxE;E8D7zNE;IAAgC,6CAAyC;IAAzC,yCAAyC;E9Dg0N3E;E8D9zNE;IAA8B,8BAA0B;IAA1B,0BAA0B;E9Di0N1D;E8Dh0NE;IAA8B,gCAA4B;IAA5B,4BAA4B;E9Dm0N5D;E8Dl0NE;IAA8B,sCAAkC;IAAlC,kCAAkC;E9Dq0NlE;E8Dp0NE;IAA8B,6BAAyB;IAAzB,yBAAyB;E9Du0NzD;E8Dt0NE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9Dy0NvD;E8Dx0NE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9D20NvD;E8D10NE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9D60NzD;E8D50NE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9D+0NzD;E8D70NE;IAAoC,+BAAsC;IAAtC,sCAAsC;E9Dg1N5E;E8D/0NE;IAAoC,6BAAoC;IAApC,oCAAoC;E9Dk1N1E;E8Dj1NE;IAAoC,gCAAkC;IAAlC,kCAAkC;E9Do1NxE;E8Dn1NE;IAAoC,iCAAyC;IAAzC,yCAAyC;E9Ds1N/E;E8Dr1NE;IAAoC,oCAAwC;IAAxC,wCAAwC;E9Dw1N9E;E8Dt1NE;IAAiC,gCAAkC;IAAlC,kCAAkC;E9Dy1NrE;E8Dx1NE;IAAiC,8BAAgC;IAAhC,gCAAgC;E9D21NnE;E8D11NE;IAAiC,iCAA8B;IAA9B,8BAA8B;E9D61NjE;E8D51NE;IAAiC,mCAAgC;IAAhC,gCAAgC;E9D+1NnE;E8D91NE;IAAiC,kCAA+B;IAA/B,+BAA+B;E9Di2NlE;E8D/1NE;IAAkC,oCAAoC;IAApC,oCAAoC;E9Dk2NxE;E8Dj2NE;IAAkC,kCAAkC;IAAlC,kCAAkC;E9Do2NtE;E8Dn2NE;IAAkC,qCAAgC;IAAhC,gCAAgC;E9Ds2NpE;E8Dr2NE;IAAkC,sCAAuC;IAAvC,uCAAuC;E9Dw2N3E;E8Dv2NE;IAAkC,yCAAsC;IAAtC,sCAAsC;E9D02N1E;E8Dz2NE;IAAkC,sCAAiC;IAAjC,iCAAiC;E9D42NrE;E8D12NE;IAAgC,oCAA2B;IAA3B,2BAA2B;E9D62N7D;E8D52NE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9D+2NnE;E8D92NE;IAAgC,mCAA+B;IAA/B,+BAA+B;E9Di3NjE;E8Dh3NE;IAAgC,sCAA6B;IAA7B,6BAA6B;E9Dm3N/D;E8Dl3NE;IAAgC,wCAA+B;IAA/B,+BAA+B;E9Dq3NjE;E8Dp3NE;IAAgC,uCAA8B;IAA9B,8BAA8B;E9Du3NhE;AACF;;Ac52NI;EgDlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;E9Dm6NhE;E8Dl6NE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9Dq6NnE;E8Dp6NE;IAAgC,0CAAsC;IAAtC,sCAAsC;E9Du6NxE;E8Dt6NE;IAAgC,6CAAyC;IAAzC,yCAAyC;E9Dy6N3E;E8Dv6NE;IAA8B,8BAA0B;IAA1B,0BAA0B;E9D06N1D;E8Dz6NE;IAA8B,gCAA4B;IAA5B,4BAA4B;E9D46N5D;E8D36NE;IAA8B,sCAAkC;IAAlC,kCAAkC;E9D86NlE;E8D76NE;IAA8B,6BAAyB;IAAzB,yBAAyB;E9Dg7NzD;E8D/6NE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9Dk7NvD;E8Dj7NE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9Do7NvD;E8Dn7NE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9Ds7NzD;E8Dr7NE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9Dw7NzD;E8Dt7NE;IAAoC,+BAAsC;IAAtC,sCAAsC;E9Dy7N5E;E8Dx7NE;IAAoC,6BAAoC;IAApC,oCAAoC;E9D27N1E;E8D17NE;IAAoC,gCAAkC;IAAlC,kCAAkC;E9D67NxE;E8D57NE;IAAoC,iCAAyC;IAAzC,yCAAyC;E9D+7N/E;E8D97NE;IAAoC,oCAAwC;IAAxC,wCAAwC;E9Di8N9E;E8D/7NE;IAAiC,gCAAkC;IAAlC,kCAAkC;E9Dk8NrE;E8Dj8NE;IAAiC,8BAAgC;IAAhC,gCAAgC;E9Do8NnE;E8Dn8NE;IAAiC,iCAA8B;IAA9B,8BAA8B;E9Ds8NjE;E8Dr8NE;IAAiC,mCAAgC;IAAhC,gCAAgC;E9Dw8NnE;E8Dv8NE;IAAiC,kCAA+B;IAA/B,+BAA+B;E9D08NlE;E8Dx8NE;IAAkC,oCAAoC;IAApC,oCAAoC;E9D28NxE;E8D18NE;IAAkC,kCAAkC;IAAlC,kCAAkC;E9D68NtE;E8D58NE;IAAkC,qCAAgC;IAAhC,gCAAgC;E9D+8NpE;E8D98NE;IAAkC,sCAAuC;IAAvC,uCAAuC;E9Di9N3E;E8Dh9NE;IAAkC,yCAAsC;IAAtC,sCAAsC;E9Dm9N1E;E8Dl9NE;IAAkC,sCAAiC;IAAjC,iCAAiC;E9Dq9NrE;E8Dn9NE;IAAgC,oCAA2B;IAA3B,2BAA2B;E9Ds9N7D;E8Dr9NE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9Dw9NnE;E8Dv9NE;IAAgC,mCAA+B;IAA/B,+BAA+B;E9D09NjE;E8Dz9NE;IAAgC,sCAA6B;IAA7B,6BAA6B;E9D49N/D;E8D39NE;IAAgC,wCAA+B;IAA/B,+BAA+B;E9D89NjE;E8D79NE;IAAgC,uCAA8B;IAA9B,8BAA8B;E9Dg+NhE;AACF;;Acr9NI;EgDlDA;IAAgC,kCAA8B;IAA9B,8BAA8B;E9D4gOhE;E8D3gOE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9D8gOnE;E8D7gOE;IAAgC,0CAAsC;IAAtC,sCAAsC;E9DghOxE;E8D/gOE;IAAgC,6CAAyC;IAAzC,yCAAyC;E9DkhO3E;E8DhhOE;IAA8B,8BAA0B;IAA1B,0BAA0B;E9DmhO1D;E8DlhOE;IAA8B,gCAA4B;IAA5B,4BAA4B;E9DqhO5D;E8DphOE;IAA8B,sCAAkC;IAAlC,kCAAkC;E9DuhOlE;E8DthOE;IAA8B,6BAAyB;IAAzB,yBAAyB;E9DyhOzD;E8DxhOE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9D2hOvD;E8D1hOE;IAA8B,+BAAuB;IAAvB,uBAAuB;E9D6hOvD;E8D5hOE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9D+hOzD;E8D9hOE;IAA8B,+BAAyB;IAAzB,yBAAyB;E9DiiOzD;E8D/hOE;IAAoC,+BAAsC;IAAtC,sCAAsC;E9DkiO5E;E8DjiOE;IAAoC,6BAAoC;IAApC,oCAAoC;E9DoiO1E;E8DniOE;IAAoC,gCAAkC;IAAlC,kCAAkC;E9DsiOxE;E8DriOE;IAAoC,iCAAyC;IAAzC,yCAAyC;E9DwiO/E;E8DviOE;IAAoC,oCAAwC;IAAxC,wCAAwC;E9D0iO9E;E8DxiOE;IAAiC,gCAAkC;IAAlC,kCAAkC;E9D2iOrE;E8D1iOE;IAAiC,8BAAgC;IAAhC,gCAAgC;E9D6iOnE;E8D5iOE;IAAiC,iCAA8B;IAA9B,8BAA8B;E9D+iOjE;E8D9iOE;IAAiC,mCAAgC;IAAhC,gCAAgC;E9DijOnE;E8DhjOE;IAAiC,kCAA+B;IAA/B,+BAA+B;E9DmjOlE;E8DjjOE;IAAkC,oCAAoC;IAApC,oCAAoC;E9DojOxE;E8DnjOE;IAAkC,kCAAkC;IAAlC,kCAAkC;E9DsjOtE;E8DrjOE;IAAkC,qCAAgC;IAAhC,gCAAgC;E9DwjOpE;E8DvjOE;IAAkC,sCAAuC;IAAvC,uCAAuC;E9D0jO3E;E8DzjOE;IAAkC,yCAAsC;IAAtC,sCAAsC;E9D4jO1E;E8D3jOE;IAAkC,sCAAiC;IAAjC,iCAAiC;E9D8jOrE;E8D5jOE;IAAgC,oCAA2B;IAA3B,2BAA2B;E9D+jO7D;E8D9jOE;IAAgC,qCAAiC;IAAjC,iCAAiC;E9DikOnE;E8DhkOE;IAAgC,mCAA+B;IAA/B,+BAA+B;E9DmkOjE;E8DlkOE;IAAgC,sCAA6B;IAA7B,6BAA6B;E9DqkO/D;E8DpkOE;IAAgC,wCAA+B;IAA/B,+BAA+B;E9DukOjE;E8DtkOE;IAAgC,uCAA8B;IAA9B,8BAA8B;E9DykOhE;AACF;;A+DpnOI;EAAwB,sBAAsB;A/DwnOlD;;A+DvnOI;EAAwB,uBAAuB;A/D2nOnD;;A+D1nOI;EAAwB,sBAAsB;A/D8nOlD;;Ac1kOI;EiDtDA;IAAwB,sBAAsB;E/DqoOhD;E+DpoOE;IAAwB,uBAAuB;E/DuoOjD;E+DtoOE;IAAwB,sBAAsB;E/DyoOhD;AACF;;ActlOI;EiDtDA;IAAwB,sBAAsB;E/DipOhD;E+DhpOE;IAAwB,uBAAuB;E/DmpOjD;E+DlpOE;IAAwB,sBAAsB;E/DqpOhD;AACF;;AclmOI;EiDtDA;IAAwB,sBAAsB;E/D6pOhD;E+D5pOE;IAAwB,uBAAuB;E/D+pOjD;E+D9pOE;IAAwB,sBAAsB;E/DiqOhD;AACF;;Ac9mOI;EiDtDA;IAAwB,sBAAsB;E/DyqOhD;E+DxqOE;IAAwB,uBAAuB;E/D2qOjD;E+D1qOE;IAAwB,sBAAsB;E/D6qOhD;AACF;;AgEnrOE;EAAyB,mCAA8B;EAA9B,gCAA8B;EAA9B,+BAA8B;EAA9B,2BAA8B;AhEurOzD;;AgEvrOE;EAAyB,oCAA8B;EAA9B,iCAA8B;EAA9B,gCAA8B;EAA9B,4BAA8B;AhE2rOzD;;AgE3rOE;EAAyB,oCAA8B;EAA9B,iCAA8B;EAA9B,gCAA8B;EAA9B,4BAA8B;AhE+rOzD;;AiE/rOE;EAAsB,yBAA2B;AjEmsOnD;;AiEnsOE;EAAsB,2BAA2B;AjEusOnD;;AkEtsOE;EAAyB,2BAA8B;AlE0sOzD;;AkE1sOE;EAAyB,6BAA8B;AlE8sOzD;;AkE9sOE;EAAyB,6BAA8B;AlEktOzD;;AkEltOE;EAAyB,0BAA8B;AlEstOzD;;AkEttOE;EAAyB,mCAA8B;EAA9B,2BAA8B;AlE0tOzD;;AkErtOA;EACE,eAAe;EACf,MAAM;EACN,QAAQ;EACR,OAAO;EACP,a/DgqBsC;AHwjNxC;;AkErtOA;EACE,eAAe;EACf,QAAQ;EACR,SAAS;EACT,OAAO;EACP,a/DwpBsC;AHgkNxC;;AkEptO8B;EAD9B;IAEI,wBAAgB;IAAhB,gBAAgB;IAChB,MAAM;IACN,a/DgpBoC;EHwkNtC;AACF;;AmElvOA;ECEE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,UAAU;EACV,YAAY;EACZ,gBAAgB;EAChB,sBAAsB;EACtB,mBAAmB;EACnB,SAAS;ApEovOX;;AoE1uOE;EAEE,gBAAgB;EAChB,WAAW;EACX,YAAY;EACZ,iBAAiB;EACjB,UAAU;EACV,mBAAmB;ApE4uOvB;;AqEzwOA;EAAa,8DAAqC;ArE6wOlD;;AqE5wOA;EAAU,wDAAkC;ArEgxO5C;;AqE/wOA;EAAa,uDAAqC;ArEmxOlD;;AqElxOA;EAAe,2BAA2B;ArEsxO1C;;AsErxOI;EAAuB,qBAA4B;AtEyxOvD;;AsEzxOI;EAAuB,qBAA4B;AtE6xOvD;;AsE7xOI;EAAuB,qBAA4B;AtEiyOvD;;AsEjyOI;EAAuB,sBAA4B;AtEqyOvD;;AsEryOI;EAAuB,sBAA4B;AtEyyOvD;;AsEzyOI;EAAuB,sBAA4B;AtE6yOvD;;AsE7yOI;EAAuB,sBAA4B;AtEizOvD;;AsEjzOI;EAAuB,sBAA4B;AtEqzOvD;;AsErzOI;EAAuB,uBAA4B;AtEyzOvD;;AsEzzOI;EAAuB,uBAA4B;AtE6zOvD;;AsEzzOA;EAAU,0BAA0B;AtE6zOpC;;AsE5zOA;EAAU,2BAA2B;AtEg0OrC;;AsE5zOA;EAAc,2BAA2B;AtEg0OzC;;AsE/zOA;EAAc,4BAA4B;AtEm0O1C;;AsEj0OA;EAAU,uBAAuB;AtEq0OjC;;AsEp0OA;EAAU,wBAAwB;AtEw0OlC;;AuEj1OQ;EAAgC,oBAA4B;AvEq1OpE;;AuEp1OQ;;EAEE,wBAAoC;AvEu1O9C;;AuEr1OQ;;EAEE,0BAAwC;AvEw1OlD;;AuEt1OQ;;EAEE,2BAA0C;AvEy1OpD;;AuEv1OQ;;EAEE,yBAAsC;AvE01OhD;;AuEz2OQ;EAAgC,0BAA4B;AvE62OpE;;AuE52OQ;;EAEE,8BAAoC;AvE+2O9C;;AuE72OQ;;EAEE,gCAAwC;AvEg3OlD;;AuE92OQ;;EAEE,iCAA0C;AvEi3OpD;;AuE/2OQ;;EAEE,+BAAsC;AvEk3OhD;;AuEj4OQ;EAAgC,yBAA4B;AvEq4OpE;;AuEp4OQ;;EAEE,6BAAoC;AvEu4O9C;;AuEr4OQ;;EAEE,+BAAwC;AvEw4OlD;;AuEt4OQ;;EAEE,gCAA0C;AvEy4OpD;;AuEv4OQ;;EAEE,8BAAsC;AvE04OhD;;AuEz5OQ;EAAgC,uBAA4B;AvE65OpE;;AuE55OQ;;EAEE,2BAAoC;AvE+5O9C;;AuE75OQ;;EAEE,6BAAwC;AvEg6OlD;;AuE95OQ;;EAEE,8BAA0C;AvEi6OpD;;AuE/5OQ;;EAEE,4BAAsC;AvEk6OhD;;AuEj7OQ;EAAgC,yBAA4B;AvEq7OpE;;AuEp7OQ;;EAEE,6BAAoC;AvEu7O9C;;AuEr7OQ;;EAEE,+BAAwC;AvEw7OlD;;AuEt7OQ;;EAEE,gCAA0C;AvEy7OpD;;AuEv7OQ;;EAEE,8BAAsC;AvE07OhD;;AuEz8OQ;EAAgC,uBAA4B;AvE68OpE;;AuE58OQ;;EAEE,2BAAoC;AvE+8O9C;;AuE78OQ;;EAEE,6BAAwC;AvEg9OlD;;AuE98OQ;;EAEE,8BAA0C;AvEi9OpD;;AuE/8OQ;;EAEE,4BAAsC;AvEk9OhD;;AuEj+OQ;EAAgC,qBAA4B;AvEq+OpE;;AuEp+OQ;;EAEE,yBAAoC;AvEu+O9C;;AuEr+OQ;;EAEE,2BAAwC;AvEw+OlD;;AuEt+OQ;;EAEE,4BAA0C;AvEy+OpD;;AuEv+OQ;;EAEE,0BAAsC;AvE0+OhD;;AuEz/OQ;EAAgC,2BAA4B;AvE6/OpE;;AuE5/OQ;;EAEE,+BAAoC;AvE+/O9C;;AuE7/OQ;;EAEE,iCAAwC;AvEggPlD;;AuE9/OQ;;EAEE,kCAA0C;AvEigPpD;;AuE//OQ;;EAEE,gCAAsC;AvEkgPhD;;AuEjhPQ;EAAgC,0BAA4B;AvEqhPpE;;AuEphPQ;;EAEE,8BAAoC;AvEuhP9C;;AuErhPQ;;EAEE,gCAAwC;AvEwhPlD;;AuEthPQ;;EAEE,iCAA0C;AvEyhPpD;;AuEvhPQ;;EAEE,+BAAsC;AvE0hPhD;;AuEziPQ;EAAgC,wBAA4B;AvE6iPpE;;AuE5iPQ;;EAEE,4BAAoC;AvE+iP9C;;AuE7iPQ;;EAEE,8BAAwC;AvEgjPlD;;AuE9iPQ;;EAEE,+BAA0C;AvEijPpD;;AuE/iPQ;;EAEE,6BAAsC;AvEkjPhD;;AuEjkPQ;EAAgC,0BAA4B;AvEqkPpE;;AuEpkPQ;;EAEE,8BAAoC;AvEukP9C;;AuErkPQ;;EAEE,gCAAwC;AvEwkPlD;;AuEtkPQ;;EAEE,iCAA0C;AvEykPpD;;AuEvkPQ;;EAEE,+BAAsC;AvE0kPhD;;AuEzlPQ;EAAgC,wBAA4B;AvE6lPpE;;AuE5lPQ;;EAEE,4BAAoC;AvE+lP9C;;AuE7lPQ;;EAEE,8BAAwC;AvEgmPlD;;AuE9lPQ;;EAEE,+BAA0C;AvEimPpD;;AuE/lPQ;;EAEE,6BAAsC;AvEkmPhD;;AuE1lPQ;EAAwB,2BAA2B;AvE8lP3D;;AuE7lPQ;;EAEE,+BAA+B;AvEgmPzC;;AuE9lPQ;;EAEE,iCAAiC;AvEimP3C;;AuE/lPQ;;EAEE,kCAAkC;AvEkmP5C;;AuEhmPQ;;EAEE,gCAAgC;AvEmmP1C;;AuElnPQ;EAAwB,0BAA2B;AvEsnP3D;;AuErnPQ;;EAEE,8BAA+B;AvEwnPzC;;AuEtnPQ;;EAEE,gCAAiC;AvEynP3C;;AuEvnPQ;;EAEE,iCAAkC;AvE0nP5C;;AuExnPQ;;EAEE,+BAAgC;AvE2nP1C;;AuE1oPQ;EAAwB,wBAA2B;AvE8oP3D;;AuE7oPQ;;EAEE,4BAA+B;AvEgpPzC;;AuE9oPQ;;EAEE,8BAAiC;AvEipP3C;;AuE/oPQ;;EAEE,+BAAkC;AvEkpP5C;;AuEhpPQ;;EAEE,6BAAgC;AvEmpP1C;;AuElqPQ;EAAwB,0BAA2B;AvEsqP3D;;AuErqPQ;;EAEE,8BAA+B;AvEwqPzC;;AuEtqPQ;;EAEE,gCAAiC;AvEyqP3C;;AuEvqPQ;;EAEE,iCAAkC;AvE0qP5C;;AuExqPQ;;EAEE,+BAAgC;AvE2qP1C;;AuE1rPQ;EAAwB,wBAA2B;AvE8rP3D;;AuE7rPQ;;EAEE,4BAA+B;AvEgsPzC;;AuE9rPQ;;EAEE,8BAAiC;AvEisP3C;;AuE/rPQ;;EAEE,+BAAkC;AvEksP5C;;AuEhsPQ;;EAEE,6BAAgC;AvEmsP1C;;AuE7rPI;EAAmB,uBAAuB;AvEisP9C;;AuEhsPI;;EAEE,2BAA2B;AvEmsPjC;;AuEjsPI;;EAEE,6BAA6B;AvEosPnC;;AuElsPI;;EAEE,8BAA8B;AvEqsPpC;;AuEnsPI;;EAEE,4BAA4B;AvEssPlC;;Ac/sPI;EyDlDI;IAAgC,oBAA4B;EvEswPlE;EuErwPM;;IAEE,wBAAoC;EvEuwP5C;EuErwPM;;IAEE,0BAAwC;EvEuwPhD;EuErwPM;;IAEE,2BAA0C;EvEuwPlD;EuErwPM;;IAEE,yBAAsC;EvEuwP9C;EuEtxPM;IAAgC,0BAA4B;EvEyxPlE;EuExxPM;;IAEE,8BAAoC;EvE0xP5C;EuExxPM;;IAEE,gCAAwC;EvE0xPhD;EuExxPM;;IAEE,iCAA0C;EvE0xPlD;EuExxPM;;IAEE,+BAAsC;EvE0xP9C;EuEzyPM;IAAgC,yBAA4B;EvE4yPlE;EuE3yPM;;IAEE,6BAAoC;EvE6yP5C;EuE3yPM;;IAEE,+BAAwC;EvE6yPhD;EuE3yPM;;IAEE,gCAA0C;EvE6yPlD;EuE3yPM;;IAEE,8BAAsC;EvE6yP9C;EuE5zPM;IAAgC,uBAA4B;EvE+zPlE;EuE9zPM;;IAEE,2BAAoC;EvEg0P5C;EuE9zPM;;IAEE,6BAAwC;EvEg0PhD;EuE9zPM;;IAEE,8BAA0C;EvEg0PlD;EuE9zPM;;IAEE,4BAAsC;EvEg0P9C;EuE/0PM;IAAgC,yBAA4B;EvEk1PlE;EuEj1PM;;IAEE,6BAAoC;EvEm1P5C;EuEj1PM;;IAEE,+BAAwC;EvEm1PhD;EuEj1PM;;IAEE,gCAA0C;EvEm1PlD;EuEj1PM;;IAEE,8BAAsC;EvEm1P9C;EuEl2PM;IAAgC,uBAA4B;EvEq2PlE;EuEp2PM;;IAEE,2BAAoC;EvEs2P5C;EuEp2PM;;IAEE,6BAAwC;EvEs2PhD;EuEp2PM;;IAEE,8BAA0C;EvEs2PlD;EuEp2PM;;IAEE,4BAAsC;EvEs2P9C;EuEr3PM;IAAgC,qBAA4B;EvEw3PlE;EuEv3PM;;IAEE,yBAAoC;EvEy3P5C;EuEv3PM;;IAEE,2BAAwC;EvEy3PhD;EuEv3PM;;IAEE,4BAA0C;EvEy3PlD;EuEv3PM;;IAEE,0BAAsC;EvEy3P9C;EuEx4PM;IAAgC,2BAA4B;EvE24PlE;EuE14PM;;IAEE,+BAAoC;EvE44P5C;EuE14PM;;IAEE,iCAAwC;EvE44PhD;EuE14PM;;IAEE,kCAA0C;EvE44PlD;EuE14PM;;IAEE,gCAAsC;EvE44P9C;EuE35PM;IAAgC,0BAA4B;EvE85PlE;EuE75PM;;IAEE,8BAAoC;EvE+5P5C;EuE75PM;;IAEE,gCAAwC;EvE+5PhD;EuE75PM;;IAEE,iCAA0C;EvE+5PlD;EuE75PM;;IAEE,+BAAsC;EvE+5P9C;EuE96PM;IAAgC,wBAA4B;EvEi7PlE;EuEh7PM;;IAEE,4BAAoC;EvEk7P5C;EuEh7PM;;IAEE,8BAAwC;EvEk7PhD;EuEh7PM;;IAEE,+BAA0C;EvEk7PlD;EuEh7PM;;IAEE,6BAAsC;EvEk7P9C;EuEj8PM;IAAgC,0BAA4B;EvEo8PlE;EuEn8PM;;IAEE,8BAAoC;EvEq8P5C;EuEn8PM;;IAEE,gCAAwC;EvEq8PhD;EuEn8PM;;IAEE,iCAA0C;EvEq8PlD;EuEn8PM;;IAEE,+BAAsC;EvEq8P9C;EuEp9PM;IAAgC,wBAA4B;EvEu9PlE;EuEt9PM;;IAEE,4BAAoC;EvEw9P5C;EuEt9PM;;IAEE,8BAAwC;EvEw9PhD;EuEt9PM;;IAEE,+BAA0C;EvEw9PlD;EuEt9PM;;IAEE,6BAAsC;EvEw9P9C;EuEh9PM;IAAwB,2BAA2B;EvEm9PzD;EuEl9PM;;IAEE,+BAA+B;EvEo9PvC;EuEl9PM;;IAEE,iCAAiC;EvEo9PzC;EuEl9PM;;IAEE,kCAAkC;EvEo9P1C;EuEl9PM;;IAEE,gCAAgC;EvEo9PxC;EuEn+PM;IAAwB,0BAA2B;EvEs+PzD;EuEr+PM;;IAEE,8BAA+B;EvEu+PvC;EuEr+PM;;IAEE,gCAAiC;EvEu+PzC;EuEr+PM;;IAEE,iCAAkC;EvEu+P1C;EuEr+PM;;IAEE,+BAAgC;EvEu+PxC;EuEt/PM;IAAwB,wBAA2B;EvEy/PzD;EuEx/PM;;IAEE,4BAA+B;EvE0/PvC;EuEx/PM;;IAEE,8BAAiC;EvE0/PzC;EuEx/PM;;IAEE,+BAAkC;EvE0/P1C;EuEx/PM;;IAEE,6BAAgC;EvE0/PxC;EuEzgQM;IAAwB,0BAA2B;EvE4gQzD;EuE3gQM;;IAEE,8BAA+B;EvE6gQvC;EuE3gQM;;IAEE,gCAAiC;EvE6gQzC;EuE3gQM;;IAEE,iCAAkC;EvE6gQ1C;EuE3gQM;;IAEE,+BAAgC;EvE6gQxC;EuE5hQM;IAAwB,wBAA2B;EvE+hQzD;EuE9hQM;;IAEE,4BAA+B;EvEgiQvC;EuE9hQM;;IAEE,8BAAiC;EvEgiQzC;EuE9hQM;;IAEE,+BAAkC;EvEgiQ1C;EuE9hQM;;IAEE,6BAAgC;EvEgiQxC;EuE1hQE;IAAmB,uBAAuB;EvE6hQ5C;EuE5hQE;;IAEE,2BAA2B;EvE8hQ/B;EuE5hQE;;IAEE,6BAA6B;EvE8hQjC;EuE5hQE;;IAEE,8BAA8B;EvE8hQlC;EuE5hQE;;IAEE,4BAA4B;EvE8hQhC;AACF;;AcxiQI;EyDlDI;IAAgC,oBAA4B;EvE+lQlE;EuE9lQM;;IAEE,wBAAoC;EvEgmQ5C;EuE9lQM;;IAEE,0BAAwC;EvEgmQhD;EuE9lQM;;IAEE,2BAA0C;EvEgmQlD;EuE9lQM;;IAEE,yBAAsC;EvEgmQ9C;EuE/mQM;IAAgC,0BAA4B;EvEknQlE;EuEjnQM;;IAEE,8BAAoC;EvEmnQ5C;EuEjnQM;;IAEE,gCAAwC;EvEmnQhD;EuEjnQM;;IAEE,iCAA0C;EvEmnQlD;EuEjnQM;;IAEE,+BAAsC;EvEmnQ9C;EuEloQM;IAAgC,yBAA4B;EvEqoQlE;EuEpoQM;;IAEE,6BAAoC;EvEsoQ5C;EuEpoQM;;IAEE,+BAAwC;EvEsoQhD;EuEpoQM;;IAEE,gCAA0C;EvEsoQlD;EuEpoQM;;IAEE,8BAAsC;EvEsoQ9C;EuErpQM;IAAgC,uBAA4B;EvEwpQlE;EuEvpQM;;IAEE,2BAAoC;EvEypQ5C;EuEvpQM;;IAEE,6BAAwC;EvEypQhD;EuEvpQM;;IAEE,8BAA0C;EvEypQlD;EuEvpQM;;IAEE,4BAAsC;EvEypQ9C;EuExqQM;IAAgC,yBAA4B;EvE2qQlE;EuE1qQM;;IAEE,6BAAoC;EvE4qQ5C;EuE1qQM;;IAEE,+BAAwC;EvE4qQhD;EuE1qQM;;IAEE,gCAA0C;EvE4qQlD;EuE1qQM;;IAEE,8BAAsC;EvE4qQ9C;EuE3rQM;IAAgC,uBAA4B;EvE8rQlE;EuE7rQM;;IAEE,2BAAoC;EvE+rQ5C;EuE7rQM;;IAEE,6BAAwC;EvE+rQhD;EuE7rQM;;IAEE,8BAA0C;EvE+rQlD;EuE7rQM;;IAEE,4BAAsC;EvE+rQ9C;EuE9sQM;IAAgC,qBAA4B;EvEitQlE;EuEhtQM;;IAEE,yBAAoC;EvEktQ5C;EuEhtQM;;IAEE,2BAAwC;EvEktQhD;EuEhtQM;;IAEE,4BAA0C;EvEktQlD;EuEhtQM;;IAEE,0BAAsC;EvEktQ9C;EuEjuQM;IAAgC,2BAA4B;EvEouQlE;EuEnuQM;;IAEE,+BAAoC;EvEquQ5C;EuEnuQM;;IAEE,iCAAwC;EvEquQhD;EuEnuQM;;IAEE,kCAA0C;EvEquQlD;EuEnuQM;;IAEE,gCAAsC;EvEquQ9C;EuEpvQM;IAAgC,0BAA4B;EvEuvQlE;EuEtvQM;;IAEE,8BAAoC;EvEwvQ5C;EuEtvQM;;IAEE,gCAAwC;EvEwvQhD;EuEtvQM;;IAEE,iCAA0C;EvEwvQlD;EuEtvQM;;IAEE,+BAAsC;EvEwvQ9C;EuEvwQM;IAAgC,wBAA4B;EvE0wQlE;EuEzwQM;;IAEE,4BAAoC;EvE2wQ5C;EuEzwQM;;IAEE,8BAAwC;EvE2wQhD;EuEzwQM;;IAEE,+BAA0C;EvE2wQlD;EuEzwQM;;IAEE,6BAAsC;EvE2wQ9C;EuE1xQM;IAAgC,0BAA4B;EvE6xQlE;EuE5xQM;;IAEE,8BAAoC;EvE8xQ5C;EuE5xQM;;IAEE,gCAAwC;EvE8xQhD;EuE5xQM;;IAEE,iCAA0C;EvE8xQlD;EuE5xQM;;IAEE,+BAAsC;EvE8xQ9C;EuE7yQM;IAAgC,wBAA4B;EvEgzQlE;EuE/yQM;;IAEE,4BAAoC;EvEizQ5C;EuE/yQM;;IAEE,8BAAwC;EvEizQhD;EuE/yQM;;IAEE,+BAA0C;EvEizQlD;EuE/yQM;;IAEE,6BAAsC;EvEizQ9C;EuEzyQM;IAAwB,2BAA2B;EvE4yQzD;EuE3yQM;;IAEE,+BAA+B;EvE6yQvC;EuE3yQM;;IAEE,iCAAiC;EvE6yQzC;EuE3yQM;;IAEE,kCAAkC;EvE6yQ1C;EuE3yQM;;IAEE,gCAAgC;EvE6yQxC;EuE5zQM;IAAwB,0BAA2B;EvE+zQzD;EuE9zQM;;IAEE,8BAA+B;EvEg0QvC;EuE9zQM;;IAEE,gCAAiC;EvEg0QzC;EuE9zQM;;IAEE,iCAAkC;EvEg0Q1C;EuE9zQM;;IAEE,+BAAgC;EvEg0QxC;EuE/0QM;IAAwB,wBAA2B;EvEk1QzD;EuEj1QM;;IAEE,4BAA+B;EvEm1QvC;EuEj1QM;;IAEE,8BAAiC;EvEm1QzC;EuEj1QM;;IAEE,+BAAkC;EvEm1Q1C;EuEj1QM;;IAEE,6BAAgC;EvEm1QxC;EuEl2QM;IAAwB,0BAA2B;EvEq2QzD;EuEp2QM;;IAEE,8BAA+B;EvEs2QvC;EuEp2QM;;IAEE,gCAAiC;EvEs2QzC;EuEp2QM;;IAEE,iCAAkC;EvEs2Q1C;EuEp2QM;;IAEE,+BAAgC;EvEs2QxC;EuEr3QM;IAAwB,wBAA2B;EvEw3QzD;EuEv3QM;;IAEE,4BAA+B;EvEy3QvC;EuEv3QM;;IAEE,8BAAiC;EvEy3QzC;EuEv3QM;;IAEE,+BAAkC;EvEy3Q1C;EuEv3QM;;IAEE,6BAAgC;EvEy3QxC;EuEn3QE;IAAmB,uBAAuB;EvEs3Q5C;EuEr3QE;;IAEE,2BAA2B;EvEu3Q/B;EuEr3QE;;IAEE,6BAA6B;EvEu3QjC;EuEr3QE;;IAEE,8BAA8B;EvEu3QlC;EuEr3QE;;IAEE,4BAA4B;EvEu3QhC;AACF;;Acj4QI;EyDlDI;IAAgC,oBAA4B;EvEw7QlE;EuEv7QM;;IAEE,wBAAoC;EvEy7Q5C;EuEv7QM;;IAEE,0BAAwC;EvEy7QhD;EuEv7QM;;IAEE,2BAA0C;EvEy7QlD;EuEv7QM;;IAEE,yBAAsC;EvEy7Q9C;EuEx8QM;IAAgC,0BAA4B;EvE28QlE;EuE18QM;;IAEE,8BAAoC;EvE48Q5C;EuE18QM;;IAEE,gCAAwC;EvE48QhD;EuE18QM;;IAEE,iCAA0C;EvE48QlD;EuE18QM;;IAEE,+BAAsC;EvE48Q9C;EuE39QM;IAAgC,yBAA4B;EvE89QlE;EuE79QM;;IAEE,6BAAoC;EvE+9Q5C;EuE79QM;;IAEE,+BAAwC;EvE+9QhD;EuE79QM;;IAEE,gCAA0C;EvE+9QlD;EuE79QM;;IAEE,8BAAsC;EvE+9Q9C;EuE9+QM;IAAgC,uBAA4B;EvEi/QlE;EuEh/QM;;IAEE,2BAAoC;EvEk/Q5C;EuEh/QM;;IAEE,6BAAwC;EvEk/QhD;EuEh/QM;;IAEE,8BAA0C;EvEk/QlD;EuEh/QM;;IAEE,4BAAsC;EvEk/Q9C;EuEjgRM;IAAgC,yBAA4B;EvEogRlE;EuEngRM;;IAEE,6BAAoC;EvEqgR5C;EuEngRM;;IAEE,+BAAwC;EvEqgRhD;EuEngRM;;IAEE,gCAA0C;EvEqgRlD;EuEngRM;;IAEE,8BAAsC;EvEqgR9C;EuEphRM;IAAgC,uBAA4B;EvEuhRlE;EuEthRM;;IAEE,2BAAoC;EvEwhR5C;EuEthRM;;IAEE,6BAAwC;EvEwhRhD;EuEthRM;;IAEE,8BAA0C;EvEwhRlD;EuEthRM;;IAEE,4BAAsC;EvEwhR9C;EuEviRM;IAAgC,qBAA4B;EvE0iRlE;EuEziRM;;IAEE,yBAAoC;EvE2iR5C;EuEziRM;;IAEE,2BAAwC;EvE2iRhD;EuEziRM;;IAEE,4BAA0C;EvE2iRlD;EuEziRM;;IAEE,0BAAsC;EvE2iR9C;EuE1jRM;IAAgC,2BAA4B;EvE6jRlE;EuE5jRM;;IAEE,+BAAoC;EvE8jR5C;EuE5jRM;;IAEE,iCAAwC;EvE8jRhD;EuE5jRM;;IAEE,kCAA0C;EvE8jRlD;EuE5jRM;;IAEE,gCAAsC;EvE8jR9C;EuE7kRM;IAAgC,0BAA4B;EvEglRlE;EuE/kRM;;IAEE,8BAAoC;EvEilR5C;EuE/kRM;;IAEE,gCAAwC;EvEilRhD;EuE/kRM;;IAEE,iCAA0C;EvEilRlD;EuE/kRM;;IAEE,+BAAsC;EvEilR9C;EuEhmRM;IAAgC,wBAA4B;EvEmmRlE;EuElmRM;;IAEE,4BAAoC;EvEomR5C;EuElmRM;;IAEE,8BAAwC;EvEomRhD;EuElmRM;;IAEE,+BAA0C;EvEomRlD;EuElmRM;;IAEE,6BAAsC;EvEomR9C;EuEnnRM;IAAgC,0BAA4B;EvEsnRlE;EuErnRM;;IAEE,8BAAoC;EvEunR5C;EuErnRM;;IAEE,gCAAwC;EvEunRhD;EuErnRM;;IAEE,iCAA0C;EvEunRlD;EuErnRM;;IAEE,+BAAsC;EvEunR9C;EuEtoRM;IAAgC,wBAA4B;EvEyoRlE;EuExoRM;;IAEE,4BAAoC;EvE0oR5C;EuExoRM;;IAEE,8BAAwC;EvE0oRhD;EuExoRM;;IAEE,+BAA0C;EvE0oRlD;EuExoRM;;IAEE,6BAAsC;EvE0oR9C;EuEloRM;IAAwB,2BAA2B;EvEqoRzD;EuEpoRM;;IAEE,+BAA+B;EvEsoRvC;EuEpoRM;;IAEE,iCAAiC;EvEsoRzC;EuEpoRM;;IAEE,kCAAkC;EvEsoR1C;EuEpoRM;;IAEE,gCAAgC;EvEsoRxC;EuErpRM;IAAwB,0BAA2B;EvEwpRzD;EuEvpRM;;IAEE,8BAA+B;EvEypRvC;EuEvpRM;;IAEE,gCAAiC;EvEypRzC;EuEvpRM;;IAEE,iCAAkC;EvEypR1C;EuEvpRM;;IAEE,+BAAgC;EvEypRxC;EuExqRM;IAAwB,wBAA2B;EvE2qRzD;EuE1qRM;;IAEE,4BAA+B;EvE4qRvC;EuE1qRM;;IAEE,8BAAiC;EvE4qRzC;EuE1qRM;;IAEE,+BAAkC;EvE4qR1C;EuE1qRM;;IAEE,6BAAgC;EvE4qRxC;EuE3rRM;IAAwB,0BAA2B;EvE8rRzD;EuE7rRM;;IAEE,8BAA+B;EvE+rRvC;EuE7rRM;;IAEE,gCAAiC;EvE+rRzC;EuE7rRM;;IAEE,iCAAkC;EvE+rR1C;EuE7rRM;;IAEE,+BAAgC;EvE+rRxC;EuE9sRM;IAAwB,wBAA2B;EvEitRzD;EuEhtRM;;IAEE,4BAA+B;EvEktRvC;EuEhtRM;;IAEE,8BAAiC;EvEktRzC;EuEhtRM;;IAEE,+BAAkC;EvEktR1C;EuEhtRM;;IAEE,6BAAgC;EvEktRxC;EuE5sRE;IAAmB,uBAAuB;EvE+sR5C;EuE9sRE;;IAEE,2BAA2B;EvEgtR/B;EuE9sRE;;IAEE,6BAA6B;EvEgtRjC;EuE9sRE;;IAEE,8BAA8B;EvEgtRlC;EuE9sRE;;IAEE,4BAA4B;EvEgtRhC;AACF;;Ac1tRI;EyDlDI;IAAgC,oBAA4B;EvEixRlE;EuEhxRM;;IAEE,wBAAoC;EvEkxR5C;EuEhxRM;;IAEE,0BAAwC;EvEkxRhD;EuEhxRM;;IAEE,2BAA0C;EvEkxRlD;EuEhxRM;;IAEE,yBAAsC;EvEkxR9C;EuEjyRM;IAAgC,0BAA4B;EvEoyRlE;EuEnyRM;;IAEE,8BAAoC;EvEqyR5C;EuEnyRM;;IAEE,gCAAwC;EvEqyRhD;EuEnyRM;;IAEE,iCAA0C;EvEqyRlD;EuEnyRM;;IAEE,+BAAsC;EvEqyR9C;EuEpzRM;IAAgC,yBAA4B;EvEuzRlE;EuEtzRM;;IAEE,6BAAoC;EvEwzR5C;EuEtzRM;;IAEE,+BAAwC;EvEwzRhD;EuEtzRM;;IAEE,gCAA0C;EvEwzRlD;EuEtzRM;;IAEE,8BAAsC;EvEwzR9C;EuEv0RM;IAAgC,uBAA4B;EvE00RlE;EuEz0RM;;IAEE,2BAAoC;EvE20R5C;EuEz0RM;;IAEE,6BAAwC;EvE20RhD;EuEz0RM;;IAEE,8BAA0C;EvE20RlD;EuEz0RM;;IAEE,4BAAsC;EvE20R9C;EuE11RM;IAAgC,yBAA4B;EvE61RlE;EuE51RM;;IAEE,6BAAoC;EvE81R5C;EuE51RM;;IAEE,+BAAwC;EvE81RhD;EuE51RM;;IAEE,gCAA0C;EvE81RlD;EuE51RM;;IAEE,8BAAsC;EvE81R9C;EuE72RM;IAAgC,uBAA4B;EvEg3RlE;EuE/2RM;;IAEE,2BAAoC;EvEi3R5C;EuE/2RM;;IAEE,6BAAwC;EvEi3RhD;EuE/2RM;;IAEE,8BAA0C;EvEi3RlD;EuE/2RM;;IAEE,4BAAsC;EvEi3R9C;EuEh4RM;IAAgC,qBAA4B;EvEm4RlE;EuEl4RM;;IAEE,yBAAoC;EvEo4R5C;EuEl4RM;;IAEE,2BAAwC;EvEo4RhD;EuEl4RM;;IAEE,4BAA0C;EvEo4RlD;EuEl4RM;;IAEE,0BAAsC;EvEo4R9C;EuEn5RM;IAAgC,2BAA4B;EvEs5RlE;EuEr5RM;;IAEE,+BAAoC;EvEu5R5C;EuEr5RM;;IAEE,iCAAwC;EvEu5RhD;EuEr5RM;;IAEE,kCAA0C;EvEu5RlD;EuEr5RM;;IAEE,gCAAsC;EvEu5R9C;EuEt6RM;IAAgC,0BAA4B;EvEy6RlE;EuEx6RM;;IAEE,8BAAoC;EvE06R5C;EuEx6RM;;IAEE,gCAAwC;EvE06RhD;EuEx6RM;;IAEE,iCAA0C;EvE06RlD;EuEx6RM;;IAEE,+BAAsC;EvE06R9C;EuEz7RM;IAAgC,wBAA4B;EvE47RlE;EuE37RM;;IAEE,4BAAoC;EvE67R5C;EuE37RM;;IAEE,8BAAwC;EvE67RhD;EuE37RM;;IAEE,+BAA0C;EvE67RlD;EuE37RM;;IAEE,6BAAsC;EvE67R9C;EuE58RM;IAAgC,0BAA4B;EvE+8RlE;EuE98RM;;IAEE,8BAAoC;EvEg9R5C;EuE98RM;;IAEE,gCAAwC;EvEg9RhD;EuE98RM;;IAEE,iCAA0C;EvEg9RlD;EuE98RM;;IAEE,+BAAsC;EvEg9R9C;EuE/9RM;IAAgC,wBAA4B;EvEk+RlE;EuEj+RM;;IAEE,4BAAoC;EvEm+R5C;EuEj+RM;;IAEE,8BAAwC;EvEm+RhD;EuEj+RM;;IAEE,+BAA0C;EvEm+RlD;EuEj+RM;;IAEE,6BAAsC;EvEm+R9C;EuE39RM;IAAwB,2BAA2B;EvE89RzD;EuE79RM;;IAEE,+BAA+B;EvE+9RvC;EuE79RM;;IAEE,iCAAiC;EvE+9RzC;EuE79RM;;IAEE,kCAAkC;EvE+9R1C;EuE79RM;;IAEE,gCAAgC;EvE+9RxC;EuE9+RM;IAAwB,0BAA2B;EvEi/RzD;EuEh/RM;;IAEE,8BAA+B;EvEk/RvC;EuEh/RM;;IAEE,gCAAiC;EvEk/RzC;EuEh/RM;;IAEE,iCAAkC;EvEk/R1C;EuEh/RM;;IAEE,+BAAgC;EvEk/RxC;EuEjgSM;IAAwB,wBAA2B;EvEogSzD;EuEngSM;;IAEE,4BAA+B;EvEqgSvC;EuEngSM;;IAEE,8BAAiC;EvEqgSzC;EuEngSM;;IAEE,+BAAkC;EvEqgS1C;EuEngSM;;IAEE,6BAAgC;EvEqgSxC;EuEphSM;IAAwB,0BAA2B;EvEuhSzD;EuEthSM;;IAEE,8BAA+B;EvEwhSvC;EuEthSM;;IAEE,gCAAiC;EvEwhSzC;EuEthSM;;IAEE,iCAAkC;EvEwhS1C;EuEthSM;;IAEE,+BAAgC;EvEwhSxC;EuEviSM;IAAwB,wBAA2B;EvE0iSzD;EuEziSM;;IAEE,4BAA+B;EvE2iSvC;EuEziSM;;IAEE,8BAAiC;EvE2iSzC;EuEziSM;;IAEE,+BAAkC;EvE2iS1C;EuEziSM;;IAEE,6BAAgC;EvE2iSxC;EuEriSE;IAAmB,uBAAuB;EvEwiS5C;EuEviSE;;IAEE,2BAA2B;EvEyiS/B;EuEviSE;;IAEE,6BAA6B;EvEyiSjC;EuEviSE;;IAEE,8BAA8B;EvEyiSlC;EuEviSE;;IAEE,4BAA4B;EvEyiShC;AACF;;AwE3mSA;EAEI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,UAAU;EAEV,oBAAoB;EACpB,WAAW;EAEX,kCAAkC;AxE2mStC;;AyErnSA;EAAkB,4GAA8C;AzEynShE;;AyErnSA;EAAiB,8BAA8B;AzEynS/C;;AyExnSA;EAAiB,8BAA8B;AzE4nS/C;;AyE3nSA;EAAiB,8BAA8B;AzE+nS/C;;AyE9nSA;ECTE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;A1E2oSrB;;AyE5nSI;EAAwB,2BAA2B;AzEgoSvD;;AyE/nSI;EAAwB,4BAA4B;AzEmoSxD;;AyEloSI;EAAwB,6BAA6B;AzEsoSzD;;AcjmSI;E2DvCA;IAAwB,2BAA2B;EzE6oSrD;EyE5oSE;IAAwB,4BAA4B;EzE+oStD;EyE9oSE;IAAwB,6BAA6B;EzEipSvD;AACF;;Ac7mSI;E2DvCA;IAAwB,2BAA2B;EzEypSrD;EyExpSE;IAAwB,4BAA4B;EzE2pStD;EyE1pSE;IAAwB,6BAA6B;EzE6pSvD;AACF;;AcznSI;E2DvCA;IAAwB,2BAA2B;EzEqqSrD;EyEpqSE;IAAwB,4BAA4B;EzEuqStD;EyEtqSE;IAAwB,6BAA6B;EzEyqSvD;AACF;;AcroSI;E2DvCA;IAAwB,2BAA2B;EzEirSrD;EyEhrSE;IAAwB,4BAA4B;EzEmrStD;EyElrSE;IAAwB,6BAA6B;EzEqrSvD;AACF;;AyEhrSA;EAAmB,oCAAoC;AzEorSvD;;AyEnrSA;EAAmB,oCAAoC;AzEurSvD;;AyEtrSA;EAAmB,qCAAqC;AzE0rSxD;;AyEtrSA;EAAuB,2BAA0C;AzE0rSjE;;AyEzrSA;EAAuB,+BAA4C;AzE6rSnE;;AyE5rSA;EAAuB,2BAA2C;AzEgsSlE;;AyE/rSA;EAAuB,2BAAyC;AzEmsShE;;AyElsSA;EAAuB,8BAA2C;AzEssSlE;;AyErsSA;EAAuB,6BAA6B;AzEysSpD;;AyErsSA;EAAc,sBAAwB;AzEysStC;;A2EhvSE;EACE,yBAAwB;A3EmvS5B;;AKzuSE;EsELM,yBAA0E;A3EkvSlF;;A2ExvSE;EACE,yBAAwB;A3E2vS5B;;AKjvSE;EsELM,yBAA0E;A3E0vSlF;;A2EhwSE;EACE,yBAAwB;A3EmwS5B;;AKzvSE;EsELM,yBAA0E;A3EkwSlF;;A2ExwSE;EACE,yBAAwB;A3E2wS5B;;AKjwSE;EsELM,yBAA0E;A3E0wSlF;;A2EhxSE;EACE,yBAAwB;A3EmxS5B;;AKzwSE;EsELM,yBAA0E;A3EkxSlF;;A2ExxSE;EACE,yBAAwB;A3E2xS5B;;AKjxSE;EsELM,yBAA0E;A3E0xSlF;;A2EhySE;EACE,yBAAwB;A3EmyS5B;;AKzxSE;EsELM,yBAA0E;A3EkySlF;;A2ExySE;EACE,yBAAwB;A3E2yS5B;;AKjySE;EsELM,yBAA0E;A3E0ySlF;;AyEnwSA;EAAa,yBAA6B;AzEuwS1C;;AyEtwSA;EAAc,yBAA6B;AzE0wS3C;;AyExwSA;EAAiB,oCAAkC;AzE4wSnD;;AyE3wSA;EAAiB,0CAAkC;AzE+wSnD;;AyE3wSA;EGvDE,WAAW;EACX,kBAAkB;EAClB,iBAAiB;EACjB,6BAA6B;EAC7B,SAAS;A5Es0SX;;AyE/wSA;EAAwB,gCAAgC;AzEmxSxD;;AyEjxSA;EACE,iCAAiC;EACjC,gCAAgC;AzEoxSlC;;AyE/wSA;EAAc,yBAAyB;AzEmxSvC;;A6Ep1SA;EACE,8BAA8B;A7Eu1ShC;;A6Ep1SA;EACE,6BAA6B;A7Eu1S/B;;A8Ev1SE;E5EOF;;;I4EDM,4BAA4B;IAE5B,2BAA2B;E9Eu1S/B;E8Ep1SE;IAEI,0BAA0B;E9Eq1ShC;E8E50SE;IACE,6BAA6B;E9E80SjC;EEhpSF;I4E/KM,gCAAgC;E9Ek0SpC;E8Eh0SE;;IAEE,yB3EzCY;I2E0CZ,wBAAwB;E9Ek0S5B;E8E1zSE;IACE,2BAA2B;E9E4zS/B;E8EzzSE;;IAEE,wBAAwB;E9E2zS5B;E8ExzSE;;;IAGE,UAAU;IACV,SAAS;E9E0zSb;E8EvzSE;;IAEE,uBAAuB;E9EyzS3B;E8EjzSE;IACE,Q3E2hCgC;EHwxQpC;EE/1SF;I4E+CM,2BAA2C;E9EmzS/C;E8EjzSE;IACE,2BAA2C;E9EmzS/C;EiCj4SF;I6CmFM,aAAa;E9EizSjB;EsCh5SF;IwCkGM,sB3EtFS;EHu4Sb;EgBp5SF;I8DuGM,oCAAoC;E9EgzSxC;E8EjzSE;;IAKI,iCAAmC;E9EgzSzC;EgBn3SF;;I8D0EQ,oCAAsC;E9E6yS5C;EgBlySF;I8DNM,cAAc;E9E2ySlB;EiBj6SA;;;;I6D4HM,qB3EvHU;EHk6ShB;EgB7zSF;I8DuBM,cAAc;IACd,qB3E7HY;EHs6ShB;AACF","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"utilities\";\n@import \"print\";\n","/*!\n * Bootstrap v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\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 padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\ninput[type=\"date\"].form-control,\ninput[type=\"time\"].form-control,\ninput[type=\"datetime-local\"].form-control,\ninput[type=\"month\"].form-control {\n appearance: none;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n font-size: 1rem;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n z-index: 1;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n color-adjust: exact;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1;\n width: 1rem;\n height: 1.25rem;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input[disabled] ~ .custom-file-label,\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion {\n overflow-anchor: none;\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item {\n display: flex;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n line-height: 0;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: 0.25rem;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush {\n border-radius: 0;\n}\n\n.list-group-flush > .list-group-item {\n border-width: 0 0 1px;\n}\n\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n flex-basis: 350px;\n max-width: 350px;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n height: min-content;\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n height: min-content;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-break: break-word !important;\n word-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// Do not forget to update getting-started/theming.md!\n:root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\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; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role=\"button\"] {\n cursor: pointer;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\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 font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n$grid-row-columns: 6 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n$table-th-font-weight: null !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n$custom-control-cursor: null !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-label-color: null !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: null !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: null !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: null !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>\") !default;\n$custom-select-background: escape-svg($custom-select-indicator) no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-font-size: null !default;\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n$user-selects: all, auto, none !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled() {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid() {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n @include deprecate(\"`img-retina()`\", \"v4.3.0\", \"v5\");\n}\n","// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n","// Inline code\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n @include deprecate(\"The `make-container-max-widths` mixin\", \"v4.5.2\", \"v5\");\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @if $columns > 0 {\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n }\n\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n @if $columns > 0 {\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover() {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover() {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover() {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" or unit($prev-num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n @if length($map) > 0 {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// See https://codepen.io/kevinweber/pen/dXWoRw\n//\n// Requires the use of quotes around data URIs.\n\n@function escape-svg($string) {\n @if str-index($string, \"data:image/svg+xml\") {\n @each $char, $encoded in $escaped-characters {\n // Do not escape the url brackets\n @if str-index($string, \"url(\") == 1 {\n $string: url(\"#{str-replace(str-slice($string, 6, -3), $char, $encoded)}\");\n } @else {\n $string: str-replace($string, $char, $encoded);\n }\n }\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @if ($yiq >= $yiq-contrasted-threshold) {\n @return $dark;\n } @else {\n @return $light;\n }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n\n// Return valid calc\n@function add($value1, $value2, $return-calc: true) {\n @if $value1 == null {\n @return $value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 + $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(\" + \") + $value2);\n}\n\n@function subtract($value1, $value2, $return-calc: true) {\n @if $value1 == null and $value2 == null {\n @return null;\n }\n\n @if $value1 == null {\n @return -$value2;\n }\n\n @if $value2 == null {\n @return $value1;\n }\n\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n @return $value1 - $value2;\n }\n\n @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(\" - \") + $value2);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Remove select outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $input-color;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus($ignore-warning: true);\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n &.form-control {\n appearance: none; // Fix appearance for date inputs in Safari\n }\n}\n\nselect.form-control {\n &:focus::-ms-value {\n // Suppress the nested default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n @include font-size($input-font-size);\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n// stylelint-disable-next-line no-duplicate-selectors\nselect.form-control {\n &[size],\n &[multiple] {\n height: auto;\n }\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n display: block;\n margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$form-grid-gutter-width / 2;\n margin-left: -$form-grid-gutter-width / 2;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: $form-grid-gutter-width / 2;\n padding-left: $form-grid-gutter-width / 2;\n }\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n position: relative;\n display: block;\n padding-left: $form-check-input-gutter;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: $form-check-input-margin-y;\n margin-left: -$form-check-input-gutter;\n\n // Use [disabled] and :disabled for workaround https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .form-check-label,\n &:disabled ~ .form-check-label {\n color: $text-muted;\n }\n}\n\n.form-check-label {\n margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0; // Override base .form-check\n margin-right: $form-check-inline-margin-x;\n\n // Undo .form-check-input defaults and add some `margin-right`.\n .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: $form-check-inline-input-margin-x;\n margin-left: 0;\n }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@each $state, $data in $form-validation-states {\n @include form-validation-state($state, map-get($data, color), map-get($data, icon));\n}\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group,\n .custom-select {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n\n .custom-control {\n align-items: center;\n justify-content: center;\n }\n .custom-control-label {\n margin-bottom: 0;\n }\n }\n}\n","// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-prefers-reduced-motion-media-query and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($ignore-warning: false) {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $input-focus-box-shadow;\n }\n }\n @include deprecate(\"The `form-control-focus()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-yiq($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .custom-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $custom-select-feedback-icon-padding-right;\n background: $custom-select-background, escape-svg($icon) $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .custom-control-input {\n @include form-validation-state-selector($state) {\n ~ .custom-control-label {\n color: $color;\n\n &::before {\n border-color: $color;\n }\n }\n\n &:checked {\n ~ .custom-control-label::before {\n border-color: lighten($color, 10%);\n @include gradient-bg(lighten($color, 10%));\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n &:not(:checked) ~ .custom-control-label::before {\n border-color: $color;\n }\n }\n }\n }\n\n // custom file\n .custom-file-input {\n @include form-validation-state-selector($state) {\n ~ .custom-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .custom-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n color: $body-color;\n text-align: center;\n text-decoration: if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n @include hover() {\n color: $body-color;\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n &:not(:disabled):not(.disabled) {\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n\n &:active,\n &.active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $link-color;\n text-decoration: $link-decoration;\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover() {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n @if $enable-shadows {\n @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows and $btn-active-box-shadow != none {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n border-color: $color;\n\n @include hover() {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows and $btn-active-box-shadow != none {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y $dropdown-padding-x;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n @include hover-focus() {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-header-padding;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n","@mixin caret-down() {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up() {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right() {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left() {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) {\n height: 0;\n margin: $margin-y 0;\n overflow: hidden;\n border-top: 1px solid $color;\n @include deprecate(\"The `nav-divider()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n @include hover() {\n z-index: 1;\n }\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-control-plaintext,\n > .custom-select,\n > .custom-file {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n margin-bottom: 0;\n\n + .form-control,\n + .custom-select,\n + .custom-file {\n margin-left: -$input-border-width;\n }\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .custom-select:focus,\n > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .custom-file .custom-file-input:focus {\n z-index: 4;\n }\n\n > .form-control,\n > .custom-select {\n &:not(:last-child) { @include border-right-radius(0); }\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .custom-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .custom-file-label,\n &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }\n &:not(:first-child) .custom-file-label { @include border-left-radius(0); }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: $custom-select-padding-x + $custom-select-indicator-padding;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n","// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n position: relative;\n z-index: 1;\n display: block;\n min-height: $font-size-base * $line-height-base;\n padding-left: $custom-control-gutter + $custom-control-indicator-size;\n color-adjust: exact; // Keep themed appearance for print\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1; // Put the input behind the label so it doesn't overlay text\n width: $custom-control-indicator-size;\n height: ($font-size-base * $line-height-base + $custom-control-indicator-size) / 2;\n opacity: 0;\n\n &:checked ~ .custom-control-label::before {\n color: $custom-control-indicator-checked-color;\n border-color: $custom-control-indicator-checked-border-color;\n @include gradient-bg($custom-control-indicator-checked-bg);\n @include box-shadow($custom-control-indicator-checked-box-shadow);\n }\n\n &:focus ~ .custom-control-label::before {\n // the mixin is not used here to make sure there is feedback\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $custom-control-indicator-focus-box-shadow;\n } @else {\n box-shadow: $custom-control-indicator-focus-box-shadow;\n }\n }\n\n &:focus:not(:checked) ~ .custom-control-label::before {\n border-color: $custom-control-indicator-focus-border-color;\n }\n\n &:not(:disabled):active ~ .custom-control-label::before {\n color: $custom-control-indicator-active-color;\n background-color: $custom-control-indicator-active-bg;\n border-color: $custom-control-indicator-active-border-color;\n @include box-shadow($custom-control-indicator-active-box-shadow);\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .custom-control-label {\n color: $custom-control-label-disabled-color;\n\n &::before {\n background-color: $custom-control-indicator-disabled-bg;\n }\n }\n }\n}\n\n// Custom control indicators\n//\n// Build the custom controls out of pseudo-elements.\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n color: $custom-control-label-color;\n vertical-align: top;\n cursor: $custom-control-cursor;\n\n // Background-color and (when enabled) gradient\n &::before {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n pointer-events: none;\n content: \"\";\n background-color: $custom-control-indicator-bg;\n border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width;\n @include box-shadow($custom-control-indicator-box-shadow);\n }\n\n // Foreground (icon)\n &::after {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n content: \"\";\n background: no-repeat 50% / #{$custom-control-indicator-bg-size};\n }\n}\n\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n .custom-control-label::before {\n @include border-radius($custom-checkbox-indicator-border-radius);\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-checked);\n }\n }\n\n .custom-control-input:indeterminate ~ .custom-control-label {\n &::before {\n border-color: $custom-checkbox-indicator-indeterminate-border-color;\n @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);\n @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n }\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-indeterminate);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n &:indeterminate ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n .custom-control-label::before {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-radio-indicator-border-radius;\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-radio-indicator-icon-checked);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n\n// switches\n//\n// Tweak a few things for switches\n\n.custom-switch {\n padding-left: $custom-switch-width + $custom-control-gutter;\n\n .custom-control-label {\n &::before {\n left: -($custom-switch-width + $custom-control-gutter);\n width: $custom-switch-width;\n pointer-events: all;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-switch-indicator-border-radius;\n }\n\n &::after {\n top: add(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2, $custom-control-indicator-border-width * 2);\n left: add(-($custom-switch-width + $custom-control-gutter), $custom-control-indicator-border-width * 2);\n width: $custom-switch-indicator-size;\n height: $custom-switch-indicator-size;\n background-color: $custom-control-indicator-border-color;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-switch-indicator-border-radius;\n @include transition(transform .15s ease-in-out, $custom-forms-transition);\n }\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-color: $custom-control-indicator-bg;\n transform: translateX($custom-switch-width - $custom-control-indicator-size);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n//\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: $custom-select-height;\n padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n font-family: $custom-select-font-family;\n @include font-size($custom-select-font-size);\n font-weight: $custom-select-font-weight;\n line-height: $custom-select-line-height;\n color: $custom-select-color;\n vertical-align: middle;\n background: $custom-select-bg $custom-select-background;\n border: $custom-select-border-width solid $custom-select-border-color;\n @include border-radius($custom-select-border-radius, 0);\n @include box-shadow($custom-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $custom-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($custom-select-box-shadow, $custom-select-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $custom-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $custom-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $custom-select-disabled-color;\n background-color: $custom-select-disabled-bg;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n display: none;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $custom-select-color;\n }\n}\n\n.custom-select-sm {\n height: $custom-select-height-sm;\n padding-top: $custom-select-padding-y-sm;\n padding-bottom: $custom-select-padding-y-sm;\n padding-left: $custom-select-padding-x-sm;\n @include font-size($custom-select-font-size-sm);\n}\n\n.custom-select-lg {\n height: $custom-select-height-lg;\n padding-top: $custom-select-padding-y-lg;\n padding-bottom: $custom-select-padding-y-lg;\n padding-left: $custom-select-padding-x-lg;\n @include font-size($custom-select-font-size-lg);\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $custom-file-height;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $custom-file-height;\n margin: 0;\n opacity: 0;\n\n &:focus ~ .custom-file-label {\n border-color: $custom-file-focus-border-color;\n box-shadow: $custom-file-focus-box-shadow;\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .custom-file-label,\n &:disabled ~ .custom-file-label {\n background-color: $custom-file-disabled-bg;\n }\n\n @each $lang, $value in $custom-file-text {\n &:lang(#{$lang}) ~ .custom-file-label::after {\n content: $value;\n }\n }\n\n ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n }\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: $custom-file-height;\n padding: $custom-file-padding-y $custom-file-padding-x;\n font-family: $custom-file-font-family;\n font-weight: $custom-file-font-weight;\n line-height: $custom-file-line-height;\n color: $custom-file-color;\n background-color: $custom-file-bg;\n border: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius($custom-file-border-radius);\n @include box-shadow($custom-file-box-shadow);\n\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: $custom-file-height-inner;\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-button-color;\n content: \"Browse\";\n @include gradient-bg($custom-file-button-bg);\n border-left: inherit;\n @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n }\n}\n\n// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.custom-range {\n width: 100%;\n height: add($custom-range-thumb-height, $custom-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: ($custom-range-track-height - $custom-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent; // Why?\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent;\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $custom-range-thumb-height / 2;\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &:disabled {\n &::-webkit-slider-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-webkit-slider-runnable-track {\n cursor: default;\n }\n\n &::-moz-range-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-moz-range-track {\n cursor: default;\n }\n\n &::-ms-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n }\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n @include transition($custom-forms-transition);\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n text-decoration: if($link-decoration == none, null, none);\n\n @include hover-focus() {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n @include hover-focus() {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n > .nav-link,\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n > .nav-link,\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n %container-flex-properties {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n\n .container,\n .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n @include font-size($navbar-brand-font-size);\n line-height: inherit;\n white-space: nowrap;\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n float: none;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n %container-navbar-expand-#{$breakpoint} {\n padding-right: 0;\n padding-left: 0;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n %container-nesting-#{$breakpoint} {\n flex-wrap: nowrap;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-nesting-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-nesting-#{$breakpoint};\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n @include hover-focus() {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n @include hover-focus() {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n a {\n color: $navbar-light-active-color;\n\n @include hover-focus() {\n color: $navbar-light-active-color;\n }\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n @include hover-focus() {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n @include hover-focus() {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a {\n color: $navbar-dark-active-color;\n\n @include hover-focus() {\n color: $navbar-dark-active-color;\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n\n &:first-child {\n border-top-width: 0;\n @include border-top-radius($card-inner-border-radius);\n }\n\n &:last-child {\n border-bottom-width: 0;\n @include border-bottom-radius($card-inner-border-radius);\n }\n }\n\n // Due to specificity of the above selector (`.card > .list-group`), we must\n // use a child selector here to prevent double borders.\n > .card-header + .list-group,\n > .list-group + .card-footer {\n border-top: 0;\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n // Workaround for the image size bug in IE\n // See: https://github.com/twbs/bootstrap/pull/28855\n min-height: 1px;\n padding: $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n @include hover() {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-spacer-x / 2;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x / 2;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -$card-spacer-x / 2;\n margin-left: -$card-spacer-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n @include border-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Columns\n//\n\n.card-columns {\n .card {\n margin-bottom: $card-columns-margin;\n }\n\n @include media-breakpoint-up(sm) {\n column-count: $card-columns-count;\n column-gap: $card-columns-gap;\n orphans: 1;\n widows: 1;\n\n .card {\n display: inline-block; // Don't let them vertically span multiple columns\n width: 100%; // Don't let their width change\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n overflow-anchor: none;\n\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n display: flex;\n\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n @include border-radius();\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: $pagination-padding-y $pagination-padding-x;\n margin-left: -$pagination-border-width;\n line-height: $pagination-line-height;\n color: $pagination-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:first-child {\n .page-link {\n margin-left: 0;\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n }\n\n .page-item {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n @include transition($badge-transition);\n\n @at-root a#{&} {\n @include hover-focus() {\n text-decoration: none;\n }\n }\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n padding-right: $badge-pill-padding-x;\n padding-left: $badge-pill-padding-x;\n @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n .badge-#{$color} {\n @include badge-variant($value);\n }\n}\n","@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n @at-root a#{&} {\n @include hover-focus() {\n color: color-yiq($bg);\n background-color: darken($bg, 10%);\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);\n }\n }\n}\n",".jumbotron {\n padding: $jumbotron-padding ($jumbotron-padding / 2);\n margin-bottom: $jumbotron-padding;\n color: $jumbotron-color;\n background-color: $jumbotron-bg;\n @include border-radius($border-radius-lg);\n\n @include media-breakpoint-up(sm) {\n padding: ($jumbotron-padding * 2) $jumbotron-padding;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n @include border-radius(0);\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n from { background-position: $progress-height 0; }\n to { background-position: 0 0; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n line-height: 0;\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n",".media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius($list-group-border-radius);\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n @include hover-focus() {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius(inherit);\n }\n\n &:last-child {\n @include border-bottom-radius(inherit);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 $list-group-border-width;\n\n &:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n @include hover-focus() {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",".close {\n float: right;\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n @include hover() {\n color: $close-color;\n text-decoration: none;\n }\n\n &:not(:disabled):not(.disabled) {\n @include hover-focus() {\n opacity: .75;\n }\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\n// Future-proof disabling of clicks on `<a>` elements\n\n// stylelint-disable-next-line selector-no-qualifying-type\na.close.disabled {\n pointer-events: none;\n}\n",".toast {\n // Prevents from shrinking in IE11, when in a flex container\n // See https://github.com/twbs/bootstrap/issues/28341\n flex-basis: $toast-max-width;\n max-width: $toast-max-width;\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n @include border-top-radius(subtract($toast-border-radius, $toast-border-width));\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n display: flex; // IE10/11\n max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n\n // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)\n &::before {\n display: block; // IE10\n height: subtract(100vh, $modal-dialog-margin * 2);\n height: min-content; // Reset height to 0 except on IE\n content: \"\";\n }\n\n // Ensure `.modal-body` shows scrollbar (IE10/11)\n &.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n\n .modal-content {\n max-height: none;\n }\n\n &::before {\n content: none;\n }\n }\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n }\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n &::before {\n height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n height: min-content;\n }\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text() {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n @include hover-focus() {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: no-repeat 50% / 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: .5;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: 1;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: 20px;\n left: (100% - $carousel-caption-width) / 2;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n","// stylelint-disable declaration-no-important\n\n.align-baseline { vertical-align: baseline !important; } // Browser default\n.align-top { vertical-align: top !important; }\n.align-middle { vertical-align: middle !important; }\n.align-bottom { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top { vertical-align: text-top !important; }\n","// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent},\n button#{$parent} {\n @include hover-focus() {\n background-color: darken($color, 10%) !important;\n }\n }\n @include deprecate(\"The `bg-variant` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n@mixin bg-gradient-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n @include deprecate(\"The `bg-gradient-variant` mixin\", \"v4.5.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n @include bg-variant(\".bg-#{$color}\", $value, true);\n}\n\n@if $enable-gradients {\n @each $color, $value in $theme-colors {\n @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value, true);\n }\n}\n\n.bg-white {\n background-color: $white !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n","// stylelint-disable property-disallowed-list, declaration-no-important\n\n//\n// Border\n//\n\n.border { border: $border-width solid $border-color !important; }\n.border-top { border-top: $border-width solid $border-color !important; }\n.border-right { border-right: $border-width solid $border-color !important; }\n.border-bottom { border-bottom: $border-width solid $border-color !important; }\n.border-left { border-left: $border-width solid $border-color !important; }\n\n.border-0 { border: 0 !important; }\n.border-top-0 { border-top: 0 !important; }\n.border-right-0 { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0 { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n .border-#{$color} {\n border-color: $value !important;\n }\n}\n\n.border-white {\n border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded-sm {\n border-radius: $border-radius-sm !important;\n}\n\n.rounded {\n border-radius: $border-radius !important;\n}\n\n.rounded-top {\n border-top-left-radius: $border-radius !important;\n border-top-right-radius: $border-radius !important;\n}\n\n.rounded-right {\n border-top-right-radius: $border-radius !important;\n border-bottom-right-radius: $border-radius !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-left {\n border-top-left-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-lg {\n border-radius: $border-radius-lg !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: $rounded-pill !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios {\n $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1);\n $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2);\n\n .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} {\n &::before {\n padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x);\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .float#{$infix}-left { float: left !important; }\n .float#{$infix}-right { float: right !important; }\n .float#{$infix}-none { float: none !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $value in $user-selects {\n .user-select-#{$value} { user-select: $value !important; }\n}\n","// stylelint-disable declaration-no-important\n\n@each $value in $overflows {\n .overflow-#{$value} { overflow: $value !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Common values\n@each $position in $positions {\n .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only {\n @include sr-only();\n}\n\n.sr-only-focusable {\n @include sr-only-focusable();\n}\n","// Only display content to screen readers\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only() {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable() {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n }\n}\n","// stylelint-disable declaration-no-important\n\n.shadow-sm { box-shadow: $box-shadow-sm !important; }\n.shadow { box-shadow: $box-shadow !important; }\n.shadow-lg { box-shadow: $box-shadow-lg !important; }\n.shadow-none { box-shadow: none !important; }\n","// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n @each $size, $length in $sizes {\n .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n\n// Viewport additional helpers\n\n.min-vw-100 { min-width: 100vw !important; }\n.min-vh-100 { min-height: 100vh !important; }\n\n.vw-100 { width: 100vw !important; }\n.vh-100 { height: 100vh !important; }\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n // Just in case `pointer-events: none` is set on a parent\n pointer-events: auto;\n content: \"\";\n // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color\n background-color: rgba(0, 0, 0, 0);\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n.text-monospace { font-family: $font-family-monospace !important; }\n\n// Alignment\n\n.text-justify { text-align: justify !important; }\n.text-wrap { white-space: normal !important; }\n.text-nowrap { white-space: nowrap !important; }\n.text-truncate { @include text-truncate(); }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .text#{$infix}-left { text-align: left !important; }\n .text#{$infix}-right { text-align: right !important; }\n .text#{$infix}-center { text-align: center !important; }\n }\n}\n\n// Transformation\n\n.text-lowercase { text-transform: lowercase !important; }\n.text-uppercase { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light { font-weight: $font-weight-light !important; }\n.font-weight-lighter { font-weight: $font-weight-lighter !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold { font-weight: $font-weight-bold !important; }\n.font-weight-bolder { font-weight: $font-weight-bolder !important; }\n.font-italic { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: $white !important; }\n\n@each $color, $value in $theme-colors {\n @include text-emphasis-variant(\".text-#{$color}\", $value, true);\n}\n\n.text-body { color: $body-color !important; }\n.text-muted { color: $text-muted !important; }\n\n.text-black-50 { color: rgba($black, .5) !important; }\n.text-white-50 { color: rgba($white, .5) !important; }\n\n// Misc\n\n.text-hide {\n @include text-hide($ignore-warning: true);\n}\n\n.text-decoration-none { text-decoration: none !important; }\n\n.text-break {\n word-break: break-word !important; // Deprecated, but avoids issues with flex containers\n word-wrap: break-word !important; // Used instead of `overflow-wrap` for IE & Edge Legacy\n}\n\n// Reset\n\n.text-reset { color: inherit !important; }\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n color: $color !important;\n }\n @if $emphasized-link-hover-darken-percentage != 0 {\n a#{$parent} {\n @include hover-focus() {\n color: darken($color, $emphasized-link-hover-darken-percentage) !important;\n }\n }\n }\n @include deprecate(\"`text-emphasis-variant()`\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n","// CSS image replacement\n@mixin text-hide($ignore-warning: false) {\n // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n\n @include deprecate(\"`text-hide()`\", \"v4.1.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Visibility utilities\n//\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/main.css/blob/master/src/_print.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// https://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n @media print {\n *,\n *::before,\n *::after {\n // Bootstrap specific; comment out `color` and `background`\n //color: $black !important; // Black prints faster\n text-shadow: none !important;\n //background: transparent !important;\n box-shadow: none !important;\n }\n\n a {\n &:not(.btn) {\n text-decoration: underline;\n }\n }\n\n // Bootstrap specific; comment the following selector out\n //a[href]::after {\n // content: \" (\" attr(href) \")\";\n //}\n\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n\n // Bootstrap specific; comment the following selector out\n //\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n //\n\n //a[href^=\"#\"]::after,\n //a[href^=\"javascript:\"]::after {\n // content: \"\";\n //}\n\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px\n page-break-inside: avoid;\n }\n\n //\n // Printing Tables:\n // https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables\n //\n\n thead {\n display: table-header-group;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Specify a size and min-width to make printing closer across browsers.\n // We don't set margin here because it breaks `size` in Chrome. We also\n // don't use `!important` on `size` as it breaks in Chrome.\n @page {\n size: $print-page-size;\n }\n body {\n min-width: $print-body-min-width !important;\n }\n .container {\n min-width: $print-body-min-width !important;\n }\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .badge {\n border: $border-width solid $black;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: $white !important;\n }\n }\n\n .table-bordered {\n th,\n td {\n border: 1px solid $gray-300 !important;\n }\n }\n\n .table-dark {\n color: inherit;\n\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $table-border-color;\n }\n }\n\n .table .thead-dark th {\n color: inherit;\n border-color: $table-border-color;\n }\n\n // Bootstrap specific changes end\n }\n}\n"]} \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap.min.css b/src/main/resources/static/css/bootstrap/bootstrap.min.css new file mode 100644 index 0000000..286cde4 --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.5.3 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors + * Copyright 2011-2020 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item,.nav-fill>.nav-link{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item{display:-ms-flexbox;display:flex}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{-ms-flex-preferred-size:350px;flex-basis:350px;max-width:350px;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;-ms-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/src/main/resources/static/css/bootstrap/bootstrap.min.css.map b/src/main/resources/static/css/bootstrap/bootstrap.min.css.map new file mode 100644 index 0000000..30a3972 --- /dev/null +++ b/src/main/resources/static/css/bootstrap/bootstrap.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","dist/css/bootstrap.css","../../scss/vendor/_rfs.scss","bootstrap.css","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/utilities/_interactions.scss","../../scss/utilities/_overflow.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_stretched-link.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"utilities\";\n@import \"print\";\n","// Do not forget to update getting-started/theming.md!\n:root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `<th>` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\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; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role=\"button\"] {\n cursor: pointer;\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\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 font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\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 padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n -ms-flex: 0 0 20%;\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::-webkit-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-moz-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::-ms-input-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\ninput[type=\"date\"].form-control,\ninput[type=\"time\"].form-control,\ninput[type=\"datetime-local\"].form-control,\ninput[type=\"month\"].form-control {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n font-size: 1rem;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: -ms-inline-flexbox;\n display: inline-flex;\n -ms-flex-align: center;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n -ms-flex-align: center;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: -ms-inline-flexbox;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-align: start;\n align-items: flex-start;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: stretch;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: -ms-flexbox;\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n z-index: 1;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n -webkit-print-color-adjust: exact;\n color-adjust: exact;\n}\n\n.custom-control-inline {\n display: -ms-inline-flexbox;\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1;\n width: 1rem;\n height: 1.25rem;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n -webkit-transform: translateX(0.75rem);\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input[disabled] ~ .custom-file-label,\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -webkit-appearance: none;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n -webkit-transition: none;\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -moz-appearance: none;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n -moz-transition: none;\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n -ms-transition: none;\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n -ms-flex-preferred-size: 100%;\n flex-basis: 100%;\n -ms-flex-positive: 1;\n flex-grow: 1;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n -ms-flex-flow: row nowrap;\n flex-flow: row nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n -ms-flex-direction: row;\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: -ms-flexbox !important;\n display: flex !important;\n -ms-flex-preferred-size: auto;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n -ms-flex: 1 0 0%;\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-flow: row wrap;\n flex-flow: row wrap;\n }\n .card-group > .card {\n -ms-flex: 1 0 0%;\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n -webkit-column-count: 3;\n -moz-column-count: 3;\n column-count: 3;\n -webkit-column-gap: 1.25rem;\n -moz-column-gap: 1.25rem;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion {\n overflow-anchor: none;\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item {\n display: -ms-flexbox;\n display: flex;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: -ms-flexbox;\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: -ms-flexbox;\n display: flex;\n height: 1rem;\n overflow: hidden;\n line-height: 0;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-pack: center;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n -webkit-animation: progress-bar-stripes 1s linear infinite;\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n -webkit-animation: none;\n animation: none;\n }\n}\n\n.media {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n.media-body {\n -ms-flex: 1;\n flex: 1;\n}\n\n.list-group {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: 0.25rem;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n -ms-flex-direction: row;\n flex-direction: row;\n}\n\n.list-group-horizontal > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n -ms-flex-direction: row;\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush {\n border-radius: 0;\n}\n\n.list-group-flush > .list-group-item {\n border-width: 0 0 1px;\n}\n\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n -ms-flex-preferred-size: 350px;\n flex-basis: 350px;\n max-width: 350px;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: -webkit-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;\n -webkit-transform: translate(0, -50px);\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n -webkit-transform: none;\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n -webkit-transform: scale(1.02);\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n display: -ms-flexbox;\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n height: -webkit-min-content;\n height: -moz-min-content;\n height: min-content;\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-pack: center;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: start;\n align-items: flex-start;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: end;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n height: -webkit-min-content;\n height: -moz-min-content;\n height: min-content;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n transition: -webkit-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n -webkit-transform: translateX(100%);\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n -webkit-transform: translateX(-100%);\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n -webkit-transform: none;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n -ms-flex: 0 1 auto;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@-webkit-keyframes spinner-border {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes spinner-border {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n -webkit-animation: spinner-border .75s linear infinite;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@-webkit-keyframes spinner-grow {\n 0% {\n -webkit-transform: scale(0);\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n@keyframes spinner-grow {\n 0% {\n -webkit-transform: scale(0);\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n -webkit-animation: spinner-grow .75s linear infinite;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.user-select-all {\n -webkit-user-select: all !important;\n -moz-user-select: all !important;\n -ms-user-select: all !important;\n user-select: all !important;\n}\n\n.user-select-auto {\n -webkit-user-select: auto !important;\n -moz-user-select: auto !important;\n -ms-user-select: auto !important;\n user-select: auto !important;\n}\n\n.user-select-none {\n -webkit-user-select: none !important;\n -moz-user-select: none !important;\n -ms-user-select: none !important;\n user-select: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n .sticky-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-break: break-word !important;\n word-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","/*!\n * Bootstrap v4.5.3 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\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 padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\ninput[type=\"date\"].form-control,\ninput[type=\"time\"].form-control,\ninput[type=\"datetime-local\"].form-control,\ninput[type=\"month\"].form-control {\n appearance: none;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n font-size: 1rem;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n z-index: 1;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n color-adjust: exact;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1;\n width: 1rem;\n height: 1.25rem;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input[disabled] ~ .custom-file-label,\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion {\n overflow-anchor: none;\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item {\n display: flex;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n line-height: 0;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: 0.25rem;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush {\n border-radius: 0;\n}\n\n.list-group-flush > .list-group-item {\n border-width: 0 0 1px;\n}\n\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n flex-basis: 350px;\n max-width: 350px;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n height: min-content;\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n height: min-content;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-break: break-word !important;\n word-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n &:hover { @content; }\n}\n\n@mixin hover-focus() {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus() {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active() {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled() {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid() {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n @include deprecate(\"`img-retina()`\", \"v4.3.0\", \"v5\");\n}\n","// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n","// Inline code\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n\n\n// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n @include deprecate(\"The `make-container-max-widths` mixin\", \"v4.5.2\", \"v5\");\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 100% / $count;\n max-width: 100% / $count;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @if $columns > 0 {\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n }\n\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n @if $columns > 0 {\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover() {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover() {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover() {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Remove select outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $input-color;\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n @include form-control-focus($ignore-warning: true);\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n &.form-control {\n appearance: none; // Fix appearance for date inputs in Safari\n }\n}\n\nselect.form-control {\n &:focus::-ms-value {\n // Suppress the nested default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<label>/<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n @include font-size($input-font-size);\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n// stylelint-disable-next-line no-duplicate-selectors\nselect.form-control {\n &[size],\n &[multiple] {\n height: auto;\n }\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n display: block;\n margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$form-grid-gutter-width / 2;\n margin-left: -$form-grid-gutter-width / 2;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: $form-grid-gutter-width / 2;\n padding-left: $form-grid-gutter-width / 2;\n }\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n position: relative;\n display: block;\n padding-left: $form-check-input-gutter;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: $form-check-input-margin-y;\n margin-left: -$form-check-input-gutter;\n\n // Use [disabled] and :disabled for workaround https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .form-check-label,\n &:disabled ~ .form-check-label {\n color: $text-muted;\n }\n}\n\n.form-check-label {\n margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0; // Override base .form-check\n margin-right: $form-check-inline-margin-x;\n\n // Undo .form-check-input defaults and add some `margin-right`.\n .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: $form-check-inline-input-margin-x;\n margin-left: 0;\n }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@each $state, $data in $form-validation-states {\n @include form-validation-state($state, map-get($data, color), map-get($data, icon));\n}\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n // Because we use flex, the initial sizing of checkboxes is collapsed and\n // doesn't occupy the full-width (which is what we want for xs grid tier),\n // so we force that here.\n .form-check {\n width: 100%;\n }\n\n // Kick in the inline\n @include media-breakpoint-up(sm) {\n label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n\n // Inline-block all the things for \"inline\"\n .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n\n // Allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-plaintext {\n display: inline-block;\n }\n\n .input-group,\n .custom-select {\n width: auto;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: $form-check-input-margin-x;\n margin-left: 0;\n }\n\n .custom-control {\n align-items: center;\n justify-content: center;\n }\n .custom-control-label {\n margin-bottom: 0;\n }\n }\n}\n","// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-prefers-reduced-motion-media-query and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($ignore-warning: false) {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $input-focus-box-shadow;\n }\n }\n @include deprecate(\"The `form-control-focus()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-yiq($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .custom-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $custom-select-feedback-icon-padding-right;\n background: $custom-select-background, escape-svg($icon) $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .custom-control-input {\n @include form-validation-state-selector($state) {\n ~ .custom-control-label {\n color: $color;\n\n &::before {\n border-color: $color;\n }\n }\n\n &:checked {\n ~ .custom-control-label::before {\n border-color: lighten($color, 10%);\n @include gradient-bg(lighten($color, 10%));\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n &:not(:checked) ~ .custom-control-label::before {\n border-color: $color;\n }\n }\n }\n }\n\n // custom file\n .custom-file-input {\n @include form-validation-state-selector($state) {\n ~ .custom-file-label {\n border-color: $color;\n }\n\n &:focus {\n ~ .custom-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n","// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n color: $body-color;\n text-align: center;\n text-decoration: if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);\n @include transition($btn-transition);\n\n @include hover() {\n color: $body-color;\n text-decoration: none;\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n\n &:not(:disabled):not(.disabled) {\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\n\n &:active,\n &.active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n }\n}\n\n// Future-proof disabling of clicks on `<a>` elements\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n\n//\n// Alternate buttons\n//\n\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $link-color;\n text-decoration: $link-decoration;\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus,\n &.focus {\n text-decoration: $link-hover-decoration;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n pointer-events: none;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);\n}\n\n\n//\n// Block button\n//\n\n.btn-block {\n display: block;\n width: 100%;\n\n // Vertically space out multiple block buttons\n + .btn-block {\n margin-top: $btn-block-spacing-y;\n }\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover() {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n @if $enable-shadows {\n @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows and $btn-active-box-shadow != none {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n border-color: $color;\n\n @include hover() {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows and $btn-active-box-shadow != none {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y $dropdown-padding-x;\n margin: $dropdown-spacer 0 0; // override default ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n}\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-left {\n right: auto;\n left: 0;\n }\n\n .dropdown-menu#{$infix}-right {\n right: 0;\n left: auto;\n }\n }\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropright {\n .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(right);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropleft {\n .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(left);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n// When enabled Popper.js, reset basic dropdown position\n// stylelint-disable-next-line no-duplicate-selectors\n.dropdown-menu {\n &[x-placement^=\"top\"],\n &[x-placement^=\"right\"],\n &[x-placement^=\"bottom\"],\n &[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n }\n}\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true);\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n @include hover-focus() {\n color: $dropdown-link-hover-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-header-padding;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n","@mixin caret-down() {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up() {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right() {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left() {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == right {\n @include caret-right();\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) {\n height: 0;\n margin: $margin-y 0;\n overflow: hidden;\n border-top: 1px solid $color;\n @include deprecate(\"The `nav-divider()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n @include hover() {\n z-index: 1;\n }\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-right-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-left-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropright &::after {\n margin-left: 0;\n }\n\n .dropleft &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n margin-bottom: 0; // Override default `<label>` value\n\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-control-plaintext,\n > .custom-select,\n > .custom-file {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n margin-bottom: 0;\n\n + .form-control,\n + .custom-select,\n + .custom-file {\n margin-left: -$input-border-width;\n }\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .custom-select:focus,\n > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n }\n\n // Bring the custom file input above the label\n > .custom-file .custom-file-input:focus {\n z-index: 4;\n }\n\n > .form-control,\n > .custom-select {\n &:not(:last-child) { @include border-right-radius(0); }\n &:not(:first-child) { @include border-left-radius(0); }\n }\n\n // Custom file inputs have more complex markup, thus requiring different\n // border-radius overrides.\n > .custom-file {\n display: flex;\n align-items: center;\n\n &:not(:last-child) .custom-file-label,\n &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }\n &:not(:first-child) .custom-file-label { @include border-left-radius(0); }\n }\n}\n\n\n// Prepend and append\n//\n// While it requires one extra layer of HTML for each, dedicated prepend and\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\n// 3) support HTML5 form validation.\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n\n .btn + .btn,\n .btn + .input-group-text,\n .input-group-text + .input-group-text,\n .input-group-text + .btn {\n margin-left: -$input-border-width;\n }\n}\n\n.input-group-prepend { margin-right: -$input-border-width; }\n.input-group-append { margin-left: -$input-border-width; }\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-padding-y $input-padding-x;\n margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: $input-height-lg;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n line-height: $input-line-height-lg;\n @include border-radius($input-border-radius-lg);\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: $input-height-sm;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n line-height: $input-line-height-sm;\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: $custom-select-padding-x + $custom-select-indicator-padding;\n}\n\n\n// Prepend and append rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n @include border-right-radius(0);\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n @include border-left-radius(0);\n}\n","// Embedded icons from Open Iconic.\n// Released under MIT and copyright 2014 Waybury.\n// https://useiconic.com/open\n\n\n// Checkboxes and radios\n//\n// Base class takes care of all the key behavioral aspects.\n\n.custom-control {\n position: relative;\n z-index: 1;\n display: block;\n min-height: $font-size-base * $line-height-base;\n padding-left: $custom-control-gutter + $custom-control-indicator-size;\n color-adjust: exact; // Keep themed appearance for print\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: $custom-control-spacer-x;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1; // Put the input behind the label so it doesn't overlay text\n width: $custom-control-indicator-size;\n height: ($font-size-base * $line-height-base + $custom-control-indicator-size) / 2;\n opacity: 0;\n\n &:checked ~ .custom-control-label::before {\n color: $custom-control-indicator-checked-color;\n border-color: $custom-control-indicator-checked-border-color;\n @include gradient-bg($custom-control-indicator-checked-bg);\n @include box-shadow($custom-control-indicator-checked-box-shadow);\n }\n\n &:focus ~ .custom-control-label::before {\n // the mixin is not used here to make sure there is feedback\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $custom-control-indicator-focus-box-shadow;\n } @else {\n box-shadow: $custom-control-indicator-focus-box-shadow;\n }\n }\n\n &:focus:not(:checked) ~ .custom-control-label::before {\n border-color: $custom-control-indicator-focus-border-color;\n }\n\n &:not(:disabled):active ~ .custom-control-label::before {\n color: $custom-control-indicator-active-color;\n background-color: $custom-control-indicator-active-bg;\n border-color: $custom-control-indicator-active-border-color;\n @include box-shadow($custom-control-indicator-active-box-shadow);\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .custom-control-label {\n color: $custom-control-label-disabled-color;\n\n &::before {\n background-color: $custom-control-indicator-disabled-bg;\n }\n }\n }\n}\n\n// Custom control indicators\n//\n// Build the custom controls out of pseudo-elements.\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n color: $custom-control-label-color;\n vertical-align: top;\n cursor: $custom-control-cursor;\n\n // Background-color and (when enabled) gradient\n &::before {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n pointer-events: none;\n content: \"\";\n background-color: $custom-control-indicator-bg;\n border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width;\n @include box-shadow($custom-control-indicator-box-shadow);\n }\n\n // Foreground (icon)\n &::after {\n position: absolute;\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\n left: -($custom-control-gutter + $custom-control-indicator-size);\n display: block;\n width: $custom-control-indicator-size;\n height: $custom-control-indicator-size;\n content: \"\";\n background: no-repeat 50% / #{$custom-control-indicator-bg-size};\n }\n}\n\n\n// Checkboxes\n//\n// Tweak just a few things for checkboxes.\n\n.custom-checkbox {\n .custom-control-label::before {\n @include border-radius($custom-checkbox-indicator-border-radius);\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-checked);\n }\n }\n\n .custom-control-input:indeterminate ~ .custom-control-label {\n &::before {\n border-color: $custom-checkbox-indicator-indeterminate-border-color;\n @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);\n @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\n }\n &::after {\n background-image: escape-svg($custom-checkbox-indicator-icon-indeterminate);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n &:indeterminate ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n// Radios\n//\n// Tweak just a few things for radios.\n\n.custom-radio {\n .custom-control-label::before {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-radio-indicator-border-radius;\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-image: escape-svg($custom-radio-indicator-icon-checked);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n\n// switches\n//\n// Tweak a few things for switches\n\n.custom-switch {\n padding-left: $custom-switch-width + $custom-control-gutter;\n\n .custom-control-label {\n &::before {\n left: -($custom-switch-width + $custom-control-gutter);\n width: $custom-switch-width;\n pointer-events: all;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-switch-indicator-border-radius;\n }\n\n &::after {\n top: add(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2, $custom-control-indicator-border-width * 2);\n left: add(-($custom-switch-width + $custom-control-gutter), $custom-control-indicator-border-width * 2);\n width: $custom-switch-indicator-size;\n height: $custom-switch-indicator-size;\n background-color: $custom-control-indicator-border-color;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $custom-switch-indicator-border-radius;\n @include transition(transform .15s ease-in-out, $custom-forms-transition);\n }\n }\n\n .custom-control-input:checked ~ .custom-control-label {\n &::after {\n background-color: $custom-control-indicator-bg;\n transform: translateX($custom-switch-width - $custom-control-indicator-size);\n }\n }\n\n .custom-control-input:disabled {\n &:checked ~ .custom-control-label::before {\n @include gradient-bg($custom-control-indicator-checked-disabled-bg);\n }\n }\n}\n\n\n// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n//\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: $custom-select-height;\n padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\n font-family: $custom-select-font-family;\n @include font-size($custom-select-font-size);\n font-weight: $custom-select-font-weight;\n line-height: $custom-select-line-height;\n color: $custom-select-color;\n vertical-align: middle;\n background: $custom-select-bg $custom-select-background;\n border: $custom-select-border-width solid $custom-select-border-color;\n @include border-radius($custom-select-border-radius, 0);\n @include box-shadow($custom-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $custom-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($custom-select-box-shadow, $custom-select-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $custom-select-focus-box-shadow;\n }\n\n &::-ms-value {\n // For visual consistency with other platforms/browsers,\n // suppress the default white text on blue background highlight given to\n // the selected option text when the (still closed) <select> receives focus\n // in IE and (under certain conditions) Edge.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: $custom-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $custom-select-disabled-color;\n background-color: $custom-select-disabled-bg;\n }\n\n // Hides the default caret in IE11\n &::-ms-expand {\n display: none;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $custom-select-color;\n }\n}\n\n.custom-select-sm {\n height: $custom-select-height-sm;\n padding-top: $custom-select-padding-y-sm;\n padding-bottom: $custom-select-padding-y-sm;\n padding-left: $custom-select-padding-x-sm;\n @include font-size($custom-select-font-size-sm);\n}\n\n.custom-select-lg {\n height: $custom-select-height-lg;\n padding-top: $custom-select-padding-y-lg;\n padding-bottom: $custom-select-padding-y-lg;\n padding-left: $custom-select-padding-x-lg;\n @include font-size($custom-select-font-size-lg);\n}\n\n\n// File\n//\n// Custom file input.\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: $custom-file-height;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: $custom-file-height;\n margin: 0;\n opacity: 0;\n\n &:focus ~ .custom-file-label {\n border-color: $custom-file-focus-border-color;\n box-shadow: $custom-file-focus-box-shadow;\n }\n\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\n &[disabled] ~ .custom-file-label,\n &:disabled ~ .custom-file-label {\n background-color: $custom-file-disabled-bg;\n }\n\n @each $lang, $value in $custom-file-text {\n &:lang(#{$lang}) ~ .custom-file-label::after {\n content: $value;\n }\n }\n\n ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n }\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: $custom-file-height;\n padding: $custom-file-padding-y $custom-file-padding-x;\n font-family: $custom-file-font-family;\n font-weight: $custom-file-font-weight;\n line-height: $custom-file-line-height;\n color: $custom-file-color;\n background-color: $custom-file-bg;\n border: $custom-file-border-width solid $custom-file-border-color;\n @include border-radius($custom-file-border-radius);\n @include box-shadow($custom-file-box-shadow);\n\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: $custom-file-height-inner;\n padding: $custom-file-padding-y $custom-file-padding-x;\n line-height: $custom-file-line-height;\n color: $custom-file-button-color;\n content: \"Browse\";\n @include gradient-bg($custom-file-button-bg);\n border-left: inherit;\n @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\n }\n}\n\n// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.custom-range {\n width: 100%;\n height: add($custom-range-thumb-height, $custom-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: none;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n &::-ms-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: ($custom-range-track-height - $custom-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent; // Why?\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent;\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: $custom-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($custom-range-track-border-radius);\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-thumb {\n width: $custom-range-thumb-width;\n height: $custom-range-thumb-height;\n margin-top: 0; // Edge specific\n margin-right: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n margin-left: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\n @include gradient-bg($custom-range-thumb-bg);\n border: $custom-range-thumb-border;\n @include border-radius($custom-range-thumb-border-radius);\n @include box-shadow($custom-range-thumb-box-shadow);\n @include transition($custom-forms-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($custom-range-thumb-active-bg);\n }\n }\n\n &::-ms-track {\n width: $custom-range-track-width;\n height: $custom-range-track-height;\n color: transparent;\n cursor: $custom-range-track-cursor;\n background-color: transparent;\n border-color: transparent;\n border-width: $custom-range-thumb-height / 2;\n @include box-shadow($custom-range-track-box-shadow);\n }\n\n &::-ms-fill-lower {\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &::-ms-fill-upper {\n margin-right: 15px; // arbitrary?\n background-color: $custom-range-track-bg;\n @include border-radius($custom-range-track-border-radius);\n }\n\n &:disabled {\n &::-webkit-slider-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-webkit-slider-runnable-track {\n cursor: default;\n }\n\n &::-moz-range-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n\n &::-moz-range-track {\n cursor: default;\n }\n\n &::-ms-thumb {\n background-color: $custom-range-thumb-disabled-bg;\n }\n }\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n @include transition($custom-forms-transition);\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n text-decoration: if($link-decoration == none, null, none);\n\n @include hover-focus() {\n text-decoration: none;\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-item {\n margin-bottom: -$nav-tabs-border-width;\n }\n\n .nav-link {\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n @include hover-focus() {\n border-color: $nav-tabs-link-hover-border-color;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n background-color: $nav-pills-link-active-bg;\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n > .nav-link,\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n > .nav-link,\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Navbar divider\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap; // allow us to do the line break for collapsing content\n align-items: center;\n justify-content: space-between; // space out brand from logo\n padding: $navbar-padding-y $navbar-padding-x;\n\n // Because flex properties aren't inherited, we need to redeclare these first\n // few properties so that content nested within behave properly.\n %container-flex-properties {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n }\n\n .container,\n .container-fluid {\n @extend %container-flex-properties;\n }\n\n @each $breakpoint, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n @extend %container-flex-properties;\n }\n }\n}\n\n\n// Navbar brand\n//\n// Used for brand, project, or site names.\n\n.navbar-brand {\n display: inline-block;\n padding-top: $navbar-brand-padding-y;\n padding-bottom: $navbar-brand-padding-y;\n margin-right: $navbar-padding-x;\n @include font-size($navbar-brand-font-size);\n line-height: inherit;\n white-space: nowrap;\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n\n// Navbar nav\n//\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n.navbar-nav {\n display: flex;\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n .nav-link {\n padding-right: 0;\n padding-left: 0;\n }\n\n .dropdown-menu {\n position: static;\n float: none;\n }\n}\n\n\n// Navbar text\n//\n//\n\n.navbar-text {\n display: inline-block;\n padding-top: $nav-link-padding-y;\n padding-bottom: $nav-link-padding-y;\n}\n\n\n// Responsive navbar\n//\n// Custom styles for responsive collapsing and toggling of navbar contents.\n// Powered by the collapse Bootstrap JavaScript plugin.\n\n// When collapsed, prevent the toggleable navbar contents from appearing in\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n// on the `.navbar` parent.\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n // For always expanded or extra full navbars, ensure content aligns itself\n // properly vertically. Can be easily overridden with flex utilities.\n align-items: center;\n}\n\n// Button for toggling the navbar when in its collapsed state\n.navbar-toggler {\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\n @include font-size($navbar-toggler-font-size);\n line-height: 1;\n background-color: transparent; // remove default button style\n border: $border-width solid transparent; // remove default button style\n @include border-radius($navbar-toggler-border-radius);\n\n @include hover-focus() {\n text-decoration: none;\n }\n}\n\n// Keep as a separate element so folks can easily override it with another icon\n// or image file as needed.\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n// Generate series of `.navbar-expand-*` responsive classes for configuring\n// where your navbar collapses.\n.navbar-expand {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n %container-navbar-expand-#{$breakpoint} {\n padding-right: 0;\n padding-left: 0;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-navbar-expand-#{$breakpoint};\n }\n }\n }\n\n @include media-breakpoint-up($next) {\n flex-flow: row nowrap;\n justify-content: flex-start;\n\n .navbar-nav {\n flex-direction: row;\n\n .dropdown-menu {\n position: absolute;\n }\n\n .nav-link {\n padding-right: $navbar-nav-link-padding-x;\n padding-left: $navbar-nav-link-padding-x;\n }\n }\n\n // For nesting containers, have to redeclare for alignment purposes\n %container-nesting-#{$breakpoint} {\n flex-wrap: nowrap;\n }\n\n > .container,\n > .container-fluid {\n @extend %container-nesting-#{$breakpoint};\n }\n\n @each $size, $container-max-width in $container-max-widths {\n > .container#{breakpoint-infix($size, $container-max-widths)} {\n @extend %container-nesting-#{$breakpoint};\n }\n }\n\n .navbar-collapse {\n display: flex !important; // stylelint-disable-line declaration-no-important\n\n // Changes flex-bases to auto because of an IE10 bug\n flex-basis: auto;\n }\n\n .navbar-toggler {\n display: none;\n }\n }\n }\n }\n}\n\n\n// Navbar themes\n//\n// Styles for switching between navbars with light or dark background.\n\n// Dark links against a light background\n.navbar-light {\n .navbar-brand {\n color: $navbar-light-brand-color;\n\n @include hover-focus() {\n color: $navbar-light-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-light-color;\n\n @include hover-focus() {\n color: $navbar-light-hover-color;\n }\n\n &.disabled {\n color: $navbar-light-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-light-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-light-color;\n border-color: $navbar-light-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-light-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-light-color;\n a {\n color: $navbar-light-active-color;\n\n @include hover-focus() {\n color: $navbar-light-active-color;\n }\n }\n }\n}\n\n// White links against a dark background\n.navbar-dark {\n .navbar-brand {\n color: $navbar-dark-brand-color;\n\n @include hover-focus() {\n color: $navbar-dark-brand-hover-color;\n }\n }\n\n .navbar-nav {\n .nav-link {\n color: $navbar-dark-color;\n\n @include hover-focus() {\n color: $navbar-dark-hover-color;\n }\n\n &.disabled {\n color: $navbar-dark-disabled-color;\n }\n }\n\n .show > .nav-link,\n .active > .nav-link,\n .nav-link.show,\n .nav-link.active {\n color: $navbar-dark-active-color;\n }\n }\n\n .navbar-toggler {\n color: $navbar-dark-color;\n border-color: $navbar-dark-toggler-border-color;\n }\n\n .navbar-toggler-icon {\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\n }\n\n .navbar-text {\n color: $navbar-dark-color;\n a {\n color: $navbar-dark-active-color;\n\n @include hover-focus() {\n color: $navbar-dark-active-color;\n }\n }\n }\n}\n","//\n// Base styles\n//\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n height: $card-height;\n word-wrap: break-word;\n background-color: $card-bg;\n background-clip: border-box;\n border: $card-border-width solid $card-border-color;\n @include border-radius($card-border-radius);\n\n > hr {\n margin-right: 0;\n margin-left: 0;\n }\n\n > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n\n &:first-child {\n border-top-width: 0;\n @include border-top-radius($card-inner-border-radius);\n }\n\n &:last-child {\n border-bottom-width: 0;\n @include border-bottom-radius($card-inner-border-radius);\n }\n }\n\n // Due to specificity of the above selector (`.card > .list-group`), we must\n // use a child selector here to prevent double borders.\n > .card-header + .list-group,\n > .list-group + .card-footer {\n border-top: 0;\n }\n}\n\n.card-body {\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n // as much space as possible, ensuring footers are aligned to the bottom.\n flex: 1 1 auto;\n // Workaround for the image size bug in IE\n // See: https://github.com/twbs/bootstrap/pull/28855\n min-height: 1px;\n padding: $card-spacer-x;\n color: $card-color;\n}\n\n.card-title {\n margin-bottom: $card-spacer-y;\n}\n\n.card-subtitle {\n margin-top: -$card-spacer-y / 2;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link {\n @include hover() {\n text-decoration: none;\n }\n\n + .card-link {\n margin-left: $card-spacer-x;\n }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n padding: $card-spacer-y $card-spacer-x;\n margin-bottom: 0; // Removes the default margin-bottom of <hN>\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-bottom: $card-border-width solid $card-border-color;\n\n &:first-child {\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\n }\n}\n\n.card-footer {\n padding: $card-spacer-y $card-spacer-x;\n color: $card-cap-color;\n background-color: $card-cap-bg;\n border-top: $card-border-width solid $card-border-color;\n\n &:last-child {\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\n }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n margin-right: -$card-spacer-x / 2;\n margin-bottom: -$card-spacer-y;\n margin-left: -$card-spacer-x / 2;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -$card-spacer-x / 2;\n margin-left: -$card-spacer-x / 2;\n}\n\n// Card image\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: $card-img-overlay-padding;\n @include border-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n}\n\n.card-img,\n.card-img-top {\n @include border-top-radius($card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n @include border-bottom-radius($card-inner-border-radius);\n}\n\n\n// Card deck\n\n.card-deck {\n .card {\n margin-bottom: $card-deck-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n margin-right: -$card-deck-margin;\n margin-left: -$card-deck-margin;\n\n .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-right: $card-deck-margin;\n margin-bottom: 0; // Override the default\n margin-left: $card-deck-margin;\n }\n }\n}\n\n\n//\n// Card groups\n//\n\n.card-group {\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n margin-bottom: $card-group-margin;\n }\n\n @include media-breakpoint-up(sm) {\n display: flex;\n flex-flow: row wrap;\n // The child selector allows nested `.card` within `.card-group`\n // to display properly.\n > .card {\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n flex: 1 0 0%;\n margin-bottom: 0;\n\n + .card {\n margin-left: 0;\n border-left: 0;\n }\n\n // Handle rounded corners\n @if $enable-rounded {\n &:not(:last-child) {\n @include border-right-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-right-radius: 0;\n }\n }\n\n &:not(:first-child) {\n @include border-left-radius(0);\n\n .card-img-top,\n .card-header {\n // stylelint-disable-next-line property-disallowed-list\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-disallowed-list\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Columns\n//\n\n.card-columns {\n .card {\n margin-bottom: $card-columns-margin;\n }\n\n @include media-breakpoint-up(sm) {\n column-count: $card-columns-count;\n column-gap: $card-columns-gap;\n orphans: 1;\n widows: 1;\n\n .card {\n display: inline-block; // Don't let them vertically span multiple columns\n width: 100%; // Don't let their width change\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\n overflow-anchor: none;\n\n > .card {\n overflow: hidden;\n\n &:not(:last-of-type) {\n border-bottom: 0;\n @include border-bottom-radius(0);\n }\n\n &:not(:first-of-type) {\n @include border-top-radius(0);\n }\n\n > .card-header {\n @include border-radius(0);\n margin-bottom: -$card-border-width;\n }\n }\n}\n",".breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\n margin-bottom: $breadcrumb-margin-bottom;\n @include font-size($breadcrumb-font-size);\n list-style: none;\n background-color: $breadcrumb-bg;\n @include border-radius($breadcrumb-border-radius);\n}\n\n.breadcrumb-item {\n display: flex;\n\n // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n + .breadcrumb-item {\n padding-left: $breadcrumb-item-padding;\n\n &::before {\n display: inline-block; // Suppress underlining of the separator in modern browsers\n padding-right: $breadcrumb-item-padding;\n color: $breadcrumb-divider-color;\n content: escape-svg($breadcrumb-divider);\n }\n }\n\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\n // without `<ul>`s. The `::before` pseudo-element generates an element\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\n //\n // To trick IE into suppressing the underline, we give the pseudo-element an\n // underline and then immediately remove it.\n + .breadcrumb-item:hover::before {\n text-decoration: underline;\n }\n // stylelint-disable-next-line no-duplicate-selectors\n + .breadcrumb-item:hover::before {\n text-decoration: none;\n }\n\n &.active {\n color: $breadcrumb-active-color;\n }\n}\n",".pagination {\n display: flex;\n @include list-unstyled();\n @include border-radius();\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: $pagination-padding-y $pagination-padding-x;\n margin-left: -$pagination-border-width;\n line-height: $pagination-line-height;\n color: $pagination-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $pagination-bg;\n border: $pagination-border-width solid $pagination-border-color;\n\n &:hover {\n z-index: 2;\n color: $pagination-hover-color;\n text-decoration: none;\n background-color: $pagination-hover-bg;\n border-color: $pagination-hover-border-color;\n }\n\n &:focus {\n z-index: 3;\n outline: $pagination-focus-outline;\n box-shadow: $pagination-focus-box-shadow;\n }\n}\n\n.page-item {\n &:first-child {\n .page-link {\n margin-left: 0;\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n\n &.active .page-link {\n z-index: 3;\n color: $pagination-active-color;\n background-color: $pagination-active-bg;\n border-color: $pagination-active-border-color;\n }\n\n &.disabled .page-link {\n color: $pagination-disabled-color;\n pointer-events: none;\n // Opinionated: remove the \"hand\" cursor set previously for .page-link\n cursor: auto;\n background-color: $pagination-disabled-bg;\n border-color: $pagination-disabled-border-color;\n }\n}\n\n\n//\n// Sizing\n//\n\n.pagination-lg {\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\n}\n\n.pagination-sm {\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\n}\n","// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n }\n\n .page-item {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n display: inline-block;\n padding: $badge-padding-y $badge-padding-x;\n @include font-size($badge-font-size);\n font-weight: $badge-font-weight;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n @include border-radius($badge-border-radius);\n @include transition($badge-transition);\n\n @at-root a#{&} {\n @include hover-focus() {\n text-decoration: none;\n }\n }\n\n // Empty badges collapse automatically\n &:empty {\n display: none;\n }\n}\n\n// Quick fix for badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n// Pill badges\n//\n// Make them extra rounded with a modifier to replace v3's badges.\n\n.badge-pill {\n padding-right: $badge-pill-padding-x;\n padding-left: $badge-pill-padding-x;\n @include border-radius($badge-pill-border-radius);\n}\n\n// Colors\n//\n// Contextual variations (linked badges get darker on :hover).\n\n@each $color, $value in $theme-colors {\n .badge-#{$color} {\n @include badge-variant($value);\n }\n}\n","@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n @at-root a#{&} {\n @include hover-focus() {\n color: color-yiq($bg);\n background-color: darken($bg, 10%);\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);\n }\n }\n}\n",".jumbotron {\n padding: $jumbotron-padding ($jumbotron-padding / 2);\n margin-bottom: $jumbotron-padding;\n color: $jumbotron-color;\n background-color: $jumbotron-bg;\n @include border-radius($border-radius-lg);\n\n @include media-breakpoint-up(sm) {\n padding: ($jumbotron-padding * 2) $jumbotron-padding;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n @include border-radius(0);\n}\n","//\n// Base styles\n//\n\n.alert {\n position: relative;\n padding: $alert-padding-y $alert-padding-x;\n margin-bottom: $alert-margin-bottom;\n border: $alert-border-width solid transparent;\n @include border-radius($alert-border-radius);\n}\n\n// Headings for larger alerts\n.alert-heading {\n // Specified to prevent conflicts of changing $headings-color\n color: inherit;\n}\n\n// Provide class for links that match alerts\n.alert-link {\n font-weight: $alert-link-font-weight;\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n padding-right: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\n }\n}\n\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n@each $color, $value in $theme-colors {\n .alert-#{$color} {\n @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));\n }\n}\n","@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n","// Disable animation if transitions are disabled\n@if $enable-transitions {\n @keyframes progress-bar-stripes {\n from { background-position: $progress-height 0; }\n to { background-position: 0 0; }\n }\n}\n\n.progress {\n display: flex;\n height: $progress-height;\n overflow: hidden; // force rounded corners by cropping it\n line-height: 0;\n @include font-size($progress-font-size);\n background-color: $progress-bg;\n @include border-radius($progress-border-radius);\n @include box-shadow($progress-box-shadow);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: $progress-bar-color;\n text-align: center;\n white-space: nowrap;\n background-color: $progress-bar-bg;\n @include transition($progress-bar-transition);\n}\n\n.progress-bar-striped {\n @include gradient-striped();\n background-size: $progress-height $progress-height;\n}\n\n@if $enable-transitions {\n .progress-bar-animated {\n animation: progress-bar-stripes $progress-bar-animation-timing;\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n }\n }\n}\n",".media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n display: flex;\n flex-direction: column;\n\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 0;\n @include border-radius($list-group-border-radius);\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\n// list items. Includes an extra `.active` modifier class for selected items.\n\n.list-group-item-action {\n width: 100%; // For `<button>`s (anchors become 100% by default though)\n color: $list-group-action-color;\n text-align: inherit; // For `<button>`s (anchors inherit)\n\n // Hover state\n @include hover-focus() {\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\n color: $list-group-action-hover-color;\n text-decoration: none;\n background-color: $list-group-hover-bg;\n }\n\n &:active {\n color: $list-group-action-active-color;\n background-color: $list-group-action-active-bg;\n }\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: $list-group-item-padding-y $list-group-item-padding-x;\n color: $list-group-color;\n text-decoration: if($link-decoration == none, null, none);\n background-color: $list-group-bg;\n border: $list-group-border-width solid $list-group-border-color;\n\n &:first-child {\n @include border-top-radius(inherit);\n }\n\n &:last-child {\n @include border-bottom-radius(inherit);\n }\n\n &.disabled,\n &:disabled {\n color: $list-group-disabled-color;\n pointer-events: none;\n background-color: $list-group-disabled-bg;\n }\n\n // Include both here for `<a>`s and `<button>`s\n &.active {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: $list-group-active-color;\n background-color: $list-group-active-bg;\n border-color: $list-group-active-border-color;\n }\n\n & + & {\n border-top-width: 0;\n\n &.active {\n margin-top: -$list-group-border-width;\n border-top-width: $list-group-border-width;\n }\n }\n}\n\n\n// Horizontal\n//\n// Change the layout of list group items from vertical (default) to horizontal.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .list-group-horizontal#{$infix} {\n flex-direction: row;\n\n > .list-group-item {\n &:first-child {\n @include border-bottom-left-radius($list-group-border-radius);\n @include border-top-right-radius(0);\n }\n\n &:last-child {\n @include border-top-right-radius($list-group-border-radius);\n @include border-bottom-left-radius(0);\n }\n\n &.active {\n margin-top: 0;\n }\n\n + .list-group-item {\n border-top-width: $list-group-border-width;\n border-left-width: 0;\n\n &.active {\n margin-left: -$list-group-border-width;\n border-left-width: $list-group-border-width;\n }\n }\n }\n }\n }\n}\n\n\n// Flush list items\n//\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\n// useful within other components (e.g., cards).\n\n.list-group-flush {\n @include border-radius(0);\n\n > .list-group-item {\n border-width: 0 0 $list-group-border-width;\n\n &:last-child {\n border-bottom-width: 0;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $color, $value in $theme-colors {\n @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\n}\n","// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n @include hover-focus() {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n",".close {\n float: right;\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n @include hover() {\n color: $close-color;\n text-decoration: none;\n }\n\n &:not(:disabled):not(.disabled) {\n @include hover-focus() {\n opacity: .75;\n }\n }\n}\n\n// Additional properties for button version\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\n// Future-proof disabling of clicks on `<a>` elements\n\n// stylelint-disable-next-line selector-no-qualifying-type\na.close.disabled {\n pointer-events: none;\n}\n",".toast {\n // Prevents from shrinking in IE11, when in a flex container\n // See https://github.com/twbs/bootstrap/issues/28341\n flex-basis: $toast-max-width;\n max-width: $toast-max-width;\n @include font-size($toast-font-size);\n color: $toast-color;\n background-color: $toast-background-color;\n background-clip: padding-box;\n border: $toast-border-width solid $toast-border-color;\n box-shadow: $toast-box-shadow;\n opacity: 0;\n @include border-radius($toast-border-radius);\n\n &:not(:last-child) {\n margin-bottom: $toast-padding-x;\n }\n\n &.showing {\n opacity: 1;\n }\n\n &.show {\n display: block;\n opacity: 1;\n }\n\n &.hide {\n display: none;\n }\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: $toast-padding-y $toast-padding-x;\n color: $toast-header-color;\n background-color: $toast-header-background-color;\n background-clip: padding-box;\n border-bottom: $toast-border-width solid $toast-header-border-color;\n @include border-top-radius(subtract($toast-border-radius, $toast-border-width));\n}\n\n.toast-body {\n padding: $toast-padding-x; // apply to both vertical and horizontal\n}\n","// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and stuff\n\n\n.modal-open {\n // Kill the scroll on the body\n overflow: hidden;\n\n .modal {\n overflow-x: hidden;\n overflow-y: auto;\n }\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: $modal-dialog-margin;\n // allow clicks to pass through for custom click handling to close modal\n pointer-events: none;\n\n // When fading in the modal, animate it to slide down\n .modal.fade & {\n @include transition($modal-transition);\n transform: $modal-fade-transform;\n }\n .modal.show & {\n transform: $modal-show-transform;\n }\n\n // When trying to close, animate focus to scale\n .modal.modal-static & {\n transform: $modal-scale-transform;\n }\n}\n\n.modal-dialog-scrollable {\n display: flex; // IE10/11\n max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11\n overflow: hidden;\n }\n\n .modal-header,\n .modal-footer {\n flex-shrink: 0;\n }\n\n .modal-body {\n overflow-y: auto;\n }\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: subtract(100%, $modal-dialog-margin * 2);\n\n // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)\n &::before {\n display: block; // IE10\n height: subtract(100vh, $modal-dialog-margin * 2);\n height: min-content; // Reset height to 0 except on IE\n content: \"\";\n }\n\n // Ensure `.modal-body` shows scrollbar (IE10/11)\n &.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n\n .modal-content {\n max-height: none;\n }\n\n &::before {\n content: none;\n }\n }\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n // counteract the pointer-events: none; in the .modal-dialog\n color: $modal-content-color;\n pointer-events: auto;\n background-color: $modal-content-bg;\n background-clip: padding-box;\n border: $modal-content-border-width solid $modal-content-border-color;\n @include border-radius($modal-content-border-radius);\n @include box-shadow($modal-content-box-shadow-xs);\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: $zindex-modal-backdrop;\n width: 100vw;\n height: 100vh;\n background-color: $modal-backdrop-bg;\n\n // Fade for backdrop\n &.fade { opacity: 0; }\n &.show { opacity: $modal-backdrop-opacity; }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n display: flex;\n align-items: flex-start; // so the close btn always stays on the upper right corner\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\n padding: $modal-header-padding;\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\n @include border-top-radius($modal-content-inner-border-radius);\n\n .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\n }\n}\n\n// Title text within header\n.modal-title {\n margin-bottom: 0;\n line-height: $modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n // Enable `flex-grow: 1` so that the body take up as much space as possible\n // when there should be a fixed height on `.modal-dialog`.\n flex: 1 1 auto;\n padding: $modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center; // vertically center\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\n @include border-bottom-radius($modal-content-inner-border-radius);\n\n // Place margin between footer elements\n // This solution is far from ideal because of the universal selector usage,\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n > * {\n margin: $modal-footer-margin-between / 2;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n max-width: $modal-md;\n margin: $modal-dialog-margin-y-sm-up auto;\n }\n\n .modal-dialog-scrollable {\n max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n .modal-content {\n max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n }\n }\n\n .modal-dialog-centered {\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\n\n &::before {\n height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\n height: min-content;\n }\n }\n\n .modal-content {\n @include box-shadow($modal-content-box-shadow-sm-up);\n }\n\n .modal-sm { max-width: $modal-sm; }\n}\n\n@include media-breakpoint-up(lg) {\n .modal-lg,\n .modal-xl {\n max-width: $modal-lg;\n }\n}\n\n@include media-breakpoint-up(xl) {\n .modal-xl { max-width: $modal-xl; }\n}\n","// Base class\n.tooltip {\n position: absolute;\n z-index: $zindex-tooltip;\n display: block;\n margin: $tooltip-margin;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($tooltip-font-size);\n // Allow breaking very long words so they don't overflow the tooltip's bounds\n word-wrap: break-word;\n opacity: 0;\n\n &.show { opacity: $tooltip-opacity; }\n\n .arrow {\n position: absolute;\n display: block;\n width: $tooltip-arrow-width;\n height: $tooltip-arrow-height;\n\n &::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-tooltip-top {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n bottom: 0;\n\n &::before {\n top: 0;\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-top-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-right {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n left: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n right: 0;\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\n border-right-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-bottom {\n padding: $tooltip-arrow-height 0;\n\n .arrow {\n top: 0;\n\n &::before {\n bottom: 0;\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-bottom-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-left {\n padding: 0 $tooltip-arrow-height;\n\n .arrow {\n right: 0;\n width: $tooltip-arrow-height;\n height: $tooltip-arrow-width;\n\n &::before {\n left: 0;\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\n border-left-color: $tooltip-arrow-color;\n }\n }\n}\n\n.bs-tooltip-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-tooltip-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-tooltip-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-tooltip-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-tooltip-left;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: $tooltip-max-width;\n padding: $tooltip-padding-y $tooltip-padding-x;\n color: $tooltip-color;\n text-align: center;\n background-color: $tooltip-bg;\n @include border-radius($tooltip-border-radius);\n}\n","@mixin reset-text() {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n",".popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: $zindex-popover;\n display: block;\n max-width: $popover-max-width;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n @include reset-text();\n @include font-size($popover-font-size);\n // Allow breaking very long words so they don't overflow the popover's bounds\n word-wrap: break-word;\n background-color: $popover-bg;\n background-clip: padding-box;\n border: $popover-border-width solid $popover-border-color;\n @include border-radius($popover-border-radius);\n @include box-shadow($popover-box-shadow);\n\n .arrow {\n position: absolute;\n display: block;\n width: $popover-arrow-width;\n height: $popover-arrow-height;\n margin: 0 $popover-border-radius;\n\n &::before,\n &::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n }\n }\n}\n\n.bs-popover-top {\n margin-bottom: $popover-arrow-height;\n\n > .arrow {\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n bottom: 0;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-outer-color;\n }\n\n &::after {\n bottom: $popover-border-width;\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-top-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-right {\n margin-left: $popover-arrow-height;\n\n > .arrow {\n left: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n left: 0;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-outer-color;\n }\n\n &::after {\n left: $popover-border-width;\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\n border-right-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-bottom {\n margin-top: $popover-arrow-height;\n\n > .arrow {\n top: subtract(-$popover-arrow-height, $popover-border-width);\n\n &::before {\n top: 0;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-outer-color;\n }\n\n &::after {\n top: $popover-border-width;\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\n border-bottom-color: $popover-arrow-color;\n }\n }\n\n // This will remove the popover-header's border just below the arrow\n .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: $popover-arrow-width;\n margin-left: -$popover-arrow-width / 2;\n content: \"\";\n border-bottom: $popover-border-width solid $popover-header-bg;\n }\n}\n\n.bs-popover-left {\n margin-right: $popover-arrow-height;\n\n > .arrow {\n right: subtract(-$popover-arrow-height, $popover-border-width);\n width: $popover-arrow-height;\n height: $popover-arrow-width;\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\n\n &::before {\n right: 0;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-outer-color;\n }\n\n &::after {\n right: $popover-border-width;\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\n border-left-color: $popover-arrow-color;\n }\n }\n}\n\n.bs-popover-auto {\n &[x-placement^=\"top\"] {\n @extend .bs-popover-top;\n }\n &[x-placement^=\"right\"] {\n @extend .bs-popover-right;\n }\n &[x-placement^=\"bottom\"] {\n @extend .bs-popover-bottom;\n }\n &[x-placement^=\"left\"] {\n @extend .bs-popover-left;\n }\n}\n\n\n// Offset the popover to account for the popover arrow\n.popover-header {\n padding: $popover-header-padding-y $popover-header-padding-x;\n margin-bottom: 0; // Reset the default from Reboot\n @include font-size($font-size-base);\n color: $popover-header-color;\n background-color: $popover-header-bg;\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\n @include border-top-radius($popover-inner-border-radius);\n\n &:empty {\n display: none;\n }\n}\n\n.popover-body {\n padding: $popover-body-padding-y $popover-body-padding-x;\n color: $popover-body-color;\n}\n","// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\n// we're preventing all actions instead\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\n// the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\n// slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\n// is the upcoming slide in transition.\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n @include clearfix();\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n @include transition($carousel-transition);\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n\n//\n// Alternate transitions\n//\n\n.carousel-fade {\n .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n }\n\n .carousel-item.active,\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n }\n\n .active.carousel-item-left,\n .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n @include transition(opacity 0s $carousel-transition-duration);\n }\n}\n\n\n//\n// Left/right controls for nav\n//\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n // Use flex for alignment (1-3)\n display: flex; // 1. allow flex styles\n align-items: center; // 2. vertically center contents\n justify-content: center; // 3. horizontally center contents\n width: $carousel-control-width;\n color: $carousel-control-color;\n text-align: center;\n opacity: $carousel-control-opacity;\n @include transition($carousel-control-transition);\n\n // Hover/focus state\n @include hover-focus() {\n color: $carousel-control-color;\n text-decoration: none;\n outline: 0;\n opacity: $carousel-control-hover-opacity;\n }\n}\n.carousel-control-prev {\n left: 0;\n @if $enable-gradients {\n background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\n }\n}\n.carousel-control-next {\n right: 0;\n @if $enable-gradients {\n background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\n }\n}\n\n// Icons for within\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: $carousel-control-icon-width;\n height: $carousel-control-icon-width;\n background: no-repeat 50% / 100% 100%;\n}\n.carousel-control-prev-icon {\n background-image: escape-svg($carousel-control-prev-icon-bg);\n}\n.carousel-control-next-icon {\n background-image: escape-svg($carousel-control-next-icon-bg);\n}\n\n\n// Optional indicator pips\n//\n// Add an ordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0; // override <ol> default\n // Use the .carousel-control's width as margin so we don't overlay those\n margin-right: $carousel-control-width;\n margin-left: $carousel-control-width;\n list-style: none;\n\n li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: $carousel-indicator-width;\n height: $carousel-indicator-height;\n margin-right: $carousel-indicator-spacer;\n margin-left: $carousel-indicator-spacer;\n text-indent: -999px;\n cursor: pointer;\n background-color: $carousel-indicator-active-bg;\n background-clip: padding-box;\n // Use transparent borders to increase the hit area by 10px on top and bottom.\n border-top: $carousel-indicator-hit-area-height solid transparent;\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\n opacity: .5;\n @include transition($carousel-indicator-transition);\n }\n\n .active {\n opacity: 1;\n }\n}\n\n\n// Optional captions\n//\n//\n\n.carousel-caption {\n position: absolute;\n right: (100% - $carousel-caption-width) / 2;\n bottom: 20px;\n left: (100% - $carousel-caption-width) / 2;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: $carousel-caption-color;\n text-align: center;\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","//\n// Rotating border\n//\n\n@keyframes spinner-border {\n to { transform: rotate(360deg); }\n}\n\n.spinner-border {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n border: $spinner-border-width solid currentColor;\n border-right-color: transparent;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n animation: spinner-border .75s linear infinite;\n}\n\n.spinner-border-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n}\n\n//\n// Growing circle\n//\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n vertical-align: text-bottom;\n background-color: currentColor;\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite;\n}\n\n.spinner-grow-sm {\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n}\n","// stylelint-disable declaration-no-important\n\n.align-baseline { vertical-align: baseline !important; } // Browser default\n.align-top { vertical-align: top !important; }\n.align-middle { vertical-align: middle !important; }\n.align-bottom { vertical-align: bottom !important; }\n.align-text-bottom { vertical-align: text-bottom !important; }\n.align-text-top { vertical-align: text-top !important; }\n","// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent},\n button#{$parent} {\n @include hover-focus() {\n background-color: darken($color, 10%) !important;\n }\n }\n @include deprecate(\"The `bg-variant` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n@mixin bg-gradient-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n @include deprecate(\"The `bg-gradient-variant` mixin\", \"v4.5.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable declaration-no-important\n\n@each $color, $value in $theme-colors {\n @include bg-variant(\".bg-#{$color}\", $value, true);\n}\n\n@if $enable-gradients {\n @each $color, $value in $theme-colors {\n @include bg-gradient-variant(\".bg-gradient-#{$color}\", $value, true);\n }\n}\n\n.bg-white {\n background-color: $white !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n","// stylelint-disable property-disallowed-list, declaration-no-important\n\n//\n// Border\n//\n\n.border { border: $border-width solid $border-color !important; }\n.border-top { border-top: $border-width solid $border-color !important; }\n.border-right { border-right: $border-width solid $border-color !important; }\n.border-bottom { border-bottom: $border-width solid $border-color !important; }\n.border-left { border-left: $border-width solid $border-color !important; }\n\n.border-0 { border: 0 !important; }\n.border-top-0 { border-top: 0 !important; }\n.border-right-0 { border-right: 0 !important; }\n.border-bottom-0 { border-bottom: 0 !important; }\n.border-left-0 { border-left: 0 !important; }\n\n@each $color, $value in $theme-colors {\n .border-#{$color} {\n border-color: $value !important;\n }\n}\n\n.border-white {\n border-color: $white !important;\n}\n\n//\n// Border-radius\n//\n\n.rounded-sm {\n border-radius: $border-radius-sm !important;\n}\n\n.rounded {\n border-radius: $border-radius !important;\n}\n\n.rounded-top {\n border-top-left-radius: $border-radius !important;\n border-top-right-radius: $border-radius !important;\n}\n\n.rounded-right {\n border-top-right-radius: $border-radius !important;\n border-bottom-right-radius: $border-radius !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-left {\n border-top-left-radius: $border-radius !important;\n border-bottom-left-radius: $border-radius !important;\n}\n\n.rounded-lg {\n border-radius: $border-radius-lg !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: $rounded-pill !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $value in $displays {\n .d#{$infix}-#{$value} { display: $value !important; }\n }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n @each $value in $displays {\n .d-print-#{$value} { display: $value !important; }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n@each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios {\n $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1);\n $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2);\n\n .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} {\n &::before {\n padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x);\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .float#{$infix}-left { float: left !important; }\n .float#{$infix}-right { float: right !important; }\n .float#{$infix}-none { float: none !important; }\n }\n}\n","// stylelint-disable declaration-no-important\n\n@each $value in $user-selects {\n .user-select-#{$value} { user-select: $value !important; }\n}\n","// stylelint-disable declaration-no-important\n\n@each $value in $overflows {\n .overflow-#{$value} { overflow: $value !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Common values\n@each $position in $positions {\n .position-#{$position} { position: $position !important; }\n}\n\n// Shorthand\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $zindex-fixed;\n}\n\n.sticky-top {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: $zindex-sticky;\n }\n}\n","//\n// Screenreaders\n//\n\n.sr-only {\n @include sr-only();\n}\n\n.sr-only-focusable {\n @include sr-only-focusable();\n}\n","// Only display content to screen readers\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only() {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px; // Fix for https://github.com/twbs/bootstrap/issues/25686\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable() {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n }\n}\n","// stylelint-disable declaration-no-important\n\n.shadow-sm { box-shadow: $box-shadow-sm !important; }\n.shadow { box-shadow: $box-shadow !important; }\n.shadow-lg { box-shadow: $box-shadow-lg !important; }\n.shadow-none { box-shadow: none !important; }\n","// stylelint-disable declaration-no-important\n\n// Width and height\n\n@each $prop, $abbrev in (width: w, height: h) {\n @each $size, $length in $sizes {\n .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\n }\n}\n\n.mw-100 { max-width: 100% !important; }\n.mh-100 { max-height: 100% !important; }\n\n// Viewport additional helpers\n\n.min-vw-100 { min-width: 100vw !important; }\n.min-vh-100 { min-height: 100vh !important; }\n\n.vw-100 { width: 100vw !important; }\n.vh-100 { height: 100vh !important; }\n","// stylelint-disable declaration-no-important\n\n// Margin and Padding\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @each $prop, $abbrev in (margin: m, padding: p) {\n @each $size, $length in $spacers {\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\n .#{$abbrev}t#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-top: $length !important;\n }\n .#{$abbrev}r#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-right: $length !important;\n }\n .#{$abbrev}b#{$infix}-#{$size},\n .#{$abbrev}y#{$infix}-#{$size} {\n #{$prop}-bottom: $length !important;\n }\n .#{$abbrev}l#{$infix}-#{$size},\n .#{$abbrev}x#{$infix}-#{$size} {\n #{$prop}-left: $length !important;\n }\n }\n }\n\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\n @each $size, $length in $spacers {\n @if $size != 0 {\n .m#{$infix}-n#{$size} { margin: -$length !important; }\n .mt#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-top: -$length !important;\n }\n .mr#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-right: -$length !important;\n }\n .mb#{$infix}-n#{$size},\n .my#{$infix}-n#{$size} {\n margin-bottom: -$length !important;\n }\n .ml#{$infix}-n#{$size},\n .mx#{$infix}-n#{$size} {\n margin-left: -$length !important;\n }\n }\n }\n\n // Some special margin utils\n .m#{$infix}-auto { margin: auto !important; }\n .mt#{$infix}-auto,\n .my#{$infix}-auto {\n margin-top: auto !important;\n }\n .mr#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-right: auto !important;\n }\n .mb#{$infix}-auto,\n .my#{$infix}-auto {\n margin-bottom: auto !important;\n }\n .ml#{$infix}-auto,\n .mx#{$infix}-auto {\n margin-left: auto !important;\n }\n }\n}\n","//\n// Stretched link\n//\n\n.stretched-link {\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n // Just in case `pointer-events: none` is set on a parent\n pointer-events: auto;\n content: \"\";\n // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color\n background-color: rgba(0, 0, 0, 0);\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Text\n//\n\n.text-monospace { font-family: $font-family-monospace !important; }\n\n// Alignment\n\n.text-justify { text-align: justify !important; }\n.text-wrap { white-space: normal !important; }\n.text-nowrap { white-space: nowrap !important; }\n.text-truncate { @include text-truncate(); }\n\n// Responsive alignment\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .text#{$infix}-left { text-align: left !important; }\n .text#{$infix}-right { text-align: right !important; }\n .text#{$infix}-center { text-align: center !important; }\n }\n}\n\n// Transformation\n\n.text-lowercase { text-transform: lowercase !important; }\n.text-uppercase { text-transform: uppercase !important; }\n.text-capitalize { text-transform: capitalize !important; }\n\n// Weight and italics\n\n.font-weight-light { font-weight: $font-weight-light !important; }\n.font-weight-lighter { font-weight: $font-weight-lighter !important; }\n.font-weight-normal { font-weight: $font-weight-normal !important; }\n.font-weight-bold { font-weight: $font-weight-bold !important; }\n.font-weight-bolder { font-weight: $font-weight-bolder !important; }\n.font-italic { font-style: italic !important; }\n\n// Contextual colors\n\n.text-white { color: $white !important; }\n\n@each $color, $value in $theme-colors {\n @include text-emphasis-variant(\".text-#{$color}\", $value, true);\n}\n\n.text-body { color: $body-color !important; }\n.text-muted { color: $text-muted !important; }\n\n.text-black-50 { color: rgba($black, .5) !important; }\n.text-white-50 { color: rgba($white, .5) !important; }\n\n// Misc\n\n.text-hide {\n @include text-hide($ignore-warning: true);\n}\n\n.text-decoration-none { text-decoration: none !important; }\n\n.text-break {\n word-break: break-word !important; // Deprecated, but avoids issues with flex containers\n word-wrap: break-word !important; // Used instead of `overflow-wrap` for IE & Edge Legacy\n}\n\n// Reset\n\n.text-reset { color: inherit !important; }\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color, $ignore-warning: false) {\n #{$parent} {\n color: $color !important;\n }\n @if $emphasized-link-hover-darken-percentage != 0 {\n a#{$parent} {\n @include hover-focus() {\n color: darken($color, $emphasized-link-hover-darken-percentage) !important;\n }\n }\n }\n @include deprecate(\"`text-emphasis-variant()`\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n","// CSS image replacement\n@mixin text-hide($ignore-warning: false) {\n // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n\n @include deprecate(\"`text-hide()`\", \"v4.1.0\", \"v5\", $ignore-warning);\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Visibility utilities\n//\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n// Source: https://github.com/h5bp/main.css/blob/master/src/_print.css\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request:\n// https://www.phpied.com/delay-loading-your-print-css/\n// ==========================================================================\n\n@if $enable-print-styles {\n @media print {\n *,\n *::before,\n *::after {\n // Bootstrap specific; comment out `color` and `background`\n //color: $black !important; // Black prints faster\n text-shadow: none !important;\n //background: transparent !important;\n box-shadow: none !important;\n }\n\n a {\n &:not(.btn) {\n text-decoration: underline;\n }\n }\n\n // Bootstrap specific; comment the following selector out\n //a[href]::after {\n // content: \" (\" attr(href) \")\";\n //}\n\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n\n // Bootstrap specific; comment the following selector out\n //\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n //\n\n //a[href^=\"#\"]::after,\n //a[href^=\"javascript:\"]::after {\n // content: \"\";\n //}\n\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px\n page-break-inside: avoid;\n }\n\n //\n // Printing Tables:\n // https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables\n //\n\n thead {\n display: table-header-group;\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Specify a size and min-width to make printing closer across browsers.\n // We don't set margin here because it breaks `size` in Chrome. We also\n // don't use `!important` on `size` as it breaks in Chrome.\n @page {\n size: $print-page-size;\n }\n body {\n min-width: $print-body-min-width !important;\n }\n .container {\n min-width: $print-body-min-width !important;\n }\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .badge {\n border: $border-width solid $black;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: $white !important;\n }\n }\n\n .table-bordered {\n th,\n td {\n border: 1px solid $gray-300 !important;\n }\n }\n\n .table-dark {\n color: inherit;\n\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $table-border-color;\n }\n }\n\n .table .thead-dark th {\n color: inherit;\n border-color: $table-border-color;\n }\n\n // Bootstrap specific changes end\n }\n}\n"]} \ No newline at end of file diff --git a/src/main/resources/static/css/jquery-ui.min.css b/src/main/resources/static/css/jquery-ui.min.css new file mode 100644 index 0000000..776e259 --- /dev/null +++ b/src/main/resources/static/css/jquery-ui.min.css @@ -0,0 +1,7 @@ +/*! jQuery UI - v1.12.1 - 2016-09-14 +* http://jqueryui.com +* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?bgShadowXPos=&bgOverlayXPos=&bgErrorXPos=&bgHighlightXPos=&bgContentXPos=&bgHeaderXPos=&bgActiveXPos=&bgHoverXPos=&bgDefaultXPos=&bgShadowYPos=&bgOverlayYPos=&bgErrorYPos=&bgHighlightYPos=&bgContentYPos=&bgHeaderYPos=&bgActiveYPos=&bgHoverYPos=&bgDefaultYPos=&bgShadowRepeat=&bgOverlayRepeat=&bgErrorRepeat=&bgHighlightRepeat=&bgContentRepeat=&bgHeaderRepeat=&bgActiveRepeat=&bgHoverRepeat=&bgDefaultRepeat=&iconsHover=url(%22images%2Fui-icons_555555_256x240.png%22)&iconsHighlight=url(%22images%2Fui-icons_777620_256x240.png%22)&iconsHeader=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsError=url(%22images%2Fui-icons_cc0000_256x240.png%22)&iconsDefault=url(%22images%2Fui-icons_777777_256x240.png%22)&iconsContent=url(%22images%2Fui-icons_444444_256x240.png%22)&iconsActive=url(%22images%2Fui-icons_ffffff_256x240.png%22)&bgImgUrlShadow=&bgImgUrlOverlay=&bgImgUrlHover=&bgImgUrlHighlight=&bgImgUrlHeader=&bgImgUrlError=&bgImgUrlDefault=&bgImgUrlContent=&bgImgUrlActive=&opacityFilterShadow=Alpha(Opacity%3D30)&opacityFilterOverlay=Alpha(Opacity%3D30)&opacityShadowPerc=30&opacityOverlayPerc=30&iconColorHover=%23555555&iconColorHighlight=%23777620&iconColorHeader=%23444444&iconColorError=%23cc0000&iconColorDefault=%23777777&iconColorContent=%23444444&iconColorActive=%23ffffff&bgImgOpacityShadow=0&bgImgOpacityOverlay=0&bgImgOpacityError=95&bgImgOpacityHighlight=55&bgImgOpacityContent=75&bgImgOpacityHeader=75&bgImgOpacityActive=65&bgImgOpacityHover=75&bgImgOpacityDefault=75&bgTextureShadow=flat&bgTextureOverlay=flat&bgTextureError=flat&bgTextureHighlight=flat&bgTextureContent=flat&bgTextureHeader=flat&bgTextureActive=flat&bgTextureHover=flat&bgTextureDefault=flat&cornerRadius=3px&fwDefault=normal&ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&cornerRadiusShadow=8px&thicknessShadow=5px&offsetLeftShadow=0px&offsetTopShadow=0px&opacityShadow=.3&bgColorShadow=%23666666&opacityOverlay=.3&bgColorOverlay=%23aaaaaa&fcError=%235f3f3f&borderColorError=%23f1a899&bgColorError=%23fddfdf&fcHighlight=%23777620&borderColorHighlight=%23dad55e&bgColorHighlight=%23fffa90&fcContent=%23333333&borderColorContent=%23dddddd&bgColorContent=%23ffffff&fcHeader=%23333333&borderColorHeader=%23dddddd&bgColorHeader=%23e9e9e9&fcActive=%23ffffff&borderColorActive=%23003eff&bgColorActive=%23007fff&fcHover=%232b2b2b&borderColorHover=%23cccccc&bgColorHover=%23ededed&fcDefault=%23454545&borderColorDefault=%23c5c5c5&bgColorDefault=%23f6f6f6 +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-size:100%}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2em;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-controlgroup{vertical-align:middle;display:inline-block}.ui-controlgroup > .ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup > .ui-controlgroup-item:focus,.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus{z-index:9999}.ui-controlgroup-vertical > .ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc( 100% - 2.4em )}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-checkboxradio-label .ui-icon-background{box-shadow:inset 1px 1px 1px #ccc;border-radius:.12em;border:none}.ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:none}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}.ui-checkboxradio-disabled{pointer-events:none}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{width:2px;right:0}.ui-dialog .ui-resizable-s{height:2px;bottom:0}.ui-dialog .ui-resizable-w{width:2px;left:0}.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw,.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw{width:7px;height:7px}.ui-dialog .ui-resizable-se{right:0;bottom:0}.ui-dialog .ui-resizable-sw{left:0;bottom:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,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");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:.222em 0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:2em}.ui-spinner-button{width:1.6em;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top-style:none;border-bottom-style:none;border-right-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.003;filter:Alpha(Opacity=.3)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666} \ No newline at end of file diff --git a/src/main/resources/static/css/main.css b/src/main/resources/static/css/main.css new file mode 100644 index 0000000..53ec649 --- /dev/null +++ b/src/main/resources/static/css/main.css @@ -0,0 +1,482 @@ +#box { + min-width: 50px; + min-height: 50px; + width: 100%; + height: 100%; + margin: 10px 10px 0px 0px; + + display: flex; + flex-flow: row nowrap; + align-items: flex-start; + justify-content: space-between; +} + +#left { + width: 100%; + height: 100%; + margin: 0px 10px 0px 0px; + display: flex; + flex-flow: column nowrap; + align-items: flex-start; +} + + +#right { + display: none; + width: 25%; + height: 100%; + /*font-family: "榛戜綋";*/ + /*font-size: 16px;*/ + /*display: flex;*/ + /*flex-flow: row wrap;*/ + /*align-items: flex-start;*/ + /*color: #007bff;*/ +} +.errorResNummore,.personcountmore{ + /*font-size: 18px;*/ +} +#right span { + /*font-family: "榛戜綋";*/ + /*font-size: 25px;*/ + /*color: #007bff;*/ +} + +#top { + width: 100%; + height: 75px; + font-family: "榛戜綋"; + font-size: 32px; + display: flex; + flex-flow: row nowrap; + align-items: flex-end; + justify-content: space-between; +} + +#header_left { + width: 100%; + height: 50px; + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + background-color: #162343; +} + +#header_left span { + width: 100%; + height: 50px; + display: flex; + line-height: 50px; + text-align: center; + +} + +#header_left img { + width: 50px; + height: 50px; +} + +#header_right { + width: 100%; + height: 50px; + display: flex; + flex-flow: row nowrap; + align-items: flex-end; + justify-content: flex-end; +} + +#header_right span { + width: 100px; + height: 50px; + display: flex; + line-height: 50px; + text-align: center; +} + +#severstatus { + width: 100%; + height: 170px; + display: flex; + +} + +.severstatus_left { + width: 100%; + height: 300px; + /* display: flex; */ + flex-flow: column wrap; + justify-content: flex-start; + border: solid 2px; + /* background-color: #ffffff; */ + +} +.severstatus_left,.severstatus_right{ + /* border: solid 1px gray!important; */ +} +.severstatus_left span { +/* font-family: "榛戜綋"; + font-size: 25px; + margin-left: 20px; + color: #007bff;*/ +} + +.severstatus_right span { + /*font-family: "榛戜綋";*/ + /*font-size: 25px;*/ + /*margin-left: 20px;*/ + /*color: #007bff;*/ +} + +.severstatus_right { + /*margin-left: 20px;*/ + + width: 49%; + height: 300px; + flex-flow: column wrap; + justify-content: flex-start; + border: solid 2px; + /* background-color: #ffffff; */ + margin-left: 26px; +} + +#useraction { + margin-top: 300px; + width: 100%; + height: 300px; + display: flex; + /* background-color: #ffffff; */ +} + +.useraction_left { + width: 100%; + height: 350px; + display: flex; + flex-flow: column wrap; + justify-content: flex-start; + +} + +.useraction_right { + width: 40%; + height: 350px; + display: flex; + background-color: yellow; +} + + +.useractionbox { + width: 100%; + padding-right: 20px; + display: flex; + flex-direction: row; + justify-content: center; + + height: 80%; +} + + +#resUsage { + width: 100%; + height: 300px; + display: flex; + background-color: white; + margin-top: 100px; +} + +.resUsagebox { + width: 100%; + display: flex; + padding-right: 20px; + flex-direction: row; + justify-content: center; + height: 300px; + background-color: #ffffff; +} + +.resUsage_left { + width: 100%; + height: 400px; + display: flex; + flex-flow: column wrap; + justify-content: flex-start; + +} + +.resUsage_left span { + /*font-family: "榛戜綋";*/ + /*font-size: 32px;*/ + /*margin-left: 20px;*/ + /*color: blue;*/ +} + +.resUsage_left_top { + width: 100%; + height: 25px; + font-family: "榛戜綋"; + font-size: 16px; + margin-left: 20px; + /*color: blue;*/ +} + +.resUsage_right { + width: 40%; + height: 300px; + display: flex; + background-color: yellow; +} + + +#resinvokechart { + width: 100%; + display: flex; + height: 300px; +} + +#useractionchart { + width: 100%; + display: flex; + height: 300px; +} + + +#cpuinfo { + width: 40%; + height: 200px; + display: flex; +} + +#meminfo { + width: 40%; + height: 200px; + display: flex; +} + +#main { + width: 98%; + margin: 0 auto; +} + +.title { + width: 100%; + height: 35px; +} + +.chart { + width: 100%; + display: flex; + flex-direction: row; + justify-content: center; + height: 200px; + margin: 24px; +} + +#resstatus { + width: 400px; + height: 200px; + display: flex; + +} + +#auditstatus { + width: 400px; + height: 200px; + display: flex; + +} + +#onlineUsertable td { + text-align: center; +} + +#onlineUser { + width: 49%; + height: 400px; + /*border: #ffffff solid 2px;*/ + float: left; + background-color: #ffffff; + font-size: 14px !important; +} + +#warnResource { + /* margin-top: 20px; */ + width: 49%; + height: 100%; + /*border: #ffffff solid 2px;*/ + overflow-y: auto; + background-color: #ffffff; + float: right; + font-size: 14px; +} + +#errorRestable>thead ,.tbbox tr{ + display: table; + width: 100%; + table-layout: fixed; +} +.tbbox{ + height: 280px; + display: block; + overflow: auto; +} +td { + text-align: center; +} +#right th { + /*color: #007bff;*/ + color: #73879a; + width: 25%; +} + +#right td { + + /*color: #007bff;*/ + color: #73879a; + +} + +.sysinfo { + width: 50%; + /*height: 125px;*/ + height: 114px; + display: flex; + + flex-flow: row wrap; + justify-content: space-between; + /*font-family: "妤蜂綋";*/ + font-size: 25px; + /*color: #007bff ;*/ + color:#73879a; +} +#tabpanel{ + background-color: #fff; + width: 100%; + height: 450px; +} +#tabpanel .title{ + height:56px; + text-align: left; +} +#tabpanel .title .tabtitle{ + margin-left: 20px; + margin-top: 3px; + width: 100px; + height: 56px; + color: #6c757d; + line-height: 56px; + float: left; + font-weight: 800; + font-size: 14px !important; + cursor: pointer; +} +#tabpanel .title .tabtitle:hover{ + color: #24acf2; +} +#tabpanel .title .active{ + color: #24acf2; +} +#tabpanel .tabcontent{ + width: 100%; + height: 500px; +} +.partbox { + width: 23%; + height: 50%; + margin: 10px 10px; + text-align: center; + background-color: #FFFFFf; + vertical-align: center; + padding: 20px; + border: solid 1px rgba(0, 0, 0, .05) ; + float: left; +} +.divider{ + background-color: #dee2e6; + height: 0.5px; + width: 90%; + margin-left: auto; + margin-right: auto; +} +.SysinfoBox { + width: 100%; + height: 175px; + display: flex; + flex-flow: row wrap; + justify-content: flex-end; + background-color: #ffffff; + align-items: center; +} + +.useractionlabel { + display: block; + width: 80px; + float: left; + margin-top: 8px; +} + +.useractionlabeltext{ + width:300px!important; + float:left +} + +#NoPermissionModal{ + width: 80%; + height: 60%; +} +::-webkit-scrollbar{ + width: 10px; + height: 10px!important; +} +::-webkit-scrollbar-thumb{ + border-radius: 10px; + background-color: #24acf2; +} +::-webkit-scrollbar-track{ + box-shadow: inset 0 0 5px rgba(0,0,0,0.2); + background-color: #fff; + border-radius: 10px; +} + +/*JH change*/ +/*2021.6.23*/ +.panel-default { + /* border-color: #ddd !important ; + border-color: none !important ; */ + } +.panel { + margin-bottom: 10px; + /* background-color: #fff; */ + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); + box-shadow: 0 1px 1px rgba(0, 0, 0, .05); +} +.panel-heading{ + padding:10px 15px; + /* border-bottom:1px solid transparent; */ + border-top-left-radius: 3px; + border-top-right-radius: 3px; + color:#333; + /* background-color: #f5f5f5; */ + /* border-color: #dee2e6; + padding-bottom: 33px; */ + +} +.useractionlabel { + display: block; + width: 80px; + float: left; + margin-top: 8px; + margin-left: 6px; +} +.table th, .table td { + padding: 0.75rem; + vertical-align: top; + border-top: 0px solid #dee2e6; +} + +/*.title{*/ +/* color: #333;*/ +/* background-color: #f5f5f5;*/ +/* border-color: #ddd;*/ +/* */ +/*}*/ +/*JH change*/ diff --git a/src/main/resources/static/js/bootstrap.min.js b/src/main/resources/static/js/bootstrap.min.js new file mode 100644 index 0000000..cd995a6 --- /dev/null +++ b/src/main/resources/static/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.5.3 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap={},t.jQuery,t.Popper)}(this,(function(t,e,n){"use strict";function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var o=i(e),a=i(n);function s(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function l(t,e,n){return e&&s(t.prototype,e),n&&s(t,n),t}function r(){return(r=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}function u(t){var e=this,n=!1;return o.default(this).one(d.TRANSITION_END,(function(){n=!0})),setTimeout((function(){n||d.triggerTransitionEnd(e)}),t),this}var d={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=o.default(t).css("transition-duration"),n=o.default(t).css("transition-delay"),i=parseFloat(e),a=parseFloat(n);return i||a?(e=e.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(e)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){o.default(t).trigger("transitionend")},supportsTransitionEnd:function(){return Boolean("transitionend")},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var o=n[i],a=e[i],s=a&&d.isElement(a)?"element":null===(l=a)||"undefined"==typeof l?""+l:{}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(o).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+o+'".')}var l},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){var e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?d.findShadowRoot(t.parentNode):null},jQueryDetection:function(){if("undefined"==typeof o.default)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=o.default.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||t[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};d.jQueryDetection(),o.default.fn.emulateTransitionEnd=u,o.default.event.special[d.TRANSITION_END]={bindType:"transitionend",delegateType:"transitionend",handle:function(t){if(o.default(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var f="alert",c=o.default.fn[f],h=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.dispose=function(){o.default.removeData(this._element,"bs.alert"),this._element=null},e._getRootElement=function(t){var e=d.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=o.default(t).closest(".alert")[0]),n},e._triggerCloseEvent=function(t){var e=o.default.Event("close.bs.alert");return o.default(t).trigger(e),e},e._removeElement=function(t){var e=this;if(o.default(t).removeClass("show"),o.default(t).hasClass("fade")){var n=d.getTransitionDurationFromElement(t);o.default(t).one(d.TRANSITION_END,(function(n){return e._destroyElement(t,n)})).emulateTransitionEnd(n)}else this._destroyElement(t)},e._destroyElement=function(t){o.default(t).detach().trigger("closed.bs.alert").remove()},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.alert");i||(i=new t(this),n.data("bs.alert",i)),"close"===e&&i[e](this)}))},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.alert.data-api",'[data-dismiss="alert"]',h._handleDismiss(new h)),o.default.fn[f]=h._jQueryInterface,o.default.fn[f].Constructor=h,o.default.fn[f].noConflict=function(){return o.default.fn[f]=c,h._jQueryInterface};var g=o.default.fn.button,m=function(){function t(t){this._element=t,this.shouldAvoidTriggerChange=!1}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=o.default(this._element).closest('[data-toggle="buttons"]')[0];if(n){var i=this._element.querySelector('input:not([type="hidden"])');if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains("active"))t=!1;else{var a=n.querySelector(".active");a&&o.default(a).removeClass("active")}t&&("checkbox"!==i.type&&"radio"!==i.type||(i.checked=!this._element.classList.contains("active")),this.shouldAvoidTriggerChange||o.default(i).trigger("change")),i.focus(),e=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active")),t&&o.default(this._element).toggleClass("active"))},e.dispose=function(){o.default.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(e,n){return this.each((function(){var i=o.default(this),a=i.data("bs.button");a||(a=new t(this),i.data("bs.button",a)),a.shouldAvoidTriggerChange=n,"toggle"===e&&a[e]()}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=t.target,n=e;if(o.default(e).hasClass("btn")||(e=o.default(e).closest(".btn")[0]),!e||e.hasAttribute("disabled")||e.classList.contains("disabled"))t.preventDefault();else{var i=e.querySelector('input:not([type="hidden"])');if(i&&(i.hasAttribute("disabled")||i.classList.contains("disabled")))return void t.preventDefault();"INPUT"!==n.tagName&&"LABEL"===e.tagName||m._jQueryInterface.call(o.default(e),"toggle","INPUT"===n.tagName)}})).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=o.default(t.target).closest(".btn")[0];o.default(e).toggleClass("focus",/^focus(in)?$/.test(t.type))})),o.default(window).on("load.bs.button.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-toggle="buttons"] .btn')),e=0,n=t.length;e<n;e++){var i=t[e],o=i.querySelector('input:not([type="hidden"])');o.checked||o.hasAttribute("checked")?i.classList.add("active"):i.classList.remove("active")}for(var a=0,s=(t=[].slice.call(document.querySelectorAll('[data-toggle="button"]'))).length;a<s;a++){var l=t[a];"true"===l.getAttribute("aria-pressed")?l.classList.add("active"):l.classList.remove("active")}})),o.default.fn.button=m._jQueryInterface,o.default.fn.button.Constructor=m,o.default.fn.button.noConflict=function(){return o.default.fn.button=g,m._jQueryInterface};var p="carousel",_=".bs.carousel",v=o.default.fn[p],b={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},y={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},E={TOUCH:"touch",PEN:"pen"},w=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=this._element.querySelector(".carousel-indicators"),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var e=t.prototype;return e.next=function(){this._isSliding||this._slide("next")},e.nextWhenVisible=function(){var t=o.default(this._element);!document.hidden&&t.is(":visible")&&"hidden"!==t.css("visibility")&&this.next()},e.prev=function(){this._isSliding||this._slide("prev")},e.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(".carousel-item-next, .carousel-item-prev")&&(d.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=this._element.querySelector(".active.carousel-item");var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)o.default(this._element).one("slid.bs.carousel",(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?"next":"prev";this._slide(i,this._items[t])}},e.dispose=function(){o.default(this._element).off(_),o.default.removeData(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=r({},b,t),d.typeCheckConfig(p,t,y),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&o.default(this._element).on("keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&o.default(this._element).on("mouseenter.bs.carousel",(function(e){return t.pause(e)})).on("mouseleave.bs.carousel",(function(e){return t.cycle(e)})),this._config.touch&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var e=function(e){t._pointerEvent&&E[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},n=function(e){t._pointerEvent&&E[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};o.default(this._element.querySelectorAll(".carousel-item img")).on("dragstart.bs.carousel",(function(t){return t.preventDefault()})),this._pointerEvent?(o.default(this._element).on("pointerdown.bs.carousel",(function(t){return e(t)})),o.default(this._element).on("pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(o.default(this._element).on("touchstart.bs.carousel",(function(t){return e(t)})),o.default(this._element).on("touchmove.bs.carousel",(function(e){return function(e){e.originalEvent.touches&&e.originalEvent.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.originalEvent.touches[0].clientX-t.touchStartX}(e)})),o.default(this._element).on("touchend.bs.carousel",(function(t){return n(t)})))}},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(".carousel-item")):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),a=this._items.length-1;if((i&&0===o||n&&o===a)&&!this._config.wrap)return e;var s=(o+("prev"===t?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(".active.carousel-item")),a=o.default.Event("slide.bs.carousel",{relatedTarget:t,direction:e,from:i,to:n});return o.default(this._element).trigger(a),a},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(".active"));o.default(e).removeClass("active");var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&o.default(n).addClass("active")}},e._slide=function(t,e){var n,i,a,s=this,l=this._element.querySelector(".active.carousel-item"),r=this._getItemIndex(l),u=e||l&&this._getItemByDirection(t,l),f=this._getItemIndex(u),c=Boolean(this._interval);if("next"===t?(n="carousel-item-left",i="carousel-item-next",a="left"):(n="carousel-item-right",i="carousel-item-prev",a="right"),u&&o.default(u).hasClass("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(u,a).isDefaultPrevented()&&l&&u){this._isSliding=!0,c&&this.pause(),this._setActiveIndicatorElement(u);var h=o.default.Event("slid.bs.carousel",{relatedTarget:u,direction:a,from:r,to:f});if(o.default(this._element).hasClass("slide")){o.default(u).addClass(i),d.reflow(u),o.default(l).addClass(n),o.default(u).addClass(n);var g=parseInt(u.getAttribute("data-interval"),10);g?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=g):this._config.interval=this._config.defaultInterval||this._config.interval;var m=d.getTransitionDurationFromElement(l);o.default(l).one(d.TRANSITION_END,(function(){o.default(u).removeClass(n+" "+i).addClass("active"),o.default(l).removeClass("active "+i+" "+n),s._isSliding=!1,setTimeout((function(){return o.default(s._element).trigger(h)}),0)})).emulateTransitionEnd(m)}else o.default(l).removeClass("active"),o.default(u).addClass("active"),this._isSliding=!1,o.default(this._element).trigger(h);c&&this.cycle()}},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this).data("bs.carousel"),i=r({},b,o.default(this).data());"object"==typeof e&&(i=r({},i,e));var a="string"==typeof e?e:i.slide;if(n||(n=new t(this,i),o.default(this).data("bs.carousel",n)),"number"==typeof e)n.to(e);else if("string"==typeof a){if("undefined"==typeof n[a])throw new TypeError('No method named "'+a+'"');n[a]()}else i.interval&&i.ride&&(n.pause(),n.cycle())}))},t._dataApiClickHandler=function(e){var n=d.getSelectorFromElement(this);if(n){var i=o.default(n)[0];if(i&&o.default(i).hasClass("carousel")){var a=r({},o.default(i).data(),o.default(this).data()),s=this.getAttribute("data-slide-to");s&&(a.interval=!1),t._jQueryInterface.call(o.default(i),a),s&&o.default(i).data("bs.carousel").to(s),e.preventDefault()}}},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return b}}]),t}();o.default(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",w._dataApiClickHandler),o.default(window).on("load.bs.carousel.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-ride="carousel"]')),e=0,n=t.length;e<n;e++){var i=o.default(t[e]);w._jQueryInterface.call(i,i.data())}})),o.default.fn[p]=w._jQueryInterface,o.default.fn[p].Constructor=w,o.default.fn[p].noConflict=function(){return o.default.fn[p]=v,w._jQueryInterface};var T="collapse",C=o.default.fn[T],S={toggle:!0,parent:""},N={toggle:"boolean",parent:"(string|element)"},D=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'));for(var n=[].slice.call(document.querySelectorAll('[data-toggle="collapse"]')),i=0,o=n.length;i<o;i++){var a=n[i],s=d.getSelectorFromElement(a),l=[].slice.call(document.querySelectorAll(s)).filter((function(e){return e===t}));null!==s&&l.length>0&&(this._selector=s,this._triggerArray.push(a))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var e=t.prototype;return e.toggle=function(){o.default(this._element).hasClass("show")?this.hide():this.show()},e.show=function(){var e,n,i=this;if(!this._isTransitioning&&!o.default(this._element).hasClass("show")&&(this._parent&&0===(e=[].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter((function(t){return"string"==typeof i._config.parent?t.getAttribute("data-parent")===i._config.parent:t.classList.contains("collapse")}))).length&&(e=null),!(e&&(n=o.default(e).not(this._selector).data("bs.collapse"))&&n._isTransitioning))){var a=o.default.Event("show.bs.collapse");if(o.default(this._element).trigger(a),!a.isDefaultPrevented()){e&&(t._jQueryInterface.call(o.default(e).not(this._selector),"hide"),n||o.default(e).data("bs.collapse",null));var s=this._getDimension();o.default(this._element).removeClass("collapse").addClass("collapsing"),this._element.style[s]=0,this._triggerArray.length&&o.default(this._triggerArray).removeClass("collapsed").attr("aria-expanded",!0),this.setTransitioning(!0);var l="scroll"+(s[0].toUpperCase()+s.slice(1)),r=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,(function(){o.default(i._element).removeClass("collapsing").addClass("collapse show"),i._element.style[s]="",i.setTransitioning(!1),o.default(i._element).trigger("shown.bs.collapse")})).emulateTransitionEnd(r),this._element.style[s]=this._element[l]+"px"}}},e.hide=function(){var t=this;if(!this._isTransitioning&&o.default(this._element).hasClass("show")){var e=o.default.Event("hide.bs.collapse");if(o.default(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",d.reflow(this._element),o.default(this._element).addClass("collapsing").removeClass("collapse show");var i=this._triggerArray.length;if(i>0)for(var a=0;a<i;a++){var s=this._triggerArray[a],l=d.getSelectorFromElement(s);if(null!==l)o.default([].slice.call(document.querySelectorAll(l))).hasClass("show")||o.default(s).addClass("collapsed").attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var r=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,(function(){t.setTransitioning(!1),o.default(t._element).removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")})).emulateTransitionEnd(r)}}},e.setTransitioning=function(t){this._isTransitioning=t},e.dispose=function(){o.default.removeData(this._element,"bs.collapse"),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},e._getConfig=function(t){return(t=r({},S,t)).toggle=Boolean(t.toggle),d.typeCheckConfig(T,t,N),t},e._getDimension=function(){return o.default(this._element).hasClass("width")?"width":"height"},e._getParent=function(){var e,n=this;d.isElement(this._config.parent)?(e=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(e=this._config.parent[0])):e=document.querySelector(this._config.parent);var i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',a=[].slice.call(e.querySelectorAll(i));return o.default(a).each((function(e,i){n._addAriaAndCollapsedClass(t._getTargetFromElement(i),[i])})),e},e._addAriaAndCollapsedClass=function(t,e){var n=o.default(t).hasClass("show");e.length&&o.default(e).toggleClass("collapsed",!n).attr("aria-expanded",n)},t._getTargetFromElement=function(t){var e=d.getSelectorFromElement(t);return e?document.querySelector(e):null},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.collapse"),a=r({},S,n.data(),"object"==typeof e&&e?e:{});if(!i&&a.toggle&&"string"==typeof e&&/show|hide/.test(e)&&(a.toggle=!1),i||(i=new t(this,a),n.data("bs.collapse",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return S}}]),t}();o.default(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',(function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var e=o.default(this),n=d.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(n));o.default(i).each((function(){var t=o.default(this),n=t.data("bs.collapse")?"toggle":e.data();D._jQueryInterface.call(t,n)}))})),o.default.fn[T]=D._jQueryInterface,o.default.fn[T].Constructor=D,o.default.fn[T].noConflict=function(){return o.default.fn[T]=C,D._jQueryInterface};var k="dropdown",A=o.default.fn[k],I=new RegExp("38|40|27"),j={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},O={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},x=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var e=t.prototype;return e.toggle=function(){if(!this._element.disabled&&!o.default(this._element).hasClass("disabled")){var e=o.default(this._menu).hasClass("show");t._clearMenus(),e||this.show(!0)}},e.show=function(e){if(void 0===e&&(e=!1),!(this._element.disabled||o.default(this._element).hasClass("disabled")||o.default(this._menu).hasClass("show"))){var n={relatedTarget:this._element},i=o.default.Event("show.bs.dropdown",n),s=t._getParentFromElement(this._element);if(o.default(s).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar&&e){if("undefined"==typeof a.default)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var l=this._element;"parent"===this._config.reference?l=s:d.isElement(this._config.reference)&&(l=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(l=this._config.reference[0])),"scrollParent"!==this._config.boundary&&o.default(s).addClass("position-static"),this._popper=new a.default(l,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===o.default(s).closest(".navbar-nav").length&&o.default(document.body).children().on("mouseover",null,o.default.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),o.default(this._menu).toggleClass("show"),o.default(s).toggleClass("show").trigger(o.default.Event("shown.bs.dropdown",n))}}},e.hide=function(){if(!this._element.disabled&&!o.default(this._element).hasClass("disabled")&&o.default(this._menu).hasClass("show")){var e={relatedTarget:this._element},n=o.default.Event("hide.bs.dropdown",e),i=t._getParentFromElement(this._element);o.default(i).trigger(n),n.isDefaultPrevented()||(this._popper&&this._popper.destroy(),o.default(this._menu).toggleClass("show"),o.default(i).toggleClass("show").trigger(o.default.Event("hidden.bs.dropdown",e)))}},e.dispose=function(){o.default.removeData(this._element,"bs.dropdown"),o.default(this._element).off(".bs.dropdown"),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},e.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},e._addEventListeners=function(){var t=this;o.default(this._element).on("click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},e._getConfig=function(t){return t=r({},this.constructor.Default,o.default(this._element).data(),t),d.typeCheckConfig(k,t,this.constructor.DefaultType),t},e._getMenuElement=function(){if(!this._menu){var e=t._getParentFromElement(this._element);e&&(this._menu=e.querySelector(".dropdown-menu"))}return this._menu},e._getPlacement=function(){var t=o.default(this._element.parentNode),e="bottom-start";return t.hasClass("dropup")?e=o.default(this._menu).hasClass("dropdown-menu-right")?"top-end":"top-start":t.hasClass("dropright")?e="right-start":t.hasClass("dropleft")?e="left-start":o.default(this._menu).hasClass("dropdown-menu-right")&&(e="bottom-end"),e},e._detectNavbar=function(){return o.default(this._element).closest(".navbar").length>0},e._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},e._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),r({},t,this._config.popperConfig)},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this).data("bs.dropdown");if(n||(n=new t(this,"object"==typeof e?e:null),o.default(this).data("bs.dropdown",n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=[].slice.call(document.querySelectorAll('[data-toggle="dropdown"]')),i=0,a=n.length;i<a;i++){var s=t._getParentFromElement(n[i]),l=o.default(n[i]).data("bs.dropdown"),r={relatedTarget:n[i]};if(e&&"click"===e.type&&(r.clickEvent=e),l){var u=l._menu;if(o.default(s).hasClass("show")&&!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&9===e.which)&&o.default.contains(s,e.target))){var d=o.default.Event("hide.bs.dropdown",r);o.default(s).trigger(d),d.isDefaultPrevented()||("ontouchstart"in document.documentElement&&o.default(document.body).children().off("mouseover",null,o.default.noop),n[i].setAttribute("aria-expanded","false"),l._popper&&l._popper.destroy(),o.default(u).removeClass("show"),o.default(s).removeClass("show").trigger(o.default.Event("hidden.bs.dropdown",r)))}}}},t._getParentFromElement=function(t){var e,n=d.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},t._dataApiKeydownHandler=function(e){if(!(/input|textarea/i.test(e.target.tagName)?32===e.which||27!==e.which&&(40!==e.which&&38!==e.which||o.default(e.target).closest(".dropdown-menu").length):!I.test(e.which))&&!this.disabled&&!o.default(this).hasClass("disabled")){var n=t._getParentFromElement(this),i=o.default(n).hasClass("show");if(i||27!==e.which){if(e.preventDefault(),e.stopPropagation(),!i||27===e.which||32===e.which)return 27===e.which&&o.default(n.querySelector('[data-toggle="dropdown"]')).trigger("focus"),void o.default(this).trigger("click");var a=[].slice.call(n.querySelectorAll(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)")).filter((function(t){return o.default(t).is(":visible")}));if(0!==a.length){var s=a.indexOf(e.target);38===e.which&&s>0&&s--,40===e.which&&s<a.length-1&&s++,s<0&&(s=0),a[s].focus()}}}},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return j}},{key:"DefaultType",get:function(){return O}}]),t}();o.default(document).on("keydown.bs.dropdown.data-api",'[data-toggle="dropdown"]',x._dataApiKeydownHandler).on("keydown.bs.dropdown.data-api",".dropdown-menu",x._dataApiKeydownHandler).on("click.bs.dropdown.data-api keyup.bs.dropdown.data-api",x._clearMenus).on("click.bs.dropdown.data-api",'[data-toggle="dropdown"]',(function(t){t.preventDefault(),t.stopPropagation(),x._jQueryInterface.call(o.default(this),"toggle")})).on("click.bs.dropdown.data-api",".dropdown form",(function(t){t.stopPropagation()})),o.default.fn[k]=x._jQueryInterface,o.default.fn[k].Constructor=x,o.default.fn[k].noConflict=function(){return o.default.fn[k]=A,x._jQueryInterface};var P=o.default.fn.modal,R={backdrop:!0,keyboard:!0,focus:!0,show:!0},L={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},q=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(".modal-dialog"),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var e=t.prototype;return e.toggle=function(t){return this._isShown?this.hide():this.show(t)},e.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){o.default(this._element).hasClass("fade")&&(this._isTransitioning=!0);var n=o.default.Event("show.bs.modal",{relatedTarget:t});o.default(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),o.default(this._element).on("click.dismiss.bs.modal",'[data-dismiss="modal"]',(function(t){return e.hide(t)})),o.default(this._dialog).on("mousedown.dismiss.bs.modal",(function(){o.default(e._element).one("mouseup.dismiss.bs.modal",(function(t){o.default(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)}))})),this._showBackdrop((function(){return e._showElement(t)})))}},e.hide=function(t){var e=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var n=o.default.Event("hide.bs.modal");if(o.default(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=o.default(this._element).hasClass("fade");if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),o.default(document).off("focusin.bs.modal"),o.default(this._element).removeClass("show"),o.default(this._element).off("click.dismiss.bs.modal"),o.default(this._dialog).off("mousedown.dismiss.bs.modal"),i){var a=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,(function(t){return e._hideModal(t)})).emulateTransitionEnd(a)}else this._hideModal()}}},e.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return o.default(t).off(".bs.modal")})),o.default(document).off("focusin.bs.modal"),o.default.removeData(this._element,"bs.modal"),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},e.handleUpdate=function(){this._adjustDialog()},e._getConfig=function(t){return t=r({},R,t),d.typeCheckConfig("modal",t,L),t},e._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){var e=o.default.Event("hidePrevented.bs.modal");if(o.default(this._element).trigger(e),e.isDefaultPrevented())return;var n=this._element.scrollHeight>document.documentElement.clientHeight;n||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static");var i=d.getTransitionDurationFromElement(this._dialog);o.default(this._element).off(d.TRANSITION_END),o.default(this._element).one(d.TRANSITION_END,(function(){t._element.classList.remove("modal-static"),n||o.default(t._element).one(d.TRANSITION_END,(function(){t._element.style.overflowY=""})).emulateTransitionEnd(t._element,i)})).emulateTransitionEnd(i),this._element.focus()}else this.hide()},e._showElement=function(t){var e=this,n=o.default(this._element).hasClass("fade"),i=this._dialog?this._dialog.querySelector(".modal-body"):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),o.default(this._dialog).hasClass("modal-dialog-scrollable")&&i?i.scrollTop=0:this._element.scrollTop=0,n&&d.reflow(this._element),o.default(this._element).addClass("show"),this._config.focus&&this._enforceFocus();var a=o.default.Event("shown.bs.modal",{relatedTarget:t}),s=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,o.default(e._element).trigger(a)};if(n){var l=d.getTransitionDurationFromElement(this._dialog);o.default(this._dialog).one(d.TRANSITION_END,s).emulateTransitionEnd(l)}else s()},e._enforceFocus=function(){var t=this;o.default(document).off("focusin.bs.modal").on("focusin.bs.modal",(function(e){document!==e.target&&t._element!==e.target&&0===o.default(t._element).has(e.target).length&&t._element.focus()}))},e._setEscapeEvent=function(){var t=this;this._isShown?o.default(this._element).on("keydown.dismiss.bs.modal",(function(e){t._config.keyboard&&27===e.which?(e.preventDefault(),t.hide()):t._config.keyboard||27!==e.which||t._triggerBackdropTransition()})):this._isShown||o.default(this._element).off("keydown.dismiss.bs.modal")},e._setResizeEvent=function(){var t=this;this._isShown?o.default(window).on("resize.bs.modal",(function(e){return t.handleUpdate(e)})):o.default(window).off("resize.bs.modal")},e._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop((function(){o.default(document.body).removeClass("modal-open"),t._resetAdjustments(),t._resetScrollbar(),o.default(t._element).trigger("hidden.bs.modal")}))},e._removeBackdrop=function(){this._backdrop&&(o.default(this._backdrop).remove(),this._backdrop=null)},e._showBackdrop=function(t){var e=this,n=o.default(this._element).hasClass("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",n&&this._backdrop.classList.add(n),o.default(this._backdrop).appendTo(document.body),o.default(this._element).on("click.dismiss.bs.modal",(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()})),n&&d.reflow(this._backdrop),o.default(this._backdrop).addClass("show"),!t)return;if(!n)return void t();var i=d.getTransitionDurationFromElement(this._backdrop);o.default(this._backdrop).one(d.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){o.default(this._backdrop).removeClass("show");var a=function(){e._removeBackdrop(),t&&t()};if(o.default(this._element).hasClass("fade")){var s=d.getTransitionDurationFromElement(this._backdrop);o.default(this._backdrop).one(d.TRANSITION_END,a).emulateTransitionEnd(s)}else a()}else t&&t()},e._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},e._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){var e=[].slice.call(document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top")),n=[].slice.call(document.querySelectorAll(".sticky-top"));o.default(e).each((function(e,n){var i=n.style.paddingRight,a=o.default(n).css("padding-right");o.default(n).data("padding-right",i).css("padding-right",parseFloat(a)+t._scrollbarWidth+"px")})),o.default(n).each((function(e,n){var i=n.style.marginRight,a=o.default(n).css("margin-right");o.default(n).data("margin-right",i).css("margin-right",parseFloat(a)-t._scrollbarWidth+"px")}));var i=document.body.style.paddingRight,a=o.default(document.body).css("padding-right");o.default(document.body).data("padding-right",i).css("padding-right",parseFloat(a)+this._scrollbarWidth+"px")}o.default(document.body).addClass("modal-open")},e._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top"));o.default(t).each((function(t,e){var n=o.default(e).data("padding-right");o.default(e).removeData("padding-right"),e.style.paddingRight=n||""}));var e=[].slice.call(document.querySelectorAll(".sticky-top"));o.default(e).each((function(t,e){var n=o.default(e).data("margin-right");"undefined"!=typeof n&&o.default(e).css("margin-right",n).removeData("margin-right")}));var n=o.default(document.body).data("padding-right");o.default(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},e._getScrollbarWidth=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t._jQueryInterface=function(e,n){return this.each((function(){var i=o.default(this).data("bs.modal"),a=r({},R,o.default(this).data(),"object"==typeof e&&e?e:{});if(i||(i=new t(this,a),o.default(this).data("bs.modal",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e](n)}else a.show&&i.show(n)}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return R}}]),t}();o.default(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',(function(t){var e,n=this,i=d.getSelectorFromElement(this);i&&(e=document.querySelector(i));var a=o.default(e).data("bs.modal")?"toggle":r({},o.default(e).data(),o.default(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var s=o.default(e).one("show.bs.modal",(function(t){t.isDefaultPrevented()||s.one("hidden.bs.modal",(function(){o.default(n).is(":visible")&&n.focus()}))}));q._jQueryInterface.call(o.default(e),a,this)})),o.default.fn.modal=q._jQueryInterface,o.default.fn.modal.Constructor=q,o.default.fn.modal.noConflict=function(){return o.default.fn.modal=P,q._jQueryInterface};var F=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Q={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},B=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,H=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;function U(t,e,n){if(0===t.length)return t;if(n&&"function"==typeof n)return n(t);for(var i=(new window.DOMParser).parseFromString(t,"text/html"),o=Object.keys(e),a=[].slice.call(i.body.querySelectorAll("*")),s=function(t,n){var i=a[t],s=i.nodeName.toLowerCase();if(-1===o.indexOf(i.nodeName.toLowerCase()))return i.parentNode.removeChild(i),"continue";var l=[].slice.call(i.attributes),r=[].concat(e["*"]||[],e[s]||[]);l.forEach((function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===F.indexOf(n)||Boolean(t.nodeValue.match(B)||t.nodeValue.match(H));for(var i=e.filter((function(t){return t instanceof RegExp})),o=0,a=i.length;o<a;o++)if(n.match(i[o]))return!0;return!1})(t,r)||i.removeAttribute(t.nodeName)}))},l=0,r=a.length;l<r;l++)s(l);return i.body.innerHTML}var M="tooltip",W=o.default.fn[M],V=new RegExp("(^|\\s)bs-tooltip\\S+","g"),z=["sanitize","whiteList","sanitizeFn"],K={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},X={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Y={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Q,popperConfig:null},$={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},J=function(){function t(t,e){if("undefined"==typeof a.default)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=o.default(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(o.default(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),o.default.removeData(this.element,this.constructor.DATA_KEY),o.default(this.element).off(this.constructor.EVENT_KEY),o.default(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&o.default(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===o.default(this.element).css("display"))throw new Error("Please use show on visible elements");var e=o.default.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){o.default(this.element).trigger(e);var n=d.findShadowRoot(this.element),i=o.default.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!i)return;var s=this.getTipElement(),l=d.getUID(this.constructor.NAME);s.setAttribute("id",l),this.element.setAttribute("aria-describedby",l),this.setContent(),this.config.animation&&o.default(s).addClass("fade");var r="function"==typeof this.config.placement?this.config.placement.call(this,s,this.element):this.config.placement,u=this._getAttachment(r);this.addAttachmentClass(u);var f=this._getContainer();o.default(s).data(this.constructor.DATA_KEY,this),o.default.contains(this.element.ownerDocument.documentElement,this.tip)||o.default(s).appendTo(f),o.default(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new a.default(this.element,s,this._getPopperConfig(u)),o.default(s).addClass("show"),"ontouchstart"in document.documentElement&&o.default(document.body).children().on("mouseover",null,o.default.noop);var c=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,o.default(t.element).trigger(t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(o.default(this.tip).hasClass("fade")){var h=d.getTransitionDurationFromElement(this.tip);o.default(this.tip).one(d.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},e.hide=function(t){var e=this,n=this.getTipElement(),i=o.default.Event(this.constructor.Event.HIDE),a=function(){"show"!==e._hoverState&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),o.default(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(o.default(this.element).trigger(i),!i.isDefaultPrevented()){if(o.default(n).removeClass("show"),"ontouchstart"in document.documentElement&&o.default(document.body).children().off("mouseover",null,o.default.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,o.default(this.tip).hasClass("fade")){var s=d.getTransitionDurationFromElement(n);o.default(n).one(d.TRANSITION_END,a).emulateTransitionEnd(s)}else a();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(t){o.default(this.getTipElement()).addClass("bs-tooltip-"+t)},e.getTipElement=function(){return this.tip=this.tip||o.default(this.config.template)[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(o.default(t.querySelectorAll(".tooltip-inner")),this.getTitle()),o.default(t).removeClass("fade show")},e.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=U(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?o.default(e).parent().is(t)||t.empty().append(e):t.text(o.default(e).text())},e.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},e._getPopperConfig=function(t){var e=this;return r({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:d.isElement(this.config.container)?o.default(this.config.container):o.default(document).find(this.config.container)},e._getAttachment=function(t){return X[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)o.default(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;o.default(t.element).on(n,t.config.selector,(function(e){return t._enter(e)})).on(i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},o.default(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||o.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),o.default(e.getTipElement()).hasClass("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||o.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=o.default(this.element).data();return Object.keys(e).forEach((function(t){-1!==z.indexOf(t)&&delete e[t]})),"number"==typeof(t=r({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),d.typeCheckConfig(M,t,this.constructor.DefaultType),t.sanitize&&(t.template=U(t.template,t.whiteList,t.sanitizeFn)),t},e._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},e._cleanTipClass=function(){var t=o.default(this.getTipElement()),e=t.attr("class").match(V);null!==e&&e.length&&t.removeClass(e.join(""))},e._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(o.default(t).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.tooltip"),a="object"==typeof e&&e;if((i||!/dispose|hide/.test(e))&&(i||(i=new t(this,a),n.data("bs.tooltip",i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return Y}},{key:"NAME",get:function(){return M}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return $}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return K}}]),t}();o.default.fn[M]=J._jQueryInterface,o.default.fn[M].Constructor=J,o.default.fn[M].noConflict=function(){return o.default.fn[M]=W,J._jQueryInterface};var G="popover",Z=o.default.fn[G],tt=new RegExp("(^|\\s)bs-popover\\S+","g"),et=r({},J.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),nt=r({},J.DefaultType,{content:"(string|element|function)"}),it={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},ot=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var a=i.prototype;return a.isWithContent=function(){return this.getTitle()||this._getContent()},a.addAttachmentClass=function(t){o.default(this.getTipElement()).addClass("bs-popover-"+t)},a.getTipElement=function(){return this.tip=this.tip||o.default(this.config.template)[0],this.tip},a.setContent=function(){var t=o.default(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(".popover-body"),e),t.removeClass("fade show")},a._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},a._cleanTipClass=function(){var t=o.default(this.getTipElement()),e=t.attr("class").match(tt);null!==e&&e.length>0&&t.removeClass(e.join(""))},i._jQueryInterface=function(t){return this.each((function(){var e=o.default(this).data("bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new i(this,n),o.default(this).data("bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},l(i,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return et}},{key:"NAME",get:function(){return G}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return it}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return nt}}]),i}(J);o.default.fn[G]=ot._jQueryInterface,o.default.fn[G].Constructor=ot,o.default.fn[G].noConflict=function(){return o.default.fn[G]=Z,ot._jQueryInterface};var at="scrollspy",st=o.default.fn[at],lt={offset:10,method:"auto",target:""},rt={offset:"number",method:"string",target:"(string|element)"},ut=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,o.default(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process()}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,i="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var e,a=d.getSelectorFromElement(t);if(a&&(e=document.querySelector(a)),e){var s=e.getBoundingClientRect();if(s.width||s.height)return[o.default(e)[n]().top+i,a]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){o.default.removeData(this._element,"bs.scrollspy"),o.default(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=r({},lt,"object"==typeof t&&t?t:{})).target&&d.isElement(t.target)){var e=o.default(t.target).attr("id");e||(e=d.getUID(at),o.default(t.target).attr("id",e)),t.target="#"+e}return d.typeCheckConfig(at,t,rt),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},e._activate=function(t){this._activeTarget=t,this._clear();var e=this._selector.split(",").map((function(e){return e+'[data-target="'+t+'"],'+e+'[href="'+t+'"]'})),n=o.default([].slice.call(document.querySelectorAll(e.join(","))));n.hasClass("dropdown-item")?(n.closest(".dropdown").find(".dropdown-toggle").addClass("active"),n.addClass("active")):(n.addClass("active"),n.parents(".nav, .list-group").prev(".nav-link, .list-group-item").addClass("active"),n.parents(".nav, .list-group").prev(".nav-item").children(".nav-link").addClass("active")),o.default(this._scrollElement).trigger("activate.bs.scrollspy",{relatedTarget:t})},e._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter((function(t){return t.classList.contains("active")})).forEach((function(t){return t.classList.remove("active")}))},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this).data("bs.scrollspy");if(n||(n=new t(this,"object"==typeof e&&e),o.default(this).data("bs.scrollspy",n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return lt}}]),t}();o.default(window).on("load.bs.scrollspy.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-spy="scroll"]')),e=t.length;e--;){var n=o.default(t[e]);ut._jQueryInterface.call(n,n.data())}})),o.default.fn[at]=ut._jQueryInterface,o.default.fn[at].Constructor=ut,o.default.fn[at].noConflict=function(){return o.default.fn[at]=st,ut._jQueryInterface};var dt=o.default.fn.tab,ft=function(){function t(t){this._element=t}var e=t.prototype;return e.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&o.default(this._element).hasClass("active")||o.default(this._element).hasClass("disabled"))){var e,n,i=o.default(this._element).closest(".nav, .list-group")[0],a=d.getSelectorFromElement(this._element);if(i){var s="UL"===i.nodeName||"OL"===i.nodeName?"> li > .active":".active";n=(n=o.default.makeArray(o.default(i).find(s)))[n.length-1]}var l=o.default.Event("hide.bs.tab",{relatedTarget:this._element}),r=o.default.Event("show.bs.tab",{relatedTarget:n});if(n&&o.default(n).trigger(l),o.default(this._element).trigger(r),!r.isDefaultPrevented()&&!l.isDefaultPrevented()){a&&(e=document.querySelector(a)),this._activate(this._element,i);var u=function(){var e=o.default.Event("hidden.bs.tab",{relatedTarget:t._element}),i=o.default.Event("shown.bs.tab",{relatedTarget:n});o.default(n).trigger(e),o.default(t._element).trigger(i)};e?this._activate(e,e.parentNode,u):u()}}},e.dispose=function(){o.default.removeData(this._element,"bs.tab"),this._element=null},e._activate=function(t,e,n){var i=this,a=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?o.default(e).children(".active"):o.default(e).find("> li > .active"))[0],s=n&&a&&o.default(a).hasClass("fade"),l=function(){return i._transitionComplete(t,a,n)};if(a&&s){var r=d.getTransitionDurationFromElement(a);o.default(a).removeClass("show").one(d.TRANSITION_END,l).emulateTransitionEnd(r)}else l()},e._transitionComplete=function(t,e,n){if(e){o.default(e).removeClass("active");var i=o.default(e.parentNode).find("> .dropdown-menu .active")[0];i&&o.default(i).removeClass("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(o.default(t).addClass("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),d.reflow(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&o.default(t.parentNode).hasClass("dropdown-menu")){var a=o.default(t).closest(".dropdown")[0];if(a){var s=[].slice.call(a.querySelectorAll(".dropdown-toggle"));o.default(s).addClass("active")}t.setAttribute("aria-expanded",!0)}n&&n()},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.tab");if(i||(i=new t(this),n.data("bs.tab",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),ft._jQueryInterface.call(o.default(this),"show")})),o.default.fn.tab=ft._jQueryInterface,o.default.fn.tab.Constructor=ft,o.default.fn.tab.noConflict=function(){return o.default.fn.tab=dt,ft._jQueryInterface};var ct=o.default.fn.toast,ht={animation:"boolean",autohide:"boolean",delay:"number"},gt={animation:!0,autohide:!0,delay:500},mt=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var e=t.prototype;return e.show=function(){var t=this,e=o.default.Event("show.bs.toast");if(o.default(this._element).trigger(e),!e.isDefaultPrevented()){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var n=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),o.default(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),d.reflow(this._element),this._element.classList.add("showing"),this._config.animation){var i=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,n).emulateTransitionEnd(i)}else n()}},e.hide=function(){if(this._element.classList.contains("show")){var t=o.default.Event("hide.bs.toast");o.default(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},e.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),o.default(this._element).off("click.dismiss.bs.toast"),o.default.removeData(this._element,"bs.toast"),this._element=null,this._config=null},e._getConfig=function(t){return t=r({},gt,o.default(this._element).data(),"object"==typeof t&&t?t:{}),d.typeCheckConfig("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;o.default(this._element).on("click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},e._close=function(){var t=this,e=function(){t._element.classList.add("hide"),o.default(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},e._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.toast");if(i||(i=new t(this,"object"==typeof e&&e),n.data("bs.toast",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e](this)}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"DefaultType",get:function(){return ht}},{key:"Default",get:function(){return gt}}]),t}();o.default.fn.toast=mt._jQueryInterface,o.default.fn.toast.Constructor=mt,o.default.fn.toast.noConflict=function(){return o.default.fn.toast=ct,mt._jQueryInterface},t.Alert=h,t.Button=m,t.Carousel=w,t.Collapse=D,t.Dropdown=x,t.Modal=q,t.Popover=ot,t.Scrollspy=ut,t.Tab=ft,t.Toast=mt,t.Tooltip=J,t.Util=d,Object.defineProperty(t,"__esModule",{value:!0})})); +//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file diff --git a/src/main/resources/static/js/echarts.min.js b/src/main/resources/static/js/echarts.min.js new file mode 100644 index 0000000..d340686 --- /dev/null +++ b/src/main/resources/static/js/echarts.min.js @@ -0,0 +1,20 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you 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. +*/ +(function(T,Ma){"object"===typeof exports&&"undefined"!==typeof module?Ma(exports):"function"===typeof define&&define.amd?define(["exports"],Ma):(T="undefined"!==typeof globalThis?globalThis:T||self,Ma(T.echarts={}))})(this,function(T){var Ma,Nh,Oh;function x(b,a){function c(){this.constructor=b}qk(b,a);b.prototype=null===a?Object.create(a):(c.prototype=a.prototype,new c)}function Pp(){for(var b=0,a=0,c=arguments.length;a<c;a++)b+=arguments[a].length;for(var b=Array(b),d=0,a=0;a<c;a++)for(var e=arguments[a],f=0,g=e.length;f<g;f++,d++)b[d]=e[f];return b}function cA(b,a){var c=a.browser,d=b.match(/Firefox\/([\d.]+)/),e=b.match(/MSIE\s([\d.]+)/)||b.match(/Trident\/.+?rv:(([\d.]+))/),f=b.match(/Edge?\/([\d.]+)/),g=/micromessenger/i.test(b);d&&(c.firefox=!0,c.version=d[1]);e&&(c.ie=!0,c.version=e[1]);f&&(c.edge=!0,c.version=f[1],c.newEdge=18<+f[1].split(".")[0]);g&&(c.weChat=!0);a.canvasSupported=!!document.createElement("canvas").getContext;a.svgSupported="undefined"!==typeof SVGRect;a.touchEventsSupported="ontouchstart"in window&&!c.ie&&!c.edge;a.pointerEventsSupported="onpointerdown"in window&&(c.edge||c.ie&&11<=+c.version);a.domSupported="undefined"!==typeof document}function yb(){for(var b=[],a=0;a<arguments.length;a++)b[a]=arguments[a];"undefined"!==typeof console&&console.error.apply(console,b)}function J(b){if(null==b||"object"!==typeof b)return b;var a=b,c=Fe.call(b);if("[object Array]"===c){if(!b[Cd])for(var a=[],c=0,d=b.length;c<d;c++)a[c]=J(b[c])}else if(Qp[c]){if(!b[Cd])if(a=b.constructor,a.from)a=a.from(b);else for(a=new a(b.length),c=0,d=b.length;c<d;c++)a[c]=J(b[c])}else if(!Rp[c]&&!b[Cd]&&!Dd(b))for(d in a={},b)b.hasOwnProperty(d)&&(a[d]=J(b[d]));return a}function U(b,a,c){if(!N(a)||!N(b))return c?J(a):b;for(var d in a)if(a.hasOwnProperty(d)){var e=b[d],f=a[d];!N(f)||!N(e)||A(f)||A(e)||Dd(f)||Dd(e)||rk(f)||rk(e)||f[Cd]||e[Cd]?!c&&d in b||(b[d]=J(a[d])):U(e,f,c)}return b}function Ph(b,a){for(var c=b[0],d=1,e=b.length;d<e;d++)c=U(c,b[d],a);return c}function F(b,a){if(Object.assign)Object.assign(b,a);else for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function K(b,a,c){for(var d=ia(a),e=0;e<d.length;e++){var f=d[e];if(c?null!=a[f]:null==b[f])b[f]=a[f]}return b}function ba(b,a){if(b){if(b.indexOf)return b.indexOf(a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c}return-1}function Qh(b,a){function c(){}var d=b.prototype;c.prototype=a.prototype;b.prototype=new c;for(var e in d)d.hasOwnProperty(e)&&(b.prototype[e]=d[e]);b.prototype.constructor=b;b.superClass=a}function wa(b,a,c){b="prototype"in b?b.prototype:b;a="prototype"in a?a.prototype:a;if(Object.getOwnPropertyNames)for(var d=Object.getOwnPropertyNames(a),e=0;e<d.length;e++){var f=d[e];"constructor"!==f&&(c?null!=a[f]:null==b[f])&&(b[f]=a[f])}else K(b,a,c)}function Xa(b){return b&&"string"!==typeof b?"number"===typeof b.length:!1}function r(b,a,c){if(b&&a)if(b.forEach&&b.forEach===dA)b.forEach(a,c);else if(b.length===+b.length)for(var d=0,e=b.length;d<e;d++)a.call(c,b[d],d,b);else for(d in b)b.hasOwnProperty(d)&&a.call(c,b[d],d,b)}function C(b,a,c){if(!b)return[];if(!a)return Nf(b);if(b.map&&b.map===eA)return b.map(a,c);for(var d=[],e=0,f=b.length;e<f;e++)d.push(a.call(c,b[e],e,b));return d}function Ed(b,a,c,d){if(b&&a){for(var e=0,f=b.length;e<f;e++)c=a.call(d,c,b[e],e,b);return c}}function ta(b,a,c){if(!b)return[];if(!a)return Nf(b);if(b.filter&&b.filter===fA)return b.filter(a,c);for(var d=[],e=0,f=b.length;e<f;e++)a.call(c,b[e],e,b)&&d.push(b[e]);return d}function Sp(b,a,c){if(b&&a)for(var d=0,e=b.length;d<e;d++)if(a.call(c,b[d],d,b))return b[d]}function ia(b){if(!b)return[];if(Object.keys)return Object.keys(b);var a=[],c;for(c in b)b.hasOwnProperty(c)&&a.push(c);return a}function gA(b,a){for(var c=[],d=2;d<arguments.length;d++)c[d-2]=arguments[d];return function(){return b.apply(a,c.concat(sk.call(arguments)))}}function P(b){for(var a=[],c=1;c<arguments.length;c++)a[c-1]=arguments[c];return function(){return b.apply(this,a.concat(sk.call(arguments)))}}function A(b){return Array.isArray?Array.isArray(b):"[object Array]"===Fe.call(b)}function fa(b){return"function"===typeof b}function da(b){return"string"===typeof b}function Of(b){return"[object String]"===Fe.call(b)}function Rh(b){return"number"===typeof b}function N(b){var a=typeof b;return"function"===a||!!b&&"object"===a}function rk(b){return!!Rp[Fe.call(b)]}function db(b){return!!Qp[Fe.call(b)]}function Dd(b){return"object"===typeof b&&"number"===typeof b.nodeType&&"object"===typeof b.ownerDocument}function Tp(b){return null!=b.colorStops}function Up(b){return null!=b.image}function tk(b){return"[object RegExp]"===Fe.call(b)}function Nc(b){return b!==b}function Ba(){for(var b=[],a=0;a<arguments.length;a++)b[a]=arguments[a];for(var a=0,c=b.length;a<c;a++)if(null!=b[a])return b[a]}function ka(b,a){return null!=b?b:a}function zb(b,a,c){return null!=b?b:null!=a?a:c}function Nf(b){for(var a=[],c=1;c<arguments.length;c++)a[c-1]=arguments[c];return sk.apply(b,a)}function Sh(b){if("number"===typeof b)return[b,b,b,b];var a=b.length;return 2===a?[b[0],b[1],b[0],b[1]]:3===a?[b[0],b[1],b[2],b[1]]:b}function O(b,a){if(!b)throw Error(a);}function Va(b){return null==b?null:"function"===typeof b.trim?b.trim():b.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}function Ge(b){b[Cd]=!0}function R(b){return new Vp(b)}function uk(b,a){for(var c=new b.constructor(b.length+a.length),d=0;d<b.length;d++)c[d]=b[d];for(var e=b.length,d=0;d<a.length;d++)c[d+e]=a[d];return c}function He(b,a){var c;Object.create?c=Object.create(b):(c=function(){},c.prototype=b,c=new c);a&&F(c,a);return c}function hc(){}function Oc(b,a){null==b&&(b=0);null==a&&(a=0);return[b,a]}function Na(b,a){b[0]=a[0];b[1]=a[1];return b}function ic(b){return[b[0],b[1]]}function Wp(b,a,c){b[0]=a;b[1]=c;return b}function vk(b,a,c){b[0]=a[0]+c[0];b[1]=a[1]+c[1];return b}function Th(b,a,c,d){b[0]=a[0]+c[0]*d;b[1]=a[1]+c[1]*d;return b}function Pc(b,a,c){b[0]=a[0]-c[0];b[1]=a[1]-c[1];return b}function Pf(b){return Math.sqrt(wk(b))}function wk(b){return b[0]*b[0]+b[1]*b[1]}function Uh(b,a,c){b[0]=a[0]*c;b[1]=a[1]*c;return b}function Ie(b,a){var c=Pf(a);0===c?(b[0]=0,b[1]=0):(b[0]=a[0]/c,b[1]=a[1]/c);return b}function Qf(b,a){return Math.sqrt((b[0]-a[0])*(b[0]-a[0])+(b[1]-a[1])*(b[1]-a[1]))}function Xp(b,a){return(b[0]-a[0])*(b[0]-a[0])+(b[1]-a[1])*(b[1]-a[1])}function Rf(b,a,c,d){b[0]=a[0]+d*(c[0]-a[0]);b[1]=a[1]+d*(c[1]-a[1]);return b}function Qa(b,a,c){var d=a[0];a=a[1];b[0]=c[0]*d+c[2]*a+c[4];b[1]=c[1]*d+c[3]*a+c[5];return b}function Qc(b,a,c){b[0]=Math.min(a[0],c[0]);b[1]=Math.min(a[1],c[1]);return b}function Rc(b,a,c){b[0]=Math.max(a[0],c[0]);b[1]=Math.max(a[1],c[1]);return b}function xk(b,a,c,d,e,f){var g=d+"-"+e,h=b.length;if(f.hasOwnProperty(g))return f[g];if(1===a)return b[c][Math.round(Math.log((1<<h)-1&~e)/hA)];for(var k=d|1<<c,l=c+1;d&1<<l;)l++;for(var m=d=0,n=0;m<h;m++){var p=1<<m;p&e||(d+=(n%2?-1:1)*b[c][m]*xk(b,a-1,l,k,e|p,f),n++)}return f[g]=d}function Yp(b,a){var c=[[b[0],b[1],1,0,0,0,-a[0]*b[0],-a[0]*b[1]],[0,0,0,b[0],b[1],1,-a[1]*b[0],-a[1]*b[1]],[b[2],b[3],1,0,0,0,-a[2]*b[2],-a[2]*b[3]],[0,0,0,b[2],b[3],1,-a[3]*b[2],-a[3]*b[3]],[b[4],b[5],1,0,0,0,-a[4]*b[4],-a[4]*b[5]],[0,0,0,b[4],b[5],1,-a[5]*b[4],-a[5]*b[5]],[b[6],b[7],1,0,0,0,-a[6]*b[6],-a[6]*b[7]],[0,0,0,b[6],b[7],1,-a[7]*b[6],-a[7]*b[7]]],d={},e=xk(c,8,0,0,0,d);if(0!==e){for(var f=[],g=0;8>g;g++)for(var h=0;8>h;h++)null==f[h]&&(f[h]=0),f[h]+=((g+h)%2?-1:1)*xk(c,7,0===g?1:0,1<<g,1<<h,d)/e*a[g];return function(c,a,d){var b=a*f[6]+d*f[7]+1;c[0]=(a*f[0]+d*f[1]+f[2])/b;c[1]=(a*f[3]+d*f[4]+f[5])/b}}}function yk(b,a,c,d,e){if(a.getBoundingClientRect&&X.domSupported&&"CANVAS"!==a.nodeName.toUpperCase()){var f=a.___zrEVENTSAVED||(a.___zrEVENTSAVED={});var g=f.markers;if(!g)for(var g=f.markers=[],h=["left","right"],k=["top","bottom"],l=0;4>l;l++){var m=document.createElement("div"),n=l%2,p=(l>>1)%2;m.style.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",h[n]+":0",k[p]+":0",h[1-n]+":auto",k[1-p]+":auto",""].join("!important;");a.appendChild(m);g.push(m)}a=g;g=e?"invTrans":"trans";h=f[g];k=f.srcCoords;l=[];m=[];n=!0;for(p=0;4>p;p++){var q=a[p].getBoundingClientRect(),t=2*p,u=q.left,q=q.top;l.push(u,q);n=n&&k&&u===k[t]&&q===k[t+1];m.push(a[p].offsetLeft,a[p].offsetTop)}if(e=n&&h?h:(f.srcCoords=l,f[g]=e?Yp(m,l):Yp(l,m)))return e(b,c,d),!0}return!1}function zk(b,a,c,d){c=c||{};d||!X.canvasSupported?Zp(b,a,c):X.browser.firefox&&null!=a.layerX&&a.layerX!==a.offsetX?(c.zrX=a.layerX,c.zrY=a.layerY):null!=a.offsetX?(c.zrX=a.offsetX,c.zrY=a.offsetY):Zp(b,a,c);return c}function Zp(b,a,c){if(X.domSupported&&b.getBoundingClientRect){var d=a.clientX;a=a.clientY;if("CANVAS"===b.nodeName.toUpperCase()){b=b.getBoundingClientRect();c.zrX=d-b.left;c.zrY=a-b.top;return}if(yk(Ak,b,d,a)){c.zrX=Ak[0];c.zrY=Ak[1];return}}c.zrX=c.zrY=0}function Ab(b,a,c){a=a||window.event;if(null!=a.zrX)return a;var d=a.type;d&&0<=d.indexOf("touch")?(d="touchend"!==d?a.targetTouches[0]:a.changedTouches[0])&&zk(b,d,a,c):(zk(b,a,a,c),b=a.wheelDelta,b||(c=a.deltaX,d=a.deltaY,b=null==c||null==d?b:3*(0!==d?Math.abs(d):Math.abs(c))*(0<d?-1:0>d?1:0<c?-1:1)),a.zrDelta=b?b/120:-(a.detail||0)/3);b=a.button;null==a.which&&void 0!==b&&iA.test(a.type)&&(a.which=b&1?1:b&2?3:b&4?2:0);return a}function Bk(b,a,c,d){Ck?b.addEventListener(a,c,d):b.attachEvent("on"+a,c)}function $p(b){var a=b[1][0]-b[0][0];b=b[1][1]-b[0][1];return Math.sqrt(a*a+b*b)}function jA(){Bc(this.event)}function aq(b,a,c){b=b.painter;return 0>a||a>b.getWidth()||0>c||c>b.getHeight()}function nb(){return[1,0,0,1,0,0]}function Sc(b){b[0]=1;b[1]=0;b[2]=0;b[3]=1;b[4]=0;b[5]=0;return b}function Je(b,a){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];return b}function Fd(b,a,c){var d=a[1]*c[0]+a[3]*c[1],e=a[0]*c[2]+a[2]*c[3],f=a[1]*c[2]+a[3]*c[3],g=a[0]*c[4]+a[2]*c[5]+a[4],h=a[1]*c[4]+a[3]*c[5]+a[5];b[0]=a[0]*c[0]+a[2]*c[1];b[1]=d;b[2]=e;b[3]=f;b[4]=g;b[5]=h;return b}function Rb(b,a,c){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4]+c[0];b[5]=a[5]+c[1];return b}function Tc(b,a,c){var d=a[0],e=a[2],f=a[4],g=a[1],h=a[3];a=a[5];var k=Math.sin(c);c=Math.cos(c);b[0]=d*c+g*k;b[1]=-d*k+g*c;b[2]=e*c+h*k;b[3]=-e*k+c*h;b[4]=c*f+k*a;b[5]=c*a-k*f;return b}function Vh(b,a,c){var d=c[0];c=c[1];b[0]=a[0]*d;b[1]=a[1]*c;b[2]=a[2]*d;b[3]=a[3]*c;b[4]=a[4]*d;b[5]=a[5]*c;return b}function Ke(b,a){var c=a[0],d=a[2],e=a[4],f=a[1],g=a[3],h=a[5],k=c*g-f*d;if(!k)return null;k=1/k;b[0]=g*k;b[1]=-f*k;b[2]=-d*k;b[3]=c*k;b[4]=(d*h-g*e)*k;b[5]=(f*e-c*h)*k;return b}function bq(b){var a=nb();Je(a,b);return a}function Gd(b){return 5E-5<b||-5E-5>b}function Sb(b){b=Math.round(b);return 0>b?0:255<b?255:b}function Sf(b){return 0>b?0:1<b?1:b}function Dk(b){return b.length&&"%"===b.charAt(b.length-1)?Sb(parseFloat(b)/100*255):Sb(parseInt(b,10))}function Le(b){return b.length&&"%"===b.charAt(b.length-1)?Sf(parseFloat(b)/100):Sf(parseFloat(b))}function Ek(b,a,c){0>c?c+=1:1<c&&--c;return 1>6*c?b+(a-b)*c*6:1>2*c?a:2>3*c?b+(a-b)*(2/3-c)*6:b}function Uc(b,a,c){return b+(a-b)*c}function Bb(b,a,c,d,e){b[0]=a;b[1]=c;b[2]=d;b[3]=e;return b}function Fk(b,a){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b}function Me(b,a){Wh&&Fk(Wh,a);Wh=cq.put(b,Wh||a.slice())}function eb(b,a){if(b){a=a||[];var c=cq.get(b);if(c)return Fk(a,c);b+="";c=b.replace(/ /g,"").toLowerCase();if(c in dq)return Fk(a,dq[c]),Me(b,a),a;var d=c.length;if("#"===c.charAt(0)){if(4===d||5===d){var e=parseInt(c.slice(1,4),16);if(!(0<=e&&4095>=e)){Bb(a,0,0,0,1);return}Bb(a,(e&3840)>>4|(e&3840)>>8,e&240|(e&240)>>4,e&15|(e&15)<<4,5===d?parseInt(c.slice(4),16)/15:1);Me(b,a);return a}if(7===d||9===d){e=parseInt(c.slice(1,7),16);if(0<=e&&16777215>=e)return Bb(a,(e&16711680)>>16,(e&65280)>>8,e&255,9===d?parseInt(c.slice(7),16)/255:1),Me(b,a),a;Bb(a,0,0,0,1)}}else{var e=c.indexOf("("),f=c.indexOf(")");if(-1!==e&&f+1===d)switch(d=c.substr(0,e),c=c.substr(e+1,f-(e+1)).split(","),e=1,d){case "rgba":if(4!==c.length)return 3===c.length?Bb(a,+c[0],+c[1],+c[2],1):Bb(a,0,0,0,1);e=Le(c.pop());case "rgb":if(3!==c.length){Bb(a,0,0,0,1);return}Bb(a,Dk(c[0]),Dk(c[1]),Dk(c[2]),e);Me(b,a);return a;case "hsla":if(4!==c.length){Bb(a,0,0,0,1);return}c[3]=Le(c[3]);Gk(c,a);Me(b,a);return a;case "hsl":if(3!==c.length){Bb(a,0,0,0,1);return}Gk(c,a);Me(b,a);return a;default:return}Bb(a,0,0,0,1)}}}function Gk(b,a){var c=(parseFloat(b[0])%360+360)%360/360,d=Le(b[1]),e=Le(b[2]),d=.5>=e?e*(d+1):e+d-e*d,e=2*e-d;a=a||[];Bb(a,Sb(255*Ek(e,d,c+1/3)),Sb(255*Ek(e,d,c)),Sb(255*Ek(e,d,c-1/3)),1);4===b.length&&(a[3]=b[3]);return a}function Hk(b,a){var c=eb(b);if(c){for(var d=0;3>d;d++)c[d]=0>a?c[d]*(1-a)|0:(255-c[d])*a+c[d]|0,255<c[d]?c[d]=255:0>c[d]&&(c[d]=0);return Tb(c,4===c.length?"rgba":"rgb")}}function Ik(b){if(b=eb(b))return(16777216+(b[0]<<16)+(b[1]<<8)+ +b[2]).toString(16).slice(1)}function Tf(b,a,c){if(a&&a.length&&0<=b&&1>=b){c=c||[];var d=b*(a.length-1),e=Math.floor(d);b=a[e];a=a[Math.ceil(d)];d-=e;c[0]=Sb(Uc(b[0],a[0],d));c[1]=Sb(Uc(b[1],a[1],d));c[2]=Sb(Uc(b[2],a[2],d));c[3]=Sf(Uc(b[3],a[3],d));return c}}function eq(b,a,c){if(a&&a.length&&0<=b&&1>=b){b*=a.length-1;var d=Math.floor(b),e=Math.ceil(b),f=eb(a[d]);a=eb(a[e]);var g=b-d,f=Tb([Sb(Uc(f[0],a[0],g)),Sb(Uc(f[1],a[1],g)),Sb(Uc(f[2],a[2],g)),Sf(Uc(f[3],a[3],g))],"rgba");return c?{color:f,leftIndex:d,rightIndex:e,value:b}:f}}function Ne(b,a,c,d){var e=eb(b);if(b){if(e){b=e[0]/255;var f=e[1]/255,g=e[2]/255,h=Math.min(b,f,g),k=Math.max(b,f,g),l=k-h,m=(k+h)/2,n;if(0===l)h=n=0;else{var h=.5>m?l/(k+h):l/(2-k-h),p=((k-b)/6+l/2)/l,q=((k-f)/6+l/2)/l,l=((k-g)/6+l/2)/l;b===k?n=l-q:f===k?n=1/3+p-l:g===k&&(n=2/3+q-p);0>n&&(n+=1);1<n&&--n}n=[360*n,h,m];null!=e[3]&&n.push(e[3]);e=n}else e=void 0;null!=a&&(a=Math.round(a),e[0]=0>a?0:360<a?360:a);null!=c&&(e[1]=Le(c));null!=d&&(e[2]=Le(d));return Tb(Gk(e),"rgba")}}function Uf(b,a){var c=eb(b);if(c&&null!=a)return c[3]=Sf(a),Tb(c,"rgba")}function Tb(b,a){if(b&&b.length){var c=b[0]+","+b[1]+","+b[2];if("rgba"===a||"hsva"===a||"hsla"===a)c+=","+b[3];return a+"("+c+")"}}function Vf(b,a){var c=eb(b);return c?(.299*c[0]+.587*c[1]+.114*c[2])*c[3]/255+(1-c[3])*a:0}function Xh(b,a,c){return(a-b)*c+b}function fq(b,a,c,d){for(var e=a.length,f=0;f<e;f++)b[f]=Xh(a[f],c[f],d)}function Yh(b,a,c,d){for(var e=a.length,f=0;f<e;f++)b[f]=a[f]+c[f]*d;return b}function gq(b,a,c,d){for(var e=a.length,f=e&&a[0].length,g=0;g<e;g++){b[g]||(b[g]=[]);for(var h=0;h<f;h++)b[g][h]=a[g][h]+c[g][h]*d}return b}function kA(b,a,c){if(b.push&&a.push){var d=b.length,e=a.length;if(d!==e)if(d>e)b.length=e;else for(;d<e;d++)b.push(1===c?a[d]:Jk.call(a[d]));e=b[0]&&b[0].length;for(d=0;d<b.length;d++)if(1===c)isNaN(b[d])&&(b[d]=a[d]);else for(var f=0;f<e;f++)isNaN(b[d][f])&&(b[d][f]=a[d][f])}}function hq(b,a){var c=b.length;if(c!==a.length)return!1;for(var d=0;d<c;d++)if(b[d]!==a[d])return!1;return!0}function Zh(b,a,c,d,e,f,g){b=.5*(c-b);d=.5*(d-a);return(2*(a-c)+b+d)*g+(-3*(a-c)-2*b-d)*f+b*e+a}function Wf(b){if(Xa(b)){var a=b.length;if(Xa(b[0])){for(var c=[],d=0;d<a;d++)c.push(Jk.call(b[d]));return c}return Jk.call(b)}return b}function Xf(b){b[0]=Math.floor(b[0]);b[1]=Math.floor(b[1]);b[2]=Math.floor(b[2]);return"rgba("+b.join(",")+")"}function Ya(b,a){a=a||"12px sans-serif";var c=iq[a];c||(c=iq[a]=new Yf(500));var d=c.get(b);null==d&&(d=lA.measureText(b,a).width,c.put(b,d));return d}function jq(b,a,c,d){b=Ya(b,a);a=Ya("\u56fd",a);c=Zf(0,b,c);d=Oe(0,a,d);return new aa(c,d,b,a)}function $f(b,a,c,d){b=((b||"")+"").split("\n");if(1===b.length)return jq(b[0],a,c,d);for(var e=new aa(0,0,0,0),f=0;f<b.length;f++){var g=jq(b[f],a,c,d);0===f?e.copy(g):e.union(g)}return e}function Zf(b,a,c){"right"===c?b-=a:"center"===c&&(b-=a/2);return b}function Oe(b,a,c){"middle"===c?b-=a/2:"bottom"===c&&(b-=a);return b}function Ub(b,a){return"string"===typeof b?0<=b.lastIndexOf("%")?parseFloat(b)/100*a:parseFloat(b):b}function kq(b,a,c){var d=a.position||"inside";a=null!=a.distance?a.distance:5;var e=c.height,f=c.width,g=e/2,h=c.x,k=c.y,l="left",m="top";if(d instanceof Array)h+=Ub(d[0],c.width),k+=Ub(d[1],c.height),m=l=null;else switch(d){case "left":h-=a;k+=g;l="right";m="middle";break;case "right":h+=a+f;k+=g;m="middle";break;case "top":h+=f/2;k-=a;l="center";m="bottom";break;case "bottom":h+=f/2;k+=e+a;l="center";break;case "inside":h+=f/2;k+=g;l="center";m="middle";break;case "insideLeft":h+=a;k+=g;m="middle";break;case "insideRight":h+=f-a;k+=g;l="right";m="middle";break;case "insideTop":h+=f/2;k+=a;l="center";break;case "insideBottom":h+=f/2;k+=e-a;l="center";m="bottom";break;case "insideTopLeft":h+=a;k+=a;break;case "insideTopRight":h+=f-a;k+=a;l="right";break;case "insideBottomLeft":h+=a;k+=e-a;m="bottom";break;case "insideBottomRight":h+=f-a,k+=e-a,l="right",m="bottom"}b=b||{};b.x=h;b.y=k;b.align=l;b.verticalAlign=m;return b}function Kk(b,a,c,d,e){c=c||{};var f=[];lq(b,"",b,a,c,d,f,e);var g=f.length,h=!1,k=c.done,l=c.aborted;b=function(){h=!0;g--;0>=g&&(h?k&&k():l&&l())};a=function(){g--;0>=g&&(h?k&&k():l&&l())};g||k&&k();0<f.length&&c.during&&f[0].during(function(a,d){c.during(d)});for(d=0;d<f.length;d++)e=f[d],b&&e.done(b),a&&e.aborted(a),e.start(c.easing,c.force);return f}function Lk(b,a,c){for(var d=0;d<c;d++)b[d]=a[d]}function lq(b,a,c,d,e,f,g,h){for(var k=[],l=[],m=ia(d),n=e.duration,p=e.delay,q=e.additive,t=e.setToFinal,u=!N(f),w=0;w<m.length;w++){var v=m[w];null!=c[v]&&null!=d[v]&&(u||f[v])?N(d[v])&&!Xa(d[v])?a?h||(c[v]=d[v],b.updateDuringAnimation(a)):lq(b,v,c[v],d[v],e,f&&f[v],g,h):(k.push(v),l.push(v)):h||(c[v]=d[v],b.updateDuringAnimation(a),l.push(v))}f=k.length;if(0<f||e.force&&!g.length){w=b.animators;m=[];for(u=0;u<w.length;u++)w[u].targetName===a&&m.push(w[u]);if(!q&&m.length)for(u=0;u<m.length;u++)if(m[u].stopTracks(l)){var z=ba(w,m[u]);w.splice(z,1)}z=w=l=void 0;if(h)for(w={},t&&(l={}),u=0;u<f;u++)v=k[u],w[v]=c[v],t?l[v]=d[v]:c[v]=d[v];else if(t)for(z={},u=0;u<f;u++){v=k[u];z[v]=Wf(c[v]);var B=c,y=d,L=v;if(Xa(y[L]))if(Xa(B[L])||(B[L]=[]),db(y[L]))v=y[L].length,B[L].length!==v&&(B[L]=new y[L].constructor(v),Lk(B[L],y[L],v));else{v=y[L];B=B[L];y=v.length;if(Xa(v[0]))for(var L=v[0].length,D=0;D<y;D++)B[D]?Lk(B[D],v[D],L):B[D]=Array.prototype.slice.call(v[D]);else Lk(B,v,y);B.length=v.length}else B[L]=y[L]}c=new Mk(c,!1,q?m:null);c.targetName=a;e.scope&&(c.scope=e.scope);t&&l&&c.whenWithKeys(0,l,k);z&&c.whenWithKeys(0,z,k);c.whenWithKeys(null==n?500:n,h?w:d,k).delay(p||0);b.addAnimator(c,a);g.push(c)}}function mq(b,a,c,d){var e=a+1;if(e===c)return 1;if(0>d(b[e++],b[a])){for(;e<c&&0>d(b[e],b[e-1]);)e++;c=a;d=e;for(d--;c<d;){var f=b[c];b[c++]=b[d];b[d--]=f}}else for(;e<c&&0<=d(b[e],b[e-1]);)e++;return e-a}function nq(b,a,c,d,e){for(d===a&&d++;d<c;d++){for(var f=b[d],g=a,h=d,k;g<h;)k=g+h>>>1,0>e(f,b[k])?h=k:g=k+1;h=d-g;switch(h){case 3:b[g+3]=b[g+2];case 2:b[g+2]=b[g+1];case 1:b[g+1]=b[g];break;default:for(;0<h;)b[g+h]=b[g+h-1],h--}b[g]=f}}function Nk(b,a,c,d,e,f){var g=0,h=1;if(0<f(b,a[c+e])){for(d-=e;h<d&&0<f(b,a[c+e+h]);)g=h,h=(h<<1)+1,0>=h&&(h=d);h>d&&(h=d);g+=e;h+=e}else{for(d=e+1;h<d&&0>=f(b,a[c+e-h]);)g=h,h=(h<<1)+1,0>=h&&(h=d);h>d&&(h=d);d=g;g=e-h;h=e-d}for(g++;g<h;)e=g+(h-g>>>1),0<f(b,a[c+e])?g=e+1:h=e;return h}function Ok(b,a,c,d,e,f){var g=0,h=1;if(0>f(b,a[c+e])){for(d=e+1;h<d&&0>f(b,a[c+e-h]);)g=h,h=(h<<1)+1,0>=h&&(h=d);h>d&&(h=d);d=g;g=e-h;h=e-d}else{for(d-=e;h<d&&0<=f(b,a[c+e+h]);)g=h,h=(h<<1)+1,0>=h&&(h=d);h>d&&(h=d);g+=e;h+=e}for(g++;g<h;)e=g+(h-g>>>1),0>f(b,a[c+e])?h=e:g=e+1;return h}function mA(b,a){function c(c){var k=e[c],m=f[c],n=e[c+1],p=f[c+1];f[c]=m+p;c===g-3&&(e[c+1]=e[c+2],f[c+1]=f[c+2]);g--;c=Ok(b[n],b,k,m,0,a);k+=c;m-=c;if(0!==m&&(p=Nk(b[k+m-1],b,n,p,p-1,a),0!==p))if(m<=p){for(var q=k,k=m,m=p,p=0;p<k;p++)h[p]=b[q+p];c=0;b[q++]=b[n++];if(0===--m)for(p=0;p<k;p++)b[q+p]=h[c+p];else if(1===k){for(p=0;p<m;p++)b[q+p]=b[n+p];b[q+m]=h[c]}else{for(var t=d,u,w,v;;){w=u=0;v=!1;do if(0>a(b[n],h[c])){if(b[q++]=b[n++],w++,u=0,0===--m){v=!0;break}}else if(b[q++]=h[c++],u++,w=0,1===--k){v=!0;break}while((u|w)<t);if(v)break;do{u=Ok(b[n],h,c,k,0,a);if(0!==u){for(p=0;p<u;p++)b[q+p]=h[c+p];q+=u;c+=u;k-=u;if(1>=k){v=!0;break}}b[q++]=b[n++];if(0===--m){v=!0;break}w=Nk(h[c],b,n,m,0,a);if(0!==w){for(p=0;p<w;p++)b[q+p]=b[n+p];q+=w;n+=w;m-=w;if(0===m){v=!0;break}}b[q++]=h[c++];if(1===--k){v=!0;break}t--}while(7<=u||7<=w);if(v)break;0>t&&(t=0);t+=2}d=t;1>d&&(d=1);if(1===k){for(p=0;p<m;p++)b[q+p]=b[n+p];b[q+m]=h[c]}else{if(0===k)throw Error();for(p=0;p<k;p++)b[q+p]=h[c+p]}}}else{for(c=0;c<p;c++)h[c]=b[n+c];q=k+m-1;t=p-1;n=n+p-1;b[n--]=b[q--];if(0===--m)for(u=n-(p-1),c=0;c<p;c++)b[u+c]=h[c];else if(1===p){n-=m;w=n+1;u=q-m+1;for(c=m-1;0<=c;c--)b[w+c]=b[u+c];b[n]=h[t]}else{for(v=d;;){var z=0,B=0,y=!1;do if(0>a(h[t],b[q])){if(b[n--]=b[q--],z++,B=0,0===--m){y=!0;break}}else if(b[n--]=h[t--],B++,z=0,1===--p){y=!0;break}while((z|B)<v);if(y)break;do{z=m-Ok(h[t],b,k,m,m-1,a);if(0!==z){n-=z;q-=z;m-=z;w=n+1;u=q+1;for(c=z-1;0<=c;c--)b[w+c]=b[u+c];if(0===m){y=!0;break}}b[n--]=h[t--];if(1===--p){y=!0;break}B=p-Nk(b[q],h,0,p,p-1,a);if(0!==B){n-=B;t-=B;p-=B;w=n+1;u=t+1;for(c=0;c<B;c++)b[w+c]=h[u+c];if(1>=p){y=!0;break}}b[n--]=b[q--];if(0===--m){y=!0;break}v--}while(7<=z||7<=B);if(y)break;0>v&&(v=0);v+=2}d=v;1>d&&(d=1);if(1===p){n-=m;w=n+1;u=q-m+1;for(c=m-1;0<=c;c--)b[w+c]=b[u+c];b[n]=h[t]}else{if(0===p)throw Error();u=n-(p-1);for(c=0;c<p;c++)b[u+c]=h[c]}}}}var d=7,e,f,g=0,h=[];e=[];f=[];return{mergeRuns:function(){for(;1<g;){var a=g-2;if(1<=a&&f[a-1]<=f[a]+f[a+1]||2<=a&&f[a-2]<=f[a]+f[a-1])f[a-1]<f[a+1]&&a--;else if(f[a]>f[a+1])break;c(a)}},forceMergeRuns:function(){for(;1<g;){var a=g-2;0<a&&f[a-1]<f[a+1]&&a--;c(a)}},pushRun:function(c,a){e[g]=c;f[g]=a;g+=1}}}function Pk(b,a,c,d){c||(c=0);d||(d=b.length);var e=d-c;if(!(2>e)){var f;if(32>e)f=mq(b,c,d,a),nq(b,c,d,c+f,a);else{var g=mA(b,a),h;f=e;for(h=0;32<=f;)h|=f&1,f>>=1;h=f+h;do{f=mq(b,c,d,a);if(f<h){var k=e;k>h&&(k=h);nq(b,c,c+k,c+f,a);f=k}g.pushRun(c,f);g.mergeRuns();e-=f;c+=f}while(0!==e);g.forceMergeRuns()}}}function Qk(){oq||(oq=!0,console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))}function pq(b,a){return b.zlevel===a.zlevel?b.z===a.z?b.z2-a.z2:b.z-a.z:b.zlevel-a.zlevel}function Rk(b){b=b.pointerType;return"pen"===b||"touch"===b}function nA(b){b.touching=!0;null!=b.touchTimer&&(clearTimeout(b.touchTimer),b.touchTimer=null);b.touchTimer=setTimeout(function(){b.touching=!1;b.touchTimer=null},700)}function qq(b,a){for(var c=a,d=!1;c&&9!==c.nodeType&&!(d=c.domBelongToZr||c!==a&&c===b.painterRoot);)c=c.parentNode;return d}function oA(b,a){var c=a.domHandlers;X.pointerEventsSupported?r(Sk.pointer,function(d){$h(a,d,function(a){c[d].call(b,a)})}):(X.touchEventsSupported&&r(Sk.touch,function(d){$h(a,d,function(e){c[d].call(b,e);nA(a)})}),r(Sk.mouse,function(d){$h(a,d,function(e){e=e||window.event;a.touching||c[d].call(b,e)})}))}function pA(b,a){function c(c){$h(a,c,function(d){d=d||window.event;qq(b,d.target)||(d=Ab(b.dom,new qA(b,d),!0),a.domHandlers[c].call(b,d))},{capture:!0})}X.pointerEventsSupported?r(rq.pointer,c):X.touchEventsSupported||r(rq.mouse,c)}function $h(b,a,c,d){b.mounted[a]=c;b.listenerOpts[a]=d;Bk(b.domTarget,a,c,d)}function Tk(b){var a=b.mounted,c;for(c in a)if(a.hasOwnProperty(c)){var d=b.domTarget,e=c,f=a[c];Ck?d.removeEventListener(e,f,b.listenerOpts[c]):d.detachEvent("on"+e,f)}b.mounted={}}function rA(b){if(!b)return!1;if("string"===typeof b)return.4>Vf(b,1);if(b.colorStops){b=b.colorStops;for(var a=0,c=b.length,d=0;d<c;d++)a+=Vf(b[d].color,1);return.4>a/c}return!1}function Uk(b,a){var c=new sA(Vk++,b,a);return Hd[c.id]=c}function ga(b,a,c,d){var e=a[1]-a[0],f=c[1]-c[0];if(0===e)return 0===f?c[0]:(c[0]+c[1])/2;if(d)if(0<e){if(b<=a[0])return c[0];if(b>=a[1])return c[1]}else{if(b>=a[0])return c[0];if(b<=a[1])return c[1]}else{if(b===a[0])return c[0];if(b===a[1])return c[1]}return(b-a[0])/e*f+c[0]}function H(b,a){switch(b){case "center":case "middle":b="50%";break;case "left":case "top":b="0%";break;case "right":case "bottom":b="100%"}return"string"===typeof b?b.replace(/^\s+|\s+$/g,"").match(/%$/)?parseFloat(b)/100*a:parseFloat(b):null==b?NaN:+b}function sa(b,a,c){null==a&&(a=10);a=Math.min(Math.max(0,a),20);b=(+b).toFixed(a);return c?b:+b}function Cb(b){b.sort(function(a,c){return a-c});return b}function sq(b){b=+b;if(isNaN(b))return 0;for(var a=1,c=0;Math.round(b*a)/a!==b;)a*=10,c++;return c}function Db(b){b=b.toString();var a=b.indexOf("e");if(0<a)return b=+b.slice(a+1),0>b?-b:0;a=b.indexOf(".");return 0>a?0:b.length-1-a}function Wk(b,a){var c=Math.log,d=Math.LN10,e=Math.floor(c(b[1]-b[0])/d),c=Math.round(c(Math.abs(a[1]-a[0]))/d),e=Math.min(Math.max(-e+c,0),20);return isFinite(e)?e:20}function tq(b,a,c){if(!b[a])return 0;var d=Ed(b,function(c,a){return c+(isNaN(a)?0:a)},0);if(0===d)return 0;var e=Math.pow(10,c),f=C(b,function(c){return(isNaN(c)?0:c)/d*e*100});b=100*e;var g=C(f,function(c){return Math.floor(c)});c=Ed(g,function(c,a){return c+a},0);for(f=C(f,function(c,a){return c-g[a]});c<b;){for(var h=Number.NEGATIVE_INFINITY,k=null,l=0,m=f.length;l<m;++l)f[l]>h&&(h=f[l],k=l);++g[k];f[k]=0;++c}return g[a]/e}function Xk(b){var a=2*Math.PI;return(b%a+a)%a}function ag(b){return-1E-4<b&&1E-4>b}function qb(b){if(b instanceof Date)return b;if("string"===typeof b){b=tA.exec(b);if(!b)return new Date(NaN);if(b[8]){var a=+b[4]||0;"Z"!==b[8].toUpperCase()&&(a-=+b[8].slice(0,3));return new Date(Date.UTC(+b[1],+(b[2]||1)-1,+b[3]||1,a,+(b[5]||0),+b[6]||0,+b[7]||0))}return new Date(+b[1],+(b[2]||1)-1,+b[3]||1,+b[4]||0,+(b[5]||0),+b[6]||0,+b[7]||0)}return null==b?new Date(NaN):new Date(Math.round(b))}function uq(b){return Math.pow(10,Yk(b))}function Yk(b){if(0===b)return 0;var a=Math.floor(Math.log(b)/Math.LN10);10<=b/Math.pow(10,a)&&a++;return a}function Zk(b,a){var c=Yk(b),d=Math.pow(10,c),e=b/d;b=(a?1.5>e?1:2.5>e?2:4>e?3:7>e?5:10:1>e?1:2>e?2:3>e?3:5>e?5:10)*d;return-20<=c?+b.toFixed(0>c?-c:0):b}function ai(b,a){var c=(b.length-1)*a+1,d=Math.floor(c),e=+b[d-1];return(c-=d)?e+c*(b[d]-e):e}function $k(b){function a(c,d,b){return c.interval[b]<d.interval[b]||c.interval[b]===d.interval[b]&&(c.close[b]-d.close[b]===(b?-1:1)||!b&&a(c,d,1))}b.sort(function(c,d){return a(c,d,0)?-1:1});for(var c=-Infinity,d=1,e=0;e<b.length;){for(var f=b[e].interval,g=b[e].close,h=0;2>h;h++)f[h]<=c&&(f[h]=c,g[h]=h?1:1-d),c=f[h],d=g[h];f[0]===f[1]&&1!==g[0]*g[1]?b.splice(e,1):e++}return b}function jc(b){var a=parseFloat(b);return a==b&&(0!==a||"string"!==typeof b||0>=b.indexOf("x"))?a:NaN}function bi(b){return!isNaN(jc(b))}function vq(b,a){return 0===a?b:vq(a,b%a)}function wq(b,a){return null==b?a:null==a?b:b*a/vq(b,a)}function Pe(b){ci&&console.warn("[ECharts] "+b)}function Vb(b){!xq[b]&&ci&&(xq[b]=!0,console.warn("[ECharts] DEPRECATED: "+b))}function Sa(b,a,c){Vb((c?"["+c+"]":"")+(b+" is deprecated, use "+a+" instead."))}function uA(){for(var b=[],a=0;a<arguments.length;a++)b[a]=arguments[a];"undefined"!==typeof console&&console.log&&console.log.apply(console,b)}function gb(){for(var b=[],a=0;a<arguments.length;a++)b[a]=arguments[a];var a="",c=function(c){return void 0===c?"undefined":Infinity===c?"Infinity":-Infinity===c?"-Infinity":Nc(c)?"NaN":c instanceof Date?"Date("+c.toISOString()+")":fa(c)?"function () { ... }":tk(c)?c+"":null};return a=C(b,function(a){if(da(a))return a;var d=c(a);if(null!=d)return d;if("undefined"!==typeof JSON&&JSON.stringify)try{return JSON.stringify(a,function(a,d){var b=c(d);return null==b?d:b})}catch(f){return"?"}else return"?"}).join(" ")}function ja(b){throw Error(b);}function xa(b){return b instanceof Array?b:null==b?[]:[b]}function Id(b,a,c){if(b){b[a]=b[a]||{};b.emphasis=b.emphasis||{};b.emphasis[a]=b.emphasis[a]||{};for(var d=0,e=c.length;d<e;d++){var f=c[d];!b.emphasis[a].hasOwnProperty(f)&&b[a].hasOwnProperty(f)&&(b.emphasis[a][f]=b[a][f])}}}function bg(b){return!N(b)||A(b)||b instanceof Date?b:b.value}function yq(b,a,c){var d="normalMerge"===c,e="replaceMerge"===c,f="replaceAll"===c;b=b||[];a=(a||[]).slice();var g=R();r(a,function(c,d){N(c)?(null==c.id||zq(c.id)||Aq(c.id),null==c.name||zq(c.name)||Aq(c.name)):a[d]=null});c=vA(b,g,c);(d||e)&&wA(c,b,g,a);d&&xA(c,a);d||e?yA(c,a,e):f&&zA(c,a);AA(c);return c}function vA(b,a,c){var d=[];if("replaceAll"===c)return d;for(var e=0;e<b.length;e++){var f=b[e];f&&null!=f.id&&a.set(f.id,e);d.push({existing:"replaceMerge"===c||Qe(f)?null:f,newOption:null,keyInfo:null,brandNew:null})}return d}function wA(b,a,c,d){r(d,function(e,f){if(e&&null!=e.id){var g=cg(e.id),h=c.get(g);if(null!=h){var k=b[h];O(!k.newOption,'Duplicated option on id "'+g+'".');k.newOption=e;k.existing=a[h];d[f]=null}}})}function xA(b,a){r(a,function(c,d){if(c&&null!=c.name)for(var e=0;e<b.length;e++){var f=b[e].existing;if(!(b[e].newOption||!f||null!=f.id&&null!=c.id||Qe(c)||Qe(f))&&Bq("name",f,c)){b[e].newOption=c;a[d]=null;break}}})}function yA(b,a,c){r(a,function(a){if(a){for(var d,f=0;(d=b[f])&&(d.newOption||Qe(d.existing)||d.existing&&null!=a.id&&!Bq("id",a,d.existing));)f++;d?(d.newOption=a,d.brandNew=c):b.push({newOption:a,brandNew:c,existing:null,keyInfo:null})}})}function zA(b,a){r(a,function(c){b.push({newOption:c,brandNew:!0,existing:null,keyInfo:null})})}function AA(b){var a=R();r(b,function(c){var d=c.existing;d&&a.set(d.id,c)});r(b,function(c){var d=c.newOption;O(!d||null==d.id||!a.get(d.id)||a.get(d.id)===c,"id duplicates: "+(d&&d.id));d&&null!=d.id&&a.set(d.id,c);!c.keyInfo&&(c.keyInfo={})});r(b,function(c,d){var b=c.existing,f=c.newOption,g=c.keyInfo;if(N(f)){g.name=null!=f.name?cg(f.name):b?b.name:"series\x00"+d;if(b)g.id=cg(b.id);else if(null!=f.id)g.id=cg(f.id);else{b=0;do g.id="\x00"+g.name+"\x00"+b++;while(a.get(g.id))}a.set(g.id,c)}})}function Bq(b,a,c){a=Ea(a[b],null);b=Ea(c[b],null);return null!=a&&null!=b&&a===b}function cg(b){if(null==b)throw Error();return Ea(b,"")}function Ea(b,a){if(null==b)return a;var c=typeof b;return"string"===c?b:"number"===c||Of(b)?b+"":a}function Aq(b){Pe("`"+b+"` is invalid id or name. Must be a string or number.")}function zq(b){return Of(b)||bi(b)}function al(b){b=b.name;return!(!b||!b.indexOf("series\x00"))}function Qe(b){return b&&null!=b.id&&0===cg(b.id).indexOf("\x00_ec_\x00")}function BA(b,a,c){r(b,function(d){var b=d.newOption;if(N(b)){d.keyInfo.mainType=a;var f=d.keyInfo;d=d.existing;b=b.type?b.type:d?d.subType:c.determineSubType(a,b);f.subType=b}})}function CA(b,a){function c(c,a,d){for(var b=0,e=c.length;b<e;b++){var f=Ea(c[b].seriesId,null);if(null==f)break;for(var g=xa(c[b].dataIndex),h=d&&d[f],k=0,u=g.length;k<u;k++){var w=g[k];h&&h[w]?h[w]=null:(a[f]||(a[f]={}))[w]=1}}}function d(c,a){var b=[],e;for(e in c)if(c.hasOwnProperty(e)&&null!=c[e])if(a)b.push(+e);else{var f=d(c[e],!0);f.length&&b.push({seriesId:e,dataIndex:f})}return b}var e={},f={};c(b||[],e);c(a||[],f,e);return[d(e),d(f)]}function Jd(b,a){if(null!=a.dataIndexInside)return a.dataIndexInside;if(null!=a.dataIndex)return A(a.dataIndex)?C(a.dataIndex,function(c){return b.indexOfRawIndex(c)}):b.indexOfRawIndex(a.dataIndex);if(null!=a.name)return A(a.name)?C(a.name,function(c){return b.indexOfName(c)}):b.indexOfName(a.name)}function ma(){var b="__ec_inner_"+DA++;return function(a){return a[b]||(a[b]={})}}function Vc(b,a,c){if(da(a)){var d={};d[a+"Index"]=0;a=d}var e=R(),f={},g=!1;r(a,function(a,d){if("dataIndex"===d||"dataIndexInside"===d)f[d]=a;else{var b=d.match(/^(\w+)(Index|Id|Name)$/)||[],h=b[1],b=(b[2]||"").toLowerCase();!h||!b||c&&c.includeMainTypes&&0>ba(c.includeMainTypes,h)||(g=g||!!h,(e.get(h)||e.set(h,{}))[b]=a)}});var h=c?c.defaultMainType:null;!g&&h&&e.set(h,{});e.each(function(a,d){var e=di(b,d,a,{useDefault:h===d,enableAll:c&&null!=c.enableAll?c.enableAll:!0,enableNone:c&&null!=c.enableNone?c.enableNone:!0});f[d+"Models"]=e.models;f[d+"Model"]=e.models[0]});return f}function di(b,a,c,d){d=d||Da;var e=c.index,f=c.id,g=c.name;c={models:null,specified:null!=e||null!=f||null!=g};if(!c.specified)return e=void 0,c.models=d.useDefault&&(e=b.getComponent(a))?[e]:[],c;if("none"===e||!1===e)return O(d.enableNone,'`"none"` or `false` is not a valid value on index option.'),c.models=[],c;"all"===e&&(O(d.enableAll,'`"all"` is not a valid value on index option.'),e=f=g=null);c.models=b.queryComponents({mainType:a,index:e,id:f,name:g});return c}function Cq(b,a,c){b.setAttribute?b.setAttribute(a,c):b[a]=c}function bl(b,a){var c=R(),d=[];r(b,function(b){var e=a(b);(c.get(e)||(d.push(e),c.set(e,[]))).push(b)});return{keys:d,buckets:c}}function Dq(b,a,c,d,e){var f=null==a||"auto"===a;if(null==d)return d;if("number"===typeof d){var g=Xh(c||0,d,e);return sa(g,f?Math.max(Db(c||0),Db(d)):a)}if("string"===typeof d)return 1>e?c:d;for(var h=[],k=Math.max(c?c.length:0,d.length),l=0;l<k;++l)if("ordinal"===b.getDimensionInfo(l).type)h[l]=(1>e&&c?c:d)[l];else{var m=c&&c[l]?c[l]:0,n=d[l],g=(n-m)*e+m;h[l]=sa(g,f?Math.max(Db(m),Db(n)):a)}return h}function kc(b){var a={main:"",sub:""};b&&(b=b.split("."),a.main=b[0]||"",a.sub=b[1]||"");return a}function cl(b,a){b.$constructor=b;b.extend=function(c){function d(){for(var a=[],e=0;e<arguments.length;e++)a[e]=arguments[e];if(c.$constructor)c.$constructor.apply(this,arguments);else{if("function"===typeof b&&/^class\s/.test(Function.prototype.toString.call(b)))return He(d.prototype,new (b.bind.apply(b,Pp([void 0],a))));b.apply(this,arguments)}}r(a,function(a){c[a]||console.warn("Method `"+a+"` should be implemented"+(c.type?" in "+c.type:"")+".")});var b=this;d.___EC__EXTENDED_CLASS___=!0;F(d.prototype,c);d.extend=this.extend;d.superCall=EA;d.superApply=FA;Qh(d,this);d.superClass=b;return d}}function EA(b,a){for(var c=[],d=2;d<arguments.length;d++)c[d-2]=arguments[d];return this.superClass.prototype[a].apply(b,c)}function FA(b,a,c){return this.superClass.prototype[a].apply(b,c)}function ei(b){var a={};b.registerClass=function(c){var d=c.type||c.prototype.type;if(d)if(O(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(d),'componentType "'+d+'" illegal'),c.prototype.type=d,d=kc(d),!d.sub)a[d.main]&&console.warn(d.main+" exists."),a[d.main]=c;else if("___EC__COMPONENT__CONTAINER___"!==d.sub){var b=a[d.main];b&&b.___EC__COMPONENT__CONTAINER___||(b=a[d.main]={},b.___EC__COMPONENT__CONTAINER___=!0);b[d.sub]=c}return c};b.getClass=function(c,d,b){var e=a[c];e&&e.___EC__COMPONENT__CONTAINER___&&(e=d?e[d]:null);if(b&&!e)throw Error(d?"Component "+c+"."+(d||"")+" not exists. Load it first.":c+".type should be specified.");return e};b.getClassesByMainType=function(c){c=kc(c);var d=[];(c=a[c.main])&&c.___EC__COMPONENT__CONTAINER___?r(c,function(c,a){"___EC__COMPONENT__CONTAINER___"!==a&&d.push(c)}):d.push(c);return d};b.hasClass=function(c){c=kc(c);return!!a[c.main]};b.getAllClassMainTypes=function(){var c=[];r(a,function(a,b){c.push(b)});return c};b.hasSubTypes=function(c){c=kc(c);return(c=a[c.main])&&c.___EC__COMPONENT__CONTAINER___}}function Kd(b,a){for(var c=0;c<b.length;c++)b[c][1]||(b[c][1]=b[c][0]);a=a||!1;return function(c,e,f){for(var d={},h=0;h<b.length;h++){var k=b[h][1];e&&0<=ba(e,k)||f&&0>ba(f,k)||(k=c.getShallow(k,a),null!=k&&(d[b[h][0]]=k))}return d}}function dl(b,a,c,d,e){if(b){if("string"===typeof b){if(a&&a.__zrImageSrc===b||!c)return a;var f=el.get(b);c={hostEl:c,cb:d,cbPayload:e};f?(a=f.image)&&a.width&&a.height||f.pending.push(c):(a=new Image,a.onload=a.onerror=GA,el.put(b,a.__cachedImgObj={image:a,pending:[c]}),a.src=a.__zrImageSrc=b);return a}return b}return a}function GA(){var b=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var a=0;a<b.pending.length;a++){var c=b.pending[a],d=c.cb;d&&d(this,c.cbPayload);c.hostEl.dirty()}b.pending.length=0}function Eq(b,a,c,d,e){if(!a)return"";b=(b+"").split("\n");e=Fq(a,c,d,e);a=0;for(c=b.length;a<c;a++)b[a]=Gq(b[a],e);return b.join("\n")}function Fq(b,a,c,d){d=d||{};var e=F({},d);e.font=a;c=ka(c,"...");e.maxIterations=ka(d.maxIterations,2);var f=e.minChar=ka(d.minChar,0);e.cnCharWidth=Ya("\u56fd",a);var g=e.ascCharWidth=Ya("a",a);e.placeholder=ka(d.placeholder,"");d=b=Math.max(0,b-1);for(var h=0;h<f&&d>=g;h++)d-=g;a=Ya(c,a);a>d&&(c="",a=0);e.ellipsis=c;e.ellipsisWidth=a;e.contentWidth=b-a;e.containerWidth=b;return e}function Gq(b,a){var c=a.containerWidth,d=a.font,e=a.contentWidth;if(!c)return"";var f=Ya(b,d);if(f<=c)return b;for(c=0;;c++){if(f<=e||c>=a.maxIterations){b+=a.ellipsis;break}if(0===c){for(var f=b,g=e,h=a.ascCharWidth,k=a.cnCharWidth,l=0,m=0,n=f.length;m<n&&l<g;m++)var p=f.charCodeAt(m),l=l+(0<=p&&127>=p?h:k);f=m}else f=0<f?Math.floor(b.length*e/f):0;b=b.substr(0,f);f=Ya(b,d)}""===b&&(b=a.placeholder);return b}function fl(b,a,c,d,e){var f=""===a,g=e&&c.rich[e]||{};b=b.lines;c=g.font||c.font;var h=!1,k,l;if(d){var m=g.padding,m=m?m[1]+m[3]:0;if(null!=g.width&&"auto"!==g.width){var n;n=g.width;var p=d.width;n="string"===typeof n?0<=n.lastIndexOf("%")?parseFloat(n)/100*p:parseFloat(n):n;m=n+m;0<b.length&&m+d.accumWidth>d.width&&(k=a.split("\n"),h=!0);d.accumWidth=m}else k=Hq(a,c,d.width,d.breakAll,d.accumWidth),d.accumWidth=k.accumWidth+m,l=k.linesWidths,k=k.lines}else k=a.split("\n");for(d=0;d<k.length;d++)a=k[d],m=new HA,m.styleName=e,m.text=a,m.isLineHolder=!a&&!f,m.width="number"===typeof g.width?g.width:l?l[d]:Ya(a,c),d||h?b.push(new Iq([m])):(n=(b[b.length-1]||(b[0]=new Iq)).tokens,p=n.length,1===p&&n[0].isLineHolder?n[0]=m:(a||!p||f)&&n.push(m))}function Hq(b,a,c,d,e){for(var f=[],g=[],h="",k="",l=0,m=0,n=0;n<b.length;n++){var p=b.charAt(n);if("\n"===p)k&&(h+=k,m+=l),f.push(h),g.push(m),k=h="",m=l=0;else{var q=Ya(p,a),t;if(d)t=!1;else{t=p;var u=t.charCodeAt(0);t=33<=u&&255>=u?IA[t]?!0:!1:!0;t=!t}if(f.length?m+q>c:e+m+q>c)if(!m)t?(f.push(k),g.push(l),k=p,l=q):(f.push(p),g.push(q));else{if(h||k)t?(h||(h=k,k="",m=l=0),f.push(h),g.push(m-l),k+=p,l+=q,h="",m=l):(k&&(h+=k,m+=l,k="",l=0),f.push(h),g.push(m),h=p,m=q)}else m+=q,t?(k+=p,l+=q):(k&&(h+=k,k="",l=0),h+=p)}}f.length||h||(h=b,k="");k&&(h+=k);h&&(f.push(h),g.push(m));1===f.length&&(m+=e);return{accumWidth:m,lines:f,linesWidths:g}}function Oa(b,a,c,d,e){var f=1-e;return f*f*(f*b+3*e*a)+e*e*(e*d+3*f*c)}function Jq(b,a,c,d,e){var f=1-e;return 3*(((a-b)*f+2*(c-a)*e)*f+(d-c)*e*e)}function gl(b,a,c,d,e,f){d=d+3*(a-c)-b;c=3*(c-2*a+b);var g=3*(a-b),h=b-e;e=c*c-3*d*g;a=c*g-9*d*h;b=0;if(-1E-8<e&&1E-8>e&&-1E-8<a&&1E-8>a)-1E-8<c&&1E-8>c?f[0]=0:(e=-g/c,0<=e&&1>=e&&(f[b++]=e));else if(g=a*a-4*e*(g*g-3*c*h),-1E-8<g&&1E-8>g)a/=e,e=-c/d+a,a=-a/2,0<=e&&1>=e&&(f[b++]=e),0<=a&&1>=a&&(f[b++]=a);else if(0<g)h=Wc(g),g=e*c+1.5*d*(-a+h),e=e*c+1.5*d*(-a-h),g=0>g?-fi(-g,gi):fi(g,gi),e=0>e?-fi(-e,gi):fi(e,gi),e=(-c-(g+e))/(3*d),0<=e&&1>=e&&(f[b++]=e);else{a=(2*e*c-3*d*a)/(2*Wc(e*e*e));var g=Math.acos(a)/3,h=Wc(e),k=Math.cos(g);e=(-c-2*h*k)/(3*d);a=(-c+h*(k+Kq*Math.sin(g)))/(3*d);d=(-c+h*(k-Kq*Math.sin(g)))/(3*d);0<=e&&1>=e&&(f[b++]=e);0<=a&&1>=a&&(f[b++]=a);0<=d&&1>=d&&(f[b++]=d)}return b}function Lq(b,a,c,d,e){var f=6*c-12*a+6*b;c=9*a+3*d-3*b-9*c;a=3*a-3*b;b=0;if(-1E-8<c&&1E-8>c){if(1E-8<f||-1E-8>f)a=-a/f,0<=a&&1>=a&&(e[b++]=a)}else a=f*f-4*c*a,-1E-8<a&&1E-8>a?e[0]=-f/(2*c):0<a&&(d=Wc(a),a=(-f+d)/(2*c),f=(-f-d)/(2*c),0<=a&&1>=a&&(e[b++]=a),0<=f&&1>=f&&(e[b++]=f));return b}function Re(b,a,c,d,e,f){var g=(a-b)*e+b,h=(c-a)*e+a;c=(d-c)*e+c;a=(h-g)*e+g;h=(c-h)*e+h;e=(h-a)*e+a;f[0]=b;f[1]=g;f[2]=a;f[3]=e;f[4]=e;f[5]=h;f[6]=c;f[7]=d}function Mq(b,a,c,d,e,f,g,h,k,l,m){var n,p=.005,q=Infinity,t;lc[0]=k;lc[1]=l;for(k=0;1>k;k+=.05)Eb[0]=Oa(b,c,e,g,k),Eb[1]=Oa(a,d,f,h,k),l=Xc(lc,Eb),l<q&&(n=k,q=l);for(var q=Infinity,u=0;32>u&&!(1E-4>p);u++)t=n-p,k=n+p,Eb[0]=Oa(b,c,e,g,t),Eb[1]=Oa(a,d,f,h,t),l=Xc(Eb,lc),0<=t&&l<q?(n=t,q=l):(Se[0]=Oa(b,c,e,g,k),Se[1]=Oa(a,d,f,h,k),l=Xc(Se,lc),1>=k&&l<q?(n=k,q=l):p*=.5);m&&(m[0]=Oa(b,c,e,g,n),m[1]=Oa(a,d,f,h,n));return Wc(q)}function Za(b,a,c,d){var e=1-d;return e*(e*b+2*d*a)+d*d*c}function hi(b,a,c,d){return 2*((1-d)*(a-b)+d*(c-a))}function Nq(b,a,c){c=b+c-2*a;return 0===c?.5:(b-a)/c}function Yc(b,a,c,d,e){var f=(a-b)*d+b;a=(c-a)*d+a;d=(a-f)*d+f;e[0]=b;e[1]=f;e[2]=d;e[3]=d;e[4]=a;e[5]=c}function Oq(b,a,c,d,e,f,g,h,k){var l,m=.005,n=Infinity;lc[0]=g;lc[1]=h;for(h=0;1>h;h+=.05)Eb[0]=Za(b,c,e,h),Eb[1]=Za(a,d,f,h),g=Xc(lc,Eb),g<n&&(l=h,n=g);n=Infinity;for(h=0;32>h&&!(1E-4>m);h++){var p=l-m,q=l+m;Eb[0]=Za(b,c,e,p);Eb[1]=Za(a,d,f,p);g=Xc(Eb,lc);0<=p&&g<n?(l=p,n=g):(Se[0]=Za(b,c,e,q),Se[1]=Za(a,d,f,q),g=Xc(Se,lc),1>=q&&g<n?(l=q,n=g):m*=.5)}k&&(k[0]=Za(b,c,e,l),k[1]=Za(a,d,f,l));return Wc(n)}function hl(b,a,c){if(0!==b.length){for(var d=b[0],e=d[0],f=d[0],g=d[1],h=d[1],k=1;k<b.length;k++)d=b[k],e=$a(e,d[0]),f=Ta(f,d[0]),g=$a(g,d[1]),h=Ta(h,d[1]);a[0]=e;a[1]=g;c[0]=f;c[1]=h}}function Pq(b,a){var c=Math.round(b[0]/Ld*1E8)/1E8%2*Ld;0>c&&(c+=Zc);var d=b[1],d=d+(c-b[0]);!a&&d-c>=Zc?d=c+Zc:a&&c-d>=Zc?d=c-Zc:!a&&c>d?d=c+(Zc-Math.round((c-d)/Ld*1E8)/1E8%2*Ld):a&&c<d&&(d=c-(Zc-Math.round((d-c)/Ld*1E8)/1E8%2*Ld));b[0]=c;b[1]=d}function $c(b,a,c,d,e,f,g){if(0===e)return!1;var h;if(g>a+e&&g>d+e||g<a-e&&g<d-e||f>b+e&&f>c+e||f<b-e&&f<c-e)return!1;if(b!==c)h=(a-d)/(b-c);else return Math.abs(f-b)<=e/2;b=h*f-g+(b*d-c*a)/(b-c);return b*b/(h*h+1)<=e/2*e/2}function Qq(b,a,c,d,e,f,g,h,k){return 0===g||k>a+g&&k>d+g&&k>f+g||k<a-g&&k<d-g&&k<f-g||h>b+g&&h>c+g&&h>e+g||h<b-g&&h<c-g&&h<e-g?!1:Oq(b,a,c,d,e,f,h,k,null)<=g/2}function ad(b){b%=Rq;0>b&&(b+=Rq);return b}function Cc(b,a,c,d,e,f){if(f>a&&f>d||f<a&&f<d||d===a)return 0;var g=(f-a)/(d-a);f=d<a?1:-1;if(1===g||0===g)f=d<a?.5:-.5;b=g*(c-b)+b;return b===e?Infinity:b>e?f:0}function Sq(b,a,c,d,e){for(var f=b.data,g=b.len(),h=0,k=0,l=0,m=0,n=0,p,q,t=0;t<g;){var u=f[t++],w=1===t;u===bd.M&&1<t&&(c||(h+=Cc(k,l,m,n,d,e)));w&&(k=f[t],l=f[t+1],m=k,n=l);switch(u){case bd.M:m=f[t++];n=f[t++];k=m;l=n;break;case bd.L:if(c){if($c(k,l,f[t],f[t+1],a,d,e))return!0}else h+=Cc(k,l,f[t],f[t+1],d,e)||0;k=f[t++];l=f[t++];break;case bd.C:if(c){var v;var z=f[t++],B=f[t++],y=f[t++],L=f[t++],D=f[t],r=f[t+1];if(0===a)v=!1;else{var E=a;v=e>l+E&&e>B+E&&e>L+E&&e>r+E||e<l-E&&e<B-E&&e<L-E&&e<r-E||d>k+E&&d>z+E&&d>y+E&&d>D+E||d<k-E&&d<z-E&&d<y-E&&d<D-E?!1:Mq(k,l,z,B,y,L,D,r,d,e,null)<=E/2}if(v)return!0}else{var G=h,x;var mc=k,A=l,F=f[t++],C=f[t++],H=f[t++],I=f[t++],K=f[t],J=f[t+1],fb=d;if(e>A&&e>C&&e>I&&e>J||e<A&&e<C&&e<I&&e<J)x=0;else{var O=gl(A,C,I,J,e,hb);if(0===O)x=0;else{for(var M=0,N=-1,P=void 0,R=void 0,T=0;T<O;T++){var U=hb[T],S=0===U||1===U?.5:1;if(!(Oa(mc,F,H,K,U)<fb)){if(0>N){N=Lq(A,C,I,J,Fb);if(Fb[1]<Fb[0]&&1<N){var X=Fb[0];Fb[0]=Fb[1];Fb[1]=X}P=Oa(A,C,I,J,Fb[0]);1<N&&(R=Oa(A,C,I,J,Fb[1]))}M=2===N?U<Fb[0]?M+(P<A?S:-S):U<Fb[1]?M+(R<P?S:-S):M+(J<R?S:-S):U<Fb[0]?M+(P<A?S:-S):M+(J<P?S:-S)}}x=M}}h=G+(x||0)}k=f[t++];l=f[t++];break;case bd.Q:if(c){if(Qq(k,l,f[t++],f[t++],f[t],f[t+1],a,d,e))return!0}else{var aa=h,W;var ba=k,V=l,ca=f[t++],Y=f[t++],da=f[t],Z=f[t+1],ga=d;if(e>V&&e>Y&&e>Z||e<V&&e<Y&&e<Z)W=0;else{var ha,ea=hb,ja=V-2*Y+Z,fa=2*(Y-V),la=V-e,ka=0;if(-1E-8<ja&&1E-8>ja){if(1E-8<fa||-1E-8>fa){var ia=-la/fa;0<=ia&&1>=ia&&(ea[ka++]=ia)}}else{var ma=fa*fa-4*ja*la;if(-1E-8<ma&&1E-8>ma)ia=-fa/(2*ja),0<=ia&&1>=ia&&(ea[ka++]=ia);else if(0<ma){var oa=Wc(ma),ia=(-fa+oa)/(2*ja),ra=(-fa-oa)/(2*ja);0<=ia&&1>=ia&&(ea[ka++]=ia);0<=ra&&1>=ra&&(ea[ka++]=ra)}}ha=ka;if(0===ha)W=0;else{var pa=Nq(V,Y,Z);if(0<=pa&&1>=pa){for(var sa=0,va=Za(V,Y,Z,pa),qa=0;qa<ha;qa++){var na=0===hb[qa]||1===hb[qa]?.5:1,xa=Za(ba,ca,da,hb[qa]);xa<ga||(sa=hb[qa]<pa?sa+(va<V?na:-na):sa+(Z<va?na:-na))}W=sa}else na=0===hb[0]||1===hb[0]?.5:1,xa=Za(ba,ca,da,hb[0]),W=xa<ga?0:Z<V?na:-na}}h=aa+(W||0)}k=f[t++];l=f[t++];break;case bd.A:var ta=f[t++],za=f[t++],Ba=f[t++],ua=f[t++],wa=f[t++],Ca=f[t++],t=t+1,Ja=!!(1-f[t++]);p=Math.cos(wa)*Ba+ta;q=Math.sin(wa)*ua+za;w?(m=p,n=q):h+=Cc(k,l,p,q,d,e);var Ka=(d-ta)*ua/Ba+ta;if(c){var Da;var Aa=wa,ya=wa+Ca,Ea=Ka,Ga=e;if(0===a)Da=!1;else{var Pa=a,Ea=Ea-ta,Ga=Ga-za,Qa=Math.sqrt(Ea*Ea+Ga*Ga);if(Qa-Pa>ua||Qa+Pa<ua)Da=!1;else if(1E-4>Math.abs(Aa-ya)%dg)Da=!0;else{if(Ja)var Sa=Aa,Aa=ad(ya),ya=ad(Sa);else Aa=ad(Aa),ya=ad(ya);Aa>ya&&(ya+=dg);var Ha=Math.atan2(Ga,Ea);0>Ha&&(Ha+=dg);Da=Ha>=Aa&&Ha<=ya||Ha+dg>=Aa&&Ha+dg<=ya}}if(Da)return!0}else{var Ua=h,La;var Ra=ta,Fa=wa,Ma=wa+Ca,Xa=Ja,Va=Ka,Na=e,Na=Na-za;if(Na>ua||Na<-ua)La=0;else{var Ya=Math.sqrt(ua*ua-Na*Na);hb[0]=-Ya;hb[1]=Ya;var $a=Math.abs(Fa-Ma);if(1E-4>$a)La=0;else if($a>=Te-1E-4){var Ta;La=Va>=hb[0]+Ra&&Va<=hb[1]+Ra?Xa?1:-1:0}else{if(Fa>Ma)var cb=Fa,Fa=Ma,Ma=cb;0>Fa&&(Fa+=Te,Ma+=Te);for(var ab=0,Wa=0;2>Wa;Wa++){var bb=hb[Wa];if(bb+Ra>Va){var Ia=Math.atan2(Na,bb);Ta=Xa?1:-1;0>Ia&&(Ia=Te+Ia);if(Ia>=Fa&&Ia<=Ma||Ia+Te>=Fa&&Ia+Te<=Ma)Ia>Math.PI/2&&Ia<1.5*Math.PI&&(Ta=-Ta),ab+=Ta}}La=ab}}h=Ua+La}k=Math.cos(wa+Ca)*Ba+ta;l=Math.sin(wa+Ca)*ua+za;break;case bd.R:var m=k=f[t++],n=l=f[t++],db=f[t++],eb=f[t++];p=m+db;q=n+eb;if(c){if($c(m,n,p,n,a,d,e)||$c(p,n,p,q,a,d,e)||$c(p,q,m,q,a,d,e)||$c(m,q,m,n,a,d,e))return!0}else h+=Cc(p,n,p,q,d,e),h+=Cc(m,q,m,n,d,e);break;case bd.Z:if(c){if($c(k,l,m,n,a,d,e))return!0}else h+=Cc(k,l,m,n,d,e);k=m;l=n}}c||1E-4>Math.abs(l-n)||(h+=Cc(k,l,m,n,d,e)||0);return 0!==h}function Tq(b,a,c){if(a){var d=a.x1,e=a.x2,f=a.y1;a=a.y2;b.x1=d;b.x2=e;b.y1=f;b.y2=a;c=c&&c.lineWidth;if(!c)return b;Ue(2*d)===Ue(2*e)&&(b.x1=b.x2=Md(d,c,!0));Ue(2*f)===Ue(2*a)&&(b.y1=b.y2=Md(f,c,!0));return b}}function Uq(b,a,c){if(a){var d=a.x,e=a.y,f=a.width;a=a.height;b.x=d;b.y=e;b.width=f;b.height=a;c=c&&c.lineWidth;if(!c)return b;b.x=Md(d,c,!0);b.y=Md(e,c,!0);b.width=Math.max(Md(d+f,c,!1)-b.x,0===f?0:1);b.height=Math.max(Md(e+a,c,!1)-b.y,0===a?0:1);return b}}function Md(b,a,c){if(!a)return b;b=Ue(2*b);return 0===(b+Ue(a))%2?b/2:(b+(c?1:-1))/2}function Vq(b){if(b){b.font=ha.makeFont(b);var a=b.align;"middle"===a&&(a="center");b.align=null==a||JA[a]?a:"left";a=b.verticalAlign;"center"===a&&(a="middle");b.verticalAlign=null==a||KA[a]?a:"top";b.padding&&(b.padding=Sh(b.padding))}}function il(b,a){return null==b||0>=a||"transparent"===b||"none"===b?null:b.image||b.colorStops?"#000":b}function Wq(b,a,c){return"right"===a?b-c[1]:"center"===a?b+c[3]/2-c[1]/2:b+c[3]}function Xq(b){b=b.text;null!=b&&(b+="");return b}function jl(b){return!!(b.backgroundColor||b.borderWidth&&b.borderColor)}function Ve(b){return null!=b&&"none"!==b}function Yq(b){if("string"!==typeof b)return b;var a=Zq.get(b);a||(a=Hk(b,-.1),Zq.put(b,a));return a}function ii(b,a,c){if(b.onHoverStateChange&&(b.hoverState||0)!==c)b.onHoverStateChange(a);b.hoverState=c}function $q(b){ii(b,"emphasis",2)}function ar(b){2===b.hoverState&&ii(b,"normal",0)}function kl(b){ii(b,"blur",1)}function ll(b){1===b.hoverState&&ii(b,"normal",0)}function br(b){b.selected=!0}function cr(b){b.selected=!1}function rb(b,a,c){a(b,c);b.isGroup&&b.traverse(function(d){a(d,c)})}function ml(b,a){switch(a){case "emphasis":b.hoverState=2;break;case "normal":b.hoverState=0;break;case "blur":b.hoverState=1;break;case "select":b.selected=!0}}function nl(b,a){var c=this.states[b];if(this.style){if("emphasis"===b){var d=a&&0<=ba(a,"select"),e=!1;if(this instanceof Y){var f=dr(this),g=d?f.selectFill||f.normalFill:f.normalFill,d=d?f.selectStroke||f.normalStroke:f.normalStroke;if(Ve(g)||Ve(d))c=c||{},f=c.style||{},!Ve(f.fill)&&Ve(g)?(e=!0,c=F({},c),f=F({},f),f.fill=Yq(g)):!Ve(f.stroke)&&Ve(d)&&(e||(c=F({},c),f=F({},f)),f.stroke=Yq(d)),c.style=f}c&&null==c.z2&&(e||(c=F({},c)),e=this.z2EmphasisLift,c.z2=this.z2+(null!=e?e:10));return c}if("blur"===b){e=0<=ba(this.currentStates,b);g=this.style.opacity;if(e)d=null;else{for(var d=["opacity"],h={opacity:1},k=this.style,f={},l=0;l<d.length;l++){var m=d[l],n=k[m];f[m]=null==n?h&&h[m]:n}for(l=0;l<this.animators.length;l++)h=this.animators[l],h.__fromStateTransition&&0>h.__fromStateTransition.indexOf(b)&&"style"===h.targetName&&h.saveFinalToTarget(f,d);d=f}c=c||{};f=c.style||{};null==f.opacity&&(c=F({},c),f=F({opacity:e?g:.1*d.opacity},f),c.style=f);return c}"select"===b&&c&&null==c.z2&&(c=F({},c),e=this.z2SelectLift,c.z2=this.z2+(null!=e?e:9))}return c}function eg(b){b.stateProxy=nl;var a=b.getTextContent();b=b.getTextGuideLine();a&&(a.stateProxy=nl);b&&(b.stateProxy=nl)}function nc(b,a){b.__highByOuter|=1<<(a||0);rb(b,$q)}function oc(b,a){!(b.__highByOuter&=~(1<<(a||0)))&&rb(b,ar)}function LA(b){b.getModel().eachComponent(function(a,c){("series"===a?b.getViewOfSeriesModel(c):b.getViewOfComponentModel(c)).group.traverse(function(c){ll(c)})})}function ji(b,a,c,d,e){function f(c,a){for(var d=0;d<a.length;d++){var b=c.getItemGraphicEl(a[d]);b&&rb(b,ll)}}var g=d.getModel();c=c||"coordinateSystem";if(!e)LA(d);else if(null!=b&&a&&"none"!==a){var h=g.getSeriesByIndex(b),k=h.coordinateSystem;k&&k.master&&(k=k.master);var l=[];g.eachSeries(function(b){var e=h===b,g=b.coordinateSystem;g&&g.master&&(g=g.master);g=g&&k?g===k:e;if(!("series"===c&&!e||"coordinateSystem"===c&&!g||"series"===a&&e)){d.getViewOfSeriesModel(b).group.traverse(function(c){kl(c)});if(Xa(a))f(b.getData(),a);else if(N(a))for(e=ia(a),g=0;g<e.length;g++)f(b.getData(e[g]),a[e[g]]);l.push(b)}});g.eachComponent(function(c,a){if("series"!==c){var b=d.getViewOfComponentModel(a);b&&b.blurSeries&&b.blurSeries(l,g)}})}}function er(b){var a=b.getAllData();r(a,function(c){var a=c.type;c.data.eachItemGraphicEl(function(c,d){b.isSelected(d,a)?rb(c,br):rb(c,cr)})})}function MA(b){var a=[];b.eachSeries(function(c){var d=c.getAllData();r(d,function(d){d=d.type;var b=c.getSelectedDataIndices();0<b.length&&(b={dataIndex:b,seriesIndex:c.seriesIndex},null!=d&&(b.dataType=d),a.push(b))})});return a}function va(b,a,c){We(b,!0);rb(b,eg);ol(b,a,c)}function ol(b,a,c){b=S(b);null!=a?(b.focus=a,b.blurScope=c):b.focus&&(b.focus=null)}function Fa(b,a,c,d){c=c||"itemStyle";for(var e=0;e<fr.length;e++){var f=fr[e],g=a.getModel([f,c]);b.ensureState(f).style=d?d(g):g[NA[c]]()}}function We(b,a){var c=!1===a;b.highDownSilentOnTouch&&(b.__highDownSilentOnTouch=b.highDownSilentOnTouch);if(!c||b.__highDownDispatcher)b.__highByOuter=b.__highByOuter||0,b.__highDownDispatcher=!c}function ki(b){return!(!b||!b.__highDownDispatcher)}function OA(b){var a=gr[b];null==a&&32>=hr&&(a=gr[b]=hr++);return a}function pl(b){b=b.type;return"select"===b||"unselect"===b||"toggleSelect"===b}function ql(b){b=b.type;return"highlight"===b||"downplay"===b}function rl(b,a){return(b[0]*a[0]+b[1]*a[1])/(Math.sqrt(b[0]*b[0]+b[1]*b[1])*Math.sqrt(a[0]*a[0]+a[1]*a[1]))}function ir(b,a){return(b[0]*a[1]<b[1]*a[0]?-1:1)*Math.acos(rl(b,a))}function jr(b,a,c,d,e,f,g,h,k,l,m){k*=fg/180;var n=li(k)*(b-c)/2+mi(k)*(a-d)/2,p=-1*mi(k)*(b-c)/2+li(k)*(a-d)/2,q=n*n/(g*g)+p*p/(h*h);1<q&&(g*=sl(q),h*=sl(q));q=(e===f?-1:1)*sl((g*g*h*h-g*g*p*p-h*h*n*n)/(g*g*p*p+h*h*n*n))||0;e=q*g*p/h;q=q*-h*n/g;b=(b+c)/2+li(k)*e-mi(k)*q;a=(a+d)/2+mi(k)*e+li(k)*q;d=ir([1,0],[(n-e)/g,(p-q)/h]);c=[(n-e)/g,(p-q)/h];n=[(-1*n-e)/g,(-1*p-q)/h];p=ir(c,n);-1>=rl(c,n)&&(p=fg);1<=rl(c,n)&&(p=0);0>p&&(p=2*fg+Math.round(p/fg*1E6)/1E6%2*fg);m.addData(l,b,a,g,h,d,p,k,f)}function PA(b){var a=new pc;if(!b)return a;var c=0,d=0,e=c,f=d,g,h=pc.CMD;b=b.match(QA);if(!b)return a;for(var k=0;k<b.length;k++){for(var l=b[k],m=l.charAt(0),n=void 0,l=l.match(RA)||[],p=l.length,q=0;q<p;q++)l[q]=parseFloat(l[q]);for(q=0;q<p;){var t,u,w,v,z,B,y;switch(m){case "l":c+=l[q++];d+=l[q++];n=h.L;a.addData(n,c,d);break;case "L":c=l[q++];d=l[q++];n=h.L;a.addData(n,c,d);break;case "m":c+=l[q++];d+=l[q++];n=h.M;a.addData(n,c,d);e=c;f=d;m="l";break;case "M":c=l[q++];d=l[q++];n=h.M;a.addData(n,c,d);e=c;f=d;m="L";break;case "h":c+=l[q++];n=h.L;a.addData(n,c,d);break;case "H":c=l[q++];n=h.L;a.addData(n,c,d);break;case "v":d+=l[q++];n=h.L;a.addData(n,c,d);break;case "V":d=l[q++];n=h.L;a.addData(n,c,d);break;case "C":n=h.C;a.addData(n,l[q++],l[q++],l[q++],l[q++],l[q++],l[q++]);c=l[q-2];d=l[q-1];break;case "c":n=h.C;a.addData(n,l[q++]+c,l[q++]+d,l[q++]+c,l[q++]+d,l[q++]+c,l[q++]+d);c+=l[q-2];d+=l[q-1];break;case "S":t=c;u=d;n=a.len();B=a.data;g===h.C&&(t+=c-B[n-4],u+=d-B[n-3]);n=h.C;B=l[q++];y=l[q++];c=l[q++];d=l[q++];a.addData(n,t,u,B,y,c,d);break;case "s":t=c;u=d;n=a.len();B=a.data;g===h.C&&(t+=c-B[n-4],u+=d-B[n-3]);n=h.C;B=c+l[q++];y=d+l[q++];c+=l[q++];d+=l[q++];a.addData(n,t,u,B,y,c,d);break;case "Q":B=l[q++];y=l[q++];c=l[q++];d=l[q++];n=h.Q;a.addData(n,B,y,c,d);break;case "q":B=l[q++]+c;y=l[q++]+d;c+=l[q++];d+=l[q++];n=h.Q;a.addData(n,B,y,c,d);break;case "T":t=c;u=d;n=a.len();B=a.data;g===h.Q&&(t+=c-B[n-4],u+=d-B[n-3]);c=l[q++];d=l[q++];n=h.Q;a.addData(n,t,u,c,d);break;case "t":t=c;u=d;n=a.len();B=a.data;g===h.Q&&(t+=c-B[n-4],u+=d-B[n-3]);c+=l[q++];d+=l[q++];n=h.Q;a.addData(n,t,u,c,d);break;case "A":t=l[q++];u=l[q++];w=l[q++];v=l[q++];z=l[q++];B=c;y=d;c=l[q++];d=l[q++];n=h.A;jr(B,y,c,d,v,z,t,u,w,n,a);break;case "a":t=l[q++],u=l[q++],w=l[q++],v=l[q++],z=l[q++],B=c,y=d,c+=l[q++],d+=l[q++],n=h.A,jr(B,y,c,d,v,z,t,u,w,n,a)}}if("z"===m||"Z"===m)n=h.Z,a.addData(n),c=e,d=f;g=n}a.toStatic();return a}function tl(b,a){var c=PA(b),d=F({},a);d.buildPath=function(a){if(null!=a.setData){a.setData(c.data);var d=a.getContext();d&&a.rebuildPath(d,1)}else c.rebuildPath(a,1)};d.applyTransform=function(a){var d=c.data,b=c.len(),e,k,l,m,n=Xe.M,p=Xe.C,q=Xe.L,t=Xe.R,u=Xe.A,w=Xe.Q;for(l=0;l<b;){e=d[l++];m=l;k=0;switch(e){case n:k=1;break;case q:k=1;break;case p:k=3;break;case w:k=2;break;case u:m=a[4];e=a[5];var v=kr(a[0]*a[0]+a[1]*a[1]),z=kr(a[2]*a[2]+a[3]*a[3]),B=SA(-a[1]/z,a[0]/v);d[l]*=v;d[l++]+=m;d[l]*=z;d[l++]+=e;d[l++]*=v;d[l++]*=z;d[l++]+=B;d[l++]+=B;m=l+=2;break;case t:(void 0)[0]=d[l++],(void 0)[1]=d[l++],Qa(void 0,void 0,a),d[m++]=(void 0)[0],d[m++]=(void 0)[1],(void 0)[0]+=d[l++],(void 0)[1]+=d[l++],Qa(void 0,void 0,a),d[m++]=(void 0)[0],d[m++]=(void 0)[1]}for(e=0;e<k;e++)v=TA[e],v[0]=d[l++],v[1]=d[l++],Qa(v,v,a),d[m++]=v[0],d[m++]=v[1]}c.increaseVersion();this.dirtyShape()};return d}function ni(b,a,c,d,e,f,g){var h=b-c,k=a-d;g=(g?f:-f)/gg(h*h+k*k);var k=g*k,h=-g*h,l=b+k,m=a+h,n=c+k,p=d+h;c=(l+n)/2;d=(m+p)/2;a=n-l;b=p-m;g=a*a+b*b;f=e-f;var p=l*p-n*m,q=(0>b?-1:1)*gg(ul(0,f*f*g-p*p)),l=(p*b-a*q)/g,m=(-p*a-b*q)/g,n=(p*b+a*q)/g;a=(-p*a+b*q)/g;b=l-c;g=m-d;c=n-c;d=a-d;b*b+g*g>c*c+d*d&&(l=n,m=a);return{cx:l,cy:m,x01:-k,y01:-h,x11:l*(e/f-1),y11:m*(e/f-1)}}function lr(b,a,c,d,e,f,g){b=.5*(c-b);d=.5*(d-a);return(2*(a-c)+b+d)*g+(-3*(a-c)-2*b-d)*f+b*e+a}function mr(b,a,c){var d=a.smooth,e=a.points;if(e&&2<=e.length){if(d&&"spline"!==d){var f=e,g=a.smoothConstraint;a=[];var h=[],k=[],l=[],m,n,p,q;if(g){p=[Infinity,Infinity];q=[-Infinity,-Infinity];for(var t=0,u=f.length;t<u;t++)Qc(p,p,f[t]),Rc(q,q,f[t]);Qc(p,p,g[0]);Rc(q,q,g[1])}t=0;for(u=f.length;t<u;t++){var w=f[t];if(c)m=f[t?t-1:u-1],n=f[(t+1)%u];else if(0===t||t===u-1){a.push(ic(f[t]));continue}else m=f[t-1],n=f[t+1];Pc(h,n,m);Uh(h,h,d);m=Qf(w,m);n=Qf(w,n);var v=m+n;0!==v&&(m/=v,n/=v);Uh(k,h,-m);Uh(l,h,n);m=vk([],w,k);w=vk([],w,l);g&&(Rc(m,m,p),Qc(m,m,q),Rc(w,w,p),Qc(w,w,q));a.push(m);a.push(w)}c&&a.push(a.shift());b.moveTo(e[0][0],e[0][1]);f=e.length;for(d=0;d<(c?f:f-1);d++)p=a[2*d],q=a[2*d+1],g=e[(d+1)%f],b.bezierCurveTo(p[0],p[1],q[0],q[1],g[0],g[1])}else{if("spline"===d){a=e.length;d=[];p=0;for(f=1;f<a;f++)p+=Qf(e[f-1],e[f]);p/=2;p=p<a?a:p;for(f=0;f<p;f++)q=f/(p-1)*(c?a:a-1),l=Math.floor(q),q-=l,h=e[l%a],c?(g=e[(l-1+a)%a],k=e[(l+1)%a],l=e[(l+2)%a]):(g=e[0===l?l:l-1],k=e[l>a-2?a-1:l+1],l=e[l>a-3?a-1:l+2]),t=q*q,u=q*t,d.push([lr(g[0],h[0],k[0],l[0],q,t,u),lr(g[1],h[1],k[1],l[1],q,t,u)]);e=d}b.moveTo(e[0][0],e[0][1]);d=1;for(a=e.length;d<a;d++)b.lineTo(e[d][0],e[d][1])}c&&b.closePath()}}function nr(b,a,c){var d=b.cpy2;return null===b.cpx2||null===d?[(c?Jq:Oa)(b.x1,b.cpx1,b.cpx2,b.x2,a),(c?Jq:Oa)(b.y1,b.cpy1,b.cpy2,b.y2,a)]:[(c?hi:Za)(b.x1,b.cpx1,b.x2,a),(c?hi:Za)(b.y1,b.cpy1,b.y2,a)]}function or(b){return Y.extend(b)}function pr(b,a){return UA(b,a)}function qr(b,a){sb[b]=a}function oi(b){if(sb.hasOwnProperty(b))return sb[b]}function hg(b,a,c,d){b=new vl(tl(b,a));c&&("center"===d&&(c=rr(c,b.getBoundingRect())),wl(b,c));return b}function xl(b,a,c){var d=new Ga({style:{image:b,x:a.x,y:a.y,width:a.width,height:a.height},onload:function(b){"center"===c&&d.setStyle(rr(a,{width:b.width,height:b.height}))}});return d}function rr(b,a){var c=a.width/a.height,d=b.height*c;d<=b.width?c=b.height:(d=b.width,c=d/c);return{x:b.x+b.width/2-d/2,y:b.y+b.height/2-c/2,width:d,height:c}}function wl(b,a){if(b.applyTransform){var c=b.getBoundingRect().calculateTransform(a);b.applyTransform(c)}}function yl(b,a,c,d,e,f,g){var h=!1,k;"function"===typeof e?(g=f,f=e,e=null):N(e)&&(f=e.cb,g=e.during,h=e.isFrom,k=e.removeOpt,e=e.dataIndex);var l="update"===b,m="remove"===b,n;d&&d.ecModel&&(n=(n=d.ecModel.getUpdatePayload())&&n.animation);var p=d&&d.isAnimationEnabled();m||a.stopAnimation("remove");p?(n?(m=n.duration||0,k=n.easing||"cubicOut",l=n.delay||0):m?(k=k||{},m=ka(k.duration,200),k=ka(k.easing,"cubicOut"),l=0):(m=d.getShallow(l?"animationDurationUpdate":"animationDuration"),k=d.getShallow(l?"animationEasingUpdate":"animationEasing"),l=d.getShallow(l?"animationDelayUpdate":"animationDelay")),"function"===typeof l&&(l=l(e,d.getAnimationDelayParams?d.getAnimationDelayParams(a,e):null)),"function"===typeof m&&(m=m(e)),0<m?h?a.animateFrom(c,{duration:m,delay:l||0,easing:k,done:f,force:!!f||!!g,scope:b,during:g}):a.animateTo(c,{duration:m,delay:l||0,easing:k,done:f,force:!!f||!!g,setToFinal:!0,scope:b,during:g}):(a.stopAnimation(),!h&&a.attr(c),f&&f())):(a.stopAnimation(),!h&&a.attr(c),g&&g(1),f&&f())}function ea(b,a,c,d,e,f){yl("update",b,a,c,d,e,f)}function za(b,a,c,d,e,f){yl("init",b,a,c,d,e,f)}function cd(b,a,c,d,e,f){Ye(b)||yl("remove",b,a,c,d,e,f)}function sr(b,a,c,d){b.removeTextContent();b.removeTextGuideLine();cd(b,{style:{opacity:0}},a,c,d)}function ig(b,a,c){function d(){b.parent&&b.parent.remove(b)}b.isGroup?b.traverse(function(b){b.isGroup||sr(b,a,c,d)}):sr(b,a,c,d)}function Ye(b){if(!b.__zr)return!0;for(var a=0;a<b.animators.length;a++)if("remove"===b.animators[a].scope)return!0;return!1}function dd(b,a){for(var c=Sc([]);b&&b!==a;)Fd(c,b.getLocalTransform(),c),b=b.parent;return c}function Wb(b,a,c){a&&!Xa(a)&&(a=Dc.getLocalTransform(a));c&&(a=Ke([],a));return Qa([],b,a)}function pi(b,a,c){var d=0===a[4]||0===a[5]||0===a[0]?1:Math.abs(2*a[4]/a[0]),e=0===a[4]||0===a[5]||0===a[2]?1:Math.abs(2*a[4]/a[2]);b=["left"===b?-d:"right"===b?d:0,"top"===b?-e:"bottom"===b?e:0];b=Wb(b,a,c);return Math.abs(b[0])>Math.abs(b[1])?0<b[0]?"right":"left":0<b[1]?"bottom":"top"}function jg(b,a,c){function d(c){var a={x:c.x,y:c.y,rotation:c.rotation};null!=c.shape&&(a.shape=F({},c.shape));return a}if(b&&a){var e=function(c){var a={};c.traverse(function(c){!c.isGroup&&c.anid&&(a[c.anid]=c)});return a}(b);a.traverse(function(a){if(!a.isGroup&&a.anid){var b=e[a.anid];if(b){var f=d(a);a.attr(d(b));ea(a,f,c,S(a).dataIndex)}}})}}function zl(b,a){return C(b,function(c){var d=c[0],d=qi(d,a.x),d=ri(d,a.x+a.width);c=c[1];c=qi(c,a.y);c=ri(c,a.y+a.height);return[d,c]})}function tr(b,a){var c=qi(b.x,a.x),d=ri(b.x+b.width,a.x+a.width),e=qi(b.y,a.y),f=ri(b.y+b.height,a.y+a.height);if(d>=c&&f>=e)return{x:c,y:e,width:d-c,height:f-e}}function Ze(b,a,c){a=F({rectHover:!0},a);var d=a.style={strokeNoScale:!0};c=c||{x:-1,y:-1,width:2,height:2};if(b)return 0===b.indexOf("image://")?(d.image=b.slice(8),K(d,c),new Ga(a)):hg(b.replace("path://",""),a,c,"center")}function kg(b,a,c,d,e){for(var f=0,g=e[e.length-1];f<e.length;f++){var h=e[f];if(ur(b,a,c,d,h[0],h[1],g[0],g[1]))return!0;g=h}}function ur(b,a,c,d,e,f,g,h){c-=b;d-=a;g-=e;h-=f;var k=g*d-c*h;if(1E-6>=k&&-1E-6<=k)return!1;b-=e;a-=f;f=(b*d-c*a)/k;if(0>f||1<f)return!1;a=(b*h-g*a)/k;return 0>a||1<a?!1:!0}function vr(b,a){for(var c=0;c<tb.length;c++){var d=tb[c],e=a[d],d=b.ensureState(d);d.style=d.style||{};d.style.text=e}c=b.currentStates.slice();b.clearStates(!0);b.setStyle({text:a.normal});b.useStates(c,!0)}function Al(b,a,c){var d=b.labelFetcher,e=b.labelDataIndex,f=b.labelDimIndex,g=a.normal,h;d&&(h=d.getFormattedLabel(e,"normal",null,f,g&&g.get("formatter"),null!=c?{interpolatedValue:c}:null));null==h&&(h=fa(b.defaultText)?b.defaultText(e,b,c):b.defaultText);b={normal:h};for(c=0;c<tb.length;c++){var g=tb[c],k=a[g];b[g]=ka(d?d.getFormattedLabel(e,g,null,f,k&&k.get("formatter")):null,h)}return b}function cb(b,a,c,d){c=c||si;for(var e=b instanceof ha,f=!1,g=0;g<Nd.length;g++){var h=a[Nd[g]];if(h&&h.getShallow("show")){f=!0;break}}var k=e?b:b.getTextContent();if(f){e||(k||(k=new ha,b.setTextContent(k)),b.stateProxy&&(k.stateProxy=b.stateProxy));var f=Al(c,a),l=a.normal,m=!!l.getShallow("show"),n=Ja(l,d&&d.normal,c,!1,!e);n.text=f.normal;e||b.setTextConfig(ti(l,c,!1));for(g=0;g<tb.length;g++){var p=tb[g];if(h=a[p]){var q=k.ensureState(p),t=!!ka(h.getShallow("show"),m);t!==m&&(q.ignore=!t);q.style=Ja(h,d&&d[p],c,!0,!e);q.style.text=f[p];e||(b.ensureState(p).textConfig=ti(h,c,!0))}}k.silent=!!l.getShallow("silent");null!=k.style.x&&(n.x=k.style.x);null!=k.style.y&&(n.y=k.style.y);k.ignore=!m;k.useStyle(n);k.dirty();c.enableTextSetter&&(lg(k).setLabelText=function(d){d=Al(c,a,d);vr(k,d)})}else k&&(k.ignore=!0);b.dirty()}function Ra(b,a){a=a||"label";for(var c={normal:b.getModel(a)},d=0;d<tb.length;d++){var e=tb[d];c[e]=b.getModel([e,a])}return c}function Ja(b,a,c,d,e){var f={};c=c||si;for(var g=b.ecModel,g=g&&g.option.textStyle,h,k=b;k&&k!==k.ecModel;){var l=(k.option||si).rich;if(l){h=h||{};for(var l=ia(l),m=0;m<l.length;m++)h[l[m]]=1}k=k.parentModel}var n;if(h){n={};for(var p in h)h.hasOwnProperty(p)&&(k=b.getModel(["rich",p]),wr(n[p]={},k,g,c,d,e,!1,!0))}n&&(f.rich=n);if(n=b.get("overflow"))f.overflow=n;n=b.get("minMargin");null!=n&&(f.margin=n);wr(f,b,g,c,d,e,!0,!1);a&&F(f,a);return f}function ti(b,a,c){a=a||{};var d={},e=b.getShallow("rotate"),f=ka(b.getShallow("distance"),c?null:5),g=b.getShallow("offset");c=b.getShallow("position")||(c?null:"inside");"outside"===c&&(c=a.defaultOutsidePosition||"top");null!=c&&(d.position=c);null!=g&&(d.offset=g);null!=e&&(e*=Math.PI/180,d.rotation=e);null!=f&&(d.distance=f);d.outsideFill="inherit"===b.get("color")?a.inheritColor||null:"auto";return d}function wr(b,a,c,d,e,f,g,h){c=!e&&c||si;var k=d&&d.inheritColor,l=a.getShallow("color"),m=a.getShallow("textBorderColor"),n=ka(a.getShallow("opacity"),c.opacity);if("inherit"===l||"auto"===l)"auto"===l&&Sa("color: 'auto'","color: 'inherit'"),l=k?k:null;if("inherit"===m||"auto"===m)"auto"===m&&Sa("color: 'auto'","color: 'inherit'"),m=k?k:null;f||(l=l||c.color,m=m||c.textBorderColor);null!=l&&(b.fill=l);null!=m&&(b.stroke=m);l=ka(a.getShallow("textBorderWidth"),c.textBorderWidth);null!=l&&(b.lineWidth=l);l=ka(a.getShallow("textBorderType"),c.textBorderType);null!=l&&(b.lineDash=l);l=ka(a.getShallow("textBorderDashOffset"),c.textBorderDashOffset);null!=l&&(b.lineDashOffset=l);e||null!=n||h||(n=d&&d.defaultOpacity);null!=n&&(b.opacity=n);e||f||null!=b.fill||!d.inheritColor||(b.fill=d.inheritColor);for(e=0;e<xr.length;e++)f=xr[e],h=ka(a.getShallow(f),c[f]),null!=h&&(b[f]=h);for(e=0;e<yr.length;e++)f=yr[e],h=a.getShallow(f),null!=h&&(b[f]=h);null==b.verticalAlign&&(c=a.getShallow("baseline"),null!=c&&(b.verticalAlign=c));if(!g||!d.disableBox){for(e=0;e<zr.length;e++)f=zr[e],h=a.getShallow(f),null!=h&&(b[f]=h);a=a.getShallow("borderType");null!=a&&(b.borderDash=a);"auto"!==b.backgroundColor&&"inherit"!==b.backgroundColor||!k||("auto"===b.backgroundColor&&Sa("backgroundColor: 'auto'","backgroundColor: 'inherit'"),b.backgroundColor=k);"auto"!==b.borderColor&&"inherit"!==b.borderColor||!k||("auto"===b.borderColor&&Sa("borderColor: 'auto'","borderColor: 'inherit'"),b.borderColor=k)}}function Ar(b,a){var c=a&&a.getModel("textStyle");return Va([b.fontStyle||c&&c.getShallow("fontStyle")||"",b.fontWeight||c&&c.getShallow("fontWeight")||"",(b.fontSize||c&&c.getShallow("fontSize")||12)+"px",b.fontFamily||c&&c.getShallow("fontFamily")||"sans-serif"].join(" "))}function Br(b,a,c,d){b&&(b=lg(b),b.prevValue=b.value,b.value=c,c=a.normal,b.valueAnimation=c.get("valueAnimation"),b.valueAnimation&&(b.precision=c.get("precision"),b.defaultInterpolatedText=d,b.statesModels=a))}function Cr(b,a,c,d,e){var f=lg(b);if(f.valueAnimation){var g=f.defaultInterpolatedText,h=ka(f.interpolatedValue,f.prevValue),k=f.value;(null==h?za:ea)(b,{},d,a,null,function(d){var l=Dq(c,f.precision,h,k,d);f.interpolatedValue=1===d?null:l;d=Al({labelDataIndex:a,labelFetcher:e,defaultText:g?g(l):l+""},f.statesModels,l);vr(b,d)})}}function $e(b){return[b||"",VA++].join("_")}function ed(b,a){return U(U({},b,!0),a,!0)}function Bl(b,a){b=b.toUpperCase();Cl[b]=new la(a);ui[b]=a}function WA(b){if(da(b)){var a=ui[b.toUpperCase()]||{};return"ZH"===b||"EN"===b?J(a):U(J(a),J(ui.EN),!1)}return U(J(b),J(ui.EN),!1)}function ub(b,a){b+="";return"0000".substr(0,a-b.length)+b}function af(b){switch(b){case "half-year":case "quarter":return"month";case "week":case "half-week":return"day";case "half-day":case "quarter-day":return"hour";default:return b}}function XA(b){return b===af(b)}function mg(b,a,c,d){var e=qb(b);b=e[Dl(c)]();var f=e[bf(c)]()+1,g=Math.floor((f-1)/4)+1,h=e[vi(c)](),k=e["get"+(c?"UTC":"")+"Day"](),l=e[ng(c)](),m=(l-1)%12+1,n=e[wi(c)](),p=e[xi(c)]();c=e[yi(c)]();var q=(d instanceof la?d:Cl[d||Dr]||Cl.EN).getModel("time");d=q.get("month");var e=q.get("monthAbbr"),t=q.get("dayOfWeek"),q=q.get("dayOfWeekAbbr");return(a||"").replace(/{yyyy}/g,b+"").replace(/{yy}/g,b%100+"").replace(/{Q}/g,g+"").replace(/{MMMM}/g,d[f-1]).replace(/{MMM}/g,e[f-1]).replace(/{MM}/g,ub(f,2)).replace(/{M}/g,f+"").replace(/{dd}/g,ub(h,2)).replace(/{d}/g,h+"").replace(/{eeee}/g,t[k]).replace(/{ee}/g,q[k]).replace(/{e}/g,k+"").replace(/{HH}/g,ub(l,2)).replace(/{H}/g,l+"").replace(/{hh}/g,ub(m+"",2)).replace(/{h}/g,m+"").replace(/{mm}/g,ub(n,2)).replace(/{m}/g,n+"").replace(/{ss}/g,ub(p,2)).replace(/{s}/g,p+"").replace(/{SSS}/g,ub(c,3)).replace(/{S}/g,c+"")}function Er(b,a){var c=qb(b),d=c[bf(a)]()+1,e=c[vi(a)](),f=c[ng(a)](),g=c[wi(a)](),h=c[xi(a)]();return(e=(f=(g=(h=(c=0===c[yi(a)]())&&0===h)&&0===g)&&0===f)&&1===e)&&1===d?"year":e?"month":f?"day":g?"hour":h?"minute":c?"second":"millisecond"}function Fr(b,a,c){var d="number"===typeof b?qb(b):b;a=a||Er(b,c);switch(a){case "year":return d[Dl(c)]();case "half-year":return 6<=d[bf(c)]()?1:0;case "quarter":return Math.floor((d[bf(c)]()+1)/4);case "month":return d[bf(c)]();case "day":return d[vi(c)]();case "half-day":return d[ng(c)]()/24;case "hour":return d[ng(c)]();case "minute":return d[wi(c)]();case "second":return d[xi(c)]();case "millisecond":return d[yi(c)]()}}function Dl(b){return b?"getUTCFullYear":"getFullYear"}function bf(b){return b?"getUTCMonth":"getMonth"}function vi(b){return b?"getUTCDate":"getDate"}function ng(b){return b?"getUTCHours":"getHours"}function wi(b){return b?"getUTCMinutes":"getMinutes"}function xi(b){return b?"getUTCSeconds":"getSeconds"}function yi(b){return b?"getUTCSeconds":"getSeconds"}function El(b){if(!bi(b))return da(b)?b:"-";b=(b+"").split(".");return b[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(1<b.length?"."+b[1]:"")}function Gr(b,a){b=(b||"").toLowerCase().replace(/-(.)/g,function(c,a){return a.toUpperCase()});a&&b&&(b=b.charAt(0).toUpperCase()+b.slice(1));return b}function fd(b){return null==b?"":(b+"").replace(YA,function(a,c){return ZA[c]})}function zi(b,a,c){function d(c){return c&&Va(c)?c:"-"}function e(c){return!(null==c||isNaN(c)||!isFinite(c))}var f="time"===a,g=b instanceof Date;if(f||g){f=f?qb(b):b;if(!isNaN(+f))return mg(f,"yyyy-MM-dd hh:mm:ss",c);if(g)return"-"}if("ordinal"===a)return Of(b)?d(b):Rh(b)?e(b)?b+"":"-":"-";a=jc(b);return e(a)?El(a):Of(b)?d(b):"-"}function Fl(b,a,c){A(a)||(a=[a]);var d=a.length;if(!d)return"";for(var e=a[0].$vars||[],f=0;f<e.length;f++){var g=Hr[f];b=b.replace("{"+g+"}","{"+g+0+"}")}for(f=0;f<d;f++)for(g=0;g<e.length;g++){var h=a[f][e[g]];b=b.replace("{"+Hr[g]+(null==f?"":f)+"}",c?fd(h):h)}return b}function $A(b,a,c){r(a,function(a,e){b=b.replace("{"+e+"}",c?fd(a):a)});return b}function Ir(b,a){var c=da(b)?{color:b,extraCssText:a}:b||{},d=c.color,e=c.type;a=c.extraCssText;var f=c.renderMode||"html";return d?"html"===f?"subItem"===e?'\x3cspan style\x3d"display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+fd(d)+";"+(a||"")+'"\x3e\x3c/span\x3e':'\x3cspan style\x3d"display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:'+fd(d)+";"+(a||"")+'"\x3e\x3c/span\x3e':{renderMode:f,content:"{"+(c.markerId||"markerX")+"|} ",style:"subItem"===e?{width:4,height:4,borderRadius:2,backgroundColor:d}:{width:10,height:10,borderRadius:5,backgroundColor:d}}:""}function og(b,a){a=a||"transparent";return da(b)?b:N(b)?b.colorStops&&(b.colorStops[0]||{}).color||a:a}function Ai(b,a){if("_blank"===a||"blank"===a){var c=window.open();c.opener=null;c.location.href=b}else window.open(b,a)}function Gl(b,a,c,d,e){var f=0,g=0;null==d&&(d=Infinity);null==e&&(e=Infinity);var h=0;a.eachChild(function(k,l){var m=k.getBoundingRect(),n=a.childAt(l+1),n=n&&n.getBoundingRect(),p,q;"horizontal"===b?(n=m.width+(n?-n.x+m.x:0),p=f+n,p>d||k.newline?(f=0,p=n,g+=h+c,h=m.height):h=Math.max(h,m.height)):(n=m.height+(n?-n.y+m.y:0),q=g+n,q>e||k.newline?(f+=h+c,g=0,q=n,h=m.width):h=Math.max(h,m.width));k.newline||(k.x=f,k.y=g,k.markRedraw(),"horizontal"===b?f=p+c:g=q+c)})}function Aa(b,a,c){c=Od(c||0);var d=a.width;a=a.height;var e=H(b.left,d),f=H(b.top,a),g=H(b.right,d),h=H(b.bottom,a),k=H(b.width,d),l=H(b.height,a),m=c[2]+c[0],n=c[1]+c[3],p=b.aspect;isNaN(k)&&(k=d-g-n-e);isNaN(l)&&(l=a-h-m-f);null!=p&&(isNaN(k)&&isNaN(l)&&(p>d/a?k=.8*d:l=.8*a),isNaN(k)&&(k=p*l),isNaN(l)&&(l=k/p));isNaN(e)&&(e=d-g-k-n);isNaN(f)&&(f=a-h-l-m);switch(b.left||b.right){case "center":e=d/2-k/2-c[3];break;case "right":e=d-k-n}switch(b.top||b.bottom){case "middle":case "center":f=a/2-l/2-c[0];break;case "bottom":f=a-l-m}e=e||0;f=f||0;isNaN(k)&&(k=d-n-e-(g||0));isNaN(l)&&(l=a-m-f-(h||0));b=new aa(e+c[3],f+c[0],k,l);b.margin=c;return b}function Bi(b,a,c,d,e){var f=!e||!e.hv||e.hv[0],g=!e||!e.hv||e.hv[1];e=e&&e.boundingMode||"all";if(f||g){var h;if("raw"===e)h="group"===b.type?new aa(0,0,+a.width||0,+a.height||0):b.getBoundingRect();else if(h=b.getBoundingRect(),b.needLocalTransform()){var k=b.getLocalTransform();h=h.clone();h.applyTransform(k)}a=Aa(K({width:h.width,height:h.height},a),c,d);f=f?a.x-h.x:0;g=g?a.y-h.y:0;"raw"===e?(b.x=f,b.y=g):(b.x+=f,b.y+=g);b.markRedraw()}}function pg(b){b=b.layoutMode||b.constructor.layoutMode;return N(b)?b:b?{type:b}:null}function gd(b,a,c){function d(c,d){var f={},h=0,k={},l=0;Ci(c,function(c){k[c]=b[c]});Ci(c,function(c){a.hasOwnProperty(c)&&(f[c]=k[c]=a[c]);e(f,c)&&h++;e(k,c)&&l++});if(g[d])return e(a,c[1])?k[c[2]]=null:e(a,c[2])&&(k[c[1]]=null),k;if(2!==l&&h){if(!(2<=h))for(var t=0;t<c.length;t++){var u=c[t];if(!f.hasOwnProperty(u)&&b.hasOwnProperty(u)){f[u]=b[u];break}}return f}return k}function e(c,a){return null!=c[a]&&"auto"!==c[a]}function f(c,a,d){Ci(c,function(c){a[c]=d[c]})}var g=c&&c.ignoreSize;!A(g)&&(g=[g,g]);c=d(Pd[0],0);var h=d(Pd[1],1);f(Pd[0],b,c);f(Pd[1],b,h)}function Qd(b,a){a&&b&&Ci(Jr,function(c){a.hasOwnProperty(c)&&(b[c]=a[c])});return b}function Kr(b,a,c){function d(c,a,d){for(var b=0;b<d;b++)c.push(a+b)}function e(c){return(c=c.dimsDef)?c.length:1}var f={},g=Hl(a);if(!g||!b)return f;var h=[],k=[];a=Lr(a.ecModel).datasetMap;c=g.uid+"_"+c.seriesLayoutBy;var l,m;b=b.slice();r(b,function(c,a){var d=N(c)?c:b[a]={name:c};"ordinal"===d.type&&null==l&&(l=a,m=e(d));f[d.name]=[]});var n=a.get(c)||a.set(c,{categoryWayDim:m,valueWayDim:0});r(b,function(c,a){var b=c.name,g=e(c);if(null==l){var m=n.valueWayDim;d(f[b],m,g);d(k,m,g);n.valueWayDim+=g}else l===a?(d(f[b],0,g),d(h,0,g)):(m=n.categoryWayDim,d(f[b],m,g),d(k,m,g),n.categoryWayDim+=g)});h.length&&(f.itemName=h);k.length&&(f.seriesName=k);return f}function Il(b,a,c){var d={};if(!Hl(b))return d;var e=a.sourceFormat,f=a.dimensionsDefine,g;"objectRows"!==e&&"keyedColumns"!==e||r(f,function(c,a){"name"===(N(c)?c.name:c)&&(g=a)});if(b=function(){for(var d={},b={},l=[],m=0,n=Math.min(5,c);m<n;m++){var p=Mr(a.data,e,a.seriesLayoutBy,f,a.startIndex,m);l.push(p);var q=p===ib.Not;q&&null==d.v&&m!==g&&(d.v=m);if(null==d.n||d.n===d.v||!q&&l[d.n]===ib.Not)d.n=m;if(null!=d.v&&null!=d.n&&l[d.n]!==ib.Not)return d;q||(p===ib.Might&&null==b.v&&m!==g&&(b.v=m),null!=b.n&&b.n!==b.v)||(b.n=m)}return null!=d.v&&null!=d.n?d:null!=b.v&&null!=b.n?b:null}())d.value=[b.v],b=null!=g?g:b.n,d.itemName=[b],d.seriesName=[b];return d}function Hl(b){if(!b.get("data",!0))return di(b.ecModel,"dataset",{index:b.get("datasetIndex",!0),id:b.get("datasetId",!0)},Da).models[0]}function aB(b){return b.get("transform",!0)||b.get("fromTransformResult",!0)?di(b.ecModel,"dataset",{index:b.get("fromDatasetIndex",!0),id:b.get("fromDatasetId",!0)},Da).models:[]}function Mr(b,a,c,d,e,f){function g(c){var a=da(c);if(null!=c&&isFinite(c)&&""!==c)return a?ib.Might:ib.Not;if(a&&"-"!==c)return ib.Must}var h;if(db(b))return ib.Not;var k,l;d&&(d=d[f],N(d)?(k=d.name,l=d.type):da(d)&&(k=d));if(null!=l)return"ordinal"===l?ib.Must:ib.Not;if("arrayRows"===a)if("row"===c)for(b=b[f],a=0;a<(b||[]).length&&5>a;a++){if(null!=(h=g(b[e+a])))return h}else for(a=0;a<b.length&&5>a;a++){if((k=b[e+a])&&null!=(h=g(k[f])))return h}else if("objectRows"===a){if(!k)return ib.Not;for(a=0;a<b.length&&5>a;a++)if((e=b[a])&&null!=(h=g(e[k])))return h}else if("keyedColumns"===a){if(!k)return ib.Not;b=b[k];if(!b||db(b))return ib.Not;for(a=0;a<b.length&&5>a;a++)if(null!=(h=g(b[a])))return h}else if("original"===a)for(a=0;a<b.length&&5>a;a++){e=b[a];h=bg(e);if(!A(h))break;if(null!=(h=g(h[f])))return h}return ib.Not}function bB(b,a,c){a=Jl.get(a);if(!a)return c;b=a(b);if(!b)return c;for(a=0;a<b.length;a++)O(Qe(b[a]));return c.concat(b)}function Kl(b,a,c,d){var e=xa(b.get(["aria","decal","decals"]));return Nr(b,cB,e,null,a,c,d)}function Nr(b,a,c,d,e,f,g){b=a(f||b);a=b.paletteIdx||0;f=b.paletteNameMap=b.paletteNameMap||{};if(f.hasOwnProperty(e))return f[e];if(null!=g&&d)a:{for(var h=d.length,k=0;k<h;k++)if(d[k].length>g){d=d[k];break a}d=d[h-1]}else d=c;if((c=d||c)&&c.length)return d=c[a],e&&(f[e]=d),b.paletteIdx=(a+1)%c.length,d}function dB(b,a){var c=b.color&&!b.colorLayer;r(a,function(a,e){"colorLayer"===e&&c||W.hasClass(e)||("object"===typeof a?b[e]=b[e]?U(b[e],a,!1):J(a):null==b[e]&&(b[e]=a))})}function Or(b,a,c){if(A(a)){var d=R();r(a,function(c){null!=c&&null!=Ea(c,null)&&d.set(c,!0)});return ta(c,function(c){return c&&d.get(c[b])})}var e=Ea(a,null);return ta(c,function(c){return c&&null!=e&&c[b]===e})}function Pr(b,a){return a.hasOwnProperty("subType")?ta(b,function(c){return c&&c.subType===a.subType}):b}function Qr(b){var a=R();b&&r(xa(b.replaceMerge),function(c){O(W.hasClass(c),'"'+c+'" is not valid component main type in "replaceMerge"');a.set(c,!0)});return{replaceMergeMainTypeMap:a}}function eB(b,a,c){function d(d){r(a,function(a){a(d,c)})}var e=[],f,g=b.baseOption,h=b.timeline,k=b.options,l=b.media,m=!!b.media,n=!!(k||h||g&&g.timeline);if(g)b=g,b.timeline||(b.timeline=h);else if(n||m)b.options=b.media=null;m&&(A(l)?r(l,function(c){c&&!c.option&&N(c.query)&&N(c.query.option)&&ci&&console.error("[ECharts] Illegal media option. Must be like { media: [ { query: {}, option: {} } ] }");c&&c.option&&(c.query?e.push(c):f||(f=c))}):ci&&console.error("[ECharts] Illegal media option. Must be an array. Like { media: [ {...}, {...} ] }"));d(b);r(k,function(c){return d(c)});r(e,function(c){return d(c.option)});return{baseOption:b,timelineOptions:k||[],mediaDefault:f,mediaList:e}}function fB(b,a,c){var d={width:a,height:c,aspectratio:a/c},e=!0;r(b,function(c,a){var b=a.match(gB);if(b&&b[1]&&b[2]){var f=b[1],b=b[2].toLowerCase();b=d[b];("min"===f?b>=c:"max"===f?b<=c:b===c)||(e=!1)}});return e}function hB(b,a){return b.join(",")===a.join(",")}function Ll(b){var a=b&&b.itemStyle;if(a)for(var c=0,d=Rr.length;c<d;c++){var e=Rr[c],f=a.normal,g=a.emphasis;f&&f[e]&&(Sa("itemStyle.normal."+e,e),b[e]=b[e]||{},b[e].normal?U(b[e].normal,f[e]):b[e].normal=f[e],f[e]=null);g&&g[e]&&(Sa("itemStyle.emphasis."+e,"emphasis."+e),b[e]=b[e]||{},b[e].emphasis?U(b[e].emphasis,g[e]):b[e].emphasis=g[e],g[e]=null)}}function ab(b,a,c){if(b&&b[a]&&(b[a].normal||b[a].emphasis)){var d=b[a].normal,e=b[a].emphasis;d&&(Vb("'normal' hierarchy in "+a+" has been removed since 4.0. All style properties are configured in "+a+" directly now."),c?(b[a].normal=b[a].emphasis=null,K(b[a],d)):b[a]=d);e&&(Vb(a+".emphasis has been changed to emphasis."+a+" since 4.0"),b.emphasis=b.emphasis||{},b.emphasis[a]=e,e.focus&&(b.emphasis.focus=e.focus),e.blurScope&&(b.emphasis.blurScope=e.blurScope))}}function qg(b){ab(b,"itemStyle");ab(b,"lineStyle");ab(b,"areaStyle");ab(b,"label");ab(b,"labelLine");ab(b,"upperLabel");ab(b,"edgeLabel")}function ya(b,a){var c=rg(b)&&b[a],d=rg(c)&&c.textStyle;if(d){Vb("textStyle hierarchy in "+a+" has been removed since 4.0. All textStyle properties are configured in "+a+" directly now.");for(var e=0,f=Sr.length;e<f;e++){var g=Sr[e];d.hasOwnProperty(g)&&(c[g]=d[g])}}}function Gb(b){b&&(qg(b),ya(b,"label"),b.emphasis&&ya(b.emphasis,"label"))}function iB(b){if(rg(b)){Ll(b);qg(b);ya(b,"label");ya(b,"upperLabel");ya(b,"edgeLabel");b.emphasis&&(ya(b.emphasis,"label"),ya(b.emphasis,"upperLabel"),ya(b.emphasis,"edgeLabel"));var a=b.markPoint;a&&(Ll(a),Gb(a));if(a=b.markLine)Ll(a),Gb(a);(a=b.markArea)&&Gb(a);var c=b.data;if("graph"===b.type){var c=c||b.nodes,d=b.links||b.edges;if(d&&!db(d))for(a=0;a<d.length;a++)Gb(d[a]);r(b.categories,function(c){qg(c)})}if(c&&!db(c))for(a=0;a<c.length;a++)Gb(c[a]);if((a=b.markPoint)&&a.data)for(c=a.data,a=0;a<c.length;a++)Gb(c[a]);if((a=b.markLine)&&a.data)for(c=a.data,a=0;a<c.length;a++)A(c[a])?(Gb(c[a][0]),Gb(c[a][1])):Gb(c[a]);"gauge"===b.type?(ya(b,"axisLabel"),ya(b,"title"),ya(b,"detail")):"treemap"===b.type?(ab(b.breadcrumb,"itemStyle"),r(b.levels,function(c){qg(c)})):"tree"===b.type&&qg(b.leaves)}}function Ec(b){return A(b)?b:b?[b]:[]}function Tr(b){return(A(b)?b[0]:b)||{}}function jB(b,a){Xb(Ec(b.series),function(c){rg(c)&&iB(c)});var c="xAxis yAxis radiusAxis angleAxis singleAxis parallelAxis radar".split(" ");a&&c.push("valueAxis","categoryAxis","logAxis","timeAxis");Xb(c,function(c){Xb(Ec(b[c]),function(c){c&&(ya(c,"axisLabel"),ya(c.axisPointer,"label"))})});Xb(Ec(b.parallel),function(c){c=c&&c.parallelAxisDefault;ya(c,"axisLabel");ya(c&&c.axisPointer,"label")});Xb(Ec(b.calendar),function(c){ab(c,"itemStyle");ya(c,"dayLabel");ya(c,"monthLabel");ya(c,"yearLabel")});Xb(Ec(b.radar),function(c){ya(c,"name");c.name&&null==c.axisName&&(c.axisName=c.name,delete c.name,Vb("name property in radar component has been changed to axisName"));null!=c.nameGap&&null==c.axisNameGap&&(c.axisNameGap=c.nameGap,delete c.nameGap,Vb("nameGap property in radar component has been changed to axisNameGap"))});Xb(Ec(b.geo),function(c){rg(c)&&(Gb(c),Xb(Ec(c.regions),function(c){Gb(c)}))});Xb(Ec(b.timeline),function(c){Gb(c);ab(c,"label");ab(c,"itemStyle");ab(c,"controlStyle",!0);c=c.data;A(c)&&r(c,function(c){N(c)&&(ab(c,"label"),ab(c,"itemStyle"))})});Xb(Ec(b.toolbox),function(c){ab(c,"iconStyle");Xb(c.feature,function(c){ab(c,"iconStyle")})});ya(Tr(b.axisPointer),"label");ya(Tr(b.tooltip).axisPointer,"label")}function Ur(b){b&&r(kB,function(a){a[0]in b&&!(a[1]in b)&&(b[a[1]]=b[a[0]])})}function sg(b){if(b=b&&b.itemStyle)for(var a=0;a<Ml.length;a++){var c=Ml[a][1],d=Ml[a][0];null!=b[c]&&(b[d]=b[c],Sa(c,d))}}function Vr(b){b&&"edge"===b.alignTo&&null!=b.margin&&null==b.edgeDistance&&(Sa("label.margin","label.edgeDistance","pie"),b.edgeDistance=b.margin)}function Wr(b){b&&b.downplay&&!b.blur&&(b.blur=b.downplay,Sa("downplay","blur","sunburst"))}function Xr(b,a){if(b)for(var c=0;c<b.length;c++)a(b[c]),b[c]&&Xr(b[c].children,a)}function Yr(b,a){jB(b,a);b.series=xa(b.series);r(b.series,function(c){if(N(c)){var a=c.type;if("line"===a)null!=c.clipOverflow&&(c.clip=c.clipOverflow,Sa("clipOverflow","clip","line"));else if("pie"===a||"gauge"===a){null!=c.clockWise&&(c.clockwise=c.clockWise,Sa("clockWise","clockwise"));Vr(c.label);if((a=c.data)&&!db(a))for(var b=0;b<a.length;b++)Vr(a[b]);null!=c.hoverOffset&&(c.emphasis=c.emphasis||{},c.emphasis.scaleSize=null)}else if("gauge"===a){for(var a=["pointer.color"],b=c,f=0;f<a.length&&(b=b&&b[a[f]],null!=b);f++);a=b;if(null!=a){for(var b=["itemStyle.color"],f=c,g,h=0;h<b.length-1;h++)g=b[h],null==f[g]&&(f[g]={}),f=f[g];null==f[b[h]]&&(f[b[h]]=a)}}else if("bar"===a){if(sg(c),sg(c.backgroundStyle),sg(c.emphasis),(a=c.data)&&!db(a))for(b=0;b<a.length;b++)"object"===typeof a[b]&&(sg(a[b]),sg(a[b]&&a[b].emphasis))}else if("sunburst"===a){if(a=c.highlightPolicy)c.emphasis=c.emphasis||{},c.emphasis.focus||(c.emphasis.focus=a,Sa("highlightPolicy","emphasis.focus","sunburst"));Wr(c);Xr(c.data,Wr)}else"graph"===a||"sankey"===a?c&&null!=c.focusNodeAdjacency&&(c.emphasis=c.emphasis||{},null==c.emphasis.focus&&(Sa("focusNodeAdjacency","emphasis: { focus: 'adjacency'}","graph/sankey"),c.emphasis.focus="adjacency")):"map"===a&&(c.mapType&&!c.map&&(Sa("mapType","map","map"),c.map=c.mapType),c.mapLocation&&(Vb("`mapLocation` is not used anymore."),K(c,c.mapLocation)));null!=c.hoverAnimation&&(c.emphasis=c.emphasis||{},c.emphasis&&null==c.emphasis.scale&&(Sa("hoverAnimation","emphasis.scale"),c.emphasis.scale=c.hoverAnimation));Ur(c)}});b.dataRange&&(b.visualMap=b.dataRange);r(lB,function(c){if(c=b[c])A(c)||(c=[c]),r(c,function(c){Ur(c)})})}function mB(b){r(b,function(a,c){var d=[],e=[NaN,NaN],f=a.data,g=a.isStackedByIndex,h=f.map([a.stackResultDimension,a.stackedOverDimension],function(h,l,m){h=f.get(a.stackedDimension,m);if(isNaN(h))return e;var k,p;g?p=f.getRawIndex(m):k=f.get(a.stackedByDimension,m);m=NaN;for(l=c-1;0<=l;l--){var q=b[l];g||(p=q.data.rawIndexOf(q.stackedByDimension,k));if(0<=p&&(q=q.data.getByRawIndex(q.stackResultDimension,p),0<=h&&0<q||0>=h&&0>q)){h+=q;m=q;break}}d[0]=h;d[1]=m;return d});f.hostModel.setData(h);a.data=h})}function Nl(b,a,c,d){c=c||Zr(b);var e=a.seriesLayoutBy,f=nB(b,c,e,a.sourceHeader,a.dimensions);return new Rd({data:b,sourceFormat:c,seriesLayoutBy:e,dimensionsDefine:f.dimensionsDefine,startIndex:f.startIndex,dimensionsDetectedCount:f.dimensionsDetectedCount,encodeDefine:d?R(d):null,metaRawOption:J(a)})}function Ol(b){return new Rd({data:b,sourceFormat:db(b)?"typedArray":"original"})}function oB(b){var a=b.data,c=b.sourceFormat,d=b.seriesLayoutBy,e=J(b.dimensionsDefine),f=b.startIndex,g=b.dimensionsDetectedCount;b=(b=b.encodeDefine)?R(b):null;return new Rd({data:a,sourceFormat:c,seriesLayoutBy:d,dimensionsDefine:e,startIndex:f,dimensionsDetectedCount:g,encodeDefine:b})}function Zr(b){var a="unknown";if(db(b))a="typedArray";else if(A(b)){0===b.length&&(a="arrayRows");for(var c=0,d=b.length;c<d;c++){var e=b[c];if(null!=e)if(A(e)){a="arrayRows";break}else if(N(e)){a="objectRows";break}}}else if(N(b))for(c in b)if(b.hasOwnProperty(c)&&Xa(b[c])){a="keyedColumns";break}return a}function nB(b,a,c,d,e){var f,g;if(!b)return{dimensionsDefine:$r(e),startIndex:g,dimensionsDetectedCount:f};"arrayRows"===a?("auto"===d||null==d?as(function(c){null!=c&&"-"!==c&&(da(c)?null==g&&(g=1):g=0)},c,b,10):g=Rh(d)?d:d?1:0,e||1!==g||(e=[],as(function(c,a){e[a]=null!=c?c+"":""},c,b,Infinity)),f=e?e.length:"row"===c?b.length:b[0]?b[0].length:null):"objectRows"===a?e||(e=pB(b)):"keyedColumns"===a?e||(e=[],r(b,function(c,a){e.push(a)})):"original"===a?(b=bg(b[0]),f=A(b)&&b.length||1):"typedArray"===a&&O(!!e,"dimensions must be given if data is TypedArray.");return{startIndex:g,dimensionsDefine:$r(e),dimensionsDetectedCount:f}}function pB(b){for(var a=0,c;a<b.length&&!(c=b[a++]););if(c){var d=[];r(c,function(c,a){d.push(a)});return d}}function $r(b){if(b){var a=R();return C(b,function(c,b){c=N(c)?c:{name:c};var d={name:c.name,displayName:c.displayName,type:c.type};if(null==d.name)return d;d.name+="";null==d.displayName&&(d.displayName=d.name);var f=a.get(d.name);f?d.name+="-"+f.count++:a.set(d.name,{count:1});return d})}}function as(b,a,c,d){if("row"===a)for(a=0;a<c.length&&a<d;a++)b(c[a]?c[a][0]:null,a);else for(c=c[0]||[],a=0;a<c.length&&a<d;a++)b(c[a],a)}function bs(b,a){var c=qB["arrayRows"===b?b+"_"+a:b];O(c,'Do not suppport get item on "'+b+'", "'+a+'".');return c}function cs(b,a){var c=rB["arrayRows"===b?b+"_"+a:b];O(c,'Do not suppport count on "'+b+'", "'+a+'".');return c}function ds(b){var a=sB[b];O(a,'Do not suppport get value on "'+b+'".');return a}function Sd(b,a,c){if(b&&(a=b.getRawDataItem(a),null!=a)){var d=b.getProvider().getSource().sourceFormat,e,f;if(b=b.getDimensionInfo(c))e=b.name,f=b.index;return ds(d)(a,f,e)}}function es(b){var a,c;N(b)?b.type?c=b:console.warn("The return type of `formatTooltip` is not supported: "+gb(b)):a=b;return{markupText:a,markupFragment:c}}function Di(b,a){var c=a&&a.type;if("ordinal"===c)return(c=a&&a.ordinalMeta)?c.parseAndCollect(b):b;"time"===c&&"number"!==typeof b&&null!=b&&"-"!==b&&(b=+qb(b));return null==b||""===b?NaN:+b}function tB(b,a){var c=new uB,d=b.data,e=c.sourceFormat=b.sourceFormat,f=b.startIndex;"column"!==b.seriesLayoutBy&&ja('`seriesLayoutBy` of upstream dataset can only be "column" in data transform.');var g=[],h={},k=b.dimensionsDefine;if(k)r(k,function(c,a){var b=c.name,d={index:a,name:b,displayName:c.displayName};g.push(d);null!=b&&(h.hasOwnProperty(b)&&ja('dimension name "'+b+'" duplicated.'),h[b]=d)});else for(k=0;k<b.dimensionsDetectedCount;k++)g.push({index:k});var l=bs(e,"column");a.__isBuiltIn&&(c.getRawDataItem=function(c){return l(d,f,g,c)},c.getRawData=I(vB,null,b));c.cloneRawData=I(wB,null,b);k=cs(e,"column");c.count=I(k,null,d,f,g);var m=ds(e);c.retrieveValue=function(c,a){var b=l(d,f,g,c);return n(b,a)};var n=c.retrieveValueFromItem=function(c,a){if(null!=c){var b=g[a];if(b)return m(c,a,b.name)}};c.getDimensionInfo=I(xB,null,g,h);c.cloneAllDimensionInfo=I(yB,null,g);return c}function vB(b){var a=b.sourceFormat;"arrayRows"!==a&&"objectRows"!==a&&ja("`getRawData` is not supported in source format "+a);return b.data}function wB(b){var a=b.sourceFormat;b=b.data;"arrayRows"!==a&&"objectRows"!==a&&ja("`cloneRawData` is not supported in source format "+a);if("arrayRows"===a){for(var a=[],c=0,d=b.length;c<d;c++)a.push(b[c].slice());return a}if("objectRows"===a){a=[];c=0;for(d=b.length;c<d;c++)a.push(F({},b[c]));return a}}function xB(b,a,c){if(null!=c){if("number"===typeof c||!isNaN(c)&&!a.hasOwnProperty(c))return b[c];if(a.hasOwnProperty(c))return a[c]}}function yB(b){return J(b)}function zB(b,a,c){b=xa(b);var d=b.length;d||ja("If `transform` declared, it should at least contain one transform.");for(var e=0;e<d;e++)a=AB(b[e],a,c,1===d?null:e),e!==d-1&&(a.length=Math.max(a.length,1));return a}function AB(b,a,c,d){a.length||ja("Must have at least one upstream dataset.");N(b)||ja("transform declaration must be an object rather than "+typeof b+".");var e=b.type,f=fs.get(e);f||ja('Can not find transform on type "'+e+'".');e=C(a,function(c){return tB(c,f)});e=xa(f.transform({upstream:e[0],upstreamList:e,config:J(b.config)}));b.print&&(b=C(e,function(a){return["\x3d\x3d\x3d dataset index: "+c.datasetIndex+(null!=d?" \x3d\x3d\x3d pipe index: "+d:"")+" \x3d\x3d\x3d","- transform result data:",gb(a.data),"- transform result dimensions:",gb(a.dimensions)].join("\n")}).join("\n"),uA(b));return C(e,function(c,b){N(c)||ja("A transform should not return some empty results.");c.data||ja("Transform result data should be not be null or undefined");var d=Zr(c.data);"arrayRows"!==d&&"objectRows"!==d&&ja("Transform result data should be array rows or object rows.");if((d=a[0])&&0===b&&!c.dimensions){var e=d.startIndex;e&&(c.data=d.data.slice(0,e).concat(c.data));d={seriesLayoutBy:"column",sourceHeader:e,dimensions:d.metaRawOption.dimensions}}else d={seriesLayoutBy:"column",sourceHeader:0,dimensions:c.dimensions};return Nl(c.data,d,null,null)})}function gs(b,a){var c=b.color||"#6e7079",d=b.fontSize||12,e=b.fontWeight||"400",f=b.color||"#464646",g=b.fontSize||14,h=b.fontWeight||"900";return"html"===a?{nameStyle:"font-size:"+d+"px;color:"+c+";font-weight:"+e,valueStyle:"font-size:"+g+"px;color:"+f+";font-weight:"+h}:{nameStyle:{fontSize:d,fill:c,fontWeight:e},valueStyle:{fontSize:g,fill:f,fontWeight:h}}}function Ha(b,a){a.type=b;return a}function Pl(b){return hs.hasOwnProperty(b.type)&&hs[b.type]}function BB(b,a,c,d){var e=[],f=a.blocks||[];O(!f||A(f));var f=f||[],g=b.orderMode;if(a.sortBlocks&&g){var f=f.slice(),h={valueAsc:"asc",valueDesc:"desc"};if(h.hasOwnProperty(g)){var k=new is(h[g],null);f.sort(function(c,a){return k.evaluate(c.sortParam,a.sortParam)})}else"seriesDesc"===g&&f.reverse()}var l=js(a);r(f,function(c,a){var f=Pl(c).build(b,c,0<a?l.html:0,d);null!=f&&e.push(f)});if(e.length)return"richText"===b.renderMode?e.join(l.richText):Ql(e.join(""),c)}function ks(b,a,c,d,e,f){if(b){var g=Pl(b);g.planLayout(b);return g.build({useUTC:e,renderMode:c,orderMode:d,markupStyleCreator:a},b,0,f)}}function js(b){b=b.__gapLevelBetweenSubBlocks;return{html:CB[b],richText:DB[b]}}function Ql(b,a){return'\x3cdiv style\x3d"'+("margin: "+a+"px 0 0")+';line-height:1;"\x3e'+b+'\x3cdiv style\x3d"clear:both"\x3e\x3c/div\x3e\x3c/div\x3e'}function EB(b,a,c,d){return'\x3cspan style\x3d"'+(a?"float:right;margin-left:"+(c?"10px":"20px"):"")+";"+d+'"\x3e'+C(b,function(c){return fd(c)}).join("\x26nbsp;\x26nbsp;")+"\x3c/span\x3e"}function FB(b,a,c,d,e){e=[e];c&&e.push({padding:[0,0,0,d?10:20],align:"right"});return b.markupStyleCreator.wrapRichTextStyle(a.join(" "),e)}function ls(b,a){var c=b.getData().getItemVisual(a,"style")[b.visualDrawType];return og(c)}function ms(b,a){var c=b.get("padding");return null!=c?c:"richText"===a?[8,10]:10}function ns(b){var a=b.series,c=b.dataIndex;b=b.multipleSeries;var d=a.getData(),e=d.mapDimensionsAll("defaultedTooltip"),f=e.length,g=a.getRawValue(c),h=A(g),k=ls(a,c),l,m;1<f||h&&!f?(f=GB(g,a,c,e,k),e=f.inlineValues,l=f.inlineValueTypes,m=f.blocks,f=f.inlineValues[0]):f?(l=d.getDimensionInfo(e[0]),f=e=Sd(d,c,e[0]),l=l.type):f=e=h?g[0]:g;a=(g=al(a))&&a.name||"";c=d.getName(c);c=b?a:c;return Ha("section",{header:a,noHeader:b||!g,sortParam:f,blocks:[Ha("nameValue",{markerType:"item",markerColor:k,name:c,noName:!Va(c),value:e,valueType:l})].concat(m||[])})}function GB(b,a,c,d,e){function f(c,a){var b=g.getDimensionInfo(a);b&&!1!==b.otherDims.tooltip&&(h?m.push(Ha("nameValue",{markerType:"subItem",markerColor:e,name:b.displayName,value:c,valueType:b.type})):(k.push(c),l.push(b.type)))}var g=a.getData(),h=Ed(b,function(c,a,b){a=g.getDimensionInfo(b);return c||a&&!1!==a.tooltip&&null!=a.displayName},!1),k=[],l=[],m=[];d.length?r(d,function(a){f(Sd(g,c,a),a)}):r(b,f);return{inlineValues:k,inlineValueTypes:l,blocks:m}}function Ei(b,a){return b.getName(a)||b.getId(a)}function os(b){var a=b.name;al(b)||(b.name=HB(b)||a)}function HB(b){var a=b.getRawData();b=a.mapDimensionsAll("seriesName");var c=[];r(b,function(b){b=a.getDimensionInfo(b);b.displayName&&c.push(b.displayName)});return c.join(" ")}function IB(b){return b.model.getRawData().count()}function JB(b){b=b.model;b.setData(b.getRawData().cloneShallow());return KB}function KB(b,a){a.outputData&&b.end>a.outputData.count()&&a.model.getRawData().cloneShallow(a.outputData)}function ps(b,a){r(Pp(b.CHANGABLE_METHODS,b.DOWNSAMPLE_METHODS),function(c){b.wrapMethod(c,P(LB,a))})}function LB(b,a){var c=Rl(b);c&&c.setOutputEnd((a||this).count());return a}function Rl(b){var a=(b.ecModel||{}).scheduler;if(a=a&&a.getPipeline(b.uid)){if(a=a.currentTask){var c=a.agentStubMap;c&&(a=c.get(b.uid))}return a}}function cf(){var b=ma();return function(a){var c=b(a),d=a.pipelineContext;a=!!c.large;var e=!!c.progressiveRender,f=c.large=!(!d||!d.large),c=c.progressiveRender=!(!d||!d.progressiveRender);return!(a===f&&e===c)&&"reset"}}function qs(b,a,c){var d=Jd(b,a),e=a&&null!=a.highlightKey?OA(a.highlightKey):null;null!=d?r(xa(d),function(a){(a=b.getItemGraphicEl(a))&&("emphasis"===c?nc:oc)(a,e)}):b.eachItemGraphicEl(function(a){a&&("emphasis"===c?nc:oc)(a,e)})}function MB(b){return NB(b.model)}function OB(b){var a=b.model,c=b.ecModel,d=b.api,e=b.payload,f=a.pipelineContext.progressiveRender;b=b.view;var g=e&&rs(e).updateMethod,f=f?"incrementalPrepareRender":g&&b[g]?g:"render";if("render"!==f)b[f](a,c,d,e);return PB[f]}function Fi(b,a,c){function d(){g=(new Date).getTime();h=null;b.apply(l,m||[])}var e,f=0,g=0,h=null,k,l,m,n;a=a||0;var p=function(){for(var b=[],p=0;p<arguments.length;p++)b[p]=arguments[p];e=(new Date).getTime();l=this;m=b;b=n||a;p=n||c;n=null;k=e-(p?f:g)-b;clearTimeout(h);p?h=setTimeout(d,b):0<=k?d():h=setTimeout(d,-k);f=e};p.clear=function(){h&&(clearTimeout(h),h=null)};p.debounceNextCall=function(c){n=c};return p}function tg(b,a,c,d){var e=b[a];if(e){var f=e["\x00__throttleOriginMethod"]||e,g=e["\x00__throttleType"];if(e["\x00__throttleRate"]!==c||g!==d){if(null==c||!d)return b[a]=f;e=b[a]=Fi(f,c,"debounce"===d);e["\x00__throttleOriginMethod"]=f;e["\x00__throttleType"]=d;e["\x00__throttleRate"]=c}return e}}function ss(b,a){var c=b.visualStyleMapper||ts[a];return c?c:(console.warn("Unkown style type '"+a+"'."),ts.itemStyle)}function us(b,a){var c=b.visualDrawType||QB[a];return c?c:(console.warn("Unkown style type '"+a+"'."),"fill")}function RB(b){b.overallReset(b.ecModel,b.api,b.payload)}function SB(b){return b.overallProgress&&TB}function TB(){this.agent.dirty();this.getDownstream().dirty()}function UB(){this.agent&&this.agent.dirty()}function VB(b){return b.plan?b.plan(b.model,b.ecModel,b.api,b.payload):null}function WB(b){b.useClearVisual&&b.data.clearAllVisual();b=b.resetDefines=xa(b.reset(b.model,b.ecModel,b.api,b.payload));return 1<b.length?C(b,function(a,c){return vs(c)}):XB}function vs(b){return function(a,c){var d=c.data,e=c.resetDefines[b];if(e&&e.dataEach)for(var f=a.start;f<a.end;f++)e.dataEach(d,f);else e&&e.progress&&e.progress(a,d)}}function YB(b){return b.data.count()}function ws(b,a){for(var c in a.prototype)b[c]=hc}function xs(b){da(b)&&(b=(new DOMParser).parseFromString(b,"text/xml"));9===b.nodeType&&(b=b.firstChild);for(;"svg"!==b.nodeName.toLowerCase()||1!==b.nodeType;)b=b.nextSibling;return b}function Sl(b,a,c){switch(c){case "color":return b.getItemVisual(a,"style")[b.getVisual("drawType")];case "opacity":return b.getItemVisual(a,"style").opacity;case "symbol":case "symbolSize":case "liftZ":return b.getItemVisual(a,c);default:console.warn("Unknown visual type "+c)}}function ug(b,a){switch(a){case "color":return b.getVisual("style")[b.getVisual("drawType")];case "opacity":return b.getVisual("style").opacity;case "symbol":case "symbolSize":case "liftZ":return b.getVisual(a);default:console.warn("Unknown visual type "+a)}}function ys(b,a,c,d){switch(c){case "color":b.ensureUniqueItemVisual(a,"style")[b.getVisual("drawType")]=d;b.setItemVisual(a,"colorFromPalette",!1);break;case "opacity":b.ensureUniqueItemVisual(a,"style").opacity=d;break;case "symbol":case "symbolSize":case "liftZ":b.setItemVisual(a,c,d);break;default:console.warn("Unknown visual type "+c)}}function Gi(b,a,c,d,e,f,g,h){c-=b;d-=a;var k=Math.sqrt(c*c+d*d);c/=k;d/=k;var l=((e-b)*c+(f-a)*d)/k;h&&(l=Math.min(Math.max(l,0),1));l*=k;b=g[0]=b+l*c;a=g[1]=a+l*d;return Math.sqrt((b-e)*(b-e)+(a-f)*(a-f))}function zs(b,a,c,d,e,f,g){0>c&&(b+=c,c=-c);0>d&&(a+=d,d=-d);b=g[0]=Math.min(Math.max(e,b),b+c);a=g[1]=Math.min(Math.max(f,a),a+d);return Math.sqrt((b-e)*(b-e)+(a-f)*(a-f))}function As(b,a){if(b){var c=b.getTextGuideLine(),d=b.getTextContent();if(d&&c){var e=b.textGuideLineConfig||{},f=[[0,0],[0,0],[0,0]],g=e.candidates||ZB,h=d.getBoundingRect().clone();h.applyTransform(d.getComputedTransform());var d=Infinity,e=e.anchor,k=b.getComputedTransform(),l=k&&Ke([],k),m=a.get("length2")||0;e&&Ka.copy(e);for(var n=0;n<g.length;n++){var p=h,q=Yb,t=qc,u=p.width,w=p.height;switch(g[n]){case "top":q.set(p.x+u/2,p.y-0);t.set(0,-1);break;case "bottom":q.set(p.x+u/2,p.y+w+0);t.set(0,1);break;case "left":q.set(p.x-0,p.y+w/2);t.set(-1,0);break;case "right":q.set(p.x+u+0,p.y+w/2),t.set(1,0)}V.scaleAndAdd(pa,Yb,qc,m);pa.transform(l);q=b.getBoundingRect();if(e)p=e.distance(pa);else if(b instanceof Y){for(var p=Ka,v=0,z=0,t=q=0,B,y,u=Infinity,w=b.path.data,L=pa.x,D=pa.y,r=0;r<w.length;){var E=w[r++];1===r&&(v=w[r],z=w[r+1],q=v,t=z);var G=u;switch(E){case Td.M:q=w[r++];t=w[r++];v=q;z=t;break;case Td.L:G=Gi(v,z,w[r],w[r+1],L,D,Zb,!0);v=w[r++];z=w[r++];break;case Td.C:G=Mq(v,z,w[r++],w[r++],w[r++],w[r++],w[r],w[r+1],L,D,Zb);v=w[r++];z=w[r++];break;case Td.Q:G=Oq(v,z,w[r++],w[r++],w[r],w[r+1],L,D,Zb);v=w[r++];z=w[r++];break;case Td.A:var v=w[r++],z=w[r++],x=w[r++],E=w[r++],mc=w[r++],A=w[r++],r=r+1,G=!!(1-w[r++]);B=Math.cos(mc)*x+v;y=Math.sin(mc)*E+z;1>=r&&(q=B,t=y);var C=v,F=z,H=E,I=mc,J=mc+A,K=G;B=(L-v)*E/x+v;y=D;G=Zb;B-=C;y-=F;var fb=Math.sqrt(B*B+y*y);B/=fb;y/=fb;var M=B*H+C,N=y*H+F;1E-4>Math.abs(I-J)%vg?(G[0]=M,G[1]=N,G=fb-H):(K?(K=I,I=ad(J),J=ad(K)):(I=ad(I),J=ad(J)),I>J&&(J+=vg),K=Math.atan2(y,B),0>K&&(K+=vg),K>=I&&K<=J||K+vg>=I&&K+vg<=J?(G[0]=M,G[1]=N,G=fb-H):(fb=H*Math.cos(I)+C,I=H*Math.sin(I)+F,C=H*Math.cos(J)+C,F=H*Math.sin(J)+F,H=(fb-B)*(fb-B)+(I-y)*(I-y),B=(C-B)*(C-B)+(F-y)*(F-y),H<B?(G[0]=fb,G[1]=I,G=Math.sqrt(H)):(G[0]=C,G[1]=F,G=Math.sqrt(B))));v=Math.cos(mc+A)*x+v;z=Math.sin(mc+A)*E+z;break;case Td.R:q=v=w[r++];t=z=w[r++];E=w[r++];mc=w[r++];G=zs(q,t,E,mc,L,D,Zb);break;case Td.Z:G=Gi(v,z,q,t,L,D,Zb,!0),v=q,z=t}G<u&&(u=G,p.set(Zb[0],Zb[1]))}p=u}else p=Ka,q=zs(q.x,q.y,q.width,q.height,pa.x,pa.y,Zb),p.set(Zb[0],Zb[1]),p=q;p<d&&(d=p,pa.transform(k),Ka.transform(k),Ka.toArray(f[0]),pa.toArray(f[1]),Yb.toArray(f[2]))}Bs(f,a.get("minTurnAngle"));c.setShape({points:f})}}}function Bs(b,a){if(180>=a&&0<a){a=a/180*Math.PI;Yb.fromArray(b[0]);pa.fromArray(b[1]);Ka.fromArray(b[2]);V.sub(qc,Yb,pa);V.sub(rc,Ka,pa);var c=qc.len(),d=rc.len();.001>c||.001>d||(qc.scale(1/c),rc.scale(1/d),c=qc.dot(rc),Math.cos(a)<c&&(c=Gi(pa.x,pa.y,Ka.x,Ka.y,Yb.x,Yb.y,Hi,!1),jb.fromArray(Hi),jb.scaleAndAdd(rc,c/Math.tan(Math.PI-a)),c=Ka.x!==pa.x?(jb.x-pa.x)/(Ka.x-pa.x):(jb.y-pa.y)/(Ka.y-pa.y),isNaN(c)||(0>c?V.copy(jb,pa):1<c&&V.copy(jb,Ka),jb.toArray(b[1]))))}}function $B(b,a,c){if(180>=c&&0<c){c=c/180*Math.PI;Yb.fromArray(b[0]);pa.fromArray(b[1]);Ka.fromArray(b[2]);V.sub(qc,pa,Yb);V.sub(rc,Ka,pa);var d=qc.len(),e=rc.len();if(!(.001>d||.001>e)&&(qc.scale(1/d),rc.scale(1/e),qc.dot(a)<Math.cos(c))){d=Gi(pa.x,pa.y,Ka.x,Ka.y,Yb.x,Yb.y,Hi,!1);jb.fromArray(Hi);e=Math.PI/2;a=Math.acos(rc.dot(a));c=e+a-c;if(c>=e)V.copy(jb,Ka);else{jb.scaleAndAdd(rc,d/Math.tan(Math.PI/2-c));c=Ka.x!==pa.x?(jb.x-pa.x)/(Ka.x-pa.x):(jb.y-pa.y)/(Ka.y-pa.y);if(isNaN(c))return;0>c?V.copy(jb,pa):1<c&&V.copy(jb,Ka)}jb.toArray(b[1])}}}function Cs(b,a,c,d){var e="normal"===c;c=e?b:b.ensureState(c);c.ignore=a;(a=d.get("smooth"))&&!0===a&&(a=.3);c.shape=c.shape||{};0<a&&(c.shape.smooth=a);d=d.getModel("lineStyle").getLineStyle();e?b.useStyle(d):c.style=d}function aC(b,a){var c=a.smooth,d=a.points;if(d)if(b.moveTo(d[0][0],d[0][1]),0<c&&3<=d.length){var e=Fc(d[0],d[1]),f=Fc(d[1],d[2]);e&&f?(c*=Math.min(e,f),e=Rf([],d[1],d[0],c/e),f=Rf([],d[1],d[2],c/f),c=Rf([],e,f,.5),b.bezierCurveTo(e[0],e[1],e[0],e[1],c[0],c[1]),b.bezierCurveTo(f[0],f[1],f[0],f[1],d[2][0],d[2][1])):(b.lineTo(d[1][0],d[1][1]),b.lineTo(d[2][0],d[2][1]))}else for(f=1;f<d.length;f++)b.lineTo(d[f][0],d[f][1])}function Tl(b,a,c){var d=b.getTextGuideLine(),e=b.getTextContent();if(e){for(var f=a.normal,g=f.get("show"),h=e.ignore,k=0;k<Nd.length;k++){var l=Nd[k],m=a[l],n="normal"===l;if(m){var p=m.get("show");if((n?h:ka(e.states[l]&&e.states[l].ignore,h))||!ka(p,g)){if(l=n?d:d&&d.states.normal)l.ignore=!0}else d||(d=new kb,b.setTextGuideLine(d),n||!h&&g||Cs(d,!0,"normal",a.normal),b.stateProxy&&(d.stateProxy=b.stateProxy)),Cs(d,!1,l,m)}}d&&(K(d.style,c),d.style.fill=null,a=f.get("showAbove"),(b.textGuideLineConfig=b.textGuideLineConfig||{}).showAbove=a||!1,d.buildPath=aC)}else d&&b.removeTextGuideLine()}function Ul(b,a){a=a||"labelLine";for(var c={normal:b.getModel(a)},d=0;d<tb.length;d++){var e=tb[d];c[e]=b.getModel([e,a])}return c}function bC(b){for(var a=[],c=0;c<b.length;c++){var d=b[c];if(!d.defaultAttr.ignore){var e=d.label,f=e.getComputedTransform(),g=e.getBoundingRect(),h=!f||1E-5>f[1]&&1E-5>f[2],k=e.style.margin||0,l=g.clone();l.applyTransform(f);l.x-=k/2;l.y-=k/2;l.width+=k;l.height+=k;k=h?new Ii(g,f):null;a.push({label:e,labelLine:d.labelLine,rect:l,localRect:g,obb:k,priority:d.priority,defaultAttr:d.defaultAttr,layoutOption:d.computedLayoutOption,axisAligned:h,transform:f})}}return a}function Vl(b,a,c,d,e,f){function g(){y=z.rect[a]-d;r=e-B.rect[a]-B.rect[c]}function h(c,a,b){0>c&&(a=Math.min(a,-c),0<a?(k(a*b,0,n),c=a+c,0>c&&l(-c*b,1)):l(-c*b,1))}function k(c,d,e){for(0!==c&&(q=!0);d<e;d++){var f=b[d];f.rect[a]+=c;f.label[a]+=c}}function l(d,e){for(var f=[],g=0,h=1;h<n;h++){var l=b[h-1].rect,l=Math.max(b[h].rect[a]-l[a]-l[c],0);f.push(l);g+=l}if(g)if(g=Math.min(Math.abs(d)/g,e),0<d)for(h=0;h<n-1;h++)l=f[h]*g,k(l,0,h+1);else for(h=n-1;0<h;h--)l=f[h-1]*g,k(-l,h,n)}function m(c){var a=0>c?-1:1;c=Math.abs(c);for(var b=Math.ceil(c/(n-1)),d=0;d<n-1&&!(0<a?k(b,0,d+1):k(-b,n-d-1,n),c-=b,0>=c);d++);}var n=b.length;if(!(2>n)){b.sort(function(c,b){return c.rect[a]-b.rect[a]});for(var p=0,q=!1,t=0,u=0;u<n;u++){var w=b[u],v=w.rect,p=v[a]-p;0>p&&(v[a]-=p,w.label[a]-=p,q=!0);t+=Math.max(-p,0);p=v[a]+v[c]}0<t&&f&&k(-t/n,0,n);var z=b[0],B=b[n-1],y,r;g();0>y&&l(-y,.8);0>r&&l(r,.8);g();h(y,r,1);h(r,y,-1);g();0>y&&m(-y);0>r&&m(r);return q}}function cC(b){function a(c){if(!c.ignore){var a=c.ensureState("emphasis");null==a.ignore&&(a.ignore=!1)}c.ignore=!0}var c=[];b.sort(function(c,a){return a.priority-c.priority});for(var d=new aa(0,0,0,0),e=0;e<b.length;e++){var f=b[e],g=f.axisAligned,h=f.localRect,k=f.transform,l=f.label,m=f.labelLine;d.copy(f.rect);d.width-=.1;d.height-=.1;d.x+=.05;d.y+=.05;for(var n=f.obb,p=!1,q=0;q<c.length;q++){var t=c[q];if(d.intersect(t.rect)){if(g&&t.axisAligned){p=!0;break}t.obb||(t.obb=new Ii(t.localRect,t.transform));n||(n=new Ii(h,k));if(n.intersect(t.obb)){p=!0;break}}}p?(a(l),m&&a(m)):(l.attr("ignore",f.defaultAttr.ignore),m&&m.attr("ignore",f.defaultAttr.labelGuideIgnore),c.push(f))}}function dC(b,a){var c=b.label,d=a&&a.getTextGuideLine(),e=b.dataIndex,f=b.dataType,g=b.seriesModel.seriesIndex,h=b.label.style.text,k=b.hostRect,l=b.rect,m=c.style.align,c=c.style.verticalAlign;if(d=d&&d.shape.points){for(var n=[],p=0;p<d.length;p++)n.push(d[p].slice());d=n}else d=void 0;return{dataIndex:e,dataType:f,seriesIndex:g,text:h,rect:k,labelRect:l,align:m,verticalAlign:c,labelLinePoints:d}}function Ji(b,a,c){for(var d=0;d<c.length;d++){var e=c[d];null!=a[e]&&(b[e]=a[e])}}function Ds(b,a){function c(c,a){var d=[];c.eachComponent({mainType:"series",subType:b,query:a},function(c){d.push(c.seriesIndex)});return d}r([[b+"ToggleSelect","toggleSelect"],[b+"Select","select"],[b+"UnSelect","unselect"]],function(b){a(b[0],function(a,d,g){a=F({},a);Sa(a.type,b[1]);g.dispatchAction(F(a,{type:b[1],seriesIndex:c(d,a)}))})})}function df(b,a,c,d,e){var f=b+a;c.isSilent(f)||(Vb("event "+f+" is deprecated."),d.eachComponent({mainType:"series",subType:"pie"},function(a){for(var b=a.seriesIndex,d=e.selected,g=0;g<d.length;g++)if(d[g].seriesIndex===b){var m=a.getData(),n=Jd(m,e.fromActionPayload);c.trigger(f,{type:f,seriesId:a.id,name:A(n)?m.getName(n[0]):m.getName(n),selected:F({},a.option.selectedMap)})}}))}function eC(b,a,c){b.on("selectchanged",function(b){var d=c.getModel();b.isFromClick?(df("map","selectchanged",a,d,b),df("pie","selectchanged",a,d,b)):"select"===b.fromAction?(df("map","selected",a,d,b),df("pie","selected",a,d,b)):"unselect"===b.fromAction&&(df("map","unselected",a,d,b),df("pie","unselected",a,d,b))})}function ef(b,a,c){for(var d;b&&(!a(b)||(d=b,!c));)b=b.__hostTarget||b.parent;return d}function fC(b,a){if("image"!==this.type){var c=this.style;this.__isEmptyBrush?(c.stroke=b,c.fill=a||"#fff",c.lineWidth=2):c.fill=b;this.markRedraw()}}function Pa(b,a,c,d,e,f,g){var h=0===b.indexOf("empty");h&&(b=b.substr(5,1).toLowerCase()+b.substr(6));b=0===b.indexOf("image://")?xl(b.slice(8),new aa(a,c,d,e),g?"center":"cover"):0===b.indexOf("path://")?hg(b.slice(7),{},new aa(a,c,d,e),g?"center":"cover"):new gC({shape:{symbolType:b,x:a,y:c,width:d,height:e}});b.__isEmptyBrush=h;b.setColor=fC;f&&b.setColor(f);return b}function Wl(b,a,c){if("radial"===a.type){var d=c.width,e=c.height,f=Math.min(d,e),g=null==a.x?.5:a.x,h=null==a.y?.5:a.y,k=null==a.r?.5:a.r;a.global||(g=g*d+c.x,h=h*e+c.y,k*=f);b=b.createRadialGradient(g,h,0,g,h,k)}else d=null==a.x?0:a.x,e=null==a.x2?1:a.x2,f=null==a.y?0:a.y,g=null==a.y2?0:a.y2,a.global||(d=d*c.width+c.x,e=e*c.width+c.x,f=f*c.height+c.y,g=g*c.height+c.y),d=isNaN(d)?0:d,e=isNaN(e)?1:e,f=isNaN(f)?0:f,g=isNaN(g)?0:g,b=b.createLinearGradient(d,f,e,g);a=a.colorStops;for(c=0;c<a.length;c++)b.addColorStop(a[c].offset,a[c].color);return b}function Es(b,a){if(b===a||!b&&!a)return!1;if(!b||!a||b.length!==a.length)return!0;for(var c=0;c<b.length;c++)if(b[c]!==a[c])return!0;return!1}function Xl(b,a){if(!(b&&"solid"!==b&&0<a))return null;a=a||1;return"dashed"===b?[4*a,2*a]:"dotted"===b?[a]:Rh(b)?[b]:A(b)?b:null}function Ki(b){var a=b.stroke;return!(null==a||"none"===a||!(0<b.lineWidth))}function Li(b){b=b.fill;return null!=b&&"none"!==b}function Fs(b,a){if(null!=a.fillOpacity&&1!==a.fillOpacity){var c=b.globalAlpha;b.globalAlpha=a.fillOpacity*a.opacity;b.fill();b.globalAlpha=c}else b.fill()}function Gs(b,a){if(null!=a.strokeOpacity&&1!==a.strokeOpacity){var c=b.globalAlpha;b.globalAlpha=a.strokeOpacity*a.opacity;b.stroke();b.globalAlpha=c}else b.stroke()}function Yl(b,a,c){if((c=dl(a.image,a.__image,c))&&c.width&&c.height)return b=b.createPattern(c,a.repeat||"repeat"),"function"===typeof DOMMatrix&&(c=new DOMMatrix,c.rotateSelf(0,0,(a.rotation||0)/Math.PI*180),c.scaleSelf(a.scaleX||1,a.scaleY||1),c.translateSelf(a.x||0,a.y||0),b.setTransform(c)),b}function hC(b,a,c,d){var e=Ki(c),f=Li(c),g=c.strokePercent,h=1>g,k=!a.path;a.silent&&!h||!k||a.createPathProxy();var l=a.path||iC;if(!d){var m=c.fill,n=c.stroke,p=f&&!!m.colorStops,q=e&&!!n.colorStops,t=f&&!!m.image,u=e&&!!n.image,w=void 0,v=void 0,z=void 0,B=void 0,y=void 0;if(p||q)y=a.getBoundingRect();p&&(w=a.__dirty?Wl(b,m,y):a.__canvasFillGradient,a.__canvasFillGradient=w);q&&(v=a.__dirty?Wl(b,n,y):a.__canvasStrokeGradient,a.__canvasStrokeGradient=v);t&&(z=a.__dirty||!a.__canvasFillPattern?Yl(b,m,a):a.__canvasFillPattern,a.__canvasFillPattern=z);u&&(B=a.__dirty||!a.__canvasStrokePattern?Yl(b,n,a):a.__canvasStrokePattern,a.__canvasStrokePattern=z);p?b.fillStyle=w:t&&(z?b.fillStyle=z:f=!1);q?b.strokeStyle=v:u&&(B?b.strokeStyle=B:e=!1)}m=c.lineDash&&0<c.lineWidth&&Xl(c.lineDash,c.lineWidth);n=c.lineDashOffset;p=!!b.setLineDash;q=a.getGlobalScale();l.setScale(q[0],q[1],a.segmentIgnoreThreshold);if(m){var r=c.strokeNoScale&&a.getLineScale?a.getLineScale():1;r&&1!==r&&(m=C(m,function(c){return c/r}),n/=r)}q=!0;if(k||a.__dirty&Y.SHAPE_CHANGED_BIT||m&&!p&&e)l.setDPR(b.dpr),h?l.setContext(null):(l.setContext(b),q=!1),l.reset(),m&&!p&&(l.setLineDash(m),l.setLineDashOffset(n)),a.buildPath(l,a.shape,d),l.toStatic(),a.pathUpdated();q&&l.rebuildPath(b,h?g:1);m&&p&&(b.setLineDash(m),b.lineDashOffset=n);d||(c.strokeFirst?(e&&Gs(b,c),f&&Fs(b,c)):(f&&Fs(b,c),e&&Gs(b,c)));m&&p&&b.setLineDash([])}function jC(b,a,c){var d=c.text;null!=d&&(d+="");if(d){b.font=c.font||"12px sans-serif";b.textAlign=c.textAlign;b.textBaseline=c.textBaseline;var e=void 0;if(b.setLineDash){var f=c.lineDash&&0<c.lineWidth&&Xl(c.lineDash,c.lineWidth),g=c.lineDashOffset;if(f){var h=c.strokeNoScale&&a.getLineScale?a.getLineScale():1;h&&1!==h&&(f=C(f,function(c){return c/h}),g/=h);b.setLineDash(f);b.lineDashOffset=g;e=!0}}c.strokeFirst?(Ki(c)&&b.strokeText(d,c.x,c.y),Li(c)&&b.fillText(d,c.x,c.y)):(Li(c)&&b.fillText(d,c.x,c.y),Ki(c)&&b.strokeText(d,c.x,c.y));e&&b.setLineDash([])}}function Hs(b,a,c,d,e){var f=!1;if(!d&&(c=c||{},a===c))return!1;if(d||a.opacity!==c.opacity)f||(ob(b,e),f=!0),b.globalAlpha=null==a.opacity?Ud.opacity:a.opacity;if(d||a.blend!==c.blend)f||(ob(b,e),f=!0),b.globalCompositeOperation=a.blend||Ud.blend;for(var g=0;g<Is.length;g++){var h=Is[g];if(d||a[h]!==c[h])f||(ob(b,e),f=!0),b[h]=b.dpr*(a[h]||0)}if(d||a.shadowColor!==c.shadowColor)f||(ob(b,e),f=!0),b.shadowColor=a.shadowColor||Ud.shadowColor;return f}function Js(b,a,c,d,e){var f=wg(a,e.inHover);c=d?null:c&&wg(c,e.inHover)||{};if(f===c)return!1;var g=Hs(b,f,c,d,e);if(d||f.fill!==c.fill)g||(ob(b,e),g=!0),b.fillStyle=f.fill;if(d||f.stroke!==c.stroke)g||(ob(b,e),g=!0),b.strokeStyle=f.stroke;if(d||f.opacity!==c.opacity)g||(ob(b,e),g=!0),b.globalAlpha=null==f.opacity?1:f.opacity;a.hasStroke()&&(a=f.lineWidth/(f.strokeNoScale&&a&&a.getLineScale?a.getLineScale():1),b.lineWidth!==a&&(g||(ob(b,e),g=!0),b.lineWidth=a));for(a=0;a<Ks.length;a++){var h=Ks[a],k=h[0];if(d||f[k]!==c[k])g||(ob(b,e),g=!0),b[k]=f[k]||h[1]}return g}function Ls(b,a){var c=a.transform,d=b.dpr||1;c?b.setTransform(d*c[0],d*c[1],d*c[2],d*c[3],d*c[4],d*c[5]):b.setTransform(d,0,0,d,0,0)}function ob(b,a){a.batchFill&&b.fill();a.batchStroke&&b.stroke();a.batchFill="";a.batchStroke=""}function wg(b,a){return a?b.__hoverStyle||b.style:b.style}function Zl(b,a){hd(b,a,{inHover:!1,viewWidth:0,viewHeight:0},!0)}function hd(b,a,c,d){var e=a.transform;if(a.shouldBePainted(c.viewWidth,c.viewHeight,!1,!1)){var f=a.__clipPaths,g=c.prevElClipPaths,h=!1,k=!1;if(!g||Es(f,g)){g&&g.length&&(ob(b,c),b.restore(),k=h=!0,c.prevElClipPaths=null,c.allClipped=!1,c.prevEl=null);if(f&&f.length){ob(b,c);b.save();g=!1;for(h=0;h<f.length;h++){var l=f[h],g=g||l.isZeroArea();Ls(b,l);b.beginPath();l.buildPath(b,l.shape);b.clip()}c.allClipped=g;h=!0}c.prevElClipPaths=f}if(c.allClipped)a.__isRendered=!1;else{a.beforeBrush&&a.beforeBrush();a.innerBeforeBrush();(g=c.prevEl)||(k=h=!0);if(f=a instanceof Y&&a.autoBatch)var f=a.style,l=Li(f),m=Ki(f),f=!(f.lineDash||!(+l^+m)||l&&"string"!==typeof f.fill||m&&"string"!==typeof f.stroke||1>f.strokePercent||1>f.strokeOpacity||1>f.fillOpacity);h||(h=g.transform,h=e&&h?e[0]!==h[0]||e[1]!==h[1]||e[2]!==h[2]||e[3]!==h[3]||e[4]!==h[4]||e[5]!==h[5]:e||h?!0:!1);h?(ob(b,c),Ls(b,a)):f||ob(b,c);e=wg(a,c.inHover);if(a instanceof Y)1!==c.lastDrawType&&(k=!0,c.lastDrawType=1),Js(b,a,g,k,c),f&&(c.batchFill||c.batchStroke)||b.beginPath(),hC(b,a,e,f),f&&(c.batchFill=e.fill||"",c.batchStroke=e.stroke||"");else if(a instanceof Vd)3!==c.lastDrawType&&(k=!0,c.lastDrawType=3),Js(b,a,g,k,c),jC(b,a,e);else if(a instanceof Ga){if(2!==c.lastDrawType&&(k=!0,c.lastDrawType=2),Hs(b,wg(a,c.inHover),g&&wg(g,c.inHover),k,c),(k=a.__image=dl(e.image,a.__image,a,a.onload))&&k&&k.width&&k.height){var g=e.x||0,h=e.y||0,l=a.getWidth(),m=a.getHeight(),n=k.width/k.height;null==l&&null!=m?l=m*n:null==m&&null!=l?m=l/n:null==l&&null==m&&(l=k.width,m=k.height);if(e.sWidth&&e.sHeight){var n=e.sx||0,p=e.sy||0;b.drawImage(k,n,p,e.sWidth,e.sHeight,g,h,l,m)}else e.sx&&e.sy?(n=e.sx,p=e.sy,b.drawImage(k,n,p,l-n,m-p,g,h,l,m)):b.drawImage(k,g,h,l,m)}}else if(a instanceof xg){4!==c.lastDrawType&&(c.lastDrawType=4);h=a.getDisplayables();k=a.getTemporalDisplayables();b.save();e={prevElClipPaths:null,prevEl:null,allClipped:!1,viewWidth:c.viewWidth,viewHeight:c.viewHeight,inHover:c.inHover};l=a.getCursor();for(m=h.length;l<m;l++)g=h[l],g.beforeBrush&&g.beforeBrush(),g.innerBeforeBrush(),hd(b,g,e,l===m-1),g.innerAfterBrush(),g.afterBrush&&g.afterBrush(),e.prevEl=g;h=0;for(l=k.length;h<l;h++)g=k[h],g.beforeBrush&&g.beforeBrush(),g.innerBeforeBrush(),hd(b,g,e,h===l-1),g.innerAfterBrush(),g.afterBrush&&g.afterBrush(),e.prevEl=g;a.clearTemporalDisplayables();a.notClear=!0;b.restore()}f&&d&&ob(b,c);a.innerAfterBrush();a.afterBrush&&a.afterBrush();c.prevEl=a;a.__dirty=0;a.__isRendered=!0}}else a.__dirty&=~Hb.REDARAW_BIT,a.__isRendered=!1}function yg(b,a){if("none"===b)return null;var c=a.getDevicePixelRatio(),d=a.getZr(),e="svg"===d.painter.type;if(b.dirty)$l["delete"](b);var f=$l.get(b);if(f)return f;var g=K(b,{symbol:"rect",symbolSize:1,symbolKeepAspect:!0,color:"rgba(0, 0, 0, 0.2)",backgroundColor:null,dashArrayX:5,dashArrayY:5,rotation:0,maxTileWidth:512,maxTileHeight:512});"none"===g.backgroundColor&&(g.backgroundColor=null);f={repeat:"repeat"};(function(a){for(var b=[c],f=!0,h=0;h<Ms.length;++h){var n=g[Ms[h]],p=typeof n;if(null!=n&&!A(n)&&"string"!==p&&"number"!==p&&"boolean"!==p){f=!1;break}b.push(n)}var q;f&&(q=b.join(",")+(e?"-svg":""),b=Ns.get(q))&&(e?a.svgElement=b:a.image=b);var t=Os(g.dashArrayX),u=kC(g.dashArrayY),w=Ps(g.symbol),v=lC(t),z=Qs(u),B=!e&&Wd(),y=e&&d.painter.createSVGElement("g"),r=function(){for(var c=1,a=0,b=v.length;a<b;++a)c=wq(c,v[a]);for(var d=1,a=0,b=w.length;a<b;++a)d=wq(d,w[a].length);c*=d;a=z*v.length*w.length;b=function(c){console.warn("Calculated decal size is greater than "+c+" due to decal option settings so "+c+" is used for the decal size. Please consider changing the decal option to make a smaller decal or set "+c+" to be larger to avoid incontinuity.")};c>g.maxTileWidth&&b("maxTileWidth");a>g.maxTileHeight&&b("maxTileHeight");return{width:Math.max(1,Math.min(c,g.maxTileWidth)),height:Math.max(1,Math.min(a,g.maxTileHeight))}}(),D;B&&(B.width=r.width*c,B.height=r.height*c,D=B.getContext("2d"));(function(){D&&(D.clearRect(0,0,B.width,B.height),g.backgroundColor&&(D.fillStyle=g.backgroundColor,D.fillRect(0,0,B.width,B.height)));for(var a=0,b=0;b<u.length;++b)a+=u[b];if(!(0>=a))for(var a=-z,f=0,h=0,k=0;a<r.height;){if(0===f%2){for(var l=h/2%w.length,m=0,n=0,p=0;m<2*r.width;){for(var q=0,b=0;b<t[k].length;++b)q+=t[k][b];if(0>=q)break;0===n%2&&(b=.5*(1-g.symbolSize),q=e?1:c,b=Pa(w[l][p/2%w[l].length],(m+t[k][n]*b)*q,(a+u[f]*b)*q,t[k][n]*g.symbolSize*q,u[f]*g.symbolSize*q,g.color,g.symbolKeepAspect),e?y.appendChild(d.painter.paintOne(b)):Zl(D,b));m+=t[k][n];++p;++n;n===t[k].length&&(n=0)}++k;k===t.length&&(k=0)}a+=u[f];++h;++f;f===u.length&&(f=0)}})();f&&Ns.put(q,B||y);a.image=B;a.svgElement=y;a.svgWidth=r.width;a.svgHeight=r.height})(f);f.rotation=g.rotation;f.scaleX=f.scaleY=e?1:1/c;$l.set(b,f);b.dirty=!1;return f}function Ps(b){if(!b||0===b.length)return[["rect"]];if("string"===typeof b)return[[b]];for(var a=!0,c=0;c<b.length;++c)if("string"!==typeof b[c]){a=!1;break}if(a)return Ps([b]);a=[];for(c=0;c<b.length;++c)"string"===typeof b[c]?a.push([b[c]]):a.push(b[c]);return a}function Os(b){if(!b||0===b.length)return[[0,0]];if("number"===typeof b){var a=Math.ceil(b);return[[a,a]]}for(var a=!0,c=0;c<b.length;++c)if("number"!==typeof b[c]){a=!1;break}if(a)return Os([b]);for(var d=[],c=0;c<b.length;++c)"number"===typeof b[c]?(a=Math.ceil(b[c]),d.push([a,a])):(a=C(b[c],function(c){return Math.ceil(c)}),1===a.length%2?d.push(a.concat(a)):d.push(a));return d}function kC(b){if(!b||"object"===typeof b&&0===b.length)return[0,0];if("number"===typeof b)return b=Math.ceil(b),[b,b];var a=C(b,function(c){return Math.ceil(c)});return b.length%2?a.concat(a):a}function lC(b){return C(b,function(a){return Qs(a)})}function Qs(b){for(var a=0,c=0;c<b.length;++c)a+=b[c];return 1===b.length%2?2*a:a}function Rs(b){return function(){for(var a=[],c=0;c<arguments.length;c++)a[c]=arguments[c];if(this.isDisposed())vb(this.id);else return Ss(this,b,a)}}function Ts(b){return function(){for(var a=[],c=0;c<arguments.length;c++)a[c]=arguments[c];return Ss(this,b,a)}}function Ss(b,a,c){c[0]=c[0]&&c[0].toLowerCase();return $b.prototype[a].apply(b,c)}function vb(b){console.warn("Instance "+b+" has been disposed")}function Us(b){Mi[b]=!1}function am(b){var a=Xd,c=bm;b=b.getAttribute?b.getAttribute(c):b[c];return a[b]}function cm(b){0>Ni(dm,b)&&dm.push(b)}function em(b,a){fm(gm,b,a,2E3)}function Vs(b){0>Ni(hm,b)&&b&&hm.push(b)}function Ws(b){0>Ni(im,b)&&b&&im.push(b)}function ac(b,a,c){"function"===typeof a&&(c=a,a="");var d=zg(b)?b.type:[b,b={event:a}][0];b.event=(b.event||d).toLowerCase();a=b.event;Ag[a]||(ff(Xs.test(d)&&Xs.test(a)),Oi[d]||(Oi[d]={action:c,actionInfo:b}),Ag[a]=d)}function Ys(b,a){Yd.register(b,a)}function Zs(b,a){fm(Pi,b,a,1E3,"layout")}function id(b,a){fm(Pi,b,a,3E3,"visual")}function fm(b,a,c,d,e){if(mC(a)||zg(a))c=a,a=d;if(isNaN(a)||null==a)throw Error("Illegal priority");Ca(b,function(a){ff(a.__raw!==c)});0<=Ni($s,c)||($s.push(c),d=at.wrapStageHandler(c,e),d.__prio=a,d.__raw=c,b.push(d))}function bt(b,a){Qi[b]=a}function ct(b,a,c){Ri.registerMap(b,a,c)}function ca(b){A(b)?r(b,function(a){ca(a)}):0<=ba(dt,b)||(dt.push(b),fa(b)&&(b={install:b}),b.install(nC))}function Bg(b){return null==b?0:b.length||1}function et(b){return b}function oC(b){var a={},c=a.encode={},d=R(),e=[],f=[],g=a.userOutput={dimensionNames:b.dimensions.slice(),encode:{}};r(b.dimensions,function(a){var h=b.getDimensionInfo(a),k=h.coordDim;if(k){O(null==jm.get(k));var l=h.coordDimIndex;km(c,k)[l]=a;h.isExtraCoord||(d.set(k,1),pC(h.type)&&(e[0]=a),km(g.encode,k)[l]=h.index);h.defaultTooltip&&f.push(a)}jm.each(function(a,b){var d=km(c,b),e=h.otherDims[b];null!=e&&!1!==e&&(d[e]=h.name)})});var h=[],k={};d.each(function(a,b){var d=c[b];k[b]=d[0];h=h.concat(d)});a.dataDimsOnCoord=h;a.encodeFirstDimNotExtra=k;var l=c.label;l&&l.length&&(e=l.slice());(l=c.tooltip)&&l.length?f=l.slice():f.length||(f=e.slice());c.defaultedLabel=e;c.defaultedTooltip=f;return a}function km(b,a){b.hasOwnProperty(a)||(b[a]=[]);return b[a]}function Si(b){return"category"===b?"ordinal":"time"===b?"time":"float"}function pC(b){return!("ordinal"===b||"time"===b)}function qC(b,a,c){function d(c,a,b){null!=jm.get(a)?c.otherDims[a]=b:(c.coordDim=a,c.coordDimIndex=b,g.set(a,!0))}a instanceof Rd||(a=Ol(a));c=c||{};b=(b||[]).slice();for(var e=(c.dimsDef||[]).slice(),f=R(),g=R(),h=[],k=rC(a,b,e,c.dimCount),l=0;l<k;l++){var m=e[l],n=e[l]=F({},N(m)?m:{name:m}),p=n.name,m=h[l]=new Cg;null!=p&&null==f.get(p)&&(m.name=m.displayName=p,f.set(p,l));null!=n.type&&(m.type=n.type);null!=n.displayName&&(m.displayName=n.displayName)}m=c.encodeDef;!m&&c.encodeDefaulter&&(m=c.encodeDefaulter(a,k));var q=R(m);q.each(function(c,a){var b=xa(c).slice();if(1===b.length&&!da(b[0])&&0>b[0])q.set(a,!1);else{var e=q.set(a,[]);r(b,function(c,b){var g=da(c)?f.get(c):c;null!=g&&g<k&&(e[b]=g,d(h[g],a,b))})}});var t=0;r(b,function(c){var a,b,e,f;da(c)?(a=c,f={}):(f=c,a=f.name,c=f.ordinalMeta,f.ordinalMeta=null,f=J(f),f.ordinalMeta=c,b=f.dimsDef,e=f.otherDims,f.name=f.coordDim=f.coordDimIndex=f.dimsDef=f.otherDims=null);c=q.get(a);if(!1!==c){c=xa(c);if(!c.length)for(var g=0;g<(b&&b.length||1);g++){for(;t<h.length&&null!=h[t].coordDim;)t++;t<h.length&&c.push(t++)}r(c,function(c,g){var k=h[c];d(K(k,f),a,g);if(null==k.name&&b){var l=b[g];!N(l)&&(l={name:l});k.name=k.displayName=l.name;k.defaultTooltip=l.defaultTooltip}e&&K(k.otherDims,e)})}});b=c.generateCoord;c=c.generateCoordCount;e=null!=c;c=b?c||1:0;l=b||"value";for(n=0;n<k;n++){m=h[n]=h[n]||new Cg;if(null==m.coordDim){m.coordDim=ft(l,g,e);m.coordDimIndex=0;if(!b||0>=c)m.isExtraCoord=!0;c--}null==m.name&&(m.name=ft(m.coordDim,f,!1));null!=m.type||Mr(a.data,a.sourceFormat,a.seriesLayoutBy,a.dimensionsDefine,a.startIndex,n)!==ib.Must&&(!m.isExtraCoord||null==m.otherDims.itemName&&null==m.otherDims.seriesName)||(m.type="ordinal")}return h}function rC(b,a,c,d){var e=Math.max(b.dimensionsDetectedCount||1,a.length,c.length,d||0);r(a,function(c){var a;N(c)&&(a=c.dimsDef)&&(e=Math.max(e,a.length))});return e}function ft(b,a,c){if(c||null!=a.get(b)){for(c=0;null!=a.get(b+c);)c++;b+=c}a.set(b,!0);return b}function gf(b,a){a=a||{};return qC(a.coordDimensions||[],b,{dimsDef:a.dimensionsDefine||b.dimensionsDefine,encodeDef:a.encodeDefine||b.encodeDefine,dimCount:a.dimensionsCount,encodeDefaulter:a.encodeDefaulter,generateCoord:a.generateCoord,generateCoordCount:a.generateCoordCount})}function sC(b){var a=b.get("coordinateSystem"),c=new tC(a);if(a=uC[a])return a(b,c,c.axisMap,c.categoryAxisMap),c}function hf(b){return"category"===b.get("type")}function gt(b,a,c){c=c||{};var d=c.byIndex,e=c.stackedCoordDimension,f=!(!b||!b.get("stack")),g,h,k,l;r(a,function(c,b){da(c)&&(a[b]=c={name:c});f&&!c.isExtraCoord&&(d||g||!c.ordinalMeta||(g=c),h||"ordinal"===c.type||"time"===c.type||e&&e!==c.coordDim||(h=c))});!h||d||g||(d=!0);if(h){k="__\x00ecstackresult";l="__\x00ecstackedover";g&&(g.createInvertedIndices=!0);var m=h.coordDim;b=h.type;var n=0;r(a,function(c){c.coordDim===m&&n++});a.push({name:k,coordDim:m,coordDimIndex:n,type:b,isExtraCoord:!0,isCalculationCoord:!0});n++;a.push({name:l,coordDim:l,coordDimIndex:n,type:b,isExtraCoord:!0,isCalculationCoord:!0})}return{stackedDimension:h&&h.name,stackedByDimension:g&&g.name,isStackedByIndex:d,stackedOverDimension:l,stackResultDimension:k}}function Gc(b,a){return!!a&&a===b.getCalculationInfo("stackedDimension")}function lm(b,a){return Gc(b,a)?b.getCalculationInfo("stackResultDimension"):a}function sc(b,a,c){c=c||{};b instanceof Rd||(b=Ol(b));var d=a.get("coordinateSystem"),d=Yd.get(d),e=sC(a),f;e&&e.coordSysDims&&(f=C(e.coordSysDims,function(c){var a={name:c};if(c=e.axisMap.get(c))c=c.get("type"),a.type=Si(c);return a}));f||(f=d&&(d.getDimensionsInfo?d.getDimensionsInfo():d.dimensions.slice())||["x","y"]);var d=c.useEncodeDefaulter,d=gf(b,{coordDimensions:f,generateCoord:c.generateCoord,encodeDefaulter:fa(d)?d:d?P(Kr,f,a):null}),g,h;e&&r(d,function(a,b){var d=e.categoryAxisMap.get(a.coordDim);d&&(null==g&&(g=b),a.ordinalMeta=d.getOrdinalMeta(),c.createInvertedIndices&&(a.createInvertedIndices=!0));null!=a.otherDims.itemName&&(h=!0)});h||null==g||(d[g].otherDims.itemName=0);f=gt(a,d);a=new Wa(d,a);a.setCalculationInfo(f);f=null!=g&&vC(b)?function(c,a,b,d){return d===g?b:this.defaultDimValueGetter(c,a,b,d)}:null;a.hasItemOption=!1;a.initData(b,null,f);return a}function vC(b){if("original"===b.sourceFormat){b=b.data||[];for(var a=0;a<b.length&&null==b[a];)a++;b=b[a];return null!=b&&!A(bg(b))}}function wC(b){return N(b)&&null!=b.value?b.value:b+""}function Ti(b,a){return b>=a[0]&&b<=a[1]}function Ui(b,a){return a[1]===a[0]?.5:(b-a[0])/(a[1]-a[0])}function Vi(b,a){return b*(a[1]-a[0])+a[0]}function mm(b){return b.get("stack")||"__ec_stack_"+b.seriesIndex}function ht(b,a){var c=[];a.eachSeriesByType(b,function(a){!a.coordinateSystem||"cartesian2d"!==a.coordinateSystem.type||a.pipelineContext&&a.pipelineContext.large||c.push(a)});return c}function xC(b){var a={};r(b,function(c){var b=c.coordinateSystem.getBaseAxis();if("time"===b.type||"value"===b.type){c=c.getData();for(var d=b.dim+"_"+b.index,b=c.mapDimension(b.dim),e=0,f=c.count();e<f;++e){var g=c.get(b,e);a[d]?a[d].push(g):a[d]=[g]}}});b={};for(var c in a)if(a.hasOwnProperty(c)){var d=a[c];if(d){d.sort(function(c,a){return c-a});for(var e=null,f=1;f<d.length;++f){var g=d[f]-d[f-1];0<g&&(e=null===e?g:Math.min(e,g))}b[c]=e}}return b}function nm(b){var a=xC(b),c=[];r(b,function(b){var d=b.coordinateSystem.getBaseAxis(),f=d.getExtent(),g;if("category"===d.type)g=d.getBandWidth();else if("value"===d.type||"time"===d.type){g=a[d.dim+"_"+d.index];var f=Math.abs(f[1]-f[0]),h=d.scale.getExtent(),h=Math.abs(h[1]-h[0]);g=g?f/h*g:f}else g=b.getData(),g=Math.abs(f[1]-f[0])/g.count();var f=H(b.get("barWidth"),g),h=H(b.get("barMaxWidth"),g),k=H(b.get("barMinWidth")||1,g),l=b.get("barGap"),m=b.get("barCategoryGap");c.push({bandWidth:g,barWidth:f,barMaxWidth:h,barMinWidth:k,barGap:l,barCategoryGap:m,axisKey:d.dim+d.index,stackId:mm(b)})});return it(c)}function it(b){var a={};r(b,function(c,b){var d=c.axisKey,e=c.bandWidth,e=a[d]||{bandWidth:e,remainedWidth:e,autoWidthCount:0,categoryGap:null,gap:"20%",stacks:{}},h=e.stacks;a[d]=e;d=c.stackId;h[d]||e.autoWidthCount++;h[d]=h[d]||{width:0,maxWidth:0};var k=c.barWidth;k&&!h[d].width&&(h[d].width=k,k=Math.min(e.remainedWidth,k),e.remainedWidth-=k);(k=c.barMaxWidth)&&(h[d].maxWidth=k);(k=c.barMinWidth)&&(h[d].minWidth=k);h=c.barGap;null!=h&&(e.gap=h);h=c.barCategoryGap;null!=h&&(e.categoryGap=h)});var c={};r(a,function(a,b){c[b]={};var d=a.stacks,e=a.bandWidth,h=a.categoryGap;null==h&&(h=ia(d).length,h=Math.max(35-4*h,15)+"%");var h=H(h,e),k=H(a.gap,1),l=a.remainedWidth,m=a.autoWidthCount,n=(l-h)/(m+(m-1)*k),n=Math.max(n,0);r(d,function(c){var a=c.maxWidth,b=c.minWidth;if(c.width)d=c.width,a&&(d=Math.min(d,a)),b&&(d=Math.max(d,b)),c.width=d,l-=d+k*d,m--;else{var d=n;a&&a<d&&(d=Math.min(a,l));b&&b>d&&(d=b);d!==n&&(c.width=d,l-=d+k*d,m--)}});var n=(l-h)/(m+(m-1)*k),n=Math.max(n,0),p=0,q;r(d,function(c,a){c.width||(c.width=n);q=c;p+=c.width*(1+k)});q&&(p-=q.width*k);var t=-p/2;r(d,function(a,d){c[b][d]=c[b][d]||{bandWidth:e,offset:t,width:a.width};t+=a.width*(1+k)})});return c}function jt(b,a,c){if(b&&a)return b=b[a.dim+a.index],null!=b&&null!=c?b[mm(c)]:b}function kt(b,a){var c=ht(b,a),d=nm(c),e={};r(c,function(c){var a=c.getData(),b=c.coordinateSystem,f=b.getBaseAxis(),l=mm(c),m=d[f.dim+f.index][l],n=m.offset,p=m.width,q=b.getOtherAxis(f);c=c.get("barMinHeight")||0;e[l]=e[l]||[];a.setLayout({bandWidth:m.bandWidth,offset:n,size:p});for(var m=a.mapDimension(q.dim),f=a.mapDimension(f.dim),t=Gc(a,m),u=q.isHorizontal(),q=q.toGlobalCoord(q.dataToCoord("log"===q.type?1:0)),w=0,v=a.count();w<v;w++){var z=a.get(m,w),B=a.get(f,w),y=0<=z?"p":"n",r=q;t&&(e[l][B]||(e[l][B]={p:q,n:q}),r=e[l][B][y]);var D,Q;u?(Q=b.dataToPoint([z,B]),z=r,r=Q[1]+n,D=Q[0]-q,Q=p,Math.abs(D)<c&&(D=(0>D?-1:1)*c),isNaN(D)||t&&(e[l][B][y]+=D)):(Q=b.dataToPoint([B,z]),z=Q[0]+n,D=p,Q=Q[1]-q,Math.abs(Q)<c&&(Q=(0>=Q?-1:1)*c),isNaN(Q)||t&&(e[l][B][y]+=Q));a.setItemLayout(w,{x:z,y:r,width:D,height:Q})}})}function yC(b,a,c,d){var e=qb(a),f=qb(c),g=function(c){return Fr(e,c,d)===Fr(f,c,d)},h=function(){return g("year")&&g("month")};a=function(){return h()&&g("day")&&g("hour")&&g("minute")};switch(b){case "year":return g("year");case "month":return h();case "day":return h()&&g("day");case "hour":return h()&&g("day")&&g("hour");case "minute":return a();case "second":return a()&&g("second");case "millisecond":return a()&&g("second")&&g("millisecond")}}function lt(b,a){b/=a?6E4:1E3;return 30<b?30:20<b?20:15<b?15:10<b?10:5<b?5:2<b?2:1}function zC(b,a,c,d){function e(b,e,f){var g=[],h=!e.length;if(!yC(af(b),d[0],d[1],c)){if(h){e=new Date(new Date(d[0]));switch(af(b)){case "year":case "month":e[c?"setUTCMonth":"setMonth"](0);case "day":e[c?"setUTCDate":"setDate"](1);case "hour":e[c?"setUTCHours":"setHours"](0);case "minute":e[c?"setUTCMinutes":"setMinutes"](0);case "second":e[c?"setUTCSeconds":"setSeconds"](0),e[c?"setUTCSeconds":"setSeconds"](0)}e=[{value:e.getTime()},{value:d[1]}]}for(h=0;h<e.length-1;h++){var k=e[h].value,l=e[h+1].value;if(k!==l){var m=void 0,n=void 0,p=void 0;switch(b){case "year":m=Math.max(1,Math.round(a/864E5/365));n=Dl(c);p=c?"setUTCFullYear":"setFullYear";break;case "half-year":case "quarter":case "month":m=a;m/=2592E6;m=6<m?6:3<m?3:2<m?2:1;n=bf(c);p=c?"setUTCMonth":"setMonth";break;case "week":case "half-week":case "day":m=a;m/=864E5;m=16<m?16:7.5<m?7:3.5<m?4:1.5<m?2:1;n=vi(c);p=c?"setUTCDate":"setDate";break;case "half-day":case "quarter-day":case "hour":m=a;m/=36E5;m=12<m?12:6<m?6:3.5<m?4:2<m?2:1;n=ng(c);p=c?"setUTCHours":"setHours";break;case "minute":m=lt(a,!0);n=wi(c);p=c?"setUTCMinutes":"setMinutes";break;case "second":m=lt(a,!1);n=xi(c);p=c?"setUTCSeconds":"setSeconds";break;case "millisecond":m=Zk(a,!0),n=yi(c),p=c?"setUTCSeconds":"setSeconds"}for(var q=m,t=g,u=new Date(k),n=u[n]();k<l&&k<=d[1];)t.push({value:k}),n+=q,u[p](n),k=u.getTime();t.push({value:k,notAdd:!0});"year"===b&&1<f.length&&0===h&&f.unshift({value:f[0].value-m})}}for(h=0;h<g.length;h++)f.push(g[h]);return g}}for(var f=mt,g=0,h=[],k=[],l=0,m=0,n=0;n<f.length&&1E4>g++;++n)if(m=af(f[n]),XA(f[n])){e(f[n],h[h.length-1]||[],k);var p=f[n+1]?af(f[n+1]):null;if(m!==p){if(k.length){m=l;k.sort(function(c,a){return c.value-a.value});for(var p=[],q=0;q<k.length;++q){var t=k[q].value;if(0===q||k[q-1].value!==t)p.push(k[q]),t>=d[0]&&t<=d[1]&&l++}k=(d[1]-d[0])/a;if(l>1.5*k&&m>k/1.5)break;h.push(p);if(l>k||b===f[n])break}k=[]}}1E4<=g&&Pe("Exceed safe limit.");f=ta(C(h,function(c){return ta(c,function(c){return c.value>=d[0]&&c.value<=d[1]&&!c.notAdd})}),function(c){return 0<c.length});b=[];g=f.length-1;for(n=0;n<f.length;++n)for(h=f[n],l=0;l<h.length;++l)b.push({value:h[l].value,level:g-n});b.sort(function(c,a){return c.value-a.value});f=[];for(n=0;n<b.length;++n)0!==n&&b[n].value===b[n-1].value||f.push(b[n]);return f}function nt(b,a,c){var d=b.rawExtentInfo;if(d)return d;d=new AC(b,a,c);return b.rawExtentInfo=d}function jf(b,a){return null==a?null:Nc(a)?NaN:b.parse(a)}function ot(b,a){var c=b.type,d=nt(b,a,b.getExtent()).calculate();b.setBlank(d.isBlank);var e=d.min,f=d.max,g=a.ecModel;if(g&&"time"===c){var c=ht("bar",g),h=!1;r(c,function(c){h=h||c.getBaseAxis()===a.axis});h&&(c=nm(c),f=BC(e,f,a,c),e=f.min,f=f.max)}return{extent:[e,f],fixMin:d.minFixed,fixMax:d.maxFixed}}function BC(b,a,c,d){var e=c.axis.getExtent(),e=e[1]-e[0];c=jt(d,c.axis);if(void 0===c)return{min:b,max:a};var f=Infinity;r(c,function(c){f=Math.min(c.offset,f)});var g=-Infinity;r(c,function(c){g=Math.max(c.offset+c.width,g)});f=Math.abs(f);g=Math.abs(g);c=f+g;d=a-b;e=d/(1-(f+g)/e)-d;return{min:b-f/c*e,max:a+g/c*e}}function jd(b,a){var c=ot(b,a),d=c.extent,e=a.get("splitNumber");b instanceof om&&(b.base=a.get("logBase"));var f=b.type;b.setExtent(d[0],d[1]);b.niceExtent({splitNumber:e,fixMin:c.fixMin,fixMax:c.fixMax,minInterval:"interval"===f||"time"===f?a.get("minInterval"):null,maxInterval:"interval"===f||"time"===f?a.get("maxInterval"):null});c=a.get("interval");null!=c&&b.setInterval&&b.setInterval(c)}function Dg(b,a){if(a=a||b.get("type"))switch(a){case "category":return new Wi({ordinalMeta:b.getOrdinalMeta?b.getOrdinalMeta():b.getCategories(),extent:[Infinity,-Infinity]});case "time":return new pm({locale:b.ecModel.getLocaleModel(),useUTC:b.ecModel.get("useUTC")});default:return new (tc.getClass(a)||Zd)}}function Eg(b){var a=b.getLabelModel().get("formatter"),c="category"===b.type?b.scale.getExtent()[0]:null;return"time"===b.scale.type?function(c){return function(a,d){return b.scale.getFormattedLabel(a,d,c)}}(a):"string"===typeof a?function(c){return function(a){a=b.scale.getLabel(a);return c.replace("{value}",null!=a?a:"")}}(a):"function"===typeof a?function(a){return function(d,f){null!=c&&(f=d.value-c);return a(qm(b,d),f,null!=d.level?{level:d.level}:null)}}(a):function(c){return b.scale.getLabel(c)}}function qm(b,a){return"category"===b.type?b.scale.getLabel(a):a.value}function rm(b){b=b.get("interval");return null==b?"auto":b}function pt(b){return"category"===b.type&&0===rm(b.getLabelModel())}function Xi(b,a){var c={};r(b.mapDimensionsAll(a),function(a){c[lm(b,a)]=!0});return ia(c)}function CC(b,a,c){a&&r(Xi(a,c),function(c){c=a.getApproximateExtent(c);c[0]<b[0]&&(b[0]=c[0]);c[1]>b[1]&&(b[1]=c[1])})}function $d(b,a,c){var d=0,e=b[0];if(!e)return!1;for(var f=1;f<b.length;f++)var g=b[f],d=d+Cc(e[0],e[1],g[0],g[1],a,c),e=g;b=b[0];1E-8>Math.abs(e[0]-b[0])&&1E-8>Math.abs(e[1]-b[1])||(d+=Cc(e[0],e[1],b[0],b[1],a,c));return 0!==d}function DC(b){if(!b.UTF8Encoding)return b;var a=b.UTF8Scale;null==a&&(a=1024);for(var c=b.features,d=0;d<c.length;d++){var e=c[d].geometry;if("Polygon"===e.type)for(var f=e.coordinates,g=0;g<f.length;g++)f[g]=qt(f[g],e.encodeOffsets[g],a);else if("MultiPolygon"===e.type)for(f=e.coordinates,g=0;g<f.length;g++)for(var h=f[g],k=0;k<h.length;k++)h[k]=qt(h[k],e.encodeOffsets[g][k],a)}b.UTF8Encoding=!1;return b}function qt(b,a,c){var d=[],e=a[0];a=a[1];for(var f=0;f<b.length;f+=2){var g=b.charCodeAt(f)-64,h=b.charCodeAt(f+1)-64,g=g>>1^-(g&1),h=h>>1^-(h&1),g=g+e,h=h+a,e=g;a=h;d.push([g/c,h/c])}return d}function sm(b,a){b=DC(b);return C(ta(b.features,function(c){return c.geometry&&c.properties&&0<c.geometry.coordinates.length}),function(c){var b=c.properties;c=c.geometry;var e=[];if("Polygon"===c.type){var f=c.coordinates;e.push({type:"polygon",exterior:f[0],interiors:f.slice(1)})}"MultiPolygon"===c.type&&(f=c.coordinates,r(f,function(c){c[0]&&e.push({type:"polygon",exterior:c[0],interiors:c.slice(1)})}));c=new rt(b[a||"name"],e,b.cp);c.properties=b;return c})}function EC(b,a){return"category"===b.type?FC(b,a):{ticks:C(b.scale.getTicks(),function(c){return c.value})}}function st(b,a){var c=tt(b,"labels"),d=rm(a),e=ut(c,d);if(e)return e;var f;fa(d)?e=vt(b,d):("auto"===d?(f=Fg(b).autoInterval,f=null!=f?f:Fg(b).autoInterval=b.calculateCategoryInterval()):f=d,e=wt(b,f));return xt(c,d,{labels:e,labelCategoryInterval:f})}function FC(b,a){var c=tt(b,"ticks"),d=rm(a),e=ut(c,d);if(e)return e;var f;if(!a.get("show")||b.scale.isBlank())e=[];fa(d)?e=vt(b,d,!0):"auto"===d?(e=st(b,b.getLabelModel()),f=e.labelCategoryInterval,e=C(e.labels,function(c){return c.tickValue})):(f=d,e=wt(b,f,!0));return xt(c,d,{ticks:e,tickCategoryInterval:f})}function GC(b){var a=b.scale.getTicks(),c=Eg(b);return{labels:C(a,function(a,e){return{formattedLabel:c(a,e),rawLabel:b.scale.getLabel(a),tickValue:a.value}})}}function tt(b,a){return Fg(b)[a]||(Fg(b)[a]=[])}function ut(b,a){for(var c=0;c<b.length;c++)if(b[c].key===a)return b[c].value}function xt(b,a,c){b.push({key:a,value:c});return c}function wt(b,a,c){function d(a){var b={value:a};k.push(c?a:{formattedLabel:e(b),rawLabel:f.getLabel(b),tickValue:a})}var e=Eg(b),f=b.scale,g=f.getExtent(),h=b.getLabelModel(),k=[];a=Math.max((a||0)+1,1);var l=g[0],m=f.count();0!==l&&1<a&&2<m/a&&(l=Math.round(Math.ceil(l/a)*a));m=pt(b);b=h.get("showMinLabel")||m;h=h.get("showMaxLabel")||m;for(b&&l!==g[0]&&d(g[0]);l<=g[1];l+=a)d(l);h&&l-a!==g[1]&&d(g[1]);return k}function vt(b,a,c){var d=b.scale,e=Eg(b),f=[];r(d.getTicks(),function(b){var g=d.getLabel(b),k=b.value;a(b.value,g)&&f.push(c?k:{formattedLabel:e(b),rawLabel:g,tickValue:k})});return f}function yt(b,a){var c=(b[1]-b[0])/a/2;b[0]+=c;b[1]-=c}function HC(b,a,c,d){function e(c,a){c=sa(c);a=sa(a);return h?c>a:c<a}var f=a.length;if(b.onBand&&!c&&f){c=b.getExtent();if(1===f)a[0].coord=c[0],f=a[1]={coord:c[0]};else{var g=(a[f-1].coord-a[0].coord)/(a[f-1].tickValue-a[0].tickValue);r(a,function(c){c.coord-=g/2});b=1+b.scale.getExtent()[1]-a[f-1].tickValue;f={coord:a[f-1].coord+g*b};a.push(f)}var h=c[0]>c[1];e(a[0].coord,c[0])&&(d?a[0].coord=c[0]:a.shift());d&&e(c[0],a[0].coord)&&a.unshift({coord:c[0]});e(c[1],f.coord)&&(d?f.coord=c[1]:a.pop());d&&e(f.coord,c[1])&&a.push({coord:c[1]})}}function uc(b){return document.createElementNS("http://www.w3.org/2000/svg",b)}function IC(b,a,c){function d(){for(var d=-1*g;d<=g;d+=2){var h;h=k[d-1];var l=k[d+1],q=(l?l.newPos:0)-d;h&&(k[d-1]=void 0);var t=h&&h.newPos+1<e,q=l&&0<=q&&q<f;if(t||q){!t||q&&h.newPos<l.newPos?(h={newPos:l.newPos,components:l.components.slice(0)},zt(h.components,!1,!0)):(h.newPos++,zt(h.components,!0,!1));q=At(h,a,b,d,c);if(h.newPos+1>=e&&q+1>=f){d=h.components;h=0;l=d.length;for(t=q=0;h<l;h++){var u=d[h];if(u.removed){for(v=t;v<t+u.count;v++)u.indices.push(v);t+=u.count}else{for(var w=[],v=q;v<q+u.count;v++)w.push(v);u.indices=w;q+=u.count;u.added||(t+=u.count)}}return d}k[d]=h}else k[d]=void 0}g++}c||(c=function(c,a){return c===a});b=b.slice();a=a.slice();var e=a.length,f=b.length,g=1,h=e+f,k=[{newPos:-1,components:[]}],l=At(k[0],a,b,0,c);if(k[0].newPos+1>=e&&l+1>=f){h=[];for(l=0;l<a.length;l++)h.push(l);return[{indices:h,count:a.length,added:!1,removed:!1}]}for(;g<=h;)if(l=d())return l}function At(b,a,c,d,e){var f=a.length,g=c.length,h=b.newPos;d=h-d;for(var k=0;h+1<f&&d+1<g&&e(a[h+1],c[d+1]);)h++,d++,k++;k&&b.components.push({count:k,added:!1,removed:!1,indices:[]});b.newPos=h;return d}function zt(b,a,c){var d=b[b.length-1];d&&d.added===a&&d.removed===c?b[b.length-1]={count:d.count+1,added:a,removed:c,indices:[]}:b.push({count:1,added:a,removed:c,indices:[]})}function Hc(b){return ae(1E4*b)/1E4}function JC(b){b=b.fill;return null!=b&&"none"!==b}function KC(b){b=b.stroke;return null!=b&&"none"!==b}function tm(b,a){a&&ua(b,"transform","matrix("+ae(1E3*a[0])/1E3+","+ae(1E3*a[1])/1E3+","+ae(1E3*a[2])/1E3+","+ae(1E3*a[3])/1E3+","+Hc(a[4])+","+Hc(a[5])+")")}function ua(b,a,c){(!c||"linear"!==c.type&&"radial"!==c.type)&&b.setAttribute(a,c)}function um(b,a,c){var d=null==a.opacity?1:a.opacity;if(c instanceof Ga)b.style.opacity=d+"";else{if(JC(a)){var e=a.fill;ua(b,"fill","transparent"===e?"none":e);ua(b,"fill-opacity",(null!=a.fillOpacity?a.fillOpacity*d:d)+"")}else ua(b,"fill","none");if(KC(a)){e=a.stroke;ua(b,"stroke","transparent"===e?"none":e);var e=a.lineWidth,f=a.strokeNoScale?c.getLineScale():1;ua(b,"stroke-width",(f?e/f:0)+"");ua(b,"paint-order",a.strokeFirst?"stroke":"fill");ua(b,"stroke-opacity",(null!=a.strokeOpacity?a.strokeOpacity*d:d)+"");(c=a.lineDash&&0<e&&Xl(a.lineDash,e))?(d=a.lineDashOffset,f&&1!==f&&(c=C(c,function(c){return c/f}),d&&(d=ae(d/f))),ua(b,"stroke-dasharray",c.join(",")),ua(b,"stroke-dashoffset",(d||0)+"")):ua(b,"stroke-dasharray","");a.lineCap&&ua(b,"stroke-linecap",a.lineCap);a.lineJoin&&ua(b,"stroke-linejoin",a.lineJoin);a.miterLimit&&ua(b,"stroke-miterlimit",a.miterLimit+"")}else ua(b,"stroke","none")}}function Bt(b){return b&&("linear"===b.type||"radial"===b.type)}function Gg(b){return b&&(!!b.image||!!b.svgElement)}function Ct(b){return(b=b.__clipPaths)&&0<b.length}function Dt(b){return b instanceof Y?Yi:b instanceof Ga?Et:b instanceof Vd?Ft:Yi}function Gt(b,a,c){a&&b&&a.parentNode!==b&&c&&((c=c.nextSibling)?b.insertBefore(a,c):b.appendChild(a))}function Ht(b,a){if(a&&b&&a.parentNode!==b){var c=b.firstChild;c?b.insertBefore(a,c):b.appendChild(a)}}function vm(b){return function(){yb('In SVG mode painter not support method "'+b+'"')}}function LC(){return!1}function It(b,a,c){var d=Wd(),e=a.getWidth();a=a.getHeight();var f=d.style;f&&(f.position="absolute",f.left="0",f.top="0",f.width=e+"px",f.height=a+"px",d.setAttribute("data-zr-dom-id",b));d.width=e*c;d.height=a*c;return d}function kf(b,a){var c=b.mapDimensionsAll("defaultedLabel"),d=c.length;if(1===d)return c=Sd(b,a,c[0]),null!=c?c+"":null;if(d){for(var d=[],e=0;e<c.length;e++)d.push(Sd(b,a,c[e]));return d.join(" ")}}function Jt(b,a){var c=b.mapDimensionsAll("defaultedLabel");if(!A(a))return a+"";for(var d=[],e=0;e<c.length;e++){var f=b.getDimensionInfo(c[e]);f&&d.push(a[f.index])}return d.join(" ")}function MC(b,a){this.parent.drift(b,a)}function wm(b,a,c,d){return a&&!isNaN(a[0])&&!isNaN(a[1])&&!(d.isIgnore&&d.isIgnore(c))&&!(d.clipShape&&!d.clipShape.contain(a[0],a[1]))&&"none"!==b.getItemVisual(c,"symbol")}function Kt(b){null==b||N(b)||(b={isIgnore:b});return b||{}}function Lt(b){b=b.hostModel;var a=b.getModel("emphasis");return{emphasisItemStyle:a.getModel("itemStyle").getItemStyle(),blurItemStyle:b.getModel(["blur","itemStyle"]).getItemStyle(),selectItemStyle:b.getModel(["select","itemStyle"]).getItemStyle(),focus:a.get("focus"),blurScope:a.get("blurScope"),symbolRotate:b.get("symbolRotate"),symbolOffset:b.get("symbolOffset"),hoverScale:a.get("scale"),labelStatesModels:Ra(b),cursorStyle:b.get("cursor")}}function xm(b,a,c){var d=b.getBaseAxis(),e=b.getOtherAxis(d);c=NC(e,c);var d=d.dim,e=e.dim,f=a.mapDimension(e),g=a.mapDimension(d),h="x"===e||"radius"===e?1:0;b=C(b.dimensions,function(c){return a.mapDimension(c)});var k=!1,l=a.getCalculationInfo("stackResultDimension");Gc(a,b[0])&&(k=!0,b[0]=l);Gc(a,b[1])&&(k=!0,b[1]=l);return{dataDimsForPoint:b,valueStart:c,valueAxisDim:e,baseAxisDim:d,stacked:!!k,valueDim:f,baseDim:g,baseDataOffset:h,stackedOverDimension:a.getCalculationInfo("stackedOverDimension")}}function NC(b,a){var c=0,d=b.scale.getExtent();"start"===a?c=d[0]:"end"===a?c=d[1]:0<d[0]?c=d[0]:0>d[1]&&(c=d[1]);return c}function ym(b,a,c,d){var e=NaN;b.stacked&&(e=c.get(c.getCalculationInfo("stackedOverDimension"),d));isNaN(e)&&(e=b.valueStart);var f=b.baseDataOffset,g=[];g[f]=c.get(b.baseDim,d);g[1-f]=e;return a.dataToPoint(g)}function lf(b){return A(b)?Mt?new Float32Array(b):b:new OC(b)}function PC(b,a){var c=[];a.diff(b).add(function(a){c.push({cmd:"+",idx:a})}).update(function(a,b){c.push({cmd:"\x3d",idx:b,idx1:a})}).remove(function(a){c.push({cmd:"-",idx:a})}).execute();return c}function QC(b,a,c,d,e,f,g,h){var k=PC(b,a),l=[],m=[],n=[],p=[],q=[],t=[],u=[];g=xm(e,a,g);var w=xm(f,b,h),v=b.getLayout("points")||[],z=a.getLayout("points")||[];for(h=0;h<k.length;h++){var B=k[h],y=!0,r=void 0,D=void 0;switch(B.cmd){case "\x3d":var r=2*B.idx,D=2*B.idx1,Q=v[r],E=v[r+1],G=z[D],x=z[D+1];if(isNaN(Q)||isNaN(E))Q=G,E=x;l.push(Q,E);m.push(G,x);n.push(c[r],c[r+1]);p.push(d[D],d[D+1]);u.push(a.getRawIndex(B.idx1));break;case "+":r=B.idx;D=g.dataDimsForPoint;Q=e.dataToPoint([a.get(D[0],r),a.get(D[1],r)]);D=2*r;l.push(Q[0],Q[1]);m.push(z[D],z[D+1]);Q=ym(g,e,a,r);n.push(Q[0],Q[1]);p.push(d[D],d[D+1]);u.push(a.getRawIndex(r));break;case "-":Q=B.idx,D=b.getRawIndex(Q),E=w.dataDimsForPoint,r=2*Q,D!==Q?(E=f.dataToPoint([b.get(E[0],Q),b.get(E[1],Q)]),Q=ym(w,f,b,Q),l.push(v[r],v[r+1]),m.push(E[0],E[1]),n.push(c[r],c[r+1]),p.push(Q[0],Q[1]),u.push(D)):y=!1}y&&(q.push(B),t.push(t.length))}t.sort(function(c,a){return u[c]-u[a]});h=l.length;b=lf(h);a=lf(h);c=lf(h);d=lf(h);e=[];for(h=0;h<t.length;h++)f=t[h],k=2*h,g=2*f,b[k]=l[g],b[k+1]=l[g+1],a[k]=m[g],a[k+1]=m[g+1],c[k]=n[g],c[k+1]=n[g+1],d[k]=p[g],d[k+1]=p[g+1],e[h]=q[f];return{current:b,next:a,stackedOnCurrent:c,stackedOnNext:d,status:e}}function be(b,a){return isNaN(b)||isNaN(a)}function zm(b,a,c,d,e,f,g,h,k){for(var l,m,n,p,q,t,u=c,w=0;w<d;w++){var v=a[2*u],z=a[2*u+1];if(u>=e||0>u)break;if(be(v,z)){if(k){u+=f;continue}break}if(u===c)b[0<f?"moveTo":"lineTo"](v,z),n=v,p=z;else{q=v-l;t=z-m;if(.5>q*q+t*t){u+=f;continue}if(0<g){var B=u+f;q=a[2*B];t=a[2*B+1];var y=w+1;if(k)for(;be(q,t)&&y<d;)y++,B+=f,q=a[2*B],t=a[2*B+1];var r,D;D=B=void 0;if(y>=d||be(q,t))q=v,t=z;else{B=q-l;D=t-m;var y=v-l,Q=q-v,E=z-m;r=t-z;"x"===h?(y=Math.abs(y),q=v-y*g,t=z,B=v+y*g,D=z):"y"===h?(y=Math.abs(E),q=v,t=z-y*g,B=v,D=z+y*g):(y=Math.sqrt(y*y+E*E),Q=Math.sqrt(Q*Q+r*r),r=Q/(Q+y),B=v+B*g*r,D=z+D*g*r,B=kd(B,ld(q,v)),D=kd(D,ld(t,z)),B=ld(B,kd(q,v)),D=ld(D,kd(t,z)),B-=v,D-=z,q=v-B*y/Q,t=z-D*y/Q,q=kd(q,ld(l,v)),t=kd(t,ld(m,z)),q=ld(q,kd(l,v)),t=ld(t,kd(m,z)),B=v-q,D=z-t,B=v+B*Q/y,D=z+D*Q/y)}b.bezierCurveTo(n,p,q,t,v,z);n=B;p=D}else b.lineTo(v,z)}l=v;m=z;u+=f}return w}function Nt(b,a,c,d,e){var f=b.getArea(),g=f.x,h=f.y,k=f.width,f=f.height,l=c.get(["lineStyle","width"])||2,h=h-l/2,f=f+l,g=Math.floor(g-l/2),k=Math.round(k+l),m=new Z({shape:{x:g,y:h,width:k,height:f}});a&&(a=b.getBaseAxis(),b=a.isHorizontal(),a=a.inverse,b?(a&&(m.shape.x+=k),m.shape.width=0):(a||(m.shape.y+=f),m.shape.height=0),za(m,{shape:{width:k,height:f,x:g,y:h}},c,null,d,"function"===typeof e?function(c){e(c,m)}:null));return m}function Ot(b,a,c){var d=b.getArea(),e=sa(d.r0,1),f=sa(d.r,1),g=new lb({shape:{cx:sa(b.cx,1),cy:sa(b.cy,1),r0:e,r:f,startAngle:d.startAngle,endAngle:d.endAngle,clockwise:d.clockwise}});a&&("angle"===b.getBaseAxis().dim?g.shape.endAngle=d.startAngle:g.shape.r=e,za(g,{shape:{endAngle:d.endAngle,r:f}},c));return g}function Zi(b,a,c,d,e){if(b){if("polar"===b.type)return Ot(b,a,c);if("cartesian2d"===b.type)return Nt(b,a,c,d,e)}return null}function Pt(b,a){if(b.length===a.length){for(var c=0;c<b.length;c++)if(b[c]!==a[c])return;return!0}}function Qt(b){for(var a=Infinity,c=Infinity,d=-Infinity,e=-Infinity,f=0;f<b.length;){var g=b[f++],h=b[f++];isNaN(g)||(a=Math.min(g,a),d=Math.max(g,d));isNaN(h)||(c=Math.min(h,c),e=Math.max(h,e))}return[[a,c],[d,e]]}function Rt(b,a){var c=Qt(b),d=c[0],c=c[1],e=Qt(a),f=e[0],e=e[1];return Math.max(Math.abs(d[0]-f[0]),Math.abs(d[1]-f[1]),Math.abs(c[0]-e[0]),Math.abs(c[1]-e[1]))}function St(b){return"number"===typeof b?b:b?.5:0}function RC(b,a,c){if(!c.valueDim)return[];for(var d=a.count(),e=lf(2*d),f=0;f<d;f++){var g=ym(c,b,a,f);e[2*f]=g[0];e[2*f+1]=g[1]}return e}function md(b,a,c){a=a.getBaseAxis();a="x"===a.dim||"radius"===a.dim?0:1;for(var d=[],e=0,f=[],g=[],h=[];e<b.length-2;e+=2)switch(h[0]=b[e+2],h[1]=b[e+3],g[0]=b[e],g[1]=b[e+1],d.push(g[0],g[1]),c){case "end":f[a]=h[a];f[1-a]=g[1-a];d.push(f[0],f[1]);break;case "middle":var k=[];f[a]=k[a]=(g[a]+h[a])/2;f[1-a]=g[1-a];k[1-a]=h[1-a];d.push(f[0],f[1]);d.push(k[0],k[1]);break;default:f[a]=g[a],f[1-a]=h[1-a],d.push(f[0],f[1])}d.push(b[e++],b[e++]);return d}function SC(b,a){var c=b.getVisual("visualMeta");if(c&&c.length&&b.count())if("cartesian2d"!==a.type)console.warn("Visual map on line style is only supported on cartesian2d.");else{for(var d,e,f=c.length-1;0<=f;f--)if(d=(d=b.getDimensionInfo(b.dimensions[c[f].dimension]))&&d.coordDim,"x"===d||"y"===d){e=c[f];break}if(e){var g=a.getAxis(d),c=C(e.stops,function(c){return{offset:0,coord:g.toGlobalCoord(g.dataToCoord(c.value)),color:c.color}}),f=c.length,h=e.outerColors.slice();f&&c[0].coord>c[f-1].coord&&(c.reverse(),h.reverse());var k=c[0].coord-10;e=c[f-1].coord+10;var l=e-k;if(.001>l)return"transparent";r(c,function(c){c.offset=(c.coord-k)/l});c.push({offset:f?c[f-1].offset:.5,color:h[1]||"transparent"});c.unshift({offset:f?c[0].offset:.5,color:h[0]||"transparent"});c=new mf(0,0,0,0,c,!0);c[d]=k;c[d+"2"]=e;return c}console.warn("Visual map on line style only support x or y dimension.")}}function TC(b,a,c){b=b.get("showAllSymbol");var d="auto"===b;if(!b||d){var e=c.getAxesByScale("ordinal")[0];if(e&&(!d||!UC(e,a))){var f=a.mapDimension(e.dim),g={};r(e.getViewLabels(),function(c){c=e.scale.getRawOrdinalNumber(c.tickValue);g[c]=1});return function(c){return!g.hasOwnProperty(a.get(f,c))}}}}function UC(b,a){var c=b.getExtent(),c=Math.abs(c[1]-c[0])/b.scale.count();isNaN(c)&&(c=0);for(var d=a.count(),e=Math.max(1,Math.round(d/5)),f=0;f<d;f+=e)if(1.5*Hg.getSymbolSize(a,f)[b.isHorizontal()?1:0]>c)return!1;return!0}function VC(b){for(var a=b.length/2;0<a;a--){var c=b[2*a-1];if(!isNaN(b[2*a-2])&&!isNaN(c))break}return a-1}function Tt(b,a,c,d){if("cartesian2d"===a.type){var e=d.getModel("endLabel"),f=e.get("show"),g=e.get("valueAnimation"),h=d.getData(),k={lastFrameIndex:0},f=f?function(c,d){b._endLabelOnDuring(c,d,h,k,g,e,a)}:null,l=a.getBaseAxis().isHorizontal(),m=Nt(a,c,d,function(){var a=b._endLabel;a&&c&&null!=k.originalX&&a.attr({x:k.originalX,y:k.originalY})},f);if(!d.get("clip",!0)){d=m.shape;var n=Math.max(d.width,d.height);l?(d.y-=n,d.height+=2*n):(d.x-=n,d.width+=2*n)}f&&f(1,m);return m}d.get(["endLabel","show"])&&console.warn("endLabel is not supported for lines in polar systems.");return Ot(a,c,d)}function WC(b,a){var c=a.getBaseAxis(),d=c.isHorizontal(),e=c.inverse,c=d?e?"right":"left":"center",d=d?"middle":e?"top":"bottom";return{normal:{align:b.get("align")||c,verticalAlign:b.get("verticalAlign")||d}}}function Ig(b,a){return{seriesType:b,plan:cf(),reset:function(c){var b=c.getData(),e=c.coordinateSystem;c=c.pipelineContext;var f=a||c.large;if(e){c=C(e.dimensions,function(c){return b.mapDimension(c)}).slice(0,2);var g=c.length,h=b.getCalculationInfo("stackResultDimension");Gc(b,c[0])&&(c[0]=h);Gc(b,c[1])&&(c[1]=h);h=b.getDimensionInfo(c[0]);c=b.getDimensionInfo(c[1]);var k=h&&h.index,l=c&&c.index;return g&&{progress:function(c,a){for(var b=c.end-c.start,b=f&&lf(b*g),d=[],h=[],m=c.start,n=0;m<c.end;m++){var v;1===g?(v=a.getByDimIdx(k,m),v=e.dataToPoint(v,null,h)):(d[0]=a.getByDimIdx(k,m),d[1]=a.getByDimIdx(l,m),v=e.dataToPoint(d,null,h));f?(b[n++]=v[0],b[n++]=v[1]):a.setItemLayout(m,v.slice())}f&&a.setLayout("points",b)}}}}}}function Ut(b){return{seriesType:b,reset:function(a,c,b){c=a.getData();var d=a.get("sampling"),f=a.coordinateSystem,g=c.count();if(10<g&&"cartesian2d"===f.type&&d){var h=f.getBaseAxis(),f=f.getOtherAxis(h),h=h.getExtent();b=b.getDevicePixelRatio();b=Math.round(g/(Math.abs(h[1]-h[0])*(b||1)));1<b&&("lttb"===d&&a.setData(c.lttbDownSample(c.mapDimension(f.dim),1/b)),g=void 0,"string"===typeof d?g=XC[d]:"function"===typeof d&&(g=d),g&&a.setData(c.downSample(c.mapDimension(f.dim),1/b,g,YC)))}}}}function ZC(b,a){var c=b.getArea&&b.getArea();if("cartesian2d"===b.type){var d=b.getBaseAxis();if("category"!==d.type||!d.onBand){var e=a.getLayout("bandWidth");d.isHorizontal()?(c.x-=e,c.width+=2*e):(c.y-=e,c.height+=2*e)}}return c}function $C(b,a){var c=b.get("realtimeSort",!0),d=a.getBaseAxis();c&&("category"!==d.type&&Pe("`realtimeSort` will not work because this bar series is not based on a category axis."),"cartesian2d"!==a.type&&Pe("`realtimeSort` will not work because this bar series is not on cartesian2d."));if(c&&"category"===d.type&&"cartesian2d"===a.type)return{baseAxis:d,otherAxis:a.getOtherAxis(d)}}function Vt(b,a,c,d,e,f,g,h){f?(f={x:d.x,width:d.width},d={y:d.y,height:d.height}):(f={y:d.y,height:d.height},d={x:d.x,width:d.width});h||(g?ea:za)(c,{shape:d},a,e,null);(g?ea:za)(c,{shape:f},a?b.baseAxis.model:null,e)}function Wt(b,a,c,d,e,f,g,h){var k=a.getItemVisual(c,"style");h||b.setShape("r",d.get(aD)||0);b.useStyle(k);var l=d.getShallow("cursor");l&&b.attr("cursor",l);h||(h=g?0<e.height?"bottom":"top":0<e.width?"left":"right",g=Ra(d),cb(b,g,{labelFetcher:f,labelDataIndex:c,defaultText:kf(f.getData(),c),inheritColor:k.fill,defaultOpacity:k.opacity,defaultOutsidePosition:h}),k=b.getTextContent(),Br(k,g,f.getRawValue(c),function(c){return Jt(a,c)}));c=d.getModel(["emphasis"]);va(b,c.get("focus"),c.get("blurScope"));Fa(b,d);null!=e.startAngle&&null!=e.endAngle&&e.startAngle===e.endAngle&&(b.style.fill="none",b.style.stroke="none",r(b.states,function(c){c.style&&(c.style.fill=c.style.stroke="none")}))}function Xt(b,a,c){var d=b.getData(),e=[],f=d.getLayout("valueAxisHorizontal")?1:0;e[1-f]=d.getLayout("valueAxisStart");var g=d.getLayout("largeDataIndices"),h=d.getLayout("barWidth"),k=b.getModel("backgroundStyle");if(b.get("showBackground",!0)){var l=d.getLayout("largeBackgroundPoints"),m=[];m[1-f]=d.getLayout("backgroundStart");l=new Yt({shape:{points:l},incremental:!!c,silent:!0,z2:0});l.__startPoint=m;l.__baseDimIdx=f;l.__largeDataIndices=g;l.__barWidth=h;m=k.get("borderColor")||k.get("color");k=k.getItemStyle();l.useStyle(k);l.style.fill=null;l.style.stroke=m;l.style.lineWidth=d.getLayout("barWidth");a.add(l)}c=new Yt({shape:{points:d.getLayout("largePoints")},incremental:!!c});c.__startPoint=e;c.__baseDimIdx=f;c.__largeDataIndices=g;c.__barWidth=h;a.add(c);a=d.getVisual("style");c.useStyle(F({},a));c.style.fill=null;c.style.stroke=a.fill;c.style.lineWidth=d.getLayout("barWidth");S(c).seriesIndex=b.seriesIndex;b.get("silent")||(c.on("mousedown",Zt),c.on("mousemove",Zt))}function $t(b,a,c){if("cartesian2d"===c.type)return c=c.getArea(),{x:b?a.x:c.x,y:b?c.y:a.y,width:b?a.width:c.width,height:b?c.height:a.height};c=c.getArea();return{cx:c.cx,cy:c.cy,r0:b?c.r0:a.r0,r:b?c.r:a.r,startAngle:b?a.startAngle:0,endAngle:b?a.endAngle:2*Math.PI}}function bD(b,a){return Aa(b.getBoxLayoutParams(),{width:a.getWidth(),height:a.getHeight()})}function cD(b,a,c){a.eachSeriesByType(b,function(a){var b=a.getData(),d=b.mapDimension("value"),g=bD(a,c),h=a.get("center"),k=a.get("radius");A(k)||(k=[0,k]);A(h)||(h=[h,h]);var l=H(g.width,c.getWidth()),m=H(g.height,c.getHeight()),n=Math.min(l,m),p=H(h[0],l)+g.x,q=H(h[1],m)+g.y,t=H(k[0],n/2),u=H(k[1],n/2),w=-a.get("startAngle")*au,v=a.get("minAngle")*au,z=0;b.each(d,function(c){!isNaN(c)&&z++});var B=b.getSum(d),y=Math.PI/(B||z)*2,r=a.get("clockwise"),D=a.get("roseType"),Q=a.get("stillShowZeroSum"),E=b.getDataExtent(d);E[0]=0;var G=$i,x=0,C=w,F=r?1:-1;b.setLayout({viewRect:g,r:u});b.each(d,function(c,a){var d;if(isNaN(c))b.setItemLayout(a,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:r,cx:p,cy:q,r0:t,r:D?NaN:u});else{d="area"!==D?0===B&&Q?y:c*y:$i/z;d<v?(d=v,G-=v):x+=c;var e=C+F*d;b.setItemLayout(a,{angle:d,startAngle:C,endAngle:e,clockwise:r,cx:p,cy:q,r0:t,r:D?ga(c,E,[t,u]):u});C=e}});if(G<$i&&z)if(.001>=G){var I=$i/z;b.each(d,function(c,a){if(!isNaN(c)){var d=b.getItemLayout(a);d.angle=I;d.startAngle=w+F*a*I;d.endAngle=w+F*(a+1)*I}})}else y=G/x,C=w,b.each(d,function(c,a){if(!isNaN(c)){var d=b.getItemLayout(a),e=d.angle===v?v:c*y;d.startAngle=C;d.endAngle=C+F*e;C+=F*e}})})}function Jg(b){return{seriesType:b,reset:function(a,c){var b=c.findComponents({mainType:"legend"});if(b&&b.length){var e=a.getData();e.filterSelf(function(c){c=e.getName(c);for(var a=0;a<b.length;a++)if(!b[a].isSelected(c))return!1;return!0})}}}}function bu(b,a,c,d,e,f,g,h,k,l){function m(b){for(var f=b.rB,f=f*f,g=0;g<b.list.length;g++){var h=b.list[g],k=Math.abs(h.label.y-c),l=d+h.len;h.label.x=a+(Math.sqrt((1-Math.abs(k*k/f))*l*l)+h.len2)*e}}function n(b){for(var f={list:[],maxY:0},g={list:[],maxY:0},h=0;h<b.length;h++)if("none"===b[h].labelAlignTo){var k=b[h],l=k.label.y>c?g:f,n=Math.abs(k.label.y-c);if(n>l.maxY){var p=k.label.x-a-k.len2*e,y=d+k.len;l.rB=p<y?Math.sqrt(n*n/(1-p*p/y/y)):y;l.maxY=n}l.list.push(k)}m(f);m(g)}if(!(2>b.length)){f=b.length;for(h=0;h<f;h++)"outer"===b[h].position&&"labelLine"===b[h].labelAlignTo&&(b[h].linePoints[1][0]+=b[h].label.x-l,b[h].label.x=l);Vl(b,"y","height",k,k+g,void 0)&&n(b)}}function dD(b,a,c,d,e,f,g,h){for(var k=[],l=[],m=Number.MAX_VALUE,n=-Number.MAX_VALUE,p=0;p<b.length;p++){var q=b[p].label;"center"!==b[p].position&&(q.x<a?(m=Math.min(m,q.x),k.push(b[p])):(n=Math.max(n,q.x),l.push(b[p])))}bu(l,a,c,d,1,e,f,g,h,n);bu(k,a,c,d,-1,e,f,g,h,m);for(p=0;p<b.length;p++)if(c=b[p],q=c.label,"center"!==c.position&&(d=c.linePoints))f="edge"===c.labelAlignTo,h=c.rect.width,k=f?q.x<a?d[2][0]-c.labelDistance-g-c.edgeDistance:g+e-c.edgeDistance-d[2][0]-c.labelDistance:q.x<a?q.x-g-c.bleedMargin:g+e-q.x-c.bleedMargin,k<c.rect.width&&(c.label.style.width=k,"edge"===c.labelAlignTo&&(h=k)),k=d[1][0]-d[2][0],f?d[2][0]=q.x<a?g+c.edgeDistance+h+c.labelDistance:g+e-c.edgeDistance-h-c.labelDistance:(d[2][0]=q.x<a?q.x+c.labelDistance:q.x-c.labelDistance,d[1][0]=d[2][0]+k),d[1][1]=d[2][1]=q.y}function eD(b){function a(c){c.ignore=!0}var c=b.getData(),d=[],e,f,g=!1,h=(b.get("minShowLabelAngle")||0)*fD,k=c.getLayout("viewRect"),l=c.getLayout("r"),m=k.width,n=k.x,p=k.y,k=k.height;c.each(function(b){var k=c.getItemGraphicEl(b),p=k.shape,q=k.getTextContent(),t=k.getTextGuideLine(),u=c.getItemModel(b),w=u.getModel("label");b=w.get("position")||u.get(["emphasis","label","position"]);var Q=w.get("distanceToLabelLine"),E=w.get("alignTo"),G=H(w.get("edgeDistance"),m),x=w.get("bleedMargin"),u=u.getModel("labelLine"),C=u.get("length"),C=H(C,m),F=u.get("length2"),F=H(F,m);if(Math.abs(p.endAngle-p.startAngle)<h)r(q.states,a),q.ignore=!0;else{var A;a:if(q.ignore){for(A in q.states)if(!1===q.states[A].ignore){A=!0;break a}A=!1}else A=!0;if(A){var I=(p.startAngle+p.endAngle)/2,J=Math.cos(I),K=Math.sin(I),M,N,fb;e=p.cx;f=p.cy;A="inside"===b||"inner"===b;if("center"===b)M=p.cx,N=p.cy,p="center";else{var O=(A?(p.r+p.r0)/2*J:p.r*J)+e,P=(A?(p.r+p.r0)/2*K:p.r*K)+f;M=O+3*J;N=P+3*K;if(!A){fb=O+J*(C+l-p.r);var p=P+K*(C+l-p.r),R=fb+(0>J?-1:1)*F;M="edge"===E?0>J?n+G:n+m-G:R+(0>J?-Q:Q);N=p;fb=[[O,P],[fb,p],[R,p]]}p=A?"center":"edge"===E?0<J?"right":"left":0<J?"left":"right"}w=w.get("rotate");w="number"===typeof w?Math.PI/180*w:w?0>J?-I+Math.PI:-I:0;g=!!w;q.x=M;q.y=N;q.rotation=w;q.setStyle({verticalAlign:"middle"});if(A){if(q.setStyle({align:p}),t=q.states.select)t.x+=q.x,t.y+=q.y}else w=q.getBoundingRect().clone(),w.applyTransform(q.getComputedTransform()),M=(q.style.margin||0)+2.1,w.y-=M/2,w.height+=M,d.push({label:q,labelLine:t,position:b,len:C,len2:F,minTurnAngle:u.get("minTurnAngle"),maxSurfaceAngle:u.get("maxSurfaceAngle"),surfaceNormal:new V(J,K),linePoints:fb,textAlign:p,labelDistance:Q,labelAlignTo:E,edgeDistance:G,bleedMargin:x,rect:w});k.setTextConfig({inside:A})}}});!g&&b.get("avoidLabelOverlap")&&dD(d,e,f,l,m,k,n,p);for(b=0;b<d.length;b++){var p=d[b],k=p.label,q=p.labelLine,t=isNaN(k.x)||isNaN(k.y);if(k){k.setStyle({align:p.textAlign});t&&(r(k.states,a),k.ignore=!0);var u=k.states.select;u&&(u.x+=k.x,u.y+=k.y)}q&&(u=p.linePoints,t||!u?(r(q.states,a),q.ignore=!0):(Bs(u,p.minTurnAngle),$B(u,p.surfaceNormal,p.maxSurfaceAngle),q.setShape({points:u}),k.__hostTarget.textGuideLineConfig={anchor:new V(u[0][0],u[0][1])}))}}function nf(b,a){var c=b.get("borderRadius");if(null==c)return null;A(c)||(c=[c,c]);return{innerCornerRadius:Ub(c[0],a.r0),cornerRadius:Ub(c[1],a.r)}}function of(b,a,c){a=A(a)&&{coordDimensions:a}||F({},a);var d=b.getSource();a=gf(d,a);b=new Wa(a,b);b.initData(d,c);return b}function pf(b,a,c,d){r(gD,function(e,f){var g=U(U({},cu[f],!0),d,!0),h=function(c){function b(){for(var b=[],d=0;d<arguments.length;d++)b[d]=arguments[d];b=c.apply(this,b)||this;b.type=a+"Axis."+f;return b}x(b,c);b.prototype.mergeDefaultAndTheme=function(c,a){var b=pg(this),d=b?Qd({},c):{},e=a.getTheme();U(c,e.get(f+"Axis"));U(c,this.getDefaultOption());c.type=du(c);b&&gd(c,d,b)};b.prototype.optionUpdated=function(){"category"===this.option.type&&(this.__ordinalMeta=Am.createByAxisModel(this))};b.prototype.getCategories=function(c){var a=this.option;if("category"===a.type)return c?a.data:this.__ordinalMeta.categories};b.prototype.getOrdinalMeta=function(){return this.__ordinalMeta};b.type=a+"Axis."+f;b.defaultOption=g;return b}(c);b.registerComponentModel(h)});b.registerSubTypeDefaulter(a+"Axis",du)}function du(b){return b.type||(b.data?"category":"value")}function Bm(b,a,c){c=c||{};var d=b.coordinateSystem,e=a.axis;b={};var f=e.getAxesOnZeroOf()[0],g=e.position,h=f?"onZero":g,e=e.dim,d=d.getRect(),d=[d.x,d.x+d.width,d.y,d.y+d.height],k={left:0,right:1,top:0,bottom:1,onZero:2},l=a.get("offset")||0,l="x"===e?[d[2]-l,d[3]+l]:[d[0]-l,d[1]+l];if(f){var m=f.toGlobalCoord(f.dataToCoord(0));l[k.onZero]=Math.max(Math.min(m,l[1]),l[0])}b.position=["y"===e?l[k[h]]:d[0],"x"===e?l[k[h]]:d[3]];b.rotation=Math.PI/2*("x"===e?0:1);b.labelDirection=b.tickDirection=b.nameDirection={top:-1,bottom:1,left:-1,right:1}[g];b.labelOffset=f?l[k[g]]-l[k.onZero]:0;a.get(["axisTick","inside"])&&(b.tickDirection=-b.tickDirection);Ba(c.labelInside,a.get(["axisLabel","inside"]))&&(b.labelDirection=-b.labelDirection);a=a.get(["axisLabel","rotate"]);b.labelRotate="top"===h?-a:a;b.z2=1;return b}function eu(b){return"cartesian2d"===b.get("coordinateSystem")}function fu(b){var a={xAxisModel:null,yAxisModel:null};r(a,function(c,d){var e=d.replace(/Model$/,""),f=b.getReferringComponents(e,Da).models[0];if(!f)throw Error(e+' "'+zb(b.get(e+"Index"),b.get(e+"Id"),0)+'" not found');a[d]=f});return a}function Cm(b,a){return b.getCoordSysModel()===a}function gu(b,a,c,d){function e(c){return c.dim+"_"+c.index}c.getAxesOnZeroOf=function(){return f?[f]:[]};b=b[a];var f;a=c.model;c=a.get(["axisLine","onZero"]);a=a.get(["axisLine","onZeroAxisIndex"]);if(c){if(null!=a)hu(b[a])&&(f=b[a]);else for(var g in b)if(b.hasOwnProperty(g)&&hu(b[g])&&!d[e(b[g])]){f=b[g];break}f&&(d[e(f)]=!0)}}function hu(b){var a;if(a=b&&"category"!==b.type&&"time"!==b.type)a=b.scale.getExtent(),b=a[0],a=a[1],a=!(0<b&&0<a||0>b&&0>a);return a}function hD(b,a){var c=b.getExtent(),d=c[0]+c[1];b.toGlobalCoord="x"===b.dim?function(c){return c+a}:function(c){return d-c+a};b.toLocalCoord="x"===b.dim?function(c){return c-a}:function(c){return d-c+a}}function iD(b,a,c,d){b=Xk(c-b);d=d[0]>d[1];d="start"===a&&!d||"start"!==a&&d;ag(b-nd/2)?(a=d?"bottom":"top",d="center"):ag(b-1.5*nd)?(a=d?"top":"bottom",d="center"):(a="middle",d=b<1.5*nd&&b>nd/2?d?"left":"right":d?"right":"left");return{rotation:b,textAlign:d,textVerticalAlign:a}}function Ib(b){b&&(b.ignore=!0)}function iu(b,a){var c=b&&b.getBoundingRect().clone(),d=a&&a.getBoundingRect().clone();if(c&&d){var e=Sc([]);Tc(e,e,-b.rotation);c.applyTransform(Fd([],e,b.getLocalTransform()));d.applyTransform(Fd([],e,a.getLocalTransform()));return c.intersect(d)}}function ju(b,a,c,d,e){for(var f=[],g=[],h=[],k=0;k<b.length;k++){var l=b[k].coord;g[0]=l;g[1]=0;h[0]=l;h[1]=c;a&&(Qa(g,g,a),Qa(h,h,a));l=new Ua({subPixelOptimize:!0,shape:{x1:g[0],y1:g[1],x2:h[0],y2:h[1]},style:d,z2:2,autoBatch:!0,silent:!0});l.anid=e+"_"+b[k].tickValue;f.push(l)}return f}function jD(b,a,c,d){var e=c.axis;if(Ba(d.axisLabelShow,c.get(["axisLabel","show"]))&&!e.scale.isBlank()){var f=c.getModel("axisLabel"),g=f.get("margin"),h=e.getViewLabels(),k=(Ba(d.labelRotate,f.get("rotate"))||0)*nd/180,l=mb.innerTextLayout(d.rotation,k,d.labelDirection),m=c.getCategories&&c.getCategories(!0),n=[],p=mb.isLabelSilent(c),q=c.get("triggerEvent");r(h,function(h,k){var t="ordinal"===e.scale.type?e.scale.getRawOrdinalNumber(h.tickValue):h.tickValue,u=h.formattedLabel,z=h.rawLabel,B=f;if(m&&m[t]){var y=m[t];N(y)&&y.textStyle&&(B=new la(y.textStyle,f,c.ecModel))}var y=B.getTextColor()||c.get(["axisLine","lineStyle","color"]),r=e.dataToCoord(t),u=new ha({x:r,y:d.labelOffset+d.labelDirection*g,rotation:l.rotation,silent:p,z2:10,style:Ja(B,{text:u,align:B.getShallow("align",!0)||l.textAlign,verticalAlign:B.getShallow("verticalAlign",!0)||B.getShallow("baseline",!0)||l.textVerticalAlign,fill:"function"===typeof y?y("category"===e.type?z:"value"===e.type?t+"":t,k):y})});u.anid="label_"+t;q&&(t=mb.makeAxisEventDataBase(c),t.targetType="axisLabel",t.value=z,S(u).eventData=t);a.add(u);u.updateTransform();n.push(u);b.add(u);u.decomposeTransform()});return n}}function kD(b,a,c){var d=a.getComponent("tooltip"),e=a.getComponent("axisPointer"),f=e.get("link",!0)||[],g=[];r(c.getCoordinateSystems(),function(c){function h(d,h,k){var l=k.model.getModel("axisPointer",e),p=l.get("show");if(p&&("auto"!==p||d||Dm(l))){null==h&&(h=l.get("triggerTooltip"));var l=d?lD(k,n,e,a,d,h):l,q=l.get("snap");d=Kg(k.model);p=h||q||"category"===k.type;h=b.axesInfo[d]={key:d,axis:k,coordSys:c,axisPointerModel:l,triggerTooltip:h,involveSeries:p,snap:q,useHandle:Dm(l),seriesModels:[],linkGroup:null};m[d]=h;b.seriesInvolved=b.seriesInvolved||p;a:{l=k.model;k=k.dim;for(p=0;p<f.length;p++)if(q=f[p]||{},Em(q[k+"AxisId"],l.id)||Em(q[k+"AxisIndex"],l.componentIndex)||Em(q[k+"AxisName"],l.name)){k=p;break a}k=void 0}null!=k&&(l=g[k]||(g[k]={axesInfo:{}}),l.axesInfo[d]=h,l.mapper=f[k].mapper,h.linkGroup=l)}}if(c.axisPointerEnabled){var l=Kg(c.model),m=b.coordSysAxesInfo[l]={};b.coordSysMap[l]=c;var n=c.model.getModel("tooltip",d);r(c.getAxes(),P(h,!1,null));if(c.getTooltipAxes&&d&&n.get("show")){var l="axis"===n.get("trigger"),p="cross"===n.get(["axisPointer","type"]),q=c.getTooltipAxes(n.get(["axisPointer","axis"]));(l||p)&&r(q.baseAxes,P(h,p?"cross":!0,l));p&&r(q.otherAxes,P(h,"cross",!1))}}})}function lD(b,a,c,d,e,f){var g=a.getModel("axisPointer"),h={};r("type snap lineStyle shadowStyle label animation animationDurationUpdate animationEasingUpdate z".split(" "),function(c){h[c]=J(g.get(c))});h.snap="category"!==b.type&&!!f;"cross"===g.get("type")&&(h.type="line");a=h.label||(h.label={});null==a.show&&(a.show=!1);"cross"===e&&(e=g.get(["label","show"]),a.show=null!=e?e:!0,f||(f=h.lineStyle=g.get("crossStyle"))&&K(a,f.textStyle));return b.model.getModel("axisPointer",new la(h,c,d))}function mD(b,a){a.eachSeries(function(c){var a=c.coordinateSystem,e=c.get(["tooltip","trigger"],!0),f=c.get(["tooltip","show"],!0);a&&"none"!==e&&!1!==e&&"item"!==e&&!1!==f&&!1!==c.get(["axisPointer","show"],!0)&&r(b.coordSysAxesInfo[Kg(a.model)],function(b){var d=b.axis;a.getAxis(d.dim)===d&&(b.seriesModels.push(c),null==b.seriesDataCount&&(b.seriesDataCount=0),b.seriesDataCount+=c.getData().count())})})}function Em(b,a){return"all"===b||A(b)&&0<=ba(b,a)||b===a}function Fm(b){var a=(b.ecModel.getComponent("axisPointer")||{}).coordSysAxesInfo;return a&&a.axesInfo[Kg(b)]}function Dm(b){return!!b.get(["handle","show"])}function Kg(b){return b.type+"||"+b.id}function ku(b,a,c,d){var e=c.axis;if(!e.scale.isBlank()){var f=c.getModel("splitArea"),g=f.getModel("areaStyle");c=g.get("color");d=d.coordinateSystem.getRect();f=e.getTicksCoords({tickModel:f,clamp:!0});if(f.length){var h=c.length,k=aj(b).splitAreaColors,l=R(),m=0;if(k)for(var n=0;n<f.length;n++){var p=k.get(f[n].tickValue);if(null!=p){m=(p+(h-1)*n)%h;break}}k=e.toGlobalCoord(f[0].coord);g=g.getAreaStyle();c=A(c)?c:[c];for(n=1;n<f.length;n++){var q=e.toGlobalCoord(f[n].coord),t,u;e.isHorizontal()?(p=k,t=d.y,u=q-p,q=d.height,k=p+u):(p=d.x,t=k,u=d.width,q-=t,k=t+q);var w=f[n-1].tickValue;null!=w&&l.set(w,m);a.add(new Z({anid:null!=w?"area_"+w:null,shape:{x:p,y:t,width:u,height:q},style:K({fill:c[m]},g),autoBatch:!0,silent:!0}));m=(m+1)%h}aj(b).splitAreaColors=l}}}function lu(b){b.registerComponentView(nD);b.registerComponentModel(oD);b.registerCoordinateSystem("cartesian2d",pD);pf(b,"x",Gm,mu);pf(b,"y",Gm,mu);b.registerComponentView(nu);b.registerComponentView(qD);b.registerPreprocessor(function(a){a.xAxis&&a.yAxis&&!a.grid&&(a.grid={})})}function rD(b){b.eachSeriesByType("radar",function(a){var c=a.getData(),b=[],e=a.coordinateSystem;if(e){var f=e.getIndicatorAxes();r(f,function(a,d){c.each(c.mapDimension(f[d].dim),function(c,a){b[a]=b[a]||[];var f=e.dataToPoint(c,d);b[a][d]=ou(f)?f:[e.cx,e.cy]})});c.each(function(a){var d=Sp(b[a],function(c){return ou(c)})||[e.cx,e.cy];b[a].push(d.slice());c.setItemLayout(a,b[a])})}})}function ou(b){return!isNaN(b[0])&&!isNaN(b[1])}function sD(b){var a=b.polar;if(a){A(a)||(a=[a]);var c=[];r(a,function(a,e){a.indicator?(a.type&&!a.shape&&(a.shape=a.type),b.radar=b.radar||[],A(b.radar)||(b.radar=[b.radar]),b.radar.push(a)):c.push(a)});b.polar=c}r(b.series,function(c){c&&"radar"===c.type&&c.polarIndex&&(c.radarIndex=c.polarIndex)})}function tD(b){b.registerCoordinateSystem("radar",uD);b.registerComponentModel(vD);b.registerComponentView(wD)}function xD(b,a,c){bj(b)[a]=c}function yD(b,a,c){b=bj(b);b[a]===c&&(b[a]=null)}function bj(b){return b["\x00_ec_interaction_mutex"]||(b["\x00_ec_interaction_mutex"]={})}function Hm(b,a,c,d,e){b.pointerChecker&&b.pointerChecker(d,e.originX,e.originY)&&(Bc(d.event),e.isAvailableBehavior=I(Lg,null,c,d),b.trigger(a,e))}function Lg(b,a,c){c=c[b];return!b||c&&(!da(c)||a.event[c+"Key"])}function Im(b,a,c){b=b.target;b.x+=a;b.y+=c;b.dirty()}function Jm(b,a,c,d){var e=b.target,f=b.zoomLimit,g=b.zoom=b.zoom||1,g=g*a;f&&(g=Math.max(Math.min(f.max||Infinity,g),f.min||0));a=g/b.zoom;b.zoom=g;e.x-=(c-e.x)*(a-1);e.y-=(d-e.y)*(a-1);e.scaleX*=a;e.scaleY*=a;e.dirty()}function cj(b,a,c){a=(b=a.getComponentByElement(b.topTarget))&&b.coordinateSystem;return b&&b!==c&&!zD.hasOwnProperty(b.mainType)&&a&&a.model!==c}function AD(b,a){"china"===b&&a.push(new rt("\u5357\u6d77\u8bf8\u5c9b",C(bc,function(c){return{type:"polygon",exterior:c}}),Km))}function BD(b){for(var a,c=0;c<b.length;c++){var d=b[c].getBoundingRect();a=a||d.clone();a.union(d)}return a}function Jb(b,a){b&&b.__inheritedStyle&&(a.__inheritedStyle||(a.__inheritedStyle={}),K(a.__inheritedStyle,b.__inheritedStyle))}function pu(b){b=Va(b).split(od);for(var a=[],c=0;c<b.length;c+=2){var d=parseFloat(b[c]),e=parseFloat(b[c+1]);a.push([d,e])}return a}function wb(b,a,c,d){var e=a.__inheritedStyle||{};if(1===b.nodeType&&(CD(b,a),F(e,DD(b)),!d))for(var f in qf)qf.hasOwnProperty(f)&&(d=b.getAttribute(f),null!=d&&(e[qf[f]]=d));a.style=a.style||{};null!=e.fill&&(a.style.fill=qu(e.fill,c));null!=e.stroke&&(a.style.stroke=qu(e.stroke,c));r("lineWidth opacity fillOpacity strokeOpacity miterLimit fontSize".split(" "),function(c){null!=e[c]&&(a.style[c]=parseFloat(e[c]))});e.textBaseline&&"auto"!==e.textBaseline||(e.textBaseline="alphabetic");"alphabetic"===e.textBaseline&&(e.textBaseline="bottom");"start"===e.textAlign&&(e.textAlign="left");"end"===e.textAlign&&(e.textAlign="right");r("lineDashOffset lineCap lineJoin fontWeight fontFamily fontStyle textAlign textBaseline".split(" "),function(c){null!=e[c]&&(a.style[c]=e[c])});e.lineDash&&(a.style.lineDash=C(Va(e.lineDash).split(od),function(c){return parseFloat(c)}));a.__inheritedStyle=e}function qu(b,a){var c=a&&b&&b.match(ED);return c?(c=Va(c[1]),a[c]):b}function CD(b,a){var c=b.getAttribute("transform");if(c){var c=c.replace(/,/g," "),d=[],e=null;c.replace(FD,function(c,a,b){d.push(a,b);return""});for(c=d.length-1;0<c;c-=2){var f=d[c],g=d[c-1],h=void 0,e=e||nb();switch(g){case "translate":h=Va(f).split(od);Rb(e,e,[parseFloat(h[0]),parseFloat(h[1]||"0")]);break;case "scale":h=Va(f).split(od);Vh(e,e,[parseFloat(h[0]),parseFloat(h[1]||h[0])]);break;case "rotate":h=Va(f).split(od);Tc(e,e,parseFloat(h[0]));break;case "skew":h=Va(f).split(od);console.warn("Skew transform is not supported yet");break;case "matrix":h=Va(f).split(od),e[0]=parseFloat(h[0]),e[1]=parseFloat(h[1]),e[2]=parseFloat(h[2]),e[3]=parseFloat(h[3]),e[4]=parseFloat(h[4]),e[5]=parseFloat(h[5])}}a.setLocalTransform(e)}}function DD(b){b=b.getAttribute("style");var a={};if(!b)return a;var c={};ru.lastIndex=0;for(var d;null!=(d=ru.exec(b));)c[d[1]]=d[2];for(var e in qf)qf.hasOwnProperty(e)&&null!=c[e]&&(a[qf[e]]=c[e]);return a}function su(b,a,c){var d=Math.min(a/b.width,c/b.height);return{scale:d,x:-(b.x+b.width/2)*d+a/2,y:-(b.y+b.height/2)*d+c/2}}function tu(b,a){var c=b.svgXML,d,e;try{var f;if(f=c)f=(new GD).parse(c,{ignoreViewBox:!0,ignoreRootClip:!0});d=f||{};e=d.root;O(null!=e)}catch(g){throw Error("Invalid svg format\n"+g.message);}c=d.width;f=d.height;d=d.viewBoxRect;a||(a=null==c||null==f?e.getBoundingRect():new aa(0,0,0,0),null!=c&&(a.width=c),null!=f&&(a.height=f));d&&(d=su(d,a.width,a.height),c=e,e=new M,e.add(c),c.scaleX=c.scaleY=d.scale,c.x=d.x,c.y=d.y);e.setClipPath(new Z({shape:a.plain()}));return{root:e,boundingRect:a}}function Lm(b){var a=Ri.retrieveMap(b)||[];a.length||console.error("Map "+b+" not exists. The GeoJSON of the map must be provided.");return a}function dj(b){var a=b.getItemStyle();b=b.get("areaColor");null!=b&&(a.fill=b);return a}function HD(b,a){var c={};r(b,function(a){a.each(a.mapDimension("value"),function(b,d){var e="ec-"+a.getName(d);c[e]=c[e]||[];isNaN(b)||c[e].push(b)})});return b[0].map(b[0].mapDimension("value"),function(d,e){for(var f="ec-"+b[0].getName(e),g=0,h=Infinity,k=-Infinity,l=c[f].length,m=0;m<l;m++)h=Math.min(h,c[f][m]),k=Math.max(k,c[f][m]),g+=c[f][m];f="min"===a?h:"max"===a?k:"average"===a?g/l:g;return 0===l?NaN:f})}function ID(b){var a={};b.eachSeriesByType("map",function(c){var b=c.getHostGeoModel(),b=b?"o"+b.id:"i"+c.getMapType();(a[b]=a[b]||[]).push(c)});r(a,function(c,a){for(var b=HD(C(c,function(c){return c.getData()}),c[0].get("mapValueCalculation")),d=0;d<c.length;d++)c[d].originalData=c[d].getData();for(d=0;d<c.length;d++)c[d].seriesGroup=c,c[d].needsDrawMap=0===d&&!c[d].getHostGeoModel(),c[d].setData(b.cloneShallow()),c[d].mainSeries=c[0]})}function JD(b){var a={};b.eachSeriesByType("map",function(c){var d=c.getMapType();if(!c.getHostGeoModel()&&!a[d]){var e={};r(c.seriesGroup,function(c){var a=c.coordinateSystem,d=c.originalData;c.get("showLegendSymbol")&&b.getComponent("legend")&&d.each(d.mapDimension("value"),function(c,b){var f=d.getName(b),g=a.getRegion(f);if(g&&!isNaN(c)){var h=e[f]||0,g=a.dataToPoint(g.center);e[f]=h+1;d.setItemLayout(b,{point:g,offset:h})}})});var f=c.getData();f.each(function(c){var a=f.getName(c),b=f.getItemLayout(c)||{};b.showLabel=!e[a];f.setItemLayout(c,b)});a[d]=!0}})}function KD(b){b.hierNode={defaultAncestor:null,ancestor:b,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};b=[b];for(var a,c;a=b.pop();)if(c=a.children,a.isExpand&&c.length)for(a=c.length-1;0<=a;a--){var d=c[a];d.hierNode={defaultAncestor:null,ancestor:d,prelim:0,modifier:0,change:0,shift:0,i:a,thread:null};b.push(d)}}function LD(b,a){var c=b.isExpand?b.children:[],d=b.parentNode.children,e=b.hierNode.i?d[b.hierNode.i-1]:null;if(c.length){for(var f=b.children,g=f.length,h=0,k=0;0<=--g;){var l=f[g];l.hierNode.prelim+=h;l.hierNode.modifier+=h;k+=l.hierNode.change;h+=l.hierNode.shift+k}c=(c[0].hierNode.prelim+c[c.length-1].hierNode.prelim)/2;e?(b.hierNode.prelim=e.hierNode.prelim+a(b,e),b.hierNode.modifier=b.hierNode.prelim-c):b.hierNode.prelim=c}else e&&(b.hierNode.prelim=e.hierNode.prelim+a(b,e));c=b.parentNode.hierNode;d=b.parentNode.hierNode.defaultAncestor||d[0];if(e){for(var g=f=b,h=g.parentNode.children[0],k=f.hierNode.modifier,l=g.hierNode.modifier,m=h.hierNode.modifier,n=e.hierNode.modifier;e=Mm(e),g=Nm(g),e&&g;){f=Mm(f);h=Nm(h);f.hierNode.ancestor=b;var p=e.hierNode.prelim+n-g.hierNode.prelim-l+a(e,g);if(0<p){var q=e.hierNode.ancestor.parentNode===b.parentNode?e.hierNode.ancestor:d,t=b,u=p,w=u/(t.hierNode.i-q.hierNode.i);t.hierNode.change-=w;t.hierNode.shift+=u;t.hierNode.modifier+=u;t.hierNode.prelim+=u;q.hierNode.change+=w;l+=p;k+=p}n+=e.hierNode.modifier;l+=g.hierNode.modifier;k+=f.hierNode.modifier;m+=h.hierNode.modifier}e&&!Mm(f)&&(f.hierNode.thread=e,f.hierNode.modifier+=n-k);g&&!Nm(h)&&(h.hierNode.thread=g,h.hierNode.modifier+=l-m,d=b)}c.defaultAncestor=d}function MD(b){b.setLayout({x:b.hierNode.prelim+b.parentNode.hierNode.modifier},!0);b.hierNode.modifier+=b.parentNode.hierNode.modifier}function uu(b){return arguments.length?b:ND}function Mg(b,a){b-=Math.PI/2;return{x:a*Math.cos(b),y:a*Math.sin(b)}}function OD(b,a){return Aa(b.getBoxLayoutParams(),{width:a.getWidth(),height:a.getHeight()})}function Mm(b){var a=b.children;return a.length&&b.isExpand?a[a.length-1]:b.hierNode.thread}function Nm(b){var a=b.children;return a.length&&b.isExpand?a[0]:b.hierNode.thread}function ND(b,a){return b.parentNode===a.parentNode?1:2}function vu(b){return(b=b.seriesModel)?b.coordinateSystem:null}function wu(b,a){var c=b.getItemLayout(a);return c&&!isNaN(c.x)&&!isNaN(c.y)}function xu(b,a,c,d,e){var f=!c,g=b.tree.getNodeByDataIndex(a),h=g.getModel(),k=g.getVisual("style").fill,l=!1===g.isExpand&&0!==g.children.length?k:"#fff",k=b.tree.root,m=g.parentNode===k?g:g.parentNode||g,n=b.getItemGraphicEl(m.dataIndex),m=m.getLayout(),n=n?{x:n.__oldX,y:n.__oldY,rawX:n.__radialOldRawX,rawY:n.__radialOldRawY}:m,p=g.getLayout();f?(c=new Hg(b,a,null,{symbolInnerColor:l,useNameLabel:!0}),c.x=n.x,c.y=n.y):c.updateData(b,a,null,{symbolInnerColor:l,useNameLabel:!0});c.__radialOldRawX=c.__radialRawX;c.__radialOldRawY=c.__radialRawY;c.__radialRawX=p.rawX;c.__radialRawY=p.rawY;d.add(c);b.setItemGraphicEl(a,c);c.__oldX=c.x;c.__oldY=c.y;ea(c,{x:p.x,y:p.y},e);a=c.getSymbolPath();if("radial"===e.get("layout")){var q=k.children[0],l=q.getLayout(),t=q.children.length,u=f=void 0;p.x===l.x&&!0===g.isExpand?(u=(q.children[0].getLayout().x+q.children[t-1].getLayout().x)/2,f=(q.children[0].getLayout().y+q.children[t-1].getLayout().y)/2,f=Math.atan2(f-l.y,u-l.x),0>f&&(f=2*Math.PI+f),(u=u<l.x)&&(f-=Math.PI)):(f=Math.atan2(p.y-l.y,p.x-l.x),0>f&&(f=2*Math.PI+f),0===g.children.length||0!==g.children.length&&!1===g.isExpand?(u=p.x<l.x)&&(f-=Math.PI):(u=p.x>l.x)||(f-=Math.PI));var l=u?"left":"right",q=h.getModel("label"),t=q.get("rotate"),u=Math.PI/180*t,w=a.getTextContent();w&&(a.setTextConfig({position:q.get("position")||l,rotation:null==t?-f:u,origin:"center"}),w.setStyle("verticalAlign","middle"))}h=h.get(["emphasis","focus"]);if(h="ancestor"===h?g.getAncestorsIndices():"descendant"===h?g.getDescendantIndices():null)S(c).focus=h;PD(e,g,k,c,n,m,p,d);c.__edge&&(c.onHoverStateChange=function(a){if("blur"!==a){var d=g.parentNode&&b.getItemGraphicEl(g.parentNode.dataIndex);d&&1===d.hoverState||ml(c.__edge,a)}})}function PD(b,a,c,d,e,f,g,h){var k=a.getModel(),l=b.get("edgeShape"),m=b.get("layout"),n=b.getOrient(),p=b.get(["lineStyle","curveness"]),q=b.get("edgeForkPosition"),t=k.getModel("lineStyle").getLineStyle(),u=d.__edge;if("curve"===l)a.parentNode&&a.parentNode!==c&&(u||(u=d.__edge=new rf({shape:Om(m,n,p,e,e)})),ea(u,{shape:Om(m,n,p,f,g)},b));else if("polyline"===l)if("orthogonal"===m){if(a!==c&&a.children&&0!==a.children.length&&!0===a.isExpand){a=a.children;c=[];for(e=0;e<a.length;e++)f=a[e].getLayout(),c.push([f.x,f.y]);u||(u=d.__edge=new QD({shape:{parentPoint:[g.x,g.y],childPoints:[[g.x,g.y]],orient:n,forkPosition:q}}));ea(u,{shape:{parentPoint:[g.x,g.y],childPoints:c}},b)}}else throw Error("The polyline edgeShape can only be used in orthogonal layout");u&&(u.useStyle(K({strokeNoScale:!0,fill:null},t)),Fa(u,k,"lineStyle"),eg(u),h.add(u))}function yu(b,a,c,d,e){for(var f=b.tree.getNodeByDataIndex(a),g=b.tree.root,f=f.parentNode===g?f:f.parentNode||f,h;h=f.getLayout(),null==h;)f=f.parentNode===g?f:f.parentNode||f;g={duration:e.get("animationDurationUpdate"),easing:e.get("animationEasingUpdate")};cd(c,{x:h.x+1,y:h.y+1},e,{cb:function(){d.remove(c);b.setItemGraphicEl(a,null)},removeOpt:g});c.fadeOut(null,{fadeLabel:!0,animation:g});var k=b.getItemGraphicEl(f.dataIndex).__edge,l=c.__edge||(!1===f.isExpand||1===f.children.length?k:void 0),f=e.get("edgeShape"),k=e.get("layout"),m=e.get("orient"),n=e.get(["lineStyle","curveness"]);l&&("curve"===f?cd(l,{shape:Om(k,m,n,h,h),style:{opacity:0}},e,{cb:function(){d.remove(l)},removeOpt:g}):"polyline"===f&&"orthogonal"===e.get("layout")&&cd(l,{shape:{parentPoint:[h.x,h.y],childPoints:[[h.x,h.y]]},style:{opacity:0}},e,{cb:function(){d.remove(l)},removeOpt:g}))}function Om(b,a,c,d,e){var f,g,h,k,l;if("radial"===b)return b=d.rawX,l=d.rawY,d=e.rawX,e=e.rawY,a=Mg(b,l),f=Mg(b,l+(e-l)*c),c=Mg(d,e+(l-e)*c),d=Mg(d,e),{x1:a.x||0,y1:a.y||0,x2:d.x||0,y2:d.y||0,cpx1:f.x||0,cpy1:f.y||0,cpx2:c.x||0,cpy2:c.y||0};b=d.x;l=d.y;d=e.x;e=e.y;if("LR"===a||"RL"===a)f=b+(d-b)*c,g=l,h=d+(b-d)*c,k=e;if("TB"===a||"BT"===a)f=b,g=l+(e-l)*c,h=d,k=e+(l-e)*c;return{x1:b,y1:l,x2:d,y2:e,cpx1:f,cpy1:g,cpx2:h,cpy2:k}}function zu(b){var a=b.mainData,c=b.datas;c||(c={main:a},b.datasAttr={main:"data"});b.datas=b.mainData=null;Au(a,c,b);r(c,function(c){r(a.TRANSFERABLE_METHODS,function(a){c.wrapMethod(a,P(RD,b))})});a.wrapMethod("cloneShallow",P(SD,b));r(a.CHANGABLE_METHODS,function(c){a.wrapMethod(c,P(TD,b))});O(c[a.dataType]===a)}function RD(b,a){if(Kb(this).mainData===this){var c=F({},Kb(this).datas);c[this.dataType]=a;Au(a,c,b)}else Pm(a,this.dataType,Kb(this).mainData,b);return a}function TD(b,a){b.struct&&b.struct.update();return a}function SD(b,a){r(Kb(a).datas,function(c,d){c!==a&&Pm(c.cloneShallow(),d,a,b)});return a}function UD(b){var a=Kb(this).mainData;return null==b||null==a?a:Kb(a).datas[b]}function VD(){var b=Kb(this).mainData;return null==b?[{data:b}]:C(ia(Kb(b).datas),function(a){return{type:a,data:Kb(b).datas[a]}})}function Au(b,a,c){Kb(b).datas={};r(a,function(a,e){Pm(a,e,b,c)})}function Pm(b,a,c,d){Kb(c).datas[a]=b;Kb(b).mainData=c;b.dataType=a;d.struct&&(b[d.structAttr]=d.struct,d.struct[d.datasAttr[a]]=b);b.getLinkedData=UD;b.getLinkedDataAll=VD}function WD(b,a,c){b=[b];for(var d=[],e;e=b.pop();)if(d.push(e),e.isExpand&&(e=e.children,e.length))for(var f=0;f<e.length;f++)b.push(e[f]);for(;e=d.pop();)a(e,c)}function Ng(b,a){for(var c=[b],d;d=c.pop();)if(a(d),d.isExpand&&(d=d.children,d.length))for(var e=d.length-1;0<=e;e--)c.push(d[e])}function XD(b,a){b.eachSeriesByType("tree",function(c){YD(c,a)})}function YD(b,a){var c=OD(b,a);b.layoutInfo=c;var d=b.get("layout"),e=0,f=0,g=null;"radial"===d?(e=2*Math.PI,f=Math.min(c.height,c.width)/2,g=uu(function(c,a){return(c.parentNode===a.parentNode?1:2)/c.depth})):(e=c.width,f=c.height,g=uu());var h=b.getData().tree.root;if(c=h.children[0]){KD(h);WD(c,LD,g);h.hierNode.modifier=-c.hierNode.prelim;Ng(c,MD);var k=c,l=c,m=c;Ng(c,function(c){var a=c.getLayout().x;a<k.getLayout().x&&(k=c);a>l.getLayout().x&&(l=c);c.depth>m.depth&&(m=c)});var g=k===l?1:g(k,l)/2,n=g-k.getLayout().x,p=0,q=0,t=0,u=0;if("radial"===d)p=e/(l.getLayout().x+g+n),q=f/(m.depth-1||1),Ng(c,function(c){t=(c.getLayout().x+n)*p;u=(c.depth-1)*q;var a=Mg(t,u);c.setLayout({x:a.x,y:a.y,rawX:t,rawY:u},!0)});else{var w=b.getOrient();if("RL"===w||"LR"===w)q=f/(l.getLayout().x+g+n),p=e/(m.depth-1||1),Ng(c,function(c){u=(c.getLayout().x+n)*q;t="LR"===w?(c.depth-1)*p:e-(c.depth-1)*p;c.setLayout({x:t,y:u},!0)});else if("TB"===w||"BT"===w)p=e/(l.getLayout().x+g+n),q=f/(m.depth-1||1),Ng(c,function(c){t=(c.getLayout().x+n)*p;u="TB"===w?(c.depth-1)*q:f-(c.depth-1)*q;c.setLayout({x:t,y:u},!0)})}}}function ZD(b){b.eachSeriesByType("tree",function(a){var c=a.getData();c.tree.eachNode(function(a){var b=a.getModel().getModel("itemStyle").getItemStyle();a=c.ensureUniqueItemVisual(a.dataIndex,"style");F(a,b)})})}function Qm(b,a,c){var d=b.getZoom(),e=b.getCenter(),f=a.zoom,e=b.dataToPoint(e);null!=a.dx&&null!=a.dy&&(e[0]-=a.dx,e[1]-=a.dy,b.setCenter(b.pointToData(e)));null!=f&&(c&&(f=Math.max(Math.min(d*f,c.max||Infinity),c.min||0)/d),b.scaleX*=f,b.scaleY*=f,c=(a.originY-b.y)*(f-1),b.x-=(a.originX-b.x)*(f-1),b.y-=c,b.updateTransform(),b.setCenter(b.pointToData(e)),b.setZoom(f*d));return{center:b.getCenter(),zoom:b.getZoom()}}function $D(b){b.registerAction({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(a,c){c.eachComponent({mainType:"series",subType:"tree",query:a},function(c){var b=a.dataIndex;c=c.getData().tree.getNodeByDataIndex(b);c.isExpand=!c.isExpand})});b.registerAction({type:"treeRoam",event:"treeRoam",update:"none"},function(a,c){c.eachComponent({mainType:"series",subType:"tree",query:a},function(c){var b=Qm(c.coordinateSystem,a);c.setCenter&&c.setCenter(b.center);c.setZoom&&c.setZoom(b.zoom)})})}function Og(b,a,c){if(b&&0<=ba(a,b.type)){a=c.getData().tree.root;c=b.targetNode;"string"===typeof c&&(c=a.getNodeById(c));if(c&&a.contains(c))return{node:c};b=b.targetNodeId;if(null!=b&&(c=a.getNodeById(b)))return{node:c}}}function Bu(b){for(var a=[];b;)(b=b.parentNode)&&a.push(b);return a.reverse()}function Rm(b,a){var c=Bu(b);return 0<=ba(c,a)}function Sm(b,a){for(var c=[];b;){var d=b.dataIndex;c.push({name:b.name,dataIndex:d,value:a.getRawValue(d)});b=b.parentNode}c.reverse();return c}function aE(b){for(var a=0;a<Cu.length;a++)b.registerAction({type:Cu[a],update:"updateView"},bE);b.registerAction({type:"treemapRootToNode",update:"updateView"},function(c,a){a.eachComponent({mainType:"series",subType:"treemap",query:c},function(a,b){var d=Og(c,["treemapZoomToNode","treemapRootToNode"],a);if(d){var e=a.getViewRoot();e&&(c.direction=Rm(e,d.node)?"rollUp":"drillDown");a.resetViewRoot(d.node)}})})}function Du(b){var a={};b.getData().tree.eachNode(function(c){for(var d=c;d&&1<d.depth;)d=d.parentNode;d=Kl(b.ecModel,d.name||d.dataIndex+"",a);c.setVisual("decal",d)})}function Eu(b){var a=0;r(b.children,function(c){Eu(c);c=c.value;A(c)&&(c=c[0]);a+=c});var c=b.value;A(c)&&(c=c[0]);if(null==c||isNaN(c))c=a;0>c&&(c=0);A(b.value)?b.value[0]=c:b.value=c}function cE(b,a){var c=xa(a.get("color")),d=xa(a.get(["aria","decal","decals"]));if(c){b=b||[];var e,f;r(b,function(c){c=new la(c);var a=c.get("color"),b=c.get("decal");if(c.get(["itemStyle","color"])||a&&"none"!==a)e=!0;if(c.get(["itemStyle","decal"])||b&&"none"!==b)f=!0});var g=b[0]||(b[0]={});e||(g.color=c.slice());!f&&d&&(g.decal=d.slice());return b}}function Pg(){return{nodeGroup:[],background:[],content:[]}}function dE(b,a,c,d,e,f,g,h,k,l){function m(c,a,d){var e=S(a);e.dataIndex=g.dataIndex;e.seriesIndex=b.seriesIndex;a.setShape({x:0,y:0,width:z,height:B,r:I});if(r)!a.invisible&&f.push(a);else{a.invisible=!1;var e=g.getVisual("style"),h=e.stroke,k=Fu(x);k.fill=h;var l=ce(A);l.fill=A.get("borderColor");var m=ce(C);m.fill=C.get("borderColor");var n=ce(H);n.fill=H.get("borderColor");d?(d=z-2*y,p(a,h,d,E,e.opacity,{x:y,y:0,width:d,height:E})):a.removeTextContent();a.setStyle(k);a.ensureState("emphasis").style=l;a.ensureState("blur").style=m;a.ensureState("select").style=n;eg(a)}c.add(a)}function n(c,a){var d=S(a);d.dataIndex=g.dataIndex;d.seriesIndex=b.seriesIndex;var d=Math.max(z-2*y,0),e=Math.max(B-2*y,0);a.culling=!0;a.setShape({x:y,y:y,width:d,height:e,r:I});if(r)!a.invisible&&f.push(a);else{a.invisible=!1;var e=g.getVisual("style"),h=e.fill,k=Fu(x);k.fill=h;k.decal=e.decal;var l=ce(A),m=ce(C),n=ce(H);p(a,h,d,e.opacity);a.setStyle(k);a.ensureState("emphasis").style=l;a.ensureState("blur").style=m;a.ensureState("select").style=n;eg(a)}c.add(a)}function p(c,a,d,e,f,h){f=v.getModel(h?"upperLabel":"label");e=Ba(b.getFormattedLabel(g.dataIndex,"normal",null,null,f.get("formatter")),Ea(v.get("name"),null));if(!h&&u.isLeafRoot){var k=b.get("drillDownIcon",!0);e=k?k+" "+e:e}f=f.getShallow("show");cb(c,Ra(v,h?"upperLabel":"label"),{defaultText:f?e:null,inheritColor:a,defaultOpacity:d,labelFetcher:b,labelDataIndex:g.dataIndex});var l=c.getTextContent(),m=l.style,n=Sh(m.padding||0);h&&(c.setTextConfig({layoutRect:h}),l.disableLabelLayout=!0);l.beforeUpdate=function(){var a=Math.max((h?h.width:c.shape.width)-n[1]-n[3],0),b=Math.max((h?h.height:c.shape.height)-n[0]-n[2],0);m.width===a&&m.height===b||l.setStyle({width:a,height:b})};m.truncateMinChar=2;m.lineOverflow="truncate";q(m,h,u);a=l.getState("emphasis");q(a?a.style:null,h,u)}function q(c,a,d){var e=c?c.text:null;!a&&d.isLeafRoot&&null!=e&&(a=b.get("drillDownIcon",!0),c.text=a?a+" "+e:e)}function t(b,f,h,k){var l=null!=Q&&c[b][Q],m=e[b];if(l)c[b][Q]=null,f=l,m=m[D]={},f instanceof Tm?(m.oldX=f.x,m.oldY=f.y):m.oldShape=F({},f.shape);else if(!r){l=new f;l instanceof de&&(f=10*h+k,l.z=(f-1)/f);var m=m[D]={},n=g.parentNode;f=l instanceof M;!n||d&&"drillDown"!==d.direction||(k=h=0,n=e.background[n.getRawIndex()],!d&&n&&n.oldShape&&(h=n.oldShape.width,k=n.oldShape.height),f?(m.oldX=0,m.oldY=k):m.oldShape={x:h,y:k,width:0,height:0});m.fadein=!f}return a[b][D]=l}if(g){var u=g.getLayout(),w=b.getData(),v=g.getModel();w.setItemGraphicEl(g.dataIndex,null);if(u&&u.isInView){var z=u.width,B=u.height,y=u.borderWidth,r=u.invisible,D=g.getRawIndex(),Q=h&&h.getRawIndex();h=g.viewChildren;var E=u.upperHeight,G=h&&h.length,x=v.getModel("itemStyle"),A=v.getModel(["emphasis","itemStyle"]),C=v.getModel(["blur","itemStyle"]),H=v.getModel(["select","itemStyle"]),I=x.get("borderRadius")||0;if(h=t("nodeGroup",Tm)){k.add(h);h.x=u.x||0;h.y=u.y||0;h.markRedraw();ej(h).nodeWidth=z;ej(h).nodeHeight=B;if(u.isAboveViewRoot)return h;(k=t("background",Gu,l,1))&&m(h,k,G&&u.upperLabelHeight);var J=v.get(["emphasis","focus"]),K=v.get(["emphasis","blurScope"]),N="ancestor"===J?g.getAncestorsIndices():"descendant"===J?g.getDescendantIndices():null;G?(ki(h)&&We(h,!1),k&&(We(k,!0),w.setItemGraphicEl(g.dataIndex,k),ol(k,N||J,K))):((l=t("content",Gu,l,2))&&n(h,l),k&&ki(k)&&We(k,!1),We(h,!0),w.setItemGraphicEl(g.dataIndex,h),ol(h,N||J,K));return h}}}}function eE(b){var a=b.pieceList;b.hasSpecialVisual=!1;r(a,function(c,a){c.originIndex=a;null!=c.visual&&(b.hasSpecialVisual=!0)})}function fE(b){var a=b.categories,c=b.categoryMap={},d=b.visual;Qg(a,function(a,b){c[a]=b});if(!A(d)){var e=[];N(d)?Qg(d,function(a,b){var d=c[b];e[null!=d?d:-1]=a}):e[-1]=d;d=Hu(b,e)}for(b=a.length-1;0<=b;b--)null==d[b]&&(delete c[a[b]],a.pop())}function Um(b,a){var c=b.visual,d=[];N(c)?Qg(c,function(c){d.push(c)}):null!=c&&d.push(c);c={color:1,symbol:1};a||1!==d.length||c.hasOwnProperty(b.type)||(d[1]=d[0]);Hu(b,d)}function fj(b){return{applyVisual:function(a,c,d){a=this.mapValueToVisual(a);d("color",b(c("color"),a))},_normalizedToVisual:Vm([0,1])}}function Iu(b){var a=this.option.visual;return a[Math.round(ga(b,[0,1],[0,a.length-1],!0))]||{}}function Rg(b){return function(a,c,d){d(b,this.mapValueToVisual(a))}}function Sg(b){var a=this.option.visual;return a[this.option.loop&&-1!==b?b%a.length:b]}function ee(){return this.option.visual[0]}function Vm(b){return{linear:function(a){return ga(a,b,this.option.visual,!0)},category:Sg,piecewise:function(a,c){var d=Wm.call(this,c);null==d&&(d=ga(a,b,this.option.visual,!0));return d},fixed:ee}}function Wm(b){var a=this.option,c=a.pieceList;if(a.hasSpecialVisual&&(b=La.findPieceIndex(b,c),(c=c[b])&&c.visual))return c.visual[this.type]}function Hu(b,a){b.visual=a;"color"===b.type&&(b.parsedVisual=C(a,function(c){return eb(c)}));return a}function gj(b,a,c){return b?a<=c:a<c}function Ju(b,a,c,d){var e=b.getModel(),f=b.getLayout(),g=b.hostTree.data;if(f&&!f.invisible&&f.isInView){var h=e.getModel("itemStyle"),k=gE(h,a,d);a=g.ensureUniqueItemVisual(b.dataIndex,"style");var l=h.get("borderColor"),g=h.get("borderColorSaturation");null!=g&&(l=Ku(k),l=null!=l?Ne(l,null,null,g):null);a.stroke=l;if((g=b.viewChildren)&&g.length){var m=hE(b,e,f,h,k,g);r(g,function(a,b){if(a.depth>=c.length||a===c[a.depth]){var f=F({},k);if(m){var g=m.type,h="color"===g&&Lu(m).drColorMappingBy,h="index"===h?b:"id"===h?d.mapIdToIndex(a.getId()):a.getValue(e.get("visualDimension"));f[g]=m.mapValueToVisual(h)}Ju(a,f,c,d)}})}else l=Ku(k),a.fill=l}}function gE(b,a,c){var d=F({},a),e=c.designatedVisualItemStyle;r(["color","colorAlpha","colorSaturation"],function(c){e[c]=a[c];var f=b.get(c);e[c]=null;null!=f&&(d[c]=f)});return d}function Ku(b){var a=Xm(b,"color");if(a){var c=Xm(b,"colorAlpha");(b=Xm(b,"colorSaturation"))&&(a=Ne(a,null,null,b));c&&(a=Uf(a,c));return a}}function Xm(b,a){var c=b[a];if(null!=c&&"none"!==c)return c}function hE(b,a,c,d,e,f){if(f&&f.length&&(b=Ym(a,"color")||null!=e.color&&"none"!==e.color&&(Ym(a,"colorAlpha")||Ym(a,"colorSaturation"))))return d=a.get("visualMin"),e=a.get("visualMax"),c=c.dataExtent.slice(),null!=d&&d<c[0]&&(c[0]=d),null!=e&&e>c[1]&&(c[1]=e),a=a.get("colorMappingBy"),c={type:b.name,dataExtent:c,visual:b.range},"color"!==c.type||"index"!==a&&"id"!==a?c.mappingMethod="linear":(c.mappingMethod="category",c.loop=!0),c=new La(c),Lu(c).drColorMappingBy=a,c}function Ym(b,a){var c=b.get(a);return A(c)&&c.length?{name:a,range:c}:null}function Mu(b,a,c,d){var e,f;if(!b.isRemoved()){var g=b.getLayout();e=g.width;f=g.height;var g=b.getModel(),h=g.get(Nu),k=g.get(iE)/2,l=Ou(g),m=Math.max(h,l),n=h-k,p=m-k;b.setLayout({borderWidth:h,upperHeight:m,upperLabelHeight:l},!0);e=Tg(e-2*n,0);f=Tg(f-n-p,0);h=e*f;b=jE(b,g,h,a,c,d);if(b.length){n={x:n,y:p,width:e,height:f};e=hj(e,f);f=Infinity;p=[];l=p.area=0;for(m=b.length;l<m;){var q=b[l];p.push(q);p.area+=q.getLayout().area;for(var t=p,u=e,w=a.squareRatio,q=0,v=Infinity,z=0,B,y=t.length;z<y;z++)if(B=t[z].getLayout().area)B<v&&(v=B),B>q&&(q=B);t=t.area*t.area;u=u*u*w;q=t?Tg(u*q/t,t/(u*v)):Infinity;q<=f?(l++,f=q):(p.area-=p.pop().getLayout().area,Pu(p,e,n,k,!1),e=hj(n.width,n.height),p.length=p.area=0,f=Infinity)}p.length&&Pu(p,e,n,k,!0);c||(g=g.get("childrenVisibleMin"),null!=g&&h<g&&(c=!0));l=0;for(m=b.length;l<m;l++)Mu(b[l],a,c,d+1)}}}function jE(b,a,c,d,e,f){var g=b.children||[],h=d.sort;"asc"!==h&&"desc"!==h&&(h=null);d=null!=d.leafDepth&&d.leafDepth<=f;if(e&&!d)return b.viewChildren=[];g=ta(g,function(c){return!c.isRemoved()});kE(g,h);e=lE(a,g,h);if(0===e.sum)return b.viewChildren=[];e.sum=mE(a,c,e.sum,h,g);if(0===e.sum)return b.viewChildren=[];a=0;for(h=g.length;a<h;a++)f=g[a].getValue()/e.sum*c,g[a].setLayout({area:f});d&&(g.length&&b.setLayout({isLeafRoot:!0},!0),g.length=0);b.viewChildren=g;b.setLayout({dataExtent:e.dataExtent},!0);return g}function mE(b,a,c,d,e){if(!d)return c;b=b.get("visibleMin");for(var f=e.length,g=f,h=f-1;0<=h;h--){var k=e["asc"===d?f-h-1:h].getValue();k/c*a<b&&(g=h,c-=k)}"asc"===d?e.splice(0,f-g):e.splice(g,f-g);return c}function kE(b,a){a&&b.sort(function(c,b){var d="asc"===a?c.getValue()-b.getValue():b.getValue()-c.getValue();return 0===d?"asc"===a?c.dataIndex-b.dataIndex:b.dataIndex-c.dataIndex:d});return b}function lE(b,a,c){for(var d=0,e=0,f=a.length;e<f;e++)d+=a[e].getValue();var g=b.get("visualDimension"),h;a&&a.length?"value"===g&&c?(h=[a[a.length-1].getValue(),a[0].getValue()],"asc"===c&&h.reverse()):(h=[Infinity,-Infinity],Zm(a,function(c){c=c.getValue(g);c<h[0]&&(h[0]=c);c>h[1]&&(h[1]=c)})):h=[NaN,NaN];return{sum:d,dataExtent:h}}function Pu(b,a,c,d,e){var f=a===c.width?0:1,g=1-f,h=["x","y"],k=["width","height"],l=c[h[f]];a=a?b.area/a:0;if(e||a>c[k[g]])a=c[k[g]];e=0;for(var m=b.length;e<m;e++){var n=b[e],p={},q=a?n.getLayout().area/a:0,t=p[k[g]]=Tg(a-2*d,0),u=c[h[f]]+c[k[f]]-l,q=e===m-1||u<q?u:q,u=p[k[f]]=Tg(q-2*d,0);p[h[g]]=c[h[g]]+hj(d,t/2);p[h[f]]=l+hj(d,u/2);l+=q;n.setLayout(p,!0)}c[h[g]]+=a;c[k[g]]-=a}function nE(b,a,c,d,e){var f=(a||{}).node;a=[d,e];if(!f||f===c)return a;c=d*e;for(var g=c*b.option.zoomToNodeRatio;b=f.parentNode;){for(var h=0,k=b.children,l=0,m=k.length;l<m;l++)h+=k[l].getValue();f=f.getValue();if(0===f)return a;g*=h/f;h=b.getModel();f=h.get(Nu);h=Math.max(f,Ou(h));g+=4*f*f+(3*f+h)*Math.pow(g,.5);9007199254740991<g&&(g=9007199254740991);f=b}g<c&&(g=c);a=Math.pow(g/c,.5);return[d*a,e*a]}function oE(b,a,c){if(a)return{x:a.x,y:a.y};a={x:0,y:0};if(!c)return a;c=c.node;var d=c.getLayout();if(!d)return a;for(a=[d.width/2,d.height/2];c;)d=c.getLayout(),a[0]+=d.x,a[1]+=d.y,c=c.parentNode;return{x:b.width/2-a[0],y:b.height/2-a[1]}}function Qu(b,a,c,d,e){var f=b.getLayout(),g=c[e],h=g&&g===b;if(!(g&&!h||e===c.length&&b!==d)){b.setLayout({isInView:!0,invisible:!h&&!a.intersect(f),isAboveViewRoot:h},!0);var k=new aa(a.x-f.x,a.y-f.y,a.width,a.height);Zm(b.viewChildren||[],function(a){Qu(a,k,c,d,e+1)})}}function Ou(b){return b.get(pE)?b.get(qE):0}function rE(b){var a=b.findComponents({mainType:"legend"});a&&a.length&&b.eachSeriesByType("graph",function(c){var b=c.getCategoriesData(),e=c.getGraph().data,f=b.mapArray(b.getName);e.filterSelf(function(c){c=e.getItemModel(c).getShallow("category");if(null!=c){"number"===typeof c&&(c=f[c]);for(var b=0;b<a.length;b++)if(!a[b].isSelected(c))return!1}return!0})})}function sE(b){var a={};b.eachSeriesByType("graph",function(c){var b=c.getCategoriesData(),e=c.getData(),f={};b.each(function(d){var e=b.getName(d);f["ec-"+e]=d;var g=b.getItemModel(d),l=g.getModel("itemStyle").getItemStyle();l.fill||(l.fill=c.getColorFromPalette(e,a));b.setItemVisual(d,"style",l);e=["symbol","symbolSize","symbolKeepAspect"];for(l=0;l<e.length;l++){var m=g.getShallow(e[l],!0);null!=m&&b.setItemVisual(d,e[l],m)}});b.count()&&e.each(function(c){var a=e.getItemModel(c).getShallow("category");if(null!=a){"string"===typeof a&&(a=f["ec-"+a]);var d=b.getItemVisual(a,"style"),g=e.ensureUniqueItemVisual(c,"style");F(g,d);d=["symbol","symbolSize","symbolKeepAspect"];for(g=0;g<d.length;g++)e.setItemVisual(c,d[g],b.getItemVisual(a,d[g]))}})})}function ij(b){b instanceof Array||(b=[b,b]);return b}function tE(b){b.eachSeriesByType("graph",function(a){var c=a.getGraph(),b=a.getEdgeData(),e=ij(a.get("edgeSymbol")),f=ij(a.get("edgeSymbolSize"));b.setVisual("fromSymbol",e&&e[0]);b.setVisual("toSymbol",e&&e[1]);b.setVisual("fromSymbolSize",f&&f[0]);b.setVisual("toSymbolSize",f&&f[1]);b.setVisual("style",a.getModel("lineStyle").getLineStyle());b.each(function(a){var d=b.getItemModel(a),e=c.getEdgeByIndex(a),f=ij(d.getShallow("symbol",!0)),g=ij(d.getShallow("symbolSize",!0)),d=d.getModel("lineStyle").getLineStyle();a=b.ensureUniqueItemVisual(a,"style");F(a,d);switch(a.stroke){case "source":d=e.node1.getVisual("style");a.stroke=d&&d.fill;break;case "target":d=e.node2.getVisual("style"),a.stroke=d&&d.fill}f[0]&&e.setVisual("fromSymbol",f[0]);f[1]&&e.setVisual("toSymbol",f[1]);g[0]&&e.setVisual("fromSymbolSize",g[0]);g[1]&&e.setVisual("toSymbolSize",g[1])})})}function $m(b,a,c,d){var e=jj(a),f=A(e);if(!e)return null;var g,h=Ug(b.node1,b.node2,a);g=a.__edgeMap[h];if(!g)return null;for(var h=-1,k=0;k<g.length;k++)if(g[k]===c){h=k;break}c=an(Ug(b.node1,b.node2,a),a);k=an(Ug(b.node2,b.node1,a),a);c+=k;Ru(a,c);b.lineStyle=b.lineStyle||{};k=Ug(b.node1,b.node2,a);b=a.__curvenessList;c=f?0:c%2?0:1;if(g.isForward)return b[c+h];g=Su(k);a=an(g,a);g=b[h+a+c];return d?f?e&&0===e[0]?(a+c)%2?g:-g:((a%2?0:1)+c)%2?g:-g:(a+c)%2?g:-g:b[h+a+c]}function Tu(b){var a=b.coordinateSystem;a&&"view"!==a.type||(a=b.getGraph(),a.eachNode(function(c){var a=c.getModel();c.setLayout([+a.get("x"),+a.get("y")])}),Uu(a,b))}function Uu(b,a){b.eachEdge(function(c,b){var d=zb(c.getModel().get(["lineStyle","curveness"]),-$m(c,a,b,!0),0),f=ic(c.node1.getLayout()),g=ic(c.node2.getLayout()),h=[f,g];+d&&h.push([(f[0]+g[0])/2-(f[1]-g[1])*d,(f[1]+g[1])/2-(g[0]-f[0])*d]);c.setLayout(h)})}function uE(b,a){b.eachSeriesByType("graph",function(c){var a=c.get("layout"),b=c.coordinateSystem;if(b&&"view"!==b.type){var f=c.getData(),g=[];r(b.dimensions,function(c){g=g.concat(f.mapDimensionsAll(c))});for(a=0;a<f.count();a++){for(var h=[],k=!1,l=0;l<g.length;l++){var m=f.get(g[l],a);isNaN(m)||(k=!0);h.push(m)}k?f.setItemLayout(a,b.dataToPoint(h)):f.setItemLayout(a,[NaN,NaN])}Uu(f.graph,c)}else a&&"none"!==a||Tu(c)})}function Vg(b){var a=b.coordinateSystem;if("view"!==a.type)return 1;b=b.option.nodeScaleRatio;var c=a.scaleX;return((a.getZoom()-1)*b+1)/c}function Wg(b){b=b.getVisual("symbolSize");b instanceof Array&&(b=(b[0]+b[1])/2);return+b}function Vu(b,a){var c=b.coordinateSystem;if(!c||"view"===c.type){var d=c.getBoundingRect(),c=b.getData(),e=c.graph,f=d.width/2+d.x,g=d.height/2+d.y,d=Math.min(d.width,d.height)/2,h=c.count();c.setLayout({cx:f,cy:g});h&&(vE[a](b,e,c,d,f,g,h),e.eachEdge(function(c,a){var d=zb(c.getModel().get(["lineStyle","curveness"]),$m(c,b,a),0),e=ic(c.node1.getLayout()),h=ic(c.node2.getLayout()),k,l=(e[0]+h[0])/2,u=(e[1]+h[1])/2;+d&&(d*=3,k=[f*d+l*(1-d),g*d+u*(1-d)]);c.setLayout([e,h,k])}))}}function wE(b){b.eachSeriesByType("graph",function(a){"circular"===a.get("layout")&&Vu(a,"symbolSize")})}function xE(b,a,c){for(var d=c.rect,e=d.width,f=d.height,g=[d.x+e/2,d.y+f/2],h=null==c.gravity?.1:c.gravity,d=0;d<b.length;d++){var k=b[d];k.p||(k.p=Oc(e*(Math.random()-.5)+g[0],f*(Math.random()-.5)+g[1]));k.pp=ic(k.p);k.edges=null}var l=null==c.friction?.6:c.friction,m=l,n,p;return{warmUp:function(){m=.8*l},setFixed:function(c){b[c].fixed=!0},setUnfixed:function(c){b[c].fixed=!1},beforeStep:function(c){n=c},afterStep:function(c){p=c},step:function(c){n&&n(b,a);for(var d=[],e=b.length,f=0;f<a.length;f++){var k=a[f];if(!k.ignoreForceLayout){var l=k.n1,q=k.n2;Pc(d,q.p,l.p);var k=Pf(d)-k.d,y=q.w/(l.w+q.w);isNaN(y)&&(y=0);Ie(d,d);!l.fixed&&sf(l.p,l.p,d,y*k*m);!q.fixed&&sf(q.p,q.p,d,-(1-y)*k*m)}}for(f=0;f<e;f++)l=b[f],l.fixed||(Pc(d,g,l.p),sf(l.p,l.p,d,h*m));for(f=0;f<e;f++)for(l=b[f],y=f+1;y<e;y++)q=b[y],Pc(d,q.p,l.p),k=Pf(d),0===k&&(Wp(d,Math.random()-.5,Math.random()-.5),k=1),k=(l.rep+q.rep)/k/k,!l.fixed&&sf(l.pp,l.pp,d,k),!q.fixed&&sf(q.pp,q.pp,d,-k);d=[];for(f=0;f<e;f++)l=b[f],l.fixed||(Pc(d,l.p,l.pp),sf(l.p,l.p,d,m),Na(l.pp,l.p));m*=.992;e=.01>m;p&&p(b,a,e);c&&c(e)}}}function yE(b){b.eachSeriesByType("graph",function(a){var c=a.coordinateSystem;if(!c||"view"===c.type)if("force"===a.get("layout")){var b=a.preservedPoints||{},e=a.getGraph(),f=e.data,g=e.edgeData,h=a.getModel("force"),k=h.get("initLayout");a.preservedPoints?f.each(function(c){var a=f.getId(c);f.setItemLayout(c,b[a]||[NaN,NaN])}):k&&"none"!==k?"circular"===k&&Vu(a,"value"):Tu(a);var l=f.getDataExtent("value"),m=g.getDataExtent("value"),k=h.get("repulsion"),n=h.get("edgeLength"),p=A(k)?k:[k,k],q=A(n)?n:[n,n],q=[q[1],q[0]],t=f.mapArray("value",function(c,a){var b=f.getItemLayout(a),d=ga(c,l,p);isNaN(d)&&(d=(p[0]+p[1])/2);return{w:d,rep:d,fixed:f.getItemModel(a).get("fixed"),p:!b||isNaN(b[0])||isNaN(b[1])?null:b}}),g=g.mapArray("value",function(c,b){var d=e.getEdgeByIndex(b),f=ga(c,m,q);isNaN(f)&&(f=(q[0]+q[1])/2);var g=d.getModel(),h=zb(d.getModel().get(["lineStyle","curveness"]),-$m(d,a,b,!0),0);return{n1:t[d.node1.dataIndex],n2:t[d.node2.dataIndex],d:f,curveness:h,ignoreForceLayout:g.get("ignoreForceLayout")}}),c=c.getBoundingRect(),h=xE(t,g,{rect:c,gravity:h.get("gravity"),friction:h.get("friction")});h.beforeStep(function(c,a){for(var b=0,d=c.length;b<d;b++)c[b].fixed&&Na(c[b].p,e.getNodeByIndex(b).getLayout())});h.afterStep(function(c,a,d){d=0;for(var g=c.length;d<g;d++)c[d].fixed||e.getNodeByIndex(d).setLayout(c[d].p),b[f.getId(d)]=c[d].p;d=0;for(g=a.length;d<g;d++){c=a[d];var h=e.getEdgeByIndex(d),k=c.n1.p,l=c.n2.p,m=h.getLayout(),m=m?m.slice():[];m[0]=m[0]||[];m[1]=m[1]||[];Na(m[0],k);Na(m[1],l);+c.curveness&&(m[2]=[(k[0]+l[0])/2-(k[1]-l[1])*c.curveness,(k[1]+l[1])/2-(l[0]-k[0])*c.curveness]);h.setLayout(m)}});a.forceLayout=h;a.preservedPoints=b;h.step()}else a.forceLayout=null})}function zE(b,a,c){b=F(b.getBoxLayoutParams(),{aspect:c});return Aa(b,{width:a.getWidth(),height:a.getHeight()})}function AE(b,a){var c=[];b.eachSeriesByType("graph",function(b){var d=b.get("coordinateSystem");if(!d||"view"===d){var f=b.getData(),g=f.mapArray(function(c){c=f.getItemModel(c);return[+c.get("x"),+c.get("y")]}),d=[],h=[];hl(g,d,h);0===h[0]-d[0]&&(h[0]+=1,--d[0]);0===h[1]-d[1]&&(h[1]+=1,--d[1]);var k=(h[0]-d[0])/(h[1]-d[1]),g=zE(b,a,k);isNaN(k)&&(d=[g.x,g.y],h=[g.x+g.width,g.y+g.height]);var k=h[0]-d[0],h=h[1]-d[1],l=g.width,m=g.height,n=b.coordinateSystem=new tf;n.zoomLimit=b.get("scaleLimit");n.setBoundingRect(d[0],d[1],k,h);n.setViewRect(g.x,g.y,l,m);n.setCenter(b.get("center"));n.setZoom(b.get("zoom"));c.push(n)}});return c}function bn(b){return isNaN(+b.cpx1)||isNaN(+b.cpy1)}function Wu(b,a,c){var d=a.getItemVisual(c,b);if(d&&"none"!==d){var e=a.getItemVisual(c,b+"Size");a=a.getItemVisual(c,b+"Rotate");e=A(e)?e:[e,e];d=Pa(d,-e[0]/2,-e[1]/2,e[0],e[1]);d.__specifiedRotation=null==a||isNaN(a)?void 0:+a*Math.PI/180||0;d.name=b;return d}}function BE(b){var a=new CE({name:"line",subPixelOptimize:!0});cn(a.shape,b);return a}function cn(b,a){b.x1=a[0][0];b.y1=a[0][1];b.x2=a[1][0];b.y2=a[1][1];b.percent=1;var c=a[2];c?(b.cpx1=c[0],b.cpy1=c[1]):(b.cpx1=NaN,b.cpy1=NaN)}function Xu(b){b=b.hostModel;return{lineStyle:b.getModel("lineStyle").getLineStyle(),emphasisLineStyle:b.getModel(["emphasis","lineStyle"]).getLineStyle(),blurLineStyle:b.getModel(["blur","lineStyle"]).getLineStyle(),selectLineStyle:b.getModel(["select","lineStyle"]).getLineStyle(),labelStatesModels:Ra(b)}}function Yu(b){return isNaN(b[0])||isNaN(b[1])}function dn(b){return!Yu(b[0])&&!Yu(b[1])}function Zu(b,a,c){var d=b[0],e=b[1];b=b[2];var f=Infinity,g;c*=c;for(var h=.1,k=.1;.9>=k;k+=.1){en[0]=uf(d[0],e[0],b[0],k);en[1]=uf(d[1],e[1],b[1],k);var l=$u(fn(en,a)-c);l<f&&(f=l,g=k)}for(f=0;32>f;f++){l=g+h;gn[0]=uf(d[0],e[0],b[0],g);gn[1]=uf(d[1],e[1],b[1],g);hn[0]=uf(d[0],e[0],b[0],l);hn[1]=uf(d[1],e[1],b[1],l);l=fn(gn,a)-c;if(.01>$u(l))break;k=fn(hn,a)-c;h/=2;g=0>l?0<=k?g+h:g-h:0<=k?g-h:g+h}return g}function jn(b,a){var c=[],d=[[],[],[]],e=[[],[]],f=[];a/=2;b.eachEdge(function(b,h){var g=b.getLayout(),l=b.getVisual("fromSymbol"),m=b.getVisual("toSymbol");g.__original||(g.__original=[ic(g[0]),ic(g[1])],g[2]&&g.__original.push(ic(g[2])));var n=g.__original;null!=g[2]?(Na(d[0],n[0]),Na(d[1],n[2]),Na(d[2],n[1]),l&&"none"!==l&&(l=Wg(b.node1),l=Zu(d,n[0],l*a),Yc(d[0][0],d[1][0],d[2][0],l,c),d[0][0]=c[3],d[1][0]=c[4],Yc(d[0][1],d[1][1],d[2][1],l,c),d[0][1]=c[3],d[1][1]=c[4]),m&&"none"!==m&&(l=Wg(b.node2),l=Zu(d,n[1],l*a),Yc(d[0][0],d[1][0],d[2][0],l,c),d[1][0]=c[1],d[2][0]=c[2],Yc(d[0][1],d[1][1],d[2][1],l,c),d[1][1]=c[1],d[2][1]=c[2]),Na(g[0],d[0]),Na(g[1],d[2]),Na(g[2],d[1])):(Na(e[0],n[0]),Na(e[1],n[1]),Pc(f,e[1],e[0]),Ie(f,f),l&&"none"!==l&&(l=Wg(b.node1),Th(e[0],e[0],f,l*a)),m&&"none"!==m&&(l=Wg(b.node2),Th(e[1],e[1],f,-l*a)),Na(g[0],e[0]),Na(g[1],e[1]))})}function av(b,a){return{getValue:function(c){var d=this[b][a];return d.get(d.getDimension(c||"value"),this.dataIndex)},setVisual:function(c,d){0<=this.dataIndex&&this[b][a].setItemVisual(this.dataIndex,c,d)},getVisual:function(c){return this[b][a].getItemVisual(this.dataIndex,c)},setLayout:function(c,d){0<=this.dataIndex&&this[b][a].setItemLayout(this.dataIndex,c,d)},getLayout:function(){return this[b][a].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[b][a].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[b][a].getRawIndex(this.dataIndex)}}}function bv(b,a,c,d,e){d=new DE(d);for(var f=0;f<b.length;f++)d.addNode(Ba(b[f].id,b[f].name,f),f);for(var g=[],h=[],k=0,f=0;f<a.length;f++){var l=a[f],m=l.source,n=l.target;d.addEdge(m,n,k)&&(h.push(l),g.push(Ba(Ea(l.id,null),m+" \x3e "+n)),k++)}a=c.get("coordinateSystem");"cartesian2d"===a||"polar"===a?a=sc(b,c):(a=(a=Yd.get(a))?a.dimensions||[]:[],0>ba(a,"value")&&a.concat(["value"]),a=gf(b,{coordDimensions:a}),a=new Wa(a,c),a.initData(b));b=new Wa(["value"],c);b.initData(h,g);e&&e(a,b);zu({mainData:a,struct:d,structAttr:"graph",datas:{node:a,edge:b},datasAttr:{node:"data",edge:"edgeData"}});d.update();return d}function kj(b,a){var c=null==b?"":b+"";a&&("string"===typeof a?c=a.replace("{value}",c):"function"===typeof a&&(c=a(b)));return c}function EE(b,a){return Aa(b.getBoxLayoutParams(),{width:a.getWidth(),height:a.getHeight()})}function FE(b,a){for(var c=b.mapDimension("value"),d=b.mapArray(c,function(c){return c}),c=[],e="ascending"===a,f=0,g=b.count();f<g;f++)c[f]=f;"function"===typeof a?c.sort(a):"none"!==a&&c.sort(function(c,a){return e?d[c]-d[a]:d[a]-d[c]});return c}function GE(b){var a=b.hostModel.get("orient");b.each(function(c){var d=b.getItemModel(c),e=d.getModel("label").get("position"),f=d.getModel("labelLine");c=b.getItemLayout(c);var g=c.points,d="inner"===e||"inside"===e||"center"===e||"insideLeft"===e||"insideRight"===e,h,k,l;if(d)"insideLeft"===e?(h=(g[0][0]+g[3][0])/2+5,k=(g[0][1]+g[3][1])/2,g="left"):"insideRight"===e?(h=(g[1][0]+g[2][0])/2-5,k=(g[1][1]+g[2][1])/2,g="right"):(h=(g[0][0]+g[1][0]+g[2][0]+g[3][0])/4,k=(g[0][1]+g[1][1]+g[2][1]+g[3][1])/4,g="center"),l=[[h,k],[h,k]];else{var m,n=l=void 0,f=f.get("length");"vertical"===a&&-1<["top","bottom"].indexOf(e)&&(e="left",console.warn("Position error: Funnel chart on vertical orient dose not support top and bottom."));"horizontal"===a&&-1<["left","right"].indexOf(e)&&(e="bottom",console.warn("Position error: Funnel chart on horizontal orient dose not support left and right."));"left"===e?(e=(g[3][0]+g[0][0])/2,m=(g[3][1]+g[0][1])/2,l=e-f,h=l-5,g="right"):"right"===e?(e=(g[1][0]+g[2][0])/2,m=(g[1][1]+g[2][1])/2,l=e+f,h=l+5,g="left"):"top"===e?(e=(g[3][0]+g[0][0])/2,m=(g[3][1]+g[0][1])/2,n=m-f,k=n-5,g="center"):"bottom"===e?(e=(g[1][0]+g[2][0])/2,m=(g[1][1]+g[2][1])/2,n=m+f,k=n+5,g="center"):"rightTop"===e?(e="horizontal"===a?g[3][0]:g[1][0],m="horizontal"===a?g[3][1]:g[1][1],"horizontal"===a?(n=m-f,k=n-5,g="center"):(l=e+f,h=l+5,g="top")):"rightBottom"===e?(e=g[2][0],m=g[2][1],"horizontal"===a?(n=m+f,k=n+5,g="center"):(l=e+f,h=l+5,g="bottom")):"leftTop"===e?(e=g[0][0],m="horizontal"===a?g[0][1]:g[1][1],"horizontal"===a?(n=m-f,k=n-5,g="center"):(l=e-f,h=l-5,g="right")):"leftBottom"===e?(e="horizontal"===a?g[1][0]:g[3][0],m="horizontal"===a?g[1][1]:g[2][1],"horizontal"===a?(n=m+f,k=n+5,g="center"):(l=e-f,h=l-5,g="right")):(e=(g[1][0]+g[2][0])/2,m=(g[1][1]+g[2][1])/2,"horizontal"===a?(n=m+f,k=n+5,g="center"):(l=e+f,h=l+5,g="left"));"horizontal"===a?h=l=e:k=n=m;l=[[e,m],[l,n]]}c.label={linePoints:l,x:h,y:k,verticalAlign:"middle",textAlign:g,inside:d}})}function HE(b,a){b.eachSeriesByType("funnel",function(c){var b=c.getData(),e=b.mapDimension("value"),f=c.get("sort"),g=EE(c,a),h=c.get("orient"),k=g.width,l=g.height,m=FE(b,f),n=g.x,p=g.y,q="horizontal"===h?[H(c.get("minSize"),l),H(c.get("maxSize"),l)]:[H(c.get("minSize"),k),H(c.get("maxSize"),k)],g=b.getDataExtent(e),t=c.get("min"),u=c.get("max");null==t&&(t=Math.min(g[0],0));null==u&&(u=g[1]);var w=c.get("funnelAlign");c=c.get("gap");var g=(("horizontal"===h?k:l)-c*(b.count()-1))/b.count(),v=function(c,a){if("horizontal"===h){var d=b.get(e,c)||0,d=ga(d,[t,u],q,!0),f=void 0;switch(w){case "top":f=p;break;case "center":f=p+(l-d)/2;break;case "bottom":f=p+(l-d)}return[[a,f],[a,f+d]]}f=b.get(e,c)||0;f=ga(f,[t,u],q,!0);switch(w){case "left":d=n;break;case "center":d=n+(k-f)/2;break;case "right":d=n+k-f}return[[d,a],[d+f,a]]};"ascending"===f&&(g=-g,c=-c,"horizontal"===h?n+=k:p+=l,m=m.reverse());for(var z=0;z<m.length;z++){var B=m[z],y=m[z+1],r=b.getItemModel(B);if("horizontal"===h){var D=r.get(["itemStyle","width"]);null==D?D=g:(D=H(D,k),"ascending"===f&&(D=-D));r=v(B,n);y=v(y,n+D);n+=D+c}else D=r.get(["itemStyle","height"]),null==D?D=g:(D=H(D,l),"ascending"===f&&(D=-D)),r=v(B,p),y=v(y,p+D),p+=D+c;b.setItemLayout(B,{points:r.concat(y.slice().reverse())})}GE(b)})}function IE(b,a,c){var d=b.model;b=b.getRect();var e=new Z({shape:{x:b.x,y:b.y,width:b.width,height:b.height}}),d="horizontal"===d.get("layout")?"width":"height";e.setShape(d,0);za(e,{shape:{width:b.width,height:b.height}},a,c);return e}function cv(b,a,c,d){for(var e=[],f=0;f<c.length;f++){var g=c[f],h=b.get(b.mapDimension(g),a);("category"===d.getAxis(g).type?null==h:null==h||isNaN(h))||e.push(d.dataToPoint(h,g))}return e}function dv(b,a,c,d,e){d=cv(b,c,d,e);d=new kb({shape:{points:d},z2:10});a.add(d);b.setItemGraphicEl(c,d);return d}function ev(b){b=b.get("smooth",!0);!0===b&&(b=.3);b=jc(b);Nc(b)&&(b=0);return{smooth:b}}function kn(b,a,c,d){b.useStyle(a.getItemVisual(c,"style"));b.style.fill=null;b.setShape("smooth",d.smooth);a=a.getItemModel(c);c=a.getModel("emphasis");Fa(b,a,"lineStyle");va(b,c.get("focus"),c.get("blurScope"))}function JE(b){if(b=b.ecModel.getComponent("parallel",b.get("parallelIndex"))){var a={};r(b.dimensions,function(c){var b=+c.replace("dim","");a[c]=b});return a}}function KE(b){LE(b);ME(b)}function LE(b){if(!b.parallel){var a=!1;r(b.series,function(c){c&&"parallel"===c.type&&(a=!0)});a&&(b.parallel=[{}])}}function ME(b){var a=xa(b.parallelAxis);r(a,function(c){if(N(c)){var a=c.parallelIndex||0;(a=xa(b.parallel)[a])&&a.parallelAxisDefault&&U(c,a.parallelAxisDefault,!1)}})}function ln(b,a){var c=b._model;return c.get("axisExpandable")&&c.get("axisExpandTriggerOn")===a}function fe(b,a,c,d,e,f){b=b||0;var g=c[1]-c[0];null!=e&&(e=vf(e,[0,g]));null!=f&&(f=Math.max(f,null!=e?e:0));"all"===d&&(d=Math.abs(a[1]-a[0]),d=vf(d,[0,g]),e=f=vf(d,[e,f]),d=0);a[0]=vf(a[0],c);a[1]=vf(a[1],c);g=mn(a,d);a[d]+=b;b=e||0;c=c.slice();0>g.sign?c[0]+=b:c[1]-=b;a[d]=vf(a[d],c);c=mn(a,d);null!=e&&(c.sign!==g.sign||c.span<e)&&(a[1-d]=a[d]+g.sign*e);c=mn(a,d);null!=f&&c.span>f&&(a[1-d]=a[d]+c.sign*f);return a}function mn(b,a){var c=b[a]-b[1-a];return{span:Math.abs(c),sign:0<c?-1:0>c?1:a?-1:1}}function vf(b,a){return Math.min(null!=a[1]?a[1]:Infinity,Math.max(null!=a[0]?a[0]:-Infinity,b))}function lj(b,a){return fv(gv(b,a[0]),a[1])}function NE(b,a){var c=a.layoutLength/(a.axisCount-1);return{position:c*b,axisNameAvailableWidth:c,axisLabelShow:!0}}function OE(b,a){var c=a.layoutLength,d=a.axisExpandWidth,e=a.axisCount,f=a.axisCollapseWidth,g=a.winInnerIndices,h=f,k=!1,l;b<g[0]?(c=b*f,l=f):b<=g[1]?(c=a.axisExpandWindow0Pos+b*d-a.axisExpandWindow[0],h=d,k=!0):(c-=(e-1-b)*f,l=f);return{position:c,axisNameAvailableWidth:h,axisLabelShow:k,nameTruncateMaxWidth:l}}function hv(b,a){var c=ge[a.brushType].createCover(b,a);c.__brushOption=a;iv(c,a);b.group.add(c);return c}function jv(b,a){var c=ge[a.__brushOption.brushType];c.endCreating&&(c.endCreating(b,a),iv(a,a.__brushOption));return a}function iv(b,a){var c=a.z;null==c&&(c=1E4);b.traverse(function(a){a.z=c;a.z2=c})}function nn(b,a){ge[a.__brushOption.brushType].updateCommon(b,a);var c=a.__brushOption;ge[a.__brushOption.brushType].updateCoverShape(b,a,c.range,c)}function on(b,a,c){var d=b._panels;if(!d)return!0;var e,f=b._transform;r(d,function(b){b.isTargetByCursor(a,c,f)&&(e=b)});return e}function kv(b,a){var c=b._panels;if(!c)return!0;var d=a.__brushOption.panelId;return null!=d?c[d]:!0}function pn(b){var a=b._covers,c=a.length;r(a,function(c){b.group.remove(c)},b);a.length=0;return!!c}function he(b,a){var c=C(b._covers,function(c){c=c.__brushOption;var a=J(c.range);return{brushType:c.brushType,panelId:c.panelId,range:a}});b.trigger("brush",{areas:c,isEnd:!!a.isEnd,removeOnClick:!!a.removeOnClick})}function lv(b){var a=b.length-1;0>a&&(a=0);return[b[0],b[a]]}function mv(b,a,c,d){var e=new M;e.add(new Z({name:"main",style:qn(c),silent:!0,draggable:!0,cursor:"move",drift:P(nv,b,a,e,["n","s","w","e"]),ondragend:P(he,a,{isEnd:!0})}));r(d,function(c){e.add(new Z({name:c.join(""),style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:P(nv,b,a,e,c),ondragend:P(he,a,{isEnd:!0})}))});return e}function ov(b,a,c,d){var e=d.brushStyle.lineWidth||0,f=wf(e,6),g=c[0][0],h=c[1][0],k=g-e/2,l=h-e/2,m=c[0][1],n=c[1][1];c=m-f+e/2;var p=n-f+e/2,m=m-g,n=n-h,q=m+e,e=n+e;Ic(b,a,"main",g,h,m,n);d.transformable&&(Ic(b,a,"w",k,l,f,e),Ic(b,a,"e",c,l,f,e),Ic(b,a,"n",k,l,q,f),Ic(b,a,"s",k,p,q,f),Ic(b,a,"nw",k,l,f,f),Ic(b,a,"ne",c,l,f,f),Ic(b,a,"sw",k,p,f,f),Ic(b,a,"se",c,p,f,f))}function rn(b,a){var c=a.__brushOption,d=c.transformable,e=a.childAt(0);e.useStyle(qn(c));e.attr({silent:!d,cursor:d?"move":"default"});r([["w"],["e"],["n"],["s"],["s","e"],["s","w"],["n","e"],["n","w"]],function(c){var e=a.childOfName(c.join(""));1===c.length?c=sn(b,c[0]):(c=[sn(b,c[0]),sn(b,c[1])],"e"!==c[0]&&"w"!==c[0]||c.reverse(),c=c.join(""));e&&e.attr({silent:!d,invisible:!d,cursor:d?PE[c]+"-resize":null})})}function Ic(b,a,c,d,e,f,g){(c=a.childOfName(c))&&c.setShape(QE(tn(b,a,[[d,e],[d+f,e+g]])))}function qn(b){return K({strokeNoScale:!0},b.brushStyle)}function pv(b,a,c,d){var e=[Xg(b,c),Xg(a,d)];b=[wf(b,c),wf(a,d)];return[[e[0],b[0]],[e[1],b[1]]]}function sn(b,a){return{left:"w",right:"e",top:"n",bottom:"s"}[pi({w:"left",e:"right",n:"top",s:"bottom"}[a],dd(b.group))]}function nv(b,a,c,d,e,f){var g=c.__brushOption,h=b.toRectRange(g.range),k=qv(a,e,f);r(d,function(c){c=RE[c];h[c[0]][c[1]]+=k[c[0]]});g.range=b.fromRectRange(pv(h[0][0],h[1][0],h[0][1],h[1][1]));nn(a,c);he(a,{isEnd:!1})}function SE(b,a,c,d){var e=a.__brushOption.range,f=qv(b,c,d);r(e,function(c){c[0]+=f[0];c[1]+=f[1]});nn(b,a);he(b,{isEnd:!1})}function qv(b,a,c){b=b.group;a=b.transformCoordToLocal(a,c);c=b.transformCoordToLocal(0,0);return[a[0]-c[0],a[1]-c[1]]}function tn(b,a,c){return(a=kv(b,a))&&!0!==a?a.clipPath(c,b._transform):J(c)}function QE(b){var a=Xg(b[0][0],b[1][0]),c=Xg(b[0][1],b[1][1]),d=wf(b[0][0],b[1][0]);b=wf(b[0][1],b[1][1]);return{x:a,y:c,width:d-a,height:b-c}}function un(b){b=b.event;b.preventDefault&&b.preventDefault()}function vn(b,a,c){return b.childOfName("main").contain(a,c)}function rv(b,a,c,d){var e=b._creatingCover,f=b._creatingPanel,g=b._brushOption,h;b._track.push(c.slice());var k;var l=b._track;if(l.length){k=l[l.length-1];var m=l[0],l=k[0]-m[0];k=k[1]-m[1];k=6<TE(l*l+k*k,.5)}else k=!1;k||e?(f&&!e&&("single"===g.brushMode&&pn(b),e=J(g),e.brushType=sv(e.brushType,f),e.panelId=!0===f?null:f.panelId,e=b._creatingCover=hv(b,e),b._covers.push(e)),e&&(f=ge[sv(b._brushType,f)],e.__brushOption.range=f.getCreatingRange(tn(b,e,b._track)),d&&(jv(b,e),f.updateCommon(b,e)),f=e.__brushOption,ge[e.__brushOption.brushType].updateCoverShape(b,e,f.range,f),h={isEnd:d})):d&&"single"===g.brushMode&&g.removeOnClick&&on(b,a,c)&&pn(b)&&(h={isEnd:d,removeOnClick:!0});return h}function sv(b,a){return"auto"===b?(O(a&&a.defaultBrushType,'MUST have defaultBrushType when brushType is "atuo"'),a.defaultBrushType):b}function tv(b,a){if(b._dragging){un(a);var c=b.group.transformCoordToLocal(a.offsetX,a.offsetY),c=rv(b,a,c,!0);b._dragging=!1;b._track=[];b._creatingCover=null;c&&he(b,c)}}function uv(b){return{createCover:function(a,c){return mv({toRectRange:function(c){c=[c,[0,100]];b&&c.reverse();return c},fromRectRange:function(c){return c[b]}},a,c,[[["w"],["e"]],[["n"],["s"]]][b])},getCreatingRange:function(a){var c=lv(a);a=Xg(c[0][b],c[1][b]);c=wf(c[0][b],c[1][b]);return[a,c]},updateCoverShape:function(a,c,d,e){var f;f=kv(a,c);!0!==f&&f.getLinearBrushOtherExtent?f=f.getLinearBrushOtherExtent(b):(f=a._zr,f=[0,[f.getWidth(),f.getHeight()][1-b]]);d=[d,f];b&&d.reverse();ov(a,c,d,e)},updateCommon:rn,contain:vn}}function vv(b){b=aa.create(b);return function(a){return zl(a,b)}}function wv(b,a){b=aa.create(b);return function(c){var d=(c=null!=a?a:c)?b.x:b.y;return[d,d+((c?b.width:b.height)||0)]}}function xv(b,a,c){var d=aa.create(b);return function(b,f){return d.contain(f[0],f[1])&&!cj(b,a,c)}}function UE(b){var a=b.axis;return C(b.activeIntervals,function(c){return{brushType:"lineX",panelId:"pl",range:[a.dataToCoord(c[0],!0),a.dataToCoord(c[1],!0)]}})}function VE(b){b.registerAction(WE,function(a,c){c.eachComponent({mainType:"parallelAxis",query:a},function(c){c.axis.model.setActiveIntervals(a.intervals)})});b.registerAction("parallelAxisExpand",function(a,c){c.eachComponent({mainType:"parallel",query:a},function(c){c.setAxisExpand(a)})})}function yv(b){b.registerComponentView(XE);b.registerComponentModel(YE);b.registerCoordinateSystem("parallel",ZE);b.registerPreprocessor(KE);b.registerComponentModel(wn);b.registerComponentView($E);pf(b,"parallel",wn,aF);VE(b)}function bF(b,a,c){var d=new Z({shape:{x:b.x-10,y:b.y-10,width:0,height:b.height+20}});za(d,{shape:{width:b.width+20}},a,c);return d}function cF(b,a){b.eachSeriesByType("sankey",function(c){var b=c.get("nodeWidth"),e=c.get("nodeGap"),f=dF(c,a);c.layoutInfo=f;var g=f.width,f=f.height,h=c.getGraph(),k=h.nodes,h=h.edges;eF(k);var l=0!==ta(k,function(c){return 0===c.getLayout().value}).length?0:c.get("layoutIterations"),m=c.get("orient");c=c.get("nodeAlign");fF(k,h,b,e,g,f,l,m,c)})}function dF(b,a){return Aa(b.getBoxLayoutParams(),{width:a.getWidth(),height:a.getHeight()})}function fF(b,a,c,d,e,f,g,h,k){for(var l=[],m=[],n=[],p=[],q=0,t=0;t<a.length;t++)l[t]=1;for(t=0;t<b.length;t++)m[t]=b[t].inEdges.length,0===m[t]&&n.push(b[t]);for(var u=-1;n.length;){for(t=0;t<n.length;t++){var w=n[t],v=w.hostGraph.data.getRawDataItem(w.dataIndex),z=null!=v.depth&&0<=v.depth;z&&v.depth>u&&(u=v.depth);w.setLayout({depth:z?v.depth:q},!0);"vertical"===h?w.setLayout({dy:c},!0):w.setLayout({dx:c},!0);for(v=0;v<w.outEdges.length;v++){var z=w.outEdges[v],B=a.indexOf(z);l[B]=0;z=z.node2;B=b.indexOf(z);0===--m[B]&&0>p.indexOf(z)&&p.push(z)}}++q;n=p;p=[]}for(t=0;t<l.length;t++)if(1===l[t])throw Error("Sankey is a DAG, the original data has cycle!");l=u>q-1?u:q-1;k&&"left"!==k&&gF(b,k,h,l);hF(b,"vertical"===h?(f-c)/l:(e-c)/l,h);c=g;g=iF(b,h);jF(g,a,f,e,d,h);xn(g,d,f,e,h);for(a=1;0<c;c--)a*=.99,kF(g,a,h),xn(g,d,f,e,h),lF(g,a,h),xn(g,d,f,e,h);mF(b,h)}function eF(b){r(b,function(a){var c=pd(a.outEdges,mj),b=pd(a.inEdges,mj),e=a.getValue()||0;a.setLayout({value:Math.max(c,b,e)},!0)})}function zv(b){b=b.hostGraph.data.getRawDataItem(b.dataIndex);return null!=b.depth&&0<=b.depth}function gF(b,a,c,d){if("right"===a){a=[];c=b;for(var e=0;c.length;){for(var f=0;f<c.length;f++){var g=c[f];g.setLayout({skNodeHeight:e},!0);for(var h=0;h<g.inEdges.length;h++){var k=g.inEdges[h];0>a.indexOf(k.node1)&&a.push(k.node1)}}c=a;a=[];++e}r(b,function(c){zv(c)||c.setLayout({depth:Math.max(0,d-c.getLayout().skNodeHeight)},!0)})}else"justify"===a&&nF(b,d)}function nF(b,a){r(b,function(c){zv(c)||c.outEdges.length||c.setLayout({depth:a},!0)})}function hF(b,a,c){r(b,function(b){var d=b.getLayout().depth*a;"vertical"===c?b.setLayout({y:d},!0):b.setLayout({x:d},!0)})}function iF(b,a){var c=[],d="vertical"===a?"y":"x",e=bl(b,function(c){return c.getLayout()[d]});e.keys.sort(function(c,a){return c-a});r(e.keys,function(a){c.push(e.buckets.get(a))});return c}function jF(b,a,c,d,e,f){var g=Infinity;r(b,function(a){var b=a.length,h=0;r(a,function(c){h+=c.getLayout().value});a="vertical"===f?(d-(b-1)*e)/h:(c-(b-1)*e)/h;a<g&&(g=a)});r(b,function(c){r(c,function(c,a){var b=c.getLayout().value*g;"vertical"===f?(c.setLayout({x:a},!0),c.setLayout({dx:b},!0)):(c.setLayout({y:a},!0),c.setLayout({dy:b},!0))})});r(a,function(c){var a=+c.getValue()*g;c.setLayout({dy:a},!0)})}function xn(b,a,c,d,e){var f="vertical"===e?"x":"y";r(b,function(b){b.sort(function(c,a){return c.getLayout()[f]-a.getLayout()[f]});var g,k;g=0;for(var l=b.length,m="vertical"===e?"dx":"dy",n=0;n<l;n++)k=b[n],g-=k.getLayout()[f],0<g&&(g=k.getLayout()[f]+g,"vertical"===e?k.setLayout({x:g},!0):k.setLayout({y:g},!0)),g=k.getLayout()[f]+k.getLayout()[m]+a;g=g-a-("vertical"===e?d:c);if(0<g)for(g=k.getLayout()[f]-g,"vertical"===e?k.setLayout({x:g},!0):k.setLayout({y:g},!0),n=l-2;0<=n;--n)k=b[n],g=k.getLayout()[f]+k.getLayout()[m]+a-g,0<g&&(g=k.getLayout()[f]-g,"vertical"===e?k.setLayout({x:g},!0):k.setLayout({y:g},!0)),g=k.getLayout()[f]})}function kF(b,a,c){r(b.slice().reverse(),function(b){r(b,function(b){if(b.outEdges.length){var d=pd(b.outEdges,oF,c)/pd(b.outEdges,mj);isNaN(d)&&(d=(d=b.outEdges.length)?pd(b.outEdges,pF,c)/d:0);"vertical"===c?(d=b.getLayout().x+(d-qd(b,c))*a,b.setLayout({x:d},!0)):(d=b.getLayout().y+(d-qd(b,c))*a,b.setLayout({y:d},!0))}})})}function oF(b,a){return qd(b.node2,a)*b.getValue()}function pF(b,a){return qd(b.node2,a)}function qF(b,a){return qd(b.node1,a)*b.getValue()}function rF(b,a){return qd(b.node1,a)}function qd(b,a){return"vertical"===a?b.getLayout().x+b.getLayout().dx/2:b.getLayout().y+b.getLayout().dy/2}function mj(b){return b.getValue()}function pd(b,a,c){for(var d=0,e=b.length,f=-1;++f<e;){var g=+a(b[f],c);isNaN(g)||(d+=g)}return d}function lF(b,a,c){r(b,function(b){r(b,function(b){if(b.inEdges.length){var d=pd(b.inEdges,qF,c)/pd(b.inEdges,mj);isNaN(d)&&(d=(d=b.inEdges.length)?pd(b.inEdges,rF,c)/d:0);"vertical"===c?(d=b.getLayout().x+(d-qd(b,c))*a,b.setLayout({x:d},!0)):(d=b.getLayout().y+(d-qd(b,c))*a,b.setLayout({y:d},!0))}})})}function mF(b,a){var c="vertical"===a?"x":"y";r(b,function(a){a.outEdges.sort(function(a,b){return a.node2.getLayout()[c]-b.node2.getLayout()[c]});a.inEdges.sort(function(a,b){return a.node1.getLayout()[c]-b.node1.getLayout()[c]})});r(b,function(c){var a=0,b=0;r(c.outEdges,function(c){c.setLayout({sy:a},!0);a+=c.getLayout().dy});r(c.inEdges,function(c){c.setLayout({ty:b},!0);b+=c.getLayout().dy})})}function sF(b){b.eachSeriesByType("sankey",function(a){var c=a.getGraph().nodes;if(c.length){var b=Infinity,e=-Infinity;r(c,function(c){c=c.getLayout().value;c<b&&(b=c);c>e&&(e=c)});r(c,function(c){var d=(new La({type:"color",mappingMethod:"linear",dataExtent:[b,e],visual:a.get("color")})).mapValueToVisual(c.getLayout().value),f=c.getModel().get(["itemStyle","color"]);null!=f?(c.setVisual("color",f),c.setVisual("style",{fill:f})):(c.setVisual("color",d),c.setVisual("style",{fill:d}))})}})}function Av(b,a,c,d,e){var f=b.ends;d=new tF({shape:{points:e?uF(f,d,b):f}});Bv(b,d,a,c,e);return d}function Bv(b,a,c,d,e){(0,Yg[e?"initProps":"updateProps"])(a,{shape:{points:b.ends}},c.hostModel,d);a.useStyle(c.getItemVisual(d,"style"));a.style.strokeNoScale=!0;a.z2=100;b=c.getItemModel(d);Fa(a,b);va(a,b.get(["emphasis","focus"]),b.get(["emphasis","blurScope"]))}function uF(b,a,c){return C(b,function(b){b=b.slice();b[a]=c.initBaseline;return b})}function vF(b,a){b.eachRawSeriesByType("boxplot",function(c){c.getData().setVisual("legendSymbol","roundRect")})}function wF(b){b=xF(b);Zg(b,function(a){var c=a.seriesModels;c.length&&(yF(a),Zg(c,function(c,b){zF(c,a.boxOffsetList[b],a.boxWidthList[b])}))})}function xF(b){var a=[],c=[];b.eachSeriesByType("boxplot",function(b){var d=b.getBaseAxis(),f=ba(c,d);0>f&&(f=c.length,c[f]=d,a[f]={axis:d,seriesModels:[]});a[f].seriesModels.push(b)});return a}function yF(b){var a=b.axis,c=b.seriesModels,d=c.length,e=b.boxWidthList=[],f=b.boxOffsetList=[],g=[],h;if("category"===a.type)h=a.getBandWidth();else{var k=0;Zg(c,function(c){k=Math.max(k,c.getData().count())});b=a.getExtent();Math.abs(b[1]-b[0])/k}Zg(c,function(c){c=c.get("boxWidth");A(c)||(c=[c,c]);g.push([H(c[0],h)||0,H(c[1],h)||0])});b=.8*h-2;var l=b/d*.3,m=(b-l*(d-1))/d,n=m/2-b/2;Zg(c,function(c,a){f.push(n);n+=l+m;e.push(Math.min(Math.max(m,g[a][0]),g[a][1]))})}function zF(b,a,c){function d(c,b,d){b=h.get(b,d);d=[];d[l]=c;d[m]=b;isNaN(c)||isNaN(b)?c=[NaN,NaN]:(c=g.dataToPoint(d),c[l]+=a);return c}function e(c,a,b){var d=a.slice();a=a.slice();d[l]+=k;a[l]-=k;b?c.push(d,a):c.push(a,d)}function f(c,a){var b=a.slice(),d=a.slice();b[l]-=k;d[l]+=k;c.push(b,d)}var g=b.coordinateSystem,h=b.getData(),k=c/2,l="horizontal"===b.get("layout")?0:1,m=1-l;c=["x","y"];b=h.mapDimension(c[l]);c=h.mapDimensionsAll(c[m]);if(!(null==b||5>c.length))for(var n=0;n<h.count();n++){var p=h.get(b,n),q=d(p,c[2],n),t=d(p,c[0],n),u=d(p,c[1],n),w=d(p,c[3],n),p=d(p,c[4],n),v=[];e(v,u,!1);e(v,w,!0);v.push(t,u,p,w);f(v,t);f(v,p);f(v,q);h.setItemLayout(n,{initBaseline:q[m],ends:v})}}function yn(b,a,c){a=b.ends;return new AF({shape:{points:c?BF(a,b):a},z2:100})}function Cv(b,a){for(var c=!0,d=0;d<a.ends.length;d++)if(b.contain(a.ends[d][0],a.ends[d][1])){c=!1;break}return c}function zn(b,a,c,d){var e=a.getItemModel(c);b.useStyle(a.getItemVisual(c,"style"));b.style.strokeNoScale=!0;b.__simpleBox=d;Fa(b,e)}function BF(b,a){return C(b,function(c){c=c.slice();c[1]=a.initBaseline;return c})}function Dv(b,a,c){var d=b.getData().getLayout("largePoints"),e=new Ev({shape:{points:d},__sign:1});a.add(e);d=new Ev({shape:{points:d},__sign:-1});a.add(d);Fv(1,e,b);Fv(-1,d,b);c&&(e.incremental=!0,d.incremental=!0)}function Fv(b,a,c,d){b=c.get(["itemStyle",0<b?"borderColor":"borderColor0"])||c.get(["itemStyle",0<b?"color":"color0"]);c=c.getModel("itemStyle").getItemStyle(CF);a.useStyle(c);a.style.fill=null;a.style.stroke=b}function DF(b){b&&A(b.series)&&r(b.series,function(a){N(a)&&"k"===a.type&&(a.type="candlestick")})}function Gv(b,a,c,d,e){return c>d?-1:c<d?1:0<a?b.get(e,a-1)<=d?1:-1:1}function EF(b,a){var c=b.getBaseAxis(),d,c="category"===c.type?c.getBandWidth():(d=c.getExtent(),Math.abs(d[1]-d[0])/a.count());d=H(ka(b.get("barMaxWidth"),c),c);var e=H(ka(b.get("barMinWidth"),1),c),f=b.get("barWidth");return null!=f?H(f,c):Math.max(Math.min(c/2,d),e)}function FF(b){A(b)||(b=[+b,+b]);return b}function Hv(b,a){var c=a.rippleEffectColor||a.color;b.eachChild(function(b){b.attr({z:a.z,zlevel:a.zlevel,style:{stroke:"stroke"===a.brushType?c:null,fill:"fill"===a.brushType?c:null}})})}function Iv(b){var a=b.data;a&&a[0]&&a[0][0]&&a[0][0].coord&&(console.warn("Lines data configuration has been changed to { coords:[[1,2],[2,3]] }"),b.data=C(a,function(c){var a={coords:[c[0].coord,c[1].coord]};c[0].name&&(a.fromName=c[0].name);c[1].name&&(a.toName=c[1].name);return Ph([a,c[0],c[1]])}))}function nj(b){b instanceof Array||(b=[b,b]);return b}function GF(b,a,c){var d=b[1]-b[0];a=C(a,function(c){return{interval:[(c.interval[0]-b[0])/d,(c.interval[1]-b[0])/d]}});var e=a.length,f=0;return function(b){var d;for(d=f;d<e;d++){var g=a[d].interval;if(g[0]<=b&&b<=g[1]){f=d;break}}if(d===e)for(d=f-1;0<=d;d--)if(g=a[d].interval,g[0]<=b&&b<=g[1]){f=d;break}return 0<=d&&d<e&&c[d]}}function HF(b,a){var c=b[1]-b[0];a=[(a[0]-b[0])/c,(a[1]-b[0])/c];return function(c){return c>=a[0]&&c<=a[1]}}function Jv(b){b=b.dimensions;return"lng"===b[0]&&"lat"===b[1]}function Kv(b,a,c,d){var e=b.getItemLayout(a),f=c.get("symbolRepeat"),g=c.get("symbolClip"),h=c.get("symbolPosition")||"start",k=(c.get("symbolRotate")||0)*Math.PI/180||0,l=c.get("symbolPatternSize")||2,m=c.isAnimationEnabled(),g={dataIndex:a,layout:e,itemModel:c,symbolType:b.getItemVisual(a,"symbol")||"circle",style:b.getItemVisual(a,"style"),symbolClip:g,symbolRepeat:f,symbolRepeatDirection:c.get("symbolRepeatDirection"),symbolPatternSize:l,rotation:k,animationModel:m?c:null,hoverScale:m&&c.get(["emphasis","scale"]),z2:c.getShallow("z",!0)||0},m=d.valueDim,n=c.get("symbolBoundingData"),p=d.coordSys.getOtherAxis(d.coordSys.getBaseAxis()),q=p.toGlobalCoord(p.dataToCoord(0)),t=1-+(0>=e[m.wh]);A(n)?(n=[p.toGlobalCoord(p.dataToCoord(p.scale.parse(n[0])))-q,p.toGlobalCoord(p.dataToCoord(p.scale.parse(n[1])))-q],n[1]<n[0]&&n.reverse(),t=n[t]):t=null!=n?p.toGlobalCoord(p.dataToCoord(p.scale.parse(n)))-q:f?d.coordSysExtent[m.index][t]-q:e[m.wh];g.boundingLength=t;f&&(g.repeatCutLength=e[m.wh]);g.pxSign=0<t?1:0>t?-1:0;m=g.boundingLength;t=g.pxSign;n=d.valueDim;p=d.categoryDim;q=Math.abs(e[p.wh]);b=b.getItemVisual(a,"symbolSize");b=A(b)?b.slice():null==b?["100%","100%"]:[b,b];b[p.index]=H(b[p.index],q);b[n.index]=H(b[n.index],f?q:Math.abs(m));g.symbolSize=b;(g.symbolScale=[b[0]/l,b[1]/l])[n.index]*=(d.isHorizontal?-1:1)*t;l=g.symbolScale;if(b=c.get(IF)||0)An.attr({scaleX:l[0],scaleY:l[1],rotation:k}),An.updateTransform(),b/=An.getLineScale(),b*=l[d.valueDim.index];g.valueLineWidth=b;q=g.symbolSize;k=c.get("symbolOffset");A(k)&&(k=[H(k[0],q[0]),H(k[1],q[1])]);a=k;m=g.boundingLength;t=g.repeatCutLength;k=d.categoryDim;l=d.valueDim;b=g.pxSign;p=n=Math.max(q[l.index]+g.valueLineWidth,0);if(f){var p=Math.abs(m),u=Ba(c.get("symbolMargin"),"15%")+"";c=!1;u.lastIndexOf("!")===u.length-1&&(c=!0,u=u.slice(0,u.length-1));var q=H(u,q[l.index]),w=Math.max(n+2*q,0),v=c?0:2*q,z=bi(f),u=z?f:Lv((p+v)/w),q=(p-u*n)/2/(c?u:u-1),w=n+2*q,v=c?0:2*q;z||"fixed"===f||(u=t?Lv((Math.abs(t)+v)/w):0);p=u*w-v;g.repeatTimes=u;g.symbolMargin=q}f=p/2*b;c=g.pathPosition=[];c[k.index]=e[k.wh]/2;c[l.index]="start"===h?f:"end"===h?m-f:m/2;a&&(c[0]+=a[0],c[1]+=a[1]);h=g.bundlePosition=[];h[k.index]=e[k.xy];h[l.index]=e[l.xy];h=g.barRectShape=F({},e);h[l.wh]=b*Math.max(Math.abs(e[l.wh]),Math.abs(c[l.index]+f));h[k.wh]=e[k.wh];h=g.clipShape={};h[k.xy]=-e[k.xy];h[k.wh]=d.ecSize[k.wh];h[l.xy]=0;h[l.wh]=e[l.wh];return g}function Mv(b){var a=b.symbolPatternSize;b=Pa(b.symbolType,-a/2,-a/2,a,a);b.attr({culling:!0});"image"!==b.type&&b.setStyle({strokeNoScale:!0});return b}function Nv(b,a,c,d){function e(a){var b=g.slice(),d=c.pxSign,e=a;if("start"===c.symbolRepeatDirection?0<d:0>d)e=k-1-a;b[h.index]=m*(e-k/2+.5)+g[h.index];return{x:b[0],y:b[1],scaleX:c.symbolScale[0],scaleY:c.symbolScale[1],rotation:c.rotation}}var f=b.__pictorialBundle,g=c.pathPosition,h=a.valueDim,k=c.repeatTimes||0,l=0,m=c.symbolSize[a.valueDim.index]+c.valueLineWidth+2*c.symbolMargin;for(Bn(b,function(a){a.__pictorialAnimationIndex=l;a.__pictorialRepeatTimes=k;l<k?xf(a,null,e(l),c,d):xf(a,null,{scaleX:0,scaleY:0},c,d,function(){f.remove(a)});l++});l<k;l++)b=Mv(c),b.__pictorialAnimationIndex=l,b.__pictorialRepeatTimes=k,f.add(b),a=e(l),xf(b,{x:a.x,y:a.y,scaleX:0,scaleY:0},{scaleX:a.scaleX,scaleY:a.scaleY,rotation:a.rotation},c,d)}function Ov(b,a,c,d){a=b.__pictorialBundle;var e=b.__pictorialMainPath;e?xf(e,null,{x:c.pathPosition[0],y:c.pathPosition[1],scaleX:c.symbolScale[0],scaleY:c.symbolScale[1],rotation:c.rotation},c,d):(e=b.__pictorialMainPath=Mv(c),a.add(e),xf(e,{x:c.pathPosition[0],y:c.pathPosition[1],scaleX:0,scaleY:0,rotation:c.rotation},{scaleX:c.symbolScale[0],scaleY:c.symbolScale[1]},c,d))}function Pv(b,a,c){var d=F({},a.barRectShape),e=b.__pictorialBarRect;e?xf(e,null,{shape:d},a,c):(e=b.__pictorialBarRect=new Z({z2:2,shape:d,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}}),b.add(e))}function Qv(b,a,c,d){if(c.symbolClip){var e=b.__pictorialClipPath,f=F({},c.clipShape);a=a.valueDim;var g=c.animationModel,h=c.dataIndex;e?ea(e,{shape:f},g,h):(f[a.wh]=0,e=new Z({shape:f}),b.__pictorialBundle.setClipPath(e),b.__pictorialClipPath=e,b={},b[a.wh]=c.clipShape[a.wh],Yg[d?"updateProps":"initProps"](e,{shape:b},g,h))}}function Rv(b,a){var c=b.getItemModel(a);c.getAnimationDelayParams=JF;c.isAnimationEnabled=KF;return c}function JF(b){return{index:b.__pictorialAnimationIndex,count:b.__pictorialRepeatTimes}}function KF(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function Sv(b,a,c,d){var e=new M,f=new M;e.add(f);e.__pictorialBundle=f;f.x=c.bundlePosition[0];f.y=c.bundlePosition[1];c.symbolRepeat?Nv(e,a,c):Ov(e,a,c);Pv(e,c,d);Qv(e,a,c,d);e.__pictorialShapeStr=Tv(b,c);e.__pictorialSymbolMeta=c;return e}function Uv(b,a,c,d){var e=d.__pictorialBarRect;e&&e.removeTextContent();var f=[];Bn(d,function(c){f.push(c)});d.__pictorialMainPath&&f.push(d.__pictorialMainPath);d.__pictorialClipPath&&(c=null);r(f,function(b){cd(b,{scaleX:0,scaleY:0},c,a,function(){d.parent&&d.parent.remove(d)})});b.setItemGraphicEl(a,null)}function Tv(b,a){return[b.getItemVisual(a.dataIndex,"symbol")||"none",!!a.symbolRepeat,!!a.symbolClip].join(":")}function Bn(b,a,c){r(b.__pictorialBundle.children(),function(d){d!==b.__pictorialBarRect&&a.call(c,d)})}function xf(b,a,c,d,e,f){a&&b.attr(a);d.symbolClip&&!e?c&&b.attr(c):c&&Yg[e?"updateProps":"initProps"](b,c,d.animationModel,d.dataIndex,f)}function Vv(b,a,c){var d=c.dataIndex,e=c.itemModel,f=e.getModel("emphasis"),g=f.getModel("itemStyle").getItemStyle(),h=e.getModel(["blur","itemStyle"]).getItemStyle(),k=e.getModel(["select","itemStyle"]).getItemStyle(),l=e.getShallow("cursor"),m=f.get("focus"),n=f.get("blurScope"),p=f.get("scale");Bn(b,function(a){if(a instanceof Ga){var b=a.style;a.useStyle(F({image:b.image,x:b.x,y:b.y,width:b.width,height:b.height},c.style))}else a.useStyle(c.style);b=a.ensureState("emphasis");b.style=g;p&&(b.scaleX=1.1*a.scaleX,b.scaleY=1.1*a.scaleY);a.ensureState("blur").style=h;a.ensureState("select").style=k;l&&(a.cursor=l);a.z2=c.z2});f=a.valueDim.posDesc[+(0<c.boundingLength)];cb(b.__pictorialBarRect,Ra(e),{labelFetcher:a.seriesModel,labelDataIndex:d,defaultText:kf(a.seriesModel.getData(),d),inheritColor:c.style.fill,defaultOpacity:c.style.opacity,defaultOutsidePosition:f});va(b,m,n)}function Lv(b){var a=Math.round(b);return 1E-4>Math.abs(b-a)?a:Math.ceil(b)}function LF(b,a,c){var d=new Z({shape:{x:b.x-10,y:b.y-10,width:0,height:b.height+20}});za(d,{shape:{x:b.x-50,width:b.width+100,height:b.height+20}},a,c);return d}function MF(b,a){b.eachSeriesByType("themeRiver",function(c){var a=c.getData(),b=c.coordinateSystem,f={},g=b.getRect();f.rect=g;var h=c.get("boundaryGap"),b=b.getAxis();f.boundaryGap=h;"horizontal"===b.orient?(h[0]=H(h[0],g.height),h[1]=H(h[1],g.height),Wv(a,c,g.height-h[0]-h[1])):(h[0]=H(h[0],g.width),h[1]=H(h[1],g.width),Wv(a,c,g.width-h[0]-h[1]));a.setLayout("layoutInfo",f)})}function Wv(b,a,c){if(b.count()){var d=a.coordinateSystem;a=a.getLayerSeries();var e=b.mapDimension("single"),f=b.mapDimension("value"),g=C(a,function(c){return C(c.indices,function(c){var a=d.dataToPoint(b.get(e,c));a[1]=b.get(f,c);return a})}),h=NF(g),k=h.y0;c/=h.max;for(var h=a.length,l=a[0].indices.length,m,n=0;n<l;++n){m=k[n]*c;b.setItemLayout(a[0].indices[n],{layerIndex:0,x:g[0][n][0],y0:m,y:g[0][n][1]*c});for(var p=1;p<h;++p)m+=g[p-1][n][1]*c,b.setItemLayout(a[p].indices[n],{layerIndex:p,x:g[p][n][0],y0:m,y:g[p][n][1]*c})}}}function NF(b){for(var a=b.length,c=b[0].length,d=[],e=[],f=0,g=0;g<c;++g){for(var h=0,k=0;k<a;++k)h+=b[k][g][1];h>f&&(f=h);d.push(h)}for(b=0;b<c;++b)e[b]=(f-d[b])/2;for(b=f=0;b<c;++b)a=d[b]+e[b],a>f&&(f=a);return{y0:e,max:f}}function OF(b){b.registerAction({type:"sunburstRootToNode",update:"updateView"},function(a,c){c.eachComponent({mainType:"series",subType:"sunburst",query:a},function(c,b){var d=Og(a,["sunburstRootToNode"],c);if(d){var e=c.getViewRoot();e&&(a.direction=Rm(e,d.node)?"rollUp":"drillDown");c.resetViewRoot(d.node)}})});b.registerAction({type:"sunburstHighlight",update:"none"},function(a,c,b){a=F({},a);c.eachComponent({mainType:"series",subType:"sunburst",query:a},function(c){if(c=Og(a,["sunburstHighlight"],c))a.dataIndex=c.node.dataIndex});Sa("highlight","sunburstHighlight");b.dispatchAction(F(a,{type:"highlight"}))});b.registerAction({type:"sunburstUnhighlight",update:"updateView"},function(a,c,b){a=F({},a);Sa("downplay","sunburstUnhighlight");b.dispatchAction(F(a,{type:"downplay"}))})}function Xv(b){var a=0;r(b.children,function(c){Xv(c);c=c.value;A(c)&&(c=c[0]);a+=c});var c=b.value;A(c)&&(c=c[0]);if(null==c||isNaN(c))c=a;0>c&&(c=0);A(b.value)?b.value[0]=c:b.value=c}function PF(b,a,c){a.eachSeriesByType(b,function(a){var b=a.get("center"),d=a.get("radius");A(d)||(d=[0,d]);A(b)||(b=[b,b]);var g=c.getWidth(),h=c.getHeight(),k=Math.min(g,h),l=H(b[0],g),m=H(b[1],h),n=H(d[0],k/2),g=H(d[1],k/2),b=-a.get("startAngle")*Yv,p=a.get("minAngle")*Yv,q=a.getData().tree.root,d=a.getViewRoot(),t=d.depth,h=a.get("sort");null!=h&&Zv(d,h);var u=0;r(d.children,function(c){!isNaN(c.getValue())&&u++});var w=d.getValue(),v=Math.PI/(w||u)*2,z=0<d.depth,B=(g-n)/(d.height-(z?-1:1)||1),y=a.get("clockwise"),L=a.get("stillShowZeroSum"),D=y?1:-1,Q=function(c,a){if(c){var b=a;if(c!==q){var b=c.getValue(),d=0===w&&L?v:b*v;d<p&&(d=p);var b=a+D*d,e=c.depth-t-(z?-1:1),f=n+B*e,e=n+B*(e+1),g=c.getModel();null!=g.get("r0")&&(f=H(g.get("r0"),k/2));null!=g.get("r")&&(e=H(g.get("r"),k/2));c.setLayout({angle:d,startAngle:a,endAngle:b,clockwise:y,cx:l,cy:m,r0:f,r:e})}if(c.children&&c.children.length){var h=0;r(c.children,function(c){h+=Q(c,a+h)})}return b-a}};z&&(a=2*Math.PI,q.setLayout({angle:a,startAngle:b,endAngle:b+a,clockwise:y,cx:l,cy:m,r0:n,r:n+B}));Q(d,b)})}function Zv(b,a){var c=b.children||[];b.children=QF(c,a);c.length&&r(b.children,function(c){Zv(c,a)})}function QF(b,a){if("function"===typeof a){var c=C(b,function(c,a){var b=c.getValue();return{params:{depth:c.depth,height:c.height,dataIndex:c.dataIndex,getValue:function(){return b}},index:a}});c.sort(function(c,b){return a(c.params,b.params)});return C(c,function(c){return b[c.index]})}var d="asc"===a;return b.sort(function(c,a){var b=(c.getValue()-a.getValue())*(d?1:-1);return 0===b?(c.dataIndex-a.dataIndex)*(d?-1:1):b})}function RF(b){var a={};b.eachSeriesByType("sunburst",function(c){var b=c.getData(),e=b.tree;e.eachNode(function(d){var f=d.getModel().getModel("itemStyle").getItemStyle();if(!f.fill){for(var h=e.root.height,k=d;k&&1<k.depth;)k=k.parentNode;k=c.getColorFromPalette(k.name||k.dataIndex+"",a);1<d.depth&&"string"===typeof k&&(k=Hk(k,(d.depth-1)/(h-1)*.5));f.fill=k}d=b.ensureUniqueItemVisual(d.dataIndex,"style");F(d,f)})})}function SF(b,a){a=a||[0,0];return C(["x","y"],function(c,d){var e=this.getAxis(c),f=a[d],g=b[d]/2;return"category"===e.type?e.getBandWidth():Math.abs(e.dataToCoord(f-g)-e.dataToCoord(f+g))},this)}function TF(b,a){a=a||[0,0];return C([0,1],function(c){var d=a[c],e=b[c]/2,f=[],g=[];f[c]=d-e;g[c]=d+e;f[1-c]=g[1-c]=a[1-c];return Math.abs(this.dataToPoint(f)[c]-this.dataToPoint(g)[c])},this)}function UF(b,a){var c=this.getAxis(),d=a instanceof Array?a[0]:a,e=(b instanceof Array?b[0]:b)/2;return"category"===c.type?c.getBandWidth():Math.abs(c.dataToCoord(d-e)-c.dataToCoord(d+e))}function VF(b,a){a=a||[0,0];return C(["Radius","Angle"],function(c,d){var e=this["get"+c+"Axis"](),f=a[d],g=b[d]/2,e="category"===e.type?e.getBandWidth():Math.abs(e.dataToCoord(f-g)-e.dataToCoord(f+g));"Angle"===c&&(e=e*Math.PI/180);return e},this)}function $v(b,a,c,d){return b&&(b.legacy||!1!==b.legacy&&!c&&!d&&"tspan"!==a&&("text"===a||b.hasOwnProperty("text")))}function aw(b,a,c){var d,e;if("text"===a)a=b;else{a={};b.hasOwnProperty("text")&&(a.text=b.text);b.hasOwnProperty("rich")&&(a.rich=b.rich);b.hasOwnProperty("textFill")&&(a.fill=b.textFill);b.hasOwnProperty("textStroke")&&(a.stroke=b.textStroke);e={type:"text",style:a,silent:!0};d={};var f=b.hasOwnProperty("textPosition");c?d.position=f?b.textPosition:"inside":f&&(d.position=b.textPosition);b.hasOwnProperty("textPosition")&&(d.position=b.textPosition);b.hasOwnProperty("textOffset")&&(d.offset=b.textOffset);b.hasOwnProperty("textRotation")&&(d.rotation=b.textRotation);b.hasOwnProperty("textDistance")&&(d.distance=b.textDistance)}bw(a,b);r(a.rich,function(c){bw(c,c)});return{textConfig:d,textContent:e}}function bw(b,a){a&&(a.font=a.textFont||a.font,a.hasOwnProperty("textStrokeWidth")&&(b.lineWidth=a.textStrokeWidth),a.hasOwnProperty("textAlign")&&(b.align=a.textAlign),a.hasOwnProperty("textVerticalAlign")&&(b.verticalAlign=a.textVerticalAlign),a.hasOwnProperty("textLineHeight")&&(b.lineHeight=a.textLineHeight),a.hasOwnProperty("textWidth")&&(b.width=a.textWidth),a.hasOwnProperty("textHeight")&&(b.height=a.textHeight),a.hasOwnProperty("textBackgroundColor")&&(b.backgroundColor=a.textBackgroundColor),a.hasOwnProperty("textPadding")&&(b.padding=a.textPadding),a.hasOwnProperty("textBorderColor")&&(b.borderColor=a.textBorderColor),a.hasOwnProperty("textBorderWidth")&&(b.borderWidth=a.textBorderWidth),a.hasOwnProperty("textBorderRadius")&&(b.borderRadius=a.textBorderRadius),a.hasOwnProperty("textBoxShadowColor")&&(b.shadowColor=a.textBoxShadowColor),a.hasOwnProperty("textBoxShadowBlur")&&(b.shadowBlur=a.textBoxShadowBlur),a.hasOwnProperty("textBoxShadowOffsetX")&&(b.shadowOffsetX=a.textBoxShadowOffsetX),a.hasOwnProperty("textBoxShadowOffsetY")&&(b.shadowOffsetY=a.textBoxShadowOffsetY))}function cw(b,a,c){b.textPosition=b.textPosition||c.position||"inside";null!=c.offset&&(b.textOffset=c.offset);null!=c.rotation&&(b.textRotation=c.rotation);null!=c.distance&&(b.textDistance=c.distance);var d=0<=b.textPosition.indexOf("inside"),e=b.fill||"#000";dw(b,a);var f=null==b.textFill;d?f&&(b.textFill=c.insideFill||"#fff",!b.textStroke&&c.insideStroke&&(b.textStroke=c.insideStroke),!b.textStroke&&(b.textStroke=e),null==b.textStrokeWidth&&(b.textStrokeWidth=2)):(f&&(b.textFill=c.outsideFill||e),!b.textStroke&&c.outsideStroke&&(b.textStroke=c.outsideStroke));b.text=a.text;b.rich=a.rich;r(a.rich,function(c){dw(c,c)});return b}function dw(b,a){a&&(a.hasOwnProperty("fill")&&(b.textFill=a.fill),a.hasOwnProperty("stroke")&&(b.textStroke=a.fill),a.hasOwnProperty("lineWidth")&&(b.textStrokeWidth=a.lineWidth),a.hasOwnProperty("font")&&(b.font=a.font),a.hasOwnProperty("fontStyle")&&(b.fontStyle=a.fontStyle),a.hasOwnProperty("fontWeight")&&(b.fontWeight=a.fontWeight),a.hasOwnProperty("fontSize")&&(b.fontSize=a.fontSize),a.hasOwnProperty("fontFamily")&&(b.fontFamily=a.fontFamily),a.hasOwnProperty("align")&&(b.textAlign=a.align),a.hasOwnProperty("verticalAlign")&&(b.textVerticalAlign=a.verticalAlign),a.hasOwnProperty("lineHeight")&&(b.textLineHeight=a.lineHeight),a.hasOwnProperty("width")&&(b.textWidth=a.width),a.hasOwnProperty("height")&&(b.textHeight=a.height),a.hasOwnProperty("backgroundColor")&&(b.textBackgroundColor=a.backgroundColor),a.hasOwnProperty("padding")&&(b.textPadding=a.padding),a.hasOwnProperty("borderColor")&&(b.textBorderColor=a.borderColor),a.hasOwnProperty("borderWidth")&&(b.textBorderWidth=a.borderWidth),a.hasOwnProperty("borderRadius")&&(b.textBorderRadius=a.borderRadius),a.hasOwnProperty("shadowColor")&&(b.textBoxShadowColor=a.shadowColor),a.hasOwnProperty("shadowBlur")&&(b.textBoxShadowBlur=a.shadowBlur),a.hasOwnProperty("shadowOffsetX")&&(b.textBoxShadowOffsetX=a.shadowOffsetX),a.hasOwnProperty("shadowOffsetY")&&(b.textBoxShadowOffsetY=a.shadowOffsetY),a.hasOwnProperty("textShadowColor")&&(b.textShadowColor=a.textShadowColor),a.hasOwnProperty("textShadowBlur")&&(b.textShadowBlur=a.textShadowBlur),a.hasOwnProperty("textShadowOffsetX")&&(b.textShadowOffsetX=a.textShadowOffsetX),a.hasOwnProperty("textShadowOffsetY")&&(b.textShadowOffsetY=a.textShadowOffsetY))}function ew(b,a){var c=b+"^_^"+a;fw[c]||(console.warn('[ECharts] DEPRECATED: "'+b+'" has been deprecated. '+a),fw[c]=!0)}function gw(b){function a(c,a){g&&2<g.length&&f.push(g);g=[c,a]}function c(c,a,b,d){1E-5>Math.abs(c-b)&&1E-5>Math.abs(a-d)||g.push(c,a,b,d,b,d)}function d(c,a,b,d,e,f){var h=4*Math.tan(Math.abs(a-c)/4)/3,k=a<c?-1:1,l=Math.cos(c);c=Math.sin(c);var m=Math.cos(a);a=Math.sin(a);var n=m*e+b,p=a*f+d,q=e*h*k,h=f*h*k;g.push(l*e+b-q*c,c*f+d+h*l,n+q*a,p-h*m,n,p)}var e=b.data;b=b.len();for(var f=[],g,h=0,k=0,l=0,m=0,n,p,q,t,u=0;u<b;){n=e[u++];var w=1===u;w&&(h=e[u],k=e[u+1],l=h,m=k,n===vc.L||n===vc.C||n===vc.Q)&&(g=[l,m]);switch(n){case vc.M:h=l=e[u++];k=m=e[u++];a(l,m);break;case vc.L:n=e[u++];p=e[u++];c(h,k,n,p);h=n;k=p;break;case vc.C:g.push(e[u++],e[u++],e[u++],e[u++],h=e[u++],k=e[u++]);break;case vc.Q:n=e[u++];p=e[u++];q=e[u++];t=e[u++];g.push(h+2/3*(n-h),k+2/3*(p-k),q+2/3*(n-q),t+2/3*(p-t),q,t);h=q;k=t;break;case vc.A:q=e[u++];t=e[u++];var v=e[u++],z=e[u++],r=e[u++],y=e[u++]+r,u=u+1,L=!e[u++];n=Math.cos(r)*v+q;p=Math.sin(r)*z+t;w?(l=n,m=p,a(l,m)):c(h,k,n,p);h=Math.cos(y)*v+q;k=Math.sin(y)*z+t;n=(L?-1:1)*Math.PI/2;for(p=r;L?p>y:p<y;p+=n)d(p,L?Math.max(p+n,y):Math.min(p+n,y),q,t,v,z);break;case vc.R:l=h=e[u++];m=k=e[u++];n=l+e[u++];p=m+e[u++];a(n,m);c(n,m,n,p);c(n,p,l,p);c(l,p,l,m);c(l,m,n,m);break;case vc.Z:g&&c(h,k,l,m),h=l,k=m}}g&&2<g.length&&f.push(g);return f}function hw(b,a){for(var c=b.length,d=b[c-2],c=b[c-1],e=[],f=0;f<a.length;)e[f++]=d,e[f++]=c;return e}function WF(b,a){for(var c,d,e=[],f=[],g=0;g<Math.max(b.length,a.length);g++){var h=b[g],k=a[g];if(h)if(k){c=h;d=k;var l=c.length,m=d.length;if(l===m)c=[c,d];else{for(var k=l<m?c:d,h=Math.min(l,m),n=Math.abs(m-l)/6,l=Math.ceil(n/((h-2)/6))+1,m=[k[0],k[1]],p=[],q=[],t=2;t<h;){var u=k[t-2],w=k[t-1],v=k[t++],z=k[t++],r=k[t++],y=k[t++],L=k[t++],D=k[t++];if(0>=n)m.push(v,z,r,y,L,D);else{for(var Q=Math.min(n,l-1)+1,E=1;E<=Q;E++){var G=E/Q;Re(u,v,r,L,G,p);Re(w,z,y,D,G,q);u=p[3];w=q[3];m.push(p[1],q[1],p[2],q[2],u,w);v=p[5];z=q[5];r=p[6];y=q[6]}n-=Q-1}}c=k===c?[m,d]:[c,m]}h=c[0];k=c[1];c=h;d=k}else k=hw(d||h,h);else h=hw(c||k,k);e.push(h);f.push(k)}return[e,f]}function iw(b){for(var a=0,c=0,d=0,e=b.length,f=0,g=e-2;f<e;g=f,f+=2)var h=b[g],g=b[g+1],k=b[f],l=b[f+1],m=h*l-k*g,a=a+m,c=c+(h+k)*m,d=d+(g+l)*m;return 0===a?[b[0]||0,b[1]||0]:[c/a/3,d/a/3,a]}function XF(b,a,c,d){for(var e=[],f,g=0;g<b.length;g++){var h=b[g],k=a[g],l=iw(h),m=iw(k);null==f&&(f=0>l[2]!==0>m[2]);var n=[],p=[],q=0,t=Infinity,u=[],w=h.length;if(f){for(var v=[],z=h.length,r=0;r<z;r+=2)v[r]=h[z-r-2],v[r+1]=h[z-r-1];h=v}for(var v=(h.length-2)/6,z=Infinity,r=0,y=h.length,L=y-2,D=0;D<v;D++){for(var Q=6*D,E=0,G=0;G<y;G+=2)var x=0===G?Q:(Q+G-2)%L+2,A=k[G]-m[0]-(h[x]-l[0]),x=k[G+1]-m[1]-(h[x+1]-l[1]),E=E+(A*A+x*x);E<z&&(z=E,r=D)}z=6*r;r=w-2;for(v=0;v<r;v+=2)y=(z+v)%r+2,n[v+2]=h[y]-l[0],n[v+3]=h[y+1]-l[1];n[0]=h[z]-l[0];n[1]=h[z+1]-l[1];if(0<c)for(w=d/c,z=-d/2;z<=d/2;z+=w){r=Math.sin(z);y=Math.cos(z);for(v=L=0;v<h.length;v+=2)Q=n[v],D=n[v+1],G=k[v]-m[0],A=k[v+1]-m[1],E=G*y-A*r,G=G*r+A*y,u[v]=E,u[v+1]=G,Q=E-Q,D=G-D,L+=Q*Q+D*D;if(L<t)for(t=L,q=z,v=0;v<u.length;v++)p[v]=u[v]}else for(t=0;t<w;t+=2)p[t]=k[t]-m[0],p[t+1]=k[t+1]-m[1];e.push({from:n,to:p,fromCp:l,toCp:m,rotation:-q})}return e}function Cn(b,a,c){var d;if(!b||!a)return a;!b.path&&b.createPathProxy();d=b.path;d.beginPath();b.buildPath(d,b.shape);!a.path&&a.createPathProxy();b=a.path;b===d&&(b=new pc(!1));b.beginPath();null!=a.__oldBuildPath?a.__oldBuildPath(b,a.shape):a.buildPath(b,a.shape);d=WF(gw(d),gw(b));d=XF(d[0],d[1],10,Math.PI);YF(a,d,0);var e=c&&c.done,f=c&&c.aborted,g=c&&c.during;a.animateTo({__morphT:1},K({during:function(c){a.dirtyShape();g&&g(c)},done:function(){null!=a.__oldBuildPath&&(a.buildPath=a.__oldBuildPath,a.__oldBuildPath=a.__morphingData=null);a.createPathProxy();a.dirtyShape();e&&e()},aborted:function(){f&&f()}},c));return a}function ZF(b){for(var a=this.__morphingData,c=this.__morphT,d=1-c,e=[],f=0;f<a.length;f++){var g=a[f],h=g.from,k=g.to,l=g.rotation*c,m=Math.sin(l),l=Math.cos(l);Rf(e,g.fromCp,g.toCp,c);for(g=0;g<h.length;g+=2){var n=h[g]*d+k[g]*c,p=h[g+1]*d+k[g+1]*c;wc[g]=n*l-p*m+e[0];wc[g+1]=n*m+p*l+e[1]}for(g=0;g<h.length;)0===g&&b.moveTo(wc[g++],wc[g++]),b.bezierCurveTo(wc[g++],wc[g++],wc[g++],wc[g++],wc[g++],wc[g++])}}function YF(b,a,c){null==b.__oldBuildPath&&(b.__oldBuildPath=b.buildPath,b.buildPath=ZF);b.__morphingData=a;b.__morphT=c}function jw(b,a,c,d){for(var e=[],f=0,g=0;g<b.length;g++){var h=b[g];if(h.__combiningSubList){for(var h=h.__combiningSubList,k=0;k<h.length;k++)e.push(h[k]);f+=h.length}else e.push(h),f++}if(f){var l=Dn(a,f,c?c.dividingMethod:null);O(l.length===f);var m=c&&c.done,n=c&&c.aborted,p=c&&c.during,q=0,t=!1;b=K({during:function(c){p&&p(c)},done:function(){q++;q===l.length&&(a.__combiningSubList&&(En(a,null),a.addSelfToZr=a.__oldAddSelfToZr,a.removeSelfFromZr=a.__oldRemoveSelfFromZr,a.buildPath=a.__oldBuildPath,a.childrenRef=a.__combiningSubList=a.__oldAddSelfToZr=a.__oldRemoveSelfFromZr=a.__oldBuildPath=null),m&&m())},aborted:function(){t||(t=!0,n&&n())}},c);for(g=0;g<f;g++)c=e[g],h=l[g],d&&d(a,h,!0),Cn(c,h,b);$F(a,l);return{fromIndividuals:e,toIndividuals:l,count:f}}}function $F(b,a){b.__combiningSubList?En(b,a):(En(b,a),b.__oldAddSelfToZr=b.addSelfToZr,b.__oldRemoveSelfFromZr=b.removeSelfFromZr,b.addSelfToZr=aG,b.removeSelfFromZr=bG,b.__oldBuildPath=b.buildPath,b.buildPath=hc,b.childrenRef=cG)}function En(b,a){if(b.__combiningSubList!==a){Fn(b,"removeSelfFromZr");if(b.__combiningSubList=a)for(var c=0;c<a.length;c++)a[c].parent=b;Fn(b,"addSelfToZr")}}function aG(b){this.__oldAddSelfToZr(b);Fn(this,"addSelfToZr")}function Fn(b,a){var c=b.__combiningSubList,d=b.__zr;if(c&&d)for(var e=0;e<c.length;e++)c[e][a](d)}function bG(b){this.__oldRemoveSelfFromZr(b);for(var a=this.__combiningSubList,c=0;c<a.length;c++)a[c].removeSelfFromZr(b)}function cG(){return this.__combiningSubList}function Dn(b,a,c){return"duplicate"===c?Gn(b,a):dG(b,a)}function dG(b,a){var c=[];if(0>=a)return c;if(1===a)return Gn(b,a);if(b instanceof Z)for(var d=b.shape,e=d.height>d.width?1:0,f=eG[e],g=fG[e],h=d[f]/a,k=d[g],e=0;e<a;e++,k+=h){var l={x:d.x,y:d.y,width:d.width,height:d.height};l[g]=k;l[f]=e<a-1?h:d[g]+d[f]-k;l=new Z({shape:l});c.push(l)}else if(b instanceof lb)for(d=b.shape,f=d.clockwise,e=d.startAngle,l=g=d.endAngle,h=(l+kw*Math[f?"ceil":"floor"]((e-l)/kw)-e)/a,k=e,e=0;e<a;e++,k+=h)l=new lb({shape:{cx:d.cx,cy:d.cy,r:d.r,r0:d.r0,clockwise:f,startAngle:k,endAngle:e===a-1?g:k+h}}),c.push(l);else return Gn(b,a);return c}function Gn(b,a){var c=[];if(0>=a)return c;for(var d=b.constructor,e=0;e<a;e++){var f=new d({shape:J(b.shape)});c.push(f)}return c}function lw(b,a,c){if(b){if("oneToOne"===a)return function(c,a){return b.getId(a)};var d=b.getDimension(c);(a=b.getDimensionInfo(d))||ja(c+" is not a valid dimension.");var e=a.ordinalMeta;return function(c,a){var f=b.get(d,a);e&&(f=e.categories[f]);return null==f||Nc(f)?c+"":"_ec_"+f}}}function Hn(b){var a=b.type,c;if("path"===a){var d=(c=b.shape)&&(c.pathData||c.d);c=hg(d,null,null!=c.width&&null!=c.height?{x:c.x||0,y:c.y||0,width:c.width,height:c.height}:null,c.layout||"center");Lb(c).customPathData=d}else if("image"===a)c=new Ga({}),Lb(c).customImagePath=b.style.image;else if("text"===a)c=new ha({});else if("group"===a)c=new M;else{if("compoundPath"===a)throw Error('"compoundPath" is not supported yet.');(d=oi(a))||ja('graphic type "'+a+'" can not be found.');c=new d}Lb(c).customGraphicType=a;c.name=b.name;c.z2EmphasisLift=1;c.z2SelectLift=1;return c}function In(b,a,c,d,e,f,g,h,k,l){var m={},n={},p=a.isGroup?null:a;!c&&oj("shape",a,null,e,m,k);mw("shape",e,n);!c&&oj("extra",a,null,e,m,k);mw("extra",e,n);!c&&Jn(a,null,e,m,k);Kn(e,n,"position");Kn(e,n,"scale");Kn(e,n,"origin");ie(e,n,"x");ie(e,n,"y");ie(e,n,"scaleX");ie(e,n,"scaleY");ie(e,n,"originX");ie(e,n,"originY");ie(e,n,"rotation");(g=g&&g.normal.cfg)&&a.setTextConfig(g);"text"===a.type&&f&&(f.hasOwnProperty("textFill")&&(f.fill=f.textFill),f.hasOwnProperty("textStroke")&&(f.stroke=f.textStroke));if(f){g=void 0;var q=a&&a instanceof Y?f.decal:null;b&&q&&(q.dirty=!0,g=yg(q,b));f.__decalPattern=g}!c&&Ln(a,null,e,f,m,k);p&&e.hasOwnProperty("invisible")&&(p.invisible=e.invisible);c||($g(a,n,f),Mn(a,d,e,h,m,k));e.hasOwnProperty("silent")&&(a.silent=e.silent);e.hasOwnProperty("ignore")&&(a.ignore=e.ignore);l||e.hasOwnProperty("info")&&(Lb(a).info=e.info);f?a.dirty():a.markRedraw();return c?n:null}function $g(b,a,c){var d=b.isGroup?null:b;if(d&&c){var e=c.__decalPattern,f=void 0;e&&(f=c.decal,c.decal=e);d.useStyle(c);e&&(c.decal=f);c=d.animators;for(e=0;e<c.length;e++)f=c[e],"style"===f.targetName&&f.changeTarget(d.style)}a&&b.attr(a)}function Mn(b,a,c,d,e,f){e&&(c=c.during,c=(Lb(b).userDuring=c)?I(gG,{el:b,userDuring:c}):null,a={dataIndex:a,isFrom:!0,during:c},f?za(b,e,d,a):ea(b,e,d,a))}function oj(b,a,c,d,e,f){var g=d[b];if(g){var h=a[b],k,l=g.enterFrom;if(f&&l){!k&&(k=e[b]={});for(var m=ia(l),n=0;n<m.length;n++){var p=m[n];k[p]=l[p]}}if(!f&&h&&(null==c||"shape"!==b))if(g.transition)for(!k&&(k=e[b]={}),d=xa(g.transition),n=0;n<d.length;n++)p=d[n],c=h[p],Nn(p,g[p],c),k[p]=c;else if(0<=ba(d.transition,b))for(!k&&(k=e[b]={}),d=ia(h),n=0;n<d.length;n++)if(p=d[n],c=h[p],e=g[p],f=c,Xa(e)?e!==f:null!=e&&isFinite(e))k[p]=c;if(g=g.leaveTo)for(n=On(a),b=n[b]||(n[b]={}),a=ia(g),n=0;n<a.length;n++)p=a[n],b[p]=g[p]}}function mw(b,a,c){if(a=a[b]){b=c[b]={};c=ia(a);for(var d=0;d<c.length;d++){var e=c[d];b[e]=Wf(a[e])}}}function Jn(b,a,c,d,e){var f=c.enterFrom;if(e&&f)for(var g=ia(f),h=0;h<g.length;h++){var k=g[h];pj(k,"el.enterFrom");d[k]=f[k]}if(!e)if(a)a&&a!==b&&a.parent!==b.parent?(h=je.transform||(je.transform=Sc([])),(k=a.getComputedTransform())?Je(h,k):Sc(h),(h=b.parent)&&h.getComputedTransform(),je.originX=a.originX,je.originY=a.originY,je.parent=h,je.decomposeTransform(),h=je):h=a,Jc(d,"x",h),Jc(d,"y",h),Jc(d,"scaleX",h),Jc(d,"scaleY",h),Jc(d,"originX",h),Jc(d,"originY",h),Jc(d,"rotation",h);else if(c.transition)for(a=xa(c.transition),h=0;h<a.length;h++)k=a[h],"style"!==k&&"shape"!==k&&"extra"!==k&&(e=b[k],pj(k,"el.transition"),Nn(k,c[k],e),d[k]=e);else Jc(d,"x",b),Jc(d,"y",b);if(c=c.leaveTo)for(b=On(b),d=ia(c),h=0;h<d.length;h++)k=d[h],pj(k,"el.leaveTo"),b[k]=c[k]}function Ln(b,a,c,d,e,f){if(d){var g=(a||b).style,h,k=d.enterFrom;if(f&&k){var l=ia(k);!h&&(h=e.style={});for(a=0;a<l.length;a++){var m=l[a];h[m]=k[m]}}if(!f&&g)if(d.transition)for(c=xa(d.transition),!h&&(h=e.style={}),a=0;a<c.length;a++)m=c[a],e=g[m],h[m]=e;else if(b.getAnimationStyleProps&&0<=ba(c.transition,"style")&&(c=(a=b.getAnimationStyleProps())?a.style:null))for(!h&&(h=e.style={}),f=ia(d),a=0;a<f.length;a++)m=f[a],c[m]&&(e=g[m],h[m]=e);if(d=d.leaveTo)for(h=ia(d),b=On(b),b=b.style||(b.style={}),a=0;a<h.length;a++)m=h[a],b[m]=d[m]}}function On(b){b=Lb(b);return b.leaveToProps||(b.leaveToProps={})}function yf(b){if("transition"===b||"enterFrom"===b||"leaveTo"===b)throw Error('key must not be "'+b+'"');}function gG(){var b=this.el;if(b){var a=Lb(b).userDuring,c=this.userDuring;a!==c?this.el=this.userDuring=null:(Ma=b,Oh=Nh=!1,c(hG),Nh&&b.dirtyShape&&b.dirtyShape(),Oh&&b.dirtyStyle&&b.dirtyStyle())}}function nw(b,a,c,d,e,f,g){a=a.isGroup?null:a;e=e&&e[b].cfg;if(a){c=a.ensureState(b);if(!1===d){if(b=a.getState(b))b.style=null}else c.style=d||null;e&&(c.textConfig=e);eg(a)}}function Kn(b,a,c,d){b=b[c];c=iG[c];b&&(d?(a[c[0]]=d[c[0]],a[c[1]]=d[c[1]]):(a[c[0]]=b[0],a[c[1]]=b[1]))}function ie(b,a,c,d){null!=b[c]&&(a[c]=d?d[c]:b[c])}function Jc(b,a,c){c&&(b[a]=c[a])}function ow(b,a,c,d){function e(c){return c===t?u||(u=a.getItemModel(c)):a.getItemModel(c)}function f(c,b){return a.hasItemOption?c===t?w[b]||(w[b]=e(c).getModel(Pn[b])):e(c).getModel(Pn[b]):z[b]}function g(c,b){return a.hasItemOption?c===t?v[b]||(v[b]=e(c).getModel(Qn[b])):e(c).getModel(Qn[b]):r[b]}function h(c,a){for(var b in a)a.hasOwnProperty(b)&&(c[b]=a[b])}function k(c,a){c&&(c.textFill&&(a.textFill=c.textFill),c.textPosition&&(a.textPosition=c.textPosition))}var l=b.get("renderItem"),m=b.coordinateSystem,n={};m&&(O(l,"series.render is required."),O(m.prepareCustoms||pw[m.type],"This coordSys does not support custom series."),n=m.prepareCustoms?m.prepareCustoms(m):pw[m.type](m));var p=K({getWidth:d.getWidth,getHeight:d.getHeight,getZr:d.getZr,getDevicePixelRatio:d.getDevicePixelRatio,value:function(c,b){null==b&&(b=t);return a.get(a.getDimension(c||0),b)},style:function(c,d){ew("api.style","Please write literal style directly instead.");null==d&&(d=t);var e=a.getItemVisual(d,"style"),l=e&&e.fill,m=e&&e.opacity,e=f(d,"normal").getItemStyle();null!=l&&(e.fill=l);null!=m&&(e.opacity=m);var m={inheritColor:da(l)?l:"#000"},n=g(d,"normal"),l=Ja(n,null,m,!1,!0);l.text=n.getShallow("show")?ka(b.getFormattedLabel(d,"normal"),kf(a,d)):null;m=ti(n,m,!1);k(c,e);e=cw(e,l,m);c&&h(e,c);e.legacy=!0;return e},ordinalRawValue:function(c,b){null==b&&(b=t);var d=a.getDimensionInfo(c||0);if(d){var e=a.get(d.name,b);return(d=d&&d.ordinalMeta)?d.categories[e]:e}},styleEmphasis:function(c,d){ew("api.styleEmphasis","Please write literal style directly instead.");null==d&&(d=t);var e=f(d,"emphasis").getItemStyle(),l=g(d,"emphasis"),m=Ja(l,null,null,!0,!0);m.text=l.getShallow("show")?zb(b.getFormattedLabel(d,"emphasis"),b.getFormattedLabel(d,"normal"),kf(a,d)):null;l=ti(l,null,!0);k(c,e);e=cw(e,m,l);c&&h(e,c);e.legacy=!0;return e},visual:function(c,b){null==b&&(b=t);if(qw.hasOwnProperty(c)){var d=a.getItemVisual(b,"style");return d?d[qw[c]]:null}if(jG.hasOwnProperty(c))return a.getItemVisual(b,c)},barLayout:function(c){if("cartesian2d"===m.type){var a=m.getBaseAxis();c=K({axis:a},c);var b=[],a=c.axis;if("category"!==a.type)c=void 0;else{for(var d=a.getBandWidth(),a=0;a<c.count;a++)b.push(K({bandWidth:d,axisKey:"axis0",stackId:"__ec_stack_"+a},c));b=it(b);d=[];for(a=0;a<c.count;a++){var e=b.axis0["__ec_stack_"+a];e.offsetCenter=e.offset+e.width/2;d.push(e)}c=d}return c}},currentSeriesIndices:function(){return c.getCurrentSeriesIndices()},font:function(a){return Ar(a,c)}},n.api||{}),q={context:{},seriesId:b.id,seriesName:b.name,seriesIndex:b.seriesIndex,coordSys:n.coordSys,dataInsideLength:a.count(),encode:kG(b.getData())},t,u,w={},v={},z={},r={};for(d=0;d<rd.length;d++)n=rd[d],z[n]=b.getModel(Pn[n]),r[n]=b.getModel(Qn[n]);return function(c,b){t=c;u=null;w={};v={};return l&&l(K({dataIndexInside:c,dataIndex:a.getRawIndex(c),actionType:b?b.type:null},q),p)}}function kG(b){var a={};r(b.dimensions,function(c,d){var e=b.getDimensionInfo(c);if(!e.isExtraCoord){var f=e.coordDim;(a[f]=a[f]||[])[e.coordDimIndex]=d}});return a}function zf(b,a,c,d,e,f,g,h){if(d)return(a=Rn(b,a,c,d,e,f,!0,h))&&g.setItemGraphicEl(c,a),va(a,d.focus,d.blurScope),a;a&&f.remove(a)}function Rn(b,a,c,d,e,f,g,h){O(d,"should not have an null/undefined element setting");g=-1;a&&rw(a,d)&&(g=f.childrenRef().indexOf(a),a=null);var k=!a;a?a.clearStates():a=Hn(d);var l=(Lb(a).canMorph=d.morph&&a&&a instanceof Y)&&h&&h.hasFrom(),k=k&&!l;Mb.normal.cfg=Mb.normal.conOpt=Mb.emphasis.cfg=Mb.emphasis.conOpt=Mb.blur.cfg=Mb.blur.conOpt=Mb.select.cfg=Mb.select.conOpt=null;Mb.isLegacy=!1;var m=a,n=Mb;if(!m.isGroup){sw(d,null,n);sw(d,"emphasis",n);var p=n.normal.conOpt,q=n.emphasis.conOpt,t=n.blur.conOpt,u=n.select.conOpt;if(null!=p||null!=q||null!=u||null!=t)if(q=m.getTextContent(),!1===p)q&&m.removeTextContent();else{p=n.normal.conOpt=p||{type:"text"};q?q.clearStates():(q=Hn(p),m.setTextContent(q));m=p&&p.style;In(null,q,null,c,p,m,null,e,k,!0);for(t=0;t<rd.length;t++)if(u=rd[t],"normal"!==u){var w=n[u].conOpt;nw(u,q,w,Sn(p,w,u),null)}m?q.dirty():q.markRedraw()}}n=a;p=d.clipPath;!1===p?n&&n.getClipPath()&&n.removeClipPath():p&&((q=n.getClipPath())&&rw(q,p)&&(q=null),q||(q=Hn(p),O(q instanceof Y,"Only any type of `path` can be used in `clipPath`, rather than "+q.type+"."),n.setClipPath(q)),In(null,q,null,c,p,null,null,e,k,!1));k=In(b,a,l,c,d,d.style,Mb,e,k,!1);l&&h.addTo(a,d,c,k);for(l=0;l<rd.length;l++)k=rd[l],"normal"!==k&&(n=k?d?d[k]:null:d,p=Sn(d,n,k),nw(k,a,n,p,Mb));if(!a.isGroup)for(l=a,k=e.currentZLevel,l.z=e.currentZ,l.zlevel=k,k=d.z2,null!=k&&(l.z2=k||0),k=0;k<rd.length;k++)n=rd[k],q=(q=(p="normal"===n)?d:n?d?d[n]:null:d)?q.z2:null,null!=q&&(n=p?l:l.ensureState(n),n.z2=q||0);if("group"===d.type&&(l=a,n=(k=d.children)?k.length:0,p=d.$mergeChildren,d="byName"===p||d.diffChildrenByName,p=!1===p,n||d||p))if(d)e={api:b,oldChildren:l.children()||[],newChildren:k||[],dataIndex:c,seriesModel:e,group:l,morphPreparation:h},(new sd(e.oldChildren,e.newChildren,tw,tw,e)).add(uw).update(uw).remove(lG).execute();else{p&&l.removeAll();for(d=0;d<n;d++)k[d]&&Rn(b,l.childAt(d),c,k[d],e,l,!1,h);for(b=l.childCount()-1;b>=d;b--)qj(l.childAt(b),e,l)}0<=g?f.replaceAt(a,g):f.add(a);return a}function rw(b,a){var c=Lb(b),d=a.type,e=a.shape,f=a.style,g;if(!(g=null!=d&&d!==c.customGraphicType)){if(g="path"===d)g=e&&(e.hasOwnProperty("pathData")||e.hasOwnProperty("d"));g=g&&(e&&(e.pathData||e.d))!==c.customPathData}return g||"image"===d&&f.hasOwnProperty("image")&&f.image!==c.customImagePath}function sw(b,a,c){var d=a?a?b?b[a]:null:b:b,e=a?Sn(b,d,"emphasis"):b.style,f=b.type,d=d?d.textConfig:null;b=(b=b.textContent)?a?a?b?b[a]:null:b:b:null;e&&(c.isLegacy||$v(e,f,!!d,!!b))&&(c.isLegacy=!0,e=aw(e,f,!a),!d&&e.textConfig&&(d=e.textConfig),!b&&e.textContent&&(b=e.textContent));!a&&b&&(e=b,!e.type&&(e.type="text"),"text"!==e.type&&O("text"===e.type,'textContent.type must be "text"'));a=a?c[a]:c.normal;a.cfg=d;a.conOpt=b}function Sn(b,a,c){a=a&&a.style;null==a&&"emphasis"===c&&b&&(a=b.styleEmphasis);return a}function tw(b,a){var c=b&&b.name;return null!=c?c:"e\x00\x00"+a}function uw(b,a){var c=this.context;Rn(c.api,null!=a?c.oldChildren[a]:null,c.dataIndex,null!=b?c.newChildren[b]:null,c.seriesModel,c.group,!1,c.morphPreparation)}function lG(b){var a=this.context;qj(a.oldChildren[b],a.seriesModel,a.group)}function qj(b,a,c){if(b){var d=Lb(b).leaveToProps;d?ea(b,d,a,{cb:function(){c.remove(b)}}):c.remove(b)}}function rj(b,a,c){a.style=c?J(b.style):b.style;a.zlevel=b.zlevel;a.z=b.z;a.z2=b.z2}function vw(b,a,c,d){ww(ke(c).lastProp,d)||(ke(c).lastProp=d,a?ea(c,d,b):(c.stopAnimation(),c.attr(d)))}function ww(b,a){if(N(b)&&N(a)){var c=!0;r(a,function(a,e){c=c&&ww(b[e],a)});return!!c}return b===a}function xw(b,a){b[a.get(["label","show"])?"show":"hide"]()}function Tn(b){return{x:b.x||0,y:b.y||0,rotation:b.rotation||0}}function yw(b,a,c){var d=a.get("z"),e=a.get("zlevel");b&&b.traverse(function(a){"group"!==a.type&&(null!=d&&(a.z=d),null!=e&&(a.zlevel=e),a.silent=c)})}function Un(b){var a=b.get("type");b=b.getModel(a+"Style");var c;"line"===a?(c=b.getLineStyle(),c.fill=null):"shadow"===a&&(c=b.getAreaStyle(),c.stroke=null);return c}function zw(b,a,c,d,e){var f=c.get("value"),f=Aw(f,a.axis,a.ecModel,c.get("seriesDataIndices"),{precision:c.get(["label","precision"]),formatter:c.get(["label","formatter"])});c=c.getModel("label");var g=Od(c.get("padding")||0),h=c.getFont(),k=$f(f,h),l=e.position,m=k.width+g[1]+g[3],k=k.height+g[0]+g[2],n=e.align;"right"===n&&(l[0]-=m);"center"===n&&(l[0]-=m/2);e=e.verticalAlign;"bottom"===e&&(l[1]-=k);"middle"===e&&(l[1]-=k/2);e=d.getWidth();d=d.getHeight();l[0]=Math.min(l[0]+m,e)-m;l[1]=Math.min(l[1]+k,d)-k;l[0]=Math.max(l[0],0);l[1]=Math.max(l[1],0);(d=c.get("backgroundColor"))&&"auto"!==d||(d=a.get(["axisLine","lineStyle","color"]));b.label={x:l[0],y:l[1],style:Ja(c,{text:f,font:h,fill:c.getTextColor(),padding:g,backgroundColor:d}),z2:10}}function Aw(b,a,c,d,e){b=a.scale.parse(b);var f=a.scale.getLabel({value:b},{precision:e.precision});if(e=e.formatter){var g={value:qm(a,{value:b}),axisDimension:a.dim,axisIndex:a.index,seriesData:[]};r(d,function(a){var b=c.getSeriesByIndex(a.seriesIndex);a=a.dataIndexInside;(b=b&&b.getDataParams(a))&&g.seriesData.push(b)});da(e)?f=e.replace("{value}",f):fa(e)&&(f=e(g))}return f}function Vn(b,a,c){var d=nb();Tc(d,d,c.rotation);Rb(d,d,c.position);return Wb([b.dataToCoord(a),(c.labelOffset||0)+(c.labelDirection||1)*(c.labelMargin||0)],d)}function Bw(b,a,c,d,e,f){var g=mb.innerTextLayout(c.rotation,0,c.labelDirection);c.labelMargin=e.get(["label","margin"]);zw(a,d,e,f,{position:Vn(d.axis,b,c),align:g.textAlign,verticalAlign:g.textVerticalAlign})}function Wn(b,a,c){c=c||0;return{x1:b[c],y1:b[1-c],x2:a[c],y2:a[1-c]}}function Cw(b,a,c){c=c||0;return{x:b[c],y:b[1-c],width:a[c],height:a[1-c]}}function Dw(b,a){var c={};c[a.dim+"AxisIndex"]=a.index;return b.getCartesian(c)}function Ew(b,a,c){if(!X.node){var d=a.getZr();Kc(d).records||(Kc(d).records={});mG(d,a);(Kc(d).records[b]||(Kc(d).records[b]={})).handler=c}}function mG(b,a){function c(c,e){b.on(c,function(c){var d=nG(a);oG(Kc(b).records,function(a){a&&e(a,c,d.dispatchAction)});pG(d.pendings,a)})}Kc(b).initialized||(Kc(b).initialized=!0,c("click",P(Fw,"click")),c("mousemove",P(Fw,"mousemove")),c("globalout",qG))}function pG(b,a){var c=b.showTip.length,d=b.hideTip.length,e;c?e=b.showTip[c-1]:d&&(e=b.hideTip[d-1]);e&&(e.dispatchAction=null,a.dispatchAction(e))}function qG(b,a,c){b.handler("leave",null,c)}function Fw(b,a,c,d){a.handler(b,c,d)}function nG(b){var a={showTip:[],hideTip:[]},c=function(d){var e=a[d.type];e?e.push(d):(d.dispatchAction=c,b.dispatchAction(d))};return{dispatchAction:c,pendings:a}}function Xn(b,a){if(!X.node){var c=a.getZr();(Kc(c).records||{})[b]&&(Kc(c).records[b]=null)}}function Gw(b,a){var c=[],d=b.seriesIndex,e;if(null==d||!(e=a.getSeriesByIndex(d)))return{point:[]};var f=e.getData(),g=Jd(f,b);if(null==g||0>g||A(g))return{point:[]};var d=f.getItemGraphicEl(g),h=e.coordinateSystem;if(e.getTooltipPosition)c=e.getTooltipPosition(g)||[];else if(h&&h.dataToPoint)if(b.isStacked){e=h.getBaseAxis();c=h.getOtherAxis(e).dim;c="x"===c||"radius"===c?1:0;e=f.mapDimension(e.dim);var k=[];k[c]=f.get(e,g);k[1-c]=f.get(f.getCalculationInfo("stackResultDimension"),g);c=h.dataToPoint(k)||[]}else c=h.dataToPoint(f.getValues(C(h.dimensions,function(c){return f.mapDimension(c)}),g))||[];else d&&(g=d.getBoundingRect().clone(),g.applyTransform(d.transform),c=[g.x+g.width/2,g.y+g.height/2]);return{point:c,el:d}}function rG(b,a,c){var d=b.currTrigger,e=[b.x,b.y],f=b.dispatchAction||I(c.dispatchAction,c),g=a.getComponent("axisPointer").coordSysAxesInfo;if(g){sj(e)&&(e=Gw({seriesIndex:b.seriesIndex,dataIndex:b.dataIndex},a).point);var h=sj(e),k=b.axesInfo,l=g.axesInfo,m="leave"===d||sj(e),n={},p={};a={list:[],map:{}};var q={showPointer:P(sG,p),showTooltip:P(tG,a)};r(g.coordSysMap,function(c,a){var b=h||c.containPoint(e);r(g.coordSysAxesInfo[a],function(c,a){var d=c.axis,f;a:{for(f=0;f<(k||[]).length;f++){var g=k[f];if(c.axis.dim===g.axisDim&&c.axis.model.componentIndex===g.axisIndex){f=g;break a}}f=void 0}m||!b||k&&!f||(f=f&&f.value,null!=f||h||(f=d.pointToData(e)),null!=f&&Hw(c,f,q,!1,n))})});var t={};r(l,function(c,a){var b=c.linkGroup;b&&!p[a]&&r(b.axesInfo,function(a,d){var e=p[d];a!==c&&e&&(e=e.value,b.mapper&&(e=c.axis.scale.parse(b.mapper(e,Iw(a),Iw(c)))),t[c.key]=e)})});r(t,function(c,a){Hw(l[a],c,q,!0,n)});uG(p,l,n);vG(a,e,b,f);wG(l,f,c);return n}}function Hw(b,a,c,d,e){var f=b.axis;if(!f.scale.isBlank()&&f.containData(a))if(b.involveSeries){var g=xG(a,b),h=g.payloadBatch,k=g.snapToValue;h[0]&&null==e.seriesIndex&&F(e,h[0]);!d&&b.snap&&f.containData(k)&&null!=k&&(a=k);c.showPointer(b,a,h);c.showTooltip(b,g,k)}else c.showPointer(b,a)}function xG(b,a){var c=a.axis,d=c.dim,e=b,f=[],g=Number.MAX_VALUE,h=-1;r(a.seriesModels,function(a,l){var k=a.getData().mapDimensionsAll(d),n;if(a.getAxisTooltipData)k=a.getAxisTooltipData(k,b,c),n=k.dataIndices,k=k.nestestValue;else{n=a.getData().indicesOfNearest(k[0],b,"category"===c.type?.5:null);if(!n.length)return;k=a.getData().get(k[0],n[0])}if(null!=k&&isFinite(k)){var p=b-k,q=Math.abs(p);if(q<=g){if(q<g||0<=p&&0>h)g=q,h=p,e=k,f.length=0;r(n,function(c){f.push({seriesIndex:a.seriesIndex,dataIndexInside:c,dataIndex:a.getData().getRawIndex(c)})})}}});return{payloadBatch:f,snapToValue:e}}function sG(b,a,c,d){b[a.key]={value:c,payloadBatch:d}}function tG(b,a,c,d){c=c.payloadBatch;var e=a.axis,f=e.model,g=a.axisPointerModel;if(a.triggerTooltip&&c.length){a=a.coordSys.model;var h=Kg(a),k=b.map[h];k||(k=b.map[h]={coordSysId:a.id,coordSysIndex:a.componentIndex,coordSysType:a.type,coordSysMainType:a.mainType,dataByAxis:[]},b.list.push(k));k.dataByAxis.push({axisDim:e.dim,axisIndex:f.componentIndex,axisType:f.type,axisId:f.id,value:d,valueLabelOpt:{precision:g.get(["label","precision"]),formatter:g.get(["label","formatter"])},seriesDataIndices:c.slice()})}}function uG(b,a,c){var d=c.axesInfo=[];r(a,function(c,a){var e=c.axisPointerModel.option,f=b[a];f?(!c.useHandle&&(e.status="show"),e.value=f.value,e.seriesDataIndices=(f.payloadBatch||[]).slice()):!c.useHandle&&(e.status="hide");"show"===e.status&&d.push({axisDim:c.axis.dim,axisIndex:c.axis.model.componentIndex,value:e.value})})}function vG(b,a,c,d){if(sj(a)||!b.list.length)d({type:"hideTip"});else{var e=((b.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};d({type:"showTip",escapeConnect:!0,x:a[0],y:a[1],tooltipOption:c.tooltipOption,position:c.position,dataIndexInside:e.dataIndexInside,dataIndex:e.dataIndex,seriesIndex:e.seriesIndex,dataByCoordSys:b.list})}}function wG(b,a,c){a=c.getZr();var d=Jw(a).axisPointerLastHighlights||{},e=Jw(a).axisPointerLastHighlights={};r(b,function(c,a){var b=c.axisPointerModel.option;"show"===b.status&&r(b.seriesDataIndices,function(c){e[c.seriesIndex+" | "+c.dataIndex]=c})});var f=[],g=[];r(d,function(c,a){!e[a]&&g.push(c)});r(e,function(c,a){!d[a]&&f.push(c)});g.length&&c.dispatchAction({type:"downplay",escapeConnect:!0,notBlur:!0,batch:g});f.length&&c.dispatchAction({type:"highlight",escapeConnect:!0,notBlur:!0,batch:f})}function Iw(b){var a=b.axis.model,c={};b=c.axisDim=b.axis.dim;c.axisIndex=c[b+"AxisIndex"]=a.componentIndex;c.axisName=c[b+"AxisName"]=a.name;c.axisId=c[b+"AxisId"]=a.id;return c}function sj(b){return!b||null==b[0]||isNaN(b[0])||null==b[1]||isNaN(b[1])}function ah(b){le.registerAxisPointerClass("CartesianAxisPointer",yG);b.registerComponentModel(zG);b.registerComponentView(AG);b.registerPreprocessor(function(a){if(a){a.axisPointer&&0!==a.axisPointer.length||(a.axisPointer={});var c=a.axisPointer.link;c&&!A(c)&&(a.axisPointer.link=[c])}});b.registerProcessor(b.PRIORITY.PROCESSOR.STATISTIC,function(a,c){var b=a.getComponent("axisPointer"),e={axesInfo:{},seriesInvolved:!1,coordSysAxesInfo:{},coordSysMap:{}};kD(e,a,c);e.seriesInvolved&&mD(e,a);b.coordSysAxesInfo=e});b.registerAction({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},rG)}function Kw(b){var a=b.seriesModel;return(b=b.polarModel)&&b.coordinateSystem||a&&a.coordinateSystem}function BG(b,a){var c=this,d=c.getAngleAxis(),e=c.getRadiusAxis();d.scale.setExtent(Infinity,-Infinity);e.scale.setExtent(Infinity,-Infinity);b.eachSeries(function(a){if(a.coordinateSystem===c){var b=a.getData();r(Xi(b,"radius"),function(c){e.scale.unionExtentFromData(b,c)});r(Xi(b,"angle"),function(c){d.scale.unionExtentFromData(b,c)})}});jd(d.scale,d.model);jd(e.scale,e.model);if("category"===d.type&&!d.onBand){var f=d.getExtent(),g=360/d.scale.count();d.inverse?f[1]+=g:f[1]-=g;d.setExtent(f[0],f[1])}}function Lw(b,a){b.type=a.get("type");b.scale=Dg(a);b.onBand=a.get("boundaryGap")&&"category"===b.type;b.inverse=a.get("inverse");if("angleAxis"===a.mainType){b.inverse=b.inverse!==a.get("clockwise");var c=a.get("startAngle");b.setExtent(c,c+(b.inverse?-360:360))}a.axis=b;b.model=a}function tj(b,a,c){a[1]>a[0]&&(a=a.slice().reverse());var d=b.coordToPoint([a[0],c]);b=b.coordToPoint([a[1],c]);return{x1:d[0],y1:d[1],x2:b[0],y2:b[1]}}function Mw(b){var a=b[0],c=b[b.length-1];a&&c&&1E-4>Math.abs(Math.abs(a.coord-c.coord)-360)&&b.pop()}function Nw(b){return b.get("stack")||"__ec_stack_"+b.seriesIndex}function CG(b,a,c){var d={},e=DG(ta(a.getSeriesByType(b),function(c){return!a.isSeriesFiltered(c)&&c.coordinateSystem&&"polar"===c.coordinateSystem.type}));a.eachSeriesByType(b,function(c){if("polar"===c.coordinateSystem.type){var a=c.getData(),b=c.coordinateSystem,f=b.getBaseAxis(),l=f.dim+b.model.componentIndex,m=Nw(c),n=e[l][m],l=n.offset,n=n.width,b=b.getOtherAxis(f),p=c.coordinateSystem.cx,q=c.coordinateSystem.cy,t=c.get("barMinHeight")||0,u=c.get("barMinAngle")||0;d[m]=d[m]||[];var w=a.mapDimension(b.dim),v=a.mapDimension(f.dim),z=Gc(a,w);c="radius"!==f.dim||!c.get("roundCap",!0);for(var r=b.dataToCoord(0),y=0,L=a.count();y<L;y++){var D=a.get(w,y),x=a.get(v,y),E=0<=D?"p":"n",G=r;z&&(d[m][x]||(d[m][x]={p:r,n:r}),G=d[m][x][E]);var A,C;if("radius"===b.dim)A=b.dataToCoord(D)-r,C=f.dataToCoord(x),Math.abs(A)<t&&(A=(0>A?-1:1)*t),D=G,A=G+A,C-=l,G=C-n,z&&(d[m][x][E]=A);else{var F=b.dataToCoord(D,c)-r,D=f.dataToCoord(x);Math.abs(F)<u&&(F=(0>F?-1:1)*u);D+=l;A=D+n;C=G;G+=F;z&&(d[m][x][E]=G)}a.setItemLayout(y,{cx:p,cy:q,r0:D,r:A,startAngle:-C*Math.PI/180,endAngle:-G*Math.PI/180})}}})}function DG(b){var a={};r(b,function(c,b){var d=c.getData(),e=c.coordinateSystem,h=e.getBaseAxis(),e=h.dim+e.model.componentIndex,k=h.getExtent(),l="category"===h.type?h.getBandWidth():Math.abs(k[1]-k[0])/d.count(),d=a[e]||{bandWidth:l,remainedWidth:l,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},h=d.stacks;a[e]=d;e=Nw(c);h[e]||d.autoWidthCount++;h[e]=h[e]||{width:0,maxWidth:0};var k=H(c.get("barWidth"),l),l=H(c.get("barMaxWidth"),l),m=c.get("barGap"),n=c.get("barCategoryGap");k&&!h[e].width&&(k=Math.min(d.remainedWidth,k),h[e].width=k,d.remainedWidth-=k);l&&(h[e].maxWidth=l);null!=m&&(d.gap=m);null!=n&&(d.categoryGap=n)});var c={};r(a,function(a,b){c[b]={};var d=a.stacks,e=H(a.categoryGap,a.bandWidth),h=H(a.gap,1),k=a.remainedWidth,l=a.autoWidthCount,m=(k-e)/(l+(l-1)*h),m=Math.max(m,0);r(d,function(c,a){var b=c.maxWidth;b&&b<m&&(b=Math.min(b,k),c.width&&(b=Math.min(b,c.width)),k-=b,c.width=b,l--)});var m=(k-e)/(l+(l-1)*h),m=Math.max(m,0),n=0,p;r(d,function(c,a){c.width||(c.width=m);p=c;n+=c.width*(1+h)});p&&(n-=p.width*h);var q=-n/2;r(d,function(a,d){c[b][d]=c[b][d]||{offset:q,width:a.width};q+=a.width*(1+h)})});return c}function Ow(b){var a=b.geoModel;b=b.seriesModel;return a?a.coordinateSystem:b?b.coordinateSystem||(b.getReferringComponents("geo",Da).models[0]||{}).coordinateSystem:null}function Pw(b,a){var c=b.get("boundingCoords");if(null!=c){var d=c[0],c=c[1];isNaN(d[0])||isNaN(d[1])||isNaN(c[0])||isNaN(c[1])?console.error("Invalid boundingCoords"):this.setBoundingRect(d[0],d[1],c[0]-d[0],c[1]-d[1])}var e=this.getBoundingRect(),f=b.get("layoutCenter"),g=b.get("layoutSize"),d=a.getWidth(),c=a.getHeight(),e=e.width/e.height*this.aspectScale,h=!1,k,l;f&&g&&(k=[H(f[0],d),H(f[1],c)],l=H(g,Math.min(d,c)),isNaN(k[0])||isNaN(k[1])||isNaN(l)?console.warn("Given layoutCenter or layoutSize data are invalid. Use left/top/width/height instead."):h=!0);h?(d={},1<e?(d.width=l,d.height=l/e):(d.height=l,d.width=l*e),d.y=k[1]-d.height/2,d.x=k[0]-d.width/2):(k=b.getBoxLayoutParams(),k.aspect=e,d=Aa(k,{width:d,height:c}));this.setViewRect(d.x,d.y,d.width,d.height);this.setCenter(b.get("center"));this.setZoom(b.get("zoom"))}function EG(b,a){r(a.get("geoCoord"),function(c,a){b.addGeoCoord(a,c)})}function Yn(b,a){a=a||{};var c=b.axis,d={},e=c.position,c=c.orient,f=b.coordinateSystem.getRect(),f=[f.x,f.x+f.width,f.y,f.y+f.height],g={top:f[2],bottom:f[3]},h={left:f[0],right:f[1]};d.position=["vertical"===c?h[e]:f[0],"horizontal"===c?g[e]:f[3]];d.rotation=Math.PI/2*{horizontal:0,vertical:1}[c];d.labelDirection=d.tickDirection=d.nameDirection={top:-1,bottom:1,right:1,left:-1}[e];b.get(["axisTick","inside"])&&(d.tickDirection=-d.tickDirection);Ba(a.labelInside,b.get(["axisLabel","inside"]))&&(d.labelDirection=-d.labelDirection);c=a.rotate;null==c&&(c=b.get(["axisLabel","rotate"]));d.labelRotation="top"===e?-c:c;d.z2=1;return d}function Qw(b){var a=b.seriesModel;return(b=b.singleAxisModel)&&b.coordinateSystem||a&&a.coordinateSystem}function Zn(b,a){var c=b.getRect();return[c[Rw[a]],c[Rw[a]]+c[FG[a]]]}function Sw(b,a){var c=b.cellSize,d;d=A(c)?c:b.cellSize=[c,c];1===d.length&&(d[1]=d[0]);c=C([0,1],function(c){if(null!=a[Pd[c][0]]||null!=a[Pd[c][1]]&&null!=a[Pd[c][2]])d[c]="auto";return null!=d[c]&&"auto"!==d[c]});gd(b,a,{type:"box",ignoreSize:c})}function Tw(b){var a=b.calendarModel;b=b.seriesModel;return a?a.coordinateSystem:b?b.coordinateSystem:null}function Uw(b,a,c,d){var e=c.type;O(e,"graphic type MUST be set");e=Vw.hasOwnProperty(e)?Vw[e]:oi(e);O(e,"graphic type can not be found");c=new e(c);a.add(c);d.set(b,c);Af(c).__ecGraphicId=b}function uj(b,a){var c=b&&b.parent;c&&("group"===b.type&&b.traverse(function(c){uj(c,a)}),a.removeKey(Af(b).__ecGraphicId),c.remove(b))}function GG(b){b=F({},b);r("id parentId $action hv bounding textContent".split(" ").concat(Jr),function(a){delete b[a]});return b}function Ww(b,a){var c;r(a,function(a){null!=b[a]&&"auto"!==b[a]&&(c=!0)});return c}function td(b){O(b);return b+"Axis"}function HG(b,a){function c(c){!k.get(c.uid)&&e(c)&&(d(c),l=!0)}function d(c){k.set(c.uid,!0);h.push(c);f(c)}function e(c){var a=!1;c.eachTargetAxis(function(c,b){var d=g.get(c);d&&d[b]&&(a=!0)});return a}function f(c){c.eachTargetAxis(function(c,a){(g.get(c)||g.set(c,[]))[a]=!0})}var g=R(),h=[],k=R();b.eachComponent({mainType:"dataZoom",query:a},function(c){k.get(c.uid)||d(c)});var l;do l=!1,b.eachComponent("dataZoom",c);while(l);return h}function Xw(b){var a=b.ecModel,c={infoList:[],infoMap:R()};b.eachTargetAxis(function(b,e){var d=a.getComponent(td(b),e);if(d){var g=d.getCoordSysModel();if(g){var h=g.uid,k=c.infoMap.get(h);k||(k={model:g,axisModels:[]},c.infoList.push(k),c.infoMap.set(h,k));k.axisModels.push(d)}}});return c}function Yw(b){var a={};r(["start","end","startValue","endValue","throttle"],function(c){b.hasOwnProperty(c)&&(a[c]=b[c])});return a}function IG(b,a,c){var d=[Infinity,-Infinity];Bf(c,function(c){CC(d,c.getData(),a)});b=b.getAxisModel();b=nt(b.axis.scale,b,d).calculate();return[b.min,b.max]}function JG(b){b.registerAction("dataZoom",function(a,c){var b=HG(c,a);r(b,function(c){c.setRawRange({start:a.start,end:a.end,startValue:a.startValue,endValue:a.endValue})})})}function $n(b){Zw||(Zw=!0,b.registerProcessor(b.PRIORITY.PROCESSOR.FILTER,KG),JG(b),b.registerSubTypeDefaulter("dataZoom",function(){return"slider"}))}function LG(b){b.registerComponentModel(MG);b.registerComponentView(NG);$n(b)}function OG(b,a,c){var d=a.getBoxLayoutParams(),e=a.get("padding");c={width:c.getWidth(),height:c.getHeight()};var f=Aa(d,c,e);me(a.get("orient"),b,a.get("itemGap"),f.width,f.height);Bi(b,d,c,e)}function $w(b,a){var c=Od(a.get("padding")),d=a.getItemStyle(["color","opacity"]);d.fill=a.get("backgroundColor");return b=new Z({shape:{x:b.x-c[3],y:b.y-c[0],width:b.width+c[1]+c[3],height:b.height+c[0]+c[2],r:a.get("borderRadius")},style:d,silent:!0,z2:-1})}function PG(b){var a={},c=[],d=[];b.eachRawSeries(function(b){var e=b.coordinateSystem;if(!e||"cartesian2d"!==e.type&&"polar"!==e.type)c.push(b);else{var g=e.getBaseAxis();if("category"===g.type){var h=g.dim+"_"+g.index;a[h]||(a[h]={categoryAxis:g,valueAxis:e.getOtherAxis(g),series:[]},d.push({axisDim:g.dim,axisIndex:g.index}));a[h].series.push(b)}else c.push(b)}});return{seriesGroupByCategoryAxis:a,other:c,meta:d}}function QG(b){var a=[];r(b,function(c,b){var d=c.categoryAxis,f=c.valueAxis.dim,g=[" "].concat(C(c.series,function(c){return c.name})),h=[d.model.getCategories()];r(c.series,function(c){var a=c.getRawData();h.push(c.getRawData().mapArray(a.mapDimension(f),function(c){return c}))});d=[g.join("\t")];for(g=0;g<h[0].length;g++){for(var k=[],l=0;l<h.length;l++)k.push(h[l][g]);d.push(k.join("\t"))}a.push(d.join("\n"))});return a.join("\n\n"+vj+"\n\n")}function RG(b){return C(b,function(a){var c=a.getRawData(),b=[a.name],e=[];c.each(c.dimensions,function(){for(var a=arguments.length,d=c.getName(arguments[a-1]),h=0;h<a-1;h++)e[h]=arguments[h];b.push((d?d+"\t":"")+e.join("\t"))});return b.join("\n")}).join("\n\n"+vj+"\n\n")}function SG(b){b=PG(b);return{value:ta([QG(b.seriesGroupByCategoryAxis),RG(b.other)],function(a){return!!a.replace(/[\n\t\s]/g,"")}).join("\n\n"+vj+"\n\n"),meta:b.meta}}function wj(b){return b.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function TG(b){b=b.split(/\n+/g);for(var a=wj(b.shift()).split(ao),c=[],a=C(a,function(c){return{name:c,data:[]}}),d=0;d<b.length;d++){var e=wj(b[d]).split(ao);c.push(e.shift());for(var f=0;f<e.length;f++)a[f]&&(a[f].data[d]=e[f])}return{series:a,categories:c}}function UG(b,a){var c=b.split(new RegExp("\n*"+vj+"\n*","g")),d={series:[]};r(c,function(c,b){var e;e=0<=c.slice(0,c.indexOf("\n")).indexOf("\t")?!0:void 0;if(e){e=TG(c);var f=a[b],k=f.axisDim+"Axis";f&&(d[k]=d[k]||[],d[k][f.axisIndex]={data:e.categories},d.series=d.series.concat(e.series))}else{e=c.split(/\n+/g);for(var f=wj(e.shift()),k=[],l=0;l<e.length;l++){var m=wj(e[l]);if(m){var m=m.split(ao),n,p=!1;isNaN(m[0])?(p=!0,n=m[0],m=m.slice(1),k[l]={name:n,value:[]},n=k[l].value):n=k[l]=[];for(var q=0;q<m.length;q++)n.push(+m[q]);1===n.length&&(p?k[l].value=n[0]:k[l]=n[0])}}e={name:f,data:k};d.series.push(e)}});return d}function VG(b,a){return C(b,function(c,b){var d=a&&a[b];if(N(d)&&!A(d)){if(!N(c)||A(c))c={value:c};var f=null!=d.name&&null==c.name;c=K(c,d);f&&delete c.name}return c})}function WG(b,a){var c=bo(b);ax(a,function(a,e){for(var d=c.length-1;0<=d&&!c[d][e];d--);0>d&&(d=b.queryComponents({mainType:"dataZoom",subType:"select",id:e})[0])&&(d=d.getPercentRange(),c[0][e]={dataZoomId:e,start:d[0],end:d[1]})});c.push(a)}function XG(b){var a=bo(b);b=a[a.length-1];1<a.length&&a.pop();var c={};ax(b,function(b,e){for(var d=a.length-1;0<=d;d--)if(b=a[d][e]){c[e]=b;break}});return c}function bo(b){b=bx(b);b.snapshots||(b.snapshots=[{}]);return b.snapshots}function co(b){b[0]>b[1]&&b.reverse();return b}function cx(b,a,c,d){O("cartesian2d"===c.type,"lineX/lineY brush is available only in cartesian2d.");var e=c.getAxis(["x","y"][b]);c=co(C([0,1],function(c){return a?e.coordToData(e.toLocalCoord(d[c])):e.toGlobalCoord(e.dataToCoord(d[c]))}));var f=[];f[b]=c;f[1-b]=[NaN,NaN];return{values:c,xyMinMax:f}}function dx(b,a,c,d){return[a[0]-d[b]*c[0],a[1]-d[b]*c[1]]}function YG(b,a){var c=ex(b),d=ex(a),c=[c[0]/d[0],c[1]/d[1]];isNaN(c[0])&&(c[0]=1);isNaN(c[1])&&(c[1]=1);return c}function ex(b){return b?[b[0][1]-b[0][0],b[1][1]-b[1][0]]:[NaN,NaN]}function eo(b){b={xAxisIndex:b.get("xAxisIndex",!0),yAxisIndex:b.get("yAxisIndex",!0),xAxisId:b.get("xAxisId",!0),yAxisId:b.get("yAxisId",!0)};null==b.xAxisIndex&&null==b.xAxisId&&(b.xAxisIndex="all");null==b.yAxisIndex&&null==b.yAxisId&&(b.yAxisIndex="all");return b}function ZG(b,a,c,d,e){var f=c.isZoomActive;d&&"takeGlobalCursor"===d.type&&(f="dataZoomSelect"===d.key?d.dataZoomSelectActive:!1);c.isZoomActive=f;b.setIconStatus("zoom",f?"emphasis":"normal");a=(new fo(eo(b),a,{include:["grid"]})).makePanelOpts(e,function(c){return c.xAxisDeclared&&!c.yAxisDeclared?"lineX":!c.xAxisDeclared&&c.yAxisDeclared?"lineY":"rect"});c.brushController.setPanels(a).enableBrush(f&&a.length?{brushType:"auto",brushStyle:b.getModel("brushStyle").getItemStyle()}:!1)}function fx(b){var a=b.get("confine");return null!=a?!!a:"richText"===b.get("renderMode")}function $G(b,a,c){if(!da(c)||"inside"===c)return"";a=og(a);c="left"===c?"right":"right"===c?"left":"top"===c?"bottom":"top";var d="",e="";-1<ba(["left","right"],c)?(d=c+":-6px;top:50%;",e="translateY(-50%) rotate("+("left"===c?-225:-45)+"deg)"):(d=c+":-6px;left:50%;",e="translateX(-50%) rotate("+("top"===c?225:45)+"deg)");e=C(gx,function(c){return c+"transform:"+e}).join(";");return'\x3cdiv style\x3d"'+["position:absolute;width:10px;height:10px;",""+d+e+";","border-bottom: "+a+" solid 1px;","border-right: "+a+" solid 1px;","background-color: "+b+";","box-shadow: 8px 8px 16px -3px #000;"].join("")+'"\x3e\x3c/div\x3e'}function aH(b,a){var c="opacity "+b/2+"s cubic-bezier(0.23, 1, 0.32, 1),visibility "+b/2+"s cubic-bezier(0.23, 1, 0.32, 1)";a||(c+=",left "+b+"s cubic-bezier(0.23, 1, 0.32, 1),top "+b+"s cubic-bezier(0.23, 1, 0.32, 1)");return C(gx,function(a){return a+"transition:"+c}).join(";")}function bH(b){var a=[],c=b.get("fontSize"),d=b.getTextColor();d&&a.push("color:"+d);a.push("font:"+b.getFont());c&&a.push("line-height:"+Math.round(3*c/2)+"px");var c=b.get("textShadowColor"),d=b.get("textShadowBlur")||0,e=b.get("textShadowOffsetX")||0,f=b.get("textShadowOffsetY")||0;c&&d&&a.push("text-shadow:"+e+"px "+f+"px "+d+"px "+c);r(["decoration","align"],function(c){var d=b.get(c);d&&a.push("text-"+c+":"+d)});return a.join(";")}function cH(b,a,c){var d=[],e=b.get("transitionDuration"),f=b.get("backgroundColor"),g=b.get("shadowBlur"),h=b.get("shadowColor"),k=b.get("shadowOffsetX"),l=b.get("shadowOffsetY"),m=b.getModel("textStyle"),n=ms(b,"html");d.push("box-shadow:"+(k+"px "+l+"px "+g+"px "+h));a&&e&&d.push(aH(e,c));f&&(X.canvasSupported?d.push("background-Color:"+f):(d.push("background-Color:#"+Ik(f)),d.push("filter:alpha(opacity\x3d70)")));r(["width","color","radius"],function(c){var a="border-"+c,e=Gr(a),e=b.get(e);null!=e&&d.push(a+":"+e+("color"===c?"":"px"))});d.push(bH(m));null!=n&&d.push("padding:"+Od(n).join("px ")+"px");return d.join(";")+";"}function hx(b,a,c,d,e){var f=a&&a.painter;if(c){if(c=f&&f.getViewportRoot())f=document.body,yk(go,c,d,e,!0)&&yk(b,f,go[0],go[1])}else if(b[0]=d,b[1]=e,d=f&&f.getViewportRootOffset())b[0]+=d.offsetLeft,b[1]+=d.offsetTop;b[2]=b[0]/a.getWidth();b[3]=b[1]/a.getHeight()}function ud(b){return Math.max(0,b)}function ix(b){var a=ud(b.shadowBlur||0),c=ud(b.shadowOffsetX||0);b=ud(b.shadowOffsetY||0);return{left:ud(a-c),right:ud(a+c),top:ud(a-b),bottom:ud(a+b)}}function jx(b,a,c,d){b[0]=c;b[1]=d;b[2]=b[0]/a.getWidth();b[3]=b[1]/a.getHeight()}function ho(b){for(var a=b.pop();b.length;){var c=b.pop();c&&(c instanceof la&&(c=c.get("tooltip",!0)),da(c)&&(c={formatter:c}),a=new la(c,a,a.ecModel))}return a}function dH(b,a){var c=xa(b?b.brush:[]);if(c.length){var d=[];r(c,function(c){c=c.hasOwnProperty("toolbox")?c.toolbox:[];c instanceof Array&&(d=d.concat(c))});c=b&&b.toolbox;A(c)&&(c=c[0]);c||(c={feature:{}},b.toolbox=[c]);c=c.feature||(c.feature={});c=c.brush||(c.brush={});c=c.type||(c.type=[]);c.push.apply(c,d);eH(c);a&&!c.length&&c.push.apply(c,fH)}}function eH(b){var a={};r(b,function(c){a[c]=1});b.length=0;r(a,function(c,a){b.push(a)})}function kx(b){if(b)for(var a in b)if(b.hasOwnProperty(a))return!0}function io(b,a,c){function d(){var c=function(){};c.prototype.__hidden=c.prototype;return new c}var e={};lx(a,function(a){var f=e[a]=d();lx(b[a],function(b,d){if(La.isValidType(d)){var e={type:d,visual:b};c&&c(e,a);f[d]=new La(e);"opacity"===d&&(e=J(e),e.type="colorAlpha",f.__hidden.__alphaForOpacity=new La(e))}})});return e}function mx(b,a,c){var d;r(c,function(c){a.hasOwnProperty(c)&&kx(a[c])&&(d=!0)});d&&r(c,function(c){a.hasOwnProperty(c)&&kx(a[c])?b[c]=J(a[c]):delete b[c]})}function gH(b,a,c,d,e,f){function g(a){return Sl(c,m,a)}function h(a,b){ys(c,m,a,b)}function k(b,k){m=null==f?b:k;var n=c.getRawDataItem(m);if(!n||!1!==n.visualMap)for(var p=d.call(e,b),n=a[p],p=l[p],u=0,w=p.length;u<w;u++){var v=p[u];n[v]&&n[v].applyVisual(b,g,h)}}var l={};r(b,function(c){var b=La.prepareVisualTypes(a[c]);l[c]=b});var m;null==f?c.each(k):c.each([f],k)}function hH(b,a,c,d){var e={};r(b,function(c){var b=La.prepareVisualTypes(a[c]);e[c]=b});return{progress:function(b,g){function f(c){return Sl(g,m,c)}function k(c,a){ys(g,m,c,a)}var l;null!=d&&(l=g.getDimension(d));for(var m;null!=(m=b.next());){var n=g.getRawDataItem(m);if(!n||!1!==n.visualMap)for(var n=null!=d?g.get(l,m):m,p=c(n),q=a[p],p=e[p],t=0,u=p.length;t<u;t++){var w=p[t];q[w]&&q[w].applyVisual(n,f,k)}}}}}function iH(b){var a=b.brushType,c={point:function(d){return nx[a].point(d,c,b)},rect:function(d){return nx[a].rect(d,c,b)}};return c}function ox(b){var a=["x","y"],c=["width","height"];return{point:function(c,a,f){if(c)return bh(c[b],f.range)},rect:function(d,e,f){if(d)return e=f.range,d=[d[a[b]],d[a[b]]+d[c[b]]],d[1]<d[0]&&d.reverse(),bh(d[0],e)||bh(d[1],e)||bh(e[0],d)||bh(e[1],d)}}}function bh(b,a){return a[0]<=b&&b<=a[1]}function px(b){b.eachComponent({mainType:"brush"},function(a){(a.brushTargetManager=new fo(a.option,b)).setInputRanges(a.areas,b)})}function jH(b,a,c){var d=[],e,f;b.eachComponent({mainType:"brush"},function(a){c&&"takeGlobalCursor"===c.type&&a.setBrushOption("brush"===c.key?c.brushOption:{brushType:!1})});px(b);b.eachComponent({mainType:"brush"},function(c,a){function g(c){return"all"===q||!!t[c]}function h(c,a){var b=c.coordinateSystem;v=v||b.hasAxisBrushed();g(a)&&b.eachActiveState(c.getData(),function(c,a){"active"===c&&(u[a]=1)})}function m(a,d,e){if(a.brushSelector&&!kH(c,d)&&(r(z,function(d){c.brushTargetManager.controlSeries(d,a,b)&&e.push(d);v=v||!!e.length}),g(d)&&e.length)){var f=a.getData();f.each(function(c){qx(a,e,f,c)&&(u[c]=1)})}}var n={brushId:c.id,brushIndex:a,brushName:c.name,areas:J(c.areas),selected:[]};d.push(n);var p=c.option,q=p.brushLink,t=[],u=[],w=[],v=!1;a||(e=p.throttleType,f=p.throttleDelay);var z=C(c.areas,function(c){var a=lH[c.brushType];c=K({boundingRect:a?a(c):void 0},c);c.selectors=iH(c);return c}),B=io(c.option,rx,function(c){c.mappingMethod="fixed"});A(q)&&r(q,function(c){t[c]=1});b.eachSeries(function(c,a){var b=w[a]=[];"parallel"===c.subType?h(c,a):m(c,a,b)});b.eachSeries(function(c,a){var b={seriesId:c.id,seriesIndex:a,seriesName:c.name,dataIndex:[]};n.selected.push(b);var d=w[a],e=c.getData(),f=g(a)?function(c){return u[c]?(b.dataIndex.push(e.getRawIndex(c)),"inBrush"):"outOfBrush"}:function(a){return qx(c,d,e,a)?(b.dataIndex.push(e.getRawIndex(a)),"inBrush"):"outOfBrush"};(g(a)?v:d.length)&&gH(rx,B,e,f)})});mH(a,e,f,d,c)}function mH(b,a,c,d,e){e&&(e=b.getZr(),e.__ecInBrushSelectEvent||(e.__ecBrushSelect||(e.__ecBrushSelect=nH),tg(e,"__ecBrushSelect",c,a)(b,d)))}function nH(b,a){if(!b.isDisposed()){var c=b.getZr();c.__ecInBrushSelectEvent=!0;b.dispatchAction({type:"brushSelect",batch:a});c.__ecInBrushSelectEvent=!1}}function qx(b,a,c,d){for(var e=0,f=a.length;e<f;e++){var g=a[e];if(b.brushSelector(d,c,g.selectors,g))return!0}}function kH(b,a){var c=b.option.seriesIndex;return null!=c&&"all"!==c&&(A(c)?0>ba(c,a):a!==c)}function sx(b){return new aa(b[0][0],b[1][0],b[0][1]-b[0][0],b[1][1]-b[1][0])}function tx(b,a){return U({brushType:b.brushType,brushMode:b.brushMode,transformable:b.transformable,brushStyle:(new la(b.brushStyle)).getItemStyle(),removeOnClick:b.removeOnClick,z:b.z},a,!0)}function oH(b,a){if(a=a||b.get("type"))switch(a){case "category":return new Wi({ordinalMeta:b.getCategories(),extent:[Infinity,-Infinity]});case "time":return new pm({locale:b.ecModel.getLocaleModel(),useUTC:b.ecModel.get("useUTC")});default:return new Zd}}function ux(b,a,c,d,e,f){var g=a.get("color");e?(e.setColor(g),c.add(e),f&&f.onUpdate(e)):(e=b.get("symbol"),e=Pa(e,-1,-1,2,2,g),e.setStyle("strokeNoScale",!0),c.add(e),f&&f.onCreate(e));a=a.getItemStyle(["color"]);e.setStyle(a);d=U({rectHover:!0,z2:100},d,!0);a=b.get("symbolSize");a=a instanceof Array?a.slice():[+a,+a];d.scaleX=a[0]/2;d.scaleY=a[1]/2;if(c=b.get("symbolOffset"))d.x=d.x||0,d.y=d.y||0,d.x+=H(c[0],a[0]),d.y+=H(c[1],a[1]);b=b.get("symbolRotate");d.rotation=(b||0)*Math.PI/180||0;e.attr(d);e.updateTransform();return e}function vx(b,a,c,d,e,f){if(!b.dragging){var g=e.getModel("checkpointStyle");c=d.dataToCoord(e.getData().get("value",c));f||!g.get("animation",!0)?(b.attr({x:c,y:0}),a&&a.attr({shape:{x2:c}})):(f={duration:g.get("animationDuration",!0),easing:g.get("animationEasing",!0)},b.stopAnimation(null,!0),b.animateTo({x:c,y:0},f),a&&a.animateTo({shape:{x2:c}},f))}}function pH(b){b.registerAction({type:"timelineChange",event:"timelineChanged",update:"prepareAndUpdate"},function(a,c){var b=c.getComponent("timeline");b&&null!=a.currentIndex&&(b.setCurrentIndex(a.currentIndex),!b.get("loop",!0)&&b.isIndexMax()&&b.setPlayState(!1));c.resetOption("timeline",{replaceMerge:b.get("replaceMerge",!0)});return K({currentIndex:b.option.currentIndex},a)});b.registerAction({type:"timelinePlayChange",event:"timelinePlayChanged",update:"update"},function(a,c){var b=c.getComponent("timeline");b&&null!=a.playState&&b.setPlayState(a.playState)})}function qH(b){b=b&&b.timeline;A(b)||(b=b?[b]:[]);r(b,function(a){a&&rH(a)})}function rH(b){var a=b.type,c={number:"value",time:"time"};c[a]&&(b.axisType=c[a],delete b.type);xx(b);b.hasOwnProperty("controlPosition")&&(a=b.controlStyle||(b.controlStyle={}),a.hasOwnProperty("position")||(a.position=b.controlPosition),"none"!==a.position||a.hasOwnProperty("show")||(a.show=!1,delete a.position),delete b.controlPosition);r(b.data||[],function(c){N(c)&&!A(c)&&(!c.hasOwnProperty("value")&&c.hasOwnProperty("name")&&(c.value=c.name),xx(c))})}function xx(b){var a=b.itemStyle||(b.itemStyle={}),a=a.emphasis||(a.emphasis={});b=b.label||b.label||{};var c=b.normal||(b.normal={}),d={normal:1,emphasis:1};r(b,function(a,b){d[b]||c.hasOwnProperty(b)||(c[b]=a)});a.label&&!b.hasOwnProperty("emphasis")&&(b.emphasis=a.label,delete a.label)}function xj(b){Id(b,"label",["show"])}function yj(b,a,c,d,e,f){var g=[],h=Gc(a,d)?a.getCalculationInfo("stackResultDimension"):d;b=jo(a,h,b);b=a.indicesOfNearest(h,b)[0];g[e]=a.get(c,b);g[f]=a.get(h,b);c=a.get(d,b);a=sq(a.get(d,b));a=Math.min(a,20);0<=a&&(g[f]=+g[f].toFixed(a));return[g,c]}function ch(b,a){var c=b.getData(),d=b.coordinateSystem,e;if(e=a)e=a,e=!(!isNaN(parseFloat(e.x))&&!isNaN(parseFloat(e.y)));if(e&&!A(a.coord)&&d)if(e=d.dimensions,d=yx(a,c,d,b),a=J(a),a.type&&ko[a.type]&&d.baseAxis&&d.valueAxis){var f=ba(e,d.baseAxis.dim);e=ba(e,d.valueAxis.dim);c=ko[a.type](c,d.baseDataDim,d.valueDataDim,f,e);a.coord=c[0];a.value=c[1]}else{d=[null!=a.xAxis?a.xAxis:a.radiusAxis,null!=a.yAxis?a.yAxis:a.angleAxis];for(f=0;2>f;f++)ko[d[f]]&&(d[f]=jo(c,c.mapDimension(e[f]),d[f]));a.coord=d}return a}function yx(b,a,c,d){var e={};null!=b.valueIndex||null!=b.valueDim?(e.valueDataDim=null!=b.valueIndex?a.getDimension(b.valueIndex):b.valueDim,e.valueAxis=c.getAxis(sH(d,e.valueDataDim)),e.baseAxis=c.getOtherAxis(e.valueAxis),e.baseDataDim=a.mapDimension(e.baseAxis.dim)):(e.baseAxis=d.getBaseAxis(),e.valueAxis=c.getOtherAxis(e.baseAxis),e.baseDataDim=a.mapDimension(e.baseAxis.dim),e.valueDataDim=a.mapDimension(e.valueAxis.dim));return e}function sH(b,a){var c=b.getData(),d=c.dimensions;a=c.getDimension(a);for(var e=0;e<d.length;e++){var f=c.getDimensionInfo(d[e]);if(f.name===a)return f.coordDim}}function dh(b,a){var c;if(c=b&&b.containData&&a.coord)c=!(!isNaN(parseFloat(a.x))||!isNaN(parseFloat(a.y)));return c?b.containData(a.coord):!0}function zx(b,a,c,d){return 2>d?b.coord&&b.coord[d]:b.value}function jo(b,a,c){if("average"===c){var d=0,e=0;b.each(a,function(c,a){isNaN(c)||(d+=c,e++)});return d/e}return"median"===c?b.getMedian(a):b.getDataExtent(a)["max"===c?1:0]}function Ax(b,a,c){var d=a.coordinateSystem;b.each(function(e){var f=b.getItemModel(e),g,h=H(f.get("x"),c.getWidth()),f=H(f.get("y"),c.getHeight());if(!isNaN(h)&&!isNaN(f))g=[h,f];else if(a.getMarkerPosition)g=a.getMarkerPosition(b.getValues(b.dimensions,e));else if(d){g=b.get(d.dimensions[0],e);var k=b.get(d.dimensions[1],e);g=d.dataToPoint([g,k])}isNaN(h)||(g[0]=h);isNaN(f)||(g[1]=f);b.setItemLayout(e,g)})}function tH(b,a,c){var d;d=b?C(b&&b.dimensions,function(c){var b=a.getData().getDimensionInfo(a.getData().mapDimension(c))||{};return K({name:c},b)}):[{name:"value",type:"float"}];d=new Wa(d,c);c=C(c.get("data"),P(ch,a));b&&(c=ta(c,P(dh,b)));d.initData(c,null,b?zx:function(c){return c.value});return d}function zj(b){return!isNaN(b)&&!isFinite(b)}function Bx(b,a,c,d){var e=1-b,f=d.dimensions[b];return zj(a[e])&&zj(c[e])&&a[b]===c[b]&&d.getAxis(f).containData(a[b])}function uH(b,a){if("cartesian2d"===b.type){var c=a[0].coord,d=a[1].coord;if(c&&d&&(Bx(1,c,d,b)||Bx(0,c,d,b)))return!0}return dh(b,a[0])&&dh(b,a[1])}function lo(b,a,c,d,e){var f=d.coordinateSystem,g=b.getItemModel(a),h=H(g.get("x"),e.getWidth());e=H(g.get("y"),e.getHeight());if(isNaN(h)||isNaN(e)){d.getMarkerPosition?g=d.getMarkerPosition(b.getValues(b.dimensions,a)):(d=f.dimensions,g=b.get(d[0],a),d=b.get(d[1],a),g=f.dataToPoint([g,d]));if("cartesian2d"===f.type){var k=f.getAxis("x"),l=f.getAxis("y");d=f.dimensions;zj(b.get(d[0],a))?g[0]=k.toGlobalCoord(k.getExtent()[c?0:1]):zj(b.get(d[1],a))&&(g[1]=l.toGlobalCoord(l.getExtent()[c?0:1]))}isNaN(h)||(g[0]=h);isNaN(e)||(g[1]=e)}else g=[h,e];b.setItemLayout(a,g)}function vH(b,a,c){var d;d=b?C(b&&b.dimensions,function(c){var b=a.getData().getDimensionInfo(a.getData().mapDimension(c))||{};return K({name:c},b)}):[{name:"value",type:"float"}];var e=new Wa(d,c);d=new Wa(d,c);var f=new Wa([],c);c=C(c.get("data"),P(wH,a,b,c));b&&(c=ta(c,P(uH,b)));b=b?zx:function(c){return c.value};e.initData(C(c,function(c){return c[0]}),null,b);d.initData(C(c,function(c){return c[1]}),null,b);f.initData(C(c,function(c){return c[2]}));f.hasItemOption=!0;return{from:e,to:d,line:f}}function vd(b){return!isNaN(b)&&!isFinite(b)}function xH(b,a){var c=a.coord[0],d=a.coord[1];if("cartesian2d"===b.type){var e;if(e=c&&d)(e=vd(c[0])&&vd(d[0]))||(e=vd(c[1])&&vd(d[1]));if(e)return!0}return dh(b,{coord:c,x:a.x0,y:a.y0})||dh(b,{coord:d,x:a.x1,y:a.y1})}function Cx(b,a,c,d,e){var f=d.coordinateSystem,g=b.getItemModel(a),h=H(g.get(c[0]),e.getWidth());e=H(g.get(c[1]),e.getHeight());if(isNaN(h)||isNaN(e)){if(d.getMarkerPosition)d=d.getMarkerPosition(b.getValues(c,a));else{var g=b.get(c[0],a),k=b.get(c[1],a);d=[g,k];f.clampData&&f.clampData(d,d);d=f.dataToPoint(d,!0)}if("cartesian2d"===f.type){var l=f.getAxis("x"),f=f.getAxis("y"),g=b.get(c[0],a),k=b.get(c[1],a);vd(g)?d[0]=l.toGlobalCoord(l.getExtent()["x0"===c[0]?0:1]):vd(k)&&(d[1]=f.toGlobalCoord(f.getExtent()["y0"===c[1]?0:1]))}isNaN(h)||(d[0]=h);isNaN(e)||(d[1]=e)}else d=[h,e];return d}function yH(b,a,c){var d,e;e=["x0","y0","x1","y1"];b?(d=C(b&&b.dimensions,function(c){var b=a.getData(),b=b.getDimensionInfo(b.mapDimension(c))||{};return K({name:c},b)}),e=new Wa(C(e,function(c,a){return{name:c,type:d[a%2].type}}),c)):(d=[{name:"value",type:"float"}],e=new Wa(d,c));c=C(c.get("data"),P(zH,a,b,c));b&&(c=ta(c,P(xH,b)));e.initData(c,null,b?function(c,a,b,d){return c.coord[Math.floor(d/2)][d%2]}:function(c){return c.value});e.hasItemOption=!0;return e}function Dx(b,a,c,d,e,f,g){"line"!==a&&0>a.indexOf("empty")?(a=c.getItemStyle(),b.style.stroke=d,b.style.decal=f,g||(a.stroke=e)):a=c.getItemStyle(["borderWidth","borderColor"]);b.setStyle(a);return b}function Ex(b,a,c,d){mo(b,a,c,d);c.dispatchAction({type:"legendToggleSelect",name:null!=b?b:a});no(b,a,c,d)}function Fx(b){b=b.getZr().storage.getDisplayList();for(var a,c=0,d=b.length;c<d&&!(a=b[c].states.emphasis);)c++;return a&&a.hoverLayer}function no(b,a,c,d){Fx(c)||c.dispatchAction({type:"highlight",seriesName:b,name:a,excludeSeriesId:d})}function mo(b,a,c,d){Fx(c)||c.dispatchAction({type:"downplay",seriesName:b,name:a,excludeSeriesId:d})}function AH(b){var a=b.findComponents({mainType:"legend"});a&&a.length&&b.filterSeries(function(c){for(var b=0;b<a.length;b++)if(!a[b].isSelected(c.name))return!1;return!0})}function eh(b,a,c){var d={},e="toggleSelected"===b,f;c.eachComponent("legend",function(c){if(e&&null!=f)c[f?"select":"unSelect"](a.name);else if("allSelect"===b||"inverseSelect"===b)c[b]();else c[b](a.name),f=c.isSelected(a.name);var g=c.getData();r(g,function(a){a=a.get("name");if("\n"!==a&&""!==a){var b=c.isSelected(a);d.hasOwnProperty(a)?d[a]=d[a]&&b:d[a]=b}})});return"allSelect"===b||"inverseSelect"===b?{selected:d}:{name:a.name,selected:d}}function BH(b){b.registerAction("legendToggleSelect","legendselectchanged",P(eh,"toggleSelected"));b.registerAction("legendAllSelect","legendselectall",P(eh,"allSelect"));b.registerAction("legendInverseSelect","legendinverseselect",P(eh,"inverseSelect"));b.registerAction("legendSelect","legendselected",P(eh,"select"));b.registerAction("legendUnSelect","legendunselected",P(eh,"unSelect"))}function Gx(b){b.registerComponentModel(oo);b.registerComponentView(Hx);b.registerProcessor(b.PRIORITY.PROCESSOR.SERIES_FILTER,AH);b.registerSubTypeDefaulter("legend",function(){return"plain"});BH(b)}function Ix(b,a,c){b=b.getOrient();var d=[1,1];d[b.index]=0;gd(a,c,{type:"box",ignoreSize:!!d})}function CH(b){b.registerAction("legendScroll","legendscroll",function(a,c){var b=a.scrollDataIndex;null!=b&&c.eachComponent({mainType:"legend",subType:"scroll",query:a},function(c){c.setScrollDataIndex(b)})})}function DH(b){ca(Gx);b.registerComponentModel(EH);b.registerComponentView(FH);CH(b)}function GH(b,a,c){po(b).coordSysRecordMap.each(function(b){if(b=b.dataZoomInfoMap.get(a.uid))b.getRange=c})}function Jx(b,a){if(a){b.removeKey(a.model.uid);var c=a.controller;c&&c.dispose()}}function HH(b,a){var c={model:a,containsPoint:P(IH,a),dispatchAction:P(JH,b),dataZoomInfoMap:null,controller:null},d=c.controller=new fh(b.getZr());r(["pan","zoom","scrollMove"],function(a){d.on(a,function(b){var d=[];c.dataZoomInfoMap.each(function(e){if(b.isAvailableBehavior(e.model.option)){var f=(e.getRange||{})[a],f=f&&f(e.dzReferCoordSysInfo,c.model.mainType,c.controller,b);!e.model.get("disabled",!0)&&f&&d.push({dataZoomId:e.model.id,start:f[0],end:f[1]})}});d.length&&c.dispatchAction(d)})});return c}function JH(b,a){b.dispatchAction({type:"dataZoom",animation:{easing:"cubicOut",duration:100},batch:a})}function IH(b,a,c,d){return b.coordinateSystem.containPoint([c,d])}function KH(b){var a,c={type_true:2,type_move:1,type_false:0,type_undefined:-1},d=!0;b.each(function(b){b=b.model;var e=b.get("disabled",!0)?!1:b.get("zoomLock",!0)?"move":!0;c["type_"+e]>c["type_"+a]&&(a=e);d=d&&b.get("preventDefaultMouseMove",!0)});return{controlType:a,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!d}}}function LH(b){b.registerProcessor(b.PRIORITY.PROCESSOR.FILTER,function(a,c){var b=po(c),e=b.coordSysRecordMap||(b.coordSysRecordMap=R());e.each(function(c){c.dataZoomInfoMap=null});a.eachComponent({mainType:"dataZoom",subType:"inside"},function(a){var b=Xw(a);r(b.infoList,function(b){var d=b.model.uid,d=e.get(d)||e.set(d,HH(c,b.model));(d.dataZoomInfoMap||(d.dataZoomInfoMap=R())).set(a.uid,{dzReferCoordSysInfo:b,model:a,getRange:null})})});e.each(function(c){var a=c.controller,b,d=c.dataZoomInfoMap;if(d){var f=d.keys()[0];null!=f&&(b=d.get(f))}b?(d=KH(d),a.enable(d.controlType,d.opt),a.setPointerChecker(c.containsPoint),tg(c,"dispatchAction",b.model.get("throttle",!0),"fixRate")):Jx(e,c)})})}function Kx(b){return function(a,c,d,e){var f=this.range,g=f.slice(),h=a.axisModels[0];if(h&&(a=b(g,h,a,c,d,e),fe(a,g,[0,100],"all"),this.range=g,f[0]!==g[0]||f[1]!==g[1]))return g}}function Lx(b){$n(b);b.registerComponentModel(MH);b.registerComponentView(NH);LH(b)}function Mx(b){return"vertical"===b?"ns-resize":"ew-resize"}function Nx(b){b.registerComponentModel(OH);b.registerComponentView(PH);$n(b)}function Ox(b,a,c){if(c[0]===c[1])return c.slice();b=(c[1]-c[0])/200;a=c[0];for(var d=[],e=0;200>=e&&a<c[1];e++)d.push(a),a+=b;d.push(c[1]);return d}function Px(b,a,c){b=b.option;var d=b.align;if(null!=d&&"auto"!==d)return d;a={width:a.getWidth(),height:a.getHeight()};for(var e="horizontal"===b.orient?1:0,d=Qx[e],f=[0,null,10],g={},h=0;3>h;h++)g[Qx[1-e][h]]=f[h],g[d[h]]=2===h?c[0]:b[d[h]];c=[["x","width",3],["y","height",0]][e];b=Aa(g,a,b.padding);return d[(b.margin[c[2]]||0)+b[c[0]]+.5*b[c[1]]<.5*a[c[1]]?0:1]}function Aj(b,a){r(b||[],function(c){null!=c.dataIndex&&(c.dataIndexInside=c.dataIndex,c.dataIndex=null);c.highlightKey="visualMap"+(a?a.componentIndex:"")});return b}function Rx(b,a,c,d){return new bb({shape:{points:b},draggable:!!c,cursor:a,drift:c,onmousemove:function(c){Bc(c.event)},ondragend:d})}function Sx(b){var a=b.get("hoverLinkOnHandle");return!(null==a?!b.get("realtime"):!a)}function Tx(b){return"vertical"===b?"ns-resize":"ew-resize"}function QH(b,a,c,d){function e(c){return g[c]}function f(c,a){g[c]=a}a=a.targetVisuals[d];d=La.prepareVisualTypes(a);var g={color:ug(b.getData(),"color")};b=0;for(var h=d.length;b<h;b++){var k=d[b];(k=a["opacity"===k?"__alphaForOpacity":k])&&k.applyVisual(c,e,f)}return g.color}function RH(b){b=b&&b.visualMap;A(b)||(b=b?[b]:[]);Ux(b,function(a){a&&(Cf(a,"splitList")&&!Cf(a,"pieces")&&(a.pieces=a.splitList,delete a.splitList),(a=a.pieces)&&A(a)&&Ux(a,function(c){N(c)&&(Cf(c,"start")&&!Cf(c,"min")&&(c.min=c.start),Cf(c,"end")&&!Cf(c,"max")&&(c.max=c.end))}))})}function Cf(b,a){return b&&b.hasOwnProperty&&b.hasOwnProperty(a)}function Vx(b){Wx||(Wx=!0,b.registerSubTypeDefaulter("visualMap",function(a){return a.categories||(a.pieces?0<a.pieces.length:0<a.splitNumber)&&!a.calculable?"piecewise":"continuous"}),b.registerAction(SH,TH),r(UH,function(a){b.registerVisual(b.PRIORITY.VISUAL.COMPONENT,a)}),b.registerPreprocessor(RH))}function Xx(b){b.registerComponentModel(VH);b.registerComponentView(WH);Vx(b)}function Yx(b,a){var c=b.inverse;("vertical"===b.orient?!c:c)&&a.reverse()}function Zx(b){b.registerComponentModel(XH);b.registerComponentView(YH);Vx(b)}function ZH(b,a){function c(c,a){if("string"!==typeof c)return c;var b=c;r(a,function(c,a){b=b.replace(new RegExp("\\{\\s*"+a+"\\s*\\}","g"),c)});return b}function d(){var c=b.get("title");c&&c.length&&(c=c[0]);return c&&c.text}var e=b.getModel("aria");if(e.get("enabled")){var f=J($H);U(f.label,b.getLocaleModel().get("aria"),!1);U(e.option,f,!1);(function(){if(e.getModel("decal").get("show")){var c=R();b.eachSeries(function(a){if(a.useColorPaletteOnData){var b=c.get(a.type);b||(b={},c.set(a.type,b));$x(a).scope=b}});b.eachRawSeries(function(c){function a(c,a){var b=c?F(F({},a),c):a;b.dirty=!0;return b}if(!b.isSeriesFiltered(c))if("function"===typeof c.enableAriaDecal)c.enableAriaDecal();else{var d=c.getData();if(c.useColorPaletteOnData){var e=c.getRawData(),f={},g=$x(c).scope;d.each(function(c){var a=d.getRawIndex(c);f[a]=c});var h=e.count();e.each(function(b){var k=f[b];b=e.getName(b)||b+"";b=Kl(c.ecModel,b,g,h);var l=d.getItemVisual(k,"decal");d.setItemVisual(k,"decal",a(l,b))})}else{var t=Kl(c.ecModel,c.name,aI,b.getSeriesCount()),u=d.getVisual("decal");d.setVisual("decal",a(u,t))}}})}})();(function(){var f=b.getLocaleModel().get("aria"),h=e.getModel("label");h.option=K(h.option,f);if(h.get("enabled"))if(f=a.getZr().dom,h.get("description"))f.setAttribute("aria-label",h.get("description"));else{var k=b.getSeriesCount(),l=h.get(["data","maxCount"])||10,m=h.get(["series","maxCount"])||10,n=Math.min(k,m);if(!(1>k)){if(m=d())var p=h.get(["general","withTitle"]),m=c(p,{title:m});else m=h.get(["general","withoutTitle"]);var q=[],p=1<k?h.get(["series","multiple","prefix"]):h.get(["series","single","prefix"]),m=m+c(p,{seriesCount:k});b.eachSeries(function(a,d){if(d<n){var e;e=a.get("name")?"withName":"withoutName";e=1<k?h.get(["series","multiple",e]):h.get(["series","single",e]);var f=a.seriesIndex,g=a.get("name"),m;m=a.subType;m=b.getLocaleModel().get(["series","typeNames"])[m]||"\u81ea\u5b9a\u4e49\u56fe";e=c(e,{seriesId:f,seriesName:g,seriesType:m});g=a.getData();g.count()>l?(f=h.get(["data","partialData"]),e+=c(f,{displayCnt:l})):e+=h.get(["data","allData"]);f=[];for(m=0;m<g.count();m++)if(m<l){var p=g.getName(m),t=Sd(g,m),u=h.get(["data",p?"withName":"withoutName"]);f.push(c(u,{name:p,value:t}))}g=h.get(["data","separator","middle"]);m=h.get(["data","separator","end"]);e+=f.join(g)+m;q.push(e)}});var t=h.getModel(["series","multiple","separator"]),p=t.get("middle"),t=t.get("end"),m=m+(q.join(p)+t);f.setAttribute("aria-label",m)}}})()}}function bI(b){if(b&&b.aria){var a=b.aria;null!=a.show&&(a.enabled=a.show);a.label=a.label||{};r(["description","general","series","data"],function(c){null!=a[c]&&(a.label[c]=a[c])})}}function qo(b,a){if(!0===b||!1===b){var c=new cI;c.value=b;return c}ay(b)||(c=gb("Illegal config. Expect a plain object but actually",b),ja(c));if(b.and)return by("and",b,a);if(b.or)return by("or",b,a);if(b.not){var c=b.not,d;d=gb('"not" condition should only be `not: {}`.',"Illegal condition:",b);ay(c)||ja(d);var e=new dI;e.child=qo(c,a);e.child||ja(d);return e}var f,c=a.prepareGetValue(b);d=[];for(var e=ia(b),g=b.parser,g=g?cy.get(g):null,h=0;h<e.length;h++)if(f=e[h],"parser"!==f&&!a.valueGetterAttrMap.get(f)){var k=dy.hasOwnProperty(f)?dy[f]:f,l=b[f],l=g?g(l):l,m=k,n=l,k=("eq"===m||"ne"===m?new eI("eq"===m,n):ey.hasOwnProperty(m)?new fI(m,n):null)||"reg"===k&&new gI(l);k||(f=gb('Illegal relational operation: "'+f+'" in condition:',b),ja(f));d.push(k)}d.length||(f=gb("Relational condition must have at least one operator.","Illegal condition:",b),ja(f));e=new hI;e.valueGetterParam=c;e.valueParser=g;e.getValue=a.getValue;e.subCondList=d;return e}function by(b,a,c){var d=a[b],e="",e=gb('"and"/"or" condition should only be `'+b+": [...]` and must not be empty array.","Illegal condition:",a);A(d)||ja(e);d.length||ja(e);b="and"===b?new iI:new jI;b.children=C(d,function(a){return qo(a,c)});b.children.length||ja(e);return b}function ay(b){return N(b)&&!Xa(b)}function kI(b,a){return new lI(b,a)}var qk=function(b,a){qk=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,a){c.__proto__=a}||function(c,a){for(var b in a)Object.prototype.hasOwnProperty.call(a,b)&&(c[b]=a[b])};return qk(b,a)},ro=function(){ro=Object.assign||function(b){for(var a,c=1,d=arguments.length;c<d;c++){a=arguments[c];for(var e in a)Object.prototype.hasOwnProperty.call(a,e)&&(b[e]=a[e])}return b};return ro.apply(this,arguments)},mI=function(){return function(){this.weChat=this.newEdge=this.edge=this.ie=this.firefox=!1}}(),X=new (function(){return function(){this.browser=new mI;this.domSupported=this.pointerEventsSupported=this.touchEventsSupported=this.svgSupported=this.canvasSupported=this.worker=this.wxa=this.node=!1}}());"object"===typeof wx&&"function"===typeof wx.getSystemInfoSync?(X.wxa=!0,X.canvasSupported=!0,X.touchEventsSupported=!0):"undefined"===typeof document&&"undefined"!==typeof self?(X.worker=!0,X.canvasSupported=!0):"undefined"===typeof navigator?(X.node=!0,X.canvasSupported=!0,X.svgSupported=!0):cA(navigator.userAgent,X);var Rp={"[object Function]":!0,"[object RegExp]":!0,"[object Date]":!0,"[object Error]":!0,"[object CanvasGradient]":!0,"[object CanvasPattern]":!0,"[object Image]":!0,"[object Canvas]":!0},Qp={"[object Int8Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Int16Array]":!0,"[object Uint16Array]":!0,"[object Int32Array]":!0,"[object Uint32Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0},Fe=Object.prototype.toString,Bj=Array.prototype,dA=Bj.forEach,fA=Bj.filter,sk=Bj.slice,eA=Bj.map,fy=function(){}.constructor,Cj=fy?fy.prototype:null,Dj={},Vk=2311,Wd=function(){return Dj.createCanvas()};Dj.createCanvas=function(){return document.createElement("canvas")};var I=Cj&&fa(Cj.bind)?Cj.call.bind(Cj.bind):gA,Cd="__ec_primitive__",Vp=function(){function b(a){function c(c,a){d?e.set(c,a):e.set(a,c)}this.data={};var d=A(a);this.data={};var e=this;a instanceof b?a.each(c):a&&r(a,c)}b.prototype.get=function(a){return this.data.hasOwnProperty(a)?this.data[a]:null};b.prototype.set=function(a,c){return this.data[a]=c};b.prototype.each=function(a,c){for(var b in this.data)this.data.hasOwnProperty(b)&&a.call(c,this.data[b],b)};b.prototype.keys=function(){return ia(this.data)};b.prototype.removeKey=function(a){delete this.data[a]};return b}(),nI=Object.freeze({__proto__:null,$override:function(b,a){Dj[b]=a},guid:function(){return Vk++},logError:yb,clone:J,merge:U,mergeAll:Ph,extend:F,defaults:K,createCanvas:Wd,indexOf:ba,inherits:Qh,mixin:wa,isArrayLike:Xa,each:r,map:C,reduce:Ed,filter:ta,find:Sp,keys:ia,bind:I,curry:P,isArray:A,isFunction:fa,isString:da,isStringSafe:Of,isNumber:Rh,isObject:N,isBuiltInObject:rk,isTypedArray:db,isDom:Dd,isGradientObject:Tp,isPatternObject:Up,isRegExp:tk,eqNaN:Nc,retrieve:Ba,retrieve2:ka,retrieve3:zb,slice:Nf,normalizeCssArray:Sh,assert:O,trim:Va,setAsPrimitive:Ge,isPrimitive:function(b){return b[Cd]},HashMap:Vp,createHashMap:R,concatArray:uk,createObject:He,hasOwn:function(b,a){return b.hasOwnProperty(a)},noop:hc}),Fc=Qf,Xc=Xp,oI=Object.freeze({__proto__:null,create:Oc,copy:Na,clone:ic,set:Wp,add:vk,scaleAndAdd:Th,sub:Pc,len:Pf,length:Pf,lenSquare:wk,lengthSquare:wk,mul:function(b,a,c){b[0]=a[0]*c[0];b[1]=a[1]*c[1];return b},div:function(b,a,c){b[0]=a[0]/c[0];b[1]=a[1]/c[1];return b},dot:function(b,a){return b[0]*a[0]+b[1]*a[1]},scale:Uh,normalize:Ie,distance:Qf,dist:Fc,distanceSquare:Xp,distSquare:Xc,negate:function(b,a){b[0]=-a[0];b[1]=-a[1];return b},lerp:Rf,applyTransform:Qa,min:Qc,max:Rc}),Df=function(){return function(b,a){this.target=b;this.topTarget=a&&a.topTarget}}(),pI=function(){function b(a){this.handler=a;a.on("mousedown",this._dragStart,this);a.on("mousemove",this._drag,this);a.on("mouseup",this._dragEnd,this)}b.prototype._dragStart=function(a){for(var c=a.target;c&&!c.draggable;)c=c.parent;c&&(this._draggingTarget=c,c.dragging=!0,this._x=a.offsetX,this._y=a.offsetY,this.handler.dispatchToElement(new Df(c,a),"dragstart",a.event))};b.prototype._drag=function(a){var c=this._draggingTarget;if(c){var b=a.offsetX,e=a.offsetY,f=b-this._x,g=e-this._y;this._x=b;this._y=e;c.drift(f,g,a);this.handler.dispatchToElement(new Df(c,a),"drag",a.event);b=this.handler.findHover(b,e,c).target;e=this._dropTarget;this._dropTarget=b;c!==b&&(e&&b!==e&&this.handler.dispatchToElement(new Df(e,a),"dragleave",a.event),b&&b!==e&&this.handler.dispatchToElement(new Df(b,a),"dragenter",a.event))}};b.prototype._dragEnd=function(a){var c=this._draggingTarget;c&&(c.dragging=!1);this.handler.dispatchToElement(new Df(c,a),"dragend",a.event);this._dropTarget&&this.handler.dispatchToElement(new Df(this._dropTarget,a),"drop",a.event);this._dropTarget=this._draggingTarget=null};return b}(),$b=function(){function b(a){a&&(this._$eventProcessor=a)}b.prototype.on=function(a,c,b,e){this._$handlers||(this._$handlers={});var d=this._$handlers;"function"===typeof c&&(e=b,b=c,c=null);if(!b||!a)return this;var g=this._$eventProcessor;null!=c&&g&&g.normalizeQuery&&(c=g.normalizeQuery(c));d[a]||(d[a]=[]);for(g=0;g<d[a].length;g++)if(d[a][g].h===b)return this;c={h:b,query:c,ctx:e||this,callAtLast:b.zrEventfulCallAtLast};b=d[a].length-1;(e=d[a][b])&&e.callAtLast?d[a].splice(b,0,c):d[a].push(c);return this};b.prototype.isSilent=function(a){var c=this._$handlers;return!c||!c[a]||!c[a].length};b.prototype.off=function(a,c){var b=this._$handlers;if(!b)return this;if(!a)return this._$handlers={},this;if(c){if(b[a]){for(var e=[],f=0,g=b[a].length;f<g;f++)b[a][f].h!==c&&e.push(b[a][f]);b[a]=e}b[a]&&0===b[a].length&&delete b[a]}else delete b[a];return this};b.prototype.trigger=function(a){for(var c=[],b=1;b<arguments.length;b++)c[b-1]=arguments[b];if(!this._$handlers)return this;var b=this._$handlers[a],e=this._$eventProcessor;if(b)for(var f=c.length,g=b.length,h=0;h<g;h++){var k=b[h];if(!e||!e.filter||null==k.query||e.filter(a,k.query))switch(f){case 0:k.h.call(k.ctx);break;case 1:k.h.call(k.ctx,c[0]);break;case 2:k.h.call(k.ctx,c[0],c[1]);break;default:k.h.apply(k.ctx,c)}}e&&e.afterTrigger&&e.afterTrigger(a);return this};b.prototype.triggerWithContext=function(a){if(!this._$handlers)return this;var c=this._$handlers[a],b=this._$eventProcessor;if(c)for(var e=arguments,f=e.length,g=e[f-1],h=c.length,k=0;k<h;k++){var l=c[k];if(!b||!b.filter||null==l.query||b.filter(a,l.query))switch(f){case 0:l.h.call(g);break;case 1:l.h.call(g,e[0]);break;case 2:l.h.call(g,e[0],e[1]);break;default:l.h.apply(g,e.slice(1,f-1))}}b&&b.afterTrigger&&b.afterTrigger(a);return this};return b}(),hA=Math.log(2),go=[],Ck="undefined"!==typeof window&&!!window.addEventListener,iA=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ak=[],Bc=Ck?function(b){b.preventDefault();b.stopPropagation();b.cancelBubble=!0}:function(b){b.returnValue=!1;b.cancelBubble=!0},qI=function(){function b(){this._track=[]}b.prototype.recognize=function(a,c,b){this._doTrack(a,c,b);return this._recognize(a)};b.prototype.clear=function(){this._track.length=0;return this};b.prototype._doTrack=function(a,c,b){var d=a.touches;if(d){a={points:[],touches:[],target:c,event:a};c=0;for(var f=d.length;c<f;c++){var g=d[c],h=zk(b,g,{});a.points.push([h.zrX,h.zrY]);a.touches.push(g)}this._track.push(a)}};b.prototype._recognize=function(a){for(var c in so)if(so.hasOwnProperty(c)){var b=so[c](this._track,a);if(b)return b}};return b}(),so={pinch:function(b,a){var c=b.length;if(c){var d=(b[c-1]||{}).points;if((c=(b[c-2]||{}).points||d)&&1<c.length&&d&&1<d.length)return c=$p(d)/$p(c),!isFinite(c)&&(c=1),a.pinchScale=c,d=[(d[0][0]+d[1][0])/2,(d[0][1]+d[1][1])/2],a.pinchX=d[0],a.pinchY=d[1],{type:"pinch",target:b[0].target,event:a}}}},rI=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.handler=null;return c}x(a,b);a.prototype.dispose=function(){};a.prototype.setCursor=function(){};return a}($b),gh=function(){return function(b,a){this.x=b;this.y=a}}(),sI="click dblclick mousewheel mouseout mouseup mousedown mousemove contextmenu".split(" "),gy=function(b){function a(c,a,e,f){var d=b.call(this)||this;d._hovered=new gh(0,0);d.storage=c;d.painter=a;d.painterRoot=f;e=e||new rI;d.proxy=null;d.setHandlerProxy(e);d._draggingMgr=new pI(d);return d}x(a,b);a.prototype.setHandlerProxy=function(c){this.proxy&&this.proxy.dispose();c&&(r(sI,function(a){c.on&&c.on(a,this[a],this)},this),c.handler=this);this.proxy=c};a.prototype.mousemove=function(c){var a=c.zrX,b=c.zrY,f=aq(this,a,b),g=this._hovered,h=g.target;h&&!h.__zr&&(g=this.findHover(g.x,g.y),h=g.target);a=this._hovered=f?new gh(a,b):this.findHover(a,b);b=a.target;f=this.proxy;f.setCursor&&f.setCursor(b?b.cursor:"default");h&&b!==h&&this.dispatchToElement(g,"mouseout",c);this.dispatchToElement(a,"mousemove",c);b&&b!==h&&this.dispatchToElement(a,"mouseover",c)};a.prototype.mouseout=function(c){var a=c.zrEventControl;"only_globalout"!==a&&this.dispatchToElement(this._hovered,"mouseout",c);"no_globalout"!==a&&this.trigger("globalout",{type:"globalout",event:c})};a.prototype.resize=function(){this._hovered=new gh(0,0)};a.prototype.dispatch=function(c,a){var b=this[c];b&&b.call(this,a)};a.prototype.dispose=function(){this.proxy.dispose();this.painter=this.proxy=this.storage=null};a.prototype.setCursorStyle=function(c){var a=this.proxy;a.setCursor&&a.setCursor(c)};a.prototype.dispatchToElement=function(c,a,b){c=c||{};var d=c.target;if(!d||!d.silent){for(var e="on"+a,h={type:a,event:b,target:c.target,topTarget:c.topTarget,cancelBubble:!1,offsetX:b.zrX,offsetY:b.zrY,gestureEvent:b.gestureEvent,pinchX:b.pinchX,pinchY:b.pinchY,pinchScale:b.pinchScale,wheelDelta:b.zrDelta,zrByTouch:b.zrByTouch,which:b.which,stop:jA};d&&(d[e]&&(h.cancelBubble=!!d[e].call(d,h)),d.trigger(a,h),d=d.__hostTarget?d.__hostTarget:d.parent,!h.cancelBubble););h.cancelBubble||(this.trigger(a,h),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer(function(c){"function"===typeof c[e]&&c[e].call(c,h);c.trigger&&c.trigger(a,h)}))}};a.prototype.findHover=function(c,a,b){for(var d=this.storage.getDisplayList(),e=new gh(c,a),h=d.length-1;0<=h;h--){var k=void 0,l;if(l=d[h]!==b&&!d[h].ignore){a:{var m=d[h],k=c;l=a;if(m[m.rectHover?"rectContain":"contain"](k,l)){for(var n=void 0,p=!1;m;){m.ignoreClip&&(p=!0);if(!p){var q=m.getClipPath();if(q&&!q.contain(k,l)){k=!1;break a}m.silent&&(n=!0)}m=(q=m.__hostTarget)?q:m.parent}k=n?"silent":!0}else k=!1}l=k}if(l&&(!e.topTarget&&(e.topTarget=d[h]),"silent"!==k)){e.target=d[h];break}}return e};a.prototype.processGesture=function(c,a){this._gestureMgr||(this._gestureMgr=new qI);var b=this._gestureMgr;"start"===a&&b.clear();var d=b.recognize(c,this.findHover(c.zrX,c.zrY,null).target,this.proxy.dom);"end"===a&&b.clear();if(d){b=d.type;c.gestureEvent=b;var g=new gh;g.target=d.target;this.dispatchToElement(g,b,d.event)}};return a}($b);r("click mousedown mouseup mousewheel dblclick contextmenu".split(" "),function(b){gy.prototype[b]=function(a){var c=a.zrX,d=a.zrY,e=aq(this,c,d),f,g;"mouseup"===b&&e||(f=this.findHover(c,d),g=f.target);if("mousedown"===b)this._downEl=g,this._downPoint=[a.zrX,a.zrY],this._upEl=g;else if("mouseup"===b)this._upEl=g;else if("click"===b){if(this._downEl!==this._upEl||!this._downPoint||4<Fc(this._downPoint,[a.zrX,a.zrY]))return;this._downPoint=null}this.dispatchToElement(f,b,a)}});var tI=Object.freeze({__proto__:null,create:nb,identity:Sc,copy:Je,mul:Fd,translate:Rb,rotate:Tc,scale:Vh,invert:Ke,clone:bq}),ne=[],wd=[],to=nb(),uo=Math.abs,Dc=function(){function b(){}b.prototype.setPosition=function(a){this.x=a[0];this.y=a[1]};b.prototype.setScale=function(a){this.scaleX=a[0];this.scaleY=a[1]};b.prototype.setOrigin=function(a){this.originX=a[0];this.originY=a[1]};b.prototype.needLocalTransform=function(){return Gd(this.rotation)||Gd(this.x)||Gd(this.y)||Gd(this.scaleX-1)||Gd(this.scaleY-1)};b.prototype.updateTransform=function(){var a=this.parent,c=a&&a.transform,b=this.needLocalTransform(),e=this.transform;b||c?(e=e||nb(),b?this.getLocalTransform(e):Sc(e),c&&(b?Fd(e,a.transform,e):Je(e,a.transform)),this.transform=e,this._resolveGlobalScaleRatio(e)):e&&Sc(e)};b.prototype._resolveGlobalScaleRatio=function(a){var c=this.globalScaleRatio;if(null!=c&&1!==c){this.getGlobalScale(ne);var b=0>ne[0]?-1:1,e=0>ne[1]?-1:1,b=((ne[0]-b)*c+b)/ne[0]||0,c=((ne[1]-e)*c+e)/ne[1]||0;a[0]*=b;a[1]*=b;a[2]*=c;a[3]*=c}this.invTransform=this.invTransform||nb();Ke(this.invTransform,a)};b.prototype.getLocalTransform=function(a){return b.getLocalTransform(this,a)};b.prototype.getComputedTransform=function(){for(var a=this,c=[];a;)c.push(a),a=a.parent;for(;a=c.pop();)a.updateTransform();return this.transform};b.prototype.setLocalTransform=function(a){if(a){var c=a[0]*a[0]+a[1]*a[1],b=a[2]*a[2]+a[3]*a[3];Gd(c-1)&&(c=Math.sqrt(c));Gd(b-1)&&(b=Math.sqrt(b));0>a[0]&&(c=-c);0>a[3]&&(b=-b);this.rotation=Math.atan2(-a[1]/b,a[0]/c);0>c&&0>b&&(this.rotation+=Math.PI,c=-c,b=-b);this.x=a[4];this.y=a[5];this.scaleX=c;this.scaleY=b}};b.prototype.decomposeTransform=function(){if(this.transform){var a=this.parent,c=this.transform;a&&a.transform&&(Fd(wd,a.invTransform,c),c=wd);var a=this.originX,b=this.originY;if(a||b)to[4]=a,to[5]=b,Fd(wd,c,to),wd[4]-=a,wd[5]-=b,c=wd;this.setLocalTransform(c)}};b.prototype.getGlobalScale=function(a){var c=this.transform;a=a||[];if(!c)return a[0]=1,a[1]=1,a;a[0]=Math.sqrt(c[0]*c[0]+c[1]*c[1]);a[1]=Math.sqrt(c[2]*c[2]+c[3]*c[3]);0>c[0]&&(a[0]=-a[0]);0>c[3]&&(a[1]=-a[1]);return a};b.prototype.transformCoordToLocal=function(a,c){var b=[a,c],e=this.invTransform;e&&Qa(b,b,e);return b};b.prototype.transformCoordToGlobal=function(a,c){var b=[a,c],e=this.transform;e&&Qa(b,b,e);return b};b.prototype.getLineScale=function(){var a=this.transform;return a&&1E-10<uo(a[0]-1)&&1E-10<uo(a[3]-1)?Math.sqrt(uo(a[0]*a[3]-a[2]*a[1])):1};b.getLocalTransform=function(a,c){c=c||[];Sc(c);var b=a.originX||0,e=a.originY||0,f=a.scaleX,g=a.scaleY,h=a.rotation||0,k=a.x,l=a.y;c[4]-=b;c[5]-=e;c[0]*=f;c[1]*=g;c[2]*=f;c[3]*=g;c[4]*=f;c[5]*=g;h&&Tc(c,c,h);c[4]+=b;c[5]+=e;c[4]+=k;c[5]+=l;return c};b.initDefaultProps=function(){var a=b.prototype;a.x=0;a.y=0;a.scaleX=1;a.scaleY=1;a.originX=0;a.originY=0;a.rotation=0;a.globalScaleRatio=1}();return b}(),Ej={linear:function(b){return b},quadraticIn:function(b){return b*b},quadraticOut:function(b){return b*(2-b)},quadraticInOut:function(b){return 1>(b*=2)?.5*b*b:-.5*(--b*(b-2)-1)},cubicIn:function(b){return b*b*b},cubicOut:function(b){return--b*b*b+1},cubicInOut:function(b){return 1>(b*=2)?.5*b*b*b:.5*((b-=2)*b*b+2)},quarticIn:function(b){return b*b*b*b},quarticOut:function(b){return 1- --b*b*b*b},quarticInOut:function(b){return 1>(b*=2)?.5*b*b*b*b:-.5*((b-=2)*b*b*b-2)},quinticIn:function(b){return b*b*b*b*b},quinticOut:function(b){return--b*b*b*b*b+1},quinticInOut:function(b){return 1>(b*=2)?.5*b*b*b*b*b:.5*((b-=2)*b*b*b*b+2)},sinusoidalIn:function(b){return 1-Math.cos(b*Math.PI/2)},sinusoidalOut:function(b){return Math.sin(b*Math.PI/2)},sinusoidalInOut:function(b){return.5*(1-Math.cos(Math.PI*b))},exponentialIn:function(b){return 0===b?0:Math.pow(1024,b-1)},exponentialOut:function(b){return 1===b?1:1-Math.pow(2,-10*b)},exponentialInOut:function(b){return 0===b?0:1===b?1:1>(b*=2)?.5*Math.pow(1024,b-1):.5*(-Math.pow(2,-10*(b-1))+2)},circularIn:function(b){return 1-Math.sqrt(1-b*b)},circularOut:function(b){return Math.sqrt(1- --b*b)},circularInOut:function(b){return 1>(b*=2)?-.5*(Math.sqrt(1-b*b)-1):.5*(Math.sqrt(1-(b-=2)*b)+1)},elasticIn:function(b){var a,c=.1;if(0===b)return 0;if(1===b)return 1;!c||1>c?(c=1,a=.1):a=.4*Math.asin(1/c)/(2*Math.PI);return-(c*Math.pow(2,10*--b)*Math.sin(2*(b-a)*Math.PI/.4))},elasticOut:function(b){var a,c=.1;if(0===b)return 0;if(1===b)return 1;!c||1>c?(c=1,a=.1):a=.4*Math.asin(1/c)/(2*Math.PI);return c*Math.pow(2,-10*b)*Math.sin(2*(b-a)*Math.PI/.4)+1},elasticInOut:function(b){var a,c=.1;if(0===b)return 0;if(1===b)return 1;!c||1>c?(c=1,a=.1):a=.4*Math.asin(1/c)/(2*Math.PI);return 1>(b*=2)?-.5*c*Math.pow(2,10*--b)*Math.sin(2*(b-a)*Math.PI/.4):c*Math.pow(2,-10*--b)*Math.sin(2*(b-a)*Math.PI/.4)*.5+1},backIn:function(b){return b*b*(2.70158*b-1.70158)},backOut:function(b){return--b*b*(2.70158*b+1.70158)+1},backInOut:function(b){return 1>(b*=2)?.5*b*b*(3.5949095*b-2.5949095):.5*((b-=2)*b*(3.5949095*b+2.5949095)+2)},bounceIn:function(b){return 1-Ej.bounceOut(1-b)},bounceOut:function(b){return b<1/2.75?7.5625*b*b:b<2/2.75?7.5625*(b-=1.5/2.75)*b+.75:b<2.5/2.75?7.5625*(b-=2.25/2.75)*b+.9375:7.5625*(b-=2.625/2.75)*b+.984375},bounceInOut:function(b){return.5>b?.5*Ej.bounceIn(2*b):.5*Ej.bounceOut(2*b-1)+.5}},uI=function(){function b(a){this._initialized=!1;this._pausedTime=this._startTime=0;this._paused=!1;this._life=a.life||1E3;this._delay=a.delay||0;this.loop=null==a.loop?!1:a.loop;this.gap=a.gap||0;this.easing=a.easing||"linear";this.onframe=a.onframe;this.ondestroy=a.ondestroy;this.onrestart=a.onrestart}b.prototype.step=function(a,c){this._initialized||(this._startTime=a+this._delay,this._initialized=!0);if(this._paused)this._pausedTime+=c;else{var b=(a-this._startTime-this._pausedTime)/this._life;0>b&&(b=0);var b=Math.min(b,1),e=this.easing,e="string"===typeof e?Ej[e]:e,e="function"===typeof e?e(b):b;this.onframe&&this.onframe(e);if(1===b)if(this.loop)this._restart(a),this.onrestart&&this.onrestart();else return!0;return!1}};b.prototype._restart=function(a){this._startTime=a-(a-this._startTime-this._pausedTime)%this._life+this.gap;this._pausedTime=0};b.prototype.pause=function(){this._paused=!0};b.prototype.resume=function(){this._paused=!1};return b}(),hy=function(){return function(b){this.value=b}}(),vI=function(){function b(){this._len=0}b.prototype.insert=function(a){a=new hy(a);this.insertEntry(a);return a};b.prototype.insertEntry=function(a){this.head?(this.tail.next=a,a.prev=this.tail,a.next=null,this.tail=a):this.head=this.tail=a;this._len++};b.prototype.remove=function(a){var c=a.prev,b=a.next;c?c.next=b:this.head=b;b?b.prev=c:this.tail=c;a.next=a.prev=null;this._len--};b.prototype.len=function(){return this._len};b.prototype.clear=function(){this.head=this.tail=null;this._len=0};return b}(),Yf=function(){function b(a){this._list=new vI;this._maxSize=10;this._map={};this._maxSize=a}b.prototype.put=function(a,c){var b=this._list,e=this._map,f=null;if(null==e[a]){var g=b.len(),h=this._lastRemovedEntry;g>=this._maxSize&&0<g&&(g=b.head,b.remove(g),delete e[g.key],f=g.value,this._lastRemovedEntry=g);h?h.value=c:h=new hy(c);h.key=a;b.insertEntry(h);e[a]=h}return f};b.prototype.get=function(a){a=this._map[a];var c=this._list;if(null!=a)return a!==c.tail&&(c.remove(a),c.insertEntry(a)),a.value};b.prototype.clear=function(){this._list.clear();this._map={}};b.prototype.len=function(){return this._list.len()};return b}(),dq={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]},cq=new Yf(20),Wh=null,wI=Object.freeze({__proto__:null,parse:eb,lift:Hk,toHex:Ik,fastLerp:Tf,fastMapToColor:Tf,lerp:eq,mapToColor:eq,modifyHSL:Ne,modifyAlpha:Uf,stringify:Tb,lum:Vf,random:function(){return"rgb("+Math.round(255*Math.random())+","+Math.round(255*Math.random())+","+Math.round(255*Math.random())+")"}}),Jk=Array.prototype.slice,hh=[0,0,0,0],xI=function(){function b(a){this.keyframes=[];this.arrDim=this.maxTime=0;this.interpolable=!0;this._needsSort=!1;this._isAllValueEqual=!0;this._lastFramePercent=this._lastFrame=0;this.propName=a}b.prototype.isFinished=function(){return this._finished};b.prototype.setFinished=function(){this._finished=!0;this._additiveTrack&&this._additiveTrack.setFinished()};b.prototype.needsAnimate=function(){return!this._isAllValueEqual&&2<=this.keyframes.length&&this.interpolable};b.prototype.getAdditiveTrack=function(){return this._additiveTrack};b.prototype.addKeyframe=function(a,c){a>=this.maxTime?this.maxTime=a:this._needsSort=!0;var b=this.keyframes,e=b.length;if(this.interpolable)if(Xa(c)){var f=Xa(c&&c[0])?2:1;if(0<e&&this.arrDim!==f){this.interpolable=!1;return}if(1===f&&"number"!==typeof c[0]||2===f&&"number"!==typeof c[0][0]){this.interpolable=!1;return}0<e&&(b=b[e-1],this._isAllValueEqual&&(1===f?hq(c,b.value)||(this._isAllValueEqual=!1):this._isAllValueEqual=!1));this.arrDim=f}else{if(0<this.arrDim){this.interpolable=!1;return}if("string"===typeof c)(f=eb(c))?(c=f,this.isValueColor=!0):this.interpolable=!1;else if("number"!==typeof c){this.interpolable=!1;return}this._isAllValueEqual&&0<e&&(b=b[e-1],this.isValueColor&&!hq(b.value,c)?this._isAllValueEqual=!1:b.value!==c&&(this._isAllValueEqual=!1))}b={time:a,value:c,percent:0};this.keyframes.push(b);return b};b.prototype.prepare=function(a){var c=this.keyframes;this._needsSort&&c.sort(function(c,a){return c.time-a.time});for(var b=this.arrDim,e=c.length,f=c[e-1],g=0;g<e;g++)c[g].percent=c[g].time/this.maxTime,0<b&&g!==e-1&&kA(c[g].value,f.value,b);if(a&&this.needsAnimate()&&a.needsAnimate()&&b===a.arrDim&&this.isValueColor===a.isValueColor&&!a._finished)for(this._additiveTrack=a,a=c[0].value,g=0;g<e;g++)0===b?c[g].additiveValue=this.isValueColor?Yh([],c[g].value,a,-1):c[g].value-a:1===b?c[g].additiveValue=Yh([],c[g].value,a,-1):2===b&&(c[g].additiveValue=gq([],c[g].value,a,-1))};b.prototype.step=function(a,c){if(!this._finished){this._additiveTrack&&this._additiveTrack._finished&&(this._additiveTrack=null);var b=null!=this._additiveTrack,e=b?"additiveValue":"value",f=this.keyframes,g=this.keyframes.length,h=this.propName,k=this.arrDim,l=this.isValueColor,m;if(0>c)m=0;else if(c<this._lastFramePercent){for(m=Math.min(this._lastFrame+1,g-1);0<=m&&!(f[m].percent<=c);m--);m=Math.min(m,g-2)}else{for(m=this._lastFrame;m<g&&!(f[m].percent>c);m++);m=Math.min(m-1,g-2)}var n=f[m+1],p=f[m];if(p&&n){this._lastFrame=m;this._lastFramePercent=c;var q=n.percent-p.percent;if(0!==q){var q=(c-p.percent)/q,t=b?this._additiveValue:l?hh:a[h];(0<k||l)&&!t&&(t=this._additiveValue=[]);if(this.useSpline){var n=f[m][e],p=f[0===m?m:m-1][e],u=f[m>g-2?g-1:m+1][e],e=f[m>g-3?g-1:m+2][e];if(0<k)if(1===k)for(h=t,t=q*q,k=q*q*q,l=p.length,f=0;f<l;f++)h[f]=Zh(p[f],n[f],u[f],e[f],q,t,k);else for(h=t,t=q*q,k=q*q*q,l=p.length,f=p[0].length,g=0;g<l;g++)for(h[g]||(h[1]=[]),m=0;m<f;m++)h[g][m]=Zh(p[g][m],n[g][m],u[g][m],e[g][m],q,t,k);else if(l){k=t;l=q*q;f=q*q*q;g=p.length;for(m=0;m<g;m++)k[m]=Zh(p[m],n[m],u[m],e[m],q,l,f);b||(a[h]=Xf(t))}else q=this.interpolable?Zh(p,n,u,e,q,q*q,q*q*q):u,b?this._additiveValue=q:a[h]=q}else if(0<k)if(1===k)fq(t,p[e],n[e],q);else for(u=t,p=p[e],n=n[e],h=(e=p.length)&&p[0].length,t=0;t<e;t++)for(u[t]||(u[t]=[]),k=0;k<h;k++)u[t][k]=Xh(p[t][k],n[t][k],q);else l?(fq(t,p[e],n[e],q),b||(a[h]=Xf(t))):(q=this.interpolable?Xh(p[e],n[e],q):.5<q?n[e]:p[e],b?this._additiveValue=q:a[h]=q);b&&this._addToTarget(a)}}}};b.prototype._addToTarget=function(a){var c=this.arrDim,b=this.propName,e=this._additiveValue;0===c?this.isValueColor?(eb(a[b],hh),Yh(hh,hh,e,1),a[b]=Xf(hh)):a[b]+=e:1===c?Yh(a[b],a[b],e,1):2===c&&gq(a[b],a[b],e,1)};return b}(),Mk=function(){function b(a,c,b){this._tracks={};this._trackKeys=[];this._maxTime=this._delay=0;this._paused=!1;this._started=0;this._clip=null;this._target=a;(this._loop=c)&&b?yb("Can' use additive animation on looped animation."):this._additiveAnimators=b}b.prototype.getTarget=function(){return this._target};b.prototype.changeTarget=function(a){this._target=a};b.prototype.when=function(a,c){return this.whenWithKeys(a,c,ia(c))};b.prototype.whenWithKeys=function(a,c,b){for(var d=this._tracks,f=0;f<b.length;f++){var g=b[f],h=d[g];if(!h){var h=d[g]=new xI(g),k,l=this._getAdditiveTrack(g);l?(k=(k=l.keyframes[l.keyframes.length-1])&&k.value,l.isValueColor&&k&&(k=Xf(k))):k=this._target[g];if(null==k)continue;0!==a&&h.addKeyframe(0,Wf(k));this._trackKeys.push(g)}h.addKeyframe(a,Wf(c[g]))}this._maxTime=Math.max(this._maxTime,a);return this};b.prototype.pause=function(){this._clip.pause();this._paused=!0};b.prototype.resume=function(){this._clip.resume();this._paused=!1};b.prototype.isPaused=function(){return!!this._paused};b.prototype._doneCallback=function(){this._setTracksFinished();this._clip=null;var a=this._doneList;if(a)for(var c=a.length,b=0;b<c;b++)a[b].call(this)};b.prototype._abortedCallback=function(){this._setTracksFinished();var a=this.animation,c=this._abortedList;a&&a.removeClip(this._clip);this._clip=null;if(c)for(a=0;a<c.length;a++)c[a].call(this)};b.prototype._setTracksFinished=function(){for(var a=this._tracks,c=this._trackKeys,b=0;b<c.length;b++)a[c[b]].setFinished()};b.prototype._getAdditiveTrack=function(a){var c,b=this._additiveAnimators;if(b)for(var e=0;e<b.length;e++){var f=b[e].getTrack(a);f&&(c=f)}return c};b.prototype.start=function(a,c){if(!(0<this._started)){this._started=1;for(var b=this,e=[],f=0;f<this._trackKeys.length;f++){var g=this._trackKeys[f],h=this._tracks[g],g=this._getAdditiveTrack(g),k=h.keyframes;h.prepare(g);h.needsAnimate()?e.push(h):!h.interpolable&&(g=k[k.length-1])&&(b._target[h.propName]=g.value)}e.length||c?(this._clip=f=new uI({life:this._maxTime,loop:this._loop,delay:this._delay,onframe:function(c){b._started=2;var a=b._additiveAnimators;if(a){for(var d=!1,f=0;f<a.length;f++)if(a[f]._clip){d=!0;break}d||(b._additiveAnimators=null)}for(f=0;f<e.length;f++)e[f].step(b._target,c);if(a=b._onframeList)for(f=0;f<a.length;f++)a[f](b._target,c)},ondestroy:function(){b._doneCallback()}}),this.animation&&this.animation.addClip(f),a&&"spline"!==a&&(f.easing=a)):this._doneCallback();return this}};b.prototype.stop=function(a){if(this._clip){var c=this._clip;if(a)c.onframe(1);this._abortedCallback()}};b.prototype.delay=function(a){this._delay=a;return this};b.prototype.during=function(a){a&&(this._onframeList||(this._onframeList=[]),this._onframeList.push(a));return this};b.prototype.done=function(a){a&&(this._doneList||(this._doneList=[]),this._doneList.push(a));return this};b.prototype.aborted=function(a){a&&(this._abortedList||(this._abortedList=[]),this._abortedList.push(a));return this};b.prototype.getClip=function(){return this._clip};b.prototype.getTrack=function(a){return this._tracks[a]};b.prototype.stopTracks=function(a,c){if(!a.length||!this._clip)return!0;for(var b=this._tracks,e=this._trackKeys,f=0;f<a.length;f++){var g=b[a[f]];g&&(c?g.step(this._target,1):1===this._started&&g.step(this._target,0),g.setFinished())}g=!0;for(f=0;f<e.length;f++)if(!b[e[f]].isFinished()){g=!1;break}g&&this._abortedCallback();return g};b.prototype.saveFinalToTarget=function(a,c){if(a){c=c||this._trackKeys;for(var b=0;b<c.length;b++){var e=c[b],f=this._tracks[e];if(f&&!f.isFinished()){var g=f.keyframes;if(g=g[g.length-1])g=Wf(g.value),f.isValueColor&&(g=Xf(g)),a[e]=g}}}};b.prototype.__changeFinalValue=function(a,c){c=c||ia(a);for(var b=0;b<c.length;b++){var e=c[b],f=this._tracks[e];if(f){var g=f.keyframes;1<g.length&&(g=g.pop(),f.addKeyframe(g.time,a[e]),f.prepare(f.getAdditiveTrack()))}}};return b}(),V=function(){function b(a,c){this.x=a||0;this.y=c||0}b.prototype.copy=function(a){this.x=a.x;this.y=a.y;return this};b.prototype.clone=function(){return new b(this.x,this.y)};b.prototype.set=function(a,c){this.x=a;this.y=c;return this};b.prototype.equal=function(a){return a.x===this.x&&a.y===this.y};b.prototype.add=function(a){this.x+=a.x;this.y+=a.y;return this};b.prototype.scale=function(a){this.x*=a;this.y*=a};b.prototype.scaleAndAdd=function(a,c){this.x+=a.x*c;this.y+=a.y*c};b.prototype.sub=function(a){this.x-=a.x;this.y-=a.y;return this};b.prototype.dot=function(a){return this.x*a.x+this.y*a.y};b.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)};b.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y};b.prototype.normalize=function(){var a=this.len();this.x/=a;this.y/=a;return this};b.prototype.distance=function(a){var c=this.x-a.x;a=this.y-a.y;return Math.sqrt(c*c+a*a)};b.prototype.distanceSquare=function(a){var c=this.x-a.x;a=this.y-a.y;return c*c+a*a};b.prototype.negate=function(){this.x=-this.x;this.y=-this.y;return this};b.prototype.transform=function(a){if(a){var c=this.x,b=this.y;this.x=a[0]*c+a[2]*b+a[4];this.y=a[1]*c+a[3]*b+a[5];return this}};b.prototype.toArray=function(a){a[0]=this.x;a[1]=this.y;return a};b.prototype.fromArray=function(a){this.x=a[0];this.y=a[1]};b.set=function(a,c,b){a.x=c;a.y=b};b.copy=function(a,c){a.x=c.x;a.y=c.y};b.len=function(a){return Math.sqrt(a.x*a.x+a.y*a.y)};b.lenSquare=function(a){return a.x*a.x+a.y*a.y};b.dot=function(a,c){return a.x*c.x+a.y*c.y};b.add=function(a,c,b){a.x=c.x+b.x;a.y=c.y+b.y};b.sub=function(a,c,b){a.x=c.x-b.x;a.y=c.y-b.y};b.scale=function(a,c,b){a.x=c.x*b;a.y=c.y*b};b.scaleAndAdd=function(a,c,b,e){a.x=c.x+b.x*e;a.y=c.y+b.y*e};b.lerp=function(a,c,b,e){var d=1-e;a.x=d*c.x+e*b.x;a.y=d*c.y+e*b.y};return b}(),Fj=Math.min,Gj=Math.max,oe=new V,pe=new V,qe=new V,re=new V,ih=new V,jh=new V,aa=function(){function b(a,c,b,e){0>b&&isFinite(b)&&(a+=b,b=-b);0>e&&isFinite(e)&&(c+=e,e=-e);this.x=a;this.y=c;this.width=b;this.height=e}b.prototype.union=function(a){var c=Fj(a.x,this.x),b=Fj(a.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=Gj(a.x+a.width,this.x+this.width)-c:this.width=a.width;isFinite(this.y)&&isFinite(this.height)?this.height=Gj(a.y+a.height,this.y+this.height)-b:this.height=a.height;this.x=c;this.y=b};b.prototype.applyTransform=function(a){b.applyTransform(this,this,a)};b.prototype.calculateTransform=function(a){var c=a.width/this.width,b=a.height/this.height,e=nb();Rb(e,e,[-this.x,-this.y]);Vh(e,e,[c,b]);Rb(e,e,[a.x,a.y]);return e};b.prototype.intersect=function(a,c){if(!a)return!1;a instanceof b||(a=b.create(a));var d=this.x,e=this.x+this.width,f=this.y,g=this.y+this.height,h=a.x,k=a.x+a.width,l=a.y,m=a.y+a.height,n=!(e<h||k<d||g<l||m<f);if(c){var p=Infinity,q=0,t=Math.abs(e-h),u=Math.abs(k-d),w=Math.abs(g-l),v=Math.abs(m-f),z=Math.min(t,u),r=Math.min(w,v);e<h||k<d?z>q&&(q=z,t<u?V.set(jh,-t,0):V.set(jh,u,0)):z<p&&(p=z,t<u?V.set(ih,t,0):V.set(ih,-u,0));g<l||m<f?r>q&&(w<v?V.set(jh,0,-w):V.set(jh,0,v)):z<p&&(w<v?V.set(ih,0,w):V.set(ih,0,-v))}c&&V.copy(c,n?ih:jh);return n};b.prototype.contain=function(a,c){return a>=this.x&&a<=this.x+this.width&&c>=this.y&&c<=this.y+this.height};b.prototype.clone=function(){return new b(this.x,this.y,this.width,this.height)};b.prototype.copy=function(a){b.copy(this,a)};b.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}};b.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)};b.prototype.isZero=function(){return 0===this.width||0===this.height};b.create=function(a){return new b(a.x,a.y,a.width,a.height)};b.copy=function(a,c){a.x=c.x;a.y=c.y;a.width=c.width;a.height=c.height};b.applyTransform=function(a,c,d){if(d)if(1E-5>d[1]&&-1E-5<d[1]&&1E-5>d[2]&&-1E-5<d[2]){var e=d[0],f=d[3],g=d[5];a.x=c.x*e+d[4];a.y=c.y*f+g;a.width=c.width*e;a.height=c.height*f;0>a.width&&(a.x+=a.width,a.width=-a.width);0>a.height&&(a.y+=a.height,a.height=-a.height)}else oe.x=qe.x=c.x,oe.y=re.y=c.y,pe.x=re.x=c.x+c.width,pe.y=qe.y=c.y+c.height,oe.transform(d),re.transform(d),pe.transform(d),qe.transform(d),a.x=Fj(oe.x,pe.x,qe.x,re.x),a.y=Fj(oe.y,pe.y,qe.y,re.y),c=Gj(oe.x,pe.x,qe.x,re.x),d=Gj(oe.y,pe.y,qe.y,re.y),a.width=c-a.x,a.height=d-a.y;else a!==c&&b.copy(a,c)};return b}(),iq={},Hj,iy,lA={measureText:function(b,a){Hj||(Hj=Wd().getContext("2d"));iy!==a&&(iy=Hj.font=a||"12px sans-serif");return Hj.measureText(b)}},jy=1;"undefined"!==typeof window&&(jy=Math.max(window.devicePixelRatio||window.screen&&window.screen.deviceXDPI/window.screen.logicalXDPI||1,1));var Ij=jy,vo="x y scaleX scaleY originX originY rotation ignore".split(" "),yI={x:!0,y:!0,scaleX:!0,scaleY:!0,originX:!0,originY:!0,rotation:!0,ignore:!1},Ef={},cc=new aa(0,0,0,0),Hb=function(){function b(a){this.id=Vk++;this.animators=[];this.currentStates=[];this.states={};this._init(a)}b.prototype._init=function(a){this.attr(a)};b.prototype.drift=function(a,c,b){switch(this.draggable){case "horizontal":c=0;break;case "vertical":a=0}b=this.transform;b||(b=this.transform=[1,0,0,1,0,0]);b[4]+=a;b[5]+=c;this.decomposeTransform();this.markRedraw()};b.prototype.beforeUpdate=function(){};b.prototype.afterUpdate=function(){};b.prototype.update=function(){this.updateTransform();this.__dirty&&this.updateInnerText()};b.prototype.updateInnerText=function(a){var c=this._textContent;if(c&&(!c.ignore||a)){this.textConfig||(this.textConfig={});var b=this.textConfig,e=b.local,f=c.attachedTransform,g=a=void 0,h=!1;f.parent=e?this:null;var k=!1;f.x=c.x;f.y=c.y;f.originX=c.originX;f.originY=c.originY;f.rotation=c.rotation;f.scaleX=c.scaleX;f.scaleY=c.scaleY;if(null!=b.position){b.layoutRect?cc.copy(b.layoutRect):cc.copy(this.getBoundingRect());e||cc.applyTransform(this.transform);this.calculateTextPosition?this.calculateTextPosition(Ef,b,cc):kq(Ef,b,cc);f.x=Ef.x;f.y=Ef.y;a=Ef.align;var g=Ef.verticalAlign,l=b.origin;if(l&&null!=b.rotation){var m;"center"===l?(m=.5*cc.width,l=.5*cc.height):(m=Ub(l[0],cc.width),l=Ub(l[1],cc.height));k=!0;f.originX=-f.x+m+(e?0:cc.x);f.originY=-f.y+l+(e?0:cc.y)}}null!=b.rotation&&(f.rotation=b.rotation);if(e=b.offset)f.x+=e[0],f.y+=e[1],k||(f.originX=-e[0],f.originY=-e[1]);e=null==b.inside?"string"===typeof b.position&&0<=b.position.indexOf("inside"):b.inside;f=this._innerTextDefaultStyle||(this._innerTextDefaultStyle={});k=void 0;if(e&&this.canBeInsideText()){e=b.insideFill;b=b.insideStroke;if(null==e||"auto"===e)e=this.getInsideTextFill();if(null==b||"auto"===b)b=this.getInsideTextStroke(e),k=!0}else{e=b.outsideFill;b=b.outsideStroke;if(null==e||"auto"===e)e=this.getOutsideFill();if(null==b||"auto"===b)b=this.getOutsideStroke(e),k=!0}e=e||"#000";if(e!==f.fill||b!==f.stroke||k!==f.autoStroke||a!==f.align||g!==f.verticalAlign)h=!0,f.fill=e,f.stroke=b,f.autoStroke=k,f.align=a,f.verticalAlign=g,c.setDefaultTextStyle(f);h&&c.dirtyStyle();c.markRedraw()}};b.prototype.canBeInsideText=function(){return!0};b.prototype.getInsideTextFill=function(){return"#fff"};b.prototype.getInsideTextStroke=function(a){return"#000"};b.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?"#ccc":"#333"};b.prototype.getOutsideStroke=function(a){a=this.__zr&&this.__zr.getBackgroundColor();(a="string"===typeof a&&eb(a))||(a=[255,255,255,1]);for(var c=a[3],b=this.__zr.isDarkMode(),e=0;3>e;e++)a[e]=a[e]*c+(b?0:255)*(1-c);a[3]=1;return Tb(a,"rgba")};b.prototype.traverse=function(a,c){};b.prototype.attrKV=function(a,c){"textConfig"===a?this.setTextConfig(c):"textContent"===a?this.setTextContent(c):"clipPath"===a?this.setClipPath(c):"extra"===a?(this.extra=this.extra||{},F(this.extra,c)):this[a]=c};b.prototype.hide=function(){this.ignore=!0;this.markRedraw()};b.prototype.show=function(){this.ignore=!1;this.markRedraw()};b.prototype.attr=function(a,c){if("string"===typeof a)this.attrKV(a,c);else if(N(a))for(var b=ia(a),e=0;e<b.length;e++){var f=b[e];this.attrKV(f,a[f])}this.markRedraw();return this};b.prototype.saveCurrentToNormalState=function(a){this._innerSaveToNormal(a);a=this._normalState;for(var c=0;c<this.animators.length;c++){var b=this.animators[c],e=b.__fromStateTransition;e&&"__zr_normal__"!==e||(e=b.targetName,b.saveFinalToTarget(e?a[e]:a))}};b.prototype._innerSaveToNormal=function(a){var c=this._normalState;c||(c=this._normalState={});a.textConfig&&!c.textConfig&&(c.textConfig=this.textConfig);this._savePrimaryToNormal(a,c,vo)};b.prototype._savePrimaryToNormal=function(a,c,b){for(var d=0;d<b.length;d++){var f=b[d];null==a[f]||f in c||(c[f]=this[f])}};b.prototype.hasState=function(){return 0<this.currentStates.length};b.prototype.getState=function(a){return this.states[a]};b.prototype.ensureState=function(a){var c=this.states;c[a]||(c[a]={});return c[a]};b.prototype.clearStates=function(a){this.useState("__zr_normal__",!1,a)};b.prototype.useState=function(a,c,d){var e="__zr_normal__"===a;if(this.hasState()||!e){var f=this.currentStates,g=this.stateTransition;if(!(0<=ba(f,a))||!c&&1!==f.length){var h;this.stateProxy&&!e&&(h=this.stateProxy(a));h||(h=this.states&&this.states[a]);if(h||e)return e||this.saveCurrentToNormalState(h),(f=!(!h||!h.hoverLayer))&&this._toggleHoverLayerFlag(!0),this._applyStateObj(a,h,this._normalState,c,!d&&!this.__inHover&&g&&0<g.duration,g),this._textContent&&this._textContent.useState(a,c),this._textGuide&&this._textGuide.useState(a,c),e?(this.currentStates=[],this._normalState={}):c?this.currentStates.push(a):this.currentStates=[a],this._updateAnimationTargets(),this.markRedraw(),!f&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~b.REDARAW_BIT),h;yb("State "+a+" not exists.")}}};b.prototype.useStates=function(a,c){if(a.length){var d=[],e=this.currentStates,f=a.length,g=f===e.length;if(g)for(var h=0;h<f;h++)if(a[h]!==e[h]){g=!1;break}if(!g){for(h=0;h<f;h++)e=a[h],g=void 0,this.stateProxy&&(g=this.stateProxy(e,a)),g||(g=this.states[e]),g&&d.push(g);(f=!(!d[f-1]||!d[f-1].hoverLayer))&&this._toggleHoverLayerFlag(!0);d=this._mergeStates(d);h=this.stateTransition;this.saveCurrentToNormalState(d);this._applyStateObj(a.join(","),d,this._normalState,!1,!c&&!this.__inHover&&h&&0<h.duration,h);this._textContent&&this._textContent.useStates(a);this._textGuide&&this._textGuide.useStates(a);this._updateAnimationTargets();this.currentStates=a.slice();this.markRedraw();!f&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~b.REDARAW_BIT)}}else this.clearStates()};b.prototype._updateAnimationTargets=function(){for(var a=0;a<this.animators.length;a++){var c=this.animators[a];c.targetName&&c.changeTarget(this[c.targetName])}};b.prototype.removeState=function(a){a=ba(this.currentStates,a);if(0<=a){var c=this.currentStates.slice();c.splice(a,1);this.useStates(c)}};b.prototype.replaceState=function(a,c,b){var d=this.currentStates.slice();a=ba(d,a);var f=0<=ba(d,c);0<=a?f?d.splice(a,1):d[a]=c:b&&!f&&d.push(c);this.useStates(d)};b.prototype.toggleState=function(a,c){c?this.useState(a,!0):this.removeState(a)};b.prototype._mergeStates=function(a){for(var c={},b,e=0;e<a.length;e++){var f=a[e];F(c,f);f.textConfig&&(b=b||{},F(b,f.textConfig))}b&&(c.textConfig=b);return c};b.prototype._applyStateObj=function(a,c,b,e,f,g){var d=!(c&&e);c&&c.textConfig?(this.textConfig=F({},e?this.textConfig:b.textConfig),F(this.textConfig,c.textConfig)):d&&b.textConfig&&(this.textConfig=b.textConfig);e={};for(var k=!1,l=0;l<vo.length;l++){var m=vo[l],n=f&&yI[m];c&&null!=c[m]?n?(k=!0,e[m]=c[m]):this[m]=c[m]:d&&null!=b[m]&&(n?(k=!0,e[m]=b[m]):this[m]=b[m])}if(!f)for(l=0;l<this.animators.length;l++)f=this.animators[l],d=f.targetName,f.__changeFinalValue(d?(c||b)[d]:c||b);k&&this._transitionState(a,e,g)};b.prototype._attachComponent=function(a){if(a.__zr&&!a.__hostTarget)throw Error("Text element has been added to zrender.");if(a===this)throw Error("Recursive component attachment.");var c=this.__zr;c&&a.addSelfToZr(c);a.__zr=c;a.__hostTarget=this};b.prototype._detachComponent=function(a){a.__zr&&a.removeSelfFromZr(a.__zr);a.__zr=null;a.__hostTarget=null};b.prototype.getClipPath=function(){return this._clipPath};b.prototype.setClipPath=function(a){this._clipPath&&this._clipPath!==a&&this.removeClipPath();this._attachComponent(a);this._clipPath=a;this.markRedraw()};b.prototype.removeClipPath=function(){var a=this._clipPath;a&&(this._detachComponent(a),this._clipPath=null,this.markRedraw())};b.prototype.getTextContent=function(){return this._textContent};b.prototype.setTextContent=function(a){var c=this._textContent;if(c!==a){c&&c!==a&&this.removeTextContent();if(a.__zr&&!a.__hostTarget)throw Error("Text element has been added to zrender.");a.attachedTransform=new Dc;this._attachComponent(a);this._textContent=a;this.markRedraw()}};b.prototype.setTextConfig=function(a){this.textConfig||(this.textConfig={});F(this.textConfig,a);this.markRedraw()};b.prototype.removeTextContent=function(){var a=this._textContent;a&&(a.attachedTransform=null,this._detachComponent(a),this._innerTextDefaultStyle=this._textContent=null,this.markRedraw())};b.prototype.getTextGuideLine=function(){return this._textGuide};b.prototype.setTextGuideLine=function(a){this._textGuide&&this._textGuide!==a&&this.removeTextGuideLine();this._attachComponent(a);this._textGuide=a;this.markRedraw()};b.prototype.removeTextGuideLine=function(){var a=this._textGuide;a&&(this._detachComponent(a),this._textGuide=null,this.markRedraw())};b.prototype.markRedraw=function(){this.__dirty|=b.REDARAW_BIT;var a=this.__zr;a&&(this.__inHover?a.refreshHover():a.refresh());this.__hostTarget&&this.__hostTarget.markRedraw()};b.prototype.dirty=function(){this.markRedraw()};b.prototype._toggleHoverLayerFlag=function(a){this.__inHover=a;var c=this._textContent,b=this._textGuide;c&&(c.__inHover=a);b&&(b.__inHover=a)};b.prototype.addSelfToZr=function(a){this.__zr=a;var c=this.animators;if(c)for(var b=0;b<c.length;b++)a.animation.addAnimator(c[b]);this._clipPath&&this._clipPath.addSelfToZr(a);this._textContent&&this._textContent.addSelfToZr(a);this._textGuide&&this._textGuide.addSelfToZr(a)};b.prototype.removeSelfFromZr=function(a){this.__zr=null;var c=this.animators;if(c)for(var b=0;b<c.length;b++)a.animation.removeAnimator(c[b]);this._clipPath&&this._clipPath.removeSelfFromZr(a);this._textContent&&this._textContent.removeSelfFromZr(a);this._textGuide&&this._textGuide.removeSelfFromZr(a)};b.prototype.animate=function(a,c){var b=a?this[a]:this;if(b)return b=new Mk(b,c),this.addAnimator(b,a),b;yb('Property "'+a+'" is not existed in element '+this.id)};b.prototype.addAnimator=function(a,c){var b=this.__zr,e=this;a.during(function(){e.updateDuringAnimation(c)}).done(function(){var c=e.animators,b=ba(c,a);0<=b&&c.splice(b,1)});this.animators.push(a);b&&b.animation.addAnimator(a);b&&b.wakeUp()};b.prototype.updateDuringAnimation=function(a){this.markRedraw()};b.prototype.stopAnimation=function(a,c){for(var b=this.animators,e=b.length,f=[],g=0;g<e;g++){var h=b[g];a&&a!==h.scope?f.push(h):h.stop(c)}this.animators=f;return this};b.prototype.animateTo=function(a,c,b){Kk(this,a,c,b)};b.prototype.animateFrom=function(a,c,b){Kk(this,a,c,b,!0)};b.prototype._transitionState=function(a,c,b,e){c=Kk(this,c,b,e);for(b=0;b<c.length;b++)c[b].__fromStateTransition=a};b.prototype.getBoundingRect=function(){return null};b.prototype.getPaintRect=function(){return null};b.REDARAW_BIT=1;b.initDefaultProps=function(){function a(c,a,b){e[c+a+b]||(console.warn("DEPRECATED: '"+c+"' has been deprecated. use '"+a+"', '"+b+"' instead"),e[c+a+b]=!0)}function c(c,b,e,k){function f(c,a){Object.defineProperty(a,0,{get:function(){return c[e]},set:function(a){c[e]=a}});Object.defineProperty(a,1,{get:function(){return c[k]},set:function(a){c[k]=a}})}Object.defineProperty(d,c,{get:function(){a(c,e,k);if(!this[b]){var d=this[b]=[];f(this,d)}return this[b]},set:function(d){a(c,e,k);this[e]=d[0];this[k]=d[1];this[b]=d;f(this,d)}})}var d=b.prototype;d.type="element";d.name="";d.ignore=!1;d.silent=!1;d.isGroup=!1;d.draggable=!1;d.dragging=!1;d.ignoreClip=!1;d.__inHover=!1;d.__dirty=b.REDARAW_BIT;var e={};Object.defineProperty&&(!X.browser.ie||8<X.browser.version)&&(c("position","_legacyPos","x","y"),c("scale","_legacyScale","scaleX","scaleY"),c("origin","_legacyOrigin","originX","originY"))}();return b}();wa(Hb,$b);wa(Hb,Dc);var oq=!1,zI=function(){function b(){this._roots=[];this._displayList=[];this._displayListLen=0;this.displayableSortFunc=pq}b.prototype.traverse=function(a,c){for(var b=0;b<this._roots.length;b++)this._roots[b].traverse(a,c)};b.prototype.getDisplayList=function(a,c){var b=this._displayList;!a&&b.length||this.updateDisplayList(c||!1);return b};b.prototype.updateDisplayList=function(a){this._displayListLen=0;for(var c=this._roots,b=this._displayList,e=0,f=c.length;e<f;e++)this._updateAndAddDisplayable(c[e],null,a);b.length=this._displayListLen;X.canvasSupported&&Pk(b,pq)};b.prototype._updateAndAddDisplayable=function(a,c,b){if(!a.ignore||b){a.beforeUpdate();a.update();a.afterUpdate();var d=a.getClipPath();if(a.ignoreClip)c=null;else if(d){c=c?c.slice():[];for(var f=a;d;)d.parent=f,d.updateTransform(),c.push(d),f=d,d=d.getClipPath()}if(a.childrenRef){d=a.childrenRef();for(f=0;f<d.length;f++){var g=d[f];a.__dirty&&(g.__dirty|=Hb.REDARAW_BIT);this._updateAndAddDisplayable(g,c,b)}a.__dirty=0}else c&&c.length?a.__clipPaths=c:a.__clipPaths&&0<a.__clipPaths.length&&(a.__clipPaths=[]),isNaN(a.z)&&(Qk(),a.z=0),isNaN(a.z2)&&(Qk(),a.z2=0),isNaN(a.zlevel)&&(Qk(),a.zlevel=0),this._displayList[this._displayListLen++]=a;(d=a.getDecalElement&&a.getDecalElement())&&this._updateAndAddDisplayable(d,c,b);(d=a.getTextGuideLine())&&this._updateAndAddDisplayable(d,c,b);(a=a.getTextContent())&&this._updateAndAddDisplayable(a,c,b)}};b.prototype.addRoot=function(a){a.__zr&&a.__zr.storage===this||this._roots.push(a)};b.prototype.delRoot=function(a){if(a instanceof Array)for(var c=0,b=a.length;c<b;c++)this.delRoot(a[c]);else a=ba(this._roots,a),0<=a&&this._roots.splice(a,1)};b.prototype.delAllRoots=function(){this._roots=[];this._displayList=[];this._displayListLen=0};b.prototype.getRoots=function(){return this._roots};b.prototype.dispose=function(){this._roots=this._displayList=null};return b}(),wo="undefined"!==typeof window&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(b){return setTimeout(b,16)},AI=function(b){function a(c){var a=b.call(this)||this;a._running=!1;a._time=0;a._pausedTime=0;a._pauseStart=0;a._paused=!1;c=c||{};a.stage=c.stage||{};a.onframe=c.onframe||function(){};return a}x(a,b);a.prototype.addClip=function(c){c.animation&&this.removeClip(c);this._clipsHead?(this._clipsTail.next=c,c.prev=this._clipsTail,c.next=null,this._clipsTail=c):this._clipsHead=this._clipsTail=c;c.animation=this};a.prototype.addAnimator=function(c){c.animation=this;(c=c.getClip())&&this.addClip(c)};a.prototype.removeClip=function(c){if(c.animation){var a=c.prev,b=c.next;a?a.next=b:this._clipsHead=b;b?b.prev=a:this._clipsTail=a;c.next=c.prev=c.animation=null}};a.prototype.removeAnimator=function(c){var a=c.getClip();a&&this.removeClip(a);c.animation=null};a.prototype.update=function(c){for(var a=(new Date).getTime()-this._pausedTime,b=a-this._time,f=this._clipsHead;f;){var g=f.next;f.step(a,b)&&(f.ondestroy&&f.ondestroy(),this.removeClip(f));f=g}this._time=a;c||(this.onframe(b),this.trigger("frame",b),this.stage.update&&this.stage.update())};a.prototype._startLoop=function(){function c(){a._running&&(wo(c),!a._paused&&a.update())}var a=this;this._running=!0;wo(c)};a.prototype.start=function(){this._running||(this._time=(new Date).getTime(),this._pausedTime=0,this._startLoop())};a.prototype.stop=function(){this._running=!1};a.prototype.pause=function(){this._paused||(this._pauseStart=(new Date).getTime(),this._paused=!0)};a.prototype.resume=function(){this._paused&&(this._pausedTime+=(new Date).getTime()-this._pauseStart,this._paused=!1)};a.prototype.clear=function(){for(var c=this._clipsHead;c;){var a=c.next;c.prev=c.next=c.animation=null;c=a}this._clipsHead=this._clipsTail=null};a.prototype.isFinished=function(){return null==this._clipsHead};a.prototype.animate=function(c,a){a=a||{};this.start();var b=new Mk(c,a.loop);this.addAnimator(b);return b};return a}($b),xo=X.domSupported,Sk=function(){var b="click dblclick mousewheel wheel mouseout mouseup mousedown mousemove contextmenu".split(" "),a={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},c=C(b,function(c){var b=c.replace("mouse","pointer");return a.hasOwnProperty(b)?b:c});return{mouse:b,touch:["touchstart","touchend","touchmove"],pointer:c}}(),rq={mouse:["mousemove","mouseup"],pointer:["pointermove","pointerup"]},ky=!1,qA=function(){return function(b,a){this.preventDefault=this.stopImmediatePropagation=this.stopPropagation=hc;this.type=a.type;this.target=this.currentTarget=b.dom;this.pointerType=a.pointerType;this.clientX=a.clientX;this.clientY=a.clientY}}(),dc={mousedown:function(b){b=Ab(this.dom,b);this.__mayPointerCapture=[b.zrX,b.zrY];this.trigger("mousedown",b)},mousemove:function(b){b=Ab(this.dom,b);var a=this.__mayPointerCapture;!a||b.zrX===a[0]&&b.zrY===a[1]||this.__togglePointerCapture(!0);this.trigger("mousemove",b)},mouseup:function(b){b=Ab(this.dom,b);this.__togglePointerCapture(!1);this.trigger("mouseup",b)},mouseout:function(b){b=Ab(this.dom,b);qq(this,b.toElement||b.relatedTarget)||(this.__pointerCapturing&&(b.zrEventControl="no_globalout"),this.trigger("mouseout",b))},wheel:function(b){ky=!0;b=Ab(this.dom,b);this.trigger("mousewheel",b)},mousewheel:function(b){ky||(b=Ab(this.dom,b),this.trigger("mousewheel",b))},touchstart:function(b){(b=Ab(this.dom,b))&&(b.zrByTouch=!0);this.__lastTouchMoment=new Date;this.handler.processGesture(b,"start");dc.mousemove.call(this,b);dc.mousedown.call(this,b)},touchmove:function(b){(b=Ab(this.dom,b))&&(b.zrByTouch=!0);this.handler.processGesture(b,"change");dc.mousemove.call(this,b)},touchend:function(b){(b=Ab(this.dom,b))&&(b.zrByTouch=!0);this.handler.processGesture(b,"end");dc.mouseup.call(this,b);300>+new Date-+this.__lastTouchMoment&&dc.click.call(this,b)},pointerdown:function(b){dc.mousedown.call(this,b)},pointermove:function(b){Rk(b)||dc.mousemove.call(this,b)},pointerup:function(b){dc.mouseup.call(this,b)},pointerout:function(b){Rk(b)||dc.mouseout.call(this,b)}};r(["click","dblclick","contextmenu"],function(b){dc[b]=function(a){a=Ab(this.dom,a);this.trigger(b,a)}});var yo={pointermove:function(b){Rk(b)||yo.mousemove.call(this,b)},pointerup:function(b){yo.mouseup.call(this,b)},mousemove:function(b){this.trigger("mousemove",b)},mouseup:function(b){var a=this.__pointerCapturing;this.__togglePointerCapture(!1);this.trigger("mouseup",b);a&&(b.zrEventControl="only_globalout",this.trigger("mouseout",b))}},ly=function(){return function(b,a){this.mounted={};this.listenerOpts={};this.touching=!1;this.domTarget=b;this.domHandlers=a}}(),BI=function(b){function a(c,a){var d=b.call(this)||this;d.__pointerCapturing=!1;d.dom=c;d.painterRoot=a;d._localHandlerScope=new ly(c,dc);xo&&(d._globalHandlerScope=new ly(document,yo));oA(d,d._localHandlerScope);return d}x(a,b);a.prototype.dispose=function(){Tk(this._localHandlerScope);xo&&Tk(this._globalHandlerScope)};a.prototype.setCursor=function(c){this.dom.style&&(this.dom.style.cursor=c||"default")};a.prototype.__togglePointerCapture=function(c){this.__mayPointerCapture=null;if(xo&&+this.__pointerCapturing^+c){this.__pointerCapturing=c;var a=this._globalHandlerScope;c?pA(this,a):Tk(a)}};return a}($b),M=function(b){function a(c){var a=b.call(this)||this;a.isGroup=!0;a._children=[];a.attr(c);return a}x(a,b);a.prototype.childrenRef=function(){return this._children};a.prototype.children=function(){return this._children.slice()};a.prototype.childAt=function(c){return this._children[c]};a.prototype.childOfName=function(c){for(var a=this._children,b=0;b<a.length;b++)if(a[b].name===c)return a[b]};a.prototype.childCount=function(){return this._children.length};a.prototype.add=function(c){if(c&&(c!==this&&c.parent!==this&&(this._children.push(c),this._doAdd(c)),c.__hostTarget))throw"This elemenet has been used as an attachment";return this};a.prototype.addBefore=function(c,a){if(c&&c!==this&&c.parent!==this&&a&&a.parent===this){var b=this._children,d=b.indexOf(a);0<=d&&(b.splice(d,0,c),this._doAdd(c))}return this};a.prototype.replaceAt=function(c,a){var b=this._children,d=b[a];c&&c!==this&&c.parent!==this&&c!==d&&(b[a]=c,d.parent=null,(b=this.__zr)&&d.removeSelfFromZr(b),this._doAdd(c));return this};a.prototype._doAdd=function(c){c.parent&&c.parent.remove(c);c.parent=this;var a=this.__zr;a&&a!==c.__zr&&c.addSelfToZr(a);a&&a.refresh()};a.prototype.remove=function(c){var a=this.__zr,b=this._children,f=ba(b,c);if(0>f)return this;b.splice(f,1);c.parent=null;a&&c.removeSelfFromZr(a);a&&a.refresh();return this};a.prototype.removeAll=function(){for(var c=this._children,a=this.__zr,b=0;b<c.length;b++){var f=c[b];a&&f.removeSelfFromZr(a);f.parent=null}c.length=0;return this};a.prototype.eachChild=function(c,a){for(var b=this._children,d=0;d<b.length;d++)c.call(a,b[d],d);return this};a.prototype.traverse=function(c,a){for(var b=0;b<this._children.length;b++){var d=this._children[b],g=c.call(a,d);d.isGroup&&!g&&d.traverse(c,a)}return this};a.prototype.addSelfToZr=function(c){b.prototype.addSelfToZr.call(this,c);for(var a=0;a<this._children.length;a++)this._children[a].addSelfToZr(c)};a.prototype.removeSelfFromZr=function(c){b.prototype.removeSelfFromZr.call(this,c);for(var a=0;a<this._children.length;a++)this._children[a].removeSelfFromZr(c)};a.prototype.getBoundingRect=function(c){var a=new aa(0,0,0,0);c=c||this._children;for(var b=[],f=null,g=0;g<c.length;g++){var h=c[g];if(!h.ignore&&!h.invisible){var k=h.getBoundingRect();(h=h.getLocalTransform(b))?(aa.applyTransform(a,k,h),f=f||a.clone(),f.union(a)):(f=f||k.clone(),f.union(k))}}return f||a};return a}(Hb);M.prototype.type="group";var CI=!X.canvasSupported,Ff={},Hd={},sA=function(){function b(a,c,b){var d=this;this._sleepAfterStill=10;this._stillFrameAccum=0;this._needsRefreshHover=this._needsRefresh=!0;this._darkMode=!1;b=b||{};this.dom=c;this.id=a;var f=new zI,g=b.renderer||"canvas";if(CI)throw Error("IE8 support has been dropped since 5.0");Ff[g]||(g=ia(Ff)[0]);if(!Ff[g])throw Error("Renderer '"+g+"' is not imported. Please import it first.");b.useDirtyRect=null==b.useDirtyRect?!1:b.useDirtyRect;a=new Ff[g](c,f,b,a);this.storage=f;this.painter=a;c=X.node||X.worker?null:new BI(a.getViewportRoot(),a.root);this.handler=new gy(f,a,c,a.root);this.animation=new AI({stage:{update:function(){return d._flush(!0)}}});this.animation.start()}b.prototype.add=function(a){a&&(this.storage.addRoot(a),a.addSelfToZr(this),this.refresh())};b.prototype.remove=function(a){a&&(this.storage.delRoot(a),a.removeSelfFromZr(this),this.refresh())};b.prototype.configLayer=function(a,c){this.painter.configLayer&&this.painter.configLayer(a,c);this.refresh()};b.prototype.setBackgroundColor=function(a){this.painter.setBackgroundColor&&this.painter.setBackgroundColor(a);this.refresh();this._backgroundColor=a;this._darkMode=rA(a)};b.prototype.getBackgroundColor=function(){return this._backgroundColor};b.prototype.setDarkMode=function(a){this._darkMode=a};b.prototype.isDarkMode=function(){return this._darkMode};b.prototype.refreshImmediately=function(a){a||this.animation.update(!0);this._needsRefresh=!1;this.painter.refresh();this._needsRefresh=!1};b.prototype.refresh=function(){this._needsRefresh=!0;this.animation.start()};b.prototype.flush=function(){this._flush(!1)};b.prototype._flush=function(a){var c,b=(new Date).getTime();this._needsRefresh&&(c=!0,this.refreshImmediately(a));this._needsRefreshHover&&(c=!0,this.refreshHoverImmediately());a=(new Date).getTime();c?(this._stillFrameAccum=0,this.trigger("rendered",{elapsedTime:a-b})):0<this._sleepAfterStill&&(this._stillFrameAccum++,this._stillFrameAccum>this._sleepAfterStill&&this.animation.stop())};b.prototype.setSleepAfterStill=function(a){this._sleepAfterStill=a};b.prototype.wakeUp=function(){this.animation.start();this._stillFrameAccum=0};b.prototype.addHover=function(a){};b.prototype.removeHover=function(a){};b.prototype.clearHover=function(){};b.prototype.refreshHover=function(){this._needsRefreshHover=!0};b.prototype.refreshHoverImmediately=function(){this._needsRefreshHover=!1;this.painter.refreshHover&&"canvas"===this.painter.getType()&&this.painter.refreshHover()};b.prototype.resize=function(a){a=a||{};this.painter.resize(a.width,a.height);this.handler.resize()};b.prototype.clearAnimation=function(){this.animation.clear()};b.prototype.getWidth=function(){return this.painter.getWidth()};b.prototype.getHeight=function(){return this.painter.getHeight()};b.prototype.pathToImage=function(a,c){if(this.painter.pathToImage)return this.painter.pathToImage(a,c)};b.prototype.setCursorStyle=function(a){this.handler.setCursorStyle(a)};b.prototype.findHover=function(a,c){return this.handler.findHover(a,c)};b.prototype.on=function(a,c,b){this.handler.on(a,c,b);return this};b.prototype.off=function(a,c){this.handler.off(a,c)};b.prototype.trigger=function(a,c){this.handler.trigger(a,c)};b.prototype.clear=function(){for(var a=this.storage.getRoots(),c=0;c<a.length;c++)a[c]instanceof M&&a[c].removeSelfFromZr(this);this.storage.delAllRoots();this.painter.clear()};b.prototype.dispose=function(){this.animation.stop();this.clear();this.storage.dispose();this.painter.dispose();this.handler.dispose();this.animation=this.storage=this.painter=this.handler=null;delete Hd[this.id]};return b}(),DI=Object.freeze({__proto__:null,init:Uk,dispose:function(b){b.dispose()},disposeAll:function(){for(var b in Hd)Hd.hasOwnProperty(b)&&Hd[b].dispose();Hd={}},getInstance:function(b){return Hd[b]},registerPainter:function(b,a){Ff[b]=a},version:"5.0.3"}),tA=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d{1,2})(?::(\d{1,2})(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/,xq={},ci="undefined"!==typeof console&&console.warn&&console.log,Sr="fontStyle fontWeight fontSize fontFamily rich tag color textBorderColor textBorderWidth width height lineHeight align verticalAlign baseline shadowColor shadowBlur shadowOffsetX shadowOffsetY textShadowColor textShadowBlur textShadowOffsetX textShadowOffsetY backgroundColor borderColor borderWidth borderRadius padding".split(" "),DA=Math.round(9*Math.random()),Da={useDefault:!0,enableAll:!1,enableNone:!1},EI={useDefault:!1,enableAll:!0,enableNone:!0},FI=Math.round(10*Math.random()),GI=Kd([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),HI=function(){function b(){}b.prototype.getAreaStyle=function(a,c){return GI(this,a,c)};return b}(),el=new Yf(50),zo=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g,HA=function(){return function(){}}(),Iq=function(){return function(b){this.tokens=[];b&&(this.tokens=b)}}(),II=function(){return function(){this.outerHeight=this.outerWidth=this.contentHeight=this.contentWidth=this.height=this.width=0;this.lines=[]}}(),IA=Ed(",\x26?/;] ".split(""),function(b,a){b[a]=!0;return b},{}),Ao="__zr_style_"+Math.round(10*Math.random()),Ud={shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",opacity:1,blend:"source-over"},Jj={style:{shadowBlur:!0,shadowOffsetX:!0,shadowOffsetY:!0,shadowColor:!0,opacity:!0}};Ud[Ao]=!0;var Bo=["z","z2","invisible"],de=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype._init=function(c){for(var a=ia(c),e=0;e<a.length;e++){var f=a[e];"style"===f?this.useStyle(c[f]):b.prototype.attrKV.call(this,f,c[f])}this.style||this.useStyle({})};a.prototype.beforeBrush=function(){};a.prototype.afterBrush=function(){};a.prototype.innerBeforeBrush=function(){};a.prototype.innerAfterBrush=function(){};a.prototype.shouldBePainted=function(c,a,b,f){var d=this.transform,e;!(e=this.ignore||this.invisible||0===this.style.opacity)&&(e=this.culling)&&(Co.copy(this.getBoundingRect()),this.transform&&Co.applyTransform(this.transform),Do.width=c,Do.height=a,e=!Co.intersect(Do));if(e||d&&!d[0]&&!d[3])return!1;if(b&&this.__clipPaths)for(c=0;c<this.__clipPaths.length;++c)if(this.__clipPaths[c].isZeroArea())return!1;if(f&&this.parent)for(f=this.parent;f;){if(f.ignore)return!1;f=f.parent}return!0};a.prototype.contain=function(c,a){return this.rectContain(c,a)};a.prototype.traverse=function(c,a){c.call(a,this)};a.prototype.rectContain=function(c,a){var b=this.transformCoordToLocal(c,a);return this.getBoundingRect().contain(b[0],b[1])};a.prototype.getPaintRect=function(){var c=this._paintRect;if(!this._paintRect||this.__dirty){var a=this.transform,b=this.getBoundingRect(),c=this.style,f=c.shadowBlur||0,g=c.shadowOffsetX||0,h=c.shadowOffsetY||0,c=this._paintRect||(this._paintRect=new aa(0,0,0,0));a?aa.applyTransform(c,b,a):c.copy(b);if(f||g||h)c.width+=2*f+Math.abs(g),c.height+=2*f+Math.abs(h),c.x=Math.min(c.x,c.x+g-f),c.y=Math.min(c.y,c.y+h-f);a=this.dirtyRectTolerance;c.isZero()||(c.x=Math.floor(c.x-a),c.y=Math.floor(c.y-a),c.width=Math.ceil(c.width+1+2*a),c.height=Math.ceil(c.height+1+2*a))}return c};a.prototype.setPrevPaintRect=function(c){c?(this._prevPaintRect=this._prevPaintRect||new aa(0,0,0,0),this._prevPaintRect.copy(c)):this._prevPaintRect=null};a.prototype.getPrevPaintRect=function(){return this._prevPaintRect};a.prototype.animateStyle=function(c){return this.animate("style",c)};a.prototype.updateDuringAnimation=function(c){"style"===c?this.dirtyStyle():this.markRedraw()};a.prototype.attrKV=function(c,a){"style"!==c?b.prototype.attrKV.call(this,c,a):this.style?this.setStyle(a):this.useStyle(a)};a.prototype.setStyle=function(c,a){"string"===typeof c?this.style[c]=a:F(this.style,c);this.dirtyStyle();return this};a.prototype.dirtyStyle=function(){this.markRedraw();this.__dirty|=a.STYLE_CHANGED_BIT;this._rect&&(this._rect=null)};a.prototype.dirty=function(){this.dirtyStyle()};a.prototype.styleChanged=function(){return!!(this.__dirty&a.STYLE_CHANGED_BIT)};a.prototype.styleUpdated=function(){this.__dirty&=~a.STYLE_CHANGED_BIT};a.prototype.createStyle=function(c){return He(Ud,c)};a.prototype.useStyle=function(c){c[Ao]||(c=this.createStyle(c));this.__inHover?this.__hoverStyle=c:this.style=c;this.dirtyStyle()};a.prototype.isStyleObject=function(c){return c[Ao]};a.prototype._innerSaveToNormal=function(c){b.prototype._innerSaveToNormal.call(this,c);var a=this._normalState;c.style&&!a.style&&(a.style=this._mergeStyle(this.createStyle(),this.style));this._savePrimaryToNormal(c,a,Bo)};a.prototype._applyStateObj=function(c,a,e,f,g,h){b.prototype._applyStateObj.call(this,c,a,e,f,g,h);var d=!(a&&f),l;a&&a.style?g?f?l=a.style:(l=this._mergeStyle(this.createStyle(),e.style),this._mergeStyle(l,a.style)):(l=this._mergeStyle(this.createStyle(),f?this.style:e.style),this._mergeStyle(l,a.style)):d&&(l=e.style);if(l)if(g){var m=this.style;this.style=this.createStyle(d?{}:m);if(d){var n=ia(m);for(f=0;f<n.length;f++)g=n[f],g in l&&(l[g]=l[g],this.style[g]=m[g])}m=ia(l);for(f=0;f<m.length;f++)g=m[f],this.style[g]=this.style[g];this._transitionState(c,{style:l},h,this.getAnimationStyleProps())}else this.useStyle(l);for(f=0;f<Bo.length;f++)g=Bo[f],a&&null!=a[g]?this[g]=a[g]:d&&null!=e[g]&&(this[g]=e[g])};a.prototype._mergeStates=function(c){for(var a=b.prototype._mergeStates.call(this,c),e,f=0;f<c.length;f++){var g=c[f];g.style&&(e=e||{},this._mergeStyle(e,g.style))}e&&(a.style=e);return a};a.prototype._mergeStyle=function(c,a){F(c,a);return c};a.prototype.getAnimationStyleProps=function(){return Jj};a.STYLE_CHANGED_BIT=2;a.initDefaultProps=function(){var c=a.prototype;c.type="displayable";c.invisible=!1;c.z=0;c.z2=0;c.zlevel=0;c.culling=!1;c.cursor="pointer";c.rectHover=!1;c.incremental=!1;c._rect=null;c.dirtyRectTolerance=0;c.__dirty=Hb.REDARAW_BIT|a.STYLE_CHANGED_BIT}();return a}(Hb),Co=new aa(0,0,0,0),Do=new aa(0,0,0,0),fi=Math.pow,Wc=Math.sqrt,Kq=Wc(3),gi=1/3,lc=Oc(),Eb=Oc(),Se=Oc(),$a=Math.min,Ta=Math.max,Eo=Math.sin,Fo=Math.cos,se=2*Math.PI,Kj=Oc(),Lj=Oc(),Mj=Oc(),my=[],ny=[],qa={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},te=[],ue=[],xc=[],xd=[],yc=[],zc=[],kh=Math.min,lh=Math.max,ve=Math.cos,we=Math.sin,Nj=Math.sqrt,Lc=Math.abs,Ld=Math.PI,Zc=2*Ld,Go="undefined"!==typeof Float32Array,mh=[],pc=function(){function b(a){this.dpr=1;this._len=this._y0=this._x0=this._yi=this._xi=this._version=0;a&&(this._saveData=!1);this._saveData&&(this.data=[])}b.prototype.increaseVersion=function(){this._version++};b.prototype.getVersion=function(){return this._version};b.prototype.setScale=function(a,c,b){b=b||0;0<b&&(this._ux=Lc(b/Ij/a)||0,this._uy=Lc(b/Ij/c)||0)};b.prototype.setDPR=function(a){this.dpr=a};b.prototype.setContext=function(a){this._ctx=a};b.prototype.getContext=function(){return this._ctx};b.prototype.beginPath=function(){this._ctx&&this._ctx.beginPath();this.reset();return this};b.prototype.reset=function(){this._saveData&&(this._len=0);this._lineDash&&(this._lineDash=null,this._dashOffset=0);this._pathSegLen&&(this._pathSegLen=null,this._pathLen=0);this._version++};b.prototype.moveTo=function(a,c){this.addData(qa.M,a,c);this._ctx&&this._ctx.moveTo(a,c);this._x0=a;this._y0=c;this._xi=a;this._yi=c;return this};b.prototype.lineTo=function(a,c){var b=Lc(a-this._xi)>this._ux||Lc(c-this._yi)>this._uy||5>this._len;this.addData(qa.L,a,c);this._ctx&&b&&(this._needsDash?this._dashedLineTo(a,c):this._ctx.lineTo(a,c));b&&(this._xi=a,this._yi=c);return this};b.prototype.bezierCurveTo=function(a,c,b,e,f,g){this.addData(qa.C,a,c,b,e,f,g);this._ctx&&(this._needsDash?this._dashedBezierTo(a,c,b,e,f,g):this._ctx.bezierCurveTo(a,c,b,e,f,g));this._xi=f;this._yi=g;return this};b.prototype.quadraticCurveTo=function(a,c,b,e){this.addData(qa.Q,a,c,b,e);this._ctx&&(this._needsDash?this._dashedQuadraticTo(a,c,b,e):this._ctx.quadraticCurveTo(a,c,b,e));this._xi=b;this._yi=e;return this};b.prototype.arc=function(a,c,b,e,f,g){mh[0]=e;mh[1]=f;Pq(mh,g);e=mh[0];f=mh[1];this.addData(qa.A,a,c,b,b,e,f-e,0,g?0:1);this._ctx&&this._ctx.arc(a,c,b,e,f,g);this._xi=ve(f)*b+a;this._yi=we(f)*b+c;return this};b.prototype.arcTo=function(a,c,b,e,f){this._ctx&&this._ctx.arcTo(a,c,b,e,f);return this};b.prototype.rect=function(a,c,b,e){this._ctx&&this._ctx.rect(a,c,b,e);this.addData(qa.R,a,c,b,e);return this};b.prototype.closePath=function(){this.addData(qa.Z);var a=this._ctx,c=this._x0,b=this._y0;a&&(this._needsDash&&this._dashedLineTo(c,b),a.closePath());this._xi=c;this._yi=b;return this};b.prototype.fill=function(a){a&&a.fill();this.toStatic()};b.prototype.stroke=function(a){a&&a.stroke();this.toStatic()};b.prototype.setLineDash=function(a){if(a instanceof Array){this._lineDash=a;for(var c=this._dashIdx=0,b=0;b<a.length;b++)c+=a[b];this._dashSum=c;this._needsDash=!0}else this._lineDash=null,this._needsDash=!1;return this};b.prototype.setLineDashOffset=function(a){this._dashOffset=a;return this};b.prototype.len=function(){return this._len};b.prototype.setData=function(a){var c=a.length;this.data&&this.data.length===c||!Go||(this.data=new Float32Array(c));for(var b=0;b<c;b++)this.data[b]=a[b];this._len=c};b.prototype.appendPath=function(a){a instanceof Array||(a=[a]);for(var c=a.length,b=0,e=this._len,f=0;f<c;f++)b+=a[f].len();Go&&this.data instanceof Float32Array&&(this.data=new Float32Array(e+b));for(f=0;f<c;f++)for(var b=a[f].data,g=0;g<b.length;g++)this.data[e++]=b[g];this._len=e};b.prototype.addData=function(a,c,b,e,f,g,h,k,l){if(this._saveData){var d=this.data;this._len+arguments.length>d.length&&(this._expandData(),d=this.data);for(var n=0;n<arguments.length;n++)d[this._len++]=arguments[n]}};b.prototype._expandData=function(){if(!(this.data instanceof Array)){for(var a=[],c=0;c<this._len;c++)a[c]=this.data[c];this.data=a}};b.prototype._dashedLineTo=function(a,c){var b=this._dashSum,e=this._lineDash,f=this._ctx,g=this._dashOffset,h=this._xi,k=this._yi,l=a-h,m=c-k,n=Nj(l*l+m*m),p=e.length,q,l=l/n,m=m/n;0>g&&(g=b+g);g%=b;b=h-g*l;for(g=k-g*m;0<l&&b<=a||0>l&&b>=a||0===l&&(0<m&&g<=c||0>m&&g>=c);)if(q=this._dashIdx,n=e[q],b+=l*n,g+=m*n,this._dashIdx=(q+1)%p,!(0<l&&b<h||0>l&&b>h||0<m&&g<k||0>m&&g>k))f[q%2?"moveTo":"lineTo"](0<=l?kh(b,a):lh(b,a),0<=m?kh(g,c):lh(g,c));l=b-a;m=g-c;this._dashOffset=-Nj(l*l+m*m)};b.prototype._dashedBezierTo=function(a,c,b,e,f,g){var d=this._ctx,k=this._dashSum,l=this._dashOffset,m=this._lineDash,n=this._xi,p=this._yi,q=0,t=this._dashIdx,u=m.length,w,v,z,r,y=0;0>l&&(l=k+l);l%=k;for(k=0;1>k;k+=.1)w=Oa(n,a,b,f,k+.1)-Oa(n,a,b,f,k),v=Oa(p,c,e,g,k+.1)-Oa(p,c,e,g,k),q+=Nj(w*w+v*v);for(;t<u&&!(y+=m[t],y>l);t++);for(k=(y-l)/q;1>=k;)z=Oa(n,a,b,f,k),r=Oa(p,c,e,g,k),t%2?d.moveTo(z,r):d.lineTo(z,r),k+=m[t]/q,t=(t+1)%u;0!==t%2&&d.lineTo(f,g);w=f-z;v=g-r;this._dashOffset=-Nj(w*w+v*v)};b.prototype._dashedQuadraticTo=function(a,c,b,e){var d=b,g=e;b=(b+2*a)/3;e=(e+2*c)/3;a=(this._xi+2*a)/3;c=(this._yi+2*c)/3;this._dashedBezierTo(a,c,b,e,d,g)};b.prototype.toStatic=function(){if(this._saveData){var a=this.data;a instanceof Array&&(a.length=this._len,Go&&11<this._len&&(this.data=new Float32Array(a)))}};b.prototype.getBoundingRect=function(){xc[0]=xc[1]=yc[0]=yc[1]=Number.MAX_VALUE;xd[0]=xd[1]=zc[0]=zc[1]=-Number.MAX_VALUE;var a=this.data,c=0,b=0,e=0,f=0,g;for(g=0;g<this._len;){var h=a[g++],k=1===g;k&&(c=a[g],b=a[g+1],e=c,f=b);switch(h){case qa.M:c=e=a[g++];b=f=a[g++];yc[0]=e;yc[1]=f;zc[0]=e;zc[1]=f;break;case qa.L:var h=c,l=a[g],c=a[g+1],m=yc,k=zc;m[0]=$a(h,l);m[1]=$a(b,c);k[0]=Ta(h,l);k[1]=Ta(b,c);c=a[g++];b=a[g++];break;case qa.C:var h=c,n=a[g++],l=a[g++],p=a[g++],c=a[g++],m=a[g],k=a[g+1],q=yc,t=zc,u=Lq,w=Oa,v=u(h,n,p,m,my);q[0]=Infinity;q[1]=Infinity;t[0]=-Infinity;t[1]=-Infinity;for(var z=0;z<v;z++){var r=w(h,n,p,m,my[z]);q[0]=$a(r,q[0]);t[0]=Ta(r,t[0])}v=u(b,l,c,k,ny);for(z=0;z<v;z++)n=w(b,l,c,k,ny[z]),q[1]=$a(n,q[1]),t[1]=Ta(n,t[1]);q[0]=$a(h,q[0]);t[0]=Ta(h,t[0]);q[0]=$a(m,q[0]);t[0]=Ta(m,t[0]);q[1]=$a(b,q[1]);t[1]=Ta(b,t[1]);q[1]=$a(k,q[1]);t[1]=Ta(k,t[1]);c=a[g++];b=a[g++];break;case qa.Q:h=c;w=a[g++];q=a[g++];l=a[g];c=a[g+1];m=yc;k=zc;z=Nq;t=Za;v=Ta($a(z(h,w,l),1),0);z=Ta($a(z(b,q,c),1),0);w=t(h,w,l,v);q=t(b,q,c,z);m[0]=$a(h,l,w);m[1]=$a(b,c,q);k[0]=Ta(h,l,w);k[1]=Ta(b,c,q);c=a[g++];b=a[g++];break;case qa.A:c=a[g++];h=a[g++];m=a[g++];b=a[g++];v=a[g++];l=a[g++]+v;g+=1;n=!a[g++];k&&(e=ve(v)*m+c,f=we(v)*b+h);var k=c,q=h,t=m,w=b,z=l,y=n,n=yc,p=zc,u=Qc,r=Rc,L=Math.abs(v-z);if(1E-4>L%se&&1E-4<L)n[0]=k-t,n[1]=q-w,p[0]=k+t,p[1]=q+w;else for(Kj[0]=Fo(v)*t+k,Kj[1]=Eo(v)*w+q,Lj[0]=Fo(z)*t+k,Lj[1]=Eo(z)*w+q,u(n,Kj,Lj),r(p,Kj,Lj),v%=se,0>v&&(v+=se),z%=se,0>z&&(z+=se),v>z&&!y?z+=se:v<z&&y&&(v+=se),y&&(y=z,z=v,v=y),y=0;y<z;y+=Math.PI/2)y>v&&(Mj[0]=Fo(y)*t+k,Mj[1]=Eo(y)*w+q,u(n,Mj,n),r(p,Mj,p));c=ve(l)*m+c;b=we(l)*b+h;break;case qa.R:e=c=a[g++];f=b=a[g++];m=a[g++];k=a[g++];h=e;l=f;m=e+m;k=f+k;q=yc;t=zc;q[0]=$a(h,m);q[1]=$a(l,k);t[0]=Ta(h,m);t[1]=Ta(l,k);break;case qa.Z:c=e,b=f}Qc(xc,xc,yc);Rc(xd,xd,zc)}0===g&&(xc[0]=xc[1]=xd[0]=xd[1]=0);return new aa(xc[0],xc[1],xd[0]-xc[0],xd[1]-xc[1])};b.prototype._calculateLength=function(){var a=this.data,c=this._len,b=this._ux,e=this._uy,f=0,g=0,h=0,k=0;this._pathSegLen||(this._pathSegLen=[]);for(var l=this._pathSegLen,m=0,n=0,p=0;p<c;){var q=a[p++],t=1===p;t&&(f=a[p],g=a[p+1],h=f,k=g);var u=-1;switch(q){case qa.M:f=h=a[p++];g=k=a[p++];break;case qa.L:var q=a[p++],t=a[p++],w=q-f,v=t-g;if(Lc(w)>b||Lc(v)>e||p===c-1)u=Math.sqrt(w*w+v*v),f=q,g=t;break;case qa.C:for(var u=a[p++],z=a[p++],q=a[p++],t=a[p++],w=a[p++],v=a[p++],r=w,y=v,L=f,D=g,x=0,E=1;10>=E;E++)var G=.1*E,A=Oa(f,u,q,r,G),G=Oa(g,z,t,y,G),L=A-L,D=G-D,x=x+Math.sqrt(L*L+D*D),L=A,D=G;u=x;f=w;g=v;break;case qa.Q:u=a[p++];z=a[p++];q=a[p++];t=a[p++];w=f;v=g;f=u;g=z;u=q;z=t;D=w;E=v;r=0;for(y=1;10>=y;y++)A=.1*y,x=Za(w,f,u,A),A=Za(v,g,z,A),D=x-D,E=A-E,r+=Math.sqrt(D*D+E*E),D=x,E=A;u=r;f=q;g=t;break;case qa.A:f=a[p++];q=a[p++];g=a[p++];w=a[p++];u=a[p++];z=a[p++];v=z+u;p+=1;p++;t&&(h=ve(u)*g+f,k=we(u)*w+q);u=lh(g,w)*kh(Zc,Math.abs(z));f=ve(v)*g+f;g=we(v)*w+q;break;case qa.R:h=f=a[p++];k=g=a[p++];t=a[p++];q=a[p++];u=2*t+2*q;break;case qa.Z:w=h-f,v=k-g,u=Math.sqrt(w*w+v*v),f=h,g=k}0<=u&&(l[n++]=u,m+=u)}return this._pathLen=m};b.prototype.rebuildPath=function(a,c){var b=this.data,e=this._ux,f=this._uy,g=this._len,h,k,l,m,n,p,q=1>c,t,u,w=0,v=0;if(q&&(this._pathSegLen||this._calculateLength(),t=this._pathSegLen,u=this._pathLen,u*=c,!u))return;var z=0;a:for(;z<g;){var r=b[z++];if(n=1===z)l=b[z],m=b[z+1],h=l,k=m;switch(r){case qa.M:h=l=b[z++];k=m=b[z++];a.moveTo(l,m);break;case qa.L:n=b[z++];p=b[z++];if(Lc(n-l)>e||Lc(p-m)>f||z===g-1){if(q){r=t[v++];if(w+r>u){b=(u-w)/r;a.lineTo(l*(1-b)+n*b,m*(1-b)+p*b);break a}w+=r}a.lineTo(n,p);l=n;m=p}break;case qa.C:n=b[z++];p=b[z++];var y=b[z++],L=b[z++],D=b[z++],x=b[z++];if(q){r=t[v++];if(w+r>u){b=(u-w)/r;Re(l,n,y,D,b,te);Re(m,p,L,x,b,ue);a.bezierCurveTo(te[1],ue[1],te[2],ue[2],te[3],ue[3]);break a}w+=r}a.bezierCurveTo(n,p,y,L,D,x);l=D;m=x;break;case qa.Q:n=b[z++];p=b[z++];y=b[z++];L=b[z++];if(q){r=t[v++];if(w+r>u){b=(u-w)/r;Yc(l,n,y,b,te);Yc(m,p,L,b,ue);a.quadraticCurveTo(te[1],ue[1],te[2],ue[2]);break a}w+=r}a.quadraticCurveTo(n,p,y,L);l=y;m=L;break;case qa.A:l=b[z++];m=b[z++];L=b[z++];p=b[z++];var D=b[z++],x=b[z++],E=b[z++],G=!b[z++],A=L>p?L:p,C=.001<Lc(L-p),y=D+x,F=!1;q&&(r=t[v++],w+r>u&&(y=D+x*(u-w)/r,F=!0),w+=r);C&&a.ellipse?a.ellipse(l,m,L,p,E,D,y,G):a.arc(l,m,A,D,y,G);if(F)break a;n&&(h=ve(D)*L+l,k=we(D)*p+m);l=ve(y)*L+l;m=we(y)*p+m;break;case qa.R:h=l=b[z];k=m=b[z+1];n=b[z++];p=b[z++];y=b[z++];L=b[z++];if(q){r=t[v++];if(w+r>u){h=u-w;a.moveTo(n,p);a.lineTo(n+kh(h,y),p);h-=y;0<h&&a.lineTo(n+y,p+kh(h,L));h-=L;0<h&&a.lineTo(n+lh(y-h,0),p+L);h-=y;0<h&&a.lineTo(n,p+lh(L-h,0));break a}w+=r}a.rect(n,p,y,L);break;case qa.Z:if(q){r=t[v++];if(w+r>u){b=(u-w)/r;a.lineTo(l*(1-b)+h*b,m*(1-b)+k*b);break a}w+=r}a.closePath();l=h;m=k}}};b.CMD=qa;b.initDefaultProps=function(){var a=b.prototype;a._saveData=!0;a._needsDash=!1;a._dashOffset=0;a._dashIdx=0;a._dashSum=0;a._ux=0;a._uy=0}();return b}(),Rq=2*Math.PI,dg=2*Math.PI,bd=pc.CMD,Te=2*Math.PI,hb=[-1,-1,-1],Fb=[-1,-1],oy=K({fill:"#000",stroke:null,strokePercent:1,fillOpacity:1,strokeOpacity:1,lineDashOffset:0,lineWidth:1,lineCap:"butt",miterLimit:10,strokeNoScale:!1,strokeFirst:!1},Ud),JI={style:K({fill:!0,stroke:!0,strokePercent:!0,fillOpacity:!0,strokeOpacity:!0,lineDashOffset:!0,lineWidth:!0,miterLimit:!0},Jj.style)},Ho="x y rotation scaleX scaleY originX originY invisible culling z z2 zlevel parent".split(" "),Y=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.update=function(){var c=this;b.prototype.update.call(this);var d=this.style;if(d.decal){var e=this._decalEl=this._decalEl||new a;e.buildPath===a.prototype.buildPath&&(e.buildPath=function(a){c.buildPath(a,c.shape)});e.silent=!0;var f=e.style,g;for(g in d)f[g]!==d[g]&&(f[g]=d[g]);f.fill=d.fill?d.decal:null;f.decal=null;f.shadowColor=null;d.strokeFirst&&(f.stroke=null);for(d=0;d<Ho.length;++d)e[Ho[d]]=this[Ho[d]];e.__dirty|=Hb.REDARAW_BIT}else this._decalEl&&(this._decalEl=null)};a.prototype.getDecalElement=function(){return this._decalEl};a.prototype._init=function(c){var a=ia(c);this.shape=this.getDefaultShape();var e=this.getDefaultStyle();e&&this.useStyle(e);for(e=0;e<a.length;e++){var f=a[e],g=c[f];"style"===f?this.style?F(this.style,g):this.useStyle(g):"shape"===f?F(this.shape,g):b.prototype.attrKV.call(this,f,g)}this.style||this.useStyle({})};a.prototype.getDefaultStyle=function(){return null};a.prototype.getDefaultShape=function(){return{}};a.prototype.canBeInsideText=function(){return this.hasFill()};a.prototype.getInsideTextFill=function(){var c=this.style.fill;if("none"!==c){if(da(c))return c=Vf(c,0),.5<c?"#333":.2<c?"#eee":"#ccc";if(c)return"#ccc"}return"#333"};a.prototype.getInsideTextStroke=function(c){var a=this.style.fill;if(da(a)){var b=this.__zr,b=!(!b||!b.isDarkMode());c=.4>Vf(c,0);if(b===c)return a}};a.prototype.buildPath=function(c,a,b){};a.prototype.pathUpdated=function(){this.__dirty&=~a.SHAPE_CHANGED_BIT};a.prototype.createPathProxy=function(){this.path=new pc(!1)};a.prototype.hasStroke=function(){var c=this.style,a=c.stroke;return!(null==a||"none"===a||!(0<c.lineWidth))};a.prototype.hasFill=function(){var c=this.style.fill;return null!=c&&"none"!==c};a.prototype.getBoundingRect=function(){var c=this._rect,b=this.style,e=!c;if(e){var f=!1;this.path||(f=!0,this.createPathProxy());c=this.path;if(f||this.__dirty&a.SHAPE_CHANGED_BIT)c.beginPath(),this.buildPath(c,this.shape,!1),this.pathUpdated();c=c.getBoundingRect()}this._rect=c;if(this.hasStroke()&&this.path&&0<this.path.len()){f=this._rectWithStroke||(this._rectWithStroke=c.clone());if(this.__dirty||e)f.copy(c),e=b.strokeNoScale?this.getLineScale():1,b=b.lineWidth,this.hasFill()||(c=this.strokeContainThreshold,b=Math.max(b,null==c?4:c)),1E-10<e&&(f.width+=b/e,f.height+=b/e,f.x-=b/e/2,f.y-=b/e/2);return f}return c};a.prototype.contain=function(c,a){var b=this.transformCoordToLocal(c,a),d=this.getBoundingRect(),g=this.style;c=b[0];a=b[1];if(d.contain(c,a)){b=this.path;if(this.hasStroke()&&(d=g.lineWidth,g=g.strokeNoScale?this.getLineScale():1,1E-10<g&&(this.hasFill()||(d=Math.max(d,this.strokeContainThreshold)),Sq(b,d/g,!0,c,a))))return!0;if(this.hasFill())return Sq(b,0,!1,c,a)}return!1};a.prototype.dirtyShape=function(){this.__dirty|=a.SHAPE_CHANGED_BIT;this._rect&&(this._rect=null);this._decalEl&&this._decalEl.dirtyShape();this.markRedraw()};a.prototype.dirty=function(){this.dirtyStyle();this.dirtyShape()};a.prototype.animateShape=function(c){return this.animate("shape",c)};a.prototype.updateDuringAnimation=function(c){"style"===c?this.dirtyStyle():"shape"===c?this.dirtyShape():this.markRedraw()};a.prototype.attrKV=function(c,a){"shape"===c?this.setShape(a):b.prototype.attrKV.call(this,c,a)};a.prototype.setShape=function(c,a){var b=this.shape;b||(b=this.shape={});"string"===typeof c?b[c]=a:F(b,c);this.dirtyShape();return this};a.prototype.shapeChanged=function(){return!!(this.__dirty&a.SHAPE_CHANGED_BIT)};a.prototype.createStyle=function(c){return He(oy,c)};a.prototype._innerSaveToNormal=function(c){b.prototype._innerSaveToNormal.call(this,c);var a=this._normalState;c.shape&&!a.shape&&(a.shape=F({},this.shape))};a.prototype._applyStateObj=function(c,a,e,f,g,h){b.prototype._applyStateObj.call(this,c,a,e,f,g,h);var d=!(a&&f),l;a&&a.shape?g?f?l=a.shape:(l=F({},e.shape),F(l,a.shape)):(l=F({},f?this.shape:e.shape),F(l,a.shape)):d&&(l=e.shape);if(l)if(g){this.shape=F({},this.shape);a={};e=ia(l);for(f=0;f<e.length;f++)g=e[f],"object"===typeof l[g]?this.shape[g]=l[g]:a[g]=l[g];this._transitionState(c,{shape:a},h)}else this.shape=l,this.dirtyShape()};a.prototype._mergeStates=function(c){for(var a=b.prototype._mergeStates.call(this,c),e,f=0;f<c.length;f++){var g=c[f];g.shape&&(e=e||{},this._mergeStyle(e,g.shape))}e&&(a.shape=e);return a};a.prototype.getAnimationStyleProps=function(){return JI};a.prototype.isZeroArea=function(){return!1};a.extend=function(c){var b=function(a){function b(b){var d=a.call(this,b)||this;c.init&&c.init.call(d,b);return d}x(b,a);b.prototype.getDefaultStyle=function(){return J(c.style)};b.prototype.getDefaultShape=function(){return J(c.shape)};return b}(a),e;for(e in c)"function"===typeof c[e]&&(b.prototype[e]=c[e]);return b};a.SHAPE_CHANGED_BIT=4;a.initDefaultProps=function(){var c=a.prototype;c.type="path";c.strokeContainThreshold=5;c.segmentIgnoreThreshold=0;c.subPixelOptimize=!1;c.autoBatch=!1;c.__dirty=Hb.REDARAW_BIT|de.STYLE_CHANGED_BIT|a.SHAPE_CHANGED_BIT}();return a}(de),KI=K({strokeFirst:!0,font:"12px sans-serif",x:0,y:0,textAlign:"left",textBaseline:"top",miterLimit:2},oy),Vd=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.hasStroke=function(){var c=this.style,a=c.stroke;return null!=a&&"none"!==a&&0<c.lineWidth};a.prototype.hasFill=function(){var c=this.style.fill;return null!=c&&"none"!==c};a.prototype.createStyle=function(c){return He(KI,c)};a.prototype.setBoundingRect=function(c){this._rect=c};a.prototype.getBoundingRect=function(){var c=this.style;if(!this._rect){var a=c.text;null!=a?a+="":a="";a=$f(a,c.font,c.textAlign,c.textBaseline);a.x+=c.x||0;a.y+=c.y||0;this.hasStroke()&&(c=c.lineWidth,a.x-=c/2,a.y-=c/2,a.width+=c,a.height+=c);this._rect=a}return this._rect};a.prototype.dirtyRectTolerance=10;a.initDefaultProps=void 0;return a}(de);Vd.prototype.type="tspan";var LI=K({x:0,y:0},Ud),MI={style:K({x:!0,y:!0,width:!0,height:!0,sx:!0,sy:!0,sWidth:!0,sHeight:!0},Jj.style)},Ga=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.createStyle=function(c){return He(LI,c)};a.prototype._getSize=function(c){var a=this.style,b=a[c];if(null!=b)return b;b=(b=a.image)&&"string"!==typeof b&&b.width&&b.height?a.image:this.__image;if(!b)return 0;var f="width"===c?"height":"width",a=a[f];return null==a?b[c]:b[c]/b[f]*a};a.prototype.getWidth=function(){return this._getSize("width")};a.prototype.getHeight=function(){return this._getSize("height")};a.prototype.getAnimationStyleProps=function(){return MI};a.prototype.getBoundingRect=function(){var c=this.style;this._rect||(this._rect=new aa(c.x||0,c.y||0,this.getWidth(),this.getHeight()));return this._rect};return a}(de);Ga.prototype.type="image";var Ue=Math.round,NI=function(){return function(){this.height=this.width=this.y=this.x=0}}(),OI={},Z=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultShape=function(){return new NI};a.prototype.buildPath=function(c,a){var b,d,g,h;if(this.subPixelOptimize){var k=Uq(OI,a,this.style);b=k.x;d=k.y;g=k.width;h=k.height;k.r=a.r;a=k}else b=a.x,d=a.y,g=a.width,h=a.height;if(a.r){b=a.x;d=a.y;g=a.width;h=a.height;var l=a.r,m,n,p;0>g&&(b+=g,g=-g);0>h&&(d+=h,h=-h);"number"===typeof l?k=m=n=p=l:l instanceof Array?1===l.length?k=m=n=p=l[0]:2===l.length?(k=n=l[0],m=p=l[1]):3===l.length?(k=l[0],m=p=l[1],n=l[2]):(k=l[0],m=l[1],n=l[2],p=l[3]):k=m=n=p=0;k+m>g&&(l=k+m,k*=g/l,m*=g/l);n+p>g&&(l=n+p,n*=g/l,p*=g/l);m+n>h&&(l=m+n,m*=h/l,n*=h/l);k+p>h&&(l=k+p,k*=h/l,p*=h/l);c.moveTo(b+k,d);c.lineTo(b+g-m,d);0!==m&&c.arc(b+g-m,d+m,m,-Math.PI/2,0);c.lineTo(b+g,d+h-n);0!==n&&c.arc(b+g-n,d+h-n,n,0,Math.PI/2);c.lineTo(b+p,d+h);0!==p&&c.arc(b+p,d+h-p,p,Math.PI/2,Math.PI);c.lineTo(b,d+k);0!==k&&c.arc(b+k,d+k,k,Math.PI,1.5*Math.PI)}else c.rect(b,d,g,h)};a.prototype.isZeroArea=function(){return!this.shape.width||!this.shape.height};return a}(Y);Z.prototype.type="rect";var py={fill:"#000"},PI={style:K({fill:!0,stroke:!0,fillOpacity:!0,strokeOpacity:!0,lineWidth:!0,fontSize:!0,lineHeight:!0,width:!0,height:!0,textShadowColor:!0,textShadowBlur:!0,textShadowOffsetX:!0,textShadowOffsetY:!0,backgroundColor:!0,padding:!0,borderColor:!0,borderWidth:!0,borderRadius:!0},Jj.style)},ha=function(b){function a(c){var a=b.call(this)||this;a.type="text";a._children=[];a._defaultStyle=py;a.attr(c);return a}x(a,b);a.prototype.childrenRef=function(){return this._children};a.prototype.update=function(){this.styleChanged()&&this._updateSubTexts();for(var c=0;c<this._children.length;c++){var a=this._children[c];a.zlevel=this.zlevel;a.z=this.z;a.z2=this.z2;a.culling=this.culling;a.cursor=this.cursor;a.invisible=this.invisible}(c=this.attachedTransform)?(c.updateTransform(),(c=c.transform)?(this.transform=this.transform||[],Je(this.transform,c)):this.transform=null):b.prototype.update.call(this)};a.prototype.getComputedTransform=function(){this.__hostTarget&&(this.__hostTarget.getComputedTransform(),this.__hostTarget.updateInnerText(!0));return this.attachedTransform?this.attachedTransform.getComputedTransform():b.prototype.getComputedTransform.call(this)};a.prototype._updateSubTexts=function(){this._childCursor=0;var c=this.style;Vq(c);r(c.rich,Vq);this.style.rich?this._updateRichTexts():this._updatePlainTexts();this._children.length=this._childCursor;this.styleUpdated()};a.prototype.addSelfToZr=function(c){b.prototype.addSelfToZr.call(this,c);for(var a=0;a<this._children.length;a++)this._children[a].__zr=c};a.prototype.removeSelfFromZr=function(c){b.prototype.removeSelfFromZr.call(this,c);for(c=0;c<this._children.length;c++)this._children[c].__zr=null};a.prototype.getBoundingRect=function(){this.styleChanged()&&this._updateSubTexts();if(!this._rect){for(var c=new aa(0,0,0,0),a=this._children,b=[],f=null,g=0;g<a.length;g++){var h=a[g],k=h.getBoundingRect();(h=h.getLocalTransform(b))?(c.copy(k),c.applyTransform(h),f=f||c.clone(),f.union(c)):(f=f||k.clone(),f.union(k))}this._rect=f||c}return this._rect};a.prototype.setDefaultTextStyle=function(c){this._defaultStyle=c||py};a.prototype.setTextContent=function(c){throw Error("Can't attach text on another text");};a.prototype._mergeStyle=function(c,a){if(!a)return c;var b=a.rich,d=c.rich||b&&{};F(c,a);b&&d?(this._mergeRich(d,b),c.rich=d):d&&(c.rich=d);return c};a.prototype._mergeRich=function(c,a){for(var b=ia(a),d=0;d<b.length;d++){var g=b[d];c[g]=c[g]||{};F(c[g],a[g])}};a.prototype.getAnimationStyleProps=function(){return PI};a.prototype._getOrCreateChild=function(c){var a=this._children[this._childCursor];a&&a instanceof c||(a=new c);this._children[this._childCursor++]=a;a.__zr=this.__zr;a.parent=this;return a};a.prototype._updatePlainTexts=function(){var c,a,b,f=this.style,g=f.font||"12px sans-serif",h=f.padding,k=Xq(f);null!=k&&(k+="");var l=f.overflow;a=f.padding;c=f.font;var m="truncate"===l,n=Ya("\u56fd",c),p=ka(f.lineHeight,n),q="truncate"===f.lineOverflow,t=f.width,l=null!=t&&"break"===l||"breakAll"===l?k?Hq(k,f.font,t,"breakAll"===l,0).lines:[]:k?k.split("\n"):[],u=l.length*p,w=ka(f.height,u);u>w&&q&&(l=l.slice(0,Math.floor(w/p)));q=w;w=t;a&&(q+=a[0]+a[2],null!=w&&(w+=a[1]+a[3]));if(k&&m&&null!=w)for(a=Fq(t,c,f.ellipsis,{minChar:f.truncateMinChar,placeholder:f.placeholder}),k=0;k<l.length;k++)l[k]=Gq(l[k],a);if(null==t)for(k=t=0;k<l.length;k++)t=Math.max(Ya(l[k],c),t);c=l;a=q;b=t;var m=jl(f),q=!!f.backgroundColor,k=this._defaultStyle,w=f.x||0,v=f.y||0,t=f.align||k.align||"left",r=f.verticalAlign||k.verticalAlign||"top",l=w,u=Oe(v,u,r);if(m||h){h&&(b+=h[1]+h[3]);var B=Zf(w,b,t),v=Oe(v,a,r);m&&this._renderBackground(f,f,B,v,b,a)}u+=p/2;h&&(l=Wq(w,t,h),"top"===r?u+=h[0]:"bottom"===r&&(u-=h[2]));h=0;m=!1;a="fill"in f?f.fill:(m=!0,k.fill);a=null==a||"none"===a?null:a.image||a.colorStops?"#000":a;q=il("stroke"in f?f.stroke:q||k.autoStroke&&!m?null:(h=2,k.stroke));k=0<f.textShadowBlur;m=null!=f.width&&("truncate"===f.overflow||"break"===f.overflow||"breakAll"===f.overflow);for(w=0;w<c.length;w++)r=this._getOrCreateChild(Vd),v=r.createStyle(),r.useStyle(v),v.text=c[w],v.x=l,v.y=u,t&&(v.textAlign=t),v.textBaseline="middle",v.opacity=f.opacity,v.strokeFirst=!0,k&&(v.shadowBlur=f.textShadowBlur||0,v.shadowColor=f.textShadowColor||"transparent",v.shadowOffsetX=f.textShadowOffsetX||0,v.shadowOffsetY=f.textShadowOffsetY||0),q&&(v.stroke=q,v.lineWidth=f.lineWidth||h,v.lineDash=f.lineDash,v.lineDashOffset=f.lineDashOffset||0),a&&(v.fill=a),v.font=g,u+=p,m&&r.setBoundingRect(new aa(Zf(v.x,f.width,v.textAlign),Oe(v.y,n,v.textBaseline),f.width,n))};a.prototype._updateRichTexts=function(){var c=this.style;var a=Xq(c),b=new II;null!=a&&(a+="");if(a){for(var f=c.width,g=c.height,h=c.overflow,k="break"!==h&&"breakAll"!==h||null==f?null:{width:f,accumWidth:0,breakAll:"breakAll"===h},l=zo.lastIndex=0,m;null!=(m=zo.exec(a));){var n=m.index;n>l&&fl(b,a.substring(l,n),c,k);fl(b,m[2],c,k,m[1]);l=zo.lastIndex}l<a.length&&fl(b,a.substring(l,a.length),c,k);a=[];l=k=0;m=c.padding;var p="truncate"===h,q="truncate"===c.lineOverflow,h=0;b:for(;h<b.lines.length;h++){for(var t=b.lines[h],u=n=0,w=0;w<t.tokens.length;w++){var v=t.tokens[w],r=v.styleName&&c.rich[v.styleName]||{},B=v.textPadding=r.padding,y=B?B[1]+B[3]:0,L=v.font=r.font||c.font;v.contentHeight=Ya("\u56fd",L);var D=ka(r.height,v.contentHeight);v.innerHeight=D;B&&(D+=B[0]+B[2]);v.height=D;v.lineHeight=zb(r.lineHeight,c.lineHeight,D);v.align=r&&r.align||c.align;v.verticalAlign=r&&r.verticalAlign||"middle";if(q&&null!=g&&k+v.lineHeight>g){0<w?(t.tokens=t.tokens.slice(0,w),p=t,q=u,p.width=q,p.lineHeight=n,k+=n,l=Math.max(l,q),b.lines=b.lines.slice(0,h+1)):b.lines=b.lines.slice(0,h);break b}var x=r.width,B=null==x||"auto"===x;"string"===typeof x&&"%"===x.charAt(x.length-1)?(v.percentWidth=x,a.push(v),v.contentWidth=Ya(v.text,L)):(B&&(x=(x=r.backgroundColor)&&x.image)&&("string"===typeof x&&(x=(x=el.get(x))&&x.image),x&&x.width&&x.height&&(v.width=Math.max(v.width,x.width*D/x.height))),D=p&&null!=f?f-u:null,null!=D&&D<v.width?!B||D<y?(v.text="",v.width=v.contentWidth=0):(v.text=Eq(v.text,D-y,L,c.ellipsis,{minChar:c.truncateMinChar}),v.width=v.contentWidth=Ya(v.text,L)):v.contentWidth=Ya(v.text,L));v.width+=y;u+=v.width;r&&(n=Math.max(n,v.lineHeight))}t.width=u;t.lineHeight=n;k+=n;l=Math.max(l,u)}b.outerWidth=b.width=ka(f,l);b.outerHeight=b.height=ka(g,k);b.contentHeight=k;b.contentWidth=l;m&&(b.outerWidth+=m[1]+m[3],b.outerHeight+=m[0]+m[2]);for(h=0;h<a.length;h++)v=a[h],v.width=parseInt(v.percentWidth,10)/100*b.width}f=b.width;l=b.outerWidth;m=b.outerHeight;k=c.padding;g=c.y||0;h=this._defaultStyle;a=c.verticalAlign||h.verticalAlign;h=Zf(c.x||0,l,c.align||h.align);n=Oe(g,m,a);g=h;a=n;k&&(g+=k[3],a+=k[0]);k=g+f;jl(c)&&this._renderBackground(c,c,h,n,l,m);l=!!c.backgroundColor;for(m=0;m<b.lines.length;m++){q=b.lines[m];h=q.tokens;n=h.length;p=q.lineHeight;q=q.width;u=0;t=g;w=k;v=n-1;for(r=void 0;u<n&&(r=h[u],!r.align||"left"===r.align);)this._placeToken(r,c,p,a,t,"left",l),q-=r.width,t+=r.width,u++;for(;0<=v&&(r=h[v],"right"===r.align);)this._placeToken(r,c,p,a,w,"right",l),q-=r.width,w-=r.width,v--;for(t+=(f-(t-g)-(k-w)-q)/2;u<=v;)r=h[u],this._placeToken(r,c,p,a,t+r.width/2,"center",l),t+=r.width,u++;a+=p}};a.prototype._placeToken=function(c,a,b,f,g,h,k){var d=a.rich[c.styleName]||{};d.text=c.text;var e=c.verticalAlign,n=f+b/2;"top"===e?n=f+c.height/2:"bottom"===e&&(n=f+b-c.height/2);!c.isLineHolder&&jl(d)&&this._renderBackground(d,a,"right"===h?g-c.width:"center"===h?g-c.width/2:g,n-c.height/2,c.width,c.height);var p=!!d.backgroundColor;if(b=c.textPadding)g=Wq(g,h,b),n-=c.height/2-b[0]-c.innerHeight/2;b=this._getOrCreateChild(Vd);f=b.createStyle();b.useStyle(f);var q=this._defaultStyle,t=!1,e=0,u=il("fill"in d?d.fill:"fill"in a?a.fill:(t=!0,q.fill));k=il("stroke"in d?d.stroke:"stroke"in a?a.stroke:p||k||q.autoStroke&&!t?null:(e=2,q.stroke));p=0<d.textShadowBlur||0<a.textShadowBlur;f.text=c.text;f.x=g;f.y=n;p&&(f.shadowBlur=d.textShadowBlur||a.textShadowBlur||0,f.shadowColor=d.textShadowColor||a.textShadowColor||"transparent",f.shadowOffsetX=d.textShadowOffsetX||a.textShadowOffsetX||0,f.shadowOffsetY=d.textShadowOffsetY||a.textShadowOffsetY||0);f.textAlign=h;f.textBaseline="middle";f.font=c.font||"12px sans-serif";f.opacity=zb(d.opacity,a.opacity,1);k&&(f.lineWidth=zb(d.lineWidth,a.lineWidth,e),f.lineDash=ka(d.lineDash,a.lineDash),f.lineDashOffset=a.lineDashOffset||0,f.stroke=k);u&&(f.fill=u);a=c.contentWidth;c=c.contentHeight;b.setBoundingRect(new aa(Zf(f.x,a,f.textAlign),Oe(f.y,c,f.textBaseline),a,c))};a.prototype._renderBackground=function(c,a,b,f,g,h){var d=c.backgroundColor,e=c.borderWidth,m=c.borderColor,n=da(d),p=c.borderRadius,q=this,t,u;if(n||e&&m){t=this._getOrCreateChild(Z);t.useStyle(t.createStyle());t.style.fill=null;var w=t.shape;w.x=b;w.y=f;w.width=g;w.height=h;w.r=p;t.dirtyShape()}n?(b=t.style,b.fill=d||null,b.fillOpacity=ka(c.fillOpacity,1)):d&&d.image&&(u=this._getOrCreateChild(Ga),u.onload=function(){q.dirtyStyle()},n=u.style,n.image=d.image,n.x=b,n.y=f,n.width=g,n.height=h);e&&m&&(b=t.style,b.lineWidth=e,b.stroke=m,b.strokeOpacity=ka(c.strokeOpacity,1),b.lineDash=c.borderDash,b.lineDashOffset=c.borderDashOffset||0,t.strokeContainThreshold=0,t.hasFill()&&t.hasStroke()&&(b.strokeFirst=!0,b.lineWidth*=2));d=(t||u).style;d.shadowBlur=c.shadowBlur||0;d.shadowColor=c.shadowColor||"transparent";d.shadowOffsetX=c.shadowOffsetX||0;d.shadowOffsetY=c.shadowOffsetY||0;d.opacity=zb(c.opacity,a.opacity,1)};a.makeFont=function(c){var a="";if(c.fontSize||c.fontFamily||c.fontWeight)a="string"!==typeof c.fontSize||-1===c.fontSize.indexOf("px")&&-1===c.fontSize.indexOf("rem")&&-1===c.fontSize.indexOf("em")?isNaN(+c.fontSize)?"12px":c.fontSize+"px":c.fontSize,a=[c.fontStyle,c.fontWeight,a,c.fontFamily||"sans-serif"].join(" ");return a&&Va(a)||c.textFont||c.font};return a}(de),JA={left:!0,right:1,center:1},KA={top:1,bottom:1,middle:1},S=ma(),hr=1,gr={},dr=ma(),tb=["emphasis","blur","select"],Nd=["normal","emphasis","blur","select"],Zq=new Yf(100),fr=["emphasis","blur","select"],NA={itemStyle:"getItemStyle",lineStyle:"getLineStyle",areaStyle:"getAreaStyle"},Xe=pc.CMD,TA=[[],[],[]],kr=Math.sqrt,SA=Math.atan2,sl=Math.sqrt,mi=Math.sin,li=Math.cos,fg=Math.PI,QA=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig,RA=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g,vl=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.applyTransform=function(c){};return a}(Y),QI=function(){return function(){this.r=this.cy=this.cx=0}}(),Nb=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultShape=function(){return new QI};a.prototype.buildPath=function(c,a,b){b&&c.moveTo(a.cx+a.r,a.cy);c.arc(a.cx,a.cy,a.r,0,2*Math.PI)};return a}(Y);Nb.prototype.type="circle";var RI=function(){return function(){this.ry=this.rx=this.cy=this.cx=0}}(),nh=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultShape=function(){return new RI};a.prototype.buildPath=function(c,a){var b=a.cx,d=a.cy,g=a.rx,h=a.ry,k=.5522848*g,l=.5522848*h;c.moveTo(b-g,d);c.bezierCurveTo(b-g,d-l,b-k,d-h,b,d-h);c.bezierCurveTo(b+k,d-h,b+g,d-l,b+g,d);c.bezierCurveTo(b+g,d+l,b+k,d+h,b,d+h);c.bezierCurveTo(b-k,d+h,b-g,d+l,b-g,d);c.closePath()};return a}(Y);nh.prototype.type="ellipse";var qy=Math.PI,SI=2*qy,xe=Math.sin,Gf=Math.cos,TI=Math.acos,Ia=Math.atan2,ry=Math.abs,gg=Math.sqrt,ul=Math.max,Oj=Math.min,UI=function(){return function(){this.startAngle=this.r=this.r0=this.cy=this.cx=0;this.endAngle=2*Math.PI;this.clockwise=!0;this.innerCornerRadius=this.cornerRadius=0}}(),lb=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultShape=function(){return new UI};a.prototype.buildPath=function(c,a){var b=ul(a.r,0),d=ul(a.r0||0,0),g=0<b;if(g||0<d){g||(b=d,d=0);d>b&&(g=b,b=d,d=g);var g=!!a.clockwise,h=a.startAngle,k=a.endAngle,l=[h,k];Pq(l,!g);var l=ry(l[0]-l[1]),m=a.cx,n=a.cy,p=a.cornerRadius||0,q=a.innerCornerRadius||0;if(1E-4<b)if(l>SI-1E-4)c.moveTo(m+b*Gf(h),n+b*xe(h)),c.arc(m,n,b,h,k,!g),1E-4<d&&(c.moveTo(m+d*Gf(k),n+d*xe(k)),c.arc(m,n,d,k,h,g));else{var t=ry(b-d)/2,p=Oj(t,p),u=q=Oj(t,q),w=p,t=b*Gf(h),v=b*xe(h),r=d*Gf(k),B=d*xe(k),y=void 0,L=void 0,D=void 0,x=void 0;if(1E-4<p||1E-4<q)if(y=b*Gf(k),L=b*xe(k),D=d*Gf(h),x=d*xe(h),l<qy){var E;E=D-t;var G=x-v,A=r-y,C=B-L,F=C*E-A*G;1E-4>F*F?E=void 0:(F=(A*(v-L)-C*(t-y))/F,E=[t+F*E,v+F*G]);E&&(u=t-E[0],w=v-E[1],G=y-E[0],A=L-E[1],w=1/xe(TI((u*G+w*A)/(gg(u*u+w*w)*gg(G*G+A*A)))/2),E=gg(E[0]*E[0]+E[1]*E[1]),u=Oj(q,(d-E)/(w-1)),w=Oj(p,(b-E)/(w+1)))}1E-4<l?1E-4<w?(E=ni(D,x,t,v,b,w,g),G=ni(y,L,r,B,b,w,g),c.moveTo(m+E.cx+E.x01,n+E.cy+E.y01),w<p?c.arc(m+E.cx,n+E.cy,w,Ia(E.y01,E.x01),Ia(G.y01,G.x01),!g):(c.arc(m+E.cx,n+E.cy,w,Ia(E.y01,E.x01),Ia(E.y11,E.x11),!g),c.arc(m,n,b,Ia(E.cy+E.y11,E.cx+E.x11),Ia(G.cy+G.y11,G.cx+G.x11),!g),c.arc(m+G.cx,n+G.cy,w,Ia(G.y11,G.x11),Ia(G.y01,G.x01),!g))):(c.moveTo(m+t,n+v),c.arc(m,n,b,h,k,!g)):c.moveTo(m+t,n+v);1E-4<d&&1E-4<l?1E-4<u?(E=ni(r,B,y,L,d,-u,g),G=ni(t,v,D,x,d,-u,g),c.lineTo(m+E.cx+E.x01,n+E.cy+E.y01),u<q?c.arc(m+E.cx,n+E.cy,u,Ia(E.y01,E.x01),Ia(G.y01,G.x01),!g):(c.arc(m+E.cx,n+E.cy,u,Ia(E.y01,E.x01),Ia(E.y11,E.x11),!g),c.arc(m,n,d,Ia(E.cy+E.y11,E.cx+E.x11),Ia(G.cy+G.y11,G.cx+G.x11),g),c.arc(m+G.cx,n+G.cy,u,Ia(G.y11,G.x11),Ia(G.y01,G.x01),!g))):(c.lineTo(m+r,n+B),c.arc(m,n,d,k,h,g)):c.lineTo(m+r,n+B)}else c.moveTo(m,n);c.closePath()}};a.prototype.isZeroArea=function(){return this.shape.startAngle===this.shape.endAngle||this.shape.r===this.shape.r0};return a}(Y);lb.prototype.type="sector";var VI=function(){return function(){this.r0=this.r=this.cy=this.cx=0}}(),Hf=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultShape=function(){return new VI};a.prototype.buildPath=function(c,a){var b=a.cx,d=a.cy,g=2*Math.PI;c.moveTo(b+a.r,d);c.arc(b,d,a.r,0,g,!1);c.moveTo(b+a.r0,d);c.arc(b,d,a.r0,0,g,!0)};return a}(Y);Hf.prototype.type="ring";var WI=function(){return function(){this.points=null;this.smooth=0;this.smoothConstraint=null}}(),bb=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultShape=function(){return new WI};a.prototype.buildPath=function(c,a){mr(c,a,!0)};return a}(Y);bb.prototype.type="polygon";var XI=function(){return function(){this.points=null;this.percent=1;this.smooth=0;this.smoothConstraint=null}}(),kb=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}};a.prototype.getDefaultShape=function(){return new XI};a.prototype.buildPath=function(c,a){mr(c,a,!1)};return a}(Y);kb.prototype.type="polyline";var YI={},ZI=function(){return function(){this.y2=this.x2=this.y1=this.x1=0;this.percent=1}}(),Ua=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}};a.prototype.getDefaultShape=function(){return new ZI};a.prototype.buildPath=function(c,a){var b,d,g,h;this.subPixelOptimize?(h=Tq(YI,a,this.style),b=h.x1,d=h.y1,g=h.x2,h=h.y2):(b=a.x1,d=a.y1,g=a.x2,h=a.y2);var k=a.percent;0!==k&&(c.moveTo(b,d),1>k&&(g=b*(1-k)+g*k,h=d*(1-k)+h*k),c.lineTo(g,h))};a.prototype.pointAt=function(c){var a=this.shape;return[a.x1*(1-c)+a.x2*c,a.y1*(1-c)+a.y2*c]};return a}(Y);Ua.prototype.type="line";var pb=[],$I=function(){return function(){this.cpy1=this.cpx1=this.y2=this.x2=this.y1=this.x1=0;this.percent=1}}(),rf=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}};a.prototype.getDefaultShape=function(){return new $I};a.prototype.buildPath=function(c,a){var b=a.x1,d=a.y1,g=a.x2,h=a.y2,k=a.cpx1,l=a.cpy1,m=a.cpx2,n=a.cpy2,p=a.percent;0!==p&&(c.moveTo(b,d),null==m||null==n?(1>p&&(Yc(b,k,g,p,pb),k=pb[1],g=pb[2],Yc(d,l,h,p,pb),l=pb[1],h=pb[2]),c.quadraticCurveTo(k,l,g,h)):(1>p&&(Re(b,k,m,g,p,pb),k=pb[1],m=pb[2],g=pb[3],Re(d,l,n,h,p,pb),l=pb[1],n=pb[2],h=pb[3]),c.bezierCurveTo(k,l,m,n,g,h)))};a.prototype.pointAt=function(c){return nr(this.shape,c,!1)};a.prototype.tangentAt=function(c){c=nr(this.shape,c,!0);return Ie(c,c)};return a}(Y);rf.prototype.type="bezier-curve";var aJ=function(){return function(){this.startAngle=this.r=this.cy=this.cx=0;this.endAngle=2*Math.PI;this.clockwise=!0}}(),oh=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}};a.prototype.getDefaultShape=function(){return new aJ};a.prototype.buildPath=function(c,a){var b=a.cx,d=a.cy,g=Math.max(a.r,0),h=a.startAngle,k=a.endAngle,l=a.clockwise;c.moveTo(Math.cos(h)*g+b,Math.sin(h)*g+d);c.arc(b,d,g,h,k,!l)};return a}(Y);oh.prototype.type="arc";var Io=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type="compound";return c}x(a,b);a.prototype._updatePathDirty=function(){for(var c=this.shape.paths,a=this.shapeChanged(),b=0;b<c.length;b++)a=a||c[b].shapeChanged();a&&this.dirtyShape()};a.prototype.beforeBrush=function(){this._updatePathDirty();for(var c=this.shape.paths||[],a=this.getGlobalScale(),b=0;b<c.length;b++)c[b].path||c[b].createPathProxy(),c[b].path.setScale(a[0],a[1],c[b].segmentIgnoreThreshold)};a.prototype.buildPath=function(c,a){for(var b=a.paths||[],d=0;d<b.length;d++)b[d].buildPath(c,b[d].shape,!0)};a.prototype.afterBrush=function(){for(var c=this.shape.paths||[],a=0;a<c.length;a++)c[a].pathUpdated()};a.prototype.getBoundingRect=function(){this._updatePathDirty.call(this);return Y.prototype.getBoundingRect.call(this)};return a}(Y),sy=function(){function b(a){this.colorStops=a||[]}b.prototype.addColorStop=function(a,c){this.colorStops.push({offset:a,color:c})};return b}(),mf=function(b){function a(c,a,e,f,g,h){g=b.call(this,g)||this;g.x=null==c?0:c;g.y=null==a?0:a;g.x2=null==e?1:e;g.y2=null==f?0:f;g.type="linear";g.global=h||!1;return g}x(a,b);return a}(sy),ty=function(b){function a(c,a,e,f,g){f=b.call(this,f)||this;f.x=null==c?.5:c;f.y=null==a?.5:a;f.r=null==e?.5:e;f.type="radial";f.global=g||!1;return f}x(a,b);return a}(sy),ye=[0,0],ze=[0,0],Pj=new V,Qj=new V,Ii=function(){function b(a,c){this._corners=[];this._axes=[];this._origin=[0,0];for(var b=0;4>b;b++)this._corners[b]=new V;for(b=0;2>b;b++)this._axes[b]=new V;a&&this.fromBoundingRect(a,c)}b.prototype.fromBoundingRect=function(a,c){var b=this._corners,e=this._axes,f=a.x,g=a.y,h=f+a.width,k=g+a.height;b[0].set(f,g);b[1].set(h,g);b[2].set(h,k);b[3].set(f,k);if(c)for(f=0;4>f;f++)b[f].transform(c);V.sub(e[0],b[1],b[0]);V.sub(e[1],b[3],b[0]);e[0].normalize();e[1].normalize();for(f=0;2>f;f++)this._origin[f]=e[f].dot(b[0])};b.prototype.intersect=function(a,c){var b=!0,e=!c;Pj.set(Infinity,Infinity);Qj.set(0,0);if(!this._intersectCheckOneSide(this,a,Pj,Qj,e,1)&&(b=!1,e)||!this._intersectCheckOneSide(a,this,Pj,Qj,e,-1)&&(b=!1,e))return b;e||V.copy(c,b?Pj:Qj);return b};b.prototype._intersectCheckOneSide=function(a,c,b,e,f,g){for(var d=!0,k=0;2>k;k++){var l=this._axes[k];this._getProjMinMaxOnAxis(k,a._corners,ye);this._getProjMinMaxOnAxis(k,c._corners,ze);if(ye[1]<ze[0]||ye[0]>ze[1]){d=!1;if(f)break;var m=Math.abs(ze[0]-ye[1]),n=Math.abs(ye[0]-ze[1]);Math.min(m,n)>e.len()&&(m<n?V.scale(e,l,-m*g):V.scale(e,l,n*g))}else b&&(m=Math.abs(ze[0]-ye[1]),n=Math.abs(ye[0]-ze[1]),Math.min(m,n)<b.len()&&(m<n?V.scale(b,l,m*g):V.scale(b,l,-n*g)))}return d};b.prototype._getProjMinMaxOnAxis=function(a,c,b){for(var d=this._axes[a],f=this._origin,g=c[0].dot(d)+f[a],h=g,k=1;k<c.length;k++)var l=c[k].dot(d)+f[a],h=Math.min(l,h),g=Math.max(l,g);b[0]=h;b[1]=g};return b}(),bJ=[],xg=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.notClear=!0;c.incremental=!0;c._displayables=[];c._temporaryDisplayables=[];c._cursor=0;return c}x(a,b);a.prototype.traverse=function(c,a){c.call(a,this)};a.prototype.useStyle=function(){this.style={}};a.prototype.getCursor=function(){return this._cursor};a.prototype.innerAfterBrush=function(){this._cursor=this._displayables.length};a.prototype.clearDisplaybles=function(){this._displayables=[];this._temporaryDisplayables=[];this._cursor=0;this.markRedraw();this.notClear=!1};a.prototype.clearTemporalDisplayables=function(){this._temporaryDisplayables=[]};a.prototype.addDisplayable=function(c,a){a?this._temporaryDisplayables.push(c):this._displayables.push(c);this.markRedraw()};a.prototype.addDisplayables=function(c,a){a=a||!1;for(var b=0;b<c.length;b++)this.addDisplayable(c[b],a)};a.prototype.getDisplayables=function(){return this._displayables};a.prototype.getTemporalDisplayables=function(){return this._temporaryDisplayables};a.prototype.eachPendingDisplayable=function(c){for(var a=this._cursor;a<this._displayables.length;a++)c&&c(this._displayables[a]);for(a=0;a<this._temporaryDisplayables.length;a++)c&&c(this._temporaryDisplayables[a])};a.prototype.update=function(){this.updateTransform();for(var c=this._cursor;c<this._displayables.length;c++){var a=this._displayables[c];a.parent=this;a.update();a.parent=null}for(c=0;c<this._temporaryDisplayables.length;c++)a=this._temporaryDisplayables[c],a.parent=this,a.update(),a.parent=null};a.prototype.getBoundingRect=function(){if(!this._rect){for(var c=new aa(Infinity,Infinity,-Infinity,-Infinity),a=0;a<this._displayables.length;a++){var b=this._displayables[a],f=b.getBoundingRect().clone();b.needLocalTransform()&&f.applyTransform(b.getLocalTransform(bJ));c.union(f)}this._rect=c}return this._rect};a.prototype.contain=function(c,a){var b=this.transformCoordToLocal(c,a);if(this.getBoundingRect().contain(b[0],b[1]))for(b=0;b<this._displayables.length;b++)if(this._displayables[b].contain(c,a))return!0;return!1};return a}(de),qi=Math.max,ri=Math.min,sb={},UA=function(b,a){var c=tl(b,a);return function(a){function b(b){b=a.call(this,b)||this;b.applyTransform=c.applyTransform;b.buildPath=c.buildPath;return b}x(b,a);return b}(vl)},xb=function(b,a){for(var c=[],d=b.length,e=0;e<d;e++){var f=b[e];f.path||f.createPathProxy();f.shapeChanged()&&f.buildPath(f.path,f.shape,!0);c.push(f.path)}d=new Y(a);d.createPathProxy();d.buildPath=function(a){if(null!=a.setData){a.appendPath(c);var b=a.getContext();b&&a.rebuildPath(b,1)}};return d},Rj=Md;sb.circle=Nb;sb.ellipse=nh;sb.sector=lb;sb.ring=Hf;sb.polygon=bb;sb.polyline=kb;sb.rect=Z;sb.line=Ua;sb.bezierCurve=rf;sb.arc=oh;var Yg=Object.freeze({__proto__:null,extendShape:or,extendPath:pr,registerShape:qr,getShapeClass:oi,makePath:hg,makeImage:xl,mergePath:xb,resizePath:wl,subPixelOptimizeLine:function(b){Tq(b.shape,b.shape,b.style);return b},subPixelOptimizeRect:function(b){Uq(b.shape,b.shape,b.style);return b},subPixelOptimize:Rj,updateProps:ea,initProps:za,removeElement:cd,removeElementWithFadeOut:ig,isElementRemoved:Ye,getTransform:dd,applyTransform:Wb,transformDirection:pi,groupTransition:jg,clipPointsByRect:zl,clipRectByRect:tr,createIcon:Ze,linePolygonIntersect:kg,lineLineIntersect:ur,Group:M,Image:Ga,Text:ha,Circle:Nb,Ellipse:nh,Sector:lb,Ring:Hf,Polygon:bb,Polyline:kb,Rect:Z,Line:Ua,BezierCurve:rf,Arc:oh,IncrementalDisplayable:xg,CompoundPath:Io,LinearGradient:mf,RadialGradient:ty,BoundingRect:aa,OrientedBoundingRect:Ii,Point:V,Path:Y}),si={},xr="fontStyle fontWeight fontSize fontFamily textShadowColor textShadowBlur textShadowOffsetX textShadowOffsetY".split(" "),yr="align lineHeight width height tag verticalAlign".split(" "),zr="padding borderWidth borderRadius borderDashOffset backgroundColor borderColor shadowColor shadowBlur shadowOffsetX shadowOffsetY".split(" "),lg=ma(),cJ=["textStyle","color"],Jo=new ha,dJ=function(){function b(){}b.prototype.getTextColor=function(a){var c=this.ecModel;return this.getShallow("color")||(!a&&c?c.get(cJ):null)};b.prototype.getFont=function(){return Ar({fontStyle:this.getShallow("fontStyle"),fontWeight:this.getShallow("fontWeight"),fontSize:this.getShallow("fontSize"),fontFamily:this.getShallow("fontFamily")},this.ecModel)};b.prototype.getTextRect=function(a){Jo.useStyle({text:a,fontStyle:this.getShallow("fontStyle"),fontWeight:this.getShallow("fontWeight"),fontSize:this.getShallow("fontSize"),fontFamily:this.getShallow("fontFamily"),verticalAlign:this.getShallow("verticalAlign")||this.getShallow("baseline"),padding:this.getShallow("padding"),lineHeight:this.getShallow("lineHeight"),rich:this.getShallow("rich")});Jo.update();return Jo.getBoundingRect()};return b}(),uy=[["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["lineDash","type"],["lineDashOffset","dashOffset"],["lineCap","cap"],["lineJoin","join"],["miterLimit"]],eJ=Kd(uy),fJ=function(){function b(){}b.prototype.getLineStyle=function(a){return eJ(this,a)};return b}(),vy=[["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["lineDash","borderType"],["lineDashOffset","borderDashOffset"],["lineCap","borderCap"],["lineJoin","borderJoin"],["miterLimit","borderMiterLimit"]],gJ=Kd(vy),hJ=function(){function b(){}b.prototype.getItemStyle=function(a,c){return gJ(this,a,c)};return b}(),la=function(){function b(a,c,b){this.parentModel=c;this.ecModel=b;this.option=a}b.prototype.init=function(a,c,b){for(var d=3;d<arguments.length;d++);};b.prototype.mergeOption=function(a,c){U(this.option,a,!0)};b.prototype.get=function(a,c){return null==a?this.option:this._doGet(this.parsePath(a),!c&&this.parentModel)};b.prototype.getShallow=function(a,c){var b=this.option,b=null==b?b:b[a];if(null==b&&!c){var e=this.parentModel;e&&(b=e.getShallow(a))}return b};b.prototype.getModel=function(a,c){var d=null!=a,e=d?this.parsePath(a):null,d=d?this._doGet(e):this.option;c=c||this.parentModel&&this.parentModel.getModel(this.resolveParentPath(e));return new b(d,c,this.ecModel)};b.prototype.isEmpty=function(){return null==this.option};b.prototype.restoreData=function(){};b.prototype.clone=function(){return new this.constructor(J(this.option))};b.prototype.parsePath=function(a){return"string"===typeof a?a.split("."):a};b.prototype.resolveParentPath=function(a){return a};b.prototype.isAnimationEnabled=function(){if(!X.node&&this.option){if(null!=this.option.animation)return!!this.option.animation;if(this.parentModel)return this.parentModel.isAnimationEnabled()}};b.prototype._doGet=function(a,c){var b=this.option;if(!a)return b;for(var e=0;e<a.length&&(!a[e]||(b=b&&"object"===typeof b?b[a[e]]:null,null!=b));e++);null==b&&c&&(b=c._doGet(this.resolveParentPath(a),c.parentModel));return b};return b}();cl(la);(function(b){var a=["__\x00is_clz",FI++].join("_");b.prototype[a]=!0;O(!b.isInstance,'The method "is" can not be defined.');b.isInstance=function(c){return!(!c||!c[a])}})(la);wa(la,fJ);wa(la,hJ);wa(la,HI);wa(la,dJ);var VA=Math.round(10*Math.random()),ui={},Cl={},Dr=X.domSupported?-1<(document.documentElement.lang||navigator.language||navigator.browserLanguage).toUpperCase().indexOf("ZH")?"ZH":"EN":"EN";Bl("EN",{time:{month:"January February March April May June July August September October November December".split(" "),monthAbbr:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),dayOfWeek:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),dayOfWeekAbbr:"Sun Mon Tue Wed Thu Fri Sat".split(" ")},legend:{selector:{all:"All",inverse:"Inv"}},toolbox:{brush:{title:{rect:"Box Select",polygon:"Lasso Select",lineX:"Horizontally Select",lineY:"Vertically Select",keep:"Keep Selections",clear:"Clear Selections"}},dataView:{title:"Data View",lang:["Data View","Close","Refresh"]},dataZoom:{title:{zoom:"Zoom",back:"Zoom Reset"}},magicType:{title:{line:"Switch to Line Chart",bar:"Switch to Bar Chart",stack:"Stack",tiled:"Tile"}},restore:{title:"Restore"},saveAsImage:{title:"Save as Image",lang:["Right Click to Save Image"]}},series:{typeNames:{pie:"Pie chart",bar:"Bar chart",line:"Line chart",scatter:"Scatter plot",effectScatter:"Ripple scatter plot",radar:"Radar chart",tree:"Tree",treemap:"Treemap",boxplot:"Boxplot",candlestick:"Candlestick",k:"K line chart",heatmap:"Heat map",map:"Map",parallel:"Parallel coordinate map",lines:"Line graph",graph:"Relationship graph",sankey:"Sankey diagram",funnel:"Funnel chart",gauge:"Guage",pictorialBar:"Pictorial bar",themeRiver:"Theme River Map",sunburst:"Sunburst"}},aria:{general:{withTitle:'This is a chart about "{title}"',withoutTitle:"This is a chart"},series:{single:{prefix:"",withName:" with type {seriesType} named {seriesName}.",withoutName:" with type {seriesType}."},multiple:{prefix:". It consists of {seriesCount} series count.",withName:" The {seriesId} series is a {seriesType} representing {seriesName}.",withoutName:" The {seriesId} series is a {seriesType}.",separator:{middle:"",end:""}}},data:{allData:"The data is as follows: ",partialData:"The first {displayCnt} items are: ",withName:"the data for {name} is {value}",withoutName:"{value}",separator:{middle:", ",end:". "}}}});Bl("ZH",{time:{month:"\u4e00\u6708 \u4e8c\u6708 \u4e09\u6708 \u56db\u6708 \u4e94\u6708 \u516d\u6708 \u4e03\u6708 \u516b\u6708 \u4e5d\u6708 \u5341\u6708 \u5341\u4e00\u6708 \u5341\u4e8c\u6708".split(" "),monthAbbr:"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),dayOfWeek:"\u661f\u671f\u65e5 \u661f\u671f\u4e00 \u661f\u671f\u4e8c \u661f\u671f\u4e09 \u661f\u671f\u56db \u661f\u671f\u4e94 \u661f\u671f\u516d".split(" "),dayOfWeekAbbr:"\u65e5\u4e00\u4e8c\u4e09\u56db\u4e94\u516d".split("")},legend:{selector:{all:"\u5168\u9009",inverse:"\u53cd\u9009"}},toolbox:{brush:{title:{rect:"\u77e9\u5f62\u9009\u62e9",polygon:"\u5708\u9009",lineX:"\u6a2a\u5411\u9009\u62e9",lineY:"\u7eb5\u5411\u9009\u62e9",keep:"\u4fdd\u6301\u9009\u62e9",clear:"\u6e05\u9664\u9009\u62e9"}},dataView:{title:"\u6570\u636e\u89c6\u56fe",lang:["\u6570\u636e\u89c6\u56fe","\u5173\u95ed","\u5237\u65b0"]},dataZoom:{title:{zoom:"\u533a\u57df\u7f29\u653e",back:"\u533a\u57df\u7f29\u653e\u8fd8\u539f"}},magicType:{title:{line:"\u5207\u6362\u4e3a\u6298\u7ebf\u56fe",bar:"\u5207\u6362\u4e3a\u67f1\u72b6\u56fe",stack:"\u5207\u6362\u4e3a\u5806\u53e0",tiled:"\u5207\u6362\u4e3a\u5e73\u94fa"}},restore:{title:"\u8fd8\u539f"},saveAsImage:{title:"\u4fdd\u5b58\u4e3a\u56fe\u7247",lang:["\u53f3\u952e\u53e6\u5b58\u4e3a\u56fe\u7247"]}},series:{typeNames:{pie:"\u997c\u56fe",bar:"\u67f1\u72b6\u56fe",line:"\u6298\u7ebf\u56fe",scatter:"\u6563\u70b9\u56fe",effectScatter:"\u6d9f\u6f2a\u6563\u70b9\u56fe",radar:"\u96f7\u8fbe\u56fe",tree:"\u6811\u56fe",treemap:"\u77e9\u5f62\u6811\u56fe",boxplot:"\u7bb1\u578b\u56fe",candlestick:"K\u7ebf\u56fe",k:"K\u7ebf\u56fe",heatmap:"\u70ed\u529b\u56fe",map:"\u5730\u56fe",parallel:"\u5e73\u884c\u5750\u6807\u56fe",lines:"\u7ebf\u56fe",graph:"\u5173\u7cfb\u56fe",sankey:"\u6851\u57fa\u56fe",funnel:"\u6f0f\u6597\u56fe",gauge:"\u4eea\u8868\u76d8\u56fe",pictorialBar:"\u8c61\u5f62\u67f1\u56fe",themeRiver:"\u4e3b\u9898\u6cb3\u6d41\u56fe",sunburst:"\u65ed\u65e5\u56fe"}},aria:{general:{withTitle:"\u8fd9\u662f\u4e00\u4e2a\u5173\u4e8e\u201c{title}\u201d\u7684\u56fe\u8868\u3002",withoutTitle:"\u8fd9\u662f\u4e00\u4e2a\u56fe\u8868\uff0c"},series:{single:{prefix:"",withName:"\u56fe\u8868\u7c7b\u578b\u662f{seriesType}\uff0c\u8868\u793a{seriesName}\u3002",withoutName:"\u56fe\u8868\u7c7b\u578b\u662f{seriesType}\u3002"},multiple:{prefix:"\u5b83\u7531{seriesCount}\u4e2a\u56fe\u8868\u7cfb\u5217\u7ec4\u6210\u3002",withName:"\u7b2c{seriesId}\u4e2a\u7cfb\u5217\u662f\u4e00\u4e2a\u8868\u793a{seriesName}\u7684{seriesType}\uff0c",withoutName:"\u7b2c{seriesId}\u4e2a\u7cfb\u5217\u662f\u4e00\u4e2a{seriesType}\uff0c",separator:{middle:"\uff1b",end:"\u3002"}}},data:{allData:"\u5176\u6570\u636e\u662f\u2014\u2014",partialData:"\u5176\u4e2d\uff0c\u524d{displayCnt}\u9879\u662f\u2014\u2014",withName:"{name}\u7684\u6570\u636e\u662f{value}",withoutName:"{value}",separator:{middle:"\uff0c",end:""}}}});var ph={year:"{yyyy}",month:"{MMM}",day:"{d}",hour:"{HH}:{mm}",minute:"{HH}:{mm}",second:"{HH}:{mm}:{ss}",millisecond:"{hh}:{mm}:{ss} {SSS}",none:"{yyyy}-{MM}-{dd} {hh}:{mm}:{ss} {SSS}"},wy={year:"{yyyy}",month:"{yyyy}-{MM}",day:"{yyyy}-{MM}-{dd}",hour:"{yyyy}-{MM}-{dd} "+ph.hour,minute:"{yyyy}-{MM}-{dd} "+ph.minute,second:"{yyyy}-{MM}-{dd} "+ph.second,millisecond:ph.none},Ko="year month day hour minute second millisecond".split(" "),mt="year half-year quarter month week half-week day half-day quarter-day hour minute second millisecond".split(" "),Od=Sh,YA=/([&<>"'])/g,ZA={"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;",'"':"\x26quot;","'":"\x26#39;"},Hr="abcdefg".split(""),Ci=r,Jr="left right top bottom width height".split(" "),Pd=[["width","left","right"],["height","top","bottom"]],me=Gl;P(Gl,"vertical");P(Gl,"horizontal");var iJ=ma(),W=function(b){function a(c,a,e){c=b.call(this,c,a,e)||this;c.uid=$e("ec_cpt_model");return c}x(a,b);a.prototype.init=function(c,a,b){this.mergeDefaultAndTheme(c,b)};a.prototype.mergeDefaultAndTheme=function(c,a){var b=pg(this),d=b?Qd({},c):{},g=a.getTheme();U(c,g.get(this.mainType));U(c,this.getDefaultOption());b&&gd(c,d,b)};a.prototype.mergeOption=function(c,a){U(this.option,c,!0);var b=pg(this);b&&gd(this.option,c,b)};a.prototype.optionUpdated=function(c,a){};a.prototype.getDefaultOption=function(){var c=this.constructor;if(!c||!c.___EC__EXTENDED_CLASS___)return c.defaultOption;var a=iJ(this);if(!a.defaultOption){for(var b=[];c;){var f=c.prototype.defaultOption;f&&b.push(f);c=c.superClass}c={};for(f=b.length-1;0<=f;f--)c=U(c,b[f],!0);a.defaultOption=c}return a.defaultOption};a.prototype.getReferringComponents=function(c,a){var b=c+"Id";return di(this.ecModel,c,{index:this.get(c+"Index",!0),id:this.get(b,!0)},a)};a.prototype.getBoxLayoutParams=function(){return{left:this.get("left"),top:this.get("top"),right:this.get("right"),bottom:this.get("bottom"),width:this.get("width"),height:this.get("height")}};a.protoInitialize=function(){var c=a.prototype;c.type="component";c.id="";c.name="";c.mainType="";c.subType="";c.componentIndex=0}();return a}(la);W.extend=la.extend;ei(W);(function(b){var a={};b.registerSubTypeDefaulter=function(c,b){var d=kc(c);a[d.main]=b};b.determineSubType=function(c,d){var e=d.type;if(!e){var f=kc(c).main;b.hasSubTypes(c)&&a[f]&&(e=a[f](d))}return e}})(W);(function(b,a){function c(c){var b={},f=[];r(c,function(g){var h=d(b,g),k=h.originalDeps=a(g),k=e(k,c);h.entryCount=k.length;0===h.entryCount&&f.push(g);r(k,function(c){0>ba(h.predecessor,c)&&h.predecessor.push(c);var a=d(b,c);0>ba(a.successor,c)&&a.successor.push(g)})});return{graph:b,noEntryList:f}}function d(c,a){c[a]||(c[a]={predecessor:[],successor:[]});return c[a]}function e(c,a){var b=[];r(c,function(c){0<=ba(a,c)&&b.push(c)});return b}b.topologicalTravel=function(a,b,d,e){function f(c){k[c].entryCount--;0===k[c].entryCount&&q.push(c)}function g(c){t[c]=!0;f(c)}if(a.length){var h=c(b),k=h.graph,q=h.noEntryList,t={};for(r(a,function(c){t[c]=!0});q.length;){var h=q.pop(),u=k[h],w=!!t[h];w&&(d.call(e,h,u.originalDeps.slice()),delete t[h]);r(u.successor,w?g:f)}r(t,function(){var c;c=gb("Circle dependency may exists: ",t,a,b);throw Error(c);})}}})(W,function(b){var a=[];r(W.getClassesByMainType(b),function(c){a=a.concat(c.dependencies||c.prototype.dependencies||[])});a=C(a,function(c){return kc(c).main});"dataset"!==b&&0>=ba(a,"dataset")&&a.unshift("dataset");return a});var xy="";"undefined"!==typeof navigator&&(xy=navigator.platform||"");var jJ={darkMode:"auto",color:"#5470c6 #91cc75 #fac858 #ee6666 #73c0de #3ba272 #fc8452 #9a60b4 #ea7ccc".split(" "),gradientColor:["#f6efa6","#d88273","#bf444c"],aria:{decal:{decals:[{color:"rgba(0, 0, 0, 0.2)",dashArrayX:[1,0],dashArrayY:[2,5],symbolSize:1,rotation:Math.PI/6},{color:"rgba(0, 0, 0, 0.2)",symbol:"circle",dashArrayX:[[8,8],[0,8,8,0]],dashArrayY:[6,0],symbolSize:.8},{color:"rgba(0, 0, 0, 0.2)",dashArrayX:[1,0],dashArrayY:[4,3],rotation:-Math.PI/4},{color:"rgba(0, 0, 0, 0.2)",dashArrayX:[[6,6],[0,6,6,0]],dashArrayY:[6,0]},{color:"rgba(0, 0, 0, 0.2)",dashArrayX:[[1,0],[1,6]],dashArrayY:[1,0,6,0],rotation:Math.PI/4},{color:"rgba(0, 0, 0, 0.2)",symbol:"triangle",dashArrayX:[[9,9],[0,9,9,0]],dashArrayY:[7,2],symbolSize:.75}]}},textStyle:{fontFamily:xy.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,stateAnimation:{duration:300,easing:"cubicOut"},animation:"auto",animationDuration:1E3,animationDurationUpdate:500,animationEasing:"cubicInOut",animationEasingUpdate:"cubicInOut",animationThreshold:2E3,progressiveThreshold:3E3,progressive:400,hoverLayerThreshold:3E3,useUTC:!1},jm=R(["tooltip","label","itemName","itemId","seriesName"]),ib={Must:1,Might:2,Not:3},Lr=ma(),Jl=R(),Lo=ma(),cB=ma(),Mo=function(){function b(){}b.prototype.getColorFromPalette=function(a,c,b){var d=xa(this.get("color",!0)),f=this.get("colorLayer",!0);return Nr(this,Lo,d,f,a,c,b)};b.prototype.clearColorPalette=function(){Lo(this).paletteIdx=0;Lo(this).paletteNameMap={}};return b}(),Sj,qh,yy,No=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.init=function(c,a,b,f,g,h){f=f||{};this.option=null;this._theme=new la(f);this._locale=new la(g);this._optionManager=h};a.prototype.setOption=function(c,a,b){O(null!=c,"option is null/undefined");O(1!==c["\x00_ec_inner"],"please use chart.getOption()");a=Qr(a);this._optionManager.setOption(c,b,a);this._resetOption(null,a)};a.prototype.resetOption=function(c,a){return this._resetOption(c,Qr(a))};a.prototype._resetOption=function(c,a){var b=!1,d=this._optionManager;if(!c||"recreate"===c){var g=d.mountOption("recreate"===c);this.option&&"recreate"!==c?(this.restoreData(),this._mergeOption(g,a)):yy(this,g);b=!0}"timeline"!==c&&"media"!==c||this.restoreData();if(!c||"recreate"===c||"timeline"===c)if(g=d.getTimelineOption(this))b=!0,this._mergeOption(g,a);c&&"recreate"!==c&&"media"!==c||(d=d.getMediaOption(this),d.length&&r(d,function(c){b=!0;this._mergeOption(c,a)},this));return b};a.prototype.mergeOption=function(c){this._mergeOption(c,null)};a.prototype._mergeOption=function(c,a){var b=this.option,d=this._componentsMap,g=this._componentsCount,h=[],k=R(),l=a&&a.replaceMergeMainTypeMap;Lr(this).datasetMap=R();r(c,function(c,a){null!=c&&(W.hasClass(a)?a&&(h.push(a),k.set(a,!0)):b[a]=null==b[a]?J(c):U(b[a],c,!0))});l&&l.each(function(c,a){W.hasClass(a)&&!k.get(a)&&(h.push(a),k.set(a,!0))});W.topologicalTravel(h,W.getAllClassMainTypes(),function(a){var e=bB(this,a,xa(c[a])),f=d.get(a),h=f?l&&l.get(a)?"replaceMerge":"normalMerge":"replaceAll",e=yq(f,e,h);BA(e,a,W);b[a]=null;d.set(a,null);g.set(a,0);var k=[],m=[],w=0;r(e,function(c,b){var d=c.existing,e=c.newOption;if(e){var f=W.getClass(a,c.keyInfo.subType,!0);if(d&&d.constructor===f)d.name=c.keyInfo.name,d.mergeOption(e,this),d.optionUpdated(e,!1);else{var g=F({componentIndex:b},c.keyInfo),d=new f(e,this,this,g);F(d,g);c.brandNew&&(d.__requireNewView=!0);d.init(e,this,this);d.optionUpdated(null,!0)}}else d&&(d.mergeOption({},this),d.optionUpdated({},!1));d?(k.push(d.option),m.push(d),w++):(k.push(void 0),m.push(void 0))},this);b[a]=k;d.set(a,m);g.set(a,w);"series"===a&&Sj(this)},this);this._seriesIndices||Sj(this)};a.prototype.getOption=function(){var c=J(this.option);r(c,function(a,b){if(W.hasClass(b)){for(var d=xa(a),e=d.length,h=!1,k=e-1;0<=k;k--)d[k]&&!Qe(d[k])?h=!0:(d[k]=null,!h&&e--);d.length=e;c[b]=d}});delete c["\x00_ec_inner"];return c};a.prototype.getTheme=function(){return this._theme};a.prototype.getLocaleModel=function(){return this._locale};a.prototype.getLocale=function(c){return this.getLocaleModel().get(c)};a.prototype.setUpdatePayload=function(c){this._payload=c};a.prototype.getUpdatePayload=function(){return this._payload};a.prototype.getComponent=function(c,a){var b=this._componentsMap.get(c);if(b){var d=b[a||0];if(d)return d;if(null==a)for(d=0;d<b.length;d++)if(b[d])return b[d]}};a.prototype.queryComponents=function(c){var a=c.mainType;if(!a)return[];var b=c.index,f=c.id,g=c.name,h=this._componentsMap.get(a);if(!h||!h.length)return[];var k;null!=b?(k=[],r(xa(b),function(c){h[c]&&k.push(h[c])})):k=null!=f?Or("id",f,h):null!=g?Or("name",g,h):ta(h,function(c){return!!c});return Pr(k,c)};a.prototype.findComponents=function(c){var a=c.mainType,b=function(c){var b=a+"Index",d=a+"Id",e=a+"Name";return!c||null==c[b]&&null==c[d]&&null==c[e]?null:{mainType:a,index:c[b],id:c[d],name:c[e]}}(c.query),b=b?this.queryComponents(b):ta(this._componentsMap.get(a),function(c){return!!c});return function(a){return c.filter?ta(a,c.filter):a}(Pr(b,c))};a.prototype.eachComponent=function(c,a,b){var d=this._componentsMap;if(fa(c))d.each(function(b,d){for(var e=0;b&&e<b.length;e++){var f=b[e];f&&c.call(a,d,f,f.componentIndex)}});else for(var d=da(c)?d.get(c):N(c)?this.findComponents(c):null,e=0;d&&e<d.length;e++){var h=d[e];h&&a.call(b,h,h.componentIndex)}};a.prototype.getSeriesByName=function(c){var a=Ea(c,null);return ta(this._componentsMap.get("series"),function(c){return!!c&&null!=a&&c.name===a})};a.prototype.getSeriesByIndex=function(c){return this._componentsMap.get("series")[c]};a.prototype.getSeriesByType=function(c){return ta(this._componentsMap.get("series"),function(a){return!!a&&a.subType===c})};a.prototype.getSeries=function(){return ta(this._componentsMap.get("series").slice(),function(c){return!!c})};a.prototype.getSeriesCount=function(){return this._componentsCount.get("series")};a.prototype.eachSeries=function(c,a){qh(this);r(this._seriesIndices,function(b){var d=this._componentsMap.get("series")[b];c.call(a,d,b)},this)};a.prototype.eachRawSeries=function(c,a){r(this._componentsMap.get("series"),function(b){b&&c.call(a,b,b.componentIndex)})};a.prototype.eachSeriesByType=function(c,a,b){qh(this);r(this._seriesIndices,function(d){var e=this._componentsMap.get("series")[d];e.subType===c&&a.call(b,e,d)},this)};a.prototype.eachRawSeriesByType=function(c,a,b){return r(this.getSeriesByType(c),a,b)};a.prototype.isSeriesFiltered=function(c){qh(this);return null==this._seriesIndicesMap.get(c.componentIndex)};a.prototype.getCurrentSeriesIndices=function(){return(this._seriesIndices||[]).slice()};a.prototype.filterSeries=function(c,a){qh(this);var b=[];r(this._seriesIndices,function(d){var e=this._componentsMap.get("series")[d];c.call(a,e,d)&&b.push(d)},this);this._seriesIndices=b;this._seriesIndicesMap=R(b)};a.prototype.restoreData=function(c){Sj(this);var a=this._componentsMap,b=[];a.each(function(c,a){W.hasClass(a)&&b.push(a)});W.topologicalTravel(b,W.getAllClassMainTypes(),function(b){r(a.get(b),function(a){var d;if((d=a)&&!(d="series"!==b)){if(c){d=c.seriesIndex;var e=c.seriesId,f=c.seriesName;d=null!=d&&a.componentIndex!==d||null!=e&&a.id!==e||null!=f&&a.name!==f}else d=void 0;d=!d}d&&a.restoreData()})})};a.internalField=function(){Sj=function(c){var a=c._seriesIndices=[];r(c._componentsMap.get("series"),function(c){c&&a.push(c.componentIndex)});c._seriesIndicesMap=R(a)};qh=function(c){if(!c._seriesIndices)throw Error("Option should contains series.");};yy=function(c,a){c.option={};c.option["\x00_ec_inner"]=1;c._componentsMap=R({series:[]});c._componentsCount=R();var b=a.aria;N(b)&&null==b.enabled&&(b.enabled=!0);dB(a,c._theme.option);U(a,jJ,!1);c._mergeOption(a,null)}}();return a}(la);wa(No,Mo);var kJ="getDom getZr getWidth getHeight getDevicePixelRatio dispatchAction isDisposed on off getDataURL getConnectedDataURL getOption getId updateLabelLayout".split(" "),zy=function(){return function(b){r(kJ,function(a){this[a]=I(b[a],b)},this)}}(),Oo={},Yd=function(){function b(){this._coordinateSystems=[]}b.prototype.create=function(a,c){var b=[];r(Oo,function(d,f){var e=d.create(a,c);b=b.concat(e||[])});this._coordinateSystems=b};b.prototype.update=function(a,c){r(this._coordinateSystems,function(b){b.update&&b.update(a,c)})};b.prototype.getCoordinateSystems=function(){return this._coordinateSystems.slice()};b.register=function(a,c){Oo[a]=c};b.get=function(a){return Oo[a]};return b}(),gB=/^(min|max)?(.+)$/,lJ=function(){function b(a){this._timelineOptions=[];this._mediaList=[];this._currentMediaIndices=[];this._api=a}b.prototype.setOption=function(a,c,b){a&&(r(xa(a.series),function(c){c&&c.data&&db(c.data)&&Ge(c.data)}),r(xa(a.dataset),function(c){c&&c.source&&db(c.source)&&Ge(c.source)}));a=J(a);b=this._optionBackup;a=eB(a,c,!b);this._newBaseOption=a.baseOption;b?(a.timelineOptions.length&&(b.timelineOptions=a.timelineOptions),a.mediaList.length&&(b.mediaList=a.mediaList),a.mediaDefault&&(b.mediaDefault=a.mediaDefault)):this._optionBackup=a};b.prototype.mountOption=function(a){var c=this._optionBackup;this._timelineOptions=c.timelineOptions;this._mediaList=c.mediaList;this._mediaDefault=c.mediaDefault;this._currentMediaIndices=[];return J(a?c.baseOption:this._newBaseOption)};b.prototype.getTimelineOption=function(a){var c,b=this._timelineOptions;b.length&&(a=a.getComponent("timeline"))&&(c=J(b[a.getCurrentIndex()]));return c};b.prototype.getMediaOption=function(a){a=this._api.getWidth();var c=this._api.getHeight(),b=this._mediaList,e=this._mediaDefault,f=[],g=[];if(!b.length&&!e)return g;for(var h=0,k=b.length;h<k;h++)fB(b[h].query,a,c)&&f.push(h);!f.length&&e&&(f=[-1]);f.length&&!hB(f,this._currentMediaIndices)&&(g=C(f,function(c){return J(-1===c?e.option:b[c].option)}));this._currentMediaIndices=f;return g};return b}(),Xb=r,rg=N,Rr="areaStyle lineStyle nodeStyle linkStyle chordStyle label labelLine".split(" "),kB=[["x","left"],["y","top"],["x2","right"],["y2","bottom"]],lB="grid geo parallel legend toolbox title visualMap dataZoom timeline".split(" "),Ml=[["borderRadius","barBorderRadius"],["borderColor","barBorderColor"],["borderWidth","barBorderWidth"]],Rd=function(){return function(b){this.data=b.data||("keyedColumns"===b.sourceFormat?{}:[]);this.sourceFormat=b.sourceFormat||"unknown";this.seriesLayoutBy=b.seriesLayoutBy||"column";this.startIndex=b.startIndex||0;this.dimensionsDefine=b.dimensionsDefine;this.dimensionsDetectedCount=b.dimensionsDetectedCount;this.encodeDefine=b.encodeDefine;this.metaRawOption=b.metaRawOption}}(),Ae,Be,Ce,Ay,By,mJ=function(){function b(a,c){var b=a instanceof Rd?a:Ol(a);this._source=b;var e=this._data=b.data;if("typedArray"===b.sourceFormat){if(null==c)throw Error("Typed array data must specify dimension size");this._offset=0;this._dimSize=c;this._data=e}By(this,e,b)}b.prototype.getSource=function(){return this._source};b.prototype.count=function(){return 0};b.prototype.getItem=function(a,c){};b.prototype.appendData=function(a){};b.prototype.clean=function(){};b.protoInitialize=function(){var a=b.prototype;a.pure=!1;a.persistent=!0}();b.internalField=function(){function a(c){for(var a=0;a<c.length;a++)this._data.push(c[a])}var c;By=function(c,a,d){var g=d.sourceFormat,h=d.seriesLayoutBy,k=d.startIndex;d=d.dimensionsDefine;var p=Ay["arrayRows"===g?g+"_"+h:g];O(p,"Invalide sourceFormat: "+g);F(c,p);"typedArray"===g?(c.getItem=b,c.count=f,c.fillStorage=e):(p=bs(g,h),c.getItem=I(p,null,a,k,d),g=cs(g,h),c.count=I(g,null,a,k,d))};var b=function(c,a){c-=this._offset;a=a||[];for(var b=this._data,d=this._dimSize,e=d*c,f=0;f<d;f++)a[f]=b[e+f];return a},e=function(c,a,b,d){for(var e=this._data,f=this._dimSize,g=0;g<f;g++){for(var h=d[g],k=null==h[0]?Infinity:h[0],l=null==h[1]?-Infinity:h[1],w=a-c,v=b[g],r=0;r<w;r++){var B=e[r*f+g];v[c+r]=B;B<k&&(k=B);B>l&&(l=B)}h[0]=k;h[1]=l}},f=function(){return this._data?this._data.length/this._dimSize:0};Ay=(c={},c.arrayRows_column={pure:!0,appendData:a},c.arrayRows_row={pure:!0,appendData:function(){throw Error('Do not support appendData when set seriesLayoutBy: "row".');}},c.objectRows={pure:!0,appendData:a},c.keyedColumns={pure:!0,appendData:function(c){var a=this._data;r(c,function(c,b){for(var d=a[b]||(a[b]=[]),e=0;e<(c||[]).length;e++)d.push(c[e])})}},c.original={appendData:a},c.typedArray={persistent:!1,pure:!0,appendData:function(c){O(db(c),"Added data must be TypedArray if data in initialization is TypedArray");this._data=c},clean:function(){this._offset+=this.count();this._data=null}},c)}();return b}(),Cy=function(b,a,c,d){return b[d]},qB=(Ae={},Ae.arrayRows_column=function(b,a,c,d){return b[d+a]},Ae.arrayRows_row=function(b,a,c,d){d+=a;a=[];for(c=0;c<b.length;c++){var e=b[c];a.push(e?e[d]:null)}return a},Ae.objectRows=Cy,Ae.keyedColumns=function(b,a,c,d){a=[];for(var e=0;e<c.length;e++){var f=c[e].name;if(null==f)throw Error();f=b[f];a.push(f?f[d]:null)}return a},Ae.original=Cy,Ae),Dy=function(b,a,c){return b.length},rB=(Be={},Be.arrayRows_column=function(b,a,c){return Math.max(0,b.length-a)},Be.arrayRows_row=function(b,a,c){return(b=b[0])?Math.max(0,b.length-a):0},Be.objectRows=Dy,Be.keyedColumns=function(b,a,c){a=c[0].name;if(null==a)throw Error();return(b=b[a])?b.length:0},Be.original=Dy,Be),Po=function(b,a,c){return null!=a?b[a]:b},sB=(Ce={},Ce.arrayRows=Po,Ce.objectRows=function(b,a,c){return null!=a?b[c]:b},Ce.keyedColumns=Po,Ce.original=function(b,a,c){b=bg(b);return null!=a&&b instanceof Array?b[a]:b},Ce.typedArray=Po,Ce),nJ=/\{@(.+?)\}/g,Qo=function(){function b(){}b.prototype.getDataParams=function(a,c){var b=this.getData(c),e=this.getRawValue(a,c),f=b.getRawIndex(a),g=b.getName(a),h=b.getRawDataItem(a),k=b.getItemVisual(a,"style"),l=k&&k[b.getItemVisual(a,"drawType")||"fill"],m=this.mainType,n="series"===m,b=b.userOutput;return{componentType:m,componentSubType:this.subType,componentIndex:this.componentIndex,seriesType:n?this.subType:null,seriesIndex:this.seriesIndex,seriesId:n?this.id:null,seriesName:n?this.name:null,name:g,dataIndex:f,data:h,dataType:c,value:e,color:l,borderColor:k&&k.stroke,dimensionNames:b?b.dimensionNames:null,encode:b?b.encode:null,$vars:["seriesName","name","value"]}};b.prototype.getFormattedLabel=function(a,c,b,e,f,g){c=c||"normal";var d=this.getData(b);b=this.getDataParams(a,b);g&&(b.value=g.interpolatedValue);null!=e&&A(b.value)&&(b.value=b.value[e]);f||(f=d.getItemModel(a).get("normal"===c?["label","formatter"]:[c,"label","formatter"]));if("function"===typeof f)return b.status=c,b.dimensionIndex=e,f(b);if("string"===typeof f)return Fl(f,b).replace(nJ,function(c,b){var e=b.length,f="["===b.charAt(0)&&"]"===b.charAt(e-1)?+b.slice(1,e-1):b,e=Sd(d,a,f);g&&A(g.interpolatedValue)&&(f=d.getDimensionInfo(f))&&(e=g.interpolatedValue[f.index]);return null!=e?e+"":""})};b.prototype.getRawValue=function(a,c){return Sd(this.getData(c),a)};b.prototype.formatTooltip=function(a,c,b){};return b}(),rh=function(){function b(a){a=a||{};this._reset=a.reset;this._plan=a.plan;this._count=a.count;this._onDirty=a.onDirty;this._dirty=!0}b.prototype.perform=function(a){function c(c){1<=c||(c=1);return c}var b=this._upstream,e=a&&a.skip;if(this._dirty&&b){var f=this.context;f.data=f.outputData=b.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var g;this._plan&&!e&&(g=this._plan(this.context));var h=c(this._modBy),k=this._modDataCount||0,f=c(a&&a.modBy),l=a&&a.modDataCount||0;if(h!==f||k!==l)g="reset";var m;if(this._dirty||"reset"===g)this._dirty=!1,m=this._doReset(e);this._modBy=f;this._modDataCount=l;a=a&&a.step;b?(O(null!=b._outputDueEnd),this._dueEnd=b._outputDueEnd):(O(!this._progress||this._count),this._dueEnd=this._count?this._count(this.context):Infinity);if(this._progress){b=this._dueIndex;a=Math.min(null!=a?this._dueIndex+a:Infinity,this._dueEnd);if(!e&&(m||b<a))if(e=this._progress,A(e))for(m=0;m<e.length;m++)this._doProgress(e[m],b,a,f,l);else this._doProgress(e,b,a,f,l);this._dueIndex=a;f=null!=this._settedOutputEnd?this._settedOutputEnd:a;O(f>=this._outputDueEnd);this._outputDueEnd=f}else this._dueIndex=this._outputDueEnd=null!=this._settedOutputEnd?this._settedOutputEnd:this._dueEnd;return this.unfinished()};b.prototype.dirty=function(){this._dirty=!0;this._onDirty&&this._onDirty(this.context)};b.prototype._doProgress=function(a,c,b,e,f){Ey.reset(c,b,e,f);this._callingProgress=a;this._callingProgress({start:c,end:b,count:b-c,next:Ey.next},this.context)};b.prototype._doReset=function(a){this._dueIndex=this._outputDueEnd=this._dueEnd=0;this._settedOutputEnd=null;var c,b;!a&&this._reset&&((c=this._reset(this.context))&&c.progress&&(b=c.forceFirstProgress,c=c.progress),A(c)&&!c.length&&(c=null));this._progress=c;this._modBy=this._modDataCount=null;(a=this._downstream)&&a.dirty();return b};b.prototype.unfinished=function(){return this._progress&&this._dueIndex<this._dueEnd};b.prototype.pipe=function(a){O(a&&!a._disposed&&a!==this);if(this._downstream!==a||this._dirty)this._downstream=a,a._upstream=this,a.dirty()};b.prototype.dispose=function(){this._disposed||(this._upstream&&(this._upstream._downstream=null),this._downstream&&(this._downstream._upstream=null),this._dirty=!1,this._disposed=!0)};b.prototype.getUpstream=function(){return this._upstream};b.prototype.getDownstream=function(){return this._downstream};b.prototype.setOutputEnd=function(a){this._outputDueEnd=this._settedOutputEnd=a};return b}(),Ey=function(){function b(){return d<c?d++:null}function a(){var a=d%g*e+Math.ceil(d/g),a=d>=c?null:a<f?a:d;d++;return a}var c,d,e,f,g,h={reset:function(k,l,m,n){d=k;c=l;e=m;f=n;g=Math.ceil(f/e);h.next=1<e&&0<f?a:b}};return h}(),cy=R({number:function(b){return parseFloat(b)},time:function(b){return+qb(b)},trim:function(b){return"string"===typeof b?Va(b):b}}),ey={lt:function(b,a){return b<a},lte:function(b,a){return b<=a},gt:function(b,a){return b>a},gte:function(b,a){return b>=a}},fI=function(){function b(a,c){"number"!==typeof c&&ja('rvalue of "\x3c", "\x3e", "\x3c\x3d", "\x3e\x3d" can only be number in filter.');this._opFn=ey[a];this._rvalFloat=jc(c)}b.prototype.evaluate=function(a){return"number"===typeof a?this._opFn(a,this._rvalFloat):this._opFn(jc(a),this._rvalFloat)};return b}(),is=function(){function b(a,c){var b="desc"===a;this._resultLT=b?1:-1;null==c&&(c=b?"min":"max");this._incomparable="min"===c?-Infinity:Infinity}b.prototype.evaluate=function(a,c){var b=typeof a,e=typeof c,f="number"===b?a:jc(a),g="number"===e?c:jc(c),h=isNaN(f),k=isNaN(g);h&&(f=this._incomparable);k&&(g=this._incomparable);h&&k&&(b="string"===b,e="string"===e,b&&(f=e?a:0),e&&(g=b?c:0));return f<g?this._resultLT:f>g?-this._resultLT:0};return b}(),eI=function(){function b(a,c){this._rval=c;this._isEQ=a;this._rvalTypeof=typeof c;this._rvalFloat=jc(c)}b.prototype.evaluate=function(a){var c=a===this._rval;if(!c){var b=typeof a;b===this._rvalTypeof||"number"!==b&&"number"!==this._rvalTypeof||(c=jc(a)===this._rvalFloat)}return this._isEQ?c:!c};return b}(),uB=function(){function b(){}b.prototype.getRawData=function(){throw Error("not supported");};b.prototype.getRawDataItem=function(a){throw Error("not supported");};b.prototype.cloneRawData=function(){};b.prototype.getDimensionInfo=function(a){};b.prototype.cloneAllDimensionInfo=function(){};b.prototype.count=function(){};b.prototype.retrieveValue=function(a,c){};b.prototype.retrieveValueFromItem=function(a,c){};b.prototype.convertValue=function(a,c){return Di(a,c)};return b}(),fs=R(),Fy=function(){function b(a){this._sourceList=[];this._upstreamSignList=[];this._versionSignBase=0;this._sourceHost=a}b.prototype.dirty=function(){this._setLocalSource([],[])};b.prototype._setLocalSource=function(a,c){this._sourceList=a;this._upstreamSignList=c;this._versionSignBase++;9E10<this._versionSignBase&&(this._versionSignBase=0)};b.prototype._getVersionSign=function(){return this._sourceHost.uid+"_"+this._versionSignBase};b.prototype.prepareSource=function(){this._isDirty()&&this._createSource()};b.prototype._createSource=function(){this._setLocalSource([],[]);var a=this._sourceHost,c=this._getUpstreamSourceManagers(),b=!!c.length;if("series"===a.mainType){var e,f=void 0;b?(c=c[0],c.prepareSource(),f=c.getSource(),b=f.data,e=f.sourceFormat,c=[c._getVersionSign()]):(b=a.get("data",!0),e=db(b)?"typedArray":"original",c=[]);var g=this._getSourceMetaRawOption(),h=f?f.metaRawOption:null,f=ka(g.seriesLayoutBy,h?h.seriesLayoutBy:null),k=ka(g.sourceHeader,h?h.sourceHeader:null),g=ka(g.dimensions,h?h.dimensions:null),a=[Nl(b,{seriesLayoutBy:f,sourceHeader:k,dimensions:g},e,a.get("encode",!0))]}else b?(c=this._applyTransform(c),a=c.sourceList,c=c.upstreamSignList):(a=a.get("source",!0),a=[Nl(a,this._getSourceMetaRawOption(),null,null)],c=[]);O(a&&c);this._setLocalSource(a,c)};b.prototype._applyTransform=function(a){var c=this._sourceHost,b=c.get("transform",!0),e=c.get("fromTransformResult",!0);O(null!=e||null!=b);if(null!=e&&1!==a.length)throw Error("When using `fromTransformResult`, there should be only one upstream dataset");var f,g=[],h=[];r(a,function(c){c.prepareSource();var a=c.getSource(e||0);if(null!=e&&!a)throw c="Can not retrieve result by `fromTransformResult`: "+e,Error(c);g.push(a);h.push(c._getVersionSign())});b?f=zB(b,g,{datasetIndex:c.componentIndex}):null!=e&&(f=[oB(g[0])]);return{sourceList:f,upstreamSignList:h}};b.prototype._isDirty=function(){if(!this._sourceList.length)return!0;for(var a=this._getUpstreamSourceManagers(),c=0;c<a.length;c++){var b=a[c];if(b._isDirty()||this._upstreamSignList[c]!==b._getVersionSign())return!0}};b.prototype.getSource=function(a){return this._sourceList[a||0]};b.prototype._getUpstreamSourceManagers=function(){var a=this._sourceHost;return"series"===a.mainType?(a=Hl(a))?[a.getSourceManager()]:[]:C(aB(a),function(c){return c.getSourceManager()})};b.prototype._getSourceMetaRawOption=function(){var a=this._sourceHost,c,b,e;"series"===a.mainType?(c=a.get("seriesLayoutBy",!0),b=a.get("sourceHeader",!0),e=a.get("dimensions",!0)):this._getUpstreamSourceManagers().length||(c=a.get("seriesLayoutBy",!0),b=a.get("sourceHeader",!0),e=a.get("dimensions",!0));return{seriesLayoutBy:c,sourceHeader:b,dimensions:e}};return b}(),CB=[0,10,20,30],DB=["","\n","\n\n","\n\n\n"],hs={section:{planLayout:function(b){var a=b.blocks.length,c=1<a||0<a&&!b.noHeader,d=0;r(b.blocks,function(a){Pl(a).planLayout(a);var b=a.__gapLevelBetweenSubBlocks;b>=d&&(d=b+(!c||b&&("section"!==a.type||a.noHeader)?0:1))});b.__gapLevelBetweenSubBlocks=d},build:function(b,a,c,d){var e=a.noHeader,f=js(a),g=BB(b,a,e?c:f.html,d);if(e)return g;a=zi(a.header,"ordinal",b.useUTC);d=gs(d,b.renderMode).nameStyle;return"richText"===b.renderMode?b.markupStyleCreator.wrapRichTextStyle(a,d)+f.richText+g:Ql('\x3cdiv style\x3d"'+d+';line-height:1;"\x3e'+fd(a)+"\x3c/div\x3e"+g,c)}},nameValue:{planLayout:function(b){b.__gapLevelBetweenSubBlocks=0},build:function(b,a,c,d){var e=b.renderMode,f=a.noName,g=a.noValue,h=!a.markerType,k=a.name,l=a.value,m=b.useUTC;if(!f||!g){var n=h?"":b.markupStyleCreator.makeTooltipMarker(a.markerType,a.markerColor||"#333",e),k=f?"":zi(k,"ordinal",m),p=a.valueType;a=g?[]:A(l)?C(l,function(c,a){return zi(c,A(p)?p[a]:p,m)}):[zi(l,A(p)?p[0]:p,m)];var l=!h||!f,q=!h&&f,t=gs(d,e);d=t.nameStyle;t=t.valueStyle;return"richText"===e?(h?"":n)+(f?"":b.markupStyleCreator.wrapRichTextStyle(k,d))+(g?"":FB(b,a,l,q,t)):Ql((h?"":n)+(f?"":'\x3cspan style\x3d"'+d+";"+(h?"":"margin-left:2px")+'"\x3e'+fd(k)+"\x3c/span\x3e")+(g?"":EB(a,l,q,t)),c)}}}},Ro=function(){function b(){this.richTextStyles={};this._nextStyleNameId=Math.round(9*Math.random())}b.prototype._generateStyleName=function(){return"__EC_aUTo_"+this._nextStyleNameId++};b.prototype.makeTooltipMarker=function(a,c,b){var d="richText"===b?this._generateStyleName():null;a=Ir({color:c,type:a,renderMode:b,markerId:d});if(da(a))return a;O(d);this.richTextStyles[d]=a.style;return a.content};b.prototype.wrapRichTextStyle=function(a,c){var b={};A(c)?r(c,function(c){return F(b,c)}):F(b,c);var e=this._generateStyleName();this.richTextStyles[e]=b;return"{"+e+"|"+a+"}"};return b}(),yd=ma(),ra=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c._selectedDataIndicesMap={};return c}x(a,b);a.prototype.init=function(c,a,b){this.seriesIndex=this.componentIndex;this.dataTask=new rh({count:IB,reset:JB});this.dataTask.context={model:this};this.mergeDefaultAndTheme(c,b);(yd(this).sourceManager=new Fy(this)).prepareSource();c=this.getInitialData(c,b);ps(c,this);this.dataTask.context.data=c;O(c,"getInitialData returned invalid data.");yd(this).dataBeforeProcessed=c;os(this);this._initSelectedMapFromData(c)};a.prototype.mergeDefaultAndTheme=function(c,a){var b=pg(this),d=b?Qd({},c):{};W.hasClass(this.subType);U(c,a.getTheme().get(this.subType));U(c,this.getDefaultOption());Id(c,"label",["show"]);this.fillDataTextStyle(c.data);b&&gd(c,d,b)};a.prototype.mergeOption=function(c,a){c=U(this.option,c,!0);this.fillDataTextStyle(c.data);var b=pg(this);b&&gd(this.option,c,b);b=yd(this).sourceManager;b.dirty();b.prepareSource();b=this.getInitialData(c,a);ps(b,this);this.dataTask.dirty();this.dataTask.context.data=b;yd(this).dataBeforeProcessed=b;os(this);this._initSelectedMapFromData(b)};a.prototype.fillDataTextStyle=function(c){if(c&&!db(c))for(var a=["show"],b=0;b<c.length;b++)c[b]&&c[b].label&&Id(c[b],"label",a)};a.prototype.getInitialData=function(c,a){};a.prototype.appendData=function(c){this.getRawData().appendData(c.data)};a.prototype.getData=function(c){var a=Rl(this);return a?(a=a.context.data,null==c?a:a.getLinkedData(c)):yd(this).data};a.prototype.getAllData=function(){var c=this.getData();return c&&c.getLinkedDataAll?c.getLinkedDataAll():[{data:c}]};a.prototype.setData=function(c){var a=Rl(this);if(a){var b=a.context;b.outputData=c;a!==this.dataTask&&(b.data=c)}yd(this).data=c};a.prototype.getSource=function(){return yd(this).sourceManager.getSource()};a.prototype.getRawData=function(){return yd(this).dataBeforeProcessed};a.prototype.getBaseAxis=function(){var c=this.coordinateSystem;return c&&c.getBaseAxis&&c.getBaseAxis()};a.prototype.formatTooltip=function(c,a,b){return ns({series:this,dataIndex:c,multipleSeries:a})};a.prototype.isAnimationEnabled=function(){if(X.node)return!1;var c=this.getShallow("animation");c&&this.getData().count()>this.getShallow("animationThreshold")&&(c=!1);return!!c};a.prototype.restoreData=function(){this.dataTask.dirty()};a.prototype.getColorFromPalette=function(c,a,b){var d=this.ecModel,e=Mo.prototype.getColorFromPalette.call(this,c,a,b);e||(e=d.getColorFromPalette(c,a,b));return e};a.prototype.coordDimToDataDim=function(c){return this.getRawData().mapDimensionsAll(c)};a.prototype.getProgressive=function(){return this.get("progressive")};a.prototype.getProgressiveThreshold=function(){return this.get("progressiveThreshold")};a.prototype.select=function(c,a){this._innerSelect(this.getData(a),c)};a.prototype.unselect=function(c,a){var b=this.option.selectedMap;if(b)for(var d=this.getData(a),g=0;g<c.length;g++){var h=Ei(d,c[g]);b[h]=!1;this._selectedDataIndicesMap[h]=-1}};a.prototype.toggleSelect=function(c,a){for(var b=[],d=0;d<c.length;d++)b[0]=c[d],this.isSelected(c[d],a)?this.unselect(b,a):this.select(b,a)};a.prototype.getSelectedDataIndices=function(){for(var c=this._selectedDataIndicesMap,a=ia(c),b=[],f=0;f<a.length;f++){var g=c[a[f]];0<=g&&b.push(g)}return b};a.prototype.isSelected=function(c,a){var b=this.option.selectedMap;if(!b)return!1;var d=this.getData(a),d=Ei(d,c);return b[d]||!1};a.prototype._innerSelect=function(c,a){var b,d,g=this.option.selectedMode,h=a.length;if(g&&h)if("multiple"===g)for(b=this.option.selectedMap||(this.option.selectedMap={}),d=0;d<h;d++){var k=a[d],g=Ei(c,k);b[g]=!0;this._selectedDataIndicesMap[g]=c.getRawIndex(k)}else if("single"===g||!0===g)h=a[h-1],g=Ei(c,h),this.option.selectedMap=(b={},b[g]=!0,b),this._selectedDataIndicesMap=(d={},d[g]=c.getRawIndex(h),d)};a.prototype._initSelectedMapFromData=function(c){if(!this.option.selectedMap){var a=[];c.hasItemOption&&c.each(function(b){var d=c.getRawDataItem(b);"object"===typeof d&&d.selected&&a.push(b)});0<a.length&&this._innerSelect(c,a)}};a.registerClass=function(c){return W.registerClass(c)};a.protoInitialize=function(){var c=a.prototype;c.type="series.__base__";c.seriesIndex=0;c.useColorPaletteOnData=!1;c.ignoreStyleOnData=!1;c.hasSymbolVisual=!1;c.defaultSymbol="circle";c.visualStyleAccessPath="itemStyle";c.visualDrawType="fill"}();return a}(W);wa(ra,Qo);wa(ra,Mo);ra.extend=W.extend;var na=function(){function b(){this.group=new M;this.uid=$e("viewComponent")}b.prototype.init=function(a,c){};b.prototype.render=function(a,c,b,e){};b.prototype.dispose=function(a,c){};b.prototype.updateView=function(a,c,b,e){};b.prototype.updateLayout=function(a,c,b,e){};b.prototype.updateVisual=function(a,c,b,e){};b.prototype.blurSeries=function(a,c){};return b}();cl(na);ei(na);var rs=ma(),NB=cf(),oa=function(){function b(){this.group=new M;this.uid=$e("viewChart");this.renderTask=new rh({plan:MB,reset:OB});this.renderTask.context={view:this}}b.prototype.init=function(a,c){};b.prototype.render=function(a,c,b,e){};b.prototype.highlight=function(a,c,b,e){qs(a.getData(),e,"emphasis")};b.prototype.downplay=function(a,c,b,e){qs(a.getData(),e,"normal")};b.prototype.remove=function(a,c){this.group.removeAll()};b.prototype.dispose=function(a,c){};b.prototype.updateView=function(a,c,b,e){this.render(a,c,b,e)};b.prototype.updateLayout=function(a,c,b,e){this.render(a,c,b,e)};b.prototype.updateVisual=function(a,c,b,e){this.render(a,c,b,e)};b.markUpdateMethod=function(a,c){rs(a).updateMethod=c};b.prototype.type="chart";b.protoInitialize=void 0;return b}();cl(oa,["dispose"]);ei(oa);var PB={incrementalPrepareRender:{progress:function(b,a){a.view.incrementalRender(b,a.model,a.ecModel,a.api,a.payload)}},render:{forceFirstProgress:!0,progress:function(b,a){a.view.render(a.model,a.ecModel,a.api,a.payload)}}},Gy=ma(),ts={itemStyle:Kd(vy,!0),lineStyle:Kd(uy,!0)},QB={lineStyle:"stroke",itemStyle:"fill"},sh=new la,Tj=Math.PI,at=function(){function b(a,c,b,e){this._stageTaskMap=R();this.ecInstance=a;this.api=c;b=this._dataProcessorHandlers=b.slice();e=this._visualHandlers=e.slice();this._allHandlers=b.concat(e)}b.prototype.restoreData=function(a,c){a.restoreData(c);this._stageTaskMap.each(function(c){(c=c.overallTask)&&c.dirty()})};b.prototype.getPerformArgs=function(a,c){if(a.__pipeline){var b=this._pipelineMap.get(a.__pipeline.id),e=b.context,b=!c&&b.progressiveEnabled&&(!e||e.progressiveRender)&&a.__idxInPipeline>b.blockIndex?b.step:null,e=e&&e.modDataCount;return{step:b,modBy:null!=e?Math.ceil(e/b):null,modDataCount:e}}};b.prototype.getPipeline=function(a){return this._pipelineMap.get(a)};b.prototype.updateStreamModes=function(a,c){var b=this._pipelineMap.get(a.uid),e=a.getData().count(),f=b.progressiveEnabled&&c.incrementalPrepareRender&&e>=b.threshold,g=a.get("large")&&e>=a.get("largeThreshold"),e="mod"===a.get("progressiveChunkMode")?e:null;a.pipelineContext=b.context={progressiveRender:f,modDataCount:e,large:g}};b.prototype.restorePipelines=function(a){var c=this,b=c._pipelineMap=R();a.eachSeries(function(a){var d=a.getProgressive(),e=a.uid;b.set(e,{id:e,head:null,tail:null,threshold:a.getProgressiveThreshold(),progressiveEnabled:d&&!(a.preventIncremental&&a.preventIncremental()),blockIndex:-1,step:Math.round(d||700),count:0});c._pipe(a,a.dataTask)})};b.prototype.prepareStageTasks=function(){var a=this._stageTaskMap,c=this.api.getModel(),b=this.api;r(this._allHandlers,function(d){var e=a.get(d.uid)||a.set(d.uid,{});O(!(d.reset&&d.overallReset),'"reset" and "overallReset" must not be both specified.');d.reset&&this._createSeriesStageTask(d,e,c,b);d.overallReset&&this._createOverallStageTask(d,e,c,b)},this)};b.prototype.prepareView=function(a,c,b,e){var d=a.renderTask,g=d.context;g.model=c;g.ecModel=b;g.api=e;d.__block=!a.incrementalPrepareRender;this._pipe(c,d)};b.prototype.performDataProcessorTasks=function(a,c){this._performStageTasks(this._dataProcessorHandlers,a,c,{block:!0})};b.prototype.performVisualTasks=function(a,c,b){this._performStageTasks(this._visualHandlers,a,c,b)};b.prototype._performStageTasks=function(a,c,b,e){e=e||{};var d=!1,g=this;r(a,function(a,f){if(!e.visualType||e.visualType===a.visualType){var h=g._stageTaskMap.get(a.uid),k=h.seriesTaskMap;if(h=h.overallTask){var n,k=h.agentStubMap;k.each(function(c){!e.setDirty||e.dirtyMap&&!e.dirtyMap.get(c.__pipeline.id)||(c.dirty(),n=!0)});n&&h.dirty();g.updatePayload(h,b);var p=g.getPerformArgs(h,e.block);k.each(function(c){c.perform(p)});h.perform(p)&&(d=!0)}else k&&k.each(function(f,h){!e.setDirty||e.dirtyMap&&!e.dirtyMap.get(f.__pipeline.id)||f.dirty();var k=g.getPerformArgs(f,e.block);k.skip=!a.performRawSeries&&c.isSeriesFiltered(f.context.model);g.updatePayload(f,b);f.perform(k)&&(d=!0)})}});this.unfinished=d||this.unfinished};b.prototype.performSeriesTasks=function(a){var c;a.eachSeries(function(a){c=a.dataTask.perform()||c});this.unfinished=c||this.unfinished};b.prototype.plan=function(){this._pipelineMap.each(function(a){var c=a.tail;do{if(c.__block){a.blockIndex=c.__idxInPipeline;break}c=c.getUpstream()}while(c)})};b.prototype.updatePayload=function(a,c){"remain"!==c&&(a.context.payload=c)};b.prototype._createSeriesStageTask=function(a,c,b,e){function d(c){var d=c.uid,d=k.set(d,h&&h.get(d)||new rh({plan:VB,reset:WB,count:YB}));d.context={model:c,ecModel:b,api:e,useClearVisual:a.isVisual&&!a.isLayout,plan:a.plan,reset:a.reset,scheduler:g};g._pipe(c,d)}var g=this,h=c.seriesTaskMap,k=c.seriesTaskMap=R();c=a.seriesType;var l=a.getTargetSeries;a.createOnAllSeries?b.eachRawSeries(d):c?b.eachRawSeriesByType(c,d):l&&l(b,e).each(d)};b.prototype._createOverallStageTask=function(a,c,b,e){function d(c){var a=c.uid,a=l.set(a,k&&k.get(a)||(p=!0,new rh({reset:SB,onDirty:UB})));a.context={model:c,overallProgress:n};a.agent=h;a.__block=n;g._pipe(c,a)}var g=this,h=c.overallTask=c.overallTask||new rh({reset:RB});h.context={ecModel:b,api:e,overallReset:a.overallReset,scheduler:g};var k=h.agentStubMap,l=h.agentStubMap=R();c=a.seriesType;var m=a.getTargetSeries,n=!0,p=!1;O(!a.createOnAllSeries,'"createOnAllSeries" do not supported for "overallReset", becuase it will block all streams.');c?b.eachRawSeriesByType(c,d):m?m(b,e).each(d):(n=!1,r(b.getSeries(),d));p&&h.dirty()};b.prototype._pipe=function(a,c){var b=this._pipelineMap.get(a.uid);!b.head&&(b.head=c);b.tail&&b.tail.pipe(c);b.tail=c;c.__idxInPipeline=b.count++;c.__pipeline=b};b.wrapStageHandler=function(a,c){if(fa(a)){var b=a;Uj=null;try{a(th,Hy)}catch(e){}a={overallReset:b,seriesType:Uj}}a.uid=$e("stageHandler");c&&(a.visualType=c);return a};return b}(),XB=vs(0),th={},Hy={},Uj;ws(th,No);ws(Hy,zy);th.eachSeriesByType=th.eachRawSeriesByType=function(b){Uj=b};th.eachComponent=function(b){"series"===b.mainType&&b.subType&&(Uj=b.subType)};var Iy="#37A2DA #32C5E9 #67E0E3 #9FE6B8 #FFDB5C #ff9f7f #fb7293 #E062AE #E690D1 #e7bcf3 #9d96f5 #8378EA #96BFFF".split(" "),oJ={color:Iy,colorLayer:[["#37A2DA","#ffd85c","#fd7b5f"],"#37A2DA #67E0E3 #FFDB5C #ff9f7f #E062AE #9d96f5".split(" "),"#37A2DA #32C5E9 #9FE6B8 #FFDB5C #ff9f7f #fb7293 #e7bcf3 #8378EA #96BFFF".split(" "),Iy]},Vj=function(){return{axisLine:{lineStyle:{color:"#B9B8CE"}},splitLine:{lineStyle:{color:"#484753"}},splitArea:{areaStyle:{color:["rgba(255,255,255,0.02)","rgba(255,255,255,0.05)"]}},minorSplitLine:{lineStyle:{color:"#20203B"}}}},Jy="#4992ff #7cffb2 #fddd60 #ff6e76 #58d9f9 #05c091 #ff8a45 #8d48e3 #dd79ff".split(" "),Ky={darkMode:!0,color:Jy,backgroundColor:"#100C2A",axisPointer:{lineStyle:{color:"#817f91"},crossStyle:{color:"#817f91"},label:{color:"#fff"}},legend:{textStyle:{color:"#B9B8CE"}},textStyle:{color:"#B9B8CE"},title:{textStyle:{color:"#EEF1FA"},subtextStyle:{color:"#B9B8CE"}},toolbox:{iconStyle:{borderColor:"#B9B8CE"}},dataZoom:{borderColor:"#71708A",textStyle:{color:"#B9B8CE"},brushStyle:{color:"rgba(135,163,206,0.3)"},handleStyle:{color:"#353450",borderColor:"#C5CBE3"},moveHandleStyle:{color:"#B0B6C3",opacity:.3},fillerColor:"rgba(135,163,206,0.2)",emphasis:{handleStyle:{borderColor:"#91B7F2",color:"#4D587D"},moveHandleStyle:{color:"#636D9A",opacity:.7}},dataBackground:{lineStyle:{color:"#71708A",width:1},areaStyle:{color:"#71708A"}},selectedDataBackground:{lineStyle:{color:"#87A3CE"},areaStyle:{color:"#87A3CE"}}},visualMap:{textStyle:{color:"#B9B8CE"}},timeline:{lineStyle:{color:"#B9B8CE"},label:{color:"#B9B8CE"},controlStyle:{color:"#B9B8CE",borderColor:"#B9B8CE"}},calendar:{itemStyle:{color:"#100C2A"},dayLabel:{color:"#B9B8CE"},monthLabel:{color:"#B9B8CE"},yearLabel:{color:"#B9B8CE"}},timeAxis:Vj(),logAxis:Vj(),valueAxis:Vj(),categoryAxis:Vj(),line:{symbol:"circle"},graph:{color:Jy},gauge:{title:{color:"#B9B8CE"},axisLine:{lineStyle:{color:[[1,"rgba(207,212,219,0.2)"]]}},axisLabel:{color:"#B9B8CE"},detail:{color:"#EEF1FA"}},candlestick:{itemStyle:{color:"#f64e56",color0:"#54ea92",borderColor:"#f64e56",borderColor0:"#54ea92"}}};Ky.categoryAxis.splitLine.show=!1;var Ly=R(),Ri={registerMap:function(b,a,c){if(!A(a))if(a.svg)a=[{type:"svg",source:a.svg,specialAreas:a.specialAreas}];else{var d=a.geoJson||a.geoJSON;d&&!a.features&&(c=a.specialAreas,a=d);a=[{type:"geoJSON",source:a,specialAreas:c}]}r(a,function(c){var a=c.type;"geoJson"===a&&(a=c.type="geoJSON");var b=pJ[a];O(b,"Illegal map type: "+a);b(c)});return Ly.set(b,a)},retrieveMap:function(b){return Ly.get(b)}},pJ={geoJSON:function(b){var a=b.source;b.geoJSON=da(a)?"undefined"!==typeof JSON&&JSON.parse?JSON.parse(a):(new Function("return ("+a+");"))():a},svg:function(b){b.svgXML=xs(b.source)}},qJ=function(){function b(){}b.prototype.normalizeQuery=function(a){var c={},b={},e={};if(da(a))a=kc(a),c.mainType=a.main||null,c.subType=a.sub||null;else{var f=["Index","Name","Id"],g={name:1,dataIndex:1,dataType:1};r(a,function(a,d){for(var h=!1,k=0;k<f.length;k++){var n=f[k],p=d.lastIndexOf(n);0<p&&p===d.length-n.length&&(p=d.slice(0,p),"data"!==p&&(c.mainType=p,c[n.toLowerCase()]=a,h=!0))}g.hasOwnProperty(d)&&(b[d]=a,h=!0);h||(e[d]=a)})}return{cptQuery:c,dataQuery:b,otherQuery:e}};b.prototype.filter=function(a,c){function b(c,a,b,d){return null==c[b]||a[d||b]===c[b]}var e=this.eventInfo;if(!e)return!0;var f=e.targetEl,g=e.packedEvent,h=e.model,e=e.view;if(!h||!e)return!0;var k=c.cptQuery,l=c.dataQuery;return b(k,h,"mainType")&&b(k,h,"subType")&&b(k,h,"index","componentIndex")&&b(k,h,"name")&&b(k,h,"id")&&b(l,g,"name")&&b(l,g,"dataIndex")&&b(l,g,"dataType")&&(!e.filterForExposedEvent||e.filterForExposedEvent(a,c.otherQuery,f,g))};b.prototype.afterTrigger=function(){this.eventInfo=null};return b}(),vg=2*Math.PI,Td=pc.CMD,ZB=["top","right","bottom","left"],Zb=[],Yb=new V,pa=new V,Ka=new V,qc=new V,rc=new V,Hi=[],jb=new V,My=["align","verticalAlign","width","height","fontSize"],ec=new Dc,So=ma(),rJ=ma(),Wj=["x","y","rotation"],sJ=function(){function b(){this._labelList=[];this._chartViewList=[]}b.prototype.clearLabels=function(){this._labelList=[];this._chartViewList=[]};b.prototype._addLabel=function(a,c,b,e,f){var d=e.style,h=e.__hostTarget.textConfig||{},k=e.getComputedTransform(),l=e.getBoundingRect().plain();aa.applyTransform(l,l,k);k?ec.setLocalTransform(k):(ec.x=ec.y=ec.rotation=ec.originX=ec.originY=0,ec.scaleX=ec.scaleY=1);var k=e.__hostTarget,m;if(k){m=k.getBoundingRect().plain();var n=k.getComputedTransform();aa.applyTransform(m,m,n)}k=m&&k.getTextGuideLine();this._labelList.push({label:e,labelLine:k,seriesModel:b,dataIndex:a,dataType:c,layoutOption:f,computedLayoutOption:null,rect:l,hostRect:m,priority:m?m.width*m.height:0,defaultAttr:{ignore:e.ignore,labelGuideIgnore:k&&k.ignore,x:ec.x,y:ec.y,rotation:ec.rotation,style:{x:d.x,y:d.y,align:d.align,verticalAlign:d.verticalAlign,width:d.width,height:d.height,fontSize:d.fontSize},cursor:e.cursor,attachedPos:h.position,attachedRot:h.rotation}})};b.prototype.addLabelsOfSeries=function(a){var c=this;this._chartViewList.push(a);var b=a.__model,e=b.get("labelLayout");(fa(e)||ia(e).length)&&a.group.traverse(function(a){if(a.ignore)return!0;var d=a.getTextContent();a=S(a);d&&!d.disableLabelLayout&&c._addLabel(a.dataIndex,a.dataType,b,d,e)})};b.prototype.updateLayoutConfig=function(a){function c(c,a){return function(){As(c,a)}}var b=a.getWidth();a=a.getHeight();for(var e=0;e<this._labelList.length;e++){var f=this._labelList[e],g=f.label,h=g.__hostTarget,k=f.defaultAttr,l=void 0,l=(l="function"===typeof f.layoutOption?f.layoutOption(dC(f,h)):f.layoutOption)||{};f.computedLayoutOption=l;var m=Math.PI/180;h&&h.setTextConfig({local:!1,position:null!=l.x||null!=l.y?null:k.attachedPos,rotation:null!=l.rotate?l.rotate*m:k.attachedRot,offset:[l.dx||0,l.dy||0]});var n=!1;null!=l.x?(g.x=H(l.x,b),g.setStyle("x",0),n=!0):(g.x=k.x,g.setStyle("x",k.style.x));null!=l.y?(g.y=H(l.y,a),g.setStyle("y",0),n=!0):(g.y=k.y,g.setStyle("y",k.style.y));if(l.labelLinePoints){var p=h.getTextGuideLine();p&&(p.setShape({points:l.labelLinePoints}),n=!1)}So(g).needsUpdateLabelLine=n;g.rotation=null!=l.rotate?l.rotate*m:k.rotation;for(m=0;m<My.length;m++)n=My[m],g.setStyle(n,null!=l[n]?l[n]:k.style[n]);l.draggable?(g.draggable=!0,g.cursor="move",h&&(k=f.seriesModel,null!=f.dataIndex&&(k=f.seriesModel.getData(f.dataType).getItemModel(f.dataIndex)),g.on("drag",c(h,k.getModel("labelLine"))))):(g.off("drag"),g.cursor=k.cursor)}};b.prototype.layout=function(a){var c=a.getWidth();a=a.getHeight();var b=bC(this._labelList),e=ta(b,function(c){return"shiftX"===c.layoutOption.moveOverlap}),f=ta(b,function(c){return"shiftY"===c.layoutOption.moveOverlap});Vl(e,"x","width",0,c,void 0);Vl(f,"y","height",0,a,void 0);c=ta(b,function(c){return c.layoutOption.hideOverlap});cC(c)};b.prototype.processLabelsOverall=function(){var a=this;r(this._chartViewList,function(c){var b=c.__model,e=c.ignoreLabelLineUpdate,f=b.isAnimationEnabled();c.group.traverse(function(c){if(c.ignore)return!0;var d=!e,g=c.getTextContent();!d&&g&&(d=So(g).needsUpdateLabelLine);d&&a._updateLabelLine(c,b);f&&a._animateLabels(c,b)})})};b.prototype._updateLabelLine=function(a,c){var b=a.getTextContent(),e=S(a),f=e.dataIndex;if(b&&null!=f){var g=c.getData(e.dataType),b=g.getItemModel(f),e={},f=g.getItemVisual(f,"style"),g=g.getVisual("drawType");e.stroke=f[g];f=b.getModel("labelLine");Tl(a,Ul(b),e);As(a,f)}};b.prototype._animateLabels=function(a,c){var b=a.getTextContent(),e=a.getTextGuideLine();if(b&&!b.ignore&&!b.invisible&&!a.disableLabelAnimation&&!Ye(a)){var f=So(b),g=f.oldLayout,h=S(a),k=h.dataIndex,l={x:b.x,y:b.y,rotation:b.rotation},h=c.getData(h.dataType);if(g){b.attr(g);if(g=a.prevStates)0<=ba(g,"select")&&b.attr(f.oldLayoutSelect),0<=ba(g,"emphasis")&&b.attr(f.oldLayoutEmphasis);ea(b,l,c,k)}else b.attr(l),lg(b).valueAnimation||(g=ka(b.style.opacity,1),b.style.opacity=0,za(b,{style:{opacity:g}},c,k));f.oldLayout=l;b.states.select&&(g=f.oldLayoutSelect={},Ji(g,l,Wj),Ji(g,b.states.select,Wj));b.states.emphasis&&(f=f.oldLayoutEmphasis={},Ji(f,l,Wj),Ji(f,b.states.emphasis,Wj));Cr(b,k,h,c,c)}!e||e.ignore||e.invisible||(f=rJ(e),g=f.oldLayout,b={points:e.shape.points},g?(e.attr({shape:g}),ea(e,{shape:b},c)):(e.setShape(b),e.style.strokePercent=0,za(e,{style:{strokePercent:1}},c)),f.oldLayout=b)};return b}(),tJ=Math.round(9*Math.random()),Ny=function(){function b(){this._id="__ec_inner_"+tJ++}b.prototype.get=function(a){return this._guard(a)[this._id]};b.prototype.set=function(a,c){var b=this._guard(a);"function"===typeof Object.defineProperty?Object.defineProperty(b,this._id,{value:c,enumerable:!1,configurable:!0}):b[this._id]=c;return this};b.prototype["delete"]=function(a){return this.has(a)?(delete this._guard(a)[this._id],!0):!1};b.prototype.has=function(a){return!!this._guard(a)[this._id]};b.prototype._guard=function(a){if(a!==Object(a))throw TypeError("Value of WeakMap is not a non-null object.");return a};return b}(),uJ=Y.extend({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(b,a){var c=a.cx,d=a.cy,e=a.width/2,f=a.height/2;b.moveTo(c,d-f);b.lineTo(c+e,d+f);b.lineTo(c-e,d+f);b.closePath()}}),vJ=Y.extend({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(b,a){var c=a.cx,d=a.cy,e=a.width/2,f=a.height/2;b.moveTo(c,d-f);b.lineTo(c+e,d);b.lineTo(c,d+f);b.lineTo(c-e,d);b.closePath()}}),wJ=Y.extend({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(b,a){var c=a.x,d=a.y,e=a.width/5*3,f=Math.max(e,a.height),e=e/2,g=e*e/(f-e),f=d-f+e+g,h=Math.asin(g/e),k=Math.cos(h)*e,l=Math.sin(h),m=Math.cos(h),n=.6*e,p=.7*e;b.moveTo(c-k,f+g);b.arc(c,f,e,Math.PI-h,2*Math.PI+h);b.bezierCurveTo(c+k-l*n,f+g+m*n,c,d-p,c,d);b.bezierCurveTo(c,d-p,c-k+l*n,f+g+m*n,c-k,f+g);b.closePath()}}),xJ=Y.extend({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(b,a){var c=a.height,d=a.x,e=a.y,f=a.width/3*2;b.moveTo(d,e);b.lineTo(d+f,e+c);b.lineTo(d,e+c/4*3);b.lineTo(d-f,e+c);b.lineTo(d,e);b.closePath()}}),yJ={line:function(b,a,c,d,e){e.x=b;e.y=a+d/2-1;e.width=c;e.height=2},rect:function(b,a,c,d,e){e.x=b;e.y=a;e.width=c;e.height=d},roundRect:function(b,a,c,d,e){e.x=b;e.y=a;e.width=c;e.height=d;e.r=Math.min(c,d)/4},square:function(b,a,c,d,e){c=Math.min(c,d);e.x=b;e.y=a;e.width=c;e.height=c},circle:function(b,a,c,d,e){e.cx=b+c/2;e.cy=a+d/2;e.r=Math.min(c,d)/2},diamond:function(b,a,c,d,e){e.cx=b+c/2;e.cy=a+d/2;e.width=c;e.height=d},pin:function(b,a,c,d,e){e.x=b+c/2;e.y=a+d/2;e.width=c;e.height=d},arrow:function(b,a,c,d,e){e.x=b+c/2;e.y=a+d/2;e.width=c;e.height=d},triangle:function(b,a,c,d,e){e.cx=b+c/2;e.cy=a+d/2;e.width=c;e.height=d}},Xj={};r({line:Z,rect:Z,roundRect:Z,square:Z,circle:Nb,diamond:vJ,pin:wJ,arrow:xJ,triangle:uJ},function(b,a){Xj[a]=new b});var gC=Y.extend({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},calculateTextPosition:function(b,a,c){b=kq(b,a,c);var d=this.shape;d&&"pin"===d.symbolType&&"inside"===a.position&&(b.y=c.y+.4*c.height);return b},buildPath:function(b,a,c){var d=a.symbolType;if("none"!==d){var e=Xj[d];e||(d="rect",e=Xj[d]);yJ[d](a.x,a.y,a.width,a.height,e.shape);e.buildPath(b,e.shape,c)}}}),iC=new pc(!0),Is=["shadowBlur","shadowOffsetX","shadowOffsetY"],Ks=[["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]],$l=new Ny,Ns=new Yf(100),Ms="symbol symbolSize symbolKeepAspect color backgroundColor dashArrayX dashArrayY maxTileWidth maxTileHeight".split(" "),ff=O,Ca=r,mC=fa,zg=N,Ni=ba,Oy="undefined"!==typeof window,Py={PROCESSOR:{FILTER:1E3,SERIES_FILTER:800,STATISTIC:5E3},VISUAL:{LAYOUT:1E3,PROGRESSIVE_LAYOUT:1100,GLOBAL:2E3,CHART:3E3,POST_CHART_LAYOUT:4600,COMPONENT:4E3,BRUSH:5E3,CHART_ITEM:4500,ARIA:6E3,DECAL:7E3}},Xs=/^[a-zA-Z0-9_]+$/,Qy=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);return a}($b),Ry=Qy.prototype;Ry.on=Ts("on");Ry.off=Ts("off");var If,To,Uo,zd,Vo,Wo,Xo,uh,vh,Sy,Ty,wh,Yo,Uy,Yj,xh,Vy,Wy,Xy,fc,Yy,ak=function(b){function a(c,a,e){function d(c,a){return c.__prio-a.__prio}var g=b.call(this,new qJ)||this;g._chartsViews=[];g._chartsMap={};g._componentsViews=[];g._componentsMap={};g._pendingActions=[];e=e||{};"string"===typeof a&&(a=Zj[a]);g._dom=c;var h,k=Oy?window:global;h=k.__ECHARTS__DEFAULT__RENDERER__||"canvas";k=k.__ECHARTS__DEFAULT__USE_DIRTY_RECT__;c=g._zr=Uk(c,{renderer:e.renderer||h,devicePixelRatio:e.devicePixelRatio,width:e.width,height:e.height,useDirtyRect:null==e.useDirtyRect?null==k?!1:k:e.useDirtyRect});g._throttledZrFlush=Fi(I(c.flush,c),17);(a=J(a))&&Yr(a,!0);g._theme=a;g._locale=WA(e.locale||Dr);g._coordSysMgr=new Yd;a=g._api=Vy(g);Pk(Pi,d);Pk(gm,d);g._scheduler=new at(g,a,gm,Pi);g._messageCenter=new Qy;g._labelManager=new sJ;g._initEvents();g.resize=I(g.resize,g);c.animation.on("frame",g._onframe,g);Sy(c,g);Ty(c,g);Ge(g);return g}x(a,b);a.prototype._onframe=function(){if(!this._disposed){Yy(this);var c=this._scheduler;if(this.__optionUpdated)c=this.__optionUpdated.silent,this.__flagInMainProcess=!0,If(this),zd.update.call(this),this._zr.flush(),this.__optionUpdated=this.__flagInMainProcess=!1,uh.call(this,c),vh.call(this,c);else if(c.unfinished){var a=1,b=this._model,f=this._api;c.unfinished=!1;do{var g=+new Date;c.performSeriesTasks(b);c.performDataProcessorTasks(b);Wo(this,b);c.performVisualTasks(b);Yj(this,this._model,f,"remain");a-=+new Date-g}while(0<a&&c.unfinished);c.unfinished||this._zr.flush()}}};a.prototype.getDom=function(){return this._dom};a.prototype.getId=function(){return this.id};a.prototype.getZr=function(){return this._zr};a.prototype.setOption=function(c,a,b){ff(!this.__flagInMainProcess,"`setOption` should not be called during main process.");if(this._disposed)vb(this.id);else{var d,e,h;zg(a)&&(b=a.lazyUpdate,d=a.silent,e=a.replaceMerge,h=a.transition,a=a.notMerge);this.__flagInMainProcess=!0;if(!this._model||a){a=new lJ(this._api);var k=this._theme,l=this._model=new No;l.scheduler=this._scheduler;l.init(null,null,null,k,this._locale,a)}this._model.setOption(c,{replaceMerge:e},dm);Xy(this,h);b?(this.__optionUpdated={silent:d},this.__flagInMainProcess=!1,this.getZr().wakeUp()):(If(this),zd.update.call(this),this._zr.flush(),this.__flagInMainProcess=this.__optionUpdated=!1,uh.call(this,d),vh.call(this,d))}};a.prototype.setTheme=function(){console.error("ECharts#setTheme() is DEPRECATED in ECharts 3.0")};a.prototype.getModel=function(){return this._model};a.prototype.getOption=function(){return this._model&&this._model.getOption()};a.prototype.getWidth=function(){return this._zr.getWidth()};a.prototype.getHeight=function(){return this._zr.getHeight()};a.prototype.getDevicePixelRatio=function(){return this._zr.painter.dpr||Oy&&window.devicePixelRatio||1};a.prototype.getRenderedCanvas=function(c){if(X.canvasSupported)return c=F({},c||{}),c.pixelRatio=c.pixelRatio||1,c.backgroundColor=c.backgroundColor||this._model.get("backgroundColor"),this._zr.painter.getRenderedCanvas(c)};a.prototype.getSvgDataURL=function(){if(X.svgSupported){var c=this._zr,a=c.storage.getDisplayList();r(a,function(c){c.stopAnimation(null,!0)});return c.painter.toDataURL()}};a.prototype.getDataURL=function(c){if(this._disposed)vb(this.id);else{c=c||{};var a=this._model,b=[],f=this;Ca(c.excludeComponents,function(c){a.eachComponent({mainType:c},function(c){c=f._componentsMap[c.__viewId];c.group.ignore||(b.push(c),c.group.ignore=!0)})});c="svg"===this._zr.painter.getType()?this.getSvgDataURL():this.getRenderedCanvas(c).toDataURL("image/"+(c&&c.type||"png"));Ca(b,function(c){c.group.ignore=!1});return c}};a.prototype.getConnectedDataURL=function(c){if(this._disposed)vb(this.id);else if(X.canvasSupported){var a="svg"===c.type,b=this.group,f=Math.min,g=Math.max;if(Mi[b]){var h=Infinity,k=Infinity,l=-Infinity,m=-Infinity,n=[],p=c&&c.pixelRatio||1;r(Xd,function(d,e){if(d.group===b){var p=a?d.getZr().painter.getSvgDom().innerHTML:d.getRenderedCanvas(J(c)),q=d.getDom().getBoundingClientRect();h=f(q.left,h);k=f(q.top,k);l=g(q.right,l);m=g(q.bottom,m);n.push({dom:p,left:q.left,top:q.top})}});var h=h*p,k=k*p,l=l*p,m=m*p,q=l-h,t=m-k,u=Wd(),w=Uk(u,{renderer:a?"svg":"canvas"});w.resize({width:q,height:t});if(a){var v="";Ca(n,function(c){v+='\x3cg transform\x3d"translate('+(c.left-h)+","+(c.top-k)+')"\x3e'+c.dom+"\x3c/g\x3e"});w.painter.getSvgRoot().innerHTML=v;c.connectedBackgroundColor&&w.painter.setBackgroundColor(c.connectedBackgroundColor);w.refreshImmediately();return w.painter.toDataURL()}c.connectedBackgroundColor&&w.add(new Z({shape:{x:0,y:0,width:q,height:t},style:{fill:c.connectedBackgroundColor}}));Ca(n,function(c){c=new Ga({style:{x:c.left*p-h,y:c.top*p-k,image:c.dom}});w.add(c)});w.refreshImmediately();return u.toDataURL("image/"+(c&&c.type||"png"))}return this.getDataURL(c)}};a.prototype.convertToPixel=function(c,a){return Vo(this,"convertToPixel",c,a)};a.prototype.convertFromPixel=function(c,a){return Vo(this,"convertFromPixel",c,a)};a.prototype.containPixel=function(c,a){if(this._disposed)vb(this.id);else{var b,d=Vc(this._model,c);r(d,function(c,d){0<=d.indexOf("Models")&&r(c,function(c){var e=c.coordinateSystem;e&&e.containPoint?b=b||!!e.containPoint(a):"seriesModels"===d?(e=this._chartsMap[c.__viewId])&&e.containPoint?b=b||e.containPoint(a,c):console.warn(d+": "+(e?"The found component do not support containPoint.":"No view mapping to the found component.")):console.warn(d+": containPoint is not supported")},this)},this);return!!b}};a.prototype.getVisual=function(c,a){var b=Vc(this._model,c,{defaultMainType:"series"}),d=b.seriesModel;d||console.warn("There is no specified seires model");d=d.getData();b=b.hasOwnProperty("dataIndexInside")?b.dataIndexInside:b.hasOwnProperty("dataIndex")?d.indexOfRawIndex(b.dataIndex):null;return null!=b?Sl(d,b,a):ug(d,a)};a.prototype.getViewOfComponentModel=function(c){return this._componentsMap[c.__viewId]};a.prototype.getViewOfSeriesModel=function(c){return this._chartsMap[c.__viewId]};a.prototype._initEvents=function(){var c=this;Ca(zJ,function(a){var b=function(b){var d=c.getModel(),e=b.target,f,l="globalout"===a;l?f={}:e&&ef(e,function(c){if((c=S(c))&&null!=c.dataIndex){var a=c.dataModel||d.getSeriesByIndex(c.seriesIndex);f=a&&a.getDataParams(c.dataIndex,c.dataType)||{};return!0}if(c.eventData)return f=F({},c.eventData),!0},!0);if(f){var m=f.componentType,n=f.componentIndex;if("markLine"===m||"markPoint"===m||"markArea"===m)m="series",n=f.seriesIndex;n=(m=m&&null!=n&&d.getComponent(m,n))&&c["series"===m.mainType?"_chartsMap":"_componentsMap"][m.__viewId];l||m&&n||console.warn("model or view can not be found by params");f.event=b;f.type=a;c._$eventProcessor.eventInfo={targetEl:e,packedEvent:f,model:m,view:n};c.trigger(a,f)}};b.zrEventfulCallAtLast=!0;c._zr.on(a,b,c)});Ca(Ag,function(a,b){c._messageCenter.on(b,function(c){this.trigger(b,c)},c)});Ca(["selectchanged"],function(a){c._messageCenter.on(a,function(c){this.trigger(a,c)},c)});eC(this._messageCenter,this,this._api)};a.prototype.isDisposed=function(){return this._disposed};a.prototype.clear=function(){this._disposed?vb(this.id):this.setOption({series:[]},!0)};a.prototype.dispose=function(){if(this._disposed)vb(this.id);else{this._disposed=!0;Cq(this.getDom(),bm,"");var c=this._api,a=this._model;Ca(this._componentsViews,function(b){b.dispose(a,c)});Ca(this._chartsViews,function(b){b.dispose(a,c)});this._zr.dispose();delete Xd[this.id]}};a.prototype.resize=function(c){ff(!this.__flagInMainProcess,"`resize` should not be called during main process.");if(this._disposed)vb(this.id);else{this._zr.resize(c);var a=this._model;this._loadingFX&&this._loadingFX.resize();a&&(a=a.resetOption("media"),c=c&&c.silent,this.__flagInMainProcess=!0,a&&If(this),zd.update.call(this,{type:"resize",animation:{duration:0}}),this.__flagInMainProcess=!1,uh.call(this,c),vh.call(this,c))}};a.prototype.showLoading=function(c,a){if(this._disposed)vb(this.id);else if(zg(c)&&(a=c,c=""),c=c||"default",this.hideLoading(),Qi[c]){var b=Qi[c](this._api,a),d=this._zr;this._loadingFX=b;d.add(b)}else console.warn("Loading effects "+c+" not exists.")};a.prototype.hideLoading=function(){this._disposed?vb(this.id):(this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null)};a.prototype.makeActionFromEvent=function(c){var a=F({},c);a.type=Ag[c.type];return a};a.prototype.dispatchAction=function(c,a){if(this._disposed)vb(this.id);else if(zg(a)||(a={silent:!!a}),Oi[c.type]&&this._model)if(this.__flagInMainProcess)this._pendingActions.push(c);else{var b=a.silent;Xo.call(this,c,b);var d=a.flush;d?this._zr.flush():!1!==d&&X.browser.weChat&&this._throttledZrFlush();uh.call(this,b);vh.call(this,b)}};a.prototype.updateLabelLayout=function(){var c=this._labelManager;c.updateLayoutConfig(this._api);c.layout(this._api);c.processLabelsOverall()};a.prototype.appendData=function(c){if(this._disposed)vb(this.id);else{var a=c.seriesIndex,a=this.getModel().getSeriesByIndex(a);ff(c.data&&a);a.appendData(c);this._scheduler.unfinished=!0;this.getZr().wakeUp()}};a.internalField=function(){function c(c){for(var a=[],b=c.currentStates,d=0;d<b.length;d++){var e=b[d];"emphasis"!==e&&"blur"!==e&&"select"!==e&&a.push(e)}c.selected&&c.states.select&&a.push("select");2===c.hoverState&&c.states.emphasis?a.push("emphasis"):1===c.hoverState&&c.states.blur&&a.push("blur");c.useStates(a)}function a(c,a){var b=0;c._zr.storage.traverse(function(c){c.isGroup||b++});b>a.get("hoverLayerThreshold")&&!X.node&&!X.worker&&a.eachSeries(function(a){a.preventUsingHoverLayer||(a=c._chartsMap[a.__viewId],a.__alive&&a.group.traverse(function(c){c.states.emphasis&&(c.states.emphasis.hoverLayer=!0)}))})}function b(c,a){var b=c.get("blendMode")||null;!X.canvasSupported&&b&&"source-over"!==b&&console.warn("Only canvas support blendMode");a.group.traverse(function(c){c.isGroup||(c.style.blend=b);c.eachPendingDisplayable&&c.eachPendingDisplayable(function(c){c.style.blend=b})})}function f(c,a){if(!c.preventAutoZ){var b=c.get("z"),d=c.get("zlevel");a.group.traverse(function(c){if(!c.isGroup){null!=b&&(c.z=b);null!=d&&(c.zlevel=d);var a=c.getTextContent(),e=c.getTextGuideLine();a&&(a.z=c.z,a.zlevel=c.zlevel,a.z2=c.z2+2);e&&(a=c.textGuideLineConfig&&c.textGuideLineConfig.showAbove,e.z=c.z,e.zlevel=c.zlevel,e.z2=c.z2+(a?1:-1))}})}}function g(c,a){a.group.traverse(function(c){if(!Ye(c)){var a=c.getTextContent(),b=c.getTextGuideLine();c.stateTransition&&(c.stateTransition=null);a&&a.stateTransition&&(a.stateTransition=null);b&&b.stateTransition&&(b.stateTransition=null);c.hasState()?(c.prevStates=c.currentStates,c.clearStates()):c.prevStates&&(c.prevStates=null)}})}function h(a,b){var d=a.getModel("stateAnimation"),e=a.isAnimationEnabled(),f=d.get("duration"),g=0<f?{duration:f,delay:d.get("delay"),easing:d.get("easing")}:null;b.group.traverse(function(a){if(a.states&&a.states.emphasis&&!Ye(a)){if(a instanceof Y){var b=dr(a);b.normalFill=a.style.fill;b.normalStroke=a.style.stroke;var d=a.states.select||{};b.selectFill=d.style&&d.style.fill||null;b.selectStroke=d.style&&d.style.stroke||null}a.__dirty&&(b=a.prevStates)&&a.useStates(b);e&&(a.stateTransition=g,b=a.getTextContent(),d=a.getTextGuideLine(),b&&(b.stateTransition=g),d&&(d.stateTransition=g));a.__dirty&&c(a)}})}If=function(c){var a=c._scheduler;a.restorePipelines(c._model);a.prepareStageTasks();To(c,!0);To(c,!1);a.plan()};To=function(c,a){function b(c){var b=c.__requireNewView;c.__requireNewView=!1;var l="_ec_"+c.id+"_"+c.type,b=!b&&g[l];if(!b){var b=kc(c.type),m=a?na.getClass(b.main,b.sub):oa.getClass(b.sub);ff(m,b.sub+" does not exist.");b=new m;b.init(d,k);g[l]=b;f.push(b);h.add(b.group)}c.__viewId=b.__id=l;b.__alive=!0;b.__model=c;b.group.__ecComponentInfo={mainType:c.mainType,index:c.componentIndex};!a&&e.prepareView(b,c,d,k)}for(var d=c._model,e=c._scheduler,f=a?c._componentsViews:c._chartsViews,g=a?c._componentsMap:c._chartsMap,h=c._zr,k=c._api,l=0;l<f.length;l++)f[l].__alive=!1;a?d.eachComponent(function(c,a){"series"!==c&&b(a)}):d.eachSeries(b);for(l=0;l<f.length;){var r=f[l];r.__alive?l++:(!a&&r.renderTask.dispose(),h.remove(r.group),r.dispose(d,k),f.splice(l,1),g[r.__id]===r&&delete g[r.__id],r.__id=r.group.__ecComponentInfo=null)}};Uo=function(c,a,b,d,e){function f(d){d&&d.__alive&&d[a]&&d[a](d.__model,g,c._api,b)}var g=c._model;g.setUpdatePayload(b);if(d){var h={};h[d+"Id"]=b[d+"Id"];h[d+"Index"]=b[d+"Index"];h[d+"Name"]=b[d+"Name"];h={mainType:d,query:h};e&&(h.subType=e);e=b.excludeSeriesId;var k;null!=e&&(k=R(),Ca(xa(e),function(c){c=Ea(c,null);null!=c&&k.set(c,!0)}));g&&g.eachComponent(h,function(a){if(!k||null==k.get(a.id)){if(ql(b)&&!b.notBlur){if(a instanceof ra){var e=c._api;if(ql(b)){var g="highlight"===b.type,h=a.seriesIndex,l=a.getData(b.dataType),m=Jd(l,b),m=(A(m)?m[0]:m)||0,m=l.getItemGraphicEl(m);if(!m)for(var n=l.count(),p=0;!m&&p<n;)m=l.getItemGraphicEl(p++);m?(l=S(m),ji(h,l.focus,l.blurScope,e,g)):(l=a.get(["emphasis","focus"]),m=a.get(["emphasis","blurScope"]),null!=l&&ji(h,l,m,e,g))}}}else pl(b)&&a instanceof ra&&(pl(b)&&(e=b.dataType,g=a.getData(e),g=Jd(g,b),A(g)||(g=[g]),a["toggleSelect"===b.type?"toggleSelect":"select"===b.type?"select":"unselect"](g,e)),er(a),fc(c));f(c["series"===d?"_chartsMap":"_componentsMap"][a.__viewId])}},c)}else Ca([].concat(c._componentsViews).concat(c._chartsViews),f)};zd={prepareAndUpdate:function(c){If(this);zd.update.call(this,c)},update:function(c){var a=this._model,b=this._api,d=this._zr,e=this._coordSysMgr,f=this._scheduler;a&&(a.setUpdatePayload(c),f.restoreData(a,c),f.performSeriesTasks(a),e.create(a,b),f.performDataProcessorTasks(a,c),Wo(this,a),e.update(a,b),wh(a),f.performVisualTasks(a,c),Yo(this,a,b,c),c=a.get("backgroundColor")||"transparent",e=a.get("darkMode"),X.canvasSupported?(d.setBackgroundColor(c),null!=e&&"auto"!==e&&d.setDarkMode(e)):(d=eb(c),Tb(d,"rgb")),xh(a,b))},updateTransform:function(c){var a=this,b=this._model,d=this._api;if(b){b.setUpdatePayload(c);var e=[];b.eachComponent(function(f,g){if("series"!==f){var h=a.getViewOfComponentModel(g);if(h&&h.__alive)if(h.updateTransform){var k=h.updateTransform(g,b,d,c);k&&k.update&&e.push(h)}else e.push(h)}});var f=R();b.eachSeries(function(e){var g=a._chartsMap[e.__viewId];g.updateTransform?(g=g.updateTransform(e,b,d,c))&&g.update&&f.set(e.uid,1):f.set(e.uid,1)});wh(b);this._scheduler.performVisualTasks(b,c,{setDirty:!0,dirtyMap:f});Yj(this,b,d,c,f);xh(b,this._api)}},updateView:function(c){var a=this._model;a&&(a.setUpdatePayload(c),oa.markUpdateMethod(c,"updateView"),wh(a),this._scheduler.performVisualTasks(a,c,{setDirty:!0}),Yo(this,this._model,this._api,c),xh(a,this._api))},updateVisual:function(c){var a=this,b=this._model;b&&(b.setUpdatePayload(c),b.eachSeries(function(c){c.getData().clearAllVisual()}),oa.markUpdateMethod(c,"updateVisual"),wh(b),this._scheduler.performVisualTasks(b,c,{visualType:"visual",setDirty:!0}),b.eachComponent(function(d,e){if("series"!==d){var f=a.getViewOfComponentModel(e);f&&f.__alive&&f.updateVisual(e,b,a._api,c)}}),b.eachSeries(function(d){a._chartsMap[d.__viewId].updateVisual(d,b,a._api,c)}),xh(b,this._api))},updateLayout:function(c){zd.update.call(this,c)}};Vo=function(c,a,b,d){if(c._disposed)vb(c.id);else{var e=c._model;c=c._coordSysMgr.getCoordinateSystems();var f;b=Vc(e,b);for(var g=0;g<c.length;g++){var h=c[g];if(h[a]&&null!=(f=h[a](e,b,d)))return f}console.warn("No coordinate system that supports "+a+" found by the given finder.")}};Wo=function(c,a){var b=c._chartsMap,d=c._scheduler;a.eachSeries(function(c){d.updateStreamModes(c,b[c.__viewId])})};Xo=function(c,a){var b=this,d=this.getModel(),e=c.type,f=c.escapeConnect,g=Oi[e],h=g.actionInfo,k=(h.update||"update").split(":"),l=k.pop(),r=null!=k[0]&&kc(k[0]);this.__flagInMainProcess=!0;var B=[c],y=!1;c.batch&&(y=!0,B=C(c.batch,function(a){a=K(F({},a),c);a.batch=null;return a}));var x=[],D,k=pl(c),A=ql(c)||k;Ca(B,function(c){D=(D=g.action(c,b._model,b._api))||F({},c);D.type=h.event||D.type;x.push(D);A?(Uo(b,l,c,"series"),fc(b)):r&&Uo(b,l,c,r.main,r.sub)});"none"===l||A||r||(this.__optionUpdated?(If(this),zd.update.call(this,c),this.__optionUpdated=!1):zd[l].call(this,c));D=y?{type:h.event||e,escapeConnect:f,batch:x}:x[0];this.__flagInMainProcess=!1;a||(e=this._messageCenter,e.trigger(D.type,D),k&&(d={type:"selectchanged",escapeConnect:f,selected:MA(d),isFromClick:c.isFromClick||!1,fromAction:c.type,fromActionPayload:c},e.trigger(d.type,d)))};uh=function(c){for(var a=this._pendingActions;a.length;){var b=a.shift();Xo.call(this,b,c)}};vh=function(c){!c&&this.trigger("updated")};Sy=function(c,a){c.on("rendered",function(b){a.trigger("rendered",b);!c.animation.isFinished()||a.__optionUpdated||a._scheduler.unfinished||a._pendingActions.length||a.trigger("finished")})};Ty=function(c,a){c.on("mouseover",function(c){var b=ef(c.target,ki);if(b){var d=S(b);ji(d.seriesIndex,d.focus,d.blurScope,a._api,!0);b.__highDownSilentOnTouch&&c.zrByTouch||b.__highByOuter||rb(b,$q);fc(a)}}).on("mouseout",function(c){var b=ef(c.target,ki);if(b){var d=S(b);ji(d.seriesIndex,d.focus,d.blurScope,a._api,!1);b.__highDownSilentOnTouch&&c.zrByTouch||b.__highByOuter||rb(b,ar);fc(a)}}).on("click",function(c){var b=ef(c.target,function(c){return null!=S(c).dataIndex},!0);b&&(c=b.selected?"unselect":"select",b=S(b),a._api.dispatchAction({type:c,dataType:b.dataType,dataIndexInside:b.dataIndex,seriesIndex:b.seriesIndex,isFromClick:!0}))})};wh=function(c){c.clearColorPalette();c.eachSeries(function(c){c.clearColorPalette()})};Yo=function(c,a,b,d){Uy(c,a,b,d);Ca(c._chartsViews,function(c){c.__alive=!1});Yj(c,a,b,d);Ca(c._chartsViews,function(c){c.__alive||c.remove(a,b)})};Uy=function(c,a,b,d,e){Ca(e||c._componentsViews,function(c){var e=c.__model;g(e,c);c.render(e,a,b,d);f(e,c);h(e,c)})};Yj=function(c,d,e,n,p){var k=c._scheduler,l=c._labelManager;l.clearLabels();var m=!1;d.eachSeries(function(a){var d=c._chartsMap[a.__viewId];d.__alive=!0;var e=d.renderTask;k.updatePayload(e,n);g(a,d);p&&p.get(a.uid)&&e.dirty();e.perform(k.getPerformArgs(e))&&(m=!0);a.__transientTransitionOpt=null;d.group.silent=!!a.get("silent");b(a,d);er(a);l.addLabelsOfSeries(d)});k.unfinished=m||k.unfinished;l.updateLayoutConfig(e);l.layout(e);l.processLabelsOverall();d.eachSeries(function(a){var b=c._chartsMap[a.__viewId];f(a,b);h(a,b)});a(c,d)};xh=function(c,a){Ca(im,function(b){b(c,a)})};fc=function(c){c.__needsUpdateStatus=!0;c.getZr().wakeUp()};Yy=function(a){a.__needsUpdateStatus&&(a.getZr().storage.traverse(function(a){Ye(a)||c(a)}),a.__needsUpdateStatus=!1)};Vy=function(c){return new (function(a){function b(){return null!==a&&a.apply(this,arguments)||this}x(b,a);b.prototype.getCoordinateSystems=function(){return c._coordSysMgr.getCoordinateSystems()};b.prototype.getComponentByElement=function(a){for(;a;){var b=a.__ecComponentInfo;if(null!=b)return c._model.getComponent(b.mainType,b.index);a=a.parent}};b.prototype.enterEmphasis=function(a,b){nc(a,b);fc(c)};b.prototype.leaveEmphasis=function(a,b){oc(a,b);fc(c)};b.prototype.enterBlur=function(a){rb(a,kl);fc(c)};b.prototype.leaveBlur=function(a){rb(a,ll);fc(c)};b.prototype.enterSelect=function(a){rb(a,br);fc(c)};b.prototype.leaveSelect=function(a){rb(a,cr);fc(c)};b.prototype.getModel=function(){return c.getModel()};b.prototype.getViewOfComponentModel=function(a){return c.getViewOfComponentModel(a)};b.prototype.getViewOfSeriesModel=function(a){return c.getViewOfSeriesModel(a)};return b}(zy))(c)};Wy=function(c){function a(c,a){for(var b=0;b<c.length;b++)c[b].__connectUpdateStatus=a}Ca(Ag,function(b,d){c._messageCenter.on(d,function(b){if(Mi[c.group]&&0!==c.__connectUpdateStatus&&(!b||!b.escapeConnect)){var d=c.makeActionFromEvent(b),e=[];Ca(Xd,function(a){a!==c&&a.group===c.group&&e.push(a)});a(e,0);Ca(e,function(c){1!==c.__connectUpdateStatus&&c.dispatchAction(d)});a(e,2)}})})};Xy=function(c,a){var b=c._model;r(xa(a),function(c){var a,d=c.from,e=c.to;null==e&&(a="`transition.to` must be specified.",ja(a));var f={includeMainTypes:["series"],enableAll:!1,enableNone:!1},g=d?Vc(b,d,f):null,f=Vc(b,e,f).seriesModel;null==f&&(a="`transition` is only supported on series.");g&&g.seriesModel!==f&&(a="`transition.from` and `transition.to` must be specified to the same series.");null!=a&&ja(a);f.__transientTransitionOpt={from:d?d.dimension:null,to:e.dimension,dividingMethod:c.dividingMethod}})}}();return a}($b),Zo=ak.prototype;Zo.on=Rs("on");Zo.off=Rs("off");Zo.one=function(b,a,c){function d(){for(var c=[],g=0;g<arguments.length;g++)c[g]=arguments[g];a&&a.apply&&a.apply(this,c);e.off(b,d)}var e=this;Vb("ECharts#one is deprecated.");this.on.call(this,b,d,c)};var zJ="click dblclick mouseover mouseout mousemove mousedown mouseup globalout contextmenu".split(" "),Oi={},Ag={},gm=[],dm=[],hm=[],im=[],Pi=[],Zj={},Qi={},Xd={},Mi={},AJ=+new Date-0,BJ=+new Date-0,bm="_echarts_instance_",$s=[],Zy=function(b){b=J(b);var a=b.type;a||ja("Must have a `type` when `registerTransform`.");var c=a.split(":");2!==c.length&&ja('Name must include namespace like "ns:regression".');var d=!1;"echarts"===c[0]&&(a=c[1],d=!0);b.__isBuiltIn=d;fs.set(a,b)};id(2E3,{createOnAllSeries:!0,performRawSeries:!0,reset:function(b,a){var c=b.getData(),d=b.visualStyleAccessPath||"itemStyle",e=b.getModel(d),f=ss(b,d)(e);if(e=e.getShallow("decal"))c.setVisual("decal",e),e.dirty=!0;var g=us(b,d),d=f[g],h=fa(d)?d:null;if(!f[g]||h)f[g]=b.getColorFromPalette(b.name,null,a.getSeriesCount()),c.setVisual("colorFromPalette",!0);c.setVisual("style",f);c.setVisual("drawType",g);if(!a.isSeriesFiltered(b)&&h)return c.setVisual("colorFromPalette",!1),{dataEach:function(c,a){var d=b.getDataParams(a),e=F({},f);e[g]=h(d);c.setItemVisual(a,"style",e)}}}});id(4500,{createOnAllSeries:!0,performRawSeries:!0,reset:function(b,a){if(!b.ignoreStyleOnData&&!a.isSeriesFiltered(b)){var c=b.getData(),d=b.visualStyleAccessPath||"itemStyle",e=ss(b,d),f=c.getVisual("drawType");return{dataEach:c.hasItemOption?function(c,a){var b=c.getRawDataItem(a);if(b&&b[d]){sh.option=b[d];var b=e(sh),g=c.ensureUniqueItemVisual(a,"style");F(g,b);sh.option.decal&&(c.setItemVisual(a,"decal",sh.option.decal),sh.option.decal.dirty=!0);f in b&&c.setItemVisual(a,"colorFromPalette",!1)}}:null}}}});id(4500,{performRawSeries:!0,overallReset:function(b){var a=R();b.eachSeries(function(c){if(c.useColorPaletteOnData){var b=a.get(c.type);b||(b={},a.set(c.type,b));Gy(c).scope=b}});b.eachSeries(function(c){if(c.useColorPaletteOnData&&!b.isSeriesFiltered(c)){var a=c.getRawData(),e={},f=c.getData(),g=Gy(c).scope,h=us(c,c.visualStyleAccessPath||"itemStyle");f.each(function(c){var a=f.getRawIndex(c);e[a]=c});a.each(function(b){var d=e[b];if(f.getItemVisual(d,"colorFromPalette")){d=f.ensureUniqueItemVisual(d,"style");b=a.getName(b)||b+"";var k=a.count();d[h]=c.getColorFromPalette(b,g,k)}})}})}});id(2E3,{createOnAllSeries:!0,performRawSeries:!0,reset:function(b,a){function c(c,a){var d=b.getRawValue(a),g=b.getDataParams(a);k&&c.setItemVisual(a,"symbol",e(d,g));l&&c.setItemVisual(a,"symbolSize",f(d,g));m&&c.setItemVisual(a,"symbolRotate",h(d,g))}var d=b.getData();b.legendSymbol&&d.setVisual("legendSymbol",b.legendSymbol);if(b.hasSymbolVisual){var e=b.get("symbol"),f=b.get("symbolSize"),g=b.get("symbolKeepAspect"),h=b.get("symbolRotate"),k=fa(e),l=fa(f),m=fa(h),n=k||l||m,p=!k&&e?e:b.defaultSymbol;d.setVisual({legendSymbol:b.legendSymbol||p,symbol:p,symbolSize:l?null:f,symbolKeepAspect:g,symbolRotate:m?null:h});if(!a.isSeriesFiltered(b))return{dataEach:n?c:null}}}});id(4500,{createOnAllSeries:!0,performRawSeries:!0,reset:function(b,a){function c(c,a){var b=c.getItemModel(a),d=b.getShallow("symbol",!0),e=b.getShallow("symbolSize",!0),k=b.getShallow("symbolRotate",!0),b=b.getShallow("symbolKeepAspect",!0);null!=d&&c.setItemVisual(a,"symbol",d);null!=e&&c.setItemVisual(a,"symbolSize",e);null!=k&&c.setItemVisual(a,"symbolRotate",k);null!=b&&c.setItemVisual(a,"symbolKeepAspect",b)}if(b.hasSymbolVisual&&!a.isSeriesFiltered(b))return{dataEach:b.getData().hasItemOption?c:null}}});id(7E3,function(b,a){b.eachRawSeries(function(c){if(!b.isSeriesFiltered(c)){var d=c.getData();d.hasItemVisual()&&d.each(function(c){var b=d.getItemVisual(c,"decal");b&&(d.ensureUniqueItemVisual(c,"style").decal=yg(b,a))});if(c=d.getVisual("decal"))d.getVisual("style").decal=yg(c,a)}})});cm(Yr);em(900,function(b){var a=R();b.eachSeries(function(c){var b=c.get("stack");if(b){var b=a.get(b)||a.set(b,[]),e=c.getData();c={stackResultDimension:e.getCalculationInfo("stackResultDimension"),stackedOverDimension:e.getCalculationInfo("stackedOverDimension"),stackedDimension:e.getCalculationInfo("stackedDimension"),stackedByDimension:e.getCalculationInfo("stackedByDimension"),isStackedByIndex:e.getCalculationInfo("isStackedByIndex"),data:e,seriesModel:c};c.stackedDimension&&(c.isStackedByIndex||c.stackedByDimension)&&(b.length&&e.setCalculationInfo("stackedOnSeries",b[b.length-1].seriesModel),b.push(c))}});a.each(mB)});Qi["default"]=function(b,a){a=a||{};K(a,{text:"loading",textColor:"#000",fontSize:12,fontWeight:"normal",fontStyle:"normal",fontFamily:"sans-serif",maskColor:"rgba(255, 255, 255, 0.8)",showSpinner:!0,color:"#5470c6",spinnerRadius:10,lineWidth:5,zlevel:0});var c=new M,d=new Z({style:{fill:a.maskColor},zlevel:a.zlevel,z:1E4});c.add(d);var e=new ha({style:{text:a.text,fill:a.textColor,fontSize:a.fontSize,fontWeight:a.fontWeight,fontStyle:a.fontStyle,fontFamily:a.fontFamily}}),f=new Z({style:{fill:"none"},textContent:e,textConfig:{position:"right",distance:10},zlevel:a.zlevel,z:10001});c.add(f);var g;a.showSpinner&&(g=new oh({shape:{startAngle:-Tj/2,endAngle:-Tj/2+.1,r:a.spinnerRadius},style:{stroke:a.color,lineCap:"round",lineWidth:a.lineWidth},zlevel:a.zlevel,z:10001}),g.animateShape(!0).when(1E3,{endAngle:3*Tj/2}).start("circularInOut"),g.animateShape(!0).when(1E3,{startAngle:3*Tj/2}).delay(300).start("circularInOut"),c.add(g));c.resize=function(){var c=e.getBoundingRect().width,k=a.showSpinner?a.spinnerRadius:0,c=(b.getWidth()-2*k-(a.showSpinner&&c?10:0)-c)/2-(a.showSpinner&&c?0:5+c/2)+(a.showSpinner?0:c/2)+(c?0:k),l=b.getHeight()/2;a.showSpinner&&g.setShape({cx:c,cy:l});f.setShape({x:c-k,y:l-k,width:2*k,height:2*k});d.setShape({x:0,y:0,width:b.getWidth(),height:b.getHeight()})};c.resize();return c};ac({type:"highlight",event:"highlight",update:"highlight"},hc);ac({type:"downplay",event:"downplay",update:"downplay"},hc);ac({type:"select",event:"select",update:"select"},hc);ac({type:"unselect",event:"unselect",update:"unselect"},hc);ac({type:"toggleSelect",event:"toggleSelect",update:"toggleSelect"},hc);Zj.light=oJ;Zj.dark=Ky;var dt=[],nC={registerPreprocessor:cm,registerProcessor:em,registerPostInit:Vs,registerPostUpdate:Ws,registerAction:ac,registerCoordinateSystem:Ys,registerLayout:Zs,registerVisual:id,registerTransform:Zy,registerLoading:bt,registerMap:ct,PRIORITY:Py,ComponentModel:W,ComponentView:na,SeriesModel:ra,ChartView:oa,registerComponentModel:function(b){W.registerClass(b)},registerComponentView:function(b){na.registerClass(b)},registerSeriesModel:function(b){ra.registerClass(b)},registerChartView:function(b){oa.registerClass(b)},registerSubTypeDefaulter:function(b,a){W.registerSubTypeDefaulter(b,a)},registerPainter:function(b,a){Ff[b]=a}},sd=function(){function b(a,c,b,e,f,g){this._old=a;this._new=c;this._oldKeyGetter=b||et;this._newKeyGetter=e||et;this.context=f;this._diffModeMultiple="multiple"===g}b.prototype.add=function(a){this._add=a;return this};b.prototype.update=function(a){this._update=a;return this};b.prototype.updateManyToOne=function(a){this._updateManyToOne=a;return this};b.prototype.updateOneToMany=function(a){this._updateOneToMany=a;return this};b.prototype.remove=function(a){this._remove=a;return this};b.prototype.execute=function(){this[this._diffModeMultiple?"_executeMultiple":"_executeOneToOne"]()};b.prototype._executeOneToOne=function(){var a=this._old,c=this._new,b={},e=Array(a.length),f=Array(c.length);this._initIndexMap(a,null,e,"_oldKeyGetter");this._initIndexMap(c,b,f,"_newKeyGetter");for(c=0;c<a.length;c++){var g=e[c],h=b[g],k=Bg(h);1<k?(k=h.shift(),1===h.length&&(b[g]=h[0]),this._update&&this._update(k,c)):1===k?(b[g]=null,this._update&&this._update(h,c)):this._remove&&this._remove(c)}this._performRestAdd(f,b)};b.prototype._executeMultiple=function(){var a=this._new,c={},b={},e=[],f=[];this._initIndexMap(this._old,c,e,"_oldKeyGetter");this._initIndexMap(a,b,f,"_newKeyGetter");for(a=0;a<e.length;a++){var g=e[a],h=c[g],k=b[g],l=Bg(h),m=Bg(k);if(1<l&&1===m)this._updateManyToOne&&this._updateManyToOne(k,h),b[g]=null;else if(1===l&&1<m)this._updateOneToMany&&this._updateOneToMany(k,h),b[g]=null;else if(1===l&&1===m)this._update&&this._update(k,h),b[g]=null;else if(1<l)for(g=0;g<l;g++)this._remove&&this._remove(h[g]);else this._remove&&this._remove(h)}this._performRestAdd(f,b)};b.prototype._performRestAdd=function(a,c){for(var b=0;b<a.length;b++){var e=a[b],f=c[e],g=Bg(f);if(1<g)for(var h=0;h<g;h++)this._add&&this._add(f[h]);else 1===g&&this._add&&this._add(f);c[e]=null}};b.prototype._initIndexMap=function(a,c,b,e){for(var d=this._diffModeMultiple,g=0;g<a.length;g++){var h="_ec_"+this[e](a[g],g);d||(b[g]=h);if(c){var k=c[h],l=Bg(k);0===l?(c[h]=g,d&&b.push(h)):1===l?c[h]=[k,g]:k.push(g)}}};return b}(),Cg=function(){return function(b){this.otherDims={};null!=b&&F(this,b)}}(),$y=Math.floor,yh=N,CJ={"float":"undefined"===typeof Float64Array?Array:Float64Array,"int":"undefined"===typeof Int32Array?Array:Int32Array,ordinal:Array,number:Array,time:Array},DJ="undefined"===typeof Uint32Array?Array:Uint32Array,EJ="undefined"===typeof Int32Array?Array:Int32Array,FJ="undefined"===typeof Uint16Array?Array:Uint16Array,GJ="hasItemOption _nameList _idList _invertedIndicesMap _rawData _dimValueGetter _count _rawCount _nameDimIdx _idDimIdx _nameRepeatCount".split(" "),HJ=["_extent","_approximateExtent","_rawExtent"],$o,ap,Jf,bp,Kf,De,bk,zh,cp,ck,Ah,dk,Bh,az,dp,Wa=function(){function b(a,c){this.type="list";this._rawCount=this._count=0;this._storage={};this._storageArr=[];this._nameList=[];this._idList=[];this._visual={};this._layout={};this._itemVisuals=[];this._itemLayouts=[];this._graphicEls=[];this._rawExtent={};this._extent={};this._approximateExtent={};this._calculationInfo={};this.hasItemOption=!0;this.TRANSFERABLE_METHODS=["cloneShallow","downSample","lttbDownSample","map"];this.CHANGABLE_METHODS=["filterSelf","selectRange"];this.DOWNSAMPLE_METHODS=["downSample","lttbDownSample"];this.getRawIndex=Kf;a=a||["x","y"];for(var b={},e=[],f={},g=0;g<a.length;g++){var h=a[g],h=da(h)?new Cg({name:h}):h instanceof Cg?h:new Cg(h),k=h.name;h.type=h.type||"float";h.coordDim||(h.coordDim=k,h.coordDimIndex=0);var l=h.otherDims=h.otherDims||{};e.push(k);b[k]=h;h.index=g;h.createInvertedIndices&&(f[k]=[]);0===l.itemName&&(this._nameDimIdx=g,this._nameOrdinalMeta=h.ordinalMeta);0===l.itemId&&(this._idDimIdx=g,this._idOrdinalMeta=h.ordinalMeta)}this.dimensions=e;this._dimensionInfos=b;this.hostModel=c;this._dimensionsSummary=oC(this);this._invertedIndicesMap=f;this.userOutput=this._dimensionsSummary.userOutput}b.prototype.getDimension=function(a){if("number"===typeof a||!isNaN(a)&&!this._dimensionInfos.hasOwnProperty(a))a=this.dimensions[a];return a};b.prototype.getDimensionInfo=function(a){return this._dimensionInfos[this.getDimension(a)]};b.prototype.getDimensionsOnCoord=function(){return this._dimensionsSummary.dataDimsOnCoord.slice()};b.prototype.mapDimension=function(a,c){var b=this._dimensionsSummary;return null==c?b.encodeFirstDimNotExtra[a]:(b=b.encode[a])?b[c]:null};b.prototype.mapDimensionsAll=function(a){return(this._dimensionsSummary.encode[a]||[]).slice()};b.prototype.initData=function(a,c,b){var d=a instanceof Rd||Xa(a);a=d?new mJ(a,this.dimensions.length):a;O(d||fa(a.getItem)&&fa(a.count),"Inavlid data provider.");this._rawData=a;d=a.getSource().sourceFormat;this._storage={};this._indices=null;this._dontMakeIdFromName=null!=this._idDimIdx||"typedArray"===d||!!a.fillStorage;this._nameList=(c||[]).slice();this._idList=[];this._nameRepeatCount={};b||(this.hasItemOption=!1);this.defaultDimValueGetter=$o[d];this._dimValueGetter=b||this.defaultDimValueGetter;this._dimValueGetterArrayRows=$o.arrayRows;this._rawExtent={};this._initDataFromProvider(0,a.count());a.pure&&(this.hasItemOption=!1)};b.prototype.getProvider=function(){return this._rawData};b.prototype.appendData=function(a){O(!this._indices,"appendData can only be called on raw data.");var c=this._rawData,b=this.count();c.appendData(a);a=c.count();c.persistent||(a+=b);this._initDataFromProvider(b,a,!0)};b.prototype.appendValues=function(a,c){for(var b=this._storage,e=this.dimensions,f=e.length,g=this._rawExtent,h=this.count(),k=h+Math.max(a.length,c?c.length:0),l=0;l<f;l++){var m=e[l];g[m]||(g[m]=Bh());bp(b,this._dimensionInfos[m],k,!0)}for(var l=C(e,function(c){return g[c]}),n=this._storageArr=C(e,function(c){return b[c]}),p=[],q=h;q<k;q++){for(var t=q-h,u=0;u<f;u++){m=e[u];m=this._dimValueGetterArrayRows(a[t]||p,m,t,u);n[u][q]=m;var w=l[u];m<w[0]&&(w[0]=m);m>w[1]&&(w[1]=m)}c&&(this._nameList[q]=c[t],this._dontMakeIdFromName||cp(this,q))}this._rawCount=this._count=k;this._extent={};ap(this)};b.prototype._initDataFromProvider=function(a,c,b){if(!(a>=c)){for(var d=this._rawData,f=this._storage,g=this.dimensions,h=g.length,k=this._dimensionInfos,l=this._nameList,m=this._idList,n=this._rawExtent,p="original"===d.getSource().sourceFormat,q=0;q<h;q++){var t=g[q];n[t]||(n[t]=Bh());bp(f,k[t],c,b)}b=this._storageArr=C(g,function(c){return f[c]});k=C(g,function(c){return n[c]});if(d.fillStorage)d.fillStorage(a,c,b,k);else for(q=[];a<c;a++){for(var q=d.getItem(a,q),u=0;u<h;u++){var t=g[u],w=b[u],t=this._dimValueGetter(q,t,a,u);w[a]=t;w=k[u];t<w[0]&&(w[0]=t);t>w[1]&&(w[1]=t)}p&&!d.pure&&q&&(t=q.name,null==l[a]&&null!=t&&(l[a]=Ea(t,null)),t=q.id,null==m[a]&&null!=t&&(m[a]=Ea(t,null)));this._dontMakeIdFromName||cp(this,a)}!d.persistent&&d.clean&&d.clean();this._rawCount=this._count=c;this._extent={};ap(this)}};b.prototype.count=function(){return this._count};b.prototype.getIndices=function(){var a,c=this._indices;if(c){a=c.constructor;var b=this._count;if(a===Array){a=new a(b);for(var e=0;e<b;e++)a[e]=c[e]}else a=new a(c.buffer,0,b)}else for(a=Jf(this),a=new a(this.count()),e=0;e<a.length;e++)a[e]=e;return a};b.prototype.getByDimIdx=function(a,c){if(!(0<=c&&c<this._count))return NaN;var b=this._storageArr[a];return b?b[this.getRawIndex(c)]:NaN};b.prototype.get=function(a,c){if(!(0<=c&&c<this._count))return NaN;var b=this._storage[a];return b?b[this.getRawIndex(c)]:NaN};b.prototype.getByRawIndex=function(a,c){if(!(0<=c&&c<this._rawCount))return NaN;var b=this._storage[a];return b?b[c]:NaN};b.prototype.getValues=function(a,c){var b=[];A(a)||(c=a,a=this.dimensions);for(var e=0,f=a.length;e<f;e++)b.push(this.get(a[e],c));return b};b.prototype.hasValue=function(a){for(var c=this._dimensionsSummary.dataDimsOnCoord,b=0,e=c.length;b<e;b++)if(isNaN(this.get(c[b],a)))return!1;return!0};b.prototype.getDataExtent=function(a){a=this.getDimension(a);var c=this._storage[a],b=Bh();if(!c)return b;var e=this.count(),f;if(!this._indices)return this._rawExtent[a].slice();if(f=this._extent[a])return f.slice();f=b;b=f[0];f=f[1];for(var g=0;g<e;g++){var h=this.getRawIndex(g),h=c[h];h<b&&(b=h);h>f&&(f=h)}f=[b,f];return this._extent[a]=f};b.prototype.getApproximateExtent=function(a){a=this.getDimension(a);return this._approximateExtent[a]||this.getDataExtent(a)};b.prototype.setApproximateExtent=function(a,c){c=this.getDimension(c);this._approximateExtent[c]=a.slice()};b.prototype.getCalculationInfo=function(a){return this._calculationInfo[a]};b.prototype.setCalculationInfo=function(a,c){yh(a)?F(this._calculationInfo,a):this._calculationInfo[a]=c};b.prototype.getSum=function(a){var c=0;if(this._storage[a])for(var b=0,e=this.count();b<e;b++){var f=this.get(a,b);isNaN(f)||(c+=f)}return c};b.prototype.getMedian=function(a){var c=[];this.each(a,function(a){isNaN(a)||c.push(a)});a=c.sort(function(c,a){return c-a});var b=this.count();return 0===b?0:1===b%2?a[(b-1)/2]:(a[b/2]+a[b/2-1])/2};b.prototype.rawIndexOf=function(a,c){var b=a&&this._invertedIndicesMap[a];if(!b)throw Error("Do not supported yet");b=b[c];return null==b||isNaN(b)?-1:b};b.prototype.indexOfName=function(a){for(var c=0,b=this.count();c<b;c++)if(this.getName(c)===a)return c;return-1};b.prototype.indexOfRawIndex=function(a){if(a>=this._rawCount||0>a)return-1;if(!this._indices)return a;var c=this._indices,b=c[a];if(null!=b&&b<this._count&&b===a)return a;for(var b=0,e=this._count-1;b<=e;){var f=(b+e)/2|0;if(c[f]<a)b=f+1;else if(c[f]>a)e=f-1;else return f}return-1};b.prototype.indicesOfNearest=function(a,c,b){a=this._storage[a];var d=[];if(!a)return d;null==b&&(b=Infinity);for(var f=Infinity,g=-1,h=0,k=0,l=this.count();k<l;k++){var m=this.getRawIndex(k),m=c-a[m],n=Math.abs(m);if(n<=b){if(n<f||n===f&&0<=m&&0>g)f=n,g=m,h=0;m===g&&(d[h++]=k)}}d.length=h;return d};b.prototype.getRawDataItem=function(a){if(this._rawData.persistent)return this._rawData.getItem(this.getRawIndex(a));for(var c=[],b=0;b<this.dimensions.length;b++)c.push(this.get(this.dimensions[b],a));return c};b.prototype.getName=function(a){a=this.getRawIndex(a);var c=this._nameList[a];null==c&&null!=this._nameDimIdx&&(c=zh(this,this._nameDimIdx,this._nameOrdinalMeta,a));null==c&&(c="");return c};b.prototype.getId=function(a){return bk(this,this.getRawIndex(a))};b.prototype.each=function(a,c,b,e){var d=this;if(this._count){"function"===typeof a&&(e=b,b=c,c=a,a=[]);b=b||e||this;e=C(ck(a),this.getDimension,this);Ah(this,e);a=e.length;e=C(e,function(c){return d._dimensionInfos[c].index});for(var g=this._storageArr,h=0,k=this.count();h<k;h++){var l=this.getRawIndex(h);switch(a){case 0:c.call(b,h);break;case 1:c.call(b,g[e[0]][l],h);break;case 2:c.call(b,g[e[0]][l],g[e[1]][l],h);break;default:for(var m=0,n=[];m<a;m++)n[m]=g[e[m]][l];n[m]=h;c.apply(b,n)}}}};b.prototype.filterSelf=function(a,c,b,e){var d=this;if(this._count){"function"===typeof a&&(e=b,b=c,c=a,a=[]);b=b||e||this;var g=C(ck(a),this.getDimension,this);Ah(this,g);a=this.count();e=new (Jf(this))(a);for(var h=[],k=g.length,l=0,g=C(g,function(c){return d._dimensionInfos[c].index}),m=g[0],n=this._storageArr,p=0;p<a;p++){var q=void 0,t=this.getRawIndex(p);if(0===k)q=c.call(b,p);else if(1===k)q=c.call(b,n[m][t],p);else{for(q=0;q<k;q++)h[q]=n[g[q]][t];h[q]=p;q=c.apply(b,h)}q&&(e[l++]=t)}l<a&&(this._indices=e);this._count=l;this._extent={};this.getRawIndex=this._indices?De:Kf;return this}};b.prototype.selectRange=function(a){var c=this,b=this._count;if(b){var e=[],f;for(f in a)a.hasOwnProperty(f)&&e.push(f);Ah(this,e);if(f=e.length){var g=this.count(),h=new (Jf(this))(g),k=0,l=e[0],m=C(e,function(a){return c._dimensionInfos[a].index}),n=a[l][0],p=a[l][1],l=this._storageArr,q=!1;if(!this._indices){var t=0;if(1===f){for(var u=l[m[0]],q=0;q<b;q++){var w=u[q];if(w>=n&&w<=p||isNaN(w))h[k++]=t;t++}q=!0}else if(2===f){for(var u=l[m[0]],v=l[m[1]],r=a[e[1]][0],B=a[e[1]][1],q=0;q<b;q++){var w=u[q],y=v[q];(w>=n&&w<=p||isNaN(w))&&(y>=r&&y<=B||isNaN(y))&&(h[k++]=t);t++}q=!0}}if(!q)if(1===f)for(q=0;q<g;q++){if(b=this.getRawIndex(q),w=l[m[0]][b],w>=n&&w<=p||isNaN(w))h[k++]=b}else for(q=0;q<g;q++){n=!0;b=this.getRawIndex(q);for(p=0;p<f;p++)if(t=e[p],w=l[m[p]][b],w<a[t][0]||w>a[t][1])n=!1;n&&(h[k++]=this.getRawIndex(q))}k<g&&(this._indices=h);this._count=k;this._extent={};this.getRawIndex=this._indices?De:Kf;return this}}};b.prototype.mapArray=function(a,c,b,e){"function"===typeof a&&(e=b,b=c,c=a,a=[]);var d=[];this.each(a,function(){d.push(c&&c.apply(this,arguments))},b||e||this);return d};b.prototype.map=function(a,c,b,e){b=b||e||this;a=C(ck(a),this.getDimension,this);Ah(this,a);e=dk(this,a);var d=e._storage;e._indices=this._indices;e.getRawIndex=e._indices?De:Kf;for(var g=[],h=a.length,k=this.count(),l=[],m=e._rawExtent,n=0;n<k;n++){for(var p=0;p<h;p++)l[p]=this.get(a[p],n);l[h]=n;p=c&&c.apply(b,l);if(null!=p){"object"!==typeof p&&(g[0]=p,p=g);for(var q=this.getRawIndex(n),t=0;t<p.length;t++){var u=a[t],w=p[t],v=m[u];(u=d[u])&&(u[q]=w);w<v[0]&&(v[0]=w);w>v[1]&&(v[1]=w)}}}return e};b.prototype.downSample=function(a,c,b,e){var d=dk(this,[a]),g=d._storage,h=[];c=$y(1/c);var g=g[a],k=this.count();a=d._rawExtent[a];for(var l=new (Jf(this))(k),m=0,n=0;n<k;n+=c){c>k-n&&(c=k-n,h.length=c);for(var p=0;p<c;p++){var q=this.getRawIndex(n+p);h[p]=g[q]}p=b(h);q=this.getRawIndex(Math.min(n+e(h,p)||0,k-1));g[q]=p;p<a[0]&&(a[0]=p);p>a[1]&&(a[1]=p);l[m++]=q}d._count=m;d._indices=l;d.getRawIndex=De;return d};b.prototype.lttbDownSample=function(a,c){var b=dk(this,[]),e=b._storage[a],f=this.count(),g=new (Jf(this))(f),h=0,k=$y(1/c),l=this.getRawIndex(0),m,n;g[h++]=l;for(var p=1;p<f-1;p+=k){for(var q=Math.min(p+k,f-1),t=Math.min(p+2*k,f),u=(t+q)/2,w=0,v=q;v<t;v++){var r=this.getRawIndex(v);m=e[r];isNaN(m)||(w+=m)}var w=w/(t-q),v=p,q=Math.min(p+k,f),t=p-1,B=e[l],l=-1;for(n=v;v<q;v++)r=this.getRawIndex(v),m=e[r],isNaN(m)||(m=Math.abs((t-u)*(m-B)-(t-v)*(w-B)),m>l&&(l=m,n=r));l=g[h++]=n}g[h++]=this.getRawIndex(f-1);b._count=h;b._indices=g;b.getRawIndex=De;return b};b.prototype.getItemModel=function(a){var c=this.hostModel;a=this.getRawDataItem(a);return new la(a,c,c&&c.ecModel)};b.prototype.diff=function(a){var c=this;return new sd(a?a.getIndices():[],this.getIndices(),function(c){return bk(a,c)},function(a){return bk(c,a)})};b.prototype.getVisual=function(a){var c=this._visual;return c&&c[a]};b.prototype.setVisual=function(a,c){this._visual=this._visual||{};yh(a)?F(this._visual,a):this._visual[a]=c};b.prototype.getItemVisual=function(a,c){var b=this._itemVisuals[a],b=b&&b[c];return null==b?this.getVisual(c):b};b.prototype.hasItemVisual=function(){return 0<this._itemVisuals.length};b.prototype.ensureUniqueItemVisual=function(a,c){var b=this._itemVisuals,e=b[a];e||(e=b[a]={});b=e[c];null==b&&(b=this.getVisual(c),A(b)?b=b.slice():yh(b)&&(b=F({},b)),e[c]=b);return b};b.prototype.setItemVisual=function(a,c,b){var d=this._itemVisuals[a]||{};this._itemVisuals[a]=d;yh(c)?F(d,c):d[c]=b};b.prototype.clearAllVisual=function(){this._visual={};this._itemVisuals=[]};b.prototype.setLayout=function(a,c){if(yh(a))for(var b in a)a.hasOwnProperty(b)&&this.setLayout(b,a[b]);else this._layout[a]=c};b.prototype.getLayout=function(a){return this._layout[a]};b.prototype.getItemLayout=function(a){return this._itemLayouts[a]};b.prototype.setItemLayout=function(a,c,b){this._itemLayouts[a]=b?F(this._itemLayouts[a]||{},c):c};b.prototype.clearItemLayouts=function(){this._itemLayouts.length=0};b.prototype.setItemGraphicEl=function(a,c){var b=this.hostModel;if(c){var e=S(c);e.dataIndex=a;e.dataType=this.dataType;e.seriesIndex=b&&b.seriesIndex;"group"===c.type&&c.traverse(az,c)}this._graphicEls[a]=c};b.prototype.getItemGraphicEl=function(a){return this._graphicEls[a]};b.prototype.eachItemGraphicEl=function(a,c){r(this._graphicEls,function(b,e){b&&a&&a.call(c,b,e)})};b.prototype.cloneShallow=function(a){a||(a=C(this.dimensions,this.getDimensionInfo,this),a=new b(a,this.hostModel));a._storage=this._storage;a._storageArr=this._storageArr;dp(a,this);if(this._indices){var c=this._indices.constructor;if(c===Array){var d=this._indices.length;a._indices=new c(d);for(c=0;c<d;c++)a._indices[c]=this._indices[c]}else a._indices=new c(this._indices)}else a._indices=null;a.getRawIndex=a._indices?De:Kf;return a};b.prototype.wrapMethod=function(a,c){var b=this[a];"function"===typeof b&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(a),this[a]=function(){var a=b.apply(this,arguments);return c.apply(this,[a].concat(Nf(arguments)))})};b.internalField=function(){function a(c,a,b,f){return Di(c[f],this._dimensionInfos[a])}$o={arrayRows:a,objectRows:function(c,a,b,f){return Di(c[a],this._dimensionInfos[a])},keyedColumns:a,original:function(c,a,b,f){b=c&&(null==c.value?c:c.value);var d;if(d=!this._rawData.pure)d=N(c)&&!(c instanceof Array);d&&(this.hasItemOption=!0);return Di(b instanceof Array?b[f]:b,this._dimensionInfos[a])},typedArray:function(c,a,b,f){return c[f]}};ap=function(c){var a=c._invertedIndicesMap;r(a,function(b,d){var e=c._dimensionInfos[d].ordinalMeta;if(e){b=a[d]=new EJ(e.categories.length);for(e=0;e<b.length;e++)b[e]=-1;for(e=0;e<c._count;e++)b[c.get(d,e)]=e}})};zh=function(c,a,b,f){var d;if(c=c._storageArr[a])d=c[f],b&&b.categories.length&&(d=b.categories[d]);return Ea(d,null)};Jf=function(c){return 65535<c._rawCount?DJ:FJ};bp=function(c,a,b,f){var d=CJ[a.type];a=a.name;if(f){var e=(f=c[a])&&f.length;if(e!==b){b=new d(b);for(d=0;d<e;d++)b[d]=f[d];c[a]=b}}else c[a]=new d(b)};Kf=function(c){return c};De=function(c){return c<this._count&&0<=c?this._indices[c]:-1};bk=function(c,a){var b=c._idList[a];null==b&&null!=c._idDimIdx&&(b=zh(c,c._idDimIdx,c._idOrdinalMeta,a));null==b&&(b="e\x00\x00"+a);return b};ck=function(c){A(c)||(c=null!=c?[c]:[]);return c};Ah=function(c,a){for(var b=0;b<a.length;b++)c._dimensionInfos[a[b]]||console.error("Unkown dimension "+a[b])};dk=function(c,a){var d=c.dimensions,f=new b(C(d,c.getDimensionInfo,c),c.hostModel);dp(f,c);for(var g=f._storage={},h=c._storage,k=f._storageArr=[],l=0;l<d.length;l++){var m=d[l];if(h[m]){if(0<=ba(a,m)){var n=m,p;p=h[m];var q=p.constructor;p=q===Array?p.slice():new q(p);g[n]=p;f._rawExtent[m]=Bh();f._extent[m]=null}else g[m]=h[m];k.push(g[m])}}return f};Bh=function(){return[Infinity,-Infinity]};az=function(c){c=S(c);var a=S(this);c.seriesIndex=a.seriesIndex;c.dataIndex=a.dataIndex;c.dataType=a.dataType};dp=function(c,a){r(GJ.concat(a.__wrappedMethods||[]),function(b){a.hasOwnProperty(b)&&(c[b]=a[b])});c.__wrappedMethods=a.__wrappedMethods;r(HJ,function(b){c[b]=J(a[b])});c._calculationInfo=F({},a._calculationInfo)};cp=function(c,a){var b=c._nameList,d=c._idList,g=c._nameDimIdx,h=c._idDimIdx,k=b[a],l=d[a];null==k&&null!=g&&(b[a]=k=zh(c,g,c._nameOrdinalMeta,a));null==l&&null!=h&&(d[a]=l=zh(c,h,c._idOrdinalMeta,a));null==l&&null!=k&&(l=c._nameRepeatCount,b=l[k]=(l[k]||0)+1,l=k,1<b&&(l+="__ec__"+b),d[a]=l)}}();return b}(),tC=function(){return function(b){this.coordSysDims=[];this.axisMap=R();this.categoryAxisMap=R();this.coordSysName=b}}(),uC={cartesian2d:function(b,a,c,d){var e=b.getReferringComponents("xAxis",Da).models[0],f=b.getReferringComponents("yAxis",Da).models[0];if(!e)throw Error('xAxis "'+Ba(b.get("xAxisIndex"),b.get("xAxisId"),0)+'" not found');if(!f)throw Error('yAxis "'+Ba(b.get("xAxisIndex"),b.get("yAxisId"),0)+'" not found');a.coordSysDims=["x","y"];c.set("x",e);c.set("y",f);hf(e)&&(d.set("x",e),a.firstCategoryDimIndex=0);hf(f)&&(d.set("y",f),null==a.firstCategoryDimIndex&&(a.firstCategoryDimIndex=1))},singleAxis:function(b,a,c,d){b=b.getReferringComponents("singleAxis",Da).models[0];if(!b)throw Error("singleAxis should be specified.");a.coordSysDims=["single"];c.set("single",b);hf(b)&&(d.set("single",b),a.firstCategoryDimIndex=0)},polar:function(b,a,c,d){var e=b.getReferringComponents("polar",Da).models[0];b=e.findAxisModel("radiusAxis");e=e.findAxisModel("angleAxis");if(!e)throw Error("angleAxis option not found");if(!b)throw Error("radiusAxis option not found");a.coordSysDims=["radius","angle"];c.set("radius",b);c.set("angle",e);hf(b)&&(d.set("radius",b),a.firstCategoryDimIndex=0);hf(e)&&(d.set("angle",e),null==a.firstCategoryDimIndex&&(a.firstCategoryDimIndex=1))},geo:function(b,a,c,d){a.coordSysDims=["lng","lat"]},parallel:function(b,a,c,d){var e=b.ecModel;b=e.getComponent("parallel",b.get("parallelIndex"));var f=a.coordSysDims=b.dimensions.slice();r(b.parallelAxisIndex,function(b,h){var g=e.getComponent("parallelAxis",b),l=f[h];c.set(l,g);hf(g)&&(d.set(l,g),null==a.firstCategoryDimIndex&&(a.firstCategoryDimIndex=h))})}},tc=function(){function b(a){this._setting=a||{};this._extent=[Infinity,-Infinity]}b.prototype.getSetting=function(a){return this._setting[a]};b.prototype.unionExtent=function(a){var c=this._extent;a[0]<c[0]&&(c[0]=a[0]);a[1]>c[1]&&(c[1]=a[1])};b.prototype.unionExtentFromData=function(a,c){this.unionExtent(a.getApproximateExtent(c))};b.prototype.getExtent=function(){return this._extent.slice()};b.prototype.setExtent=function(a,c){var b=this._extent;isNaN(a)||(b[0]=a);isNaN(c)||(b[1]=c)};b.prototype.isInExtentRange=function(a){return this._extent[0]<=a&&this._extent[1]>=a};b.prototype.isBlank=function(){return this._isBlank};b.prototype.setBlank=function(a){this._isBlank=a};return b}();ei(tc);var Am=function(){function b(a){this.categories=a.categories||[];this._needCollect=a.needCollect;this._deduplication=a.deduplication}b.createByAxisModel=function(a){a=a.option;var c=a.data,c=c&&C(c,wC);return new b({categories:c,needCollect:!c,deduplication:!1!==a.dedplication})};b.prototype.getOrdinal=function(a){return this._getOrCreateMap().get(a)};b.prototype.parseAndCollect=function(a){var c,b=this._needCollect;if("string"!==typeof a&&!b)return a;if(b&&!this._deduplication)return c=this.categories.length,this.categories[c]=a,c;var e=this._getOrCreateMap();c=e.get(a);null==c&&(b?(c=this.categories.length,this.categories[c]=a,e.set(a,c)):c=NaN);return c};b.prototype._getOrCreateMap=function(){return this._map||(this._map=R(this.categories))};return b}(),Wi=function(b){function a(c){c=b.call(this,c)||this;c.type="ordinal";var a=c.getSetting("ordinalMeta");a||(a=new Am({}));A(a)&&(a=new Am({categories:C(a,function(c){return N(c)?c.value:c})}));c._ordinalMeta=a;c._extent=c.getSetting("extent")||[0,a.categories.length-1];return c}x(a,b);a.prototype.parse=function(c){return"string"===typeof c?this._ordinalMeta.getOrdinal(c):Math.round(c)};a.prototype.contain=function(c){c=this.parse(c);return Ti(c,this._extent)&&null!=this._ordinalMeta.categories[c]};a.prototype.normalize=function(c){c=this._getTickNumber(this.parse(c));return Ui(c,this._extent)};a.prototype.scale=function(c){c=Math.round(Vi(c,this._extent));return this.getRawOrdinalNumber(c)};a.prototype.getTicks=function(){for(var c=[],a=this._extent,b=a[0];b<=a[1];)c.push({value:b}),b++;return c};a.prototype.getMinorTicks=function(c){};a.prototype.setSortInfo=function(c){if(null==c)this._ordinalNumbersByTick=this._ticksByOrdinalNumber=null;else{var a=c.ordinalNumbers;c=this._ordinalNumbersByTick=[];for(var b=this._ticksByOrdinalNumber=[],f=0,g=this._ordinalMeta.categories.length,h=Math.min(g,a.length);f<h;++f){var k=a[f];c[f]=k;b[k]=f}for(a=0;f<g;++f){for(;null!=b[a];)a++;c.push(a);b[a]=f}}};a.prototype._getTickNumber=function(c){var a=this._ticksByOrdinalNumber;return a&&0<=c&&c<a.length?a[c]:c};a.prototype.getRawOrdinalNumber=function(c){var a=this._ordinalNumbersByTick;return a&&0<=c&&c<a.length?a[c]:c};a.prototype.getLabel=function(c){if(!this.isBlank())return c=this.getRawOrdinalNumber(c.value),c=this._ordinalMeta.categories[c],null==c?"":c+""};a.prototype.count=function(){return this._extent[1]-this._extent[0]+1};a.prototype.unionExtentFromData=function(c,a){this.unionExtent(c.getApproximateExtent(a))};a.prototype.isInExtentRange=function(c){c=this._getTickNumber(c);return this._extent[0]<=c&&this._extent[1]>=c};a.prototype.getOrdinalMeta=function(){return this._ordinalMeta};a.prototype.niceTicks=function(){};a.prototype.niceExtent=function(){};a.type="ordinal";return a}(tc);tc.registerClass(Wi);var Zd=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type="interval";c._interval=0;c._intervalPrecision=2;return c}x(a,b);a.prototype.parse=function(c){return c};a.prototype.contain=function(c){return Ti(c,this._extent)};a.prototype.normalize=function(c){return Ui(c,this._extent)};a.prototype.scale=function(c){return Vi(c,this._extent)};a.prototype.setExtent=function(c,a){var b=this._extent;isNaN(c)||(b[0]=parseFloat(c));isNaN(a)||(b[1]=parseFloat(a))};a.prototype.unionExtent=function(c){var a=this._extent;c[0]<a[0]&&(a[0]=c[0]);c[1]>a[1]&&(a[1]=c[1]);this.setExtent(a[0],a[1])};a.prototype.getInterval=function(){return this._interval};a.prototype.setInterval=function(c){this._interval=c;this._niceExtent=this._extent.slice();this._intervalPrecision=Db(c)+2};a.prototype.getTicks=function(c){var a=this._interval,b=this._extent,f=this._niceExtent,g=this._intervalPrecision,h=[];if(!a)return h;b[0]<f[0]&&(c?h.push({value:sa(f[0]-a,g)}):h.push({value:b[0]}));for(var k=f[0];k<=f[1];){h.push({value:k});k=sa(k+a,g);if(k===h[h.length-1].value)break;if(1E4<h.length)return[]}f=h.length?h[h.length-1].value:f[1];b[1]>f&&(c?h.push({value:sa(f+a,g)}):h.push({value:b[1]}));return h};a.prototype.getMinorTicks=function(c){for(var a=this.getTicks(!0),b=[],f=this.getExtent(),g=1;g<a.length;g++){for(var h=a[g-1],k=0,l=[],m=(a[g].value-h.value)/c;k<c-1;){var n=sa(h.value+(k+1)*m);n>f[0]&&n<f[1]&&l.push(n);k++}b.push(l)}return b};a.prototype.getLabel=function(c,a){if(null==c)return"";var b=a&&a.precision;null==b?b=Db(c.value)||0:"auto"===b&&(b=this._intervalPrecision);b=sa(c.value,b,!0);return El(b)};a.prototype.niceTicks=function(c,a,b){c=c||5;var d=this._extent,e=d[1]-d[0];isFinite(e)&&(0>e&&d.reverse(),e=c=Zk((d[1]-d[0])/c,!0),null!= +a&&e<a&&(e=c=a),null!=b&&e>b&&(e=c=b),b=a=Db(e)+2,e=b=[sa(Math.ceil(d[0]/e)*e,b),sa(Math.floor(d[1]/e)*e,b)],!isFinite(e[0])&&(e[0]=d[0]),!isFinite(e[1])&&(e[1]=d[1]),e[0]=Math.max(Math.min(e[0],d[1]),d[0]),e[1]=Math.max(Math.min(e[1],d[1]),d[0]),e[0]>e[1]&&(e[0]=e[1]),this._intervalPrecision=a,this._interval=c,this._niceExtent=b)};a.prototype.niceExtent=function(c){var a=this._extent;if(a[0]===a[1])if(0!==a[0]){var b=a[0];c.fixMax||(a[1]+=b/2);a[0]-=b/2}else a[1]=1;isFinite(a[1]-a[0])||(a[0]=0,a[1]=1);this.niceTicks(c.splitNumber,c.minInterval,c.maxInterval);b=this._interval;c.fixMin||(a[0]=sa(Math.floor(a[0]/b)*b));c.fixMax||(a[1]=sa(Math.ceil(a[1]/b)*b))};a.type="interval";return a}(tc);tc.registerClass(Zd);var ep="undefined"!==typeof Float32Array?Float32Array:Array,IJ={seriesType:"bar",plan:cf(),reset:function(b){if(b.coordinateSystem&&"cartesian2d"===b.coordinateSystem.type&&b.pipelineContext&&b.pipelineContext.large){var a=b.getData(),c=b.coordinateSystem,d=c.master.getRect(),e=c.getBaseAxis(),f=c.getOtherAxis(e),g=a.mapDimension(f.dim),h=a.mapDimension(e.dim),k=f.isHorizontal(),l=k?0:1,m=jt(nm([b]),e,b).width;.5<m||(m=.5);return{progress:function(a,b){for(var e=a.count,n=new ep(2*e),p=new ep(2*e),e=new ep(e),w,v=[],r=[],B=0,y=0;null!=(w=a.next());)r[l]=b.get(g,w),r[1-l]=b.get(h,w),v=c.dataToPoint(r,null,v),p[B]=k?d.x+d.width:v[0],n[B++]=v[0],p[B]=k?v[1]:d.y+d.height,n[B++]=v[1],e[y++]=w;b.setLayout({largePoints:n,largeDataIndices:e,largeBackgroundPoints:p,barWidth:m,valueAxisStart:f.toGlobalCoord(f.dataToCoord("log"===f.type?1:0)),backgroundStart:k?d.x:d.y,valueAxisHorizontal:k})}}}}},JJ=function(b,a,c,d){for(;c<d;){var e=c+d>>>1;b[e][1]<a?c=e+1:d=e}return c},pm=function(b){function a(c){c=b.call(this,c)||this;c.type="time";return c}x(a,b);a.prototype.getLabel=function(c){var a=this.getSetting("useUTC");c=c.value;var b;a:switch(af(this._minLevelUnit)){case "year":case "month":b="day";break a;case "millisecond":b="millisecond";break a;default:b="second"}return mg(c,wy[b]||wy.second,a,this.getSetting("locale"))};a.prototype.getFormattedLabel=function(c,a,b){var d=this.getSetting("useUTC"),e=this.getSetting("locale"),h=null;if("string"===typeof b)h=b;else if("function"===typeof b)h=b(c.value,a,{level:c.level});else{a=F({},ph);if(0<c.level)for(var k=0;k<Ko.length;++k)a[Ko[k]]="{primary|"+a[Ko[k]]+"}";b=b?!1===b.inherit?b:K(b,a):a;var l=Er(c.value,d);if(b[l])h=b[l];else if(b.inherit){for(k=mt.indexOf(l)-1;0<=k;--k)if(b[l]){h=b[l];break}h=h||a.none}A(h)&&(a=null==c.level?0:0<=c.level?c.level:h.length+c.level,a=Math.min(a,h.length-1),h=h[a])}return mg(new Date(c.value),h,d,e)};a.prototype.getTicks=function(c){c=this._extent;var a=[];if(!this._interval)return a;a.push({value:c[0],level:0});var b=this.getSetting("useUTC"),b=zC(this._minLevelUnit,this._approxInterval,b,c),a=a.concat(b);a.push({value:c[1],level:0});return a};a.prototype.niceExtent=function(c){var a=this._extent;a[0]===a[1]&&(a[0]-=864E5,a[1]+=864E5);if(-Infinity===a[1]&&Infinity===a[0]){var b=new Date;a[1]=+new Date(b.getFullYear(),b.getMonth(),b.getDate());a[0]=a[1]-864E5}this.niceTicks(c.splitNumber,c.minInterval,c.maxInterval)};a.prototype.niceTicks=function(c,a,b){var d=this._extent;this._approxInterval=(d[1]-d[0])/(c||10);null!=a&&this._approxInterval<a&&(this._approxInterval=a);null!=b&&this._approxInterval>b&&(this._approxInterval=b);c=ek.length;c=Math.min(JJ(ek,this._approxInterval,0,c),c-1);this._interval=ek[c][1];this._minLevelUnit=ek[Math.max(c-1,0)][0]};a.prototype.parse=function(c){return"number"===typeof c?c:+qb(c)};a.prototype.contain=function(c){return Ti(this.parse(c),this._extent)};a.prototype.normalize=function(c){return Ui(this.parse(c),this._extent)};a.prototype.scale=function(c){return Vi(c,this._extent)};a.type="time";return a}(Zd),ek=[["second",1E3],["minute",6E4],["hour",36E5],["quarter-day",216E5],["half-day",432E5],["day",10368E4],["half-week",3024E5],["week",6048E5],["month",26784E5],["quarter",8208E6],["half-year",15768E6],["year",31536E6]];tc.registerClass(pm);var bz=tc.prototype,Ch=Zd.prototype,KJ=Math.floor,LJ=Math.ceil,fk=Math.pow,Ob=Math.log,om=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type="log";c.base=10;c._originalScale=new Zd;c._interval=0;return c}x(a,b);a.prototype.getTicks=function(c){var a=this._extent,b=this._originalScale.getExtent();c=Ch.getTicks.call(this,c);return C(c,function(c){c=c.value;var d=sa(fk(this.base,c)),d=c===a[0]&&this._fixMin?sa(d,Db(b[0])):d,d=c===a[1]&&this._fixMax?sa(d,Db(b[1])):d;return{value:d}},this)};a.prototype.setExtent=function(c,a){var b=this.base;c=Ob(c)/Ob(b);a=Ob(a)/Ob(b);Ch.setExtent.call(this,c,a)};a.prototype.getExtent=function(){var c=this.base,a=bz.getExtent.call(this);a[0]=fk(c,a[0]);a[1]=fk(c,a[1]);c=this._originalScale.getExtent();this._fixMin&&(a[0]=sa(a[0],Db(c[0])));this._fixMax&&(a[1]=sa(a[1],Db(c[1])));return a};a.prototype.unionExtent=function(c){this._originalScale.unionExtent(c);var a=this.base;c[0]=Ob(c[0])/Ob(a);c[1]=Ob(c[1])/Ob(a);bz.unionExtent.call(this,c)};a.prototype.unionExtentFromData=function(c,a){this.unionExtent(c.getApproximateExtent(a))};a.prototype.niceTicks=function(c){c=c||10;var a=this._extent,b=a[1]-a[0];if(!(Infinity===b||0>=b)){var f=uq(b);for(.5>=c/b*f&&(f*=10);!isNaN(f)&&1>Math.abs(f)&&0<Math.abs(f);)f*=10;c=[sa(LJ(a[0]/f)*f),sa(KJ(a[1]/f)*f)];this._interval=f;this._niceExtent=c}};a.prototype.niceExtent=function(c){Ch.niceExtent.call(this,c);this._fixMin=c.fixMin;this._fixMax=c.fixMax};a.prototype.parse=function(c){return c};a.prototype.contain=function(c){c=Ob(c)/Ob(this.base);return Ti(c,this._extent)};a.prototype.normalize=function(c){c=Ob(c)/Ob(this.base);return Ui(c,this._extent)};a.prototype.scale=function(c){c=Vi(c,this._extent);return fk(this.base,c)};a.type="log";return a}(tc),cz=om.prototype;cz.getMinorTicks=Ch.getMinorTicks;cz.getLabel=Ch.getLabel;tc.registerClass(om);var AC=function(){function b(a,c,b){this._prepareParams(a,c,b)}b.prototype._prepareParams=function(a,c,b){b[1]<b[0]&&(b=[NaN,NaN]);this._dataMin=b[0];this._dataMax=b[1];var d=this._isOrdinal="ordinal"===a.type;this._needCrossZero=c.getNeedCrossZero&&c.getNeedCrossZero();var f=this._modelMinRaw=c.get("min",!0);fa(f)?this._modelMinNum=jf(a,f({min:b[0],max:b[1]})):"dataMin"!==f&&(this._modelMinNum=jf(a,f));f=this._modelMaxRaw=c.get("max",!0);fa(f)?this._modelMaxNum=jf(a,f({min:b[0],max:b[1]})):"dataMax"!==f&&(this._modelMaxNum=jf(a,f));d?this._axisDataLen=c.getCategories().length:(a=c.get("boundaryGap"),a=A(a)?a:[a||0,a||0],"boolean"===typeof a[0]||"boolean"===typeof a[1]?(console.warn('Boolean type for boundaryGap is only allowed for ordinal axis. Please use string in percentage instead, e.g., "20%". Currently, boundaryGap is set to be 0.'),this._boundaryGapInner=[0,0]):this._boundaryGapInner=[Ub(a[0],1),Ub(a[1],1)])};b.prototype.calculate=function(){var a=this._isOrdinal,c=this._dataMin,b=this._dataMax,e=this._axisDataLen,f=this._boundaryGapInner,g=a?null:b-c||Math.abs(c),h="dataMin"===this._modelMinRaw?c:this._modelMinNum,k="dataMax"===this._modelMaxRaw?b:this._modelMaxNum,l=null!=h,m=null!=k;null==h&&(h=a?e?0:NaN:c-f[0]*g);null==k&&(k=a?e?e-1:NaN:b+f[1]*g);null!=h&&isFinite(h)||(h=NaN);null!=k&&isFinite(k)||(k=NaN);h>k&&(k=h=NaN);a=Nc(h)||Nc(k)||a&&!e;this._needCrossZero&&(0<h&&0<k&&!l&&(h=0),0>h&&0>k&&!m&&(k=0));c=this._determinedMin;b=this._determinedMax;null!=c&&(h=c,l=!0);null!=b&&(k=b,m=!0);return{min:h,max:k,minFixed:l,maxFixed:m,isBlank:a}};b.prototype.modifyDataMinMax=function(a,c){O(!this.frozen);this[MJ[a]]=c};b.prototype.setDeterminedMinMax=function(a,c){var b=NJ[a];O(!this.frozen&&null==this[b]);this[b]=c};b.prototype.freeze=function(){this.frozen=!0};return b}(),NJ={min:"_determinedMin",max:"_determinedMax"},MJ={min:"_dataMin",max:"_dataMax"},Lf=function(){function b(){}b.prototype.getNeedCrossZero=function(){return!this.option.scale};b.prototype.getCoordSysModel=function(){};return b}(),OJ=Object.freeze({__proto__:null,createList:function(b){return sc(b.getSource(),b)},getLayoutRect:Aa,dataStack:{isDimensionStacked:Gc,enableDataStack:gt,getStackedDimension:lm},createScale:function(b,a){var c=a;a instanceof la||(c=new la(a));var d=Dg(c);d.setExtent(b[0],b[1]);jd(d,c);return d},mixinAxisModelCommonMethods:function(b){wa(b,Lf)},getECData:S,createTextStyle:function(b,a){a=a||{};return Ja(b,null,null,"normal"!==a.state)},createDimensions:gf,createSymbol:Pa,enableHoverEmphasis:va}),rt=function(){function b(a,c,b){this.name=a;this.geometries=c;b?b=[b[0],b[1]]:(a=this.getBoundingRect(),b=[a.x+a.width/2,a.y+a.height/2]);this.center=b}b.prototype.getBoundingRect=function(){var a=this._rect;if(a)return a;for(var c=Number.MAX_VALUE,a=[c,c],c=[-c,-c],b=[],e=[],f=this.geometries,g=0;g<f.length;g++)"polygon"===f[g].type&&(hl(f[g].exterior,b,e),Qc(a,a,b),Rc(c,c,e));0===g&&(a[0]=a[1]=c[0]=c[1]=0);return this._rect=new aa(a[0],a[1],c[0]-a[0],c[1]-a[1])};b.prototype.contain=function(a){var c=this.getBoundingRect(),b=this.geometries;if(!c.contain(a[0],a[1]))return!1;var c=0,e=b.length;a:for(;c<e;c++)if("polygon"===b[c].type){var f=b[c].interiors;if($d(b[c].exterior,a[0],a[1])){for(var g=0;g<(f?f.length:0);g++)if($d(f[g],a[0],a[1]))continue a;return!0}}return!1};b.prototype.transformTo=function(a,c,b,e){var d=this.getBoundingRect(),g=d.width/d.height;b?e||(e=b/g):b=g*e;a=new aa(a,c,b,e);d=d.calculateTransform(a);c=this.geometries;for(b=0;b<c.length;b++)if("polygon"===c[b].type){var h=c[b].exterior;e=c[b].interiors;for(g=0;g<h.length;g++)Qa(h[g],h[g],d);for(h=0;h<(e?e.length:0);h++)for(g=0;g<e[h].length;g++)Qa(e[h][g],e[h][g],d)}d=this._rect;d.copy(a);this.center=[d.x+d.width/2,d.y+d.height/2]};b.prototype.cloneShallow=function(a){null==a&&(a=this.name);a=new b(a,this.geometries,this.center);a._rect=this._rect;a.transformTo=null;return a};return b}(),PJ=Object.freeze({__proto__:null,linearMap:ga,round:sa,asc:Cb,getPrecision:sq,getPrecisionSafe:Db,getPixelPrecision:Wk,getPercentWithPrecision:tq,MAX_SAFE_INTEGER:9007199254740991,remRadian:Xk,isRadianAroundZero:ag,parseDate:qb,quantity:uq,quantityExponent:Yk,nice:Zk,quantile:ai,reformIntervals:$k,isNumeric:bi,numericToNumber:jc}),QJ=Object.freeze({__proto__:null,parse:qb,format:mg}),RJ=Object.freeze({__proto__:null,extendShape:or,extendPath:pr,makePath:hg,makeImage:xl,mergePath:xb,resizePath:wl,createIcon:Ze,updateProps:ea,initProps:za,getTransform:dd,clipPointsByRect:zl,clipRectByRect:tr,registerShape:qr,getShapeClass:oi,Group:M,Image:Ga,Text:ha,Circle:Nb,Ellipse:nh,Sector:lb,Ring:Hf,Polygon:bb,Polyline:kb,Rect:Z,Line:Ua,BezierCurve:rf,Arc:oh,IncrementalDisplayable:xg,CompoundPath:Io,LinearGradient:mf,RadialGradient:ty,BoundingRect:aa}),SJ=Object.freeze({__proto__:null,addCommas:El,toCamelCase:Gr,normalizeCssArray:Od,encodeHTML:fd,formatTpl:Fl,getTooltipMarker:Ir,formatTime:function(b,a,c){Sa("echarts.format.formatTime","echarts.time.format");if("week"===b||"month"===b||"quarter"===b||"half-year"===b||"year"===b)b="MM-dd\nyyyy";a=qb(a);var d=c?"UTC":"";c=a["get"+d+"FullYear"]();var e=a["get"+d+"Month"]()+1,f=a["get"+d+"Date"](),g=a["get"+d+"Hours"](),h=a["get"+d+"Minutes"](),k=a["get"+d+"Seconds"]();a=a["get"+d+"Milliseconds"]();return b=b.replace("MM",ub(e,2)).replace("M",e).replace("yyyy",c).replace("yy",c%100+"").replace("dd",ub(f,2)).replace("d",f).replace("hh",ub(g,2)).replace("h",g).replace("mm",ub(h,2)).replace("m",h).replace("ss",ub(k,2)).replace("s",k).replace("SSS",ub(a,3))},capitalFirst:function(b){return b?b.charAt(0).toUpperCase()+b.substr(1):b},truncateText:Eq,getTextRect:function(b,a,c,d,e,f,g,h){Vb("getTextRect is deprecated.");return(new ha({style:{text:b,font:a,align:c,verticalAlign:d,padding:e,rich:f,overflow:g?"truncate":null,lineHeight:h}})).getBoundingRect()}}),TJ=Object.freeze({__proto__:null,map:C,each:r,indexOf:ba,inherits:Qh,reduce:Ed,filter:ta,bind:I,curry:P,isArray:A,isString:da,isObject:N,isFunction:fa,extend:F,defaults:K,clone:J,merge:U}),Fg=ma(),dz=[0,1],Pb=function(){function b(a,c,b){this.inverse=this.onBand=!1;this.dim=a;this.scale=c;this._extent=b||[0,0]}b.prototype.contain=function(a){var c=this._extent,b=Math.max(c[0],c[1]);return a>=Math.min(c[0],c[1])&&a<=b};b.prototype.containData=function(a){return this.scale.contain(a)};b.prototype.getExtent=function(){return this._extent.slice()};b.prototype.getPixelPrecision=function(a){return Wk(a||this.scale.getExtent(),this._extent)};b.prototype.setExtent=function(a,c){var b=this._extent;b[0]=a;b[1]=c};b.prototype.dataToCoord=function(a,c){var b=this._extent,e=this.scale;a=e.normalize(a);this.onBand&&"ordinal"===e.type&&(b=b.slice(),yt(b,e.count()));return ga(a,dz,b,c)};b.prototype.coordToData=function(a,c){var b=this._extent,e=this.scale;this.onBand&&"ordinal"===e.type&&(b=b.slice(),yt(b,e.count()));b=ga(a,b,dz,c);return this.scale.scale(b)};b.prototype.pointToData=function(a,c){};b.prototype.getTicksCoords=function(a){a=a||{};var c=a.tickModel||this.getTickModel(),b=EC(this,c).ticks,b=C(b,function(c){return{coord:this.dataToCoord("ordinal"===this.scale.type?this.scale.getRawOrdinalNumber(c):c),tickValue:c}},this),c=c.get("alignWithLabel");HC(this,b,c,a.clamp);return b};b.prototype.getMinorTicksCoords=function(){if("ordinal"===this.scale.type)return[];var a=this.model.getModel("minorTick").get("splitNumber");0<a&&100>a||(a=5);a=this.scale.getMinorTicks(a);return C(a,function(c){return C(c,function(c){return{coord:this.dataToCoord(c),tickValue:c}},this)},this)};b.prototype.getViewLabels=function(){var a;if("category"===this.type){a=this.getLabelModel();var c=st(this,a);a=!a.get("show")||this.scale.isBlank()?{labels:[],labelCategoryInterval:c.labelCategoryInterval}:c}else a=GC(this);return a.labels};b.prototype.getLabelModel=function(){return this.model.getModel("axisLabel")};b.prototype.getTickModel=function(){return this.model.getModel("axisTick")};b.prototype.getBandWidth=function(){var a=this._extent,c=this.scale.getExtent(),c=c[1]-c[0]+(this.onBand?1:0);0===c&&(c=1);return Math.abs(Math.abs(a[1]-a[0]))/c};b.prototype.calculateCategoryInterval=function(){var a,c,b;b=this.getLabelModel();a=this.getRotate?this.getRotate():this.isHorizontal&&!this.isHorizontal()?90:0;c=b.get("rotate")||0;b=b.getFont();var e=Eg(this),f=(a-c)/180*Math.PI;a=this.scale;c=a.getExtent();a=a.count();if(1>c[1]-c[0])a=0;else{var g=1;40<a&&(g=Math.max(1,Math.floor(a/40)));for(var h=c[0],k=this.dataToCoord(h+1)-this.dataToCoord(h),l=Math.abs(k*Math.cos(f)),f=Math.abs(k*Math.sin(f)),m=0,k=0;h<=c[1];h+=g){var n,p;p=$f(e({value:h}),b,"center","top");n=1.3*p.width;p=1.3*p.height;m=Math.max(m,n,7);k=Math.max(k,p,7)}b=m/l;e=k/f;isNaN(b)&&(b=Infinity);isNaN(e)&&(e=Infinity);b=Math.max(0,Math.floor(Math.min(b,e)));e=Fg(this.model);c=this.getExtent();g=e.lastAutoInterval;h=e.lastTickCount;null!=g&&null!=h&&1>=Math.abs(g-b)&&1>=Math.abs(h-a)&&g>b&&e.axisExtent0===c[0]&&e.axisExtent1===c[1]?b=g:(e.lastTickCount=a,e.lastAutoInterval=b,e.axisExtent0=c[0],e.axisExtent1=c[1]);a=b}return a};return b}(),ae=Math.round,ez=Math.sin,fz=Math.cos,gz=Math.PI,Ad=2*Math.PI,hz=180/gz,UJ=function(){function b(){}b.prototype.reset=function(){this._d=[];this._str=""};b.prototype.moveTo=function(a,c){this._add("M",a,c)};b.prototype.lineTo=function(a,c){this._add("L",a,c)};b.prototype.bezierCurveTo=function(a,c,b,e,f,g){this._add("C",a,c,b,e,f,g)};b.prototype.quadraticCurveTo=function(a,c,b,e){this._add("Q",a,c,b,e)};b.prototype.arc=function(a,c,b,e,f,g){this.ellipse(a,c,b,b,0,e,f,g)};b.prototype.ellipse=function(a,c,b,e,f,g,h,k){var d=0===this._d.length;h-=g;k=!k;var m=Math.abs(h),n=m-Ad,n=1E-4>n&&-1E-4<n||(k?h>=Ad:-h>=Ad),p=0<h?h%Ad:h%Ad+Ad,m=n?!0:1E-4>m&&-1E-4<m?!1:p>=gz===!!k,p=Hc(a+b*fz(g)),q=Hc(c+e*ez(g));n&&(h=k?Ad-1E-4:-Ad+1E-4,m=!0,d&&this._d.push("M",p,q));a=Hc(a+b*fz(g+h));c=Hc(c+e*ez(g+h));if(isNaN(p)||isNaN(q)||isNaN(b)||isNaN(e)||isNaN(f)||isNaN(hz)||isNaN(a)||isNaN(c))return"";this._d.push("A",Hc(b),Hc(e),ae(f*hz),+m,+k,a,c)};b.prototype.rect=function(a,c,b,e){this._add("M",a,c);this._add("L",a+b,c);this._add("L",a+b,c+e);this._add("L",a,c+e);this._add("L",a,c)};b.prototype.closePath=function(){0<this._d.length&&this._add("Z")};b.prototype._add=function(a,c,b,e,f,g,h,k,l){this._d.push(a);for(var d=1;d<arguments.length;d++){var n=arguments[d];if(isNaN(n)){this._invalid=!0;break}this._d.push(Hc(n))}};b.prototype.generateStr=function(){this._str=this._invalid?"":this._d.join(" ");this._d=[]};b.prototype.getStr=function(){return this._str};return b}(),Yi={brush:function(b){var a=b.style,c=b.__svgEl;c||(c=uc("path"),b.__svgEl=c);b.path||b.createPathProxy();var d=b.path;b.shapeChanged()&&(d.beginPath(),b.buildPath(d,b.shape),b.pathUpdated());var e=d.getVersion(),f=b.__svgPathBuilder;if(b.__svgPathVersion!==e||!f||1>b.style.strokePercent)f||(f=b.__svgPathBuilder=new UJ),f.reset(),d.rebuildPath(f,b.style.strokePercent),f.generateStr(),b.__svgPathVersion=e;ua(c,"d",f.getStr());um(c,a,b);tm(c,b.transform)}},Et={brush:function(b){var a=b.style,c=a.image;c instanceof HTMLImageElement?c=c.src:c instanceof HTMLCanvasElement&&(c=c.toDataURL());if(c){var d=a.x||0,e=a.y||0,f=a.width,g=a.height,h=b.__svgEl;h||(h=uc("image"),b.__svgEl=h);c!==b.__imageSrc&&(h.setAttributeNS("http://www.w3.org/1999/xlink","href",c),b.__imageSrc=c);ua(h,"width",f+"");ua(h,"height",g+"");ua(h,"x",d+"");ua(h,"y",e+"");um(h,a,b);tm(h,b.transform)}}},VJ={left:"start",right:"end",center:"middle",middle:"middle"},Ft={brush:function(b){var a=b.style,c=a.text;null!=c&&(c+="");if(c&&!isNaN(a.x)&&!isNaN(a.y)){var d=b.__svgEl;d||(d=uc("text"),d.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),b.__svgEl=d);var e=a.font||"12px sans-serif";d.style.font=e;d.textContent=c;um(d,a,b);tm(d,b.transform);b=a.x||0;var c=a.y||0,e=Ya("\u56fd",e),f=a.textBaseline;"top"===f?c+=e/2:"bottom"===f&&(c-=e/2);e=c;a=VJ[a.textAlign]||a.textAlign;ua(d,"dominant-baseline","central");ua(d,"text-anchor",a);ua(d,"x",b+"");ua(d,"y",e+"")}}},gk=function(){function b(a,c,b,e,f){this.nextId=0;this._domName="_dom";this.createElement=uc;this._zrId=a;this._svgRoot=c;this._tagNames="string"===typeof b?[b]:b;this._markLabel=e;f&&(this._domName=f)}b.prototype.getDefs=function(a){var c=this._svgRoot,b=this._svgRoot.getElementsByTagName("defs");if(0===b.length){if(a){var e=c.insertBefore(this.createElement("defs"),c.firstChild);e.contains||(e.contains=function(c){var a=e.children;if(!a)return!1;for(var b=a.length-1;0<=b;--b)if(a[b]===c)return!0;return!1});return e}return null}return b[0]};b.prototype.doUpdate=function(a,c){if(a){var b=this.getDefs(!1);a[this._domName]&&b.contains(a[this._domName])?"function"===typeof c&&c(a):(b=this.add(a))&&(a[this._domName]=b)}};b.prototype.add=function(a){return null};b.prototype.addDom=function(a){var c=this.getDefs(!0);a.parentNode!==c&&c.appendChild(a)};b.prototype.removeDom=function(a){var c=this.getDefs(!1);c&&a[this._domName]&&(c.removeChild(a[this._domName]),a[this._domName]=null)};b.prototype.getDoms=function(){var a=this.getDefs(!1);if(!a)return[];var c=[];r(this._tagNames,function(b){b=a.getElementsByTagName(b);for(var d=0;d<b.length;d++)c.push(b[d])});return c};b.prototype.markAllUnused=function(){var a=this.getDoms(),c=this;r(a,function(a){a[c._markLabel]="0"})};b.prototype.markDomUsed=function(a){a&&(a[this._markLabel]="1")};b.prototype.markDomUnused=function(a){a&&(a[this._markLabel]="0")};b.prototype.isDomUnused=function(a){return a&&"1"!==a[this._markLabel]};b.prototype.removeUnused=function(){var a=this,c=this.getDefs(!1);if(c){var b=this.getDoms();r(b,function(b){a.isDomUnused(b)&&c.removeChild(b)})}};b.prototype.getSvgProxy=function(a){return a instanceof Y?Yi:a instanceof Ga?Et:a instanceof Vd?Ft:Yi};b.prototype.getSvgElement=function(a){return a.__svgEl};return b}(),WJ=function(b){function a(c,a){return b.call(this,c,a,["linearGradient","radialGradient"],"__gradient_in_use__")||this}x(a,b);a.prototype.addWithoutUpdate=function(c,a){if(a&&a.style){var b=this;r(["fill","stroke"],function(d){var e=a.style[d];if(Bt(e)){var f=b.getDefs(!0),k;e.__dom?(k=e.__dom,f.contains(e.__dom)||b.addDom(k)):k=b.add(e);b.markUsed(a);e=k.getAttribute("id");c.setAttribute(d,"url(#"+e+")")}})}};a.prototype.add=function(c){var a;if("linear"===c.type)a=this.createElement("linearGradient");else if("radial"===c.type)a=this.createElement("radialGradient");else return yb("Illegal gradient type."),null;c.id=c.id||this.nextId++;a.setAttribute("id","zr"+this._zrId+"-gradient-"+c.id);this.updateDom(c,a);this.addDom(a);return a};a.prototype.update=function(c){if(Bt(c)){var a=this;this.doUpdate(c,function(){var b=c.__dom;if(b){var b=b.tagName,d=c.type;"linear"===d&&"linearGradient"===b||"radial"===d&&"radialGradient"===b?a.updateDom(c,c.__dom):(a.removeDom(c),a.add(c))}})}};a.prototype.updateDom=function(c,a){if("linear"===c.type)a.setAttribute("x1",c.x+""),a.setAttribute("y1",c.y+""),a.setAttribute("x2",c.x2+""),a.setAttribute("y2",c.y2+"");else if("radial"===c.type)a.setAttribute("cx",c.x+""),a.setAttribute("cy",c.y+""),a.setAttribute("r",c.r+"");else{yb("Illegal gradient type.");return}c.global?a.setAttribute("gradientUnits","userSpaceOnUse"):a.setAttribute("gradientUnits","objectBoundingBox");a.innerHTML="";for(var b=c.colorStops,d=0,g=b.length;d<g;++d){var h=this.createElement("stop");h.setAttribute("offset",100*b[d].offset+"%");var k=b[d].color;if(-1<k.indexOf("rgba")){var l=eb(k)[3],k=Ik(k);h.setAttribute("stop-color","#"+k);h.setAttribute("stop-opacity",l+"")}else h.setAttribute("stop-color",b[d].color);a.appendChild(h)}c.__dom=a};a.prototype.markUsed=function(c){if(c.style){var a=c.style.fill;a&&a.__dom&&b.prototype.markDomUsed.call(this,a.__dom);(a=c.style.stroke)&&a.__dom&&b.prototype.markDomUsed.call(this,a.__dom)}};return a}(gk),Dh=new Ny,XJ=function(b){function a(c,a){return b.call(this,c,a,["pattern"],"__pattern_in_use__")||this}x(a,b);a.prototype.addWithoutUpdate=function(c,a){if(a&&a.style){var b=this;r(["fill","stroke"],function(d){var e=a.style[d];if(Gg(e)){var f=b.getDefs(!0),k=Dh.get(e);k?f.contains(k)||b.addDom(k):k=b.add(e);b.markUsed(a);e=k.getAttribute("id");c.setAttribute(d,"url(#"+e+")")}})}};a.prototype.add=function(c){if(Gg(c)){var a=this.createElement("pattern");c.id=null==c.id?this.nextId++:c.id;a.setAttribute("id","zr"+this._zrId+"-pattern-"+c.id);a.setAttribute("x","0");a.setAttribute("y","0");a.setAttribute("patternUnits","userSpaceOnUse");this.updateDom(c,a);this.addDom(a);return a}};a.prototype.update=function(c){if(Gg(c)){var a=this;this.doUpdate(c,function(){var b=Dh.get(c);a.updateDom(c,b)})}};a.prototype.updateDom=function(c,a){var b=c.svgElement;if(b instanceof SVGElement)b.parentNode!==a&&(a.innerHTML="",a.appendChild(b),a.setAttribute("width",c.svgWidth+""),a.setAttribute("height",c.svgHeight+""));else{var b=void 0,d=a.getElementsByTagName("image");if(d.length)if(c.image)b=d[0];else{a.removeChild(d[0]);return}else c.image&&(b=this.createElement("image"));b&&(d=void 0,"string"===typeof c.image?d=c.image:c.image instanceof HTMLImageElement?d=c.image.src:c.image instanceof HTMLCanvasElement&&(d=c.image.toDataURL()),d&&(b.setAttribute("href",d),b.setAttribute("x","0"),b.setAttribute("y","0"),(d=dl(d,b,{dirty:function(){}},function(c){a.setAttribute("width",c.width+"");a.setAttribute("height",c.height+"")}))&&d.width&&d.height&&(a.setAttribute("width",d.width+""),a.setAttribute("height",d.height+"")),a.appendChild(b)))}a.setAttribute("patternTransform","translate("+(c.x||0)+", "+(c.y||0)+") rotate("+(c.rotation||0)/Math.PI*180+") scale("+(c.scaleX||1)+", "+(c.scaleY||1)+")");Dh.set(c,a)};a.prototype.markUsed=function(c){c.style&&(Gg(c.style.fill)&&b.prototype.markDomUsed.call(this,Dh.get(c.style.fill)),Gg(c.style.stroke)&&b.prototype.markDomUsed.call(this,Dh.get(c.style.stroke)))};return a}(gk),YJ=function(b){function a(c,a){var d=b.call(this,c,a,"clipPath","__clippath_in_use__")||this;d._refGroups={};d._keyDuplicateCount={};return d}x(a,b);a.prototype.markAllUnused=function(){b.prototype.markAllUnused.call(this);for(var c in this._refGroups)this.markDomUnused(this._refGroups[c]);this._keyDuplicateCount={}};a.prototype._getClipPathGroup=function(c,a){if(Ct(c)){var b=c.__clipPaths,d=this._keyDuplicateCount,g;g=[];if(b)for(var h=0;h<b.length;h++)g.push(b[h].id);g=g.join(",");Es(b,a&&a.__clipPaths)&&(d[g]=d[g]||0,d[g]&&(g+="-"+d[g]),d[g]++);return this._refGroups[g]||(this._refGroups[g]=this.createElement("g"))}};a.prototype.update=function(c,a){var b=this._getClipPathGroup(c,a);b&&(this.markDomUsed(b),this.updateDom(b,c.__clipPaths));return b};a.prototype.updateDom=function(c,a){if(a&&0<a.length){var b=this.getDefs(!0),d=a[0],g,h;d._dom?(h=d._dom.getAttribute("id"),g=d._dom,b.contains(g)||b.appendChild(g)):(h="zr"+this._zrId+"-clip-"+this.nextId,++this.nextId,g=this.createElement("clipPath"),g.setAttribute("id",h),b.appendChild(g),d._dom=g);this.getSvgProxy(d).brush(d);b=this.getSvgElement(d);g.innerHTML="";g.appendChild(b);c.setAttribute("clip-path","url(#"+h+")");1<a.length&&this.updateDom(g,a.slice(1))}else c&&c.setAttribute("clip-path","none")};a.prototype.markUsed=function(c){var a=this;c.__clipPaths&&r(c.__clipPaths,function(c){c._dom&&b.prototype.markDomUsed.call(a,c._dom)})};a.prototype.removeUnused=function(){b.prototype.removeUnused.call(this);var c={},a;for(a in this._refGroups){var e=this._refGroups[a];this.isDomUnused(e)?e.parentNode&&e.parentNode.removeChild(e):c[a]=e}this._refGroups=c};return a}(gk),ZJ=function(b){function a(c,a){var d=b.call(this,c,a,["filter"],"__filter_in_use__","_shadowDom")||this;d._shadowDomMap={};d._shadowDomPool=[];return d}x(a,b);a.prototype._getFromPool=function(){var c=this._shadowDomPool.pop();if(!c){c=this.createElement("filter");c.setAttribute("id","zr"+this._zrId+"-shadow-"+this.nextId++);var a=this.createElement("feDropShadow");c.appendChild(a);this.addDom(c)}return c};a.prototype.update=function(c,a){var b=a.style;if(b&&(b.shadowBlur||b.shadowOffsetX||b.shadowOffsetY)){var b=a.style,d=a.getGlobalScale(),b=[b.shadowColor,(b.shadowBlur||0).toFixed(2),(b.shadowOffsetX||0).toFixed(2),(b.shadowOffsetY||0).toFixed(2),d[0],d[1]].join(),d=a._shadowDom=this._shadowDomMap[b];d||(d=this._getFromPool(),this._shadowDomMap[b]=d);this.updateDom(c,a,d)}else this.remove(c,a)};a.prototype.remove=function(c,a){null!=a._shadowDom&&(a._shadowDom=null,c.style.filter="")};a.prototype.updateDom=function(c,a,b){var d=b.children[0],e=a.style,h=a.getGlobalScale(),k=h[0],h=h[1];if(k&&h){var l=e.shadowOffsetY||0,m=e.shadowBlur,n=e.shadowColor;d.setAttribute("dx",(e.shadowOffsetX||0)/k+"");d.setAttribute("dy",l/h+"");d.setAttribute("flood-color",n);d.setAttribute("stdDeviation",m/2/k+" "+m/2/h);b.setAttribute("x","-100%");b.setAttribute("y","-100%");b.setAttribute("width","300%");b.setAttribute("height","300%");a._shadowDom=b;a=b.getAttribute("id");c.style.filter="url(#"+a+")"}};a.prototype.removeUnused=function(){if(this.getDefs(!1)){var c=this._shadowDomPool,a;for(a in this._shadowDomMap)c.push(this._shadowDomMap[a]);this._shadowDomMap={}}};return a}(gk),$J=function(){function b(a,c,b,e){this.type="svg";this.refreshHover=vm("refreshHover");this.pathToImage=vm("pathToImage");this.configLayer=vm("configLayer");this.root=a;this.storage=c;this._opts=b=F({},b||{});c=uc("svg");c.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns","http://www.w3.org/2000/svg");c.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink");c.setAttribute("version","1.1");c.setAttribute("baseProfile","full");c.style.cssText="user-select:none;position:absolute;left:0;top:0;";var d=uc("g");c.appendChild(d);var g=uc("g");c.appendChild(g);this._gradientManager=new WJ(e,g);this._patternManager=new XJ(e,g);this._clipPathManager=new YJ(e,g);this._shadowManager=new ZJ(e,g);e=document.createElement("div");e.style.cssText="overflow:hidden;position:relative";this._svgDom=c;this._svgRoot=g;this._backgroundRoot=d;this._viewport=e;a.appendChild(e);e.appendChild(c);this.resize(b.width,b.height);this._visibleList=[]}b.prototype.getType=function(){return"svg"};b.prototype.getViewportRoot=function(){return this._viewport};b.prototype.getSvgDom=function(){return this._svgDom};b.prototype.getSvgRoot=function(){return this._svgRoot};b.prototype.getViewportRootOffset=function(){var a=this.getViewportRoot();if(a)return{offsetLeft:a.offsetLeft||0,offsetTop:a.offsetTop||0}};b.prototype.refresh=function(){var a=this.storage.getDisplayList(!0);this._paintList(a)};b.prototype.setBackgroundColor=function(a){this._backgroundRoot&&this._backgroundNode&&this._backgroundRoot.removeChild(this._backgroundNode);var c=uc("rect");c.setAttribute("width",this.getWidth());c.setAttribute("height",this.getHeight());c.setAttribute("x",0);c.setAttribute("y",0);c.setAttribute("id",0);c.style.fill=a;this._backgroundRoot.appendChild(c);this._backgroundNode=c};b.prototype.createSVGElement=function(a){return uc(a)};b.prototype.paintOne=function(a){var c=Dt(a);c&&c.brush(a);return a.__svgEl};b.prototype._paintList=function(a){var c=this._gradientManager,b=this._patternManager,e=this._clipPathManager,f=this._shadowManager;c.markAllUnused();b.markAllUnused();e.markAllUnused();f.markAllUnused();for(var g=this._svgRoot,h=this._visibleList,k=a.length,l=[],m=0;m<k;m++){var n=a[m],p=Dt(n),q=n.__svgEl;if(!n.invisible){if(n.__dirty||!q)p&&p.brush(n),(q=n.__svgEl)&&n.style&&(c.update(n.style.fill),c.update(n.style.stroke),b.update(n.style.fill),b.update(n.style.stroke),f.update(q,n)),n.__dirty=0;q&&l.push(n)}}a=IC(h,l,void 0);for(var t,u,m=0;m<a.length;m++)if(k=a[m],k.removed)for(p=0;p<k.count;p++)n=h[k.indices[p]],q=n.__svgEl,Ct(n)?q&&q.parentNode&&q.parentNode.removeChild(q):q&&g&&q.parentNode===g&&g.removeChild(q);for(var w,v,m=0;m<a.length;m++)if(k=a[m],!k.removed)for(p=0;p<k.count;p++)n=l[k.indices[p]],h=e.update(n,w),h!==v&&(t=u,h&&(t?Gt(g,h,t):Ht(g,h),u=h,t=null),v=h),q=n.__svgEl,t?Gt(v||g,q,t):Ht(v||g,q),t=q||t,v||(u=t),c.markUsed(n),c.addWithoutUpdate(q,n),b.markUsed(n),b.addWithoutUpdate(q,n),e.markUsed(n),w=n;c.removeUnused();b.removeUnused();e.removeUnused();f.removeUnused();this._visibleList=l};b.prototype._getDefs=function(a){var c=this._svgDom,b=c.getElementsByTagName("defs");if(0===b.length){if(a){var e=c.insertBefore(uc("defs"),c.firstChild);e.contains||(e.contains=function(c){var a=e.children;if(!a)return!1;for(var b=a.length-1;0<=b;--b)if(a[b]===c)return!0;return!1});return e}return null}return b[0]};b.prototype.resize=function(a,c){var b=this._viewport;b.style.display="none";var e=this._opts;null!=a&&(e.width=a);null!=c&&(e.height=c);a=this._getSize(0);c=this._getSize(1);b.style.display="";if(this._width!==a||this._height!==c)this._width=a,this._height=c,b=b.style,b.width=a+"px",b.height=c+"px",b=this._svgDom,b.setAttribute("width",a+""),b.setAttribute("height",c+"");this._backgroundNode&&(this._backgroundNode.setAttribute("width",a),this._backgroundNode.setAttribute("height",c))};b.prototype.getWidth=function(){return this._width};b.prototype.getHeight=function(){return this._height};b.prototype._getSize=function(a){var c=this._opts,b=["width","height"][a],e=["clientWidth","clientHeight"][a],f=["paddingLeft","paddingTop"][a];a=["paddingRight","paddingBottom"][a];if(null!=c[b]&&"auto"!==c[b])return parseFloat(c[b]);var c=this.root,g=document.defaultView.getComputedStyle(c);return(c[e]||parseInt(g[b],10)||parseInt(c.style[b],10))-(parseInt(g[f],10)||0)-(parseInt(g[a],10)||0)|0};b.prototype.dispose=function(){this.root.innerHTML="";this._svgRoot=this._backgroundRoot=this._svgDom=this._backgroundNode=this._viewport=this.storage=null};b.prototype.clear=function(){var a=this._viewport;a&&a.parentNode&&a.parentNode.removeChild(a)};b.prototype.toDataURL=function(){this.refresh();var a=this._svgDom;return"data:image/svg+xml;charset\x3dUTF-8,"+encodeURIComponent((a.outerHTML||(a.parentNode&&a.parentNode).innerHTML).replace(/></g,"\x3e\n\r\x3c"))};return b}(),fp=function(b){function a(c,a,e){var d=b.call(this)||this;d.motionBlur=!1;d.lastFrameAlpha=.7;d.dpr=1;d.virtual=!1;d.config={};d.incremental=!1;d.zlevel=0;d.maxRepaintRectCount=5;d.__dirty=!0;d.__firstTimePaint=!0;d.__used=!1;d.__drawIndex=0;d.__startIndex=0;d.__endIndex=0;d.__prevStartIndex=null;d.__prevEndIndex=null;var g;e=e||Ij;"string"===typeof c?g=It(c,a,e):N(c)&&(g=c,c=g.id);d.id=c;d.dom=g;if(c=g.style)g.onselectstart=LC,c.webkitUserSelect="none",c.userSelect="none",c.webkitTapHighlightColor="rgba(0,0,0,0)",c["-webkit-touch-callout"]="none",c.padding="0",c.margin="0",c.borderWidth="0";d.domBack=null;d.ctxBack=null;d.painter=a;d.config=null;d.dpr=e;return d}x(a,b);a.prototype.getElementCount=function(){return this.__endIndex-this.__startIndex};a.prototype.afterBrush=function(){this.__prevStartIndex=this.__startIndex;this.__prevEndIndex=this.__endIndex};a.prototype.initContext=function(){this.ctx=this.dom.getContext("2d");this.ctx.dpr=this.dpr};a.prototype.setUnpainted=function(){this.__firstTimePaint=!0};a.prototype.createBackBuffer=function(){var c=this.dpr;this.domBack=It("back-"+this.id,this.painter,c);this.ctxBack=this.domBack.getContext("2d");1!==c&&this.ctxBack.scale(c,c)};a.prototype.createRepaintRects=function(c,a,b,f){function d(c){if(c.isFinite()&&!c.isZero())if(0===e.length){var a=new aa(0,0,0,0);a.copy(c);e.push(a)}else{for(var b=!1,d=Infinity,f=a=0;f<e.length;++f){var g=e[f];if(g.intersect(c)){b=new aa(0,0,0,0);b.copy(g);b.union(c);e[f]=b;b=!0;break}else l&&(m.copy(c),m.union(g),g=m.width*m.height-c.width*c.height-g.width*g.height,g<d&&(d=g,a=f))}l&&(e[a].union(c),b=!0);b||(a=new aa(0,0,0,0),a.copy(c),e.push(a));l||(l=e.length>=k)}}if(this.__firstTimePaint)return this.__firstTimePaint=!1,null;for(var e=[],k=this.maxRepaintRectCount,l=!1,m=new aa(0,0,0,0),n=this.__startIndex;n<this.__endIndex;++n){var p=c[n];if(p){var q=p.shouldBePainted(b,f,!0,!0),t=p.__isRendered&&(p.__dirty&Hb.REDARAW_BIT||!q)?p.getPrevPaintRect():null;t&&d(t);(p=q&&(p.__dirty&Hb.REDARAW_BIT||!p.__isRendered)?p.getPaintRect():null)&&d(p)}}for(n=this.__prevStartIndex;n<this.__prevEndIndex;++n)p=a[n],q=p.shouldBePainted(b,f,!0,!0),!p||q&&p.__zr||!p.__isRendered||(t=p.getPrevPaintRect())&&d(t);do for(c=!1,n=0;n<e.length;)if(e[n].isZero())e.splice(n,1);else{for(a=n+1;a<e.length;)e[n].intersect(e[a])?(c=!0,e[n].union(e[a]),e.splice(a,1)):a++;n++}while(c);return this._paintRects=e};a.prototype.debugGetPaintRects=function(){return(this._paintRects||[]).slice()};a.prototype.resize=function(c,a){var b=this.dpr,d=this.dom,g=d.style,h=this.domBack;g&&(g.width=c+"px",g.height=a+"px");d.width=c*b;d.height=a*b;h&&(h.width=c*b,h.height=a*b,1!==b&&this.ctxBack.scale(b,b))};a.prototype.clear=function(c,a,b){function d(c,b,d,e){h.clearRect(c,b,d,e);if(a&&"transparent"!==a){var f=void 0;Tp(a)?(f=a.__canvasGradient||Wl(h,a,{x:0,y:0,width:d,height:e}),a.__canvasGradient=f):Up(a)&&(f=Yl(h,a,{dirty:function(){q.setUnpainted();q.__painter.refresh()}}));h.save();h.fillStyle=f||a;h.fillRect(c,b,d,e);h.restore()}m&&(h.save(),h.globalAlpha=n,h.drawImage(t,c,b,d,e),h.restore())}var e=this.dom,h=this.ctx,k=e.width,l=e.height;a=a||this.clearColor;var m=this.motionBlur&&!c,n=this.lastFrameAlpha,p=this.dpr,q=this;m&&(this.domBack||this.createBackBuffer(),this.ctxBack.globalCompositeOperation="copy",this.ctxBack.drawImage(e,0,0,k/p,l/p));var t=this.domBack;!b||m?d(0,0,k,l):b.length&&r(b,function(c){d(c.x*p,c.y*p,c.width*p,c.height*p)})};return a}($b),aK=function(){function b(a,c,b,e){this.type="canvas";this._zlevelList=[];this._prevDisplayList=[];this._layers={};this._layerConfig={};this._needsManuallyCompositing=!1;this.type="canvas";var d=!a.nodeName||"CANVAS"===a.nodeName.toUpperCase();this._opts=b=F({},b||{});this.dpr=b.devicePixelRatio||Ij;this._singleCanvas=d;this.root=a;if(e=a.style)e.webkitTapHighlightColor="transparent",e.webkitUserSelect="none",e.userSelect="none",e["-webkit-touch-callout"]="none",a.innerHTML="";this.storage=c;c=this._zlevelList;this._prevDisplayList=[];e=this._layers;if(d){var d=a.width,g=a.height;null!=b.width&&(d=b.width);null!=b.height&&(g=b.height);this.dpr=b.devicePixelRatio||1;a.width=d*this.dpr;a.height=g*this.dpr;this._width=d;this._height=g;b=new fp(a,this,this.dpr);b.__builtin__=!0;b.initContext();e[314159]=b;b.zlevel=314159;c.push(314159);this._domRoot=a}else this._width=this._getSize(0),this._height=this._getSize(1),b=this._width,c=this._height,e=document.createElement("div"),e.style.cssText=["position:relative","width:"+b+"px","height:"+c+"px","padding:0;margin:0;border-width:0"].join(";")+";",b=this._domRoot=e,a.appendChild(b)}b.prototype.getType=function(){return"canvas"};b.prototype.isSingleCanvas=function(){return this._singleCanvas};b.prototype.getViewportRoot=function(){return this._domRoot};b.prototype.getViewportRootOffset=function(){var a=this.getViewportRoot();if(a)return{offsetLeft:a.offsetLeft||0,offsetTop:a.offsetTop||0}};b.prototype.refresh=function(a){var c=this.storage.getDisplayList(!0),b=this._prevDisplayList,e=this._zlevelList;this._redrawId=Math.random();this._paintList(c,b,a,this._redrawId);for(a=0;a<e.length;a++)b=this._layers[e[a]],!b.__builtin__&&b.refresh&&b.refresh(0===a?this._backgroundColor:null);this._opts.useDirtyRect&&(this._prevDisplayList=c.slice());return this};b.prototype.refreshHover=function(){this._paintHoverList(this.storage.getDisplayList(!1))};b.prototype._paintHoverList=function(a){var c=a.length,b=this._hoverlayer;b&&b.clear();if(c){for(var e={inHover:!0,viewWidth:this._width,viewHeight:this._height},f,g=0;g<c;g++){var h=a[g];h.__inHover&&(b||(b=this._hoverlayer=this.getLayer(1E5)),f||(f=b.ctx,f.save()),hd(f,h,e,g===c-1))}f&&f.restore()}};b.prototype.getHoverLayer=function(){return this.getLayer(1E5)};b.prototype.paintOne=function(a,c){Zl(a,c)};b.prototype._paintList=function(a,c,b,e){if(this._redrawId===e){b=b||!1;this._updateLayerStatus(a);var d=this._doPaintList(a,c,b),g=d.finished,d=d.needsRefreshHover;this._needsManuallyCompositing&&this._compositeManually();d&&this._paintHoverList(a);if(g)this.eachLayer(function(c){c.afterBrush&&c.afterBrush()});else{var h=this;wo(function(){h._paintList(a,c,b,e)})}}};b.prototype._compositeManually=function(){var a=this.getLayer(314159).ctx,c=this._domRoot.width,b=this._domRoot.height;a.clearRect(0,0,c,b);this.eachBuiltinLayer(function(d){d.virtual&&a.drawImage(d.dom,0,0,c,b)})};b.prototype._doPaintList=function(a,c,b){for(var d=this,f=[],g=this._opts.useDirtyRect,h=0;h<this._zlevelList.length;h++){var k=this._layers[this._zlevelList[h]];k.__builtin__&&k!==this._hoverlayer&&(k.__dirty||b)&&f.push(k)}for(var l=!0,m=!1,h=function(e){var h=f[e],k=h.ctx;e=g&&h.createRepaintRects(a,c,n._width,n._height);k.save();var p=b?h.__startIndex:h.__drawIndex,w=!b&&h.incremental&&Date.now,v=w&&Date.now(),r=h.zlevel===n._zlevelList[0]?n._backgroundColor:null;if(h.__startIndex===h.__endIndex)h.clear(!1,r,e);else if(p===h.__startIndex){var B=a[p];B.incremental&&B.notClear&&!b||h.clear(!1,r,e)}-1===p&&(console.error("For some unknown reason. drawIndex is -1"),p=h.__startIndex);var y,r=function(c){var b={inHover:!1,allClipped:!1,prevEl:null,viewWidth:d._width,viewHeight:d._height};for(y=p;y<h.__endIndex;y++){var e=a[y];e.__inHover&&(m=!0);d._doPaintEl(e,h,g,c,b,y===h.__endIndex-1);if(w&&15<Date.now()-v)break}b.prevElClipPaths&&k.restore()};if(e)if(0===e.length)y=h.__endIndex;else for(var B=n.dpr,x=0;x<e.length;++x){var D=e[x];k.save();k.beginPath();k.rect(D.x*B,D.y*B,D.width*B,D.height*B);k.clip();r(D);k.restore()}else k.save(),r(),k.restore();h.__drawIndex=y;h.__drawIndex<h.__endIndex&&(l=!1)},n=this,k=0;k<f.length;k++)h(k);X.wxa&&r(this._layers,function(c){c&&c.ctx&&c.ctx.draw&&c.ctx.draw()});return{finished:l,needsRefreshHover:m}};b.prototype._doPaintEl=function(a,c,b,e,f,g){c=c.ctx;if(b){if(b=a.getPaintRect(),!e||b&&b.intersect(e))hd(c,a,f,g),a.setPrevPaintRect(b)}else hd(c,a,f,g)};b.prototype.getLayer=function(a,c){this._singleCanvas&&!this._needsManuallyCompositing&&(a=314159);var b=this._layers[a];b||(b=new fp("zr_"+a,this,this.dpr),b.zlevel=a,b.__builtin__=!0,this._layerConfig[a]?U(b,this._layerConfig[a],!0):this._layerConfig[a-.01]&&U(b,this._layerConfig[a-.01],!0),c&&(b.virtual=c),this.insertLayer(a,b),b.initContext());return b};b.prototype.insertLayer=function(a,c){var b=this._layers,e=this._zlevelList,f=e.length,g=this._domRoot,h=null,k=-1;if(b[a])yb("ZLevel "+a+" has been used already");else if(c&&(c.__builtin__||"function"===typeof c.resize&&"function"===typeof c.refresh)){if(0<f&&a>e[0]){for(k=0;k<f-1&&!(e[k]<a&&e[k+1]>a);k++);h=b[e[k]]}e.splice(k+1,0,a);b[a]=c;c.virtual||(h?(b=h.dom,b.nextSibling?g.insertBefore(c.dom,b.nextSibling):g.appendChild(c.dom)):g.firstChild?g.insertBefore(c.dom,g.firstChild):g.appendChild(c.dom));c.__painter=this}else yb("Layer of zlevel "+a+" is not valid")};b.prototype.eachLayer=function(a,c){for(var b=this._zlevelList,e=0;e<b.length;e++){var f=b[e];a.call(c,this._layers[f],f)}};b.prototype.eachBuiltinLayer=function(a,c){for(var b=this._zlevelList,e=0;e<b.length;e++){var f=b[e],g=this._layers[f];g.__builtin__&&a.call(c,g,f)}};b.prototype.eachOtherLayer=function(a,c){for(var b=this._zlevelList,e=0;e<b.length;e++){var f=b[e],g=this._layers[f];g.__builtin__||a.call(c,g,f)}};b.prototype.getLayers=function(){return this._layers};b.prototype._updateLayerStatus=function(a){function c(c){f&&(f.__endIndex!==c&&(f.__dirty=!0),f.__endIndex=c)}this.eachBuiltinLayer(function(c,a){c.__dirty=c.__used=!1});if(this._singleCanvas)for(var b=1;b<a.length;b++){var e=a[b];if(e.zlevel!==a[b-1].zlevel||e.incremental){this._needsManuallyCompositing=!0;break}}var f=null,b=0,g,h;for(h=0;h<a.length;h++){var e=a[h],k=e.zlevel,l=void 0;g!==k&&(g=k,b=0);e.incremental?(l=this.getLayer(k+.001,this._needsManuallyCompositing),l.incremental=!0,b=1):l=this.getLayer(k+(0<b?.01:0),this._needsManuallyCompositing);l.__builtin__||yb("ZLevel "+k+" has been used by unkown layer "+l.id);l!==f&&(l.__used=!0,l.__startIndex!==h&&(l.__dirty=!0),l.__startIndex=h,l.__drawIndex=l.incremental?-1:h,c(h),f=l);e.__dirty&Hb.REDARAW_BIT&&!e.__inHover&&(l.__dirty=!0,l.incremental&&0>l.__drawIndex&&(l.__drawIndex=h))}c(h);this.eachBuiltinLayer(function(c,a){!c.__used&&0<c.getElementCount()&&(c.__dirty=!0,c.__startIndex=c.__endIndex=c.__drawIndex=0);c.__dirty&&0>c.__drawIndex&&(c.__drawIndex=c.__startIndex)})};b.prototype.clear=function(){this.eachBuiltinLayer(this._clearLayer);return this};b.prototype._clearLayer=function(a){a.clear()};b.prototype.setBackgroundColor=function(a){this._backgroundColor=a;r(this._layers,function(c){c.setUnpainted()})};b.prototype.configLayer=function(a,c){if(c){var b=this._layerConfig;b[a]?U(b[a],c,!0):b[a]=c;for(var e=0;e<this._zlevelList.length;e++){var f=this._zlevelList[e];f!==a&&f!==a+.01||U(this._layers[f],b[a],!0)}}};b.prototype.delLayer=function(a){var c=this._layers,b=this._zlevelList,e=c[a];e&&(e.dom.parentNode.removeChild(e.dom),delete c[a],b.splice(ba(b,a),1))};b.prototype.resize=function(a,c){if(this._domRoot.style){var b=this._domRoot;b.style.display="none";var e=this._opts;null!=a&&(e.width=a);null!=c&&(e.height=c);a=this._getSize(0);c=this._getSize(1);b.style.display="";if(this._width!==a||c!==this._height){b.style.width=a+"px";b.style.height=c+"px";for(var f in this._layers)this._layers.hasOwnProperty(f)&&this._layers[f].resize(a,c);this.refresh(!0)}this._width=a;this._height=c}else{if(null==a||null==c)return;this._width=a;this._height=c;this.getLayer(314159).resize(a,c)}return this};b.prototype.clearLayer=function(a){(a=this._layers[a])&&a.clear()};b.prototype.dispose=function(){this.root.innerHTML="";this.root=this.storage=this._domRoot=this._layers=null};b.prototype.getRenderedCanvas=function(a){a=a||{};if(this._singleCanvas&&!this._compositeManually)return this._layers[314159].dom;var c=new fp("image",this,a.pixelRatio||this.dpr),b=c.ctx;c.initContext();c.clear(!1,a.backgroundColor||this._backgroundColor);if(a.pixelRatio<=this.dpr){this.refresh();var e=c.dom.width,f=c.dom.height,g=c.ctx;this.eachLayer(function(a){a.__builtin__?g.drawImage(a.dom,0,0,e,f):a.renderToCanvas&&(c.ctx.save(),a.renderToCanvas(c.ctx),c.ctx.restore())})}else{a={inHover:!1,viewWidth:this._width,viewHeight:this._height};for(var h=this.storage.getDisplayList(!0),k=0,l=h.length;k<l;k++)hd(b,h[k],a,k===l-1)}return c.dom};b.prototype.getWidth=function(){return this._width};b.prototype.getHeight=function(){return this._height};b.prototype._getSize=function(a){var c=this._opts,b=["width","height"][a],e=["clientWidth","clientHeight"][a],f=["paddingLeft","paddingTop"][a];a=["paddingRight","paddingBottom"][a];if(null!=c[b]&&"auto"!==c[b])return parseFloat(c[b]);var c=this.root,g=document.defaultView.getComputedStyle(c);return(c[e]||parseInt(g[b],10)||parseInt(c.style[b],10))-(parseInt(g[f],10)||0)-(parseInt(g[a],10)||0)|0};b.prototype.pathToImage=function(a,c){c=c||this.dpr;var b=document.createElement("canvas"),e=b.getContext("2d"),f=a.getBoundingRect(),g=a.style,h=g.shadowBlur*c,k=g.shadowOffsetX*c,l=g.shadowOffsetY*c,m=a.hasStroke()?g.lineWidth:0,g=Math.max(m/2,-k+h),n=Math.max(m/2,-l+h),k=f.width+g+Math.max(m/2,k+h),h=f.height+n+Math.max(m/2,l+h);b.width=k*c;b.height=h*c;e.scale(c,c);e.clearRect(0,0,k,h);e.dpr=c;h={x:a.x,y:a.y,scaleX:a.scaleX,scaleY:a.scaleY,rotation:a.rotation,originX:a.originX,originY:a.originY};a.x=g-f.x;a.y=n-f.y;a.rotation=0;a.scaleX=1;a.scaleY=1;a.updateTransform();a&&hd(e,a,{inHover:!1,viewWidth:this._width,viewHeight:this._height},!0);b=new Ga({style:{x:0,y:0,image:b}});F(a,h);return b};return b}(),bK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.hasSymbolVisual=!0;c.legendSymbol="line";return c}x(a,b);a.prototype.getInitialData=function(c){c=c.coordinateSystem;if("polar"!==c&&"cartesian2d"!==c)throw Error("Line not support coordinateSystem besides cartesian and polar");return sc(this.getSource(),this,{useEncodeDefaulter:!0})};a.type="series.line";a.dependencies=["grid","polar"];a.defaultOption={zlevel:0,z:3,coordinateSystem:"cartesian2d",legendHoverLink:!0,clip:!0,label:{position:"top"},endLabel:{show:!1,valueAnimation:!0,distance:8},lineStyle:{width:2,type:"solid"},emphasis:{scale:!0,lineStyle:{width:"bolder"}},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:Infinity};return a}(ra),Hg=function(b){function a(c,a,e,f){var d=b.call(this)||this;d.updateData(c,a,e,f);return d}x(a,b);a.prototype._createSymbol=function(c,a,b,f,g){this.removeAll();a=Pa(c,-1,-1,2,2,null,g);a.attr({z2:100,culling:!0,scaleX:f[0]/2,scaleY:f[1]/2});a.drift=MC;this._symbolType=c;this.add(a)};a.prototype.stopSymbolAnimation=function(c){this.childAt(0).stopAnimation(null,c)};a.prototype.getSymbolPath=function(){return this.childAt(0)};a.prototype.highlight=function(){nc(this.childAt(0))};a.prototype.downplay=function(){oc(this.childAt(0))};a.prototype.setZ=function(c,a){var b=this.childAt(0);b.zlevel=c;b.z=a};a.prototype.setDraggable=function(c){var a=this.childAt(0);a.draggable=c;a.cursor=c?"move":a.cursor};a.prototype.updateData=function(c,b,e,f){this.silent=!1;var d=c.getItemVisual(b,"symbol")||"circle",h=c.hostModel,k=a.getSymbolSize(c,b),l=d!==this._symbolType,m=f&&f.disableAnimation;if(l){var n=c.getItemVisual(b,"symbolKeepAspect");this._createSymbol(d,c,b,k,n)}else d=this.childAt(0),d.silent=!1,n={scaleX:k[0]/2,scaleY:k[1]/2},m?d.attr(n):ea(d,n,h,b);this._updateCommon(c,b,k,e,f);l&&(d=this.childAt(0),m||(n={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:d.style.opacity}},d.scaleX=d.scaleY=0,d.style.opacity=0,za(d,n,h,b)));m&&this.childAt(0).stopAnimation("remove");this._seriesModel=h};a.prototype._updateCommon=function(c,a,b,f,g){var d=this.childAt(0),e=c.hostModel,l,m,n,p,q,t,u,w,v;f&&(l=f.emphasisItemStyle,m=f.blurItemStyle,n=f.selectItemStyle,p=f.focus,q=f.blurScope,t=f.symbolOffset,u=f.labelStatesModels,w=f.hoverScale,v=f.cursorStyle);if(!f||c.hasItemOption)v=f&&f.itemModel?f.itemModel:c.getItemModel(a),w=v.getModel("emphasis"),l=w.getModel("itemStyle").getItemStyle(),n=v.getModel(["select","itemStyle"]).getItemStyle(),m=v.getModel(["blur","itemStyle"]).getItemStyle(),p=w.get("focus"),q=w.get("blurScope"),t=v.getShallow("symbolOffset"),u=Ra(v),w=w.getShallow("scale"),v=v.getShallow("cursor");f=c.getItemVisual(a,"symbolRotate");d.attr("rotation",(f||0)*Math.PI/180||0);t&&(d.x=H(t[0],b[0]),d.y=H(t[1],b[1]));v&&d.attr("cursor",v);t=c.getItemVisual(a,"style");v=t.fill;d instanceof Ga?(f=d.style,d.useStyle(F({image:f.image,x:f.x,y:f.y,width:f.width,height:f.height},t))):(d.__isEmptyBrush?d.useStyle(F({},t)):d.useStyle(t),d.style.decal=null,d.setColor(v,g&&g.symbolInnerColor),d.style.strokeNoScale=!0);f=c.getItemVisual(a,"liftZ");var r=this._z2;null!=f?null==r&&(this._z2=d.z2,d.z2+=f):null!=r&&(d.z2=r,this._z2=null);var B=g&&g.useNameLabel;cb(d,u,{labelFetcher:e,labelDataIndex:a,defaultText:function(a){return B?c.getName(a):kf(c,a)},inheritColor:v,defaultOpacity:t.opacity});this._sizeX=b[0]/2;this._sizeY=b[1]/2;a=d.ensureState("emphasis");a.style=l;d.ensureState("select").style=n;d.ensureState("blur").style=m;w&&(d=Math.max(1.1,3/this._sizeY),a.scaleX=this._sizeX*d,a.scaleY=this._sizeY*d);this.setSymbolScale(1);va(this,p,q)};a.prototype.setSymbolScale=function(c){this.scaleX=this.scaleY=c};a.prototype.fadeOut=function(c,a){var b=this.childAt(0),d=this._seriesModel,g=S(this).dataIndex,h=a&&a.animation;this.silent=b.silent=!0;if(a&&a.fadeLabel){var k=b.getTextContent();k&&cd(k,{style:{opacity:0}},d,{dataIndex:g,removeOpt:h,cb:function(){b.removeTextContent()}})}else b.removeTextContent();cd(b,{style:{opacity:0},scaleX:0,scaleY:0},d,{dataIndex:g,cb:c,removeOpt:h})};a.getSymbolSize=function(c,a){var b=c.getItemVisual(a,"symbolSize");return b instanceof Array?b.slice():[+b,+b]};return a}(M),Eh=function(){function b(a){this.group=new M;this._SymbolCtor=a||Hg}b.prototype.updateData=function(a,c){c=Kt(c);var b=this.group,e=a.hostModel,f=this._data,g=this._SymbolCtor,h=c.disableAnimation,k=Lt(a),l={disableAnimation:h},m=c.getSymbolPoint||function(c){return a.getItemLayout(c)};f||b.removeAll();a.diff(f).add(function(d){var e=m(d);if(wm(a,e,d,c)){var f=new g(a,d,k,l);f.setPosition(e);a.setItemGraphicEl(d,f);b.add(f)}}).update(function(d,p){var n=f.getItemGraphicEl(p),t=m(d);wm(a,t,d,c)?(n?(n.updateData(a,d,k,l),t={x:t[0],y:t[1]},h?n.attr(t):ea(n,t,e)):(n=new g(a,d),n.setPosition(t)),b.add(n),a.setItemGraphicEl(d,n)):b.remove(n)}).remove(function(c){var a=f.getItemGraphicEl(c);a&&a.fadeOut(function(){b.remove(a)})}).execute();this._getSymbolPoint=m;this._data=a};b.prototype.isPersistent=function(){return!0};b.prototype.updateLayout=function(){var a=this,c=this._data;c&&c.eachItemGraphicEl(function(c,b){var d=a._getSymbolPoint(b);c.setPosition(d);c.markRedraw()})};b.prototype.incrementalPrepareUpdate=function(a){this._seriesScope=Lt(a);this._data=null;this.group.removeAll()};b.prototype.incrementalUpdate=function(a,c,b){function d(c){c.isGroup||(c.incremental=!0,c.ensureState("emphasis").hoverLayer=!0)}b=Kt(b);for(var f=a.start;f<a.end;f++){var g=c.getItemLayout(f);if(wm(c,g,f,b)){var h=new this._SymbolCtor(c,f,this._seriesScope);h.traverse(d);h.setPosition(g);this.group.add(h);c.setItemGraphicEl(f,h)}}};b.prototype.remove=function(a){var c=this.group,b=this._data;b&&a?b.eachItemGraphicEl(function(a){a.fadeOut(function(){c.remove(a)})}):c.removeAll()};return b}(),Mt="undefined"!==typeof Float32Array,OC=Mt?Float32Array:Array,kd=Math.min,ld=Math.max,iz=function(){return function(){this.smooth=0;this.smoothConstraint=!0}}(),cK=function(b){function a(c){c=b.call(this,c)||this;c.type="ec-polyline";return c}x(a,b);a.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}};a.prototype.getDefaultShape=function(){return new iz};a.prototype.buildPath=function(c,a){var b=a.points,d=0,g=b.length/2;if(a.connectNulls){for(;0<g&&be(b[2*g-2],b[2*g-1]);g--);for(;d<g&&be(b[2*d],b[2*d+1]);d++);}for(;d<g;)d+=zm(c,b,d,g,g,1,a.smooth,a.smoothMonotone,a.connectNulls)+1};a.prototype.getPointOn=function(c,a){this.path||(this.createPathProxy(),this.buildPath(this.path,this.shape));for(var b=this.path.data,d=pc.CMD,g,h,k="x"===a,l=[],m=0;m<b.length;){var n,p,q,t,u,w;switch(b[m++]){case d.M:g=b[m++];h=b[m++];break;case d.L:n=b[m++];p=b[m++];q=k?(c-g)/(n-g):(c-h)/(p-h);if(1>=q&&0<=q)return b=k?(p-h)*q+h:(n-g)*q+g,k?[c,b]:[b,c];g=n;h=p;break;case d.C:n=b[m++];p=b[m++];q=b[m++];t=b[m++];u=b[m++];w=b[m++];var v=k?gl(g,n,q,u,c,l):gl(h,p,t,w,c,l);if(0<v)for(var r=0;r<v;r++){var B=l[r];if(1>=B&&0<=B)return b=k?Oa(h,p,t,w,B):Oa(g,n,q,u,B),k?[c,b]:[b,c]}g=u;h=w}}};return a}(Y),dK=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);return a}(iz),jz=function(b){function a(c){c=b.call(this,c)||this;c.type="ec-polygon";return c}x(a,b);a.prototype.getDefaultShape=function(){return new dK};a.prototype.buildPath=function(c,a){var b=a.points,d=a.stackedOnPoints,g=0,h=b.length/2,k=a.smoothMonotone;if(a.connectNulls){for(;0<h&&be(b[2*h-2],b[2*h-1]);h--);for(;g<h&&be(b[2*g],b[2*g+1]);g++);}for(;g<h;){var l=zm(c,b,g,h,h,1,a.smooth,k,a.connectNulls);zm(c,d,g+l-1,l,h,-1,a.stackedOnSmooth,k,a.connectNulls);g+=l+1;c.closePath()}};return a}(Y),eK=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.init=function(){var c=new M,a=new Eh;this.group.add(a.group);this._symbolDraw=a;this._lineGroup=c};a.prototype.render=function(c,a,b){var d=this;a=c.coordinateSystem;var e=this.group,h=c.getData(),k=c.getModel("lineStyle"),l=c.getModel("areaStyle"),m=h.getLayout("points")||[],n="polar"===a.type,p=this._coordSys,q=this._symbolDraw,t=this._polyline,u=this._polygon,w=this._lineGroup,v=c.get("animation"),r=!l.isEmpty(),B=l.get("origin"),y=xm(a,h,B),y=r&&RC(a,h,y),x=c.get("showSymbol"),D=x&&!n&&TC(c,h,a),A=this._data;A&&A.eachItemGraphicEl(function(c,a){c.__temp&&(e.remove(c),A.setItemGraphicEl(a,null))});x||q.remove();e.add(w);var E=n?!1:c.get("step"),G;a&&a.getArea&&c.get("clip",!0)&&(G=a.getArea(),null!=G.width?(G.x-=.1,G.y-=.1,G.width+=.2,G.height+=.2):G.r0&&(G.r0-=.5,G.r+=.5));this._clipShapeForSymbol=G;t&&p.type===a.type&&E===this._step?(r&&!u?u=this._newPolygon(m,y):u&&!r&&(w.remove(u),u=this._polygon=null),n||this._initOrUpdateEndLabel(c,a),w.setClipPath(Tt(this,a,!1,c)),x&&q.updateData(h,{isIgnore:D,clipShape:G,disableAnimation:!0,getSymbolPoint:function(c){return[m[2*c],m[2*c+1]]}}),Pt(this._stackedOnPoints,y)&&Pt(this._points,m)||(v?this._doUpdateAnimation(h,y,a,b,E,B):(E&&(m=md(m,a,E),y&&(y=md(y,a,E))),t.setShape({points:m}),u&&u.setShape({points:m,stackedOnPoints:y})))):(x&&q.updateData(h,{isIgnore:D,clipShape:G,disableAnimation:!0,getSymbolPoint:function(c){return[m[2*c],m[2*c+1]]}}),v&&this._initSymbolLabelAnimation(h,a,G),E&&(m=md(m,a,E),y&&(y=md(y,a,E))),t=this._newPolyline(m),r&&(u=this._newPolygon(m,y)),n||this._initOrUpdateEndLabel(c,a),w.setClipPath(Tt(this,a,!0,c)));b=SC(h,a)||h.getVisual("style")[h.getVisual("drawType")];G=c.get(["emphasis","focus"]);n=c.get(["emphasis","blurScope"]);t.useStyle(K(k.getLineStyle(),{fill:"none",stroke:b,lineJoin:"bevel"}));Fa(t,c,"lineStyle");0<t.style.lineWidth&&"bolder"===c.get(["emphasis","lineStyle","width"])&&(t.getState("emphasis").style.lineWidth=t.style.lineWidth+1);S(t).seriesIndex=c.seriesIndex;va(t,G,n);k=St(c.get("smooth"));p=c.get("smoothMonotone");q=c.get("connectNulls");t.setShape({smooth:k,smoothMonotone:p,connectNulls:q});u&&(t=h.getCalculationInfo("stackedOnSeries"),w=0,u.useStyle(K(l.getAreaStyle(),{fill:b,opacity:.7,lineJoin:"bevel",decal:h.getVisual("style").decal})),t&&(w=St(t.get("smooth"))),u.setShape({smooth:k,stackedOnSmooth:w,smoothMonotone:p,connectNulls:q}),Fa(u,c,"areaStyle"),S(u).seriesIndex=c.seriesIndex,va(u,G,n));var C=function(c){d._changePolyState(c)};h.eachItemGraphicEl(function(c){c&&(c.onHoverStateChange=C)});this._polyline.onHoverStateChange=C;this._data=h;this._coordSys=a;this._stackedOnPoints=y;this._points=m;this._step=E;this._valueOrigin=B};a.prototype.dispose=function(){};a.prototype.highlight=function(c,a,b,f){var d=c.getData(),e=Jd(d,f);this._changePolyState("emphasis");if(!(e instanceof Array)&&null!=e&&0<=e){f=d.getLayout("points");a=d.getItemGraphicEl(e);if(!a){b=f[2*e];f=f[2*e+1];if(isNaN(b)||isNaN(f)||this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(b,f))return;a=new Hg(d,e);a.x=b;a.y=f;a.setZ(c.get("zlevel"),c.get("z"));a.__temp=!0;d.setItemGraphicEl(e,a);a.stopSymbolAnimation(!0);this.group.add(a)}a.highlight()}else oa.prototype.highlight.call(this,c,a,b,f)};a.prototype.downplay=function(c,a,b,f){var d=c.getData(),e=Jd(d,f);this._changePolyState("normal");if(null!=e&&0<=e){if(c=d.getItemGraphicEl(e))c.__temp?(d.setItemGraphicEl(e,null),this.group.remove(c)):c.downplay()}else oa.prototype.downplay.call(this,c,a,b,f)};a.prototype._changePolyState=function(c){var a=this._polygon;ml(this._polyline,c);a&&ml(a,c)};a.prototype._newPolyline=function(c){var a=this._polyline;a&&this._lineGroup.remove(a);a=new cK({shape:{points:c},segmentIgnoreThreshold:2,z2:10});this._lineGroup.add(a);return this._polyline=a};a.prototype._newPolygon=function(c,a){var b=this._polygon;b&&this._lineGroup.remove(b);b=new jz({shape:{points:c,stackedOnPoints:a},segmentIgnoreThreshold:2});this._lineGroup.add(b);return this._polygon=b};a.prototype._initSymbolLabelAnimation=function(c,a,b){var d,e,h=a.getBaseAxis(),k=h.inverse;"cartesian2d"===a.type?(d=h.isHorizontal(),e=!1):"polar"===a.type&&(d="angle"===h.dim,e=!0);var h=c.hostModel,l=h.get("animationDuration");"function"===typeof l&&(l=l(null));var m=h.get("animationDelay")||0,n="function"===typeof m?m(null):m;c.eachItemGraphicEl(function(c,f){if(c){var g=[c.x,c.y],h,p;e?(p=a.pointToCoord(g),d?(g=b.startAngle,h=b.endAngle,p=-p[1]/180*Math.PI):(g=b.r0,h=b.r,p=p[0])):d?(g=b.x,h=b.x+b.width,p=c.x):(g=b.y+b.height,h=b.y,p=c.y);g=h===g?0:(p-g)/(h-g);k&&(g=1-g);g="function"===typeof m?m(f):l*g+n;h=c.getSymbolPath();p=h.getTextContent();c.attr({scaleX:0,scaleY:0});c.animateTo({scaleX:1,scaleY:1},{duration:200,delay:g});p&&p.animateFrom({style:{opacity:0}},{duration:300,delay:g});h.disableLabelAnimation=!0}})};a.prototype._initOrUpdateEndLabel=function(c,a){var b=c.getModel("endLabel");if(b.get("show")){var d=c.getData(),g=this._polyline,h=this._endLabel;h||(h=this._endLabel=new ha({z2:200}),h.ignoreClip=!0,g.setTextContent(this._endLabel),g.disableLabelAnimation=!0);h=VC(d.getLayout("points"));0<=h&&(cb(g,Ra(c,"endLabel"),{labelFetcher:c,labelDataIndex:h,defaultText:function(c,a,b){return null!=b?Jt(d,b):kf(d,c)},enableTextSetter:!0},WC(b,a)),g.textConfig.position=null)}else this._endLabel&&(this._polyline.removeTextContent(),this._endLabel=null)};a.prototype._endLabelOnDuring=function(c,a,b,f,g,h,k){var d,e,n=this._endLabel,p=this._polyline;if(n){1>c&&null==f.originalX&&(f.originalX=n.x,f.originalY=n.y);var q=b.getLayout("points"),t=b.hostModel,u=t.get("connectNulls"),w=h.get("precision");h=h.get("distance")||0;k=k.getBaseAxis();var v=k.isHorizontal();d=k.inverse;a=a.shape;k=d?v?a.x:a.y+a.height:v?a.x+a.width:a.y;a=(v?h:0)*(d?-1:1);h=(v?0:-h)*(d?-1:1);v=v?"x":"y";d=q.length/2;for(var r="x"===v?0:1,B,y=0,x=-1,D=0;D<d;D++)if(e=q[2*D+r],!isNaN(e)&&!isNaN(q[2*D+1-r])){if(0!==D){if(B<=k&&e>=k||B>=k&&e<=k){x=D;break}y=D}B=e}d=[y,x];e=(k-B)/(e-B);r=d[1]-d[0];B=void 0;1<=r?(1<r&&!u?(b=d[0],q=[q[2*b],q[2*b+1]],n.attr({x:q[0]+a,y:q[1]+h}),g&&(B=t.getRawValue(d[0]))):((q=p.getPointOn(k,v))&&n.attr({x:q[0]+a,y:q[1]+h}),q=t.getRawValue(d[0]),t=t.getRawValue(d[1]),g&&(B=Dq(b,w,q,t,e))),f.lastFrameIndex=d[0]):(f=1===c||0<f.lastFrameIndex?d[0]:0,q=[q[2*f],q[2*f+1]],g&&(B=t.getRawValue(f)),n.attr({x:q[0]+a,y:q[1]+h}));g&&lg(n).setLabelText(B)}};a.prototype._doUpdateAnimation=function(c,a,b,f,g,h){var d=this._polyline,e=this._polygon;f=c.hostModel;a=QC(this._data,c,this._stackedOnPoints,a,this._coordSys,b,this._valueOrigin,h);h=a.current;var m=a.stackedOnCurrent,n=a.next,p=a.stackedOnNext;g&&(h=md(a.current,b,g),m=md(a.stackedOnCurrent,b,g),n=md(a.next,b,g),p=md(a.stackedOnNext,b,g));if(3E3<Rt(h,n)||e&&3E3<Rt(m,p))d.setShape({points:n}),e&&e.setShape({points:n,stackedOnPoints:p});else{d.shape.__points=a.current;d.shape.points=h;b={shape:{points:n}};a.current!==h&&(b.shape.__points=a.next);d.stopAnimation();ea(d,b,f);e&&(e.setShape({points:h,stackedOnPoints:m}),e.stopAnimation(),ea(e,{shape:{stackedOnPoints:p}},f),d.shape.points!==e.shape.points&&(e.shape.points=d.shape.points));var q=[];b=a.status;for(g=0;g<b.length;g++)"\x3d"===b[g].cmd&&(f=c.getItemGraphicEl(b[g].idx1))&&q.push({el:f,ptIdx:g});d.animators&&d.animators.length&&d.animators[0].during(function(){e&&e.dirtyShape();for(var c=d.shape.__points,a=0;a<q.length;a++){var b=q[a].el,f=2*q[a].ptIdx;b.x=c[f];b.y=c[f+1];b.markRedraw()}})}};a.prototype.remove=function(c){var a=this.group,b=this._data;this._lineGroup.removeAll();this._symbolDraw.remove(!0);b&&b.eachItemGraphicEl(function(c,d){c.__temp&&(a.remove(c),b.setItemGraphicEl(d,null))});this._polyline=this._polygon=this._coordSys=this._points=this._stackedOnPoints=this._endLabel=this._data=null};a.type="line";return a}(oa),XC={average:function(b){for(var a=0,c=0,d=0;d<b.length;d++)isNaN(b[d])||(a+=b[d],c++);return 0===c?NaN:a/c},sum:function(b){for(var a=0,c=0;c<b.length;c++)a+=b[c]||0;return a},max:function(b){for(var a=-Infinity,c=0;c<b.length;c++)b[c]>a&&(a=b[c]);return isFinite(a)?a:NaN},min:function(b){for(var a=Infinity,c=0;c<b.length;c++)b[c]<a&&(a=b[c]);return isFinite(a)?a:NaN},nearest:function(b){return b[0]}},YC=function(b){return Math.round(b.length/2)},Fh=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.getInitialData=function(c,a){return sc(this.getSource(),this,{useEncodeDefaulter:!0})};a.prototype.getMarkerPosition=function(c){var a=this.coordinateSystem;if(a){c=a.dataToPoint(a.clampData(c));var b=this.getData(),f=b.getLayout("offset"),b=b.getLayout("size"),a=a.getBaseAxis().isHorizontal()?0:1;c[a]+=f+b/2;return c}return[NaN,NaN]};a.type="series.__base_bar__";a.defaultOption={zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3E3,progressiveChunkMode:"mod"};return a}(ra);ra.registerClass(Fh);var fK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.getInitialData=function(){return sc(this.getSource(),this,{useEncodeDefaulter:!0,createInvertedIndices:!!this.get("realtimeSort",!0)||null})};a.prototype.getProgressive=function(){return this.get("large")?this.get("progressive"):!1};a.prototype.getProgressiveThreshold=function(){var c=this.get("progressiveThreshold"),a=this.get("largeThreshold");a>c&&(c=a);return c};a.prototype.brushSelector=function(c,a,b){return b.rect(a.getItemLayout(c))};a.type="series.bar";a.dependencies=["grid","polar"];a.defaultOption=ed(Fh.defaultOption,{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:"rgba(180, 180, 180, 0.2)",borderColor:null,borderWidth:0,borderType:"solid",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1},select:{itemStyle:{borderColor:"#212121"}},realtimeSort:!1});return a}(Fh),gK=function(){return function(){this.startAngle=this.r=this.r0=this.cy=this.cx=0;this.endAngle=2*Math.PI;this.clockwise=!0}}(),gp=function(b){function a(c){c=b.call(this,c)||this;c.type="sausage";return c}x(a,b);a.prototype.getDefaultShape=function(){return new gK};a.prototype.buildPath=function(c,a){var b=a.cx,d=a.cy,g=Math.max(a.r0||0,0),h=Math.max(a.r,0),k=.5*(h-g),l=g+k,m=a.startAngle,n=a.endAngle,p=a.clockwise,q=Math.cos(m),t=Math.sin(m),u=Math.cos(n),w=Math.sin(n);if(p?n-m<2*Math.PI:m-n<2*Math.PI)c.moveTo(q*g+b,t*g+d),c.arc(q*l+b,t*l+d,k,-Math.PI+m,m,!p);c.arc(b,d,h,m,n,!p);c.moveTo(u*h+b,w*h+d);c.arc(u*l+b,w*l+d,k,n-2*Math.PI,n-Math.PI,!p);0!==g&&(c.arc(b,d,g,n,m,p),c.moveTo(q*g+b,w*g+d));c.closePath()};return a}(Y),hK=["itemStyle","borderWidth"],aD=["itemStyle","borderRadius"],hk=[0,0],hp=Math.max,ip=Math.min,iK=function(b){function a(){var c=b.call(this)||this;c.type=a.type;c._isFirstFrame=!0;return c}x(a,b);a.prototype.render=function(c,a,b,f){this._model=c;this._removeOnRenderedListener(b);this._updateDrawMode(c);var d=c.get("coordinateSystem");"cartesian2d"===d||"polar"===d?this._isLargeDraw?this._renderLarge(c,a,b):this._renderNormal(c,a,b,f):Pe("Only cartesian2d and polar supported for bar.")};a.prototype.incrementalPrepareRender=function(c){this._clear();this._updateDrawMode(c);this._updateLargeClip(c)};a.prototype.incrementalRender=function(c,a){this._incrementalRenderLarge(c,a)};a.prototype._updateDrawMode=function(c){c=c.pipelineContext.large;if(null==this._isLargeDraw||c!==this._isLargeDraw)this._isLargeDraw=c,this._clear()};a.prototype._renderNormal=function(c,a,b,f){function d(c){var a=ik[m.type](k,c),a=new ("polar"===m.type?lb:Z)({shape:$t(p,a,m),silent:!0,z2:0});a.useStyle(B.getItemStyle());"cartesian2d"===m.type&&a.setShape("r",y);return x[c]=a}var e=this.group,k=c.getData(),l=this._data,m=c.coordinateSystem,n=m.getBaseAxis(),p;"cartesian2d"===m.type?p=n.isHorizontal():"polar"===m.type&&(p="angle"===n.dim);var q=c.isAnimationEnabled()?c:null,t=$C(c,m);t&&this._enableRealtimeSort(t,k,b);var u=c.get("clip",!0)||t,w=ZC(m,k);e.removeClipPath();var v=c.get("roundCap",!0),r=c.get("showBackground",!0),B=c.getModel("backgroundStyle"),y=B.get("borderRadius")||0,x=[],D=this._backgroundEls,A=f&&f.isInitSort,E=f&&"changeAxisOrder"===f.type;k.diff(l).add(function(a){var b=k.getItemModel(a),f=ik[m.type](k,a,b);r&&d(a);if(k.hasValue(a)){var g=!1;u&&(g=kz[m.type](w,f));var h=lz[m.type](c,k,a,f,p,q,n.model,!1,v);Wt(h,k,a,b,f,c,p,"polar"===m.type);A?h.attr({shape:f}):t?Vt(t,q,h,f,a,p,!1,!1):za(h,{shape:f},c,a);k.setItemGraphicEl(a,h);e.add(h);h.ignore=g}}).update(function(a,b){var f=k.getItemModel(a),g=ik[m.type](k,a,f);if(r){var h;0===D.length?h=d(b):(h=D[b],h.useStyle(B.getItemStyle()),"cartesian2d"===m.type&&h.setShape("r",y),x[a]=h);var z=ik[m.type](k,a),z=$t(p,z,m);ea(h,{shape:z},q,a)}h=l.getItemGraphicEl(b);k.hasValue(a)?(z=!1,u&&(z=kz[m.type](w,g))&&e.remove(h),h||(h=lz[m.type](c,k,a,g,p,q,n.model,!!h,v)),E||Wt(h,k,a,f,g,c,p,"polar"===m.type),A?h.attr({shape:g}):t?Vt(t,q,h,g,a,p,!0,E):ea(h,{shape:g},c,a,null),k.setItemGraphicEl(a,h),h.ignore=z,e.add(h)):e.remove(h)}).remove(function(a){var b=l.getItemGraphicEl(a);b&&ig(b,c,a)}).execute();a=this._backgroundGroup||(this._backgroundGroup=new M);a.removeAll();for(b=0;b<x.length;++b)a.add(x[b]);e.add(a);this._backgroundEls=x;this._data=k};a.prototype._renderLarge=function(c,a,b){this._clear();Xt(c,this.group);this._updateLargeClip(c)};a.prototype._incrementalRenderLarge=function(c,a){this._removeBackground();Xt(a,this.group,!0)};a.prototype._updateLargeClip=function(c){(c=c.get("clip",!0)?Zi(c.coordinateSystem,!1,c):null)?this.group.setClipPath(c):this.group.removeClipPath()};a.prototype._enableRealtimeSort=function(c,a,b){var d=this;if(a.count()){var e=c.baseAxis;if(this._isFirstFrame)this._dispatchInitSort(a,c,b),this._isFirstFrame=!1;else{var h=function(c){return(c=a.getItemGraphicEl(c))?(c=c.shape,(e.isHorizontal()?Math.abs(c.height):Math.abs(c.width))||0):0};this._onRendered=function(){d._updateSortWithinSameData(a,h,e,b)};b.getZr().on("rendered",this._onRendered)}}};a.prototype._dataSort=function(c,a,b){var d=[];c.each(c.mapDimension(a.dim),function(c,a){var e=b(a),e=null==e?NaN:e;d.push({dataIndex:a,mappedValue:e,ordinalNumber:c})});d.sort(function(c,a){return a.mappedValue-c.mappedValue});return{ordinalNumbers:C(d,function(c){return c.ordinalNumber})}};a.prototype._isOrderChangedWithinSameData=function(c,a,b){var d=b.scale;b=c.mapDimension(b.dim);for(var e=Number.MAX_VALUE,h=0,k=d.getOrdinalMeta().categories.length;h<k;++h){var l=c.rawIndexOf(b,d.getRawOrdinalNumber(h)),l=0>l?Number.MIN_VALUE:a(c.indexOfRawIndex(l));if(l>e)return!0;e=l}return!1};a.prototype._isOrderDifferentInView=function(c,a){for(var b=a.scale,d=b.getExtent(),g=Math.max(0,d[0]),d=Math.min(d[1],b.getOrdinalMeta().categories.length-1);g<=d;++g)if(c.ordinalNumbers[g]!==b.getRawOrdinalNumber(g))return!0};a.prototype._updateSortWithinSameData=function(c,a,b,f){this._isOrderChangedWithinSameData(c,a,b)&&(c=this._dataSort(c,b,a),this._isOrderDifferentInView(c,b)&&(this._removeOnRenderedListener(f),f.dispatchAction({type:"changeAxisOrder",componentType:b.dim+"Axis",axisId:b.index,sortInfo:c})))};a.prototype._dispatchInitSort=function(c,a,b){var d=a.baseAxis,e=this._dataSort(c,d,function(b){return c.get(c.mapDimension(a.otherAxis.dim),b)});b.dispatchAction({type:"changeAxisOrder",componentType:d.dim+"Axis",isInitSort:!0,axisId:d.index,sortInfo:e,animation:{duration:0}})};a.prototype.remove=function(c,a){this._clear(this._model);this._removeOnRenderedListener(a)};a.prototype.dispose=function(c,a){this._removeOnRenderedListener(a)};a.prototype._removeOnRenderedListener=function(c){this._onRendered&&(c.getZr().off("rendered",this._onRendered),this._onRendered=null)};a.prototype._clear=function(c){var a=this.group,b=this._data;c&&c.isAnimationEnabled()&&b&&!this._isLargeDraw?(this._removeBackground(),this._backgroundEls=[],b.eachItemGraphicEl(function(a){ig(a,c,S(a).dataIndex)})):a.removeAll();this._data=null;this._isFirstFrame=!0};a.prototype._removeBackground=function(){this.group.remove(this._backgroundGroup);this._backgroundGroup=null};a.type="bar";return a}(oa),kz={cartesian2d:function(b,a){var c=0>a.width?-1:1,d=0>a.height?-1:1;0>c&&(a.x+=a.width,a.width=-a.width);0>d&&(a.y+=a.height,a.height=-a.height);var e=b.x+b.width,f=b.y+b.height,g=hp(a.x,b.x),h=ip(a.x+a.width,e),k=hp(a.y,b.y),l=ip(a.y+a.height,f),m=h<g,n=l<k;a.x=m&&g>e?h:g;a.y=n&&k>f?l:k;a.width=m?0:h-g;a.height=n?0:l-k;0>c&&(a.x+=a.width,a.width=-a.width);0>d&&(a.y+=a.height,a.height=-a.height);return m||n},polar:function(b,a){var c=a.r0<=a.r?1:-1;if(0>c){var d=a.r;a.r=a.r0;a.r0=d}var e=ip(a.r,b.r),f=hp(a.r0,b.r0);a.r=e;a.r0=f;0>c&&(d=a.r,a.r=a.r0,a.r0=d);return 0>e-f}},lz={cartesian2d:function(b,a,c,d,e,f,g,h,k){b=new Z({shape:F({},d),z2:1});b.__dataIndex=c;b.name="item";f&&(b.shape[e?"height":"width"]=0);return b},polar:function(b,a,c,d,e,f,g,h,k){b=new (!e&&k?gp:lb)({shape:K({clockwise:d.startAngle<d.endAngle},d),z2:1});b.name="item";f&&(a=e?"r":"endAngle",c={},b.shape[a]=e?0:d.startAngle,c[a]=d[a],(h?ea:za)(b,{shape:c},f));return b}},ik={cartesian2d:function(b,a,c){b=b.getItemLayout(a);if(c){c=c.get(hK)||0;a=isNaN(b.width)?Number.MAX_VALUE:Math.abs(b.width);var d=isNaN(b.height)?Number.MAX_VALUE:Math.abs(b.height);c=Math.min(c,a,d)}else c=0;a=0<b.width?1:-1;d=0<b.height?1:-1;return{x:b.x+a*c/2,y:b.y+d*c/2,width:b.width-a*c,height:b.height-d*c}},polar:function(b,a,c){b=b.getItemLayout(a);return{cx:b.cx,cy:b.cy,r0:b.r0,r:b.r,startAngle:b.startAngle,endAngle:b.endAngle}}},jK=function(){return function(){}}(),Yt=function(b){function a(c){c=b.call(this,c)||this;c.type="largeBar";return c}x(a,b);a.prototype.getDefaultShape=function(){return new jK};a.prototype.buildPath=function(c,a){for(var b=a.points,d=this.__startPoint,g=this.__baseDimIdx,h=0;h<b.length;h+=2)d[g]=b[h+g],c.moveTo(d[0],d[1]),c.lineTo(b[h],b[h+1])};return a}(Y),Zt=Fi(function(b){var a;a:{var c=b.offsetY;a=this.__baseDimIdx;var d=1-a,e=this.shape.points,f=this.__largeDataIndices,g=Math.abs(this.__barWidth/2),h=this.__startPoint[d];hk[0]=b.offsetX;hk[1]=c;var k=hk[a];b=hk[1-a];for(var c=k-g,g=k+g,k=0,l=e.length/2;k<l;k++){var m=2*k,n=e[m+a],m=e[m+d];if(n>=c&&n<=g&&(h<=m?b>=h&&b<=m:b>=m&&b<=h)){a=f[k];break a}}a=-1}S(this).dataIndex=0<=a?a:null},30,!1),$i=2*Math.PI,au=Math.PI/180,fD=Math.PI/180,kK=function(b){function a(c,a,e){var d=b.call(this)||this;d.z2=2;var g=new kb,h=new ha;d.setTextGuideLine(g);d.setTextContent(h);d.updateData(c,a,e,!0);return d}x(a,b);a.prototype.updateData=function(c,a,b,f){var d=c.hostModel,e=c.getItemModel(a),k=e.getModel("emphasis"),l=c.getItemLayout(a),m=F(nf(e.getModel("itemStyle"),l)||{},l);f?(this.setShape(m),"scale"===d.getShallow("animationType")?(this.shape.r=l.r0,za(this,{shape:{r:l.r}},d,a)):null!=b?(this.setShape({startAngle:b,endAngle:b}),za(this,{shape:{startAngle:l.startAngle,endAngle:l.endAngle}},d,a)):(this.shape.endAngle=l.startAngle,ea(this,{shape:{endAngle:l.endAngle}},d,a))):ea(this,{shape:m},d,a);this.useStyle(c.getItemVisual(a,"style"));Fa(this,e);f=(l.startAngle+l.endAngle)/2;m=d.get("selectedOffset");b=Math.cos(f)*m;f=Math.sin(f)*m;(m=e.getShallow("cursor"))&&this.attr("cursor",m);this._updateLabel(d,c,a);this.ensureState("emphasis").shape=ro({r:l.r+(k.get("scale")?k.get("scaleSize")||0:0)},nf(k.getModel("itemStyle"),l));F(this.ensureState("select"),{x:b,y:f,shape:nf(e.getModel(["select","itemStyle"]),l)});F(this.ensureState("blur"),{shape:nf(e.getModel(["blur","itemStyle"]),l)});c=this.getTextGuideLine();a=this.getTextContent();F(c.ensureState("select"),{x:b,y:f});F(a.ensureState("select"),{x:b,y:f});va(this,k.get("focus"),k.get("blurScope"))};a.prototype._updateLabel=function(c,a,b){var d=a.getItemModel(b),e=d.getModel("labelLine"),h=a.getItemVisual(b,"style"),k=h&&h.fill,h=h&&h.opacity;cb(this,Ra(d),{labelFetcher:a.hostModel,labelDataIndex:b,inheritColor:k,defaultOpacity:h,defaultText:c.getFormattedLabel(b,"normal")||a.getName(b)});c=this.getTextContent();this.setTextConfig({position:null,rotation:null});c.attr({z2:10});Tl(this,Ul(d),{stroke:k,opacity:zb(e.get(["lineStyle","opacity"]),h,1)})};return a}(lb),lK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.ignoreLabelLineUpdate=!0;return c}x(a,b);a.prototype.init=function(){this._sectorGroup=new M};a.prototype.render=function(c,a,b,f){var d=c.getData(),e=this._data,k=this.group,l;if(!e&&0<d.count()){a=d.getItemLayout(0);for(b=1;isNaN(a&&a.startAngle)&&b<d.count();++b)a=d.getItemLayout(b);a&&(l=a.startAngle)}d.diff(e).add(function(c){var a=new kK(d,c,l);d.setItemGraphicEl(c,a);k.add(a)}).update(function(c,a){var b=e.getItemGraphicEl(a);b.updateData(d,c,l);b.off("click");k.add(b);d.setItemGraphicEl(c,b)}).remove(function(a){var b=e.getItemGraphicEl(a);ig(b,c,a)}).execute();eD(c);"expansion"!==c.get("animationTypeUpdate")&&(this._data=d)};a.prototype.dispose=function(){};a.prototype.containPoint=function(c,a){var b=a.getData().getItemLayout(0);if(b){var d=c[0]-b.cx,g=c[1]-b.cy,d=Math.sqrt(d*d+g*g);return d<=b.r&&d>=b.r0}};a.type="pie";return a}(oa),Gh=function(){function b(a,c){this._getDataWithEncodedVisual=a;this._getRawData=c}b.prototype.getAllNames=function(){var a=this._getRawData();return a.mapArray(a.getName)};b.prototype.containName=function(a){return 0<=this._getRawData().indexOfName(a)};b.prototype.indexOfName=function(a){return this._getDataWithEncodedVisual().indexOfName(a)};b.prototype.getItemVisual=function(a,c){return this._getDataWithEncodedVisual().getItemVisual(a,c)};return b}(),mK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.useColorPaletteOnData=!0;return c}x(a,b);a.prototype.init=function(c){b.prototype.init.apply(this,arguments);this.legendVisualProvider=new Gh(I(this.getData,this),I(this.getRawData,this));this._defaultLabelLine(c)};a.prototype.mergeOption=function(){b.prototype.mergeOption.apply(this,arguments)};a.prototype.getInitialData=function(){return of(this,{coordDimensions:["value"],encodeDefaulter:P(Il,this)})};a.prototype.getDataParams=function(c){var a=this.getData(),e=b.prototype.getDataParams.call(this,c),f=[];a.each(a.mapDimension("value"),function(c){f.push(c)});e.percent=tq(f,c,a.hostModel.get("percentPrecision"));e.$vars.push("percent");return e};a.prototype._defaultLabelLine=function(c){Id(c,"labelLine",["show"]);var a=c.labelLine,b=c.emphasis.labelLine;a.show=a.show&&c.label.show;b.show=b.show&&c.emphasis.label.show};a.type="series.pie";a.defaultOption={zlevel:0,z:2,legendHoverLink:!0,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,minShowLabelAngle:0,selectedOffset:10,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:0,show:!0,overflow:"truncate",position:"outer",alignTo:"none",edgeDistance:"25%",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,minTurnAngle:90,maxSurfaceAngle:90,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1},labelLayout:{hideOverlap:!0},emphasis:{scale:!0,scaleSize:5},avoidLabelOverlap:!0,animationType:"expansion",animationDuration:1E3,animationTypeUpdate:"transition",animationEasingUpdate:"cubicInOut",animationDurationUpdate:500,animationEasing:"cubicInOut"};return a}(ra),nK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.hasSymbolVisual=!0;return c}x(a,b);a.prototype.getInitialData=function(c,a){return sc(this.getSource(),this,{useEncodeDefaulter:!0})};a.prototype.getProgressive=function(){var c=this.option.progressive;return null==c?this.option.large?5E3:this.get("progressive"):c};a.prototype.getProgressiveThreshold=function(){var c=this.option.progressiveThreshold;return null==c?this.option.large?1E4:this.get("progressiveThreshold"):c};a.prototype.brushSelector=function(c,a,b){return b.point(a.getItemLayout(c))};a.type="series.scatter";a.dependencies=["grid","polar","geo","singleAxis","calendar"];a.defaultOption={coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,symbolSize:10,large:!1,largeThreshold:2E3,itemStyle:{opacity:.8},emphasis:{scale:!0},clip:!0,select:{itemStyle:{borderColor:"#212121"}}};return a}(ra),oK=function(){return function(){}}(),jp=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultShape=function(){return new oK};a.prototype.buildPath=function(c,a){var b=a.points,d=a.size,g=this.symbolProxy,h=g.shape,k=c.getContext?c.getContext():c;if(k&&4>d[0])this._ctx=k;else for(this._ctx=null,k=0;k<b.length;){var l=b[k++],m=b[k++];isNaN(l)||isNaN(m)||this.softClipShape&&!this.softClipShape.contain(l,m)||(h.x=l-d[0]/2,h.y=m-d[1]/2,h.width=d[0],h.height=d[1],g.buildPath(c,h,!0))}};a.prototype.afterBrush=function(){var c=this.shape,a=c.points,c=c.size,b=this._ctx;if(b)for(var f=0;f<a.length;){var g=a[f++],h=a[f++];isNaN(g)||isNaN(h)||this.softClipShape&&!this.softClipShape.contain(g,h)||b.fillRect(g-c[0]/2,h-c[1]/2,c[0],c[1])}};a.prototype.findDataIndex=function(c,a){for(var b=this.shape,d=b.points,g=b.size,b=Math.max(g[0],4),g=Math.max(g[1],4),h=d.length/2-1;0<=h;h--){var k=2*h,l=d[k]-b/2,k=d[k+1]-g/2;if(c>=l&&a>=k&&c<=l+b&&a<=k+g)return h}return-1};return a}(Y),pK=function(){function b(){this.group=new M}b.prototype.isPersistent=function(){return!this._incremental};b.prototype.updateData=function(a,c){this.group.removeAll();var b=new jp({rectHover:!0,cursor:"default"});b.setShape({points:a.getLayout("points")});this._setCommon(b,a,!1,c);this.group.add(b);this._incremental=null};b.prototype.updateLayout=function(a){if(!this._incremental){var c=a.getLayout("points");this.group.eachChild(function(a){null!=a.startIndex&&(c=new Float32Array(c.buffer,8*a.startIndex,2*(a.endIndex-a.startIndex)));a.setShape("points",c)})}};b.prototype.incrementalPrepareUpdate=function(a){this.group.removeAll();this._clearIncremental();2E6<a.count()?(this._incremental||(this._incremental=new xg({silent:!0})),this.group.add(this._incremental)):this._incremental=null};b.prototype.incrementalUpdate=function(a,c,b){this._incremental?(a=new jp,this._incremental.addDisplayable(a,!0)):(a=new jp({rectHover:!0,cursor:"default",startIndex:a.start,endIndex:a.end}),a.incremental=!0,this.group.add(a));a.setShape({points:c.getLayout("points")});this._setCommon(a,c,!!this._incremental,b)};b.prototype._setCommon=function(a,c,b,e){var d=c.hostModel;e=e||{};var g=c.getVisual("symbolSize");a.setShape("size",g instanceof Array?g:[g,g]);a.softClipShape=e.clipShape||null;a.symbolProxy=Pa(c.getVisual("symbol"),0,0,0,0);a.setColor=a.symbolProxy.setColor;e=4>a.shape.size[0];a.useStyle(d.getModel("itemStyle").getItemStyle(e?["color","shadowBlur","shadowColor"]:["color"]));(c=(c=c.getVisual("style"))&&c.fill)&&a.setColor(c);if(!b){var h=S(a);h.seriesIndex=d.seriesIndex;a.on("mousemove",function(c){h.dataIndex=null;c=a.findDataIndex(c.offsetX,c.offsetY);0<=c&&(h.dataIndex=c+(a.startIndex||0))})}};b.prototype.remove=function(){this._clearIncremental();this._incremental=null;this.group.removeAll()};b.prototype._clearIncremental=function(){var a=this._incremental;a&&a.clearDisplaybles()};return b}(),qK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(c,a,b){a=c.getData();this._updateSymbolDraw(a,c).updateData(a,{clipShape:this._getClipShape(c)});this._finished=!0};a.prototype.incrementalPrepareRender=function(c,a,b){a=c.getData();this._updateSymbolDraw(a,c).incrementalPrepareUpdate(a);this._finished=!1};a.prototype.incrementalRender=function(c,a,b){this._symbolDraw.incrementalUpdate(c,a.getData(),{clipShape:this._getClipShape(a)});this._finished=c.end===a.getData().count()};a.prototype.updateTransform=function(c,a,b){var d=c.getData();this.group.dirty();if(!this._finished||1E4<d.count()||!this._symbolDraw.isPersistent())return{update:!0};c=Ig("").reset(c,a,b);c.progress&&c.progress({start:0,end:d.count(),count:d.count()},d);this._symbolDraw.updateLayout(d)};a.prototype._getClipShape=function(c){var a=c.coordinateSystem,a=a&&a.getArea&&a.getArea();return c.get("clip",!0)?a:null};a.prototype._updateSymbolDraw=function(c,a){var b=this._symbolDraw,d=a.pipelineContext.large;b&&d===this._isLargeDraw||(b&&b.remove(),b=this._symbolDraw=d?new pK:new Eh,this._isLargeDraw=d,this.group.removeAll());this.group.add(b.group);return b};a.prototype.remove=function(c,a){this._symbolDraw&&this._symbolDraw.remove(!0);this._symbolDraw=null};a.prototype.dispose=function(){};a.type="scatter";return a}(oa),oD=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.type="grid";a.dependencies=["xAxis","yAxis"];a.layoutMode="box";a.defaultOption={show:!1,zlevel:0,z:0,left:"10%",top:60,right:"10%",bottom:70,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"};return a}(W),Gm=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.getCoordSysModel=function(){return this.getReferringComponents("grid",Da).models[0]};a.type="cartesian2dAxis";return a}(W);wa(Gm,Lf);var mz={show:!0,zlevel:0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#6E7079",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#E0E6F1"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.2)","rgba(210,219,238,0.2)"]}}},rK=U({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},mz),kp=U({boundaryGap:[0,0],axisLine:{show:"auto"},axisTick:{show:"auto"},splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#F4F7FD",width:1}}},mz),sK=U({scale:!0,splitNumber:6,axisLabel:{showMinLabel:!1,showMaxLabel:!1,rich:{primary:{fontWeight:"bold"}}},splitLine:{show:!1}},kp),tK=K({scale:!0,logBase:10},kp),cu={category:rK,value:kp,time:sK,log:tK},gD={value:1,category:1,time:1,log:1},lp=["x","y"],uK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type="cartesian2d";c.dimensions=lp;return c}x(a,b);a.prototype.calcAffineTransform=function(){this._transform=this._invTransform=null;var c=this.getAxis("x").scale,a=this.getAxis("y").scale;if(!("interval"!==c.type&&"time"!==c.type||"interval"!==a.type&&"time"!==a.type)){var c=c.getExtent(),a=a.getExtent(),b=this.dataToPoint([c[0],a[0]]),f=this.dataToPoint([c[1],a[1]]),g=c[1]-c[0],h=a[1]-a[0];g&&h&&(g=(f[0]-b[0])/g,f=(f[1]-b[1])/h,c=this._transform=[g,0,0,f,b[0]-c[0]*g,b[1]-a[0]*f],this._invTransform=Ke([],c))}};a.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")};a.prototype.containPoint=function(c){var a=this.getAxis("x"),b=this.getAxis("y");return a.contain(a.toLocalCoord(c[0]))&&b.contain(b.toLocalCoord(c[1]))};a.prototype.containData=function(c){return this.getAxis("x").containData(c[0])&&this.getAxis("y").containData(c[1])};a.prototype.dataToPoint=function(c,a,b){b=b||[];a=c[0];var d=c[1];if(this._transform&&null!=a&&isFinite(a)&&null!=d&&isFinite(d))return Qa(b,c,this._transform);c=this.getAxis("x");var e=this.getAxis("y");b[0]=c.toGlobalCoord(c.dataToCoord(a));b[1]=e.toGlobalCoord(e.dataToCoord(d));return b};a.prototype.clampData=function(c,a){var b=this.getAxis("x").scale,d=this.getAxis("y").scale,g=b.getExtent(),h=d.getExtent(),b=b.parse(c[0]),d=d.parse(c[1]);a=a||[];a[0]=Math.min(Math.max(Math.min(g[0],g[1]),b),Math.max(g[0],g[1]));a[1]=Math.min(Math.max(Math.min(h[0],h[1]),d),Math.max(h[0],h[1]));return a};a.prototype.pointToData=function(c,a){a=a||[];if(this._invTransform)return Qa(a,c,this._invTransform);var b=this.getAxis("x"),d=this.getAxis("y");a[0]=b.coordToData(b.toLocalCoord(c[0]));a[1]=d.coordToData(d.toLocalCoord(c[1]));return a};a.prototype.getOtherAxis=function(c){return this.getAxis("x"===c.dim?"y":"x")};a.prototype.getArea=function(){var c=this.getAxis("x").getGlobalExtent(),a=this.getAxis("y").getGlobalExtent(),b=Math.min(c[0],c[1]),f=Math.min(a[0],a[1]);return new aa(b,f,Math.max(c[0],c[1])-b,Math.max(a[0],a[1])-f)};return a}(function(){function b(a){this.type="cartesian";this._dimList=[];this._axes={};this.name=a||""}b.prototype.getAxis=function(a){return this._axes[a]};b.prototype.getAxes=function(){return C(this._dimList,function(a){return this._axes[a]},this)};b.prototype.getAxesByScale=function(a){a=a.toLowerCase();return ta(this.getAxes(),function(c){return c.scale.type===a})};b.prototype.addAxis=function(a){var c=a.dim;this._axes[c]=a;this._dimList.push(c)};return b}()),vK=function(b){function a(c,a,e,f,g){c=b.call(this,c,a,e)||this;c.index=0;c.type=f||"value";c.position=g||"bottom";return c}x(a,b);a.prototype.isHorizontal=function(){var c=this.position;return"top"===c||"bottom"===c};a.prototype.getGlobalExtent=function(c){var a=this.getExtent();a[0]=this.toGlobalCoord(a[0]);a[1]=this.toGlobalCoord(a[1]);c&&a[0]>a[1]&&a.reverse();return a};a.prototype.pointToData=function(c,a){return this.coordToData(this.toLocalCoord(c["x"===this.dim?0:1]),a)};a.prototype.setCategorySortInfo=function(c){if("category"!==this.type)return!1;this.model.option.categorySortInfo=c;this.scale.setSortInfo(c)};return a}(Pb),pD=function(){function b(a,c,b){this.type="grid";this._coordsMap={};this._coordsList=[];this._axesMap={};this._axesList=[];this.axisPointerEnabled=!0;this.dimensions=lp;this._initCartesian(a,c,b);this.model=a}b.prototype.getRect=function(){return this._rect};b.prototype.update=function(a,c){var b=this._axesMap;this._updateScale(a,this.model);r(b.x,function(c){jd(c.scale,c.model)});r(b.y,function(c){jd(c.scale,c.model)});var e={};r(b.x,function(c){gu(b,"y",c,e)});r(b.y,function(c){gu(b,"x",c,e)});this.resize(this.model,c)};b.prototype.resize=function(a,c,b){function d(){r(h,function(c){var a=c.isHorizontal(),b=a?[0,g.width]:[0,g.height],d=c.inverse?1:0;c.setExtent(b[d],b[1-d]);hD(c,a?g.x:g.y)})}var f=a.getBoxLayoutParams();a=!b&&a.get("containLabel");var g=Aa(f,{width:c.getWidth(),height:c.getHeight()});this._rect=g;var h=this._axesList;d();a&&(r(h,function(c){if(!c.model.get(["axisLabel","inside"])){var a;var b=c.scale;if(!c.model.get(["axisLabel","show"])||b.isBlank())a=void 0;else{var d=b.getExtent();b instanceof Wi?b=b.count():(a=b.getTicks(),b=a.length);var e=c.getLabelModel(),f=Eg(c),h,k=1;40<b&&(k=Math.ceil(b/40));for(var w=0;w<b;w+=k){var v=f(a?a[w]:{value:d[0]+w},w),v=e.getTextRect(v),r=(e.get("rotate")||0)*Math.PI/180,B=v.width,y=v.height,v=new aa(v.x,v.y,B*Math.abs(Math.cos(r))+Math.abs(y*Math.sin(r)),B*Math.abs(Math.sin(r))+Math.abs(y*Math.cos(r)));h?h.union(v):h=v}a=h}a&&(d=c.isHorizontal()?"height":"width",h=c.model.get(["axisLabel","margin"]),g[d]-=a[d]+h,"top"===c.position?g.y+=a.height+h:"left"===c.position&&(g.x+=a.width+h))}}),d());r(this._coordsList,function(c){c.calcAffineTransform()})};b.prototype.getAxis=function(a,c){var b=this._axesMap[a];if(null!=b)return b[c||0]};b.prototype.getAxes=function(){return this._axesList.slice()};b.prototype.getCartesian=function(a,c){if(null!=a&&null!=c)return this._coordsMap["x"+a+"y"+c];N(a)&&(c=a.yAxisIndex,a=a.xAxisIndex);for(var b=0,e=this._coordsList;b<e.length;b++)if(e[b].getAxis("x").index===a||e[b].getAxis("y").index===c)return e[b]};b.prototype.getCartesians=function(){return this._coordsList.slice()};b.prototype.convertToPixel=function(a,c,b){a=this._findConvertTarget(c);return a.cartesian?a.cartesian.dataToPoint(b):a.axis?a.axis.toGlobalCoord(a.axis.dataToCoord(b)):null};b.prototype.convertFromPixel=function(a,c,b){a=this._findConvertTarget(c);return a.cartesian?a.cartesian.pointToData(b):a.axis?a.axis.coordToData(a.axis.toLocalCoord(b)):null};b.prototype._findConvertTarget=function(a){var c=a.seriesModel,b=a.xAxisModel||c&&c.getReferringComponents("xAxis",Da).models[0],e=a.yAxisModel||c&&c.getReferringComponents("yAxis",Da).models[0];a=a.gridModel;var f=this._coordsList,g,h;c?(g=c.coordinateSystem,0>ba(f,g)&&(g=null)):b&&e?g=this.getCartesian(b.componentIndex,e.componentIndex):b?h=this.getAxis("x",b.componentIndex):e?h=this.getAxis("y",e.componentIndex):a&&a.coordinateSystem===this&&(g=this._coordsList[0]);return{cartesian:g,axis:h}};b.prototype.containPoint=function(a){var c=this._coordsList[0];if(c)return c.containPoint(a)};b.prototype._initCartesian=function(a,c,b){function d(c){return function(b,d){if(Cm(b,a)){var e=b.get("position");"x"===c?"top"!==e&&"bottom"!==e&&(e=h.bottom?"top":"bottom"):"left"!==e&&"right"!==e&&(e=h.left?"right":"left");h[e]=!0;e=new vK(c,Dg(b),[0,0],b.get("type"),e);e.onBand="category"===e.type&&b.get("boundaryGap");e.inverse=b.get("inverse");b.axis=e;e.model=b;e.grid=g;e.index=d;g._axesList.push(e);k[c][d]=e;l[c]++}}}var f=this,g=this,h={left:!1,right:!1,top:!1,bottom:!1},k={x:{},y:{}},l={x:0,y:0};c.eachComponent("xAxis",d("x"),this);c.eachComponent("yAxis",d("y"),this);l.x&&l.y?(this._axesMap=k,r(k.x,function(c,b){r(k.y,function(d,e){var g="x"+b+"y"+e,h=new uK(g);h.master=f;h.model=a;f._coordsMap[g]=h;f._coordsList.push(h);h.addAxis(c);h.addAxis(d)})})):(this._axesMap={},this._axesList=[])};b.prototype._updateScale=function(a,c){function b(c,a){r(Xi(c,a.dim),function(b){a.scale.unionExtentFromData(c,b)})}r(this._axesList,function(c){c.scale.setExtent(Infinity,-Infinity);if("category"===c.type){var a=c.model.get("categorySortInfo");c.scale.setSortInfo(a)}});a.eachSeries(function(a){if(eu(a)){var d=fu(a),e=d.xAxisModel,d=d.yAxisModel;Cm(e,c)&&Cm(d,c)&&(e=this.getCartesian(e.componentIndex,d.componentIndex),a=a.getData(),d=e.getAxis("x"),e=e.getAxis("y"),"list"===a.type&&(b(a,d),b(a,e)))}},this)};b.prototype.getTooltipAxes=function(a){var c=[],b=[];r(this.getCartesians(),function(d){var e=null!=a&&"auto"!==a?d.getAxis(a):d.getBaseAxis();d=d.getOtherAxis(e);0>ba(c,e)&&c.push(e);0>ba(b,d)&&b.push(d)});return{baseAxes:c,otherAxes:b}};b.create=function(a,c){var d=[];a.eachComponent("grid",function(e,f){var g=new b(e,a,c);g.name="grid_"+f;g.resize(e,c,!0);e.coordinateSystem=g;d.push(g)});a.eachSeries(function(c){if(eu(c)){var a=fu(c),b=a.xAxisModel,a=a.yAxisModel,d=b.getCoordSysModel();if(!d)throw Error('Grid "'+zb(b.get("gridIndex"),b.get("gridId"),0)+'" not found');if(b.getCoordSysModel()!==a.getCoordSysModel())throw Error("xAxis and yAxis must use the same grid");c.coordinateSystem=d.coordinateSystem.getCartesian(b.componentIndex,a.componentIndex)}});return d};b.dimensions=lp;return b}(),nd=Math.PI,mb=function(){function b(a,c){this.group=new M;this.opt=c;this.axisModel=a;K(c,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0,handleAutoShown:function(){return!0}});var b=new M({x:c.position[0],y:c.position[1],rotation:c.rotation});b.updateTransform();this._transformGroup=b}b.prototype.hasBuilder=function(a){return!!nz[a]};b.prototype.add=function(a){nz[a](this.opt,this.axisModel,this.group,this._transformGroup)};b.prototype.getGroup=function(){return this.group};b.innerTextLayout=function(a,c,b){a=Xk(c-a);ag(a)?(c=0<b?"top":"bottom",b="center"):ag(a-nd)?(c=0<b?"bottom":"top",b="center"):(c="middle",b=0<a&&a<nd?0<b?"right":"left":0<b?"left":"right");return{rotation:a,textAlign:b,textVerticalAlign:c}};b.makeAxisEventDataBase=function(a){var c={componentType:a.mainType,componentIndex:a.componentIndex};c[a.mainType+"Index"]=a.componentIndex;return c};b.isLabelSilent=function(a){var c=a.get("tooltip");return a.get("silent")||!(a.get("triggerEvent")||c&&c.show)};return b}(),nz={axisLine:function(b,a,c,d){var e=a.get(["axisLine","show"]);"auto"===e&&b.handleAutoShown&&(e=b.handleAutoShown("axisLine"));if(e){var e=a.axis.getExtent(),f=d.transform,g=[e[0],0];d=[e[1],0];f&&(Qa(g,g,f),Qa(d,d,f));var h=F({lineCap:"round"},a.getModel(["axisLine","lineStyle"]).getLineStyle()),e=new Ua({subPixelOptimize:!0,shape:{x1:g[0],y1:g[1],x2:d[0],y2:d[1]},style:h,strokeContainThreshold:b.strokeContainThreshold||5,silent:!0,z2:1});e.anid="line";c.add(e);var k=a.get(["axisLine","symbol"]),e=a.get(["axisLine","symbolSize"]);a=a.get(["axisLine","symbolOffset"])||0;"number"===typeof a&&(a=[a,a]);if(null!=k){"string"===typeof k&&(k=[k,k]);if("string"===typeof e||"number"===typeof e)e=[e,e];var l=e[0],m=e[1];r([{rotate:b.rotation+Math.PI/2,offset:a[0],r:0},{rotate:b.rotation-Math.PI/2,offset:a[1],r:Math.sqrt((g[0]-d[0])*(g[0]-d[0])+(g[1]-d[1])*(g[1]-d[1]))}],function(a,d){if("none"!==k[d]&&null!=k[d]){var e=Pa(k[d],-l/2,-m/2,l,m,h.stroke,!0),f=a.r+a.offset;e.attr({rotation:a.rotate,x:g[0]+f*Math.cos(b.rotation),y:g[1]-f*Math.sin(b.rotation),silent:!0,z2:11});c.add(e)}})}}},axisTickLabel:function(b,a,c,d){var e;e=a.axis;var f=a.getModel("axisTick"),g=f.get("show");"auto"===g&&b.handleAutoShown&&(g=b.handleAutoShown("axisTick"));if(!g||e.scale.isBlank())e=void 0;else for(g=f.getModel("lineStyle"),f=b.tickDirection*f.get("length"),e=e.getTicksCoords(),e=ju(e,d.transform,f,K(g.getLineStyle(),{stroke:a.get(["axisLine","lineStyle","color"])}),"ticks"),g=0;g<e.length;g++)c.add(e[g]);var h=jD(c,d,a,b),k=e;if(!pt(a.axis)){e=a.get(["axisLabel","showMinLabel"]);var g=a.get(["axisLabel","showMaxLabel"]),h=h||[],k=k||[],f=h[0],l=h[1],m=h[h.length-1],h=h[h.length-2],n=k[0],p=k[1],q=k[k.length-1],k=k[k.length-2];!1===e?(Ib(f),Ib(n)):iu(f,l)&&(e?(Ib(l),Ib(p)):(Ib(f),Ib(n)));!1===g?(Ib(m),Ib(q)):iu(h,m)&&(g?(Ib(h),Ib(k)):(Ib(m),Ib(q)))}e=b.tickDirection;b=a.axis;g=a.getModel("minorTick");if(g.get("show")&&!b.scale.isBlank()&&(b=b.getMinorTicksCoords(),b.length))for(f=g.getModel("lineStyle"),e*=g.get("length"),a=K(f.getLineStyle(),K(a.getModel("axisTick").getLineStyle(),{stroke:a.get(["axisLine","lineStyle","color"])})),g=0;g<b.length;g++)for(f=ju(b[g],d.transform,e,a,"minorticks_"+g),l=0;l<f.length;l++)c.add(f[l])},axisName:function(b,a,c,d){var e=Ba(b.axisName,a.get("name"));if(e){var f=a.get("nameLocation"),g=b.nameDirection,h=a.getModel("nameTextStyle"),k=a.get("nameGap")||0,l=a.axis.getExtent(),m=l[0]>l[1]?-1:1,k=["start"===f?l[0]-m*k:"end"===f?l[1]+m*k:(l[0]+l[1])/2,"middle"===f||"center"===f?b.labelOffset+g*k:0],m=a.get("nameRotate");null!=m&&(m=m*nd/180);var n;"middle"===f||"center"===f?f=mb.innerTextLayout(b.rotation,null!=m?m:b.rotation,g):(f=iD(b.rotation,f,m||0,l),n=b.axisNameAvailableWidth,null!=n&&(n=Math.abs(n/Math.sin(f.rotation)),!isFinite(n)&&(n=null)));g=h.getFont();m=a.get("nameTruncate",!0)||{};l=m.ellipsis;m=Ba(b.nameTruncateMaxWidth,m.maxWidth,n);b=a.get("tooltip",!0);var p=a.mainType;n={componentType:p,name:e,$vars:["name"]};n[p+"Index"]=a.componentIndex;h=new ha({x:k[0],y:k[1],rotation:f.rotation,silent:mb.isLabelSilent(a),style:Ja(h,{text:e,font:g,overflow:"truncate",width:m,ellipsis:l,fill:h.getTextColor()||a.get(["axisLine","lineStyle","color"]),align:h.get("align")||f.textAlign,verticalAlign:h.get("verticalAlign")||f.textVerticalAlign}),z2:1});h.tooltip=b&&b.show?F({content:e,formatter:function(){return e},formatterParams:n},b):null;h.__fullText=e;h.anid="name";a.get("triggerEvent")&&(a=mb.makeAxisEventDataBase(a),a.targetType="axisName",a.name=e,S(h).eventData=a);d.add(h);h.updateTransform();c.add(h);h.decomposeTransform()}}},mp={},le=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(c,a,e,f){if(this.axisPointerClass){var d=Fm(c);if(d){var h=d.axisPointerModel,k=d.axis.scale,l=h.option,m=h.get("status"),n=h.get("value");null!=n&&(n=k.parse(n));h=Dm(h);null==m&&(l.status=h?"show":"hide");k=k.getExtent().slice();k[0]>k[1]&&k.reverse();if(null==n||n>k[1])n=k[1];n<k[0]&&(n=k[0]);l.value=n;h&&(l.status=d.axis.scale.isBlank()?"hide":"show")}}b.prototype.render.apply(this,arguments);this._doUpdateAxisPointerClass(c,e,!0)};a.prototype.updateAxisPointer=function(c,a,b,f){this._doUpdateAxisPointerClass(c,b,!1)};a.prototype.remove=function(c,a){var b=this._axisPointer;b&&b.remove(a)};a.prototype.dispose=function(c,a){this._disposeAxisPointer(a);b.prototype.dispose.apply(this,arguments)};a.prototype._doUpdateAxisPointerClass=function(c,b,e){var d=a.getAxisPointerClass(this.axisPointerClass);if(d){var g;(g=(g=Fm(c))&&g.axisPointerModel)?(this._axisPointer||(this._axisPointer=new d)).render(c,g,b,e):this._disposeAxisPointer(b)}};a.prototype._disposeAxisPointer=function(c){this._axisPointer&&this._axisPointer.dispose(c);this._axisPointer=null};a.registerAxisPointerClass=function(c,a){if(mp[c])throw Error("axisPointer "+c+" exists");mp[c]=a};a.getAxisPointerClass=function(c){return c&&mp[c]};a.type="axis";return a}(na),aj=ma(),wK=["axisLine","axisTickLabel","axisName"],xK=["splitArea","splitLine","minorSplitLine"],oz=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.axisPointerClass="CartesianAxisPointer";return c}x(a,b);a.prototype.render=function(c,a,e,f){this.group.removeAll();var d=this._axisGroup;this._axisGroup=new M;this.group.add(this._axisGroup);if(c.get("show")){var h=c.getCoordSysModel(),k=Bm(h,c),k=new mb(c,F({handleAutoShown:function(a){a=h.coordinateSystem.getCartesians();for(var b=0;b<a.length;b++){var d=a[b].getOtherAxis(c.axis).type;if("value"===d||"log"===d)return!0}return!1}},k));r(wK,k.add,k);this._axisGroup.add(k.getGroup());r(xK,function(a){if(c.get([a,"show"]))yK[a](this,this._axisGroup,c,h)},this);jg(d,this._axisGroup,c);b.prototype.render.call(this,c,a,e,f)}};a.prototype.remove=function(){aj(this).splitAreaColors=null};a.type="cartesianAxis";return a}(le),yK={splitLine:function(b,a,c,d){b=c.axis;if(!b.scale.isBlank()){var e=c.getModel("splitLine"),f=e.getModel("lineStyle");c=f.get("color");c=A(c)?c:[c];d=d.coordinateSystem.getRect();for(var g=b.isHorizontal(),h=0,e=b.getTicksCoords({tickModel:e}),k=[],l=[],f=f.getLineStyle(),m=0;m<e.length;m++){var n=b.toGlobalCoord(e[m].coord);g?(k[0]=n,k[1]=d.y,l[0]=n,l[1]=d.y+d.height):(k[0]=d.x,k[1]=n,l[0]=d.x+d.width,l[1]=n);n=h++%c.length;a.add(new Ua({anid:null!=e[m].tickValue?"line_"+e[m].tickValue:null,subPixelOptimize:!0,autoBatch:!0,shape:{x1:k[0],y1:k[1],x2:l[0],y2:l[1]},style:K({stroke:c[n]},f),silent:!0}))}}},minorSplitLine:function(b,a,c,d){b=c.axis;var e=c.getModel("minorSplitLine").getModel("lineStyle");d=d.coordinateSystem.getRect();c=b.isHorizontal();var f=b.getMinorTicksCoords();if(f.length)for(var g=[],h=[],e=e.getLineStyle(),k=0;k<f.length;k++)for(var l=0;l<f[k].length;l++){var m=b.toGlobalCoord(f[k][l].coord);c?(g[0]=m,g[1]=d.y,h[0]=m,h[1]=d.y+d.height):(g[0]=d.x,g[1]=m,h[0]=d.x+d.width,h[1]=m);a.add(new Ua({anid:"minor_line_"+f[k][l].tickValue,subPixelOptimize:!0,autoBatch:!0,shape:{x1:g[0],y1:g[1],x2:h[0],y2:h[1]},style:e,silent:!0}))}},splitArea:function(b,a,c,d){ku(b,a,c,d)}},nu=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="xAxis";return a}(oz),qD=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=nu.type;return c}x(a,b);a.type="yAxis";return a}(oz),nD=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type="grid";return c}x(a,b);a.prototype.render=function(c,a){this.group.removeAll();c.get("show")&&this.group.add(new Z({shape:c.coordinateSystem.getRect(),style:K({fill:c.get("backgroundColor")},c.getItemStyle()),silent:!0,z2:-1}))};a.type="grid";return a}(na),mu={offset:0},zK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(c,a,b){function d(a,b,d,e,f,g){d.removeAll();for(var h=0;h<b.length-1;h++){var k;k=e;var l=f,m=k.getItemVisual(l,"symbol")||"circle";if("none"===m)k=void 0;else{var n;n=k.getItemVisual(l,"symbolSize");A(n)||(n=[+n,+n]);m=Pa(m,-1,-1,2,2);k=k.getItemVisual(l,"symbolRotate")||0;m.attr({style:{strokeNoScale:!0},z2:100,scaleX:n[0]/2,scaleY:n[1]/2,rotation:k*Math.PI/180||0});k=m}k&&(k.__dimIdx=h,a[h]?(k.setPosition(a[h]),Yg[g?"initProps":"updateProps"](k,{x:b[h][0],y:b[h][1]},c,f)):k.setPosition(b[h]),d.add(k))}}function e(c){return C(c,function(c){return[h.cx,h.cy]})}var h=c.coordinateSystem,k=this.group,l=c.getData(),m=this._data;l.diff(m).add(function(a){var b=l.getItemLayout(a);if(b){var f=new bb,g=new kb,h={shape:{points:b}};f.shape.points=e(b);g.shape.points=e(b);za(f,h,c,a);za(g,h,c,a);var h=new M,k=new M;h.add(g);h.add(f);h.add(k);d(g.shape.points,b,k,l,a,!0);l.setItemGraphicEl(a,h)}}).update(function(a,b){var e=m.getItemGraphicEl(b),f=e.childAt(0),g=e.childAt(1),h=e.childAt(2),k={shape:{points:l.getItemLayout(a)}};k.shape.points&&(d(f.shape.points,k.shape.points,h,l,a,!1),ea(f,k,c),ea(g,k,c),l.setItemGraphicEl(a,e))}).remove(function(c){k.remove(m.getItemGraphicEl(c))}).execute();l.eachItemGraphicEl(function(c,a){var b=l.getItemModel(a),d=c.childAt(0),e=c.childAt(1),f=c.childAt(2),g=l.getItemVisual(a,"style"),h=g.fill;k.add(c);d.useStyle(K(b.getModel("lineStyle").getLineStyle(),{fill:"none",stroke:h}));Fa(d,b,"lineStyle");Fa(e,b,"areaStyle");var d=b.getModel("areaStyle"),m=d.isEmpty()&&d.parentModel.isEmpty();e.ignore=m;r(["emphasis","select","blur"],function(c){var a=b.getModel([c,"areaStyle"]),a=a.isEmpty()&&a.parentModel.isEmpty();e.ensureState(c).ignore=a&&m});e.useStyle(K(d.getAreaStyle(),{fill:h,opacity:.7,decal:g.decal}));var d=b.getModel("emphasis"),n=d.getModel("itemStyle").getItemStyle();f.eachChild(function(c){if(c instanceof Ga){var d=c.style;c.useStyle(F({image:d.image,x:d.x,y:d.y,width:d.width,height:d.height},g))}else c.useStyle(g),c.setColor(h);c.ensureState("emphasis").style=J(n);d=l.get(l.dimensions[c.__dimIdx],a);(null==d||isNaN(d))&&(d="");cb(c,Ra(b),{labelFetcher:l.hostModel,labelDataIndex:a,labelDimIndex:c.__dimIdx,defaultText:d,inheritColor:h,defaultOpacity:g.opacity})});va(c,d.get("focus"),d.get("blurScope"))});this._data=l};a.prototype.remove=function(){this.group.removeAll();this._data=null};a.type="radar";return a}(oa),AK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.useColorPaletteOnData=!0;c.hasSymbolVisual=!0;return c}x(a,b);a.prototype.init=function(c){b.prototype.init.apply(this,arguments);this.legendVisualProvider=new Gh(I(this.getData,this),I(this.getRawData,this))};a.prototype.getInitialData=function(c,a){return of(this,{generateCoord:"indicator_",generateCoordCount:Infinity})};a.prototype.formatTooltip=function(c,a,b){var d=this.getData();a=this.coordinateSystem.getIndicatorAxes();b=this.getData().getName(c);b=""===b?this.name:b;var e=ls(this,c);return Ha("section",{header:b,sortBlocks:!0,blocks:C(a,function(a){var b=d.get(d.mapDimension(a.dim),c);return Ha("nameValue",{markerType:"subItem",markerColor:e,name:a.name,value:b,sortParam:b})})})};a.prototype.getTooltipPosition=function(c){if(null!=c){var a=this.getData(),b=this.coordinateSystem;c=a.getValues(C(b.dimensions,function(c){return a.mapDimension(c)}),c);for(var f=0,g=c.length;f<g;f++)if(!isNaN(c[f]))return g=b.getIndicatorAxes(),b.coordToPoint(g[f].dataToCoord(c[f]),f)}};a.type="series.radar";a.dependencies=["radar"];a.defaultOption={zlevel:0,z:2,coordinateSystem:"radar",legendHoverLink:!0,radarIndex:0,lineStyle:{width:2,type:"solid"},label:{position:"top"},symbol:"emptyCircle",symbolSize:4};return a}(ra),Hh=cu.value,vD=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.optionUpdated=function(){var c=this.get("boundaryGap"),a=this.get("splitNumber"),b=this.get("scale"),f=this.get("axisLine"),g=this.get("axisTick"),h=this.get("axisLabel"),k=this.get("axisName"),l=this.get(["axisName","show"]),m=this.get(["axisName","formatter"]),n=this.get("axisNameGap"),p=this.get("triggerEvent");this._indicatorModels=C(this.get("indicator")||[],function(d){null!=d.max&&0<d.max&&!d.min?d.min=0:null!=d.min&&0>d.min&&!d.max&&(d.max=0);var e=k;null!=d.color&&(e=K({color:d.color},k));d=U(J(d),{boundaryGap:c,splitNumber:a,scale:b,axisLine:f,axisTick:g,axisLabel:h,name:d.text,nameLocation:"end",nameGap:n,nameTextStyle:e,triggerEvent:p},!1);l||(d.name="");"string"===typeof m?(e=d.name,d.name=m.replace("{value}",null!=e?e:"")):"function"===typeof m&&(d.name=m(d.name,d));d=new la(d,null,this.ecModel);wa(d,Lf.prototype);d.mainType="radar";d.componentIndex=this.componentIndex;return d},this)};a.prototype.getIndicatorModels=function(){return this._indicatorModels};a.type="radar";a.defaultOption={zlevel:0,z:0,center:["50%","50%"],radius:"75%",startAngle:90,axisName:{show:!0},boundaryGap:[0,0],splitNumber:5,axisNameGap:15,scale:!1,shape:"polygon",axisLine:U({lineStyle:{color:"#bbb"}},Hh.axisLine),axisLabel:K({show:!1},Hh.axisLabel),axisTick:K({show:!1},Hh.axisTick),splitLine:K({show:!0},Hh.splitLine),splitArea:K({show:!0},Hh.splitArea),indicator:[]};return a}(W),BK=["axisLine","axisTickLabel","axisName"],wD=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(c,a,b){this.group.removeAll();this._buildAxes(c);this._buildSplitLineAndArea(c)};a.prototype._buildAxes=function(c){var a=c.coordinateSystem;c=a.getIndicatorAxes();c=C(c,function(c){return new mb(c.model,{position:[a.cx,a.cy],rotation:c.angle,labelDirection:-1,tickDirection:-1,nameDirection:1})});r(c,function(c){r(BK,c.add,c);this.group.add(c.getGroup())},this)};a.prototype._buildSplitLineAndArea=function(c){function a(c,a,b){a=b%a.length;c[a]=c[a]||[];return a}var b=c.coordinateSystem,f=b.getIndicatorAxes();if(f.length){var g=c.get("shape"),h=c.getModel("splitLine"),k=c.getModel("splitArea");c=h.getModel("lineStyle");var l=k.getModel("areaStyle"),h=h.get("show"),k=k.get("show"),m=c.get("color"),n=l.get("color"),p=A(m)?m:[m],q=A(n)?n:[n],m=[],n=[];if("circle"===g)for(var f=f[0].getTicksCoords(),t=b.cx,u=b.cy,g=0;g<f.length;g++){if(h){var w=a(m,p,g);m[w].push(new Nb({shape:{cx:t,cy:u,r:f[g].coord}}))}k&&g<f.length-1&&(w=a(n,q,g),n[w].push(new Hf({shape:{cx:t,cy:u,r0:f[g].coord,r:f[g+1].coord}})))}else for(var v,t=C(f,function(c,a){var d=c.getTicksCoords();v=null==v?d.length-1:Math.min(d.length-1,v);return C(d,function(c){return b.coordToPoint(c.coord,a)})}),u=[],g=0;g<=v;g++){for(var z=[],w=0;w<f.length;w++)z.push(t[w][g]);z[0]?z.push(z[0].slice()):console.error("Can't draw value axis "+g);h&&(w=a(m,p,g),m[w].push(new kb({shape:{points:z}})));k&&u&&(w=a(n,q,g-1),n[w].push(new bb({shape:{points:z.concat(u)}})));u=z.slice().reverse()}var B=c.getLineStyle(),y=l.getAreaStyle();r(n,function(c,a){this.group.add(xb(c,{style:K({stroke:"none",fill:q[a%q.length]},y),silent:!0}))},this);r(m,function(c,a){this.group.add(xb(c,{style:K({fill:"none",stroke:p[a%p.length]},B),silent:!0}))},this)}};a.type="radar";return a}(na),CK=function(b){function a(c,a,e){c=b.call(this,c,a,e)||this;c.type="value";c.angle=0;c.name="";return c}x(a,b);return a}(Pb),uD=function(){function b(a,c,b){this.dimensions=[];this._model=a;this._indicatorAxes=C(a.getIndicatorModels(),function(c,a){var b="indicator_"+a,d=new CK(b,new Zd);d.name=c.get("name");d.model=c;c.axis=d;this.dimensions.push(b);return d},this);this.resize(a,b)}b.prototype.getIndicatorAxes=function(){return this._indicatorAxes};b.prototype.dataToPoint=function(a,c){return this.coordToPoint(this._indicatorAxes[c].dataToCoord(a),c)};b.prototype.coordToPoint=function(a,c){var b=this._indicatorAxes[c].angle;return[this.cx+a*Math.cos(b),this.cy-a*Math.sin(b)]};b.prototype.pointToData=function(a){var c=a[0]-this.cx,b=a[1]-this.cy;a=Math.sqrt(c*c+b*b);for(var c=Math.atan2(-(b/a),c/a),b=Infinity,e,f=-1,g=0;g<this._indicatorAxes.length;g++){var h=this._indicatorAxes[g],k=Math.abs(c-h.angle);k<b&&(e=h,f=g,b=k)}return[f,+(e&&e.coordToData(a))]};b.prototype.resize=function(a,c){var b=a.get("center"),e=c.getWidth(),f=c.getHeight(),g=Math.min(e,f)/2;this.cx=H(b[0],e);this.cy=H(b[1],f);this.startAngle=a.get("startAngle")*Math.PI/180;b=a.get("radius");if("string"===typeof b||"number"===typeof b)b=[0,b];this.r0=H(b[0],g);this.r=H(b[1],g);r(this._indicatorAxes,function(c,a){c.setExtent(this.r0,this.r);var b=this.startAngle+a*Math.PI*2/this._indicatorAxes.length,b=Math.atan2(Math.sin(b),Math.cos(b));c.angle=b},this)};b.prototype.update=function(a,c){function b(c){var a=Math.pow(10,Math.floor(Math.log(c)/Math.LN10));c/=a;return(2===c?5:2*c)*a}var e=this._indicatorAxes,f=this._model;r(e,function(c){c.scale.setExtent(Infinity,-Infinity)});a.eachSeriesByType("radar",function(c,b){if("radar"===c.get("coordinateSystem")&&a.getComponent("radar",c.get("radarIndex"))===f){var d=c.getData();r(e,function(c){c.scale.unionExtentFromData(d,d.mapDimension(c.dim))})}},this);var g=f.get("splitNumber");r(e,function(c,a){var d=ot(c.scale,c.model).extent;jd(c.scale,c.model);var e=c.model,f=c.scale,h=jf(f,e.get("min",!0)),k=jf(f,e.get("max",!0)),e=f.getInterval();if(null!=h&&null!=k)f.setExtent(+h,+k),f.setInterval((k-h)/g);else if(null!=h){do k=h+e*g,f.setExtent(+h,k),f.setInterval(e),e=b(e);while(k<d[1]&&isFinite(k)&&isFinite(d[1]))}else if(null!=k){do h=k-e*g,f.setExtent(h,+k),f.setInterval(e),e=b(e);while(h>d[0]&&isFinite(h)&&isFinite(d[0]))}else f.getTicks().length-1>g&&(e=b(e)),k=Math.ceil(d[1]/e)*e,h=sa(k-e*g),f.setExtent(h,k),f.setInterval(e)})};b.prototype.convertToPixel=function(a,c,b){console.warn("Not implemented.");return null};b.prototype.convertFromPixel=function(a,c,b){console.warn("Not implemented.");return null};b.prototype.containPoint=function(a){console.warn("Not implemented.");return!1};b.create=function(a,c){var d=[];a.eachComponent("radar",function(e){var f=new b(e,a,c);d.push(f);e.coordinateSystem=f});a.eachSeriesByType("radar",function(c){"radar"===c.get("coordinateSystem")&&(c.coordinateSystem=d[c.get("radarIndex")||0])});return d};b.dimensions=[];return b}();ac({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},function(){});for(var fh=function(b){function a(c){var a=b.call(this)||this;a._zr=c;var e=I(a._mousedownHandler,a),f=I(a._mousemoveHandler,a),g=I(a._mouseupHandler,a),h=I(a._mousewheelHandler,a),k=I(a._pinchHandler,a);a.enable=function(a,b){this.disable();this._opt=K(J(b)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0});null==a&&(a=!0);if(!0===a||"move"===a||"pan"===a)c.on("mousedown",e),c.on("mousemove",f),c.on("mouseup",g);if(!0===a||"scale"===a||"zoom"===a)c.on("mousewheel",h),c.on("pinch",k)};a.disable=function(){c.off("mousedown",e);c.off("mousemove",f);c.off("mouseup",g);c.off("mousewheel",h);c.off("pinch",k)};return a}x(a,b);a.prototype.isDragging=function(){return this._dragging};a.prototype.isPinching=function(){return this._pinching};a.prototype.setPointerChecker=function(c){this.pointerChecker=c};a.prototype.dispose=function(){this.disable()};a.prototype._mousedownHandler=function(c){if(!(2===c.which||3===c.which||c.target&&c.target.draggable)){var a=c.offsetX,b=c.offsetY;this.pointerChecker&&this.pointerChecker(c,a,b)&&(this._x=a,this._y=b,this._dragging=!0)}};a.prototype._mousemoveHandler=function(c){if(this._dragging&&Lg("moveOnMouseMove",c,this._opt)&&"pinch"!==c.gestureEvent&&!bj(this._zr).globalPan){var a=c.offsetX,b=c.offsetY,f=this._x,g=this._y,h=a-f,k=b-g;this._x=a;this._y=b;this._opt.preventDefaultMouseMove&&Bc(c.event);a={dx:h,dy:k,oldX:f,oldY:g,newX:a,newY:b,isAvailableBehavior:null};a.isAvailableBehavior=I(Lg,null,"moveOnMouseMove",c);this.trigger("pan",a)}};a.prototype._mouseupHandler=function(c){2!==c.which&&3!==c.which&&(this._dragging=!1)};a.prototype._mousewheelHandler=function(c){var a=Lg("zoomOnMouseWheel",c,this._opt),b=Lg("moveOnMouseWheel",c,this._opt),f=c.wheelDelta,g=Math.abs(f),h=c.offsetX,k=c.offsetY;0!==f&&(a||b)&&(a&&(a=3<g?1.4:1<g?1.2:1.1,Hm(this,"zoom","zoomOnMouseWheel",c,{scale:0<f?a:1/a,originX:h,originY:k,isAvailableBehavior:null})),b&&(b=Math.abs(f),Hm(this,"scrollMove","moveOnMouseWheel",c,{scrollDelta:(0<f?1:-1)*(3<b?.4:1<b?.15:.05),originX:h,originY:k,isAvailableBehavior:null})))};a.prototype._pinchHandler=function(c){bj(this._zr).globalPan||Hm(this,"zoom",null,c,{scale:1<c.pinchScale?1.1:1/1.1,originX:c.pinchX,originY:c.pinchY,isAvailableBehavior:null})};return a}($b),zD={axisPointer:1,tooltip:1,brush:1},Km=[126,25],bc=[[[0,3.5],[7,11.2],[15,11.9],[30,7],[42,.7],[52,.7],[56,7.7],[59,.7],[64,.7],[64,0],[5,0],[0,3.5]],[[13,16.1],[19,14.7],[16,21.7],[11,23.1],[13,16.1]],[[12,32.2],[14,38.5],[15,38.5],[13,32.2],[12,32.2]],[[16,47.6],[12,53.2],[13,53.2],[18,47.6],[16,47.6]],[[6,64.4],[8,70],[9,70],[8,64.4],[6,64.4]],[[23,82.6],[29,79.8],[30,79.8],[25,82.6],[23,82.6]],[[37,70.7],[43,62.3],[44,62.3],[39,70.7],[37,70.7]],[[48,51.1],[51,45.5],[53,45.5],[50,51.1],[48,51.1]],[[51,35],[51,28.7],[53,28.7],[53,35],[51,35]],[[52,22.4],[55,17.5],[56,17.5],[53,22.4],[52,22.4]],[[58,12.6],[62,7],[63,7],[60,12.6],[58,12.6]],[[0,3.5],[0,93.1],[64,93.1],[64,0],[63,0],[63,92.4],[1,92.4],[1,3.5],[0,3.5]]],gc=0;gc<bc.length;gc++)for(var Ac=0;Ac<bc[gc].length;Ac++)bc[gc][Ac][0]/=10.5,bc[gc][Ac][1]/=-14,bc[gc][Ac][0]+=Km[0],bc[gc][Ac][1]+=Km[1];var DK={"\u5357\u6d77\u8bf8\u5c9b":[32,80],"\u5e7f\u4e1c":[0,-10],"\u9999\u6e2f":[10,5],"\u6fb3\u95e8":[-10,10],"\u5929\u6d25":[5,5]},EK={Russia:[100,60],"United States":[-99,38],"United States of America":[-99,38]},FK=[[[123.45165252685547,25.73527164402261],[123.49731445312499,25.73527164402261],[123.49731445312499,25.750734064600884],[123.45165252685547,25.750734064600884],[123.45165252685547,25.73527164402261]]],pz=ma(),od=/[\s,]+/,qz,GD=function(){function b(){this._defs={};this._root=null;this._isText=this._isDefine=!1}b.prototype.parse=function(a,c){c=c||{};var b=xs(a);if(!b)throw Error("Illegal svg");var e=new M;this._root=e;var f=b.getAttribute("viewBox")||"",g=parseFloat(b.getAttribute("width")||c.width),h=parseFloat(b.getAttribute("height")||c.height);isNaN(g)&&(g=null);isNaN(h)&&(h=null);wb(b,e,null,!0);for(b=b.firstChild;b;)this._parseNode(b,e),b=b.nextSibling;var k,l;f&&(f=Va(f).split(od),4<=f.length&&(k={x:parseFloat(f[0]||0),y:parseFloat(f[1]||0),width:parseFloat(f[2]),height:parseFloat(f[3])}));k&&null!=g&&null!=h&&(l=su(k,g,h),c.ignoreViewBox||(f=e,e=new M,e.add(f),f.scaleX=f.scaleY=l.scale,f.x=l.x,f.y=l.y));c.ignoreRootClip||null==g||null==h||e.setClipPath(new Z({shape:{x:0,y:0,width:g,height:h}}));return{root:e,width:g,height:h,viewBoxRect:k,viewBoxTransform:l}};b.prototype._parseNode=function(a,c){var b=a.nodeName.toLowerCase();"defs"===b?this._isDefine=!0:"text"===b&&(this._isText=!0);var e;if(this._isDefine){var f=GK[b];if(f){var f=f.call(this,a),g=a.getAttribute("id");g&&(this._defs[g]=f)}}else if(f=qz[b])e=f.call(this,a,c),c.add(e);if(e)for(f=a.firstChild;f;)1===f.nodeType&&this._parseNode(f,e),3===f.nodeType&&this._isText&&this._parseText(f,e),f=f.nextSibling;"defs"===b?this._isDefine=!1:"text"===b&&(this._isText=!1)};b.prototype._parseText=function(a,c){if(1===a.nodeType){var b=a.getAttribute("dx")||0,e=a.getAttribute("dy")||0;this._textX+=parseFloat(b);this._textY+=parseFloat(e)}b=new Vd({style:{text:a.textContent},x:this._textX||0,y:this._textY||0});Jb(c,b);wb(a,b,this._defs);var e=b.style,f=e.fontSize;f&&9>f&&(e.fontSize=9,b.scaleX*=f/9,b.scaleY*=f/9);f=(e.fontSize||e.fontFamily)&&[e.fontStyle,e.fontWeight,(e.fontSize||12)+"px",e.fontFamily||"sans-serif"].join(" ");e.font=f;e=b.getBoundingRect();this._textX+=e.width;c.add(b);return b};b.internalField=function(){qz={g:function(a,c){var b=new M;Jb(c,b);wb(a,b,this._defs);return b},rect:function(a,c){var b=new Z;Jb(c,b);wb(a,b,this._defs);b.setShape({x:parseFloat(a.getAttribute("x")||"0"),y:parseFloat(a.getAttribute("y")||"0"),width:parseFloat(a.getAttribute("width")||"0"),height:parseFloat(a.getAttribute("height")||"0")});return b},circle:function(a,c){var b=new Nb;Jb(c,b);wb(a,b,this._defs);b.setShape({cx:parseFloat(a.getAttribute("cx")||"0"),cy:parseFloat(a.getAttribute("cy")||"0"),r:parseFloat(a.getAttribute("r")||"0")});return b},line:function(a,c){var b=new Ua;Jb(c,b);wb(a,b,this._defs);b.setShape({x1:parseFloat(a.getAttribute("x1")||"0"),y1:parseFloat(a.getAttribute("y1")||"0"),x2:parseFloat(a.getAttribute("x2")||"0"),y2:parseFloat(a.getAttribute("y2")||"0")});return b},ellipse:function(a,c){var b=new nh;Jb(c,b);wb(a,b,this._defs);b.setShape({cx:parseFloat(a.getAttribute("cx")||"0"),cy:parseFloat(a.getAttribute("cy")||"0"),rx:parseFloat(a.getAttribute("rx")||"0"),ry:parseFloat(a.getAttribute("ry")||"0")});return b},polygon:function(a,c){var b=a.getAttribute("points"),e;b&&(e=pu(b));b=new bb({shape:{points:e||[]}});Jb(c,b);wb(a,b,this._defs);return b},polyline:function(a,c){var b=new Y;Jb(c,b);wb(a,b,this._defs);var b=a.getAttribute("points"),e;b&&(e=pu(b));return new kb({shape:{points:e||[]}})},image:function(a,c){var b=new Ga;Jb(c,b);wb(a,b,this._defs);b.setStyle({image:a.getAttribute("xlink:href"),x:+a.getAttribute("x"),y:+a.getAttribute("y"),width:+a.getAttribute("width"),height:+a.getAttribute("height")});return b},text:function(a,c){var b=a.getAttribute("x")||"0",e=a.getAttribute("y")||"0",f=a.getAttribute("dx")||"0",g=a.getAttribute("dy")||"0";this._textX=parseFloat(b)+parseFloat(f);this._textY=parseFloat(e)+parseFloat(g);b=new M;Jb(c,b);wb(a,b,this._defs);return b},tspan:function(a,c){var b=a.getAttribute("x"),e=a.getAttribute("y");null!=b&&(this._textX=parseFloat(b));null!=e&&(this._textY=parseFloat(e));var b=a.getAttribute("dx")||0,e=a.getAttribute("dy")||0,f=new M;Jb(c,f);wb(a,f,this._defs);this._textX+=b;this._textY+=e;return f},path:function(a,c){var b=a.getAttribute("d")||"",b=new vl(tl(b,void 0));Jb(c,b);wb(a,b,this._defs);return b}}}();return b}(),GK={lineargradient:function(b){var a=parseInt(b.getAttribute("x1")||"0",10),c=parseInt(b.getAttribute("y1")||"0",10),d=parseInt(b.getAttribute("x2")||"10",10),e=parseInt(b.getAttribute("y2")||"0",10),a=new mf(a,c,d,e);for(b=b.firstChild;b;)1===b.nodeType&&(c=b.getAttribute("offset"),c=0<c.indexOf("%")?parseInt(c,10)/100:c?parseFloat(c):0,d=b.getAttribute("stop-color")||"#000000",a.colorStops.push({offset:c,color:d})),b=b.nextSibling;return a}},qf={fill:"fill",stroke:"stroke","stroke-width":"lineWidth",opacity:"opacity","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","stroke-dasharray":"lineDash","stroke-dashoffset":"lineDashOffset","stroke-linecap":"lineCap","stroke-linejoin":"lineJoin","stroke-miterlimit":"miterLimit","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","text-align":"textAlign","alignment-baseline":"textBaseline"},ED=/url\(\s*#(.*?)\)/,FD=/(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.e,]*)\)/g,ru=/([^\s:;]+)\s*:\s*([^:;]+)/g,Mf=ma(),np={geoJSON:{load:function(b,a,c){var d=pz(a).parsed;if(d)return d;var e=a.specialAreas||{},d=a.geoJSON,f;try{f=d?sm(d,c):[]}catch(g){throw Error("Invalid geoJson format\n"+g.message);}AD(b,f);r(f,function(c){var a=c.name;if("china"===b){var d=DK[c.name];if(d){var f=c.center;f[0]+=d[0]/10.5;f[1]+=-d[1]/14}}"world"===b&&(d=EK[c.name])&&(f=c.center,f[0]=d[0],f[1]=d[1]);"china"===b&&"\u53f0\u6e7e"===c.name&&c.geometries.push({type:"polygon",exterior:FK[0]});(a=e[a])&&c.transformTo(a.left,a.top,a.width,a.height)});return pz(a).parsed={regions:f,boundingRect:BD(f)}}},svg:{load:function(b,a){var c=Mf(a).originRoot;if(c)return{root:c,boundingRect:Mf(a).boundingRect};c=tu(a);Mf(a).originRoot=c.root;Mf(a).boundingRect=c.boundingRect;return c},makeGraphic:function(b,a,c){b=Mf(a);var d=b.rootMap||(b.rootMap=R()),e=d.get(c);if(e)return e;var e=b.originRoot,f=b.boundingRect;b.originRootHostKey?e=tu(a,f).root:b.originRootHostKey=c;return d.set(c,e)},removeGraphic:function(b,a,c){b=Mf(a);(a=b.rootMap)&&a.removeKey(c);c===b.originRootHostKey&&(b.originRootHostKey=null)}}},Ih={load:function(b,a,c){var d=[],e=R(),f=R(),g,h=Lm(b);r(h,function(h){h=np[h.type].load(b,h,c);r(h.regions,function(c){var b=c.name;a&&a.hasOwnProperty(b)&&(c=c.cloneShallow(b=a[b]));d.push(c);e.set(b,c);f.set(b,c.center)});(h=h.boundingRect)&&(g?g.union(h):g=h.clone())});return{regions:d,regionsMap:e,nameCoordMap:f,boundingRect:g||new aa(0,0,0,0)}},makeGraphic:function(b,a){var c=Lm(b),d=[];r(c,function(c){var e=np[c.type].makeGraphic;e&&d.push(e(b,c,a))});return d},removeGraphic:function(b,a){var c=Lm(b);r(c,function(c){var d=np[c.type].makeGraphic;d&&d(b,c,a)})}},rz=function(){function b(a){var c=new M;this.uid=$e("ec_map_draw");this._controller=new fh(a.getZr());this._controllerHost={target:c};this.group=c;c.add(this._regionsGroup=new M);c.add(this._backgroundGroup=new M)}b.prototype.draw=function(a,c,b,e,f){var d="geo"===a.mainType,h=a.getData&&a.getData();d&&c.eachComponent({mainType:"series",subType:"map"},function(c){h||c.getHostGeoModel()!==a||(h=c.getData())});var k=a.coordinateSystem;this._updateBackground(k);var l=this._regionsGroup,m=this.group,n=k.getTransformInfo(),p=!l.childAt(0)||f,q,t;if(p)m.transform=n.roamTransform,m.decomposeTransform(),m.dirty();else{f=new Dc;f.transform=n.roamTransform;f.decomposeTransform();var u={scaleX:f.scaleX,scaleY:f.scaleY,x:f.x,y:f.y};q=f.scaleX;t=f.scaleY;ea(m,u,a)}l.removeAll();var w=R(),v=h&&h.getVisual("visualMeta")&&0<h.getVisual("visualMeta").length;r(k.regions,function(c){var e=w.get(c.name)||w.set(c.name,new M),f=new Io({segmentIgnoreThreshold:1,shape:{paths:[]}});e.add(f);var g=a.getRegionModel(c.name)||a,k=g.getModel("itemStyle"),u=g.getModel("emphasis"),z=u.getModel("itemStyle"),x=g.getModel(["blur","itemStyle"]),A=g.getModel(["select","itemStyle"]),k=dj(k),z=dj(z),x=dj(x),A=dj(A),C;if(h){C=h.indexOfName(c.name);var F=h.getItemVisual(C,"style"),H=h.getItemVisual(C,"decal");v&&F.fill&&(k.fill=F.fill);H&&(k.decal=yg(H,b))}var I=n.rawScaleX,J=n.rawScaleY,K=n.rawX,N=n.rawY,O=function(c){return[c[0]*I+K,c[1]*J+N]};r(c.geometries,function(c){if("polygon"===c.type){for(var a=[],b=0;b<c.exterior.length;++b)a.push(O(c.exterior[b]));f.shape.paths.push(new bb({segmentIgnoreThreshold:1,shape:{points:a}}));for(b=0;b<(c.interiors?c.interiors.length:0);++b){for(var a=c.interiors[b],d=[],e=0;e<a.length;++e)d.push(O(a[e]));f.shape.paths.push(new bb({segmentIgnoreThreshold:1,shape:{points:d}}))}}});f.setStyle(k);f.style.strokeNoScale=!0;f.culling=!0;f.ensureState("emphasis").style=z;f.ensureState("blur").style=x;f.ensureState("select").style=A;k=!1;for(z=0;z<Nd.length;z++)if(A=Nd[z],g.get("normal"===A?["label","show"]:[A,"label","show"])){k=!0;break}z=h&&isNaN(h.get(h.mapDimension("value"),C));A=h&&h.getItemLayout(C);if(d||z&&k||A&&A.showLabel){k=d?c.name:C;z=void 0;if(!h||0<=C)z=a;A=O(c.center);A=new ha({x:A[0],y:A[1],scaleX:1/m.scaleX,scaleY:1/m.scaleY,z2:10,silent:!0});cb(A,Ra(g),{labelFetcher:z,labelDataIndex:k,defaultText:c.name},{normal:{align:"center",verticalAlign:"middle"}});f.setTextContent(A);f.setTextConfig({local:!0});f.disableLabelAnimation=!0;p||ea(A,{scaleX:1/q,scaleY:1/t},a)}h?h.setItemGraphicEl(C,e):(g=a.getRegionModel(c.name),S(f).eventData={componentType:"geo",componentIndex:a.componentIndex,geoIndex:a.componentIndex,name:c.name,region:g&&g.option||{}});(e.__regions||(e.__regions=[])).push(c);e.highDownSilentOnTouch=!!a.get("selectedMode");va(e,u.get("focus"),u.get("blurScope"));l.add(e)});this._updateController(a,c,b);this._updateMapSelectHandler(a,l,b,e)};b.prototype.remove=function(){this._regionsGroup.removeAll();this._backgroundGroup.removeAll();this._controller.dispose();this._mapName&&Ih.removeGraphic(this._mapName,this.uid);this._controllerHost=this._mapName=null};b.prototype._updateBackground=function(a){a=a.map;this._mapName!==a&&r(Ih.makeGraphic(a,this.uid),function(c){this._backgroundGroup.add(c)},this);this._mapName=a};b.prototype._updateController=function(a,c,b){function d(){var c={type:"geoRoam",componentType:h};c[h+"Id"]=a.id;return c}var f=a.coordinateSystem;c=this._controller;var g=this._controllerHost;g.zoomLimit=a.get("scaleLimit");g.zoom=f.getZoom();c.enable(a.get("roam")||!1);var h=a.mainType;c.off("pan").on("pan",function(c){this._mouseDownFlag=!1;Im(g,c.dx,c.dy);b.dispatchAction(F(d(),{dx:c.dx,dy:c.dy}))},this);c.off("zoom").on("zoom",function(c){this._mouseDownFlag=!1;Jm(g,c.scale,c.originX,c.originY);b.dispatchAction(F(d(),{zoom:c.scale,originX:c.originX,originY:c.originY}));var a=this.group;this._regionsGroup.traverse(function(c){if(c=c.getTextContent())c.scaleX=1/a.scaleX,c.scaleY=1/a.scaleY,c.markRedraw()})},this);c.setPointerChecker(function(c,d,e){return f.getViewRectAfterRoam().contain(d,e)&&!cj(c,b,a)})};b.prototype._updateMapSelectHandler=function(a,c,b,e){var d=this;c.off("mousedown");a.get("selectedMode")&&(c.on("mousedown",function(){d._mouseDownFlag=!0}),c.on("click",function(c){d._mouseDownFlag&&(d._mouseDownFlag=!1)}))};return b}(),HK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(c,a,b,f){if(!f||"mapToggleSelect"!==f.type||f.from!==this.uid){var d=this.group;d.removeAll();if(!c.getHostGeoModel()){if(f&&"geoRoam"===f.type&&"series"===f.componentType&&f.seriesId===c.id)(e=this._mapDraw)&&d.add(e.group);else if(c.needsDrawMap){var e=this._mapDraw||new rz(b);d.add(e.group);e.draw(c,a,b,this,f);this._mapDraw=e}else this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;c.get("showLegendSymbol")&&a.getComponent("legend")&&this._renderSymbols(c,a,b)}}};a.prototype.remove=function(){this._mapDraw&&this._mapDraw.remove();this._mapDraw=null;this.group.removeAll()};a.prototype.dispose=function(){this._mapDraw&&this._mapDraw.remove();this._mapDraw=null};a.prototype._renderSymbols=function(c,a,b){var d=c.originalData,e=this.group;d.each(d.mapDimension("value"),function(a,b){if(!isNaN(a)){var f=d.getItemLayout(b);if(f&&f.point){var g=f.point,f=f.offset,h=new Nb({style:{fill:c.getData().getVisual("style").fill},shape:{cx:g[0]+9*f,cy:g[1],r:3},silent:!0,z2:8+(f?0:11)});if(!f){var g=c.mainSeries.getData(),f=d.getName(b),k=g.indexOfName(f),f=d.getItemModel(b),q=f.getModel("label"),g=g.getItemGraphicEl(k);cb(h,Ra(f),{labelFetcher:{getFormattedLabel:function(a,b){return c.getFormattedLabel(k,b)}}});h.disableLabelAnimation=!0;q.get("position")||h.setTextConfig({position:"bottom"});g.onHoverStateChange=function(c){h.useState(c)}}e.add(h)}}})};a.type="map";return a}(oa),IK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.needsDrawMap=!1;c.seriesGroup=[];c.getTooltipPosition=function(c){if(null!=c){var a=this.getData().getName(c);c=this.coordinateSystem;return(a=c.getRegion(a))&&c.dataToPoint(a.center)}};return c}x(a,b);a.prototype.getInitialData=function(c){c=of(this,{coordDimensions:["value"],encodeDefaulter:P(Il,this)});for(var a=R(),b=[],f=0,g=c.count();f<g;f++){var h=c.getName(f);a.set(h,!0)}f=Ih.load(this.getMapType(),this.option.nameMap,this.option.nameProperty);r(f.regions,function(c){c=c.name;a.get(c)||b.push(c)});c.appendValues([],b);return c};a.prototype.getHostGeoModel=function(){var c=this.option.geoIndex;return null!=c?this.ecModel.getComponent("geo",c):null};a.prototype.getMapType=function(){return(this.getHostGeoModel()||this).option.map};a.prototype.getRawValue=function(c){var a=this.getData();return a.get(a.mapDimension("value"),c)};a.prototype.getRegionModel=function(c){var a=this.getData();return a.getItemModel(a.indexOfName(c))};a.prototype.formatTooltip=function(c,a,b){a=this.getData();b=this.getRawValue(c);c=a.getName(c);for(var d=this.seriesGroup,e=[],h=0;h<d.length;h++){var k=d[h].originalData.indexOfName(c),l=a.mapDimension("value");isNaN(d[h].originalData.get(l,k))||e.push(d[h].name)}return Ha("section",{header:e.join(", "),noHeader:!e.length,blocks:[Ha("nameValue",{name:c,value:b})]})};a.prototype.setZoom=function(c){this.option.zoom=c};a.prototype.setCenter=function(c){this.option.center=c};a.type="series.map";a.dependencies=["geo"];a.layoutMode="box";a.defaultOption={zlevel:0,z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:.75,showLegendSymbol:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,selectedMode:!0,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}},select:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},nameProperty:"name"};return a}(ra),tf=function(b){function a(c){var a=b.call(this)||this;a.type="view";a.dimensions=["x","y"];a._roamTransformable=new Dc;a._rawTransformable=new Dc;a.name=c;return a}x(a,b);a.prototype.setBoundingRect=function(c,a,b,f){return this._rect=new aa(c,a,b,f)};a.prototype.getBoundingRect=function(){return this._rect};a.prototype.setViewRect=function(c,a,b,f){this.transformTo(c,a,b,f);this._viewRect=new aa(c,a,b,f)};a.prototype.transformTo=function(c,a,b,f){var d=this.getBoundingRect(),e=this._rawTransformable;e.transform=d.calculateTransform(new aa(c,a,b,f));e.decomposeTransform();this._updateTransform()};a.prototype.setCenter=function(c){c&&(this._center=c,this._updateCenterAndZoom())};a.prototype.setZoom=function(c){c=c||1;var a=this.zoomLimit;a&&(null!=a.max&&(c=Math.min(a.max,c)),null!=a.min&&(c=Math.max(a.min,c)));this._zoom=c;this._updateCenterAndZoom()};a.prototype.getDefaultCenter=function(){var c=this.getBoundingRect();return[c.x+c.width/2,c.y+c.height/2]};a.prototype.getCenter=function(){return this._center||this.getDefaultCenter()};a.prototype.getZoom=function(){return this._zoom||1};a.prototype.getRoamTransform=function(){return this._roamTransformable.getLocalTransform()};a.prototype._updateCenterAndZoom=function(){var c=this._rawTransformable.getLocalTransform(),a=this._roamTransformable,b=this.getDefaultCenter(),f=this.getCenter(),g=this.getZoom(),f=Qa([],f,c),b=Qa([],b,c);a.originX=f[0];a.originY=f[1];a.x=b[0]-f[0];a.y=b[1]-f[1];a.scaleX=a.scaleY=g;this._updateTransform()};a.prototype._updateTransform=function(){var c=this._roamTransformable,a=this._rawTransformable;a.parent=c;c.updateTransform();a.updateTransform();Je(this.transform||(this.transform=[]),a.transform||nb());this._rawTransform=a.getLocalTransform();this.invTransform=this.invTransform||[];Ke(this.invTransform,this.transform);this.decomposeTransform()};a.prototype.getTransformInfo=function(){var c=this._roamTransformable.transform,a=this._rawTransformable;return{roamTransform:c?Nf(c):nb(),rawScaleX:a.scaleX,rawScaleY:a.scaleY,rawX:a.x,rawY:a.y}};a.prototype.getViewRect=function(){return this._viewRect};a.prototype.getViewRectAfterRoam=function(){var c=this.getBoundingRect().clone();c.applyTransform(this.transform);return c};a.prototype.dataToPoint=function(c,a,b){a=a?this._rawTransform:this.transform;b=b||[];return a?Qa(b,c,a):Na(b,c)};a.prototype.pointToData=function(c){var a=this.invTransform;return a?Qa([],c,a):[c[0],c[1]]};a.prototype.convertToPixel=function(c,a,b){c=vu(a);return c===this?c.dataToPoint(b):null};a.prototype.convertFromPixel=function(c,a,b){c=vu(a);return c===this?c.pointToData(b):null};a.prototype.containPoint=function(c){return this.getViewRectAfterRoam().contain(c[0],c[1])};a.dimensions=["x","y"];return a}(Dc),JK=function(){return function(){this.parentPoint=[];this.childPoints=[]}}(),QD=function(b){function a(c){return b.call(this,c)||this}x(a,b);a.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}};a.prototype.getDefaultShape=function(){return new JK};a.prototype.buildPath=function(c,a){var b=a.childPoints,d=b.length,g=a.parentPoint,h=b[0],k=b[d-1];if(1===d)c.moveTo(g[0],g[1]),c.lineTo(h[0],h[1]);else{var l=a.orient,l="TB"===l||"BT"===l?0:1,m=1-l,n=H(a.forkPosition,1),p=[];p[l]=g[l];p[m]=g[m]+(k[m]-g[m])*n;c.moveTo(g[0],g[1]);c.lineTo(p[0],p[1]);c.moveTo(h[0],h[1]);p[l]=h[l];c.lineTo(p[0],p[1]);p[l]=k[l];c.lineTo(p[0],p[1]);c.lineTo(k[0],k[1]);for(g=1;g<d-1;g++)h=b[g],c.moveTo(h[0],h[1]),p[l]=h[l],c.lineTo(p[0],p[1])}};return a}(Y),KK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c._mainGroup=new M;return c}x(a,b);a.prototype.init=function(c,a){this._controller=new fh(a.getZr());this._controllerHost={target:this.group};this.group.add(this._mainGroup)};a.prototype.render=function(c,a,b){var d=c.getData(),e=c.layoutInfo,h=this._mainGroup;"radial"===c.get("layout")?(h.x=e.x+e.width/2,h.y=e.y+e.height/2):(h.x=e.x,h.y=e.y);this._updateViewCoordSys(c);this._updateController(c,a,b);var k=this._data;d.diff(k).add(function(a){wu(d,a)&&xu(d,a,null,h,c)}).update(function(a,b){var e=k.getItemGraphicEl(b);wu(d,a)?xu(d,a,e,h,c):e&&yu(k,b,e,h,c)}).remove(function(a){var b=k.getItemGraphicEl(a);b&&yu(k,a,b,h,c)}).execute();this._nodeScaleRatio=c.get("nodeScaleRatio");this._updateNodeAndLinkScale(c);!0===c.get("expandAndCollapse")&&d.eachItemGraphicEl(function(a,d){a.off("click").on("click",function(){b.dispatchAction({type:"treeExpandAndCollapse",seriesId:c.id,dataIndex:d})})});this._data=d};a.prototype._updateViewCoordSys=function(c){var a=c.getData(),b=[];a.each(function(c){c=a.getItemLayout(c);!c||isNaN(c.x)||isNaN(c.y)||b.push([+c.x,+c.y])});var f=[],g=[];hl(b,f,g);var h=this._min,k=this._max;0===g[0]-f[0]&&(f[0]=h?h[0]:f[0]-1,g[0]=k?k[0]:g[0]+1);0===g[1]-f[1]&&(f[1]=h?h[1]:f[1]-1,g[1]=k?k[1]:g[1]+1);h=c.coordinateSystem=new tf;h.zoomLimit=c.get("scaleLimit");h.setBoundingRect(f[0],f[1],g[0]-f[0],g[1]-f[1]);h.setCenter(c.get("center"));h.setZoom(c.get("zoom"));this.group.attr({x:h.x,y:h.y,scaleX:h.scaleX,scaleY:h.scaleY});this._min=f;this._max=g};a.prototype._updateController=function(c,a,b){var d=this;a=this._controller;var e=this._controllerHost,h=this.group;a.setPointerChecker(function(a,d,e){var f=h.getBoundingRect();f.applyTransform(h.transform);return f.contain(d,e)&&!cj(a,b,c)});a.enable(c.get("roam"));e.zoomLimit=c.get("scaleLimit");e.zoom=c.coordinateSystem.getZoom();a.off("pan").off("zoom").on("pan",function(a){Im(e,a.dx,a.dy);b.dispatchAction({seriesId:c.id,type:"treeRoam",dx:a.dx,dy:a.dy})}).on("zoom",function(a){Jm(e,a.scale,a.originX,a.originY);b.dispatchAction({seriesId:c.id,type:"treeRoam",zoom:a.scale,originX:a.originX,originY:a.originY});d._updateNodeAndLinkScale(c);b.updateLabelLayout()})};a.prototype._updateNodeAndLinkScale=function(c){var a=c.getData(),b=this._getNodeGlobalScale(c);a.eachItemGraphicEl(function(c,a){c.setSymbolScale(b)})};a.prototype._getNodeGlobalScale=function(c){c=c.coordinateSystem;if("view"!==c.type)return 1;var a=this._nodeScaleRatio,b=c.scaleX||1;return((c.getZoom()-1)*a+1)/b};a.prototype.dispose=function(){this._controller&&this._controller.dispose();this._controllerHost=null};a.prototype.remove=function(){this._mainGroup.removeAll();this._data=null};a.type="tree";return a}(oa),Kb=ma(),LK=function(){function b(a,c){this.height=this.depth=0;this.dataIndex=-1;this.children=[];this.viewChildren=[];this.isExpand=!1;this.name=a||"";this.hostTree=c}b.prototype.isRemoved=function(){return 0>this.dataIndex};b.prototype.eachNode=function(a,c,b){"function"===typeof a&&(b=c,c=a,a=null);a=a||{};da(a)&&(a={order:a});var d=a.order||"preorder",f=this[a.attr||"children"],g;"preorder"===d&&(g=c.call(b,this));for(var h=0;!g&&h<f.length;h++)f[h].eachNode(a,c,b);"postorder"===d&&c.call(b,this)};b.prototype.updateDepthAndHeight=function(a){var c=0;this.depth=a;for(var b=0;b<this.children.length;b++){var e=this.children[b];e.updateDepthAndHeight(a+1);e.height>c&&(c=e.height)}this.height=c+1};b.prototype.getNodeById=function(a){if(this.getId()===a)return this;for(var c=0,b=this.children,e=b.length;c<e;c++){var f=b[c].getNodeById(a);if(f)return f}};b.prototype.contains=function(a){if(a===this)return!0;for(var c=0,b=this.children,e=b.length;c<e;c++){var f=b[c].contains(a);if(f)return f}};b.prototype.getAncestors=function(a){var c=[];for(a=a?this:this.parentNode;a;)c.push(a),a=a.parentNode;c.reverse();return c};b.prototype.getAncestorsIndices=function(){for(var a=[],c=this;c;)a.push(c.dataIndex),c=c.parentNode;a.reverse();return a};b.prototype.getDescendantIndices=function(){var a=[];this.eachNode(function(c){a.push(c.dataIndex)});return a};b.prototype.getValue=function(a){var c=this.hostTree.data;return c.get(c.getDimension(a||"value"),this.dataIndex)};b.prototype.setLayout=function(a,c){0<=this.dataIndex&&this.hostTree.data.setItemLayout(this.dataIndex,a,c)};b.prototype.getLayout=function(){return this.hostTree.data.getItemLayout(this.dataIndex)};b.prototype.getModel=function(a){if(!(0>this.dataIndex))return this.hostTree.data.getItemModel(this.dataIndex).getModel(a)};b.prototype.getLevelModel=function(){return(this.hostTree.levelModels||[])[this.depth]};b.prototype.setVisual=function(a,c){0<=this.dataIndex&&this.hostTree.data.setItemVisual(this.dataIndex,a,c)};b.prototype.getVisual=function(a){return this.hostTree.data.getItemVisual(this.dataIndex,a)};b.prototype.getRawIndex=function(){return this.hostTree.data.getRawIndex(this.dataIndex)};b.prototype.getId=function(){return this.hostTree.data.getId(this.dataIndex)};b.prototype.isAncestorOf=function(a){for(a=a.parentNode;a;){if(a===this)return!0;a=a.parentNode}return!1};b.prototype.isDescendantOf=function(a){return a!==this&&a.isAncestorOf(this)};return b}(),op=function(){function b(a){this.type="tree";this._nodes=[];this.hostModel=a}b.prototype.eachNode=function(a,c,b){this.root.eachNode(a,c,b)};b.prototype.getNodeByDataIndex=function(a){a=this.data.getRawIndex(a);return this._nodes[a]};b.prototype.getNodeById=function(a){return this.root.getNodeById(a)};b.prototype.update=function(){for(var a=this.data,c=this._nodes,b=0,e=c.length;b<e;b++)c[b].dataIndex=-1;b=0;for(e=a.count();b<e;b++)c[a.getRawIndex(b)].dataIndex=b};b.prototype.clearLayouts=function(){this.data.clearItemLayouts()};b.createTree=function(a,c,d){function e(c,a){var b=c.value;h=Math.max(h,A(b)?b.length:1);g.push(c);b=new LK(Ea(c.name,""),f);a?b.parentNode!==a&&(a.children.push(b),b.parentNode=a):f.root=b;f._nodes.push(b);var d=c.children;if(d)for(var k=0;k<d.length;k++)e(d[k],b)}var f=new b(c),g=[],h=1;e(a);f.root.updateDepthAndHeight(0);a=gf(g,{coordDimensions:["value"],dimensionsCount:h});c=new Wa(a,c);c.initData(g);d&&d(c);zu({mainData:c,struct:f,structAttr:"tree"});f.update();return f};return b}(),MK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.hasSymbolVisual=!0;c.ignoreStyleOnData=!0;return c}x(a,b);a.prototype.getInitialData=function(c){var a={name:c.name,children:c.data},b=new la(c.leaves||{},this,this.ecModel),f=op.createTree(a,this,function(c){c.wrapMethod("getItemModel",function(c,a){var d=f.getNodeByDataIndex(a);d.children.length&&d.isExpand||(c.parentModel=b);return c})}),g=0;f.eachNode("preorder",function(c){c.depth>g&&(g=c.depth)});var h=c.expandAndCollapse&&0<=c.initialTreeDepth?c.initialTreeDepth:g;f.root.eachNode("preorder",function(c){var a=c.hostTree.data.getRawDataItem(c.dataIndex);c.isExpand=a&&null!=a.collapsed?!a.collapsed:c.depth<=h});return f.data};a.prototype.getOrient=function(){var c=this.get("orient");"horizontal"===c?c="LR":"vertical"===c&&(c="TB");return c};a.prototype.setZoom=function(c){this.option.zoom=c};a.prototype.setCenter=function(c){this.option.center=c};a.prototype.formatTooltip=function(c,a,b){b=this.getData().tree;a=b.root.children[0];c=b.getNodeByDataIndex(c);b=c.getValue();for(var d=c.name;c&&c!==a;)d=c.parentNode.name+"."+d,c=c.parentNode;return Ha("nameValue",{name:d,value:b,noValue:isNaN(b)||null==b})};a.type="series.tree";a.layoutMode="box";a.defaultOption={zlevel:0,z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",edgeShape:"curve",edgeForkPosition:"50%",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderColor:"#c23531",borderWidth:1.5},label:{show:!0},animationEasing:"linear",animationDuration:700,animationDurationUpdate:500};return a}(ra),bE=function(){},Cu=["treemapZoomToNode","treemapRender","treemapMove"],NK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.preventUsingHoverLayer=!0;return c}x(a,b);a.prototype.getInitialData=function(c,a){var b={name:c.name,children:c.data};Eu(b);var d=c.levels||[],g=this.designatedVisualItemStyle={},h=new la({itemStyle:g},this,a),d=c.levels=cE(d,a),k=C(d||[],function(c){return new la(c,h,a)},this),l=op.createTree(b,this,function(c){c.wrapMethod("getItemModel",function(c,a){var b=l.getNodeByDataIndex(a);c.parentModel=k[b.depth]||h;return c})});return l.data};a.prototype.optionUpdated=function(){this.resetViewRoot()};a.prototype.formatTooltip=function(c,a,b){b=this.getData();a=this.getRawValue(c);c=b.getName(c);return Ha("nameValue",{name:c,value:a})};a.prototype.getDataParams=function(c){var a=b.prototype.getDataParams.apply(this,arguments),e=this.getData().tree.getNodeByDataIndex(c);a.treePathInfo=Sm(e,this);return a};a.prototype.setLayoutInfo=function(c){this.layoutInfo=this.layoutInfo||{};F(this.layoutInfo,c)};a.prototype.mapIdToIndex=function(c){var a=this._idIndexMap;a||(a=this._idIndexMap=R(),this._idIndexMapCount=0);var b=a.get(c);null==b&&a.set(c,b=this._idIndexMapCount++);return b};a.prototype.getViewRoot=function(){return this._viewRoot};a.prototype.resetViewRoot=function(c){c?this._viewRoot=c:c=this._viewRoot;var a=this.getRawData().tree.root;if(!c||c!==a&&!a.contains(c))this._viewRoot=a};a.prototype.enableAriaDecal=function(){Du(this)};a.type="series.treemap";a.layoutMode="box";a.defaultOption={progressive:0,left:"center",top:"middle",width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"\u25b6",zoomToNodeRatio:.1024,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",textStyle:{color:"#fff"}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",overflow:"truncate"},upperLabel:{show:!1,position:[0,"50%"],height:20,overflow:"truncate",verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],ellipsis:!0,verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]};return a}(ra),OK=function(){function b(a){this.group=new M;a.add(this.group)}b.prototype.render=function(a,c,b,e){var d=a.getModel("breadcrumb"),g=this.group;g.removeAll();if(d.get("show")&&b){var h=d.getModel("itemStyle"),k=h.getModel("textStyle");c={pos:{left:d.get("left"),right:d.get("right"),top:d.get("top"),bottom:d.get("bottom")},box:{width:c.getWidth(),height:c.getHeight()},emptyItemWidth:d.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(b,c,k);this._renderContent(a,c,h,k,e);Bi(g,c.pos,c.box)}};b.prototype._prepare=function(a,c,b){for(;a;a=a.parentNode){var d=Ea(a.getModel().get("name"),""),f=b.getTextRect(d),f=Math.max(f.width+16,c.emptyItemWidth);c.totalWidth+=f+8;c.renderList.push({node:a,text:d,width:f})}};b.prototype._renderContent=function(a,c,b,e,f){var d,h=0,k=c.emptyItemWidth,l=a.get(["breadcrumb","height"]);d=c.pos;var m=c.box,n=void 0,p=m.width,q=m.height,m=H(d.left,p),t=H(d.top,q),u=H(d.right,p),q=H(d.bottom,q);(isNaN(m)||isNaN(parseFloat(d.left)))&&(m=0);(isNaN(u)||isNaN(parseFloat(d.right)))&&(u=p);isNaN(t)||isNaN(parseFloat(d.top));isNaN(q)||isNaN(parseFloat(d.bottom));n=Od(n||0);d=Math.max(u-m-n[1]-n[3],0);n=c.totalWidth;c=c.renderList;for(p=c.length-1;0<=p;p--){u=c[p];t=u.node;m=u.width;u=u.text;n>d&&(n-=m-k,m=k,u=null);var q=h,w=l,r=p===c.length-1,z=[[r?q:q-5,0],[q+m,0],[q+m,0+w],[r?q:q-5,0+w]];0!==p&&z.splice(2,0,[q+m+5,0+w/2]);!r&&z.push([q,0+w/2]);u=new bb({shape:{points:z},style:K(b.getItemStyle(),{lineJoin:"bevel"}),textContent:new ha({style:{text:u,fill:e.getTextColor(),font:e.getFont()}}),textConfig:{position:"inside"},z:10,onclick:P(f,t)});u.disableLabelAnimation=!0;this.group.add(u);q=a;S(u).eventData={componentType:"series",componentSubType:"treemap",componentIndex:q.componentIndex,seriesIndex:q.componentIndex,seriesName:q.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:t&&t.dataIndex,name:t&&t.name},treePathInfo:t&&Sm(t,q)};h+=m+8}};b.prototype.remove=function(){this.group.removeAll()};return b}(),PK=function(){function b(){this._storage=[];this._elExistsMap={}}b.prototype.add=function(a,c,b,e,f){if(this._elExistsMap[a.id])return!1;this._elExistsMap[a.id]=!0;this._storage.push({el:a,target:c,duration:b,delay:e,easing:f});return!0};b.prototype.finished=function(a){this._finishedCallback=a;return this};b.prototype.start=function(){for(var a=this,c=this._storage.length,b=function(){c--;0>=c&&(a._storage.length=0,a._elExistsMap={},a._finishedCallback&&a._finishedCallback())},e=0,f=this._storage.length;e<f;e++){var g=this._storage[e];g.el.animateTo(g.target,{duration:g.duration,delay:g.delay,easing:g.easing,setToFinal:!0,done:b,aborted:b})}return this};return b}(),Tm=M,Gu=Z,ce=Kd([["fill","color"],["stroke","strokeColor"],["lineWidth","strokeWidth"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),Fu=function(b){b=ce(b);b.stroke=b.fill=b.lineWidth=null;return b},ej=ma(),QK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c._state="ready";c._storage=Pg();return c}x(a,b);a.prototype.render=function(c,a,b,f){var d=a.findComponents({mainType:"series",subType:"treemap",query:f});if(!(0>ba(d,c))){this.seriesModel=c;this.api=b;this.ecModel=a;a=Og(f,["treemapZoomToNode","treemapRootToNode"],c);var d=f&&f.type,e=c.layoutInfo,k=!this._oldTree,l=this._storage;f="treemapRootToNode"===d&&a&&l?{rootNodeGroup:l.nodeGroup[a.node.getRawIndex()],direction:f.direction}:null;e=this._giveContainerGroup(e);l=this._doRender(e,c,f);k||d&&"treemapZoomToNode"!==d&&"treemapRootToNode"!==d?l.renderFinally():this._doAnimation(e,l,c,f);this._resetController(b);this._renderBreadcrumb(c,b,a)}};a.prototype._giveContainerGroup=function(c){var a=this._containerGroup;a||(a=this._containerGroup=new Tm,this._initEvents(a),this.group.add(a));a.x=c.x;a.y=c.y;return a};a.prototype._doRender=function(c,a,b){function d(c,e,f,g,h){function p(c){return c.getId()}function q(p,q){var t=null!=p?c[p]:null,u=null!=q?e[q]:null,w=dE(a,l,m,b,k,n,t,u,f,h);w&&d(t&&t.viewChildren||[],u&&u.viewChildren||[],w,g,h+1)}g?(e=c,r(c,function(c,a){!c.isRemoved()&&q(a,a)})):(new sd(e,c,p,p)).add(q).update(q).remove(P(q,null)).execute()}var e=a.getData().tree,h=this._oldTree,k=Pg(),l=Pg(),m=this._storage,n=[];d(e.root?[e.root]:[],h&&h.root?[h.root]:[],c,e===h||!h,0);var p=function(c){var a=Pg();c&&r(c,function(c,b){var d=a[b];r(c,function(c){c&&(d.push(c),ej(c).willDelete=!0)})});return a}(m);this._oldTree=e;this._storage=l;return{lastsForAnimation:k,willDeleteEls:p,renderFinally:function(){r(p,function(c){r(c,function(c){c.parent&&c.parent.remove(c)})});r(n,function(c){c.invisible=!0;c.dirty()})}}};a.prototype._doAnimation=function(c,a,b,f){if(b.get("animation")){c=b.get("animationDurationUpdate");b=b.get("animationEasing");var d=(fa(c)?0:c)||0,e=(fa(b)?null:b)||"cubicOut",k=new PK;r(a.willDeleteEls,function(c,a){r(c,function(c,b){if(!c.invisible){var g=c.parent,h;h=ej(g);if(f&&"drillDown"===f.direction)h=g===f.rootNodeGroup?{shape:{x:0,y:0,width:h.nodeWidth,height:h.nodeHeight},style:{opacity:0}}:{style:{opacity:0}};else{var l=g=0;h.willDelete||(g=h.nodeWidth/2,l=h.nodeHeight/2);h="nodeGroup"===a?{x:g,y:l,style:{opacity:0}}:{shape:{x:g,y:l,width:0,height:0},style:{opacity:0}}}h&&k.add(c,h,d,0,e)}})});r(this._storage,function(c,b){r(c,function(c,f){var g=a.lastsForAnimation[b][f],h={};g&&(c instanceof M?null!=g.oldX&&(h.x=c.x,h.y=c.y,c.x=g.oldX,c.y=g.oldY):(g.oldShape&&(h.shape=F({},c.shape),c.setShape(g.oldShape)),g.fadein?(c.setStyle("opacity",0),h.style={opacity:1}):1!==c.style.opacity&&(h.style={opacity:1})),k.add(c,h,d,0,e))})},this);this._state="animating";k.finished(I(function(){this._state="ready";a.renderFinally()},this)).start()}};a.prototype._resetController=function(c){var a=this._controller;a||(a=this._controller=new fh(c.getZr()),a.enable(this.seriesModel.get("roam")),a.on("pan",I(this._onPan,this)),a.on("zoom",I(this._onZoom,this)));var b=new aa(0,0,c.getWidth(),c.getHeight());a.setPointerChecker(function(c,a,d){return b.contain(a,d)})};a.prototype._clearController=function(){var c=this._controller;c&&c.dispose()};a.prototype._onPan=function(c){if("animating"!==this._state&&(3<Math.abs(c.dx)||3<Math.abs(c.dy))){var a=this.seriesModel.getData().tree.root;a&&(a=a.getLayout())&&this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:a.x+c.dx,y:a.y+c.dy,width:a.width,height:a.height}})}};a.prototype._onZoom=function(c){var a=c.originX,b=c.originY;if("animating"!==this._state){var f=this.seriesModel.getData().tree.root;if(f&&(f=f.getLayout())){var f=new aa(f.x,f.y,f.width,f.height),g=this.seriesModel.layoutInfo,a=a-g.x,b=b-g.y,g=nb();Rb(g,g,[-a,-b]);Vh(g,g,[c.scale,c.scale]);Rb(g,g,[a,b]);f.applyTransform(g);this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:f.x,y:f.y,width:f.width,height:f.height}})}}};a.prototype._initEvents=function(c){var a=this;c.on("click",function(c){if("ready"===a._state){var b=a.seriesModel.get("nodeClick",!0);if(b&&(c=a.findTarget(c.offsetX,c.offsetY))){var d=c.node;d.getLayout().isLeafRoot?a._rootToNode(c):"zoomToNode"===b?a._zoomToNode(c):"link"===b&&(c=d.hostTree.data.getItemModel(d.dataIndex),b=c.get("link",!0),c=c.get("target",!0)||"blank",b&&Ai(b,c))}}},this)};a.prototype._renderBreadcrumb=function(c,a,b){var d=this;b||(b=null!=c.get("leafDepth",!0)?{node:c.getViewRoot()}:this.findTarget(a.getWidth()/2,a.getHeight()/2))||(b={node:c.getData().tree.root});(this._breadcrumb||(this._breadcrumb=new OK(this.group))).render(c,a,b.node,function(a){"animating"!==d._state&&(Rm(c.getViewRoot(),a)?d._rootToNode({node:a}):d._zoomToNode({node:a}))})};a.prototype.remove=function(){this._clearController();this._containerGroup&&this._containerGroup.removeAll();this._storage=Pg();this._state="ready";this._breadcrumb&&this._breadcrumb.remove()};a.prototype.dispose=function(){this._clearController()};a.prototype._zoomToNode=function(c){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:c.node})};a.prototype._rootToNode=function(c){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:c.node})};a.prototype.findTarget=function(c,a){var b;this.seriesModel.getViewRoot().eachNode({attr:"viewChildren",order:"preorder"},function(d){var e=this._storage.background[d.getRawIndex()];if(e){var f=e.transformCoordToLocal(c,a),e=e.shape;if(e.x<=f[0]&&f[0]<=e.x+e.width&&e.y<=f[1]&&f[1]<=e.y+e.height)b={node:d,offsetX:f[0],offsetY:f[1]};else return!1}},this);return b};a.type="treemap";return a}(oa),Qg=r,RK=N,La=function(){function b(a){var c=a.mappingMethod,d=a.type;a=this.option=J(a);this.type=d;this.mappingMethod=c;this._normalizeData=SK[c];d=b.visualHandlers[d];this.applyVisual=d.applyVisual;this.getColorMapper=d.getColorMapper;this._normalizedToVisual=d._normalizedToVisual[c];"piecewise"===c?(Um(a),eE(a)):"category"===c?a.categories?fE(a):Um(a,!0):(O("linear"!==c||a.dataExtent),Um(a))}b.prototype.mapValueToVisual=function(a){var c=this._normalizeData(a);return this._normalizedToVisual(c,a)};b.prototype.getNormalizer=function(){return I(this._normalizeData,this)};b.listVisualTypes=function(){return ia(b.visualHandlers)};b.isValidType=function(a){return b.visualHandlers.hasOwnProperty(a)};b.eachVisual=function(a,c,b){N(a)?r(a,c,b):c.call(b,a)};b.mapVisual=function(a,c,d){var e,f=A(a)?[]:N(a)?{}:(e=!0,null);b.eachVisual(a,function(a,b){var g=c.call(d,a,b);e?f=g:f[b]=g});return f};b.retrieveVisuals=function(a){var c={},d;a&&Qg(b.visualHandlers,function(b,f){a.hasOwnProperty(f)&&(c[f]=a[f],d=!0)});return d?c:null};b.prepareVisualTypes=function(a){if(A(a))a=a.slice();else if(RK(a)){var c=[];Qg(a,function(a,b){c.push(b)});a=c}else return[];a.sort(function(c,a){return"color"===a&&"color"!==c&&0===c.indexOf("color")?1:-1});return a};b.dependsOn=function(a,c){return"color"===c?!(!a||0!==a.indexOf(c)):a===c};b.findPieceIndex=function(a,c,b){function d(c,b){var d=Math.abs(c-a);d<g&&(g=d,f=b)}for(var f,g=Infinity,h=0,k=c.length;h<k;h++){var l=c[h].value;if(null!=l){if(l===a||"string"===typeof l&&l===a+"")return h;b&&d(l,h)}}h=0;for(k=c.length;h<k;h++){var m=c[h],l=m.interval,m=m.close;if(l){if(-Infinity===l[0]){if(gj(m[1],a,l[1]))return h}else if(Infinity===l[1]){if(gj(m[0],l[0],a))return h}else if(gj(m[0],l[0],a)&&gj(m[1],a,l[1]))return h;b&&d(l[0],h);b&&d(l[1],h)}}if(b)return Infinity===a?c.length-1:-Infinity===a?0:f};b.visualHandlers={color:{applyVisual:Rg("color"),getColorMapper:function(){var a=this.option;return I("category"===a.mappingMethod?function(c,a){!a&&(c=this._normalizeData(c));return Sg.call(this,c)}:function(c,b,e){var d=!!e;!b&&(c=this._normalizeData(c));e=Tf(c,a.parsedVisual,e);return d?e:Tb(e,"rgba")},this)},_normalizedToVisual:{linear:function(a){return Tb(Tf(a,this.option.parsedVisual),"rgba")},category:Sg,piecewise:function(a,c){var b=Wm.call(this,c);null==b&&(b=Tb(Tf(a,this.option.parsedVisual),"rgba"));return b},fixed:ee}},colorHue:fj(function(a,c){return Ne(a,c)}),colorSaturation:fj(function(a,c){return Ne(a,null,c)}),colorLightness:fj(function(a,c){return Ne(a,null,null,c)}),colorAlpha:fj(function(a,c){return Uf(a,c)}),decal:{applyVisual:Rg("decal"),_normalizedToVisual:{linear:null,category:Sg,piecewise:null,fixed:null}},opacity:{applyVisual:Rg("opacity"),_normalizedToVisual:Vm([0,1])},liftZ:{applyVisual:Rg("liftZ"),_normalizedToVisual:{linear:ee,category:ee,piecewise:ee,fixed:ee}},symbol:{applyVisual:function(a,c,b){a=this.mapValueToVisual(a);b("symbol",a)},_normalizedToVisual:{linear:Iu,category:Sg,piecewise:function(a,c){var b=Wm.call(this,c);null==b&&(b=Iu.call(this,a));return b},fixed:ee}},symbolSize:{applyVisual:Rg("symbolSize"),_normalizedToVisual:Vm([0,1])}};return b}(),SK={linear:function(b){return ga(b,this.option.dataExtent,[0,1],!0)},piecewise:function(b){var a=this.option.pieceList;b=La.findPieceIndex(b,a,!0);if(null!=b)return ga(b,[0,a.length-1],[0,1],!0)},category:function(b){b=this.option.categories?this.option.categoryMap[b]:b;return null==b?-1:b},fixed:hc},Lu=ma(),TK={seriesType:"treemap",reset:function(b){var a=b.getData().tree.root;a.isRemoved()||Ju(a,{},b.getViewRoot().getAncestors(),b)}},Tg=Math.max,hj=Math.min,Zm=r,Nu=["itemStyle","borderWidth"],iE=["itemStyle","gapWidth"],pE=["upperLabel","show"],qE=["upperLabel","height"],UK={seriesType:"treemap",reset:function(b,a,c,d){a=c.getWidth();var e=c.getHeight(),f=b.option;c=Aa(b.getBoxLayoutParams(),{width:c.getWidth(),height:c.getHeight()});var g=f.size||[],h=H(Ba(c.width,g[0]),a),k=H(Ba(c.height,g[1]),e),l=d&&d.type,g=Og(d,["treemapZoomToNode","treemapRootToNode"],b);d="treemapRender"===l||"treemapMove"===l?d.rootRect:null;var m=b.getViewRoot(),n=Bu(m);if("treemapMove"!==l){h="treemapZoomToNode"===l?nE(b,g,m,h,k):d?[d.width,d.height]:[h,k];(k=f.sort)&&"asc"!==k&&"desc"!==k&&(k="desc");f={squareRatio:f.squareRatio,sort:k,leafDepth:f.leafDepth};m.hostTree.clearLayouts();var p={x:0,y:0,width:h[0],height:h[1],area:h[0]*h[1]};m.setLayout(p);Mu(m,f,!1,0);p=m.getLayout();Zm(n,function(c,a){var b=(n[a+1]||m).getValue();c.setLayout(F({dataExtent:[b,b],borderWidth:0,upperHeight:0},p))})}f=b.getData().tree.root;f.setLayout(oE(c,d,g),!0);b.setLayoutInfo(c);Qu(f,new aa(-c.x,-c.y,a,e),n,m,0)}},jj=function(b){return b.get("autoCurveness")||null},Ru=function(b,a){var c=jj(b),d=20;if("number"===typeof c)d=c;else if(A(c)){b.__curvenessList=c;return}a>d&&(d=a);for(var d=d%2?d+2:d+3,c=[],e=0;e<d;e++)c.push((e%2?e+1:e)/10*(e%2?-1:1));b.__curvenessList=c},Ug=function(b,a,c){b=[b.id,b.dataIndex].join(".");a=[a.id,a.dataIndex].join(".");return[c.uid,b,a].join("--\x3e")},Su=function(b){b=b.split("--\x3e");return[b[0],b[2],b[1]].join("--\x3e")},an=function(b,a){var c=a.__edgeMap;return c[b]?c[b].length:0},sz=Math.PI,pp=[],vE={value:function(b,a,c,d,e,f,g){var h=0,k=c.getSum("value"),l=2*Math.PI/(k||g);a.eachNode(function(c){var a=c.getValue("value"),a=l*(k?a:1)/2;h+=a;c.setLayout([d*Math.cos(h)+e,d*Math.sin(h)+f]);h+=a})},symbolSize:function(b,a,c,d,e,f,g){var h=0;pp.length=g;var k=Vg(b);a.eachNode(function(c){var a=Wg(c);isNaN(a)&&(a=2);0>a&&(a=0);a*=k;a=Math.asin(a/2/d);isNaN(a)&&(a=sz/2);pp[c.dataIndex]=a;h+=2*a});var l=(2*sz-h)/g/2,m=0;a.eachNode(function(c){var a=l+pp[c.dataIndex];m+=a;c.setLayout([d*Math.cos(m)+e,d*Math.sin(m)+f]);m+=a})}},sf=Th,tz=Ua.prototype,qp=rf.prototype,uz=function(){return function(){this.y2=this.x2=this.y1=this.x1=0;this.percent=1}}();(function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);return a})(uz);var CE=function(b){function a(c){c=b.call(this,c)||this;c.type="ec-line";return c}x(a,b);a.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}};a.prototype.getDefaultShape=function(){return new uz};a.prototype.buildPath=function(c,a){bn(a)?tz.buildPath.call(this,c,a):qp.buildPath.call(this,c,a)};a.prototype.pointAt=function(c){return bn(this.shape)?tz.pointAt.call(this,c):qp.pointAt.call(this,c)};a.prototype.tangentAt=function(c){var a=this.shape;c=bn(a)?[a.x2-a.x1,a.y2-a.y1]:qp.tangentAt.call(this,c);return Ie(c,c)};return a}(Y),rp=["fromSymbol","toSymbol"],sp=function(b){function a(c,a,e){var d=b.call(this)||this;d._createLine(c,a,e);return d}x(a,b);a.prototype._createLine=function(c,a,b){var d=c.hostModel,e=c.getItemLayout(a),e=BE(e);e.shape.percent=0;za(e,{shape:{percent:1}},d,a);this.add(e);r(rp,function(b){var d=Wu(b,c,a);this.add(d);this["_"+b+"Type"]=c.getItemVisual(a,b)},this);this._updateCommonStl(c,a,b)};a.prototype.updateData=function(c,a,b){var d=c.hostModel,e=this.childOfName("line"),h=c.getItemLayout(a),k={shape:{}};cn(k.shape,h);ea(e,k,d,a);r(rp,function(b){var d=c.getItemVisual(a,b),e="_"+b+"Type";this[e]!==d&&(this.remove(this.childOfName(b)),b=Wu(b,c,a),this.add(b));this[e]=d},this);this._updateCommonStl(c,a,b)};a.prototype.getLinePath=function(){return this.childAt(0)};a.prototype._updateCommonStl=function(c,a,b){var d=c.hostModel,e=this.childOfName("line"),h=b&&b.emphasisLineStyle,k=b&&b.blurLineStyle,l=b&&b.selectLineStyle,m=b&&b.labelStatesModels;if(!b||c.hasItemOption)m=c.getItemModel(a),h=m.getModel(["emphasis","lineStyle"]).getLineStyle(),k=m.getModel(["blur","lineStyle"]).getLineStyle(),l=m.getModel(["select","lineStyle"]).getLineStyle(),m=Ra(m);var n=c.getItemVisual(a,"style"),p=n.stroke;e.useStyle(n);e.style.fill=null;e.style.strokeNoScale=!0;e.ensureState("emphasis").style=h;e.ensureState("blur").style=k;e.ensureState("select").style=l;r(rp,function(c){if(c=this.childOfName(c)){c.setColor(p);c.style.opacity=n.opacity;for(var a=0;a<tb.length;a++){var b=tb[a],d=e.getState(b);d&&(d=d.style||{},b=c.ensureState(b),b=b.style||(b.style={}),null!=d.stroke&&(b[c.__isEmptyBrush?"stroke":"fill"]=d.stroke),null!=d.opacity&&(b.opacity=d.opacity))}c.markRedraw()}},this);h=d.getRawValue(a);cb(this,m,{labelDataIndex:a,labelFetcher:{getFormattedLabel:function(a,b){return d.getFormattedLabel(a,b,c.dataType)}},inheritColor:p||"#000",defaultOpacity:n.opacity,defaultText:(null==h?c.getName(a):isFinite(h)?sa(h):h)+""});if(a=this.getTextContent())m=m.normal,a.__align=a.style.align,a.__verticalAlign=a.style.verticalAlign,a.__position=m.get("position")||"middle",m=m.get("distance"),A(m)||(m=[m,m]),a.__labelDistance=m;this.setTextConfig({position:null,local:!0,inside:!1});va(this)};a.prototype.highlight=function(){nc(this)};a.prototype.downplay=function(){oc(this)};a.prototype.updateLayout=function(c,a){this.setLinePoints(c.getItemLayout(a))};a.prototype.setLinePoints=function(c){var a=this.childOfName("line");cn(a.shape,c);a.dirty()};a.prototype.beforeUpdate=function(){function c(c,a){var b=c.__specifiedRotation;null==b?(b=k.tangentAt(a),c.attr("rotation",(1===a?-1:1)*Math.PI/2-Math.atan2(b[1],b[0]))):c.attr("rotation",b)}var a=this.childOfName("fromSymbol"),b=this.childOfName("toSymbol"),f=this.getTextContent();if(a||b||f&&!f.ignore){for(var g=1,h=this.parent;h;)h.scaleX&&(g/=h.scaleX),h=h.parent;var k=this.childOfName("line");if(this.__dirty||k.__dirty){var l=k.shape.percent,h=k.pointAt(0),m=k.pointAt(l),n=Pc([],m,h);Ie(n,n);a&&(a.setPosition(h),c(a,0),a.scaleX=a.scaleY=g*l,a.markRedraw());b&&(b.setPosition(m),c(b,1),b.scaleX=b.scaleY=g*l,b.markRedraw());if(f&&!f.ignore){f.x=f.y=0;f.originX=f.originY=0;var p=a=void 0,q=f.__labelDistance,b=q[0]*g,q=q[1]*g,t=l/2,l=k.tangentAt(t),p=[l[1],-l[0]],t=k.pointAt(t);0<p[1]&&(p[0]=-p[0],p[1]=-p[1]);var u=0>l[0]?-1:1;"start"!==f.__position&&"end"!==f.__position&&(p=-Math.atan2(l[1],l[0]),m[0]<h[0]&&(p=Math.PI+p),f.rotation=p);var w=void 0;switch(f.__position){case "insideStartTop":case "insideMiddleTop":case "insideEndTop":case "middle":w=-q;p="bottom";break;case "insideStartBottom":case "insideMiddleBottom":case "insideEndBottom":w=q;p="top";break;default:w=0,p="middle"}switch(f.__position){case "end":f.x=n[0]*b+m[0];f.y=n[1]*q+m[1];a=.8<n[0]?"left":-.8>n[0]?"right":"center";p=.8<n[1]?"top":-.8>n[1]?"bottom":"middle";break;case "start":f.x=-n[0]*b+h[0];f.y=-n[1]*q+h[1];a=.8<n[0]?"right":-.8>n[0]?"left":"center";p=.8<n[1]?"bottom":-.8>n[1]?"top":"middle";break;case "insideStartTop":case "insideStart":case "insideStartBottom":f.x=b*u+h[0];f.y=h[1]+w;a=0>l[0]?"right":"left";f.originX=-b*u;f.originY=-w;break;case "insideMiddleTop":case "insideMiddle":case "insideMiddleBottom":case "middle":f.x=t[0];f.y=t[1]+w;a="center";f.originY=-w;break;case "insideEndTop":case "insideEnd":case "insideEndBottom":f.x=-b*u+m[0],f.y=m[1]+w,a=0<=l[0]?"right":"left",f.originX=b*u,f.originY=-w}f.scaleX=f.scaleY=g;f.setStyle({verticalAlign:f.__verticalAlign||p,align:f.__align||a})}}}};return a}(M),tp=function(){function b(a){this.group=new M;this._LineCtor=a||sp}b.prototype.isPersistent=function(){return!0};b.prototype.updateData=function(a){var c=this,b=this.group,e=this._lineData;this._lineData=a;e||b.removeAll();var f=Xu(a);a.diff(e).add(function(b){c._doAdd(a,b,f)}).update(function(b,d){c._doUpdate(e,a,d,b,f)}).remove(function(c){b.remove(e.getItemGraphicEl(c))}).execute()};b.prototype.updateLayout=function(){var a=this._lineData;a&&a.eachItemGraphicEl(function(c,b){c.updateLayout(a,b)},this)};b.prototype.incrementalPrepareUpdate=function(a){this._seriesScope=Xu(a);this._lineData=null;this.group.removeAll()};b.prototype.incrementalUpdate=function(a,c){function b(c){c.isGroup||c.animators&&0<c.animators.length||(c.incremental=!0,c.ensureState("emphasis").hoverLayer=!0)}for(var e=a.start;e<a.end;e++){var f=c.getItemLayout(e);dn(f)&&(f=new this._LineCtor(c,e,this._seriesScope),f.traverse(b),this.group.add(f),c.setItemGraphicEl(e,f))}};b.prototype.remove=function(){this.group.removeAll()};b.prototype._doAdd=function(a,c,b){var d=a.getItemLayout(c);dn(d)&&(b=new this._LineCtor(a,c,b),a.setItemGraphicEl(c,b),this.group.add(b))};b.prototype._doUpdate=function(a,c,b,e,f){a=a.getItemGraphicEl(b);dn(c.getItemLayout(e))?(a?a.updateData(c,e,f):a=new this._LineCtor(c,e,f),c.setItemGraphicEl(e,a),this.group.add(a)):this.group.remove(a)};return b}(),en=[],gn=[],hn=[],uf=Za,fn=Xc,$u=Math.abs,VK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(c,a){var b=new Eh,d=new tp,g=this.group;this._controller=new fh(a.getZr());this._controllerHost={target:g};g.add(b.group);g.add(d.group);this._symbolDraw=b;this._lineDraw=d;this._firstRender=!0};a.prototype.render=function(c,a,b){var d=this,e=c.coordinateSystem;this._model=c;var h=this._symbolDraw,k=this._lineDraw,l=this.group;"view"===e.type&&(e={x:e.x,y:e.y,scaleX:e.scaleX,scaleY:e.scaleY},this._firstRender?l.attr(e):ea(l,e,c));jn(c.getGraph(),Vg(c));var m=c.getData();h.updateData(m);h=c.getEdgeData();k.updateData(h);this._updateNodeAndLinkScale();this._updateController(c,a,b);clearTimeout(this._layoutTimeout);var n=c.forceLayout,p=c.get(["force","layoutAnimation"]);n&&this._startForceLayoutIteration(n,p);m.graph.eachNode(function(c){var a=c.dataIndex,b=c.getGraphicEl(),e=c.getModel();b.off("drag").off("dragend");var f=e.get("draggable");if(f)b.on("drag",function(){n&&(n.warmUp(),!d._layouting&&d._startForceLayoutIteration(n,p),n.setFixed(a),m.setItemLayout(a,[b.x,b.y]))}).on("dragend",function(){n&&n.setUnfixed(a)});b.setDraggable(f&&!!n);"adjacency"===e.get(["emphasis","focus"])&&(S(b).focus=c.getAdjacentDataIndices())});m.graph.eachEdge(function(c){var a=c.getGraphicEl();"adjacency"===c.getModel().get(["emphasis","focus"])&&(S(a).focus={edge:[c.dataIndex],node:[c.node1.dataIndex,c.node2.dataIndex]})});var q="circular"===c.get("layout")&&c.get(["circular","rotateLabel"]),t=m.getLayout("cx"),u=m.getLayout("cy");m.eachItemGraphicEl(function(c,a){var b=m.getItemModel(a).get(["label","rotate"])||0,d=c.getSymbolPath();if(q){var e=m.getItemLayout(a),b=Math.atan2(e[1]-u,e[0]-t);0>b&&(b=2*Math.PI+b);(e=e[0]<t)&&(b-=Math.PI);e=e?"left":"right";d.setTextConfig({rotation:-b,position:e,origin:"center"});d=d.ensureState("emphasis");F(d.textConfig||(d.textConfig={}),{position:e})}else d.setTextConfig({rotation:Math.PI/180*b})});this._firstRender=!1};a.prototype.dispose=function(){this._controller&&this._controller.dispose();this._controllerHost=null};a.prototype._startForceLayoutIteration=function(c,a){var b=this;(function g(){c.step(function(c){b.updateLayout(b._model);(b._layouting=!c)&&(a?b._layoutTimeout=setTimeout(g,16):g())})})()};a.prototype._updateController=function(c,a,b){var d=this;a=this._controller;var e=this._controllerHost,h=this.group;a.setPointerChecker(function(a,d,e){var f=h.getBoundingRect();f.applyTransform(h.transform);return f.contain(d,e)&&!cj(a,b,c)});"view"!==c.coordinateSystem.type?a.disable():(a.enable(c.get("roam")),e.zoomLimit=c.get("scaleLimit"),e.zoom=c.coordinateSystem.getZoom(),a.off("pan").off("zoom").on("pan",function(a){Im(e,a.dx,a.dy);b.dispatchAction({seriesId:c.id,type:"graphRoam",dx:a.dx,dy:a.dy})}).on("zoom",function(a){Jm(e,a.scale,a.originX,a.originY);b.dispatchAction({seriesId:c.id,type:"graphRoam",zoom:a.scale,originX:a.originX,originY:a.originY});d._updateNodeAndLinkScale();jn(c.getGraph(),Vg(c));d._lineDraw.updateLayout();b.updateLabelLayout()}))};a.prototype._updateNodeAndLinkScale=function(){var c=this._model,a=c.getData(),b=Vg(c);a.eachItemGraphicEl(function(c,a){c.setSymbolScale(b)})};a.prototype.updateLayout=function(c){jn(c.getGraph(),Vg(c));this._symbolDraw.updateLayout();this._lineDraw.updateLayout()};a.prototype.remove=function(c,a){this._symbolDraw&&this._symbolDraw.remove();this._lineDraw&&this._lineDraw.remove()};a.type="graph";return a}(oa),DE=function(){function b(a){this.type="graph";this.nodes=[];this.edges=[];this._nodesMap={};this._edgesMap={};this._directed=a||!1}b.prototype.isDirected=function(){return this._directed};b.prototype.addNode=function(a,c){a=null==a?""+c:""+a;var b=this._nodesMap;if(b["_EC_"+a])console.error("Graph nodes have duplicate name or id");else{var e=new Ee(a,c);e.hostGraph=this;this.nodes.push(e);return b["_EC_"+a]=e}};b.prototype.getNodeByIndex=function(a){a=this.data.getRawIndex(a);return this.nodes[a]};b.prototype.getNodeById=function(a){return this._nodesMap["_EC_"+a]};b.prototype.addEdge=function(a,c,b){var d=this._nodesMap,f=this._edgesMap;"number"===typeof a&&(a=this.nodes[a]);"number"===typeof c&&(c=this.nodes[c]);a instanceof Ee||(a=d["_EC_"+a]);c instanceof Ee||(c=d["_EC_"+c]);if(a&&c)return d=a.id+"-"+c.id,b=new vz(a,c,b),b.hostGraph=this,this._directed&&(a.outEdges.push(b),c.inEdges.push(b)),a.edges.push(b),a!==c&&c.edges.push(b),this.edges.push(b),f[d]=b};b.prototype.getEdgeByIndex=function(a){a=this.edgeData.getRawIndex(a);return this.edges[a]};b.prototype.getEdge=function(a,c){a instanceof Ee&&(a=a.id);c instanceof Ee&&(c=c.id);var b=this._edgesMap;return this._directed?b[a+"-"+c]:b[a+"-"+c]||b[c+"-"+a]};b.prototype.eachNode=function(a,c){for(var b=this.nodes,e=b.length,f=0;f<e;f++)0<=b[f].dataIndex&&a.call(c,b[f],f)};b.prototype.eachEdge=function(a,c){for(var b=this.edges,e=b.length,f=0;f<e;f++)0<=b[f].dataIndex&&0<=b[f].node1.dataIndex&&0<=b[f].node2.dataIndex&&a.call(c,b[f],f)};b.prototype.breadthFirstTraverse=function(a,c,b,e){c instanceof Ee||(c=this._nodesMap["_EC_"+c]);if(c){b="out"===b?"outEdges":"in"===b?"inEdges":"edges";for(var d=0;d<this.nodes.length;d++)this.nodes[d].__visited=!1;if(!a.call(e,c,null))for(c=[c];c.length;)for(var g=c.shift(),h=g[b],d=0;d<h.length;d++){var k=h[d],k=k.node1===g?k.node2:k.node1;if(!k.__visited){if(a.call(e,k,g))return;c.push(k);k.__visited=!0}}}};b.prototype.update=function(){for(var a=this.data,c=this.edgeData,b=this.nodes,e=this.edges,f=0,g=b.length;f<g;f++)b[f].dataIndex=-1;f=0;for(g=a.count();f<g;f++)b[a.getRawIndex(f)].dataIndex=f;c.filterSelf(function(a){a=e[c.getRawIndex(a)];return 0<=a.node1.dataIndex&&0<=a.node2.dataIndex});f=0;for(g=e.length;f<g;f++)e[f].dataIndex=-1;f=0;for(g=c.count();f<g;f++)e[c.getRawIndex(f)].dataIndex=f};b.prototype.clone=function(){for(var a=new b(this._directed),c=this.nodes,d=this.edges,e=0;e<c.length;e++)a.addNode(c[e].id,c[e].dataIndex);for(e=0;e<d.length;e++)c=d[e],a.addEdge(c.node1.id,c.node2.id,c.dataIndex);return a};return b}(),Ee=function(){function b(a,c){this.inEdges=[];this.outEdges=[];this.edges=[];this.dataIndex=-1;this.id=null==a?"":a;this.dataIndex=null==c?-1:c}b.prototype.degree=function(){return this.edges.length};b.prototype.inDegree=function(){return this.inEdges.length};b.prototype.outDegree=function(){return this.outEdges.length};b.prototype.getModel=function(a){if(!(0>this.dataIndex))return this.hostGraph.data.getItemModel(this.dataIndex).getModel(a)};b.prototype.getAdjacentDataIndices=function(){for(var a={edge:[],node:[]},c=0;c<this.edges.length;c++){var b=this.edges[c];0>b.dataIndex||(a.edge.push(b.dataIndex),a.node.push(b.node1.dataIndex,b.node2.dataIndex))}return a};return b}(),vz=function(){function b(a,c,b){this.dataIndex=-1;this.node1=a;this.node2=c;this.dataIndex=null==b?-1:b}b.prototype.getModel=function(a){if(!(0>this.dataIndex))return this.hostGraph.edgeData.getItemModel(this.dataIndex).getModel(a)};b.prototype.getAdjacentDataIndices=function(){return{edge:[this.dataIndex],node:[this.node1.dataIndex,this.node2.dataIndex]}};return b}();wa(Ee,av("hostGraph","data"));wa(vz,av("hostGraph","edgeData"));var WK=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.hasSymbolVisual=!0;return c}x(a,b);a.prototype.init=function(c){function a(){return e._categoriesData}b.prototype.init.apply(this,arguments);var e=this;this.legendVisualProvider=new Gh(a,a);this.fillDataTextStyle(c.edges||c.links);this._updateCategoriesData()};a.prototype.mergeOption=function(c){b.prototype.mergeOption.apply(this,arguments);this.fillDataTextStyle(c.edges||c.links);this._updateCategoriesData()};a.prototype.mergeDefaultAndTheme=function(c){b.prototype.mergeDefaultAndTheme.apply(this,arguments);Id(c,"edgeLabel",["show"])};a.prototype.getInitialData=function(c,a){function b(c,a){function b(c,a){var b=e.call(this,c,a);b.resolveParentPath=d;return b}function d(c){if(c&&("label"===c[0]||"label"===c[1])){var a=c.slice();"label"===c[0]?a[0]="edgeLabel":"label"===c[1]&&(a[1]="edgeLabel");return a}return c}c.wrapMethod("getItemModel",function(c){var a=h._categoriesModels,b=c.getShallow("category");if(a=a[b])a.parentModel=c.parentModel,c.parentModel=a;return c});var e=la.prototype.getModel;a.wrapMethod("getItemModel",function(c){c.resolveParentPath=d;c.getModel=b;return c})}var d=c.edges||c.links||[],g=c.data||c.nodes||[],h=this;if(g&&d)return jj(this)&&(this.__curvenessList=[],this.__edgeMap={},Ru(this)),d=bv(g,d,this,!0,b),r(d.edges,function(c){var a=c.node1,b=c.node2;c=c.dataIndex;if(jj(this)){var a=Ug(a,b,this),b=this.__edgeMap,d=b[Su(a)];b[a]&&!d?b[a].isForward=!0:d&&b[a]&&(d.isForward=!0,b[a].isForward=!1);b[a]=b[a]||[];b[a].push(c)}},this),d.data};a.prototype.getGraph=function(){return this.getData().graph};a.prototype.getEdgeData=function(){return this.getGraph().edgeData};a.prototype.getCategoriesData=function(){return this._categoriesData};a.prototype.formatTooltip=function(c,a,b){if("edge"===b){a=this.getData();b=this.getDataParams(c,b);var d=a.graph.getEdgeByIndex(c);c=a.getName(d.node1.dataIndex);a=a.getName(d.node2.dataIndex);d=[];null!=c&&d.push(c);null!=a&&d.push(a);return Ha("nameValue",{name:d.join(" \x3e "),value:b.value,noValue:null==b.value})}return ns({series:this,dataIndex:c,multipleSeries:a})};a.prototype._updateCategoriesData=function(){var c=C(this.option.categories||[],function(c){return null!=c.value?c:F({value:0},c)}),a=new Wa(["value"],this);a.initData(c);this._categoriesData=a;this._categoriesModels=a.mapArray(function(c){return a.getItemModel(c)})};a.prototype.setZoom=function(c){this.option.zoom=c};a.prototype.setCenter=function(c){this.option.center=c};a.prototype.isAnimationEnabled=function(){return b.prototype.isAnimationEnabled.call(this)&&!("force"===this.get("layout")&&this.get(["force","layoutAnimation"]))};a.type="series.graph";a.dependencies=["grid","polar","geo","singleAxis","calendar"];a.defaultOption={zlevel:0,z:2,coordinateSystem:"view",legendHoverLink:!0,layout:null,focusNodeAdjacency:!1,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{scale:!0,label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}};return a}(ra),XK={type:"graphRoam",event:"graphRoam",update:"none"},YK=function(){return function(){this.angle=0;this.r=this.width=10;this.y=this.x=0}}(),ZK=function(b){function a(c){c=b.call(this,c)||this;c.type="pointer";return c}x(a,b);a.prototype.getDefaultShape=function(){return new YK};a.prototype.buildPath=function(c,a){var b=Math.cos,d=Math.sin,g=a.r,h=a.width,k=a.angle,l=a.x-b(k)*h*(h>=g/3?1:2),m=a.y-d(k)*h*(h>=g/3?1:2),k=a.angle-Math.PI/2;c.moveTo(l,m);c.lineTo(a.x+b(k)*h,a.y+d(k)*h);c.lineTo(a.x+b(a.angle)*g,a.y+d(a.angle)*g);c.lineTo(a.x-b(k)*h,a.y-d(k)*h);c.lineTo(l,m)};return a}(Y),up=2*Math.PI,$K=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(c,a,b){this.group.removeAll();var d=c.get(["axisLine","lineStyle","color"]),e=c.get("center"),h=b.getWidth(),k=b.getHeight(),k=Math.min(h,k),h=H(e[0],b.getWidth()),e=H(e[1],b.getHeight()),k=H(c.get("radius"),k/2);this._renderMain(c,a,b,d,{cx:h,cy:e,r:k});this._data=c.getData()};a.prototype.dispose=function(){};a.prototype._renderMain=function(c,a,b,f,g){for(var d=this.group,e=c.get("clockwise"),l=-c.get("startAngle")/180*Math.PI,m=-c.get("endAngle")/180*Math.PI,n=c.getModel("axisLine"),p=n.get("roundCap")?gp:lb,q=n.get("show"),t=n.getModel("lineStyle"),n=t.get("width"),u=(m-l)%up||m===l?(m-l)%up:up,r=l,v=0;q&&v<f.length;v++)m=l+u*Math.min(Math.max(f[v][0],0),1),r=new p({shape:{startAngle:r,endAngle:m,cx:g.cx,cy:g.cy,clockwise:e,r0:g.r-n,r:g.r},silent:!0}),r.setStyle({fill:f[v][1]}),r.setStyle(t.getLineStyle(["color","width"])),d.add(r),r=m;d=function(c){if(0>=c)return f[0][1];var a;for(a=0;a<f.length;a++)if(f[a][0]>=c&&(0===a?0:f[a-1][0])<c)return f[a][1];return f[a-1][1]};e||(p=l,l=m,m=p);this._renderTicks(c,a,b,d,g,l,m,e,n);this._renderTitleAndDetail(c,a,b,d,g);this._renderAnchor(c,g);this._renderPointer(c,a,b,d,g,l,m,e,n)};a.prototype._renderTicks=function(c,a,b,f,g,h,k,l,m){a=this.group;b=g.cx;l=g.cy;g=g.r;var d=+c.get("min"),e=+c.get("max"),q=c.getModel("splitLine"),t=c.getModel("axisTick"),u=c.getModel("axisLabel");c=c.get("splitNumber");var r=t.get("splitNumber"),v=H(q.get("length"),g),z=H(t.get("length"),g),B=h;h=(k-h)/c;k=h/r;for(var y=q.getModel("lineStyle").getLineStyle(),x=t.getModel("lineStyle").getLineStyle(),D=q.get("distance"),A,E,G=0;G<=c;G++){A=Math.cos(B);E=Math.sin(B);if(q.get("show")){var C=D?D+m:m,C=new Ua({shape:{x1:A*(g-C)+b,y1:E*(g-C)+l,x2:A*(g-v-C)+b,y2:E*(g-v-C)+l},style:y,silent:!0});"auto"===y.stroke&&C.setStyle({stroke:f(G/c)});a.add(C)}if(u.get("show")){var C=u.get("distance")+D,F=kj(sa(G/c*(e-d)+d),u.get("formatter")),I=f(G/c);a.add(new ha({style:Ja(u,{text:F,x:A*(g-v-C)+b,y:E*(g-v-C)+l,verticalAlign:-.8>E?"top":.8<E?"bottom":"middle",align:-.4>A?"left":.4<A?"right":"center"},{inheritColor:I}),silent:!0}))}if(t.get("show")&&G!==c){C=(C=t.get("distance"))?C+m:m;for(F=0;F<=r;F++)A=Math.cos(B),E=Math.sin(B),A=new Ua({shape:{x1:A*(g-C)+b,y1:E*(g-C)+l,x2:A*(g-z-C)+b,y2:E*(g-z-C)+l},silent:!0,style:x}),"auto"===x.stroke&&A.setStyle({stroke:f((G+F/r)/c)}),a.add(A),B+=k;B-=k}else B+=h}};a.prototype._renderPointer=function(c,a,b,f,g,h,k,l,m){function d(a,b){var d=y.getItemModel(a).getModel("pointer"),e=H(d.get("width"),g.r),f=H(d.get("length"),g.r),h=c.get(["pointer","icon"]),k=d.get("offsetCenter"),l=H(k[0],g.r),k=H(k[1],g.r),d=d.get("keepAspect"),e=h?Pa(h,l-e/2,k-f,e,f,null,d):new ZK({shape:{angle:-Math.PI/2,width:e,r:f,x:l,y:k}});e.rotation=-(b+Math.PI/2);e.x=g.cx;e.y=g.cy;return e}function e(c,a){var b=z.get("roundCap")?gp:lb,d=z.get("overlap"),e=d?z.get("width"):m/y.count(),b=new b({shape:{startAngle:h,endAngle:a,cx:g.cx,cy:g.cy,clockwise:l,r0:d?g.r-e:g.r-(c+1)*e,r:d?g.r:g.r-c*e}});d&&(b.z2=D-y.get(x,c)%D);return b}var q=this.group,t=this._data,u=this._progressEls,r=[],v=c.get(["pointer","show"]),z=c.getModel("progress"),B=z.get("show"),y=c.getData(),x=y.mapDimension("value");a=+c.get("min");var D=+c.get("max"),A=[a,D],E=[h,k];if(B||v)y.diff(t).add(function(a){if(v){var b=d(a,h);za(b,{rotation:-(ga(y.get(x,a),A,E,!0)+Math.PI/2)},c);q.add(b);y.setItemGraphicEl(a,b)}if(B){var b=e(a,h),f=z.get("clip");za(b,{shape:{endAngle:ga(y.get(x,a),A,E,f)}},c);q.add(b);r[a]=b}}).update(function(a,b){if(v){var f=t.getItemGraphicEl(b),f=f?f.rotation:h,g=d(a,f);g.rotation=f;ea(g,{rotation:-(ga(y.get(x,a),A,E,!0)+Math.PI/2)},c);q.add(g);y.setItemGraphicEl(a,g)}B&&(f=u[b],f=e(a,f?f.shape.endAngle:h),g=z.get("clip"),ea(f,{shape:{endAngle:ga(y.get(x,a),A,E,g)}},c),q.add(f),r[a]=f)}).execute(),y.each(function(c){var a=y.getItemModel(c),b=a.getModel("emphasis");if(v){var d=y.getItemGraphicEl(c);d.useStyle(y.getItemVisual(c,"style"));d.setStyle(a.getModel(["pointer","itemStyle"]).getItemStyle());"auto"===d.style.fill&&d.setStyle("fill",f(ga(y.get(x,c),A,[0,1],!0)));d.z2EmphasisLift=0;Fa(d,a);va(d,b.get("focus"),b.get("blurScope"))}B&&(d=r[c],d.useStyle(y.getItemVisual(c,"style")),d.setStyle(a.getModel(["progress","itemStyle"]).getItemStyle()),d.z2EmphasisLift=0,Fa(d,a),va(d,b.get("focus"),b.get("blurScope")))}),this._progressEls=r};a.prototype._renderAnchor=function(c,a){var b=c.getModel("anchor");if(b.get("show")){var d=b.get("size"),g=b.get("icon"),h=b.get("offsetCenter"),k=b.get("keepAspect"),d=Pa(g,a.cx-d/2+H(h[0],a.r),a.cy-d/2+H(h[1],a.r),d,d,null,k);d.z2=b.get("showAbove")?1:0;d.setStyle(b.getModel("itemStyle").getItemStyle());this.group.add(d)}};a.prototype._renderTitleAndDetail=function(c,a,b,f,g){var d=this,e=c.getData(),l=e.mapDimension("value"),m=+c.get("min"),n=+c.get("max"),p=new M,q=[],t=[],u=c.isAnimationEnabled();e.diff(this._data).add(function(c){q[c]=new ha({silent:!0});t[c]=new ha({silent:!0})}).update(function(c,a){q[c]=d._titleEls[a];t[c]=d._detailEls[a]}).execute();e.each(function(a){var b=e.getItemModel(a),d=e.get(l,a),h=new M,k=f(ga(d,[m,n],[0,1],!0)),r=b.getModel("title");if(r.get("show")){var w=r.get("offsetCenter"),x=g.cx+H(w[0],g.r),A=g.cy+H(w[1],g.r),w=q[a];w.attr({style:Ja(r,{x:x,y:A,text:e.getName(a),align:"center",verticalAlign:"middle"},{inheritColor:k})});h.add(w)}b=b.getModel("detail");if(b.get("show")){var w=b.get("offsetCenter"),r=g.cx+H(w[0],g.r),x=g.cy+H(w[1],g.r),A=H(b.get("width"),g.r),C=H(b.get("height"),g.r),k=c.get(["progress","show"])?e.getItemVisual(a,"style").fill:k,w=t[a],F=b.get("formatter");w.attr({style:Ja(b,{x:r,y:x,text:kj(d,F),width:isNaN(A)?null:A,height:isNaN(C)?null:C,align:"center",verticalAlign:"middle"},{inheritColor:k})});Br(w,{normal:b},d,function(c){return kj(c,F)});u&&Cr(w,a,e,c,{getFormattedLabel:function(c,a,b,e,f,g){return kj(g?g.interpolatedValue:d,F)}});h.add(w)}p.add(h)});this.group.add(p);this._titleEls=q;this._detailEls=t};a.type="gauge";return a}(oa),aL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.visualStyleAccessPath="itemStyle";c.useColorPaletteOnData=!0;return c}x(a,b);a.prototype.getInitialData=function(c,a){return of(this,["value"])};a.type="series.gauge";a.defaultOption={zlevel:0,z:2,center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,roundCap:!1,lineStyle:{color:[[1,"#E6EBF8"]],width:10}},progress:{show:!1,overlap:!0,width:10,roundCap:!1,clip:!0},splitLine:{show:!0,length:10,distance:10,lineStyle:{color:"#63677A",width:3,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:6,distance:10,lineStyle:{color:"#63677A",width:1,type:"solid"}},axisLabel:{show:!0,distance:15,color:"#464646",fontSize:12},pointer:{icon:null,offsetCenter:[0,0],show:!0,length:"60%",width:6,keepAspect:!1},anchor:{show:!1,showAbove:!1,size:6,icon:"circle",offsetCenter:[0,0],keepAspect:!1,itemStyle:{color:"#fff",borderWidth:0,borderColor:"#5470c6"}},title:{show:!0,offsetCenter:[0,"20%"],color:"#464646",fontSize:16,valueAnimation:!1},detail:{show:!0,backgroundColor:"rgba(0,0,0,0)",borderWidth:0,borderColor:"#ccc",width:100,height:null,padding:[5,10],offsetCenter:[0,"40%"],color:"#464646",fontSize:30,fontWeight:"bold",lineHeight:30,valueAnimation:!1}};return a}(ra),bL=["itemStyle","opacity"],cL=function(b){function a(c,a){var d=b.call(this)||this,f=new kb,g=new ha;d.setTextContent(g);d.setTextGuideLine(f);d.updateData(c,a,!0);return d}x(a,b);a.prototype.updateData=function(c,a,b){var d=c.hostModel,e=c.getItemModel(a),h=c.getItemLayout(a),k=e.getModel("emphasis"),l=e.get(bL),l=null==l?1:l;this.useStyle(c.getItemVisual(a,"style"));this.style.lineJoin="round";b?(this.setShape({points:h.points}),this.style.opacity=0,za(this,{style:{opacity:l}},d,a)):ea(this,{style:{opacity:l},shape:{points:h.points}},d,a);Fa(this,e);this._updateLabel(c,a);va(this,k.get("focus"),k.get("blurScope"))};a.prototype._updateLabel=function(c,a){var b=this.getTextGuideLine(),d=this.getTextContent(),g=c.hostModel,h=c.getItemModel(a),k=c.getItemLayout(a).label,l=c.getItemVisual(a,"style"),m=l.fill;cb(d,Ra(h),{labelFetcher:c.hostModel,labelDataIndex:a,defaultOpacity:l.opacity,defaultText:c.getName(a)},{normal:{align:k.textAlign,verticalAlign:k.verticalAlign}});this.setTextConfig({local:!0,inside:!!k.inside,insideStroke:m,outsideFill:m});l=k.linePoints;b.setShape({points:l});this.textGuideLineConfig={anchor:l?new V(l[0][0],l[0][1]):null};ea(d,{style:{x:k.x,y:k.y}},g,a);d.attr({rotation:k.rotation,originX:k.x,originY:k.y,z2:10});Tl(this,Ul(h),{stroke:m})};return a}(bb),dL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.ignoreLabelLineUpdate=!0;return c}x(a,b);a.prototype.render=function(c,a,b){var d=c.getData(),e=this._data,h=this.group;d.diff(e).add(function(c){var a=new cL(d,c);d.setItemGraphicEl(c,a);h.add(a)}).update(function(c,a){var b=e.getItemGraphicEl(a);b.updateData(d,c);h.add(b);d.setItemGraphicEl(c,b)}).remove(function(a){var b=e.getItemGraphicEl(a);ig(b,c,a)}).execute();this._data=d};a.prototype.remove=function(){this.group.removeAll();this._data=null};a.prototype.dispose=function(){};a.type="funnel";return a}(oa),eL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.useColorPaletteOnData=!0;return c}x(a,b);a.prototype.init=function(c){b.prototype.init.apply(this,arguments);this.legendVisualProvider=new Gh(I(this.getData,this),I(this.getRawData,this));this._defaultLabelLine(c)};a.prototype.getInitialData=function(c,a){return of(this,{coordDimensions:["value"],encodeDefaulter:P(Il,this)})};a.prototype._defaultLabelLine=function(c){Id(c,"labelLine",["show"]);var a=c.labelLine,b=c.emphasis.labelLine;a.show=a.show&&c.label.show;b.show=b.show&&c.emphasis.label.show};a.prototype.getDataParams=function(c){var a=this.getData(),e=b.prototype.getDataParams.call(this,c),f=a.mapDimension("value"),g=a.getSum(f);e.percent=g?+(a.get(f,c)/g*100).toFixed(2):0;e.$vars.push("percent");return e};a.type="series.funnel";a.defaultOption={zlevel:0,z:2,legendHoverLink:!0,left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",orient:"vertical",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}};return a}(ra),fL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c._dataGroup=new M;c._initialized=!1;return c}x(a,b);a.prototype.init=function(){this.group.add(this._dataGroup)};a.prototype.render=function(c,a,b,f){var d=this._dataGroup,e=c.getData(),k=this._data,l=c.coordinateSystem,m=l.dimensions,n=ev(c);e.diff(k).add(function(c){var a=dv(e,d,c,m,l);kn(a,e,c,n)}).update(function(a,b){var d=k.getItemGraphicEl(b),f=cv(e,a,m,l);e.setItemGraphicEl(a,d);ea(d,{shape:{points:f}},c,a);kn(d,e,a,n)}).remove(function(c){c=k.getItemGraphicEl(c);d.remove(c)}).execute();this._initialized||(this._initialized=!0,a=IE(l,c,function(){setTimeout(function(){d.removeClipPath()})}),d.setClipPath(a));this._data=e};a.prototype.incrementalPrepareRender=function(c,a,b){this._initialized=!0;this._data=null;this._dataGroup.removeAll()};a.prototype.incrementalRender=function(c,a,b){b=a.getData();var d=a.coordinateSystem,e=d.dimensions;a=ev(a);for(var h=c.start;h<c.end;h++){var k=dv(b,this._dataGroup,h,e,d);k.incremental=!0;kn(k,b,h,a)}};a.prototype.remove=function(){this._dataGroup&&this._dataGroup.removeAll();this._data=null};a.type="parallel";return a}(oa),gL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.visualStyleAccessPath="lineStyle";c.visualDrawType="stroke";return c}x(a,b);a.prototype.getInitialData=function(c,a){return sc(this.getSource(),this,{useEncodeDefaulter:I(JE,null,this)})};a.prototype.getRawIndicesByActiveState=function(c){var a=this.coordinateSystem,b=this.getData(),f=[];a.eachActiveState(b,function(a,d){c===a&&f.push(b.getRawIndex(d))});return f};a.type="series.parallel";a.dependencies=["parallel"];a.defaultOption={zlevel:0,z:2,coordinateSystem:"parallel",parallelIndex:0,label:{show:!1},inactiveOpacity:.05,activeOpacity:1,lineStyle:{width:1,opacity:.45,type:"solid"},emphasis:{label:{show:!1}},progressive:500,smooth:!1,animationEasing:"linear"};return a}(ra),hL=["lineStyle","opacity"],iL={seriesType:"parallel",reset:function(b,a){var c=b.coordinateSystem,d={normal:b.get(["lineStyle","opacity"]),active:b.get("activeOpacity"),inactive:b.get("inactiveOpacity")};return{progress:function(a,b){c.eachActiveState(b,function(c,a){var e=d[c];if("normal"===c&&b.hasItemOption){var f=b.getItemModel(a).get(hL,!0);null!=f&&(e=f)}b.ensureUniqueItemVisual(a,"style").opacity=e},a.start,a.end)}}}},XE=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(c,a,b){this._model=c;this._api=b;this._handlers||(this._handlers={},r(jL,function(c,a){b.getZr().on(a,this._handlers[a]=I(c,this))},this));tg(this,"_throttledDispatchExpand",c.get("axisExpandRate"),"fixRate")};a.prototype.dispose=function(c,a){r(this._handlers,function(c,b){a.getZr().off(b,c)});this._handlers=null};a.prototype._throttledDispatchExpand=function(c){this._dispatchExpand(c)};a.prototype._dispatchExpand=function(c){c&&this._api.dispatchAction(F({type:"parallelAxisExpand"},c))};a.type="parallel";return a}(na),jL={mousedown:function(b){ln(this,"click")&&(this._mouseDownPoint=[b.offsetX,b.offsetY])},mouseup:function(b){var a=this._mouseDownPoint;if(ln(this,"click")&&a){var c=[b.offsetX,b.offsetY];if(5<Math.pow(a[0]-c[0],2)+Math.pow(a[1]-c[1],2))return;b=this._model.coordinateSystem.getSlidedAxisExpandWindow([b.offsetX,b.offsetY]);"none"!==b.behavior&&this._dispatchExpand({axisExpandWindow:b.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(b){if(!this._mouseDownPoint&&ln(this,"mousemove")){var a=this._model;b=a.coordinateSystem.getSlidedAxisExpandWindow([b.offsetX,b.offsetY]);var c=b.behavior;"jump"===c&&this._throttledDispatchExpand.debounceNextCall(a.get("axisExpandDebounce"));this._throttledDispatchExpand("none"===c?null:{axisExpandWindow:b.axisExpandWindow,animation:"jump"===c?null:{duration:0}})}}},YE=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(){b.prototype.init.apply(this,arguments);this.mergeOption({})};a.prototype.mergeOption=function(c){var a=this.option;c&&U(a,c,!0);this._initDimensions()};a.prototype.contains=function(c,a){var b=c.get("parallelIndex");return null!=b&&a.getComponent("parallel",b)===this};a.prototype.setAxisExpand=function(c){r(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],function(a){c.hasOwnProperty(a)&&(this.option[a]=c[a])},this)};a.prototype._initDimensions=function(){var c=this.dimensions=[],a=this.parallelAxisIndex=[],b=ta(this.ecModel.queryComponents({mainType:"parallelAxis"}),function(a){return(a.get("parallelIndex")||0)===this.componentIndex},this);r(b,function(b){c.push("dim"+b.get("dim"));a.push(b.componentIndex)})};a.type="parallel";a.dependencies=["parallelAxis"];a.layoutMode="box";a.defaultOption={zlevel:0,z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:"click",parallelAxisDefault:null};return a}(W),kL=function(b){function a(a,d,e,f,g){a=b.call(this,a,d,e)||this;a.type=f||"value";a.axisIndex=g;return a}x(a,b);a.prototype.isHorizontal=function(){return"horizontal"!==this.coordinateSystem.getModel().get("layout")};return a}(Pb),fv=Math.min,gv=Math.max,wz=Math.floor,lL=Math.ceil,mL=Math.PI,nL=function(){function b(a,c,b){this.type="parallel";this._axesMap=R();this._axesLayout={};this.dimensions=a.dimensions;this._model=a;this._init(a,c,b)}b.prototype._init=function(a,c,b){var d=a.parallelAxisIndex;r(a.dimensions,function(a,b){var e=d[b],f=c.getComponent("parallelAxis",e),e=this._axesMap.set(a,new kL(a,Dg(f),[0,0],f.get("type"),e));e.onBand="category"===e.type&&f.get("boundaryGap");e.inverse=f.get("inverse");f.axis=e;e.model=f;e.coordinateSystem=f.coordinateSystem=this},this)};b.prototype.update=function(a,c){this._updateAxesFromSeries(this._model,a)};b.prototype.containPoint=function(a){var c=this._makeLayoutInfo(),b=c.axisBase,e=c.layoutBase,f=c.pixelDimIndex,g=a[1-f];a=a[f];return g>=b&&g<=b+c.axisLength&&a>=e&&a<=e+c.layoutLength};b.prototype.getModel=function(){return this._model};b.prototype._updateAxesFromSeries=function(a,c){c.eachSeries(function(b){if(a.contains(b,c)){var d=b.getData();r(this.dimensions,function(a){var c=this._axesMap.get(a);c.scale.unionExtentFromData(d,d.mapDimension(a));jd(c.scale,c.model)},this)}},this)};b.prototype.resize=function(a,c){this._rect=Aa(a.getBoxLayoutParams(),{width:c.getWidth(),height:c.getHeight()});this._layoutAxes()};b.prototype.getRect=function(){return this._rect};b.prototype._makeLayoutInfo=function(){var a=this._model,c=this._rect,b=["x","y"],e=["width","height"],f=a.get("layout"),g="horizontal"===f?0:1,h=c[e[g]],k=[0,h],l=this.dimensions.length,m=lj(a.get("axisExpandWidth"),k),n=lj(a.get("axisExpandCount")||0,[0,l]),p=a.get("axisExpandable")&&3<l&&l>n&&1<n&&0<m&&0<h,q=a.get("axisExpandWindow");q?k=lj(q[1]-q[0],k):(k=lj(m*(n-1),k),q=a.get("axisExpandCenter")||wz(l/2),q=[m*q-k/2]);q[1]=q[0]+k;n=(h-k)/(l-n);3>n&&(n=0);a=[wz(sa(q[0]/m,1))+1,lL(sa(q[1]/m,1))-1];return{layout:f,pixelDimIndex:g,layoutBase:c[b[g]],layoutLength:h,axisBase:c[b[1-g]],axisLength:c[e[1-g]],axisExpandable:p,axisExpandWidth:m,axisCollapseWidth:n,axisExpandWindow:q,axisCount:l,winInnerIndices:a,axisExpandWindow0Pos:n/m*q[0]}};b.prototype._layoutAxes=function(){var a=this._rect,c=this._axesMap,b=this.dimensions,e=this._makeLayoutInfo(),f=e.layout;c.each(function(a){var c=[0,e.axisLength],b=a.inverse?1:0;a.setExtent(c[b],c[1-b])});r(b,function(c,b){var d=(e.axisExpandable?OE:NE)(b,e),g={horizontal:{x:d.position,y:e.axisLength},vertical:{x:0,y:d.position}},g=[g[f].x+a.x,g[f].y+a.y],h={horizontal:mL/2,vertical:0}[f],n=nb();Tc(n,n,h);Rb(n,n,g);this._axesLayout[c]={position:g,rotation:h,transform:n,axisNameAvailableWidth:d.axisNameAvailableWidth,axisLabelShow:d.axisLabelShow,nameTruncateMaxWidth:d.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)};b.prototype.getAxis=function(a){return this._axesMap.get(a)};b.prototype.dataToPoint=function(a,c){return this.axisCoordToPoint(this._axesMap.get(c).dataToCoord(a),c)};b.prototype.eachActiveState=function(a,c,b,e){null==b&&(b=0);null==e&&(e=a.count());var d=this._axesMap,g=this.dimensions,h=[],k=[];r(g,function(c){h.push(a.mapDimension(c));k.push(d.get(c).model)});for(var l=this.hasAxisBrushed();b<e;b++){var m=void 0;if(l)for(var m="active",n=a.getValues(h,b),p=0,q=g.length;p<q;p++){if("inactive"===k[p].getActiveState(n[p])){m="inactive";break}}else m="normal";c(m,b)}};b.prototype.hasAxisBrushed=function(){for(var a=this.dimensions,c=this._axesMap,b=!1,e=0,f=a.length;e<f;e++)"normal"!==c.get(a[e]).model.getActiveState()&&(b=!0);return b};b.prototype.axisCoordToPoint=function(a,c){return Wb([a,0],this._axesLayout[c].transform)};b.prototype.getAxisLayout=function(a){return J(this._axesLayout[a])};b.prototype.getSlidedAxisExpandWindow=function(a){var c=this._makeLayoutInfo(),b=c.pixelDimIndex,e=c.axisExpandWindow.slice(),f=e[1]-e[0],g=[0,c.axisExpandWidth*(c.axisCount-1)];if(!this.containPoint(a))return{behavior:"none",axisExpandWindow:e};a=a[b]-c.layoutBase-c.axisExpandWindow0Pos;var h,b="slide",k=c.axisCollapseWidth,l=this._model.get("axisExpandSlideTriggerArea");h=null!=l[0];k?(h&&k&&a<f*l[0]?(b="jump",h=a-f*l[2]):h&&k&&a>f*(1-l[0])?(b="jump",h=a-f*(1-l[2])):0<=(h=a-f*l[1])&&0>=(h=a-f*(1-l[1]))&&(h=0),(h*=c.axisExpandWidth/k)?fe(h,e,g,"all"):b="none"):(c=e[1]-e[0],e=[gv(0,g[1]*a/c-c/2)],e[1]=fv(g[1],e[0]+c),e[0]=e[1]-c);return{axisExpandWindow:e,behavior:b}};return b}(),ZE={create:function(b,a){var c=[];b.eachComponent("parallel",function(d,e){var f=new nL(d,b,a);f.name="parallel_"+e;f.resize(d,a);d.coordinateSystem=f;f.model=d;c.push(f)});b.eachSeries(function(a){if("parallel"===a.get("coordinateSystem")){var c=a.getReferringComponents("parallel",Da).models[0];a.coordinateSystem=c.coordinateSystem}});return c}},wn=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.activeIntervals=[];return c}x(a,b);a.prototype.getAreaSelectStyle=function(){return Kd([["fill","color"],["lineWidth","borderWidth"],["stroke","borderColor"],["width","width"],["opacity","opacity"]])(this.getModel("areaSelectStyle"))};a.prototype.setActiveIntervals=function(a){if(a=this.activeIntervals=J(a))for(var c=a.length-1;0<=c;c--)Cb(a[c])};a.prototype.getActiveState=function(a){var c=this.activeIntervals;if(!c.length)return"normal";if(null==a||isNaN(+a))return"inactive";if(1===c.length){if(c=c[0],c[0]<=a&&a<=c[1])return"active"}else for(var b=0,f=c.length;b<f;b++)if(c[b][0]<=a&&a<=c[b][1])return"active";return"inactive"};return a}(W);wa(wn,Lf);var Xg=Math.min,wf=Math.max,TE=Math.pow,RE={w:[0,0],e:[0,1],n:[1,0],s:[1,1]},PE={w:"ew",e:"ew",n:"ns",s:"ns",ne:"nesw",sw:"nesw",nw:"nwse",se:"nwse"},xz={brushStyle:{lineWidth:2,stroke:"rgba(210,219,238,0.3)",fill:"#D2DBEE"},transformable:!0,brushMode:"single",removeOnClick:!1},oL=0,vp=function(b){function a(a){var c=b.call(this)||this;c._track=[];c._covers=[];c._handlers={};O(a);c._zr=a;c.group=new M;c._uid="brushController_"+oL++;r(pL,function(a,c){this._handlers[c]=I(a,this)},c);return c}x(a,b);a.prototype.enableBrush=function(a){O(this._mounted);this._brushType&&this._doDisableBrush();a.brushType&&this._doEnableBrush(a);return this};a.prototype._doEnableBrush=function(a){var c=this._zr;this._enableGlobalPan||xD(c,"globalPan",this._uid);r(this._handlers,function(a,b){c.on(b,a)});this._brushType=a.brushType;this._brushOption=U(J(xz),a,!0)};a.prototype._doDisableBrush=function(){var a=this._zr;yD(a,"globalPan",this._uid);r(this._handlers,function(c,b){a.off(b,c)});this._brushType=this._brushOption=null};a.prototype.setPanels=function(a){if(a&&a.length){var c=this._panels={};r(a,function(a){c[a.panelId]=J(a)})}else this._panels=null;return this};a.prototype.mount=function(a){a=a||{};this._mounted=!0;this._enableGlobalPan=a.enableGlobalPan;var c=this.group;this._zr.add(c);c.attr({x:a.x||0,y:a.y||0,rotation:a.rotation||0,scaleX:a.scaleX||1,scaleY:a.scaleY||1});this._transform=c.getLocalTransform();return this};a.prototype.updateCovers=function(a){function c(a,c){return(null!=a.id?a.id:"\x00-brush-index-"+c)+"-"+a.brushType}function b(c,b){var d=a[c];null!=b&&f[b]===k?g[c]=f[b]:(d=g[c]=null!=b?(f[b].__brushOption=d,f[b]):jv(h,hv(h,d)),nn(h,d))}O(this._mounted);a=C(a,function(a){return U(J(xz),a,!0)});var f=this._covers,g=this._covers=[],h=this,k=this._creatingCover;(new sd(f,a,function(a,b){return c(a.__brushOption,b)},c)).add(b).update(b).remove(function(a){f[a]!==k&&h.group.remove(f[a])}).execute();return this};a.prototype.unmount=function(){if(this._mounted)return this.enableBrush(!1),pn(this),this._zr.remove(this.group),this._mounted=!1,this};a.prototype.dispose=function(){this.unmount();this.off()};return a}($b),pL={mousedown:function(b){if(this._dragging)tv(this,b);else if(!b.target||!b.target.draggable){un(b);var a=this.group.transformCoordToLocal(b.offsetX,b.offsetY);this._creatingCover=null;if(this._creatingPanel=on(this,b,a))this._dragging=!0,this._track=[a.slice()]}},mousemove:function(b){var a=this.group.transformCoordToLocal(b.offsetX,b.offsetY);a:{var c;if(c=this._brushType){c=b.offsetX;var d=b.offsetY,e=this._zr;c=!(0>c||c>e.getWidth()||0>d||d>e.getHeight())}if(c){c=this._zr;d=this._covers;e=on(this,b,a);if(!this._dragging)for(var f=0;f<d.length;f++){var g=d[f].__brushOption;if(e&&(!0===e||g.panelId===e.panelId)&&ge[g.brushType].contain(d[f],a[0],a[1]))break a}e&&c.setCursorStyle("crosshair")}}this._dragging&&(un(b),(b=rv(this,b,a,!1))&&he(this,b))},mouseup:function(b){tv(this,b)}},ge={lineX:uv(0),lineY:uv(1),rect:{createCover:function(b,a){function c(a){return a}return mv({toRectRange:c,fromRectRange:c},b,a,[["w"],["e"],["n"],["s"],["s","e"],["s","w"],["n","e"],["n","w"]])},getCreatingRange:function(b){b=lv(b);return pv(b[1][0],b[1][1],b[0][0],b[0][1])},updateCoverShape:function(b,a,c,d){ov(b,a,c,d)},updateCommon:rn,contain:vn},polygon:{createCover:function(b,a){var c=new M;c.add(new kb({name:"main",style:qn(a),silent:!0}));return c},getCreatingRange:function(b){return b},endCreating:function(b,a){a.remove(a.childAt(0));a.add(new bb({name:"main",draggable:!0,drift:P(SE,b,a),ondragend:P(he,b,{isEnd:!0})}))},updateCoverShape:function(b,a,c,d){a.childAt(0).setShape({points:tn(b,a,c)})},updateCommon:rn,contain:vn}},qL=["axisLine","axisTickLabel","axisName"],$E=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(a,d){b.prototype.init.apply(this,arguments);(this._brushController=new vp(d.getZr())).on("brush",I(this._onBrush,this))};a.prototype.render=function(a,b,e,f){if(!f||"axisAreaSelect"!==f.type||b.findComponents({mainType:"parallelAxis",query:f})[0]!==a)if(this.axisModel=a,this.api=e,this.group.removeAll(),f=this._axisGroup,this._axisGroup=new M,this.group.add(this._axisGroup),a.get("show")){b=b.getComponent("parallel",a.get("parallelIndex"));var c=b.coordinateSystem,d=a.getAreaSelectStyle(),k=d.width,c=c.getAxisLayout(a.axis.dim),c=F({strokeContainThreshold:k},c),l=new mb(a,c);r(qL,l.add,l);this._axisGroup.add(l.getGroup());this._refreshBrushController(c,d,a,b,k,e);jg(f,this._axisGroup,a)}};a.prototype._refreshBrushController=function(a,b,e,f,g,h){var c=e.axis.getExtent(),d=c[1]-c[0],m=Math.min(30,.1*Math.abs(d));g=aa.create({x:c[0],y:-g/2,width:d,height:g});g.x-=m;g.width+=2*m;this._brushController.mount({enableGlobalPan:!0,rotation:a.rotation,x:a.position[0],y:a.position[1]}).setPanels([{panelId:"pl",clipPath:vv(g),isTargetByCursor:xv(g,h,f),getLinearBrushOtherExtent:wv(g,0)}]).enableBrush({brushType:"lineX",brushStyle:b,removeOnClick:!0}).updateCovers(UE(e))};a.prototype._onBrush=function(a){var c=this.axisModel,b=c.axis,f=C(a.areas,function(a){return[b.coordToData(a.range[0],!0),b.coordToData(a.range[1],!0)]});(!c.option.realtime===a.isEnd||a.removeOnClick)&&this.api.dispatchAction({type:"axisAreaSelect",parallelAxisId:c.id,intervals:f})};a.prototype.dispose=function(){this._brushController.dispose()};a.type="parallelAxis";return a}(na),WE={type:"axisAreaSelect",event:"axisAreaSelected"},aF={type:"value",areaSelectStyle:{width:20,borderWidth:1,borderColor:"rgba(160,197,232)",color:"rgba(160,197,232)",opacity:.3},realtime:!0,z:10},rL=function(){return function(){this.extent=this.cpy2=this.cpx2=this.cpy1=this.cpx1=this.y2=this.x2=this.y1=this.x1=0}}(),sL=function(b){function a(a){return b.call(this,a)||this}x(a,b);a.prototype.getDefaultShape=function(){return new rL};a.prototype.buildPath=function(a,b){var c=b.extent;a.moveTo(b.x1,b.y1);a.bezierCurveTo(b.cpx1,b.cpy1,b.cpx2,b.cpy2,b.x2,b.y2);"vertical"===b.orient?(a.lineTo(b.x2+c,b.y2),a.bezierCurveTo(b.cpx2+c,b.cpy2,b.cpx1+c,b.cpy1,b.x1+c,b.y1)):(a.lineTo(b.x2,b.y2+c),a.bezierCurveTo(b.cpx2,b.cpy2+c,b.cpx1,b.cpy1+c,b.x1,b.y1+c));a.closePath()};a.prototype.highlight=function(){nc(this)};a.prototype.downplay=function(){oc(this)};return a}(Y),tL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c._focusAdjacencyDisabled=!1;return c}x(a,b);a.prototype.render=function(a,b,e){var c=this;b=a.getGraph();var d=this.group,h=a.layoutInfo,k=h.width,l=h.height,m=a.getData(),n=a.getData("edge"),p=a.get("orient");this._model=a;d.removeAll();d.x=h.x;d.y=h.y;b.eachEdge(function(c){var b=new sL,e=S(b);e.dataIndex=c.dataIndex;e.seriesIndex=a.seriesIndex;e.dataType="edge";var e=c.getModel(),f=e.getModel("lineStyle"),g=f.get("curveness"),h=c.node1.getLayout(),m=c.node1.getModel(),q=m.get("localX"),r=m.get("localY"),m=c.node2.getLayout(),x=c.node2.getModel(),A=x.get("localX"),x=x.get("localY"),E=c.getLayout();b.shape.extent=Math.max(1,E.dy);b.shape.orient=p;"vertical"===p?(q=(null!=q?q*k:h.x)+E.sy,h=(null!=r?r*l:h.y)+h.dy,A=(null!=A?A*k:m.x)+E.ty,m=null!=x?x*l:m.y,x=q,E=h*(1-g)+m*g,r=A,g=h*g+m*(1-g)):(q=(null!=q?q*k:h.x)+h.dx,h=(null!=r?r*l:h.y)+E.sy,A=null!=A?A*k:m.x,m=(null!=x?x*l:m.y)+E.ty,x=q*(1-g)+A*g,E=h,r=q*g+A*(1-g),g=m);b.setShape({x1:q,y1:h,x2:A,y2:m,cpx1:x,cpy1:E,cpx2:r,cpy2:g});b.useStyle(f.getItemStyle());switch(b.style.fill){case "source":b.style.fill=c.node1.getVisual("color");b.style.decal=c.node1.getVisual("style").decal;break;case "target":b.style.fill=c.node2.getVisual("color");b.style.decal=c.node2.getVisual("style").decal;break;case "gradient":f=c.node1.getVisual("color"),g=c.node2.getVisual("color"),"string"===typeof f&&"string"===typeof g&&(b.style.fill=new mf(0,0,1,0,[{color:f,offset:0},{color:g,offset:1}]))}f=e.getModel("emphasis");Fa(b,e,"lineStyle",function(a){return a.getItemStyle()});d.add(b);n.setItemGraphicEl(c.dataIndex,b);e=f.get("focus");va(b,"adjacency"===e?c.getAdjacentDataIndices():e,f.get("blurScope"));S(b).dataType="edge"});b.eachNode(function(c){var b=c.getLayout(),e=c.getModel(),f=e.get("localX"),g=e.get("localY"),h=e.getModel("emphasis"),b=new Z({shape:{x:null!=f?f*k:b.x,y:null!=g?g*l:b.y,width:b.dx,height:b.dy},style:e.getModel("itemStyle").getItemStyle()});cb(b,Ra(e),{labelFetcher:a,labelDataIndex:c.dataIndex,defaultText:c.id});b.disableLabelAnimation=!0;b.setStyle("fill",c.getVisual("color"));b.setStyle("decal",c.getVisual("style").decal);Fa(b,e);d.add(b);m.setItemGraphicEl(c.dataIndex,b);S(b).dataType="node";e=h.get("focus");va(b,"adjacency"===e?c.getAdjacentDataIndices():e,h.get("blurScope"))});m.eachItemGraphicEl(function(b,d){m.getItemModel(d).get("draggable")&&(b.drift=function(b,f){c._focusAdjacencyDisabled=!0;this.shape.x+=b;this.shape.y+=f;this.dirty();e.dispatchAction({type:"dragNode",seriesId:a.id,dataIndex:m.getRawIndex(d),localX:this.shape.x/k,localY:this.shape.y/l})},b.ondragend=function(){c._focusAdjacencyDisabled=!1},b.draggable=!0,b.cursor="move")});!this._data&&a.isAnimationEnabled()&&d.setClipPath(bF(d.getBoundingRect(),a,function(){d.removeClipPath()}));this._data=a.getData()};a.prototype.dispose=function(){};a.type="sankey";return a}(oa),uL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.getInitialData=function(a,b){function c(a,c){a.wrapMethod("getItemModel",function(a,c){var b=a.parentModel,d=b.getData().getItemLayout(c);d&&(b=b.levelModels[d.depth])&&(a.parentModel=b);return a});c.wrapMethod("getItemModel",function(a,c){var b=a.parentModel,d=b.getGraph().getEdgeByIndex(c).node1.getLayout();d&&(b=b.levelModels[d.depth])&&(a.parentModel=b);return a})}for(var d=a.edges||a.links,g=a.data||a.nodes,h=a.levels,k=this.levelModels=[],l=0;l<h.length;l++)if(null!=h[l].depth&&0<=h[l].depth)k[h[l].depth]=new la(h[l],this,b);else throw Error("levels[i].depth is mandatory and should be natural number");if(g&&d)return bv(g,d,this,!0,c).data};a.prototype.setNodePosition=function(a,b){var c=this.option.data[a];c.localX=b[0];c.localY=b[1]};a.prototype.getGraph=function(){return this.getData().graph};a.prototype.getEdgeData=function(){return this.getGraph().edgeData};a.prototype.formatTooltip=function(a,b,e){function c(a){return isNaN(a)||null==a}if("edge"===e)return e=this.getDataParams(a,e),a=e.data,e=e.value,Ha("nameValue",{name:a.source+" -- "+a.target,value:e,noValue:c(e)});b=this.getGraph().getNodeByIndex(a).getLayout().value;a=this.getDataParams(a,e).data.name;return Ha("nameValue",{name:null!=a?a+"":null,value:b,noValue:c(b)})};a.prototype.optionUpdated=function(){var a=this.option;!0===a.focusNodeAdjacency&&(a.focusNodeAdjacency="allEdges")};a.prototype.getDataParams=function(a,d){var c=b.prototype.getDataParams.call(this,a,d);if(null==c.value&&"node"===d){var f=this.getGraph().getNodeByIndex(a).getLayout().value;c.value=f}return c};a.type="series.sankey";a.defaultOption={zlevel:0,z:2,coordinateSystem:"view",left:"5%",top:"5%",right:"20%",bottom:"5%",orient:"horizontal",nodeWidth:20,nodeGap:8,draggable:!0,focusNodeAdjacency:!1,layoutIterations:32,label:{show:!0,position:"right",fontSize:12},levels:[],nodeAlign:"justify",lineStyle:{color:"#314656",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.5}},select:{itemStyle:{borderColor:"#212121"}},animationEasing:"linear",animationDuration:1E3};return a}(ra),yz=function(){function b(){}b.prototype.getInitialData=function(a,c){var b,e=c.getComponent("xAxis",this.get("xAxisIndex")),f=c.getComponent("yAxis",this.get("yAxisIndex")),g=e.get("type"),h=f.get("type"),k;"category"===g?(a.layout="horizontal",b=e.getOrdinalMeta(),k=!0):"category"===h?(a.layout="vertical",b=f.getOrdinalMeta(),k=!0):a.layout=a.layout||"horizontal";var h=["x","y"],l="horizontal"===a.layout?0:1,g=this._baseAxisDim=h[l],h=h[1-l],f=[e,f],e=f[l].get("type"),f=f[1-l].get("type");if((l=a.data)&&k){var m=[];r(l,function(a,c){var b;A(a)?(b=a.slice(),a.unshift(c)):A(a.value)?(b=a.value.slice(),a.value.unshift(c)):b=a;m.push(b)});a.data=m}k=this.defaultValueDimensions;b=[{name:g,type:Si(e),ordinalMeta:b,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:h,type:Si(f),dimsDef:k.slice()}];return of(this,{coordDimensions:b,dimensionsCount:k.length+1,encodeDefaulter:P(Kr,b,this)})};b.prototype.getBaseAxis=function(){var a=this._baseAxisDim;return this.ecModel.getComponent(a+"Axis",this.get(a+"AxisIndex")).axis};return b}(),zz=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.defaultValueDimensions=[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}];c.visualDrawType="stroke";return c}x(a,b);a.type="series.boxplot";a.dependencies=["xAxis","yAxis","grid"];a.defaultOption={zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0,0,0,0.2)"}},animationDuration:800};return a}(ra);wa(zz,yz,!0);var vL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e){var c=a.getData(),d=this.group,h=this._data;this._data||d.removeAll();var k="horizontal"===a.get("layout")?1:0;c.diff(h).add(function(a){if(c.hasValue(a)){var b=c.getItemLayout(a),b=Av(b,c,a,k,!0);c.setItemGraphicEl(a,b);d.add(b)}}).update(function(a,b){var e=h.getItemGraphicEl(b);if(c.hasValue(a)){var f=c.getItemLayout(a);e?Bv(f,e,c,a):e=Av(f,c,a,k);d.add(e);c.setItemGraphicEl(a,e)}else d.remove(e)}).remove(function(a){(a=h.getItemGraphicEl(a))&&d.remove(a)}).execute();this._data=c};a.prototype.remove=function(a){var c=this.group;a=this._data;this._data=null;a&&a.eachItemGraphicEl(function(a){a&&c.remove(a)})};a.type="boxplot";return a}(oa),wL=function(){return function(){}}(),tF=function(b){function a(a){a=b.call(this,a)||this;a.type="boxplotBoxPath";return a}x(a,b);a.prototype.getDefaultShape=function(){return new wL};a.prototype.buildPath=function(a,b){var c=b.points,d=0;a.moveTo(c[d][0],c[d][1]);for(d++;4>d;d++)a.lineTo(c[d][0],c[d][1]);for(a.closePath();d<c.length;d++)a.moveTo(c[d][0],c[d][1]),d++,a.lineTo(c[d][0],c[d][1])};return a}(Y),Zg=r,xL={type:"echarts:boxplot",transform:function(b){var a=b.upstream;if("arrayRows"!==a.sourceFormat){var c;c=gb("source data is not applicable for this boxplot transform. Expect number[][].");ja(c)}a=a.getRawData();b=(b=b.config)||{};c=[];for(var d=[],e=b.boundIQR,f="none"===e||0===e,g=0;g<a.length;g++){var h=Cb(a[g].slice()),k=ai(h,.25),l=ai(h,.5),m=ai(h,.75),n=h[0],p=h[h.length-1],q=(null==e?1.5:e)*(m-k),n=f?n:Math.max(n,k-q),p=f?p:Math.min(p,m+q),q=b.itemNameFormatter,q=fa(q)?q({value:g}):da(q)?q.replace("{value}",g+""):g+"";c.push([q,n,k,l,m,p]);for(k=0;k<h.length;k++)l=h[k],(l<n||l>p)&&d.push([q,l])}return[{dimensions:"ItemName Low Q1 Q2 Q3 High".split(" "),data:c},{data:d}]}},CF=["color","borderColor"],yL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e){this.group.removeClipPath();this._updateDrawMode(a);this._isLargeDraw?this._renderLarge(a):this._renderNormal(a)};a.prototype.incrementalPrepareRender=function(a,b,e){this._clear();this._updateDrawMode(a)};a.prototype.incrementalRender=function(a,b,e,f){this._isLargeDraw?this._incrementalRenderLarge(a,b):this._incrementalRenderNormal(a,b)};a.prototype._updateDrawMode=function(a){a=a.pipelineContext.large;if(null==this._isLargeDraw||a!==this._isLargeDraw)this._isLargeDraw=a,this._clear()};a.prototype._renderNormal=function(a){var c=a.getData(),b=this._data,f=this.group,g=c.getLayout("isSimpleBox"),h=a.get("clip",!0),k=a.coordinateSystem,l=k.getArea&&k.getArea();this._data||f.removeAll();c.diff(b).add(function(b){if(c.hasValue(b)){var d=c.getItemLayout(b);if(!h||!Cv(l,d)){var e=yn(d,b,!0);za(e,{shape:{points:d.ends}},a,b);zn(e,c,b,g);f.add(e);c.setItemGraphicEl(b,e)}}}).update(function(d,e){var k=b.getItemGraphicEl(e);if(c.hasValue(d)){var m=c.getItemLayout(d);h&&Cv(l,m)?f.remove(k):(k?ea(k,{shape:{points:m.ends}},a,d):k=yn(m),zn(k,c,d,g),f.add(k),c.setItemGraphicEl(d,k))}else f.remove(k)}).remove(function(a){(a=b.getItemGraphicEl(a))&&f.remove(a)}).execute();this._data=c};a.prototype._renderLarge=function(a){this._clear();Dv(a,this.group);(a=a.get("clip",!0)?Zi(a.coordinateSystem,!1,a):null)?this.group.setClipPath(a):this.group.removeClipPath()};a.prototype._incrementalRenderNormal=function(a,b){for(var c=b.getData(),d=c.getLayout("isSimpleBox"),g;null!=(g=a.next());){var h=c.getItemLayout(g),h=yn(h);zn(h,c,g,d);h.incremental=!0;this.group.add(h)}};a.prototype._incrementalRenderLarge=function(a,b){Dv(b,this.group,!0)};a.prototype.remove=function(a){this._clear()};a.prototype._clear=function(){this.group.removeAll();this._data=null};a.type="candlestick";return a}(oa),zL=function(){return function(){}}(),AF=function(b){function a(a){a=b.call(this,a)||this;a.type="normalCandlestickBox";return a}x(a,b);a.prototype.getDefaultShape=function(){return new zL};a.prototype.buildPath=function(a,b){var c=b.points;this.__simpleBox?(a.moveTo(c[4][0],c[4][1]),a.lineTo(c[6][0],c[6][1])):(a.moveTo(c[0][0],c[0][1]),a.lineTo(c[1][0],c[1][1]),a.lineTo(c[2][0],c[2][1]),a.lineTo(c[3][0],c[3][1]),a.closePath(),a.moveTo(c[4][0],c[4][1]),a.lineTo(c[5][0],c[5][1]),a.moveTo(c[6][0],c[6][1]),a.lineTo(c[7][0],c[7][1]))};return a}(Y),AL=function(){return function(){}}(),Ev=function(b){function a(a){a=b.call(this,a)||this;a.type="largeCandlestickBox";return a}x(a,b);a.prototype.getDefaultShape=function(){return new AL};a.prototype.buildPath=function(a,b){for(var c=b.points,d=0;d<c.length;)if(this.__sign===c[d++]){var g=c[d++];a.moveTo(g,c[d++]);a.lineTo(g,c[d++])}else d+=3};return a}(Y),Az=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.defaultValueDimensions=[{name:"open",defaultTooltip:!0},{name:"close",defaultTooltip:!0},{name:"lowest",defaultTooltip:!0},{name:"highest",defaultTooltip:!0}];return c}x(a,b);a.prototype.getShadowDim=function(){return"open"};a.prototype.brushSelector=function(a,b,e){return(a=b.getItemLayout(a))&&e.rect(a.brushRect)};a.type="series.candlestick";a.dependencies=["xAxis","yAxis","grid"];a.defaultOption={zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,clip:!0,itemStyle:{color:"#eb5454",color0:"#47b262",borderColor:"#eb5454",borderColor0:"#47b262",borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2}},barMaxWidth:null,barMinWidth:null,barWidth:null,large:!0,largeThreshold:600,progressive:3E3,progressiveThreshold:1E4,progressiveChunkMode:"mod",animationEasing:"linear",animationDuration:300};return a}(ra);wa(Az,yz,!0);var BL=["itemStyle","borderColor"],CL=["itemStyle","borderColor0"],DL=["itemStyle","color"],EL=["itemStyle","color0"],FL={seriesType:"candlestick",plan:cf(),performRawSeries:!0,reset:function(b,a){b.getData().setVisual("legendSymbol","roundRect");if(!a.isSeriesFiltered(b))return!b.pipelineContext.large&&{progress:function(a,b){for(var c;null!=(c=a.next());){var d=b.getItemModel(c),g=b.getItemLayout(c).sign,h=d.getItemStyle();h.fill=d.get(0<g?DL:EL);h.stroke=d.get(0<g?BL:CL)||h.fill;c=b.ensureUniqueItemVisual(c,"style");F(c,h)}}}}},GL="undefined"!==typeof Float32Array?Float32Array:Array,HL={seriesType:"candlestick",plan:cf(),reset:function(b){function a(a,c){function b(a,c){var b=[];b[0]=c;b[1]=a;return isNaN(c)||isNaN(a)?[NaN,NaN]:d.dataToPoint(b)}function e(a,c,b){var d=c.slice();c=c.slice();d[0]=Rj(d[0]+f/2,1,!1);c[0]=Rj(c[0]-f/2,1,!0);b?a.push(d,c):a.push(c,d)}function g(a,c,d){a=b(a,d);c=b(c,d);a[0]-=f/2;c[0]-=f/2;return{x:a[0],y:a[1],width:f,height:c[1]-a[1]}}function p(a){a[0]=Rj(a[0],1);return a}for(var q;null!=(q=a.next());){var r=c.get(h,q),y=c.get(k,q),x=c.get(l,q),A=c.get(m,q),C=c.get(n,q),E=Math.max(y,x),F=b(Math.min(y,x),r),E=b(E,r),H=b(A,r),I=b(C,r),J=[];e(J,E,0);e(J,F,1);J.push(p(I),p(E),p(H),p(F));c.setItemLayout(q,{sign:Gv(c,q,y,x,l),initBaseline:y>x?E[1]:F[1],ends:J,brushRect:g(A,C,r)})}}function c(a,c){for(var b=new GL(4*a.count),e=0,f,g=[],p=[];null!=(f=a.next());){var q=c.get(h,f),r=c.get(k,f),x=c.get(l,f),A=c.get(m,f),C=c.get(n,f);isNaN(q)||isNaN(A)||isNaN(C)?(b[e++]=NaN,e+=3):(b[e++]=Gv(c,f,r,x,l),g[0]=q,g[1]=A,f=d.dataToPoint(g,null,p),b[e++]=f?f[0]:NaN,b[e++]=f?f[1]:NaN,g[1]=C,f=d.dataToPoint(g,null,p),b[e++]=f?f[1]:NaN)}c.setLayout("largePoints",b)}var d=b.coordinateSystem,e=b.getData(),f=EF(b,e),g=["x","y"],h=e.mapDimension(g[0]),g=e.mapDimensionsAll(g[1]),k=g[0],l=g[1],m=g[2],n=g[3];e.setLayout({candleWidth:f,isSimpleBox:1.3>=f});if(!(null==h||4>g.length))return{progress:b.pipelineContext.large?c:a}}},Bz=function(b){function a(a,d){var c=b.call(this)||this,f=new Hg(a,d),g=new M;c.add(f);c.add(g);c.updateData(a,d);return c}x(a,b);a.prototype.stopEffectAnimation=function(){this.childAt(1).removeAll()};a.prototype.startEffectAnimation=function(a){for(var c=a.symbolType,b=a.color,f=this.childAt(1),g=0;3>g;g++){var h=Pa(c,-1,-1,2,2,b);h.attr({style:{strokeNoScale:!0},z2:99,silent:!0,scaleX:.5,scaleY:.5});var k=-g/3*a.period+a.effectOffset;h.animate("",!0).when(a.period,{scale:[a.rippleScale/2,a.rippleScale/2]}).delay(k).start();h.animateStyle(!0).when(a.period,{opacity:0}).delay(k).start();f.add(h)}Hv(f,a)};a.prototype.updateEffectAnimation=function(a){for(var c=this._effectCfg,b=this.childAt(1),f=["symbolType","period","rippleScale"],g=0;g<f.length;g++){var h=f[g];if(c[h]!==a[h]){this.stopEffectAnimation();this.startEffectAnimation(a);return}}Hv(b,a)};a.prototype.highlight=function(){nc(this)};a.prototype.downplay=function(){oc(this)};a.prototype.updateData=function(a,b){var c=this,d=a.hostModel;this.childAt(0).updateData(a,b);var g=this.childAt(1),h=a.getItemModel(b),k=a.getItemVisual(b,"symbol"),l=FF(a.getItemVisual(b,"symbolSize")),m=a.getItemVisual(b,"style"),n=m&&m.fill;g.setScale(l);g.traverse(function(a){a.setStyle("fill",n)});if(m=h.getShallow("symbolOffset"))g.x=H(m[0],l[0]),g.y=H(m[1],l[1]);l=a.getItemVisual(b,"symbolRotate");g.rotation=(l||0)*Math.PI/180||0;var p={};p.showEffectOn=d.get("showEffectOn");p.rippleScale=h.get(["rippleEffect","scale"]);p.brushType=h.get(["rippleEffect","brushType"]);p.period=1E3*h.get(["rippleEffect","period"]);p.effectOffset=b/a.count();p.z=d.getShallow("z")||0;p.zlevel=d.getShallow("zlevel")||0;p.symbolType=k;p.color=n;p.rippleEffectColor=h.get(["rippleEffect","color"]);this.off("mouseover").off("mouseout").off("emphasis").off("normal");"render"===p.showEffectOn?(this._effectCfg?this.updateEffectAnimation(p):this.startEffectAnimation(p),this._effectCfg=p):(this._effectCfg=null,this.stopEffectAnimation(),this.onHoverStateChange=function(a){"emphasis"===a?"render"!==p.showEffectOn&&c.startEffectAnimation(p):"normal"===a&&"render"!==p.showEffectOn&&c.stopEffectAnimation()});this._effectCfg=p;va(this)};a.prototype.fadeOut=function(a){this.off("mouseover").off("mouseout");a&&a()};return a}(M);Qh(Bz,M);var IL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(){this._symbolDraw=new Eh(Bz)};a.prototype.render=function(a,b,e){a=a.getData();b=this._symbolDraw;b.updateData(a);this.group.add(b.group)};a.prototype.updateTransform=function(a,b,e){var c=a.getData();this.group.dirty();a=Ig("").reset(a,b,e);a.progress&&a.progress({start:0,end:c.count(),count:c.count()},c);this._symbolDraw.updateLayout()};a.prototype._updateGroupTransform=function(a){(a=a.coordinateSystem)&&a.getRoamTransform&&(this.group.transform=bq(a.getRoamTransform()),this.group.decomposeTransform())};a.prototype.remove=function(a,b){this._symbolDraw&&this._symbolDraw.remove(!0)};a.type="effectScatter";return a}(oa),JL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.hasSymbolVisual=!0;return c}x(a,b);a.prototype.getInitialData=function(a,b){return sc(this.getSource(),this,{useEncodeDefaulter:!0})};a.prototype.brushSelector=function(a,b,e){return e.point(b.getItemLayout(a))};a.type="series.effectScatter";a.dependencies=["grid","polar"];a.defaultOption={coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,effectType:"ripple",progressive:0,showEffectOn:"render",rippleEffect:{period:4,scale:2.5,brushType:"fill"},symbolSize:10};return a}(ra),Cz=function(b){function a(a,d,e){var c=b.call(this)||this;c.add(c.createLine(a,d,e));c._updateEffectSymbol(a,d);return c}x(a,b);a.prototype.createLine=function(a,b,e){return new sp(a,b,e)};a.prototype._updateEffectSymbol=function(a,b){var c=a.getItemModel(b).getModel("effect"),d=c.get("symbolSize"),g=c.get("symbol");A(d)||(d=[d,d]);var h=a.getItemVisual(b,"style"),h=c.get("color")||h&&h.stroke,k=this.childAt(1);this._symbolType!==g&&(this.remove(k),k=Pa(g,-.5,-.5,1,1,h),k.z2=100,k.culling=!0,this.add(k));k&&(k.setStyle("shadowColor",h),k.setStyle(c.getItemStyle(["color"])),k.scaleX=d[0],k.scaleY=d[1],k.setColor(h),this._symbolType=g,this._symbolScale=d,this._updateEffectAnimation(a,c,b))};a.prototype._updateEffectAnimation=function(a,b,e){var c=this.childAt(1);if(c){var d=this,h=a.getItemLayout(e),k=1E3*b.get("period"),l=b.get("loop"),m=b.get("constantSpeed");b=Ba(b.get("delay"),function(c){return c/a.count()*k/3});c.ignore=!0;this._updateAnimationPoints(c,h);0<m&&(k=this._getLineLength(c)/m*1E3);if(k!==this._period||l!==this._loop)c.stopAnimation(),0<k&&(h=void 0,h="function"===typeof b?b(e):b,0<c.__t&&(h=-k*c.__t),c.__t=0,e=c.animate("",l).when(k,{__t:1}).delay(h).during(function(){d._updateSymbolPosition(c)}),l||e.done(function(){d.remove(c)}),e.start());this._period=k;this._loop=l}};a.prototype._getLineLength=function(a){return Fc(a.__p1,a.__cp1)+Fc(a.__cp1,a.__p2)};a.prototype._updateAnimationPoints=function(a,b){a.__p1=b[0];a.__p2=b[1];a.__cp1=b[2]||[(b[0][0]+b[1][0])/2,(b[0][1]+b[1][1])/2]};a.prototype.updateData=function(a,b,e){this.childAt(0).updateData(a,b,e);this._updateEffectSymbol(a,b)};a.prototype._updateSymbolPosition=function(a){var c=a.__p1,b=a.__p2,f=a.__cp1,g=a.__t,h=[a.x,a.y],k=h.slice();h[0]=Za(c[0],f[0],b[0],g);h[1]=Za(c[1],f[1],b[1],g);var l=hi(c[0],f[0],b[0],g),b=hi(c[1],f[1],b[1],g);a.rotation=-Math.atan2(b,l)-Math.PI/2;if("line"===this._symbolType||"rect"===this._symbolType||"roundRect"===this._symbolType)void 0!==a.__lastT&&a.__lastT<a.__t?(a.scaleY=1.05*Fc(k,h),1===g&&(h[0]=k[0]+(h[0]-k[0])/2,h[1]=k[1]+(h[1]-k[1])/2)):a.scaleY=1===a.__lastT?2*Fc(c,h):this._symbolScale[1];a.__lastT=a.__t;a.ignore=!1;a.x=h[0];a.y=h[1]};a.prototype.updateLayout=function(a,b){this.childAt(0).updateLayout(a,b);var c=a.getItemModel(b).getModel("effect");this._updateEffectAnimation(a,c,b)};return a}(M),Dz=function(b){function a(a,d,e){var c=b.call(this)||this;c._createPolyline(a,d,e);return c}x(a,b);a.prototype._createPolyline=function(a,b,e){var c=a.getItemLayout(b),c=new kb({shape:{points:c}});this.add(c);this._updateCommonStl(a,b,e)};a.prototype.updateData=function(a,b,e){var c=a.hostModel,d=this.childAt(0),h={shape:{points:a.getItemLayout(b)}};ea(d,h,c,b);this._updateCommonStl(a,b,e)};a.prototype._updateCommonStl=function(a,b,e){var c=this.childAt(0),d=a.getItemModel(b),h=e&&e.emphasisLineStyle;if(!e||a.hasItemOption)h=d.getModel(["emphasis","lineStyle"]).getLineStyle();c.useStyle(a.getItemVisual(b,"style"));c.style.fill=null;c.style.strokeNoScale=!0;c.ensureState("emphasis").style=h;va(this)};a.prototype.updateLayout=function(a,b){this.childAt(0).setShape("points",a.getItemLayout(b))};return a}(M),KL=function(b){function a(){var a=null!==b&&b.apply(this,arguments)||this;a._lastFrame=0;a._lastFramePercent=0;return a}x(a,b);a.prototype.createLine=function(a,b,e){return new Dz(a,b,e)};a.prototype._updateAnimationPoints=function(a,b){this._points=b;for(var c=[0],d=0,g=1;g<b.length;g++)d+=Fc(b[g-1],b[g]),c.push(d);if(0===d)this._length=0;else{for(g=0;g<c.length;g++)c[g]/=d;this._offsets=c;this._length=d}};a.prototype._getLineLength=function(){return this._length};a.prototype._updateSymbolPosition=function(a){var c=a.__t,b=this._points,f=this._offsets,g=b.length;if(f){var h=this._lastFrame;if(c<this._lastFramePercent){for(h=Math.min(h+1,g-1);0<=h&&!(f[h]<=c);h--);h=Math.min(h,g-2)}else{for(;h<g&&!(f[h]>c);h++);h=Math.min(h-1,g-2)}f=(c-f[h])/(f[h+1]-f[h]);g=b[h];b=b[h+1];a.x=g[0]*(1-f)+f*b[0];a.y=g[1]*(1-f)+f*b[1];a.rotation=-Math.atan2(b[1]-g[1],b[0]-g[0])-Math.PI/2;this._lastFrame=h;this._lastFramePercent=c;a.ignore=!1}};return a}(Cz),LL=function(){return function(){this.polyline=!1;this.curveness=0;this.segs=[]}}(),Ez=function(b){function a(a){return b.call(this,a)||this}x(a,b);a.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}};a.prototype.getDefaultShape=function(){return new LL};a.prototype.buildPath=function(a,b){var c=b.segs,d=b.curveness;if(b.polyline)for(var g=0;g<c.length;){if(d=c[g++],0<d){a.moveTo(c[g++],c[g++]);for(var h=1;h<d;h++)a.lineTo(c[g++],c[g++])}}else for(g=0;g<c.length;){var h=c[g++],k=c[g++],l=c[g++],m=c[g++];a.moveTo(h,k);0<d?a.quadraticCurveTo((h+l)/2-(k-m)*d,(k+m)/2-(l-h)*d,l,m):a.lineTo(l,m)}};a.prototype.findDataIndex=function(a,b){var c=this.shape,d=c.segs,g=c.curveness,h=this.style.lineWidth;if(c.polyline)for(var k=c=0;k<d.length;){g=d[k++];if(0<g)for(var l=d[k++],m=d[k++],n=1;n<g;n++){var p=d[k++],q=d[k++];if($c(l,m,p,q,h,a,b))return c}c++}else for(k=c=0;k<d.length;){l=d[k++];m=d[k++];p=d[k++];q=d[k++];if(0<g){if(Qq(l,m,(l+p)/2-(m-q)*g,(m+q)/2-(p-l)*g,p,q,h,a,b))return c}else if($c(l,m,p,q,h,a,b))return c;c++}return-1};return a}(Y),ML=function(){function b(){this.group=new M}b.prototype.isPersistent=function(){return!this._incremental};b.prototype.updateData=function(a){this.group.removeAll();var c=new Ez({rectHover:!0,cursor:"default"});c.setShape({segs:a.getLayout("linesPoints")});this._setCommon(c,a);this.group.add(c);this._incremental=null};b.prototype.incrementalPrepareUpdate=function(a){this.group.removeAll();this._clearIncremental();5E5<a.count()?(this._incremental||(this._incremental=new xg({silent:!0})),this.group.add(this._incremental)):this._incremental=null};b.prototype.incrementalUpdate=function(a,c){var b=new Ez;b.setShape({segs:c.getLayout("linesPoints")});this._setCommon(b,c,!!this._incremental);this._incremental?this._incremental.addDisplayable(b,!0):(b.rectHover=!0,b.cursor="default",b.__startIndex=a.start,this.group.add(b))};b.prototype.remove=function(){this._clearIncremental();this._incremental=null;this.group.removeAll()};b.prototype._setCommon=function(a,c,b){var d=c.hostModel;a.setShape({polyline:d.get("polyline"),curveness:d.get(["lineStyle","curveness"])});a.useStyle(d.getModel("lineStyle").getLineStyle());a.style.strokeNoScale=!0;(c=c.getVisual("style"))&&c.stroke&&a.setStyle("stroke",c.stroke);a.setStyle("fill",null);if(!b){var f=S(a);f.seriesIndex=d.seriesIndex;a.on("mousemove",function(c){f.dataIndex=null;c=a.findDataIndex(c.offsetX,c.offsetY);0<c&&(f.dataIndex=c+a.__startIndex)})}};b.prototype._clearIncremental=function(){var a=this._incremental;a&&a.clearDisplaybles()};return b}(),Fz={seriesType:"lines",plan:cf(),reset:function(b){var a=b.coordinateSystem,c=b.get("polyline"),d=b.pipelineContext.large;return{progress:function(e,f){var g=[];if(d){var h,k=e.end-e.start;if(c){h=0;for(var l=e.start;l<e.end;l++)h+=b.getLineCoordsCount(l);h=new Float32Array(k+2*h)}else h=new Float32Array(4*k);for(var m=0,n=[],l=e.start;l<e.end;l++){k=b.getLineCoords(l,g);c&&(h[m++]=k);for(var p=0;p<k;p++)n=a.dataToPoint(g[p],!1,n),h[m++]=n[0],h[m++]=n[1]}f.setLayout("linesPoints",h)}else for(l=e.start;l<e.end;l++){m=f.getItemModel(l);k=b.getLineCoords(l,g);h=[];if(c)for(m=0;m<k;m++)h.push(a.dataToPoint(g[m]));else h[0]=a.dataToPoint(g[0]),h[1]=a.dataToPoint(g[1]),k=m.get(["lineStyle","curveness"]),+k&&(h[2]=[(h[0][0]+h[1][0])/2-(h[0][1]-h[1][1])*k,(h[0][1]+h[1][1])/2-(h[1][0]-h[0][0])*k]);f.setItemLayout(l,h)}}}}},NL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e){var c=a.getData(),d=this._updateLineDraw(c,a),h=a.get("zlevel"),k=a.get(["effect","trailLength"]);e=e.getZr();var l="svg"===e.painter.getType();l||e.painter.getLayer(h).clear(!0);null==this._lastZlevel||l||e.configLayer(this._lastZlevel,{motionBlur:!1});if(this._showEffect(a)&&k){var m=!1;b.eachSeries(function(c){c!==a&&c.get("zlevel")===h&&(m=!0)});m&&console.warn("Lines with trail effect should have an individual zlevel");l||e.configLayer(h,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(k/10+.9,1),0)})}d.updateData(c);(b=a.get("clip",!0)&&Zi(a.coordinateSystem,!1,a))?this.group.setClipPath(b):this.group.removeClipPath();this._lastZlevel=h;this._finished=!0};a.prototype.incrementalPrepareRender=function(a,b,e){b=a.getData();this._updateLineDraw(b,a).incrementalPrepareUpdate(b);this._clearLayer(e);this._finished=!1};a.prototype.incrementalRender=function(a,b,e){this._lineDraw.incrementalUpdate(a,b.getData());this._finished=a.end===b.getData().count()};a.prototype.updateTransform=function(a,b,e){var c=a.getData(),d=a.pipelineContext;if(!this._finished||d.large||d.progressiveRender)return{update:!0};a=Fz.reset(a,b,e);a.progress&&a.progress({start:0,end:c.count(),count:c.count()},c);this._lineDraw.updateLayout();this._clearLayer(e)};a.prototype._updateLineDraw=function(a,b){var c=this._lineDraw,d=this._showEffect(b),g=!!b.get("polyline"),h=b.pipelineContext.large;d&&h&&console.warn("Large lines not support effect");c&&d===this._hasEffet&&g===this._isPolyline&&h===this._isLargeDraw||(c&&c.remove(),c=this._lineDraw=h?new ML:new tp(g?d?KL:Dz:d?Cz:sp),this._hasEffet=d,this._isPolyline=g,this._isLargeDraw=h,this.group.removeAll());this.group.add(c.group);return c};a.prototype._showEffect=function(a){return!!a.get(["effect","show"])};a.prototype._clearLayer=function(a){a=a.getZr();"svg"!==a.painter.getType()&&null!=this._lastZlevel&&a.painter.getLayer(this._lastZlevel).clear(!0)};a.prototype.remove=function(a,b){this._lineDraw&&this._lineDraw.remove();this._lineDraw=null;this._clearLayer(b)};a.type="lines";return a}(oa),OL="undefined"===typeof Uint32Array?Array:Uint32Array,PL="undefined"===typeof Float64Array?Array:Float64Array,QL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.visualStyleAccessPath="lineStyle";c.visualDrawType="stroke";return c}x(a,b);a.prototype.init=function(a){a.data=a.data||[];Iv(a);var c=this._processFlatCoordsArray(a.data);this._flatCoords=c.flatCoords;this._flatCoordsOffset=c.flatCoordsOffset;c.flatCoords&&(a.data=new Float32Array(c.count));b.prototype.init.apply(this,arguments)};a.prototype.mergeOption=function(a){Iv(a);if(a.data){var c=this._processFlatCoordsArray(a.data);this._flatCoords=c.flatCoords;this._flatCoordsOffset=c.flatCoordsOffset;c.flatCoords&&(a.data=new Float32Array(c.count))}b.prototype.mergeOption.apply(this,arguments)};a.prototype.appendData=function(a){var c=this._processFlatCoordsArray(a.data);c.flatCoords&&(this._flatCoords?(this._flatCoords=uk(this._flatCoords,c.flatCoords),this._flatCoordsOffset=uk(this._flatCoordsOffset,c.flatCoordsOffset)):(this._flatCoords=c.flatCoords,this._flatCoordsOffset=c.flatCoordsOffset),a.data=new Float32Array(c.count));this.getRawData().appendData(a.data)};a.prototype._getCoordsFromItemModel=function(a){a=this.getData().getItemModel(a);a=a.option instanceof Array?a.option:a.getShallow("coords");if(!(a instanceof Array&&0<a.length&&a[0]instanceof Array))throw Error("Invalid coords "+JSON.stringify(a)+". Lines must have 2d coords array in data item.");return a};a.prototype.getLineCoordsCount=function(a){return this._flatCoordsOffset?this._flatCoordsOffset[2*a+1]:this._getCoordsFromItemModel(a).length};a.prototype.getLineCoords=function(a,b){if(this._flatCoordsOffset){for(var c=this._flatCoordsOffset[2*a],d=this._flatCoordsOffset[2*a+1],g=0;g<d;g++)b[g]=b[g]||[],b[g][0]=this._flatCoords[c+2*g],b[g][1]=this._flatCoords[c+2*g+1];return d}c=this._getCoordsFromItemModel(a);for(g=0;g<c.length;g++)b[g]=b[g]||[],b[g][0]=c[g][0],b[g][1]=c[g][1];return c.length};a.prototype._processFlatCoordsArray=function(a){var c=0;this._flatCoords&&(c=this._flatCoords.length);if("number"===typeof a[0]){for(var b=a.length,f=new OL(b),g=new PL(b),h=0,k=0,l=0,m=0;m<b;){l++;var n=a[m++];f[k++]=h+c;f[k++]=n;for(var p=0;p<n;p++){var q=a[m++],t=a[m++];g[h++]=q;g[h++]=t;if(m>b)throw Error("Invalid data format.");}}return{flatCoordsOffset:new Uint32Array(f.buffer,0,k),flatCoords:g,count:l}}return{flatCoordsOffset:null,flatCoords:null,count:a.length}};a.prototype.getInitialData=function(a,b){if(!Yd.get(a.coordinateSystem))throw Error("Unkown coordinate system "+a.coordinateSystem);var c=new Wa(["value"],this);c.hasItemOption=!1;c.initData(a.data,[],function(a,b,d,e){if(a instanceof Array)return NaN;c.hasItemOption=!0;a=a.value;if(null!=a)return a instanceof Array?a[e]:a});return c};a.prototype.formatTooltip=function(a,b,e){b=this.getData().getItemModel(a);if(a=b.get("name"))return a;a=b.get("fromName");b=b.get("toName");e=[];null!=a&&e.push(a);null!=b&&e.push(b);return Ha("nameValue",{name:e.join(" \x3e ")})};a.prototype.preventIncremental=function(){return!!this.get(["effect","show"])};a.prototype.getProgressive=function(){var a=this.option.progressive;return null==a?this.option.large?1E4:this.get("progressive"):a};a.prototype.getProgressiveThreshold=function(){var a=this.option.progressiveThreshold;return null==a?this.option.large?2E4:this.get("progressiveThreshold"):a};a.type="series.lines";a.dependencies=["grid","polar","geo","calendar"];a.defaultOption={coordinateSystem:"geo",zlevel:0,z:2,legendHoverLink:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2E3,polyline:!1,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}};return a}(ra),RL={seriesType:"lines",reset:function(b){function a(a,c){var b=a.getItemModel(c),d=nj(b.getShallow("symbol",!0)),b=nj(b.getShallow("symbolSize",!0));d[0]&&a.setItemVisual(c,"fromSymbol",d[0]);d[1]&&a.setItemVisual(c,"toSymbol",d[1]);b[0]&&a.setItemVisual(c,"fromSymbolSize",b[0]);b[1]&&a.setItemVisual(c,"toSymbolSize",b[1])}var c=nj(b.get("symbol")),d=nj(b.get("symbolSize"));b=b.getData();b.setVisual("fromSymbol",c&&c[0]);b.setVisual("toSymbol",c&&c[1]);b.setVisual("fromSymbolSize",d&&d[0]);b.setVisual("toSymbolSize",d&&d[1]);return{dataEach:b.hasItemOption?a:null}}},SL=function(){function b(){this.blurSize=30;this.pointSize=20;this.maxOpacity=1;this.minOpacity=0;this._gradientPixels={inRange:null,outOfRange:null};this.canvas=Wd()}b.prototype.update=function(a,c,b,e,f,g){var d=this._getBrush(),k=this._getGradient(f,"inRange");f=this._getGradient(f,"outOfRange");var l=this.pointSize+this.blurSize,m=this.canvas,n=m.getContext("2d"),p=a.length;m.width=c;m.height=b;for(b=0;b<p;++b){c=a[b];var q=c[0],t=c[1];c=e(c[2]);n.globalAlpha=c;n.drawImage(d,q-l,t-l)}if(!m.width||!m.height)return m;a=n.getImageData(0,0,m.width,m.height);e=a.data;d=0;l=e.length;p=this.minOpacity;for(b=this.maxOpacity-p;d<l;)c=e[d+3]/256,q=4*Math.floor(255*c),0<c?(t=g(c)?k:f,0<c&&(c=c*b+p),e[d++]=t[q],e[d++]=t[q+1],e[d++]=t[q+2],e[d++]=t[q+3]*c*256):d+=4;n.putImageData(a,0,0);return m};b.prototype._getBrush=function(){var a=this._brushCanvas||(this._brushCanvas=Wd()),c=this.pointSize+this.blurSize,b=2*c;a.width=b;a.height=b;var e=a.getContext("2d");e.clearRect(0,0,b,b);e.shadowOffsetX=b;e.shadowBlur=this.blurSize;e.shadowColor="#000";e.beginPath();e.arc(-c,c,this.pointSize,0,2*Math.PI,!0);e.closePath();e.fill();return a};b.prototype._getGradient=function(a,c){for(var b=this._gradientPixels,b=b[c]||(b[c]=new Uint8ClampedArray(1024)),e=[0,0,0,0],f=0,g=0;256>g;g++)a[c](g/255,!0,e),b[f++]=e[0],b[f++]=e[1],b[f++]=e[2],b[f++]=e[3];return b};return b}(),TL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e){var c;b.eachComponent("visualMap",function(b){b.eachTargetSeries(function(d){d===a&&(c=b)})});if(!c)throw Error("Heatmap must use with visualMap");this.group.removeAll();this._incrementalDisplayable=null;b=a.coordinateSystem;"cartesian2d"===b.type||"calendar"===b.type?this._renderOnCartesianAndCalendar(a,e,0,a.getData().count()):Jv(b)&&this._renderOnGeo(b,a,c,e)};a.prototype.incrementalPrepareRender=function(a,b,e){this.group.removeAll()};a.prototype.incrementalRender=function(a,b,e,f){var c=b.coordinateSystem;c&&(Jv(c)?this.render(b,e,f):this._renderOnCartesianAndCalendar(b,f,a.start,a.end,!0))};a.prototype._renderOnCartesianAndCalendar=function(a,b,e,f,g){b=a.coordinateSystem;var c,d,l,m;if("cartesian2d"===b.type){l=b.getAxis("x");m=b.getAxis("y");if("category"!==l.type||"category"!==m.type)throw Error("Heatmap on cartesian must have two category axes");if(!l.onBand||!m.onBand)throw Error("Heatmap on cartesian must have two axes with boundaryGap true");c=l.getBandWidth();d=m.getBandWidth();l=l.scale.getExtent();m=m.scale.getExtent()}for(var n=this.group,p=a.getData(),q=a.getModel(["emphasis","itemStyle"]).getItemStyle(),t=a.getModel(["blur","itemStyle"]).getItemStyle(),u=a.getModel(["select","itemStyle"]).getItemStyle(),r=Ra(a),v=a.get(["emphasis","focus"]),z=a.get(["emphasis","blurScope"]),x="cartesian2d"===b.type?[p.mapDimension("x"),p.mapDimension("y"),p.mapDimension("value")]:[p.mapDimension("time"),p.mapDimension("value")];e<f;e++){var y,A=p.getItemVisual(e,"style");if("cartesian2d"===b.type){y=p.get(x[0],e);var D=p.get(x[1],e);if(isNaN(p.get(x[2],e))||y<l[0]||y>l[1]||D<m[0]||D>m[1])continue;y=b.dataToPoint([y,D]);y=new Z({shape:{x:Math.floor(Math.round(y[0])-c/2),y:Math.floor(Math.round(y[1])-d/2),width:Math.ceil(c),height:Math.ceil(d)},style:A})}else{if(isNaN(p.get(x[1],e)))continue;y=new Z({z2:1,shape:b.dataToRect([p.get(x[0],e)]).contentShape,style:A})}D=p.getItemModel(e);p.hasItemOption&&(r=D.getModel("emphasis"),q=r.getModel("itemStyle").getItemStyle(),t=D.getModel(["blur","itemStyle"]).getItemStyle(),u=D.getModel(["select","itemStyle"]).getItemStyle(),v=r.get("focus"),z=r.get("blurScope"),r=Ra(D));var D=a.getRawValue(e),C="-";D&&null!=D[2]&&(C=D[2]+"");cb(y,r,{labelFetcher:a,labelDataIndex:e,defaultOpacity:A.opacity,defaultText:C});y.ensureState("emphasis").style=q;y.ensureState("blur").style=t;y.ensureState("select").style=u;va(y,v,z);if(y.incremental=g)y.states.emphasis.hoverLayer=!0;n.add(y);p.setItemGraphicEl(e,y)}};a.prototype._renderOnGeo=function(a,b,e,f){var c=e.targetVisuals.inRange,d=e.targetVisuals.outOfRange,k=b.getData(),l=this._hmLayer||this._hmLayer||new SL;l.blurSize=b.get("blurSize");l.pointSize=b.get("pointSize");l.minOpacity=b.get("minOpacity");l.maxOpacity=b.get("maxOpacity");b=a.getViewRect().clone();var m=a.getRoamTransform();b.applyTransform(m);var n=Math.max(b.x,0),p=Math.max(b.y,0),m=Math.min(b.width+b.x,f.getWidth());b=Math.min(b.height+b.y,f.getHeight());f=m-n;b-=p;m=[k.mapDimension("lng"),k.mapDimension("lat"),k.mapDimension("value")];k=k.mapArray(m,function(c,b,d){c=a.dataToPoint([c,b]);c[0]-=n;c[1]-=p;c.push(d);return c});m=e.getExtent();e="visualMap.continuous"===e.type?HF(m,e.option.range):GF(m,e.getPieceList(),e.option.selected);l.update(k,f,b,c.color.getNormalizer(),{inRange:c.color.getColorMapper(),outOfRange:d.color.getColorMapper()},e);c=new Ga({style:{width:f,height:b,x:n,y:p,image:l.canvas},silent:!0});this.group.add(c)};a.type="heatmap";return a}(oa),UL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.getInitialData=function(a,b){return sc(this.getSource(),this,{generateCoord:"value"})};a.prototype.preventIncremental=function(){var a=Yd.get(this.get("coordinateSystem"));if(a&&a.dimensions)return"lng"===a.dimensions[0]&&"lat"===a.dimensions[1]};a.type="series.heatmap";a.dependencies=["grid","geo","calendar"];a.defaultOption={coordinateSystem:"cartesian2d",zlevel:0,z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0,select:{itemStyle:{borderColor:"#212121"}}};return a}(ra),IF=["itemStyle","borderWidth"],Gz=[{xy:"x",wh:"width",index:0,posDesc:["left","right"]},{xy:"y",wh:"height",index:1,posDesc:["top","bottom"]}],An=new Nb,VL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e){var c=this.group,d=a.getData(),h=this._data;b=a.coordinateSystem;var k=b.getBaseAxis().isHorizontal(),l=b.master.getRect(),m={ecSize:{width:e.getWidth(),height:e.getHeight()},seriesModel:a,coordSys:b,coordSysExtent:[[l.x,l.x+l.width],[l.y,l.y+l.height]],isHorizontal:k,valueDim:Gz[+k],categoryDim:Gz[1-+k]};d.diff(h).add(function(a){if(d.hasValue(a)){var b=Rv(d,a),b=Kv(d,a,b,m),e=Sv(d,m,b);d.setItemGraphicEl(a,e);c.add(e);Vv(e,m,b)}}).update(function(a,b){var e=h.getItemGraphicEl(b);if(d.hasValue(a)){var f=Rv(d,a),f=Kv(d,a,f,m),g=Tv(d,f);e&&g!==e.__pictorialShapeStr&&(c.remove(e),d.setItemGraphicEl(a,null),e=null);e?(g=e,ea(g.__pictorialBundle,{x:f.bundlePosition[0],y:f.bundlePosition[1]},f.animationModel,f.dataIndex),f.symbolRepeat?Nv(g,m,f,!0):Ov(g,m,f,!0),Pv(g,f,!0),Qv(g,m,f,!0)):e=Sv(d,m,f,!0);d.setItemGraphicEl(a,e);e.__pictorialSymbolMeta=f;c.add(e);Vv(e,m,f)}else c.remove(e)}).remove(function(a){var c=h.getItemGraphicEl(a);c&&Uv(h,a,c.__pictorialSymbolMeta.animationModel,c)}).execute();this._data=d;return this.group};a.prototype.remove=function(a,b){var c=this.group,d=this._data;a.get("animation")?d&&d.eachItemGraphicEl(function(c){Uv(d,S(c).dataIndex,a,c)}):c.removeAll()};a.type="pictorialBar";return a}(oa),WL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.hasSymbolVisual=!0;c.defaultSymbol="roundRect";return c}x(a,b);a.prototype.getInitialData=function(a){a.stack=null;return b.prototype.getInitialData.apply(this,arguments)};a.type="series.pictorialBar";a.dependencies=["grid"];a.defaultOption=ed(Fh.defaultOption,{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",progressive:0,emphasis:{scale:!1},select:{itemStyle:{borderColor:"#212121"}}});return a}(Fh),XL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c._layers=[];return c}x(a,b);a.prototype.render=function(a,b,e){function c(a){return a.name}function d(c,b,d){var e=k._layers;if("remove"===c)l.remove(e[b]);else{for(var f=[],g=[],p,q=m[b].indices,t=0;t<q.length;t++){var r=h.getItemLayout(q[t]);p=r.x;var x=r.y0,r=r.y;f.push(p,x);g.push(p,x+r);p=h.getItemVisual(q[t],"style")}var A,x=h.getItemLayout(q[0]),r=a.getModel("label").get("margin"),C=a.getModel("emphasis");"add"===c?(c=n[b]=new M,A=new jz({shape:{points:f,stackedOnPoints:g,smooth:.4,stackedOnSmooth:.4,smoothConstraint:!1},z2:0}),c.add(A),l.add(c),a.isAnimationEnabled()&&A.setClipPath(LF(A.getBoundingRect(),a,function(){A.removeClipPath()}))):(c=e[d],A=c.childAt(0),l.add(c),n[b]=c,ea(A,{shape:{points:f,stackedOnPoints:g}},a));cb(A,Ra(a),{labelDataIndex:q[t-1],defaultText:h.getName(q[t-1]),inheritColor:p.fill},{normal:{verticalAlign:"middle"}});A.setTextConfig({position:null,local:!0});if(f=A.getTextContent())f.x=x.x-r,f.y=x.y0+x.y/2;A.useStyle(p);h.setItemGraphicEl(b,A);Fa(A,a);va(A,C.get("focus"),C.get("blurScope"))}}var h=a.getData(),k=this,l=this.group,m=a.getLayerSeries();e=h.getLayout("layoutInfo");b=e.rect;e=e.boundaryGap;l.x=0;l.y=b.y+e[0];var n=[];(new sd(this._layersSeries||[],m,c,c)).add(I(d,this,"add")).update(I(d,this,"update")).remove(I(d,this,"remove")).execute();this._layersSeries=m;this._layers=n};a.type="themeRiver";return a}(oa),YL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.useColorPaletteOnData=!0;return c}x(a,b);a.prototype.init=function(a){b.prototype.init.apply(this,arguments);this.legendVisualProvider=new Gh(I(this.getData,this),I(this.getRawData,this))};a.prototype.fixData=function(a){var c=a.length,b={},f=[];bl(a,function(a){b.hasOwnProperty(a[0]+"")||(b[a[0]+""]=-1);return a[2]}).buckets.each(function(a,c){f.push({name:c,dataList:a})});for(var g=f.length,h=0;h<g;++h){for(var k=f[h].name,l=0;l<f[h].dataList.length;++l){var m=f[h].dataList[l][0]+"";b[m]=h}for(m in b)b.hasOwnProperty(m)&&b[m]!==h&&(b[m]=h,a[c]=[m,0,k],c++)}return a};a.prototype.getInitialData=function(a,b){for(var c=this.getReferringComponents("singleAxis",Da).models[0].get("type"),d=ta(a.data,function(a){return void 0!==a[2]}),d=this.fixData(d||[]),g=[],h=this.nameMap=R(),k=0,l=0;l<d.length;++l)g.push(d[l][2]),h.get(d[l][2])||(h.set(d[l][2],k),k++);c=gf(d,{coordDimensions:["single"],dimensionsDefine:[{name:"time",type:Si(c)},{name:"value",type:"float"},{name:"name",type:"ordinal"}],encodeDefine:{single:0,value:1,itemName:2}});c=new Wa(c,this);c.initData(d);return c};a.prototype.getLayerSeries=function(){for(var a=this.getData(),b=a.count(),e=[],f=0;f<b;++f)e[f]=f;var g=a.mapDimension("single"),h=[];bl(e,function(c){return a.get("name",c)}).buckets.each(function(c,b){c.sort(function(c,b){return a.get(g,c)-a.get(g,b)});h.push({name:b,indices:c})});return h};a.prototype.getAxisTooltipData=function(a,b,e){A(a)||(a=a?[a]:[]);e=this.getData();for(var c=this.getLayerSeries(),d=[],h=c.length,k,l=0;l<h;++l){for(var m=Number.MAX_VALUE,n=-1,p=c[l].indices.length,q=0;q<p;++q){var t=e.get(a[0],c[l].indices[q]),u=Math.abs(t-b);u<=m&&(k=t,m=u,n=c[l].indices[q])}d.push(n)}return{dataIndices:d,nestestValue:k}};a.prototype.formatTooltip=function(a,b,e){e=this.getData();b=e.getName(a);a=e.get(e.mapDimension("value"),a);return Ha("nameValue",{name:b,value:a})};a.type="series.themeRiver";a.dependencies=["singleAxis"];a.defaultOption={zlevel:0,z:2,coordinateSystem:"singleAxis",boundaryGap:["10%","10%"],singleAxisIndex:0,animationEasing:"linear",label:{margin:4,show:!0,position:"left",fontSize:11},emphasis:{label:{show:!0}}};return a}(ra),Hz=function(b){function a(a,d,e,f){var c=b.call(this)||this;c.z2=2;c.textConfig={inside:!0};S(c).seriesIndex=d.seriesIndex;var h=new ha({z2:4,silent:a.getModel().get(["label","silent"])});c.setTextContent(h);c.updateData(!0,a,d,e,f);return c}x(a,b);a.prototype.updateData=function(a,b,e,f,g){this.node=b;b.piece=this;e=e||this._seriesModel;f=f||this._ecModel;var c=this;S(c).dataIndex=b.dataIndex;var d=b.getModel(),l=d.getModel("emphasis"),m=b.getLayout(),n=F({},m);n.label=null;var p=b.getVisual("style");p.lineJoin="bevel";var q=b.getVisual("decal");q&&(p.decal=yg(q,g));g=nf(d.getModel("itemStyle"),n);F(n,g);r(tb,function(a){var b=c.ensureState(a);a=d.getModel([a,"itemStyle"]);b.style=a.getItemStyle();if(a=nf(a,n))b.shape=a});a?(c.setShape(n),c.shape.r=m.r0,ea(c,{shape:{r:m.r}},e,b.dataIndex)):ea(c,{shape:n},e);c.useStyle(p);this._updateLabel(e);(a=d.getShallow("cursor"))&&c.attr("cursor",a);this._seriesModel=e||this._seriesModel;this._ecModel=f||this._ecModel;e=l.get("focus");b="ancestor"===e?b.getAncestorsIndices():"descendant"===e?b.getDescendantIndices():null;va(this,b||e,l.get("blurScope"))};a.prototype._updateLabel=function(a){function c(a,c){var b=a.get(c);return null==b?g.get(c):b}var b=this,f=this.node.getModel(),g=f.getModel("label"),h=this.node.getLayout(),k=h.endAngle-h.startAngle,l=(h.startAngle+h.endAngle)/2,m=Math.cos(l),n=Math.sin(l),p=this,q=p.getTextContent(),t=this.node.dataIndex,u=g.get("minAngle")/180*Math.PI,k=g.get("show")&&!(null!=u&&Math.abs(k)<u);q.ignore=!k;r(Nd,function(d){var e="normal"===d?f.getModel("label"):f.getModel([d,"label"]),g="normal"===d,k=g?q:q.ensureState(d),u=a.getFormattedLabel(t,d);g&&(u=u||b.node.name);k.style=Ja(e,{},null,"normal"!==d,!0);u&&(k.style.text=u);u=e.get("show");null==u||g||(k.ignore=!u);u=c(e,"position");d=g?p:p.states[d];g=d.style.fill;d.textConfig={outsideFill:"inherit"===e.get("color")?g:null,inside:"outside"!==u};var r;d=c(e,"distance")||0;g=c(e,"align");"outside"===u?(r=h.r+d,g=l>Math.PI/2?"right":"left"):g&&"center"!==g?"left"===g?(r=h.r0+d,l>Math.PI/2&&(g="right")):"right"===g&&(r=h.r-d,l>Math.PI/2&&(g="left")):(r=(h.r+h.r0)/2,g="center");k.style.align=g;k.style.verticalAlign=c(e,"verticalAlign")||"middle";k.x=r*m+h.cx;k.y=r*n+h.cy;e=c(e,"rotate");r=0;"radial"===e?(r=-l,r<-Math.PI/2&&(r+=Math.PI)):"tangential"===e?(r=Math.PI/2-l,r>Math.PI/2?r-=Math.PI:r<-Math.PI/2&&(r+=Math.PI)):"number"===typeof e&&(r=e*Math.PI/180);k.rotation=r});q.dirtyStyle()};return a}(lb),ZL=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e,f){var c=this;this.seriesModel=a;this.api=e;this.ecModel=b;var d=a.getData(),k=d.tree.root;f=a.getViewRoot();var l=this.group,m=a.get("renderLabelForZeroData"),n=[];f.eachNode(function(a){n.push(a)});(function(c,f){function g(a){return a.getId()}function h(g,h){var n=null==g?null:c[g],p=null==h?null:f[h];m||!n||n.getValue()||(n=null);n!==k&&p!==k&&(p&&p.piece?n?(p.piece.updateData(!1,n,a,b,e),d.setItemGraphicEl(n.dataIndex,p.piece)):p&&p.piece&&(l.remove(p.piece),p.piece=null):n&&(p=new Hz(n,a,b,e),l.add(p),d.setItemGraphicEl(n.dataIndex,p)))}0===c.length&&0===f.length||(new sd(f,c,g,g)).add(h).update(h).remove(P(h,null)).execute()})(n,this._oldChildren||[]);(function(d,f){0<f.depth?(c.virtualPiece?c.virtualPiece.updateData(!1,d,a,b,e):(c.virtualPiece=new Hz(d,a,b,e),l.add(c.virtualPiece)),f.piece.off("click"),c.virtualPiece.on("click",function(a){c._rootToNode(f.parentNode)})):c.virtualPiece&&(l.remove(c.virtualPiece),c.virtualPiece=null)})(k,f);this._initEvents();this._oldChildren=n};a.prototype._initEvents=function(){var a=this;this.group.off("click");this.group.on("click",function(c){var b=!1;a.seriesModel.getViewRoot().eachNode(function(d){if(!b&&d.piece&&d.piece===c.target){var e=d.getModel().get("nodeClick");"rootToNode"===e?a._rootToNode(d):"link"===e&&(e=d.getModel(),d=e.get("link"))&&(e=e.get("target",!0)||"_blank",Ai(d,e));b=!0}})})};a.prototype._rootToNode=function(a){a!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:"sunburstRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:a})};a.prototype.containPoint=function(a,b){var c=b.getData().getItemLayout(0);if(c){var d=a[0]-c.cx,g=a[1]-c.cy,d=Math.sqrt(d*d+g*g);return d<=c.r&&d>=c.r0}};a.type="sunburst";return a}(oa),$L=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.ignoreStyleOnData=!0;return c}x(a,b);a.prototype.getInitialData=function(a,b){var c={name:a.name,children:a.data};Xv(c);var d=C(a.levels||[],function(a){return new la(a,this,b)},this),g=op.createTree(c,this,function(a){a.wrapMethod("getItemModel",function(a,c){var b=g.getNodeByDataIndex(c);(b=d[b.depth])&&(a.parentModel=b);return a})});return g.data};a.prototype.optionUpdated=function(){this.resetViewRoot()};a.prototype.getDataParams=function(a){var c=b.prototype.getDataParams.apply(this,arguments),e=this.getData().tree.getNodeByDataIndex(a);c.treePathInfo=Sm(e,this);return c};a.prototype.getViewRoot=function(){return this._viewRoot};a.prototype.resetViewRoot=function(a){a?this._viewRoot=a:a=this._viewRoot;var c=this.getRawData().tree.root;if(!a||a!==c&&!c.contains(a))this._viewRoot=c};a.prototype.enableAriaDecal=function(){Du(this)};a.type="series.sunburst";a.defaultOption={zlevel:0,z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,stillShowZeroSum:!0,nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0},itemStyle:{borderWidth:1,borderColor:"white",borderType:"solid",shadowBlur:0,shadowColor:"rgba(0, 0, 0, 0.2)",shadowOffsetX:0,shadowOffsetY:0,opacity:1},emphasis:{focus:"descendant"},blur:{itemStyle:{opacity:.2},label:{opacity:.1}},animationType:"expansion",animationDuration:1E3,animationDurationUpdate:500,data:[],levels:[],sort:"desc"};return a}(ra),Yv=Math.PI/180,fw={},vc=pc.CMD,kw=2*Math.PI,fG=["x","y"],eG=["width","height"],wc=[],Lb=ma(),Jh={x:1,y:1,scaleX:1,scaleY:1,originX:1,originY:1,rotation:1},Iz=ia(Jh).join(", "),qw={color:"fill",borderColor:"stroke"},jG={symbol:1,symbolSize:1,symbolKeepAspect:1,legendSymbol:1,visualMeta:1,liftZ:1,decal:1},rd=["normal","emphasis","blur","select"],Pn={normal:["itemStyle"],emphasis:["emphasis","itemStyle"],blur:["blur","itemStyle"],select:["select","itemStyle"]},Qn={normal:["label"],emphasis:["emphasis","label"],blur:["blur","label"],select:["select","label"]},Mb={normal:{},emphasis:{},blur:{},select:{}},iG={position:["x","y"],scale:["scaleX","scaleY"],origin:["originX","originY"]},je=new Dc,pw={cartesian2d:function(b){var a=b.master.getRect();return{coordSys:{type:"cartesian2d",x:a.x,y:a.y,width:a.width,height:a.height},api:{coord:function(a){return b.dataToPoint(a)},size:I(SF,b)}}},geo:function(b){var a=b.getBoundingRect();return{coordSys:{type:"geo",x:a.x,y:a.y,width:a.width,height:a.height,zoom:b.getZoom()},api:{coord:function(a){return b.dataToPoint(a)},size:I(TF,b)}}},singleAxis:function(b){var a=b.getRect();return{coordSys:{type:"singleAxis",x:a.x,y:a.y,width:a.width,height:a.height},api:{coord:function(a){return b.dataToPoint(a)},size:I(UF,b)}}},polar:function(b){var a=b.getRadiusAxis(),c=b.getAngleAxis(),d=a.getExtent();d[0]>d[1]&&d.reverse();return{coordSys:{type:"polar",cx:b.cx,cy:b.cy,r:d[1],r0:d[0]},api:{coord:function(d){var e=a.dataToRadius(d[0]);d=c.dataToAngle(d[1]);var g=b.coordToPoint([e,d]);g.push(e,d*Math.PI/180);return g},size:I(VF,b)}}},calendar:function(b){var a=b.getRect(),c=b.getRangeInfo();return{coordSys:{type:"calendar",x:a.x,y:a.y,width:a.width,height:a.height,cellWidth:b.getCellWidth(),cellHeight:b.getCellHeight(),rangeInfo:{start:c.start,end:c.end,weeks:c.weeks,dayCount:c.allDay}},api:{coord:function(a,c){return b.dataToPoint(a,c)}}}}},aM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.optionUpdated=function(){this.currentZLevel=this.get("zlevel",!0);this.currentZ=this.get("z",!0)};a.prototype.getInitialData=function(a,b){return sc(this.getSource(),this)};a.prototype.getDataParams=function(a,d,e){a=b.prototype.getDataParams.call(this,a,d);e&&(a.info=Lb(e).info);return a};a.type="series.custom";a.dependencies=["grid","polar","geo","singleAxis","calendar"];a.defaultOption={coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,clip:!1};return a}(ra),cM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e,f){var c=this._data,d=a.getData(),k=this.group,l=ow(a,d,b,e);b=a.__transientTransitionOpt;if(!b||null!=b.from&&null!=b.to){var m=new bM(a,b),n=b?"multiple":"oneToOne";(new sd(c?c.getIndices():[],d.getIndices(),lw(c,n,b&&b.from),lw(d,n,b&&b.to),null,n)).add(function(c){zf(e,null,c,l(c,f),a,k,d,null)}).remove(function(b){qj(c.getItemGraphicEl(b),a,k)}).update(function(b,g){m.reset("oneToOne");var h=c.getItemGraphicEl(g);m.findAndAddFrom(h);m.hasFrom()&&(h&&k.remove(h),h=null);zf(e,h,b,l(b,f),a,k,d,m);m.applyMorphing()}).updateManyToOne(function(b,g){m.reset("manyToOne");for(var h=0;h<g.length;h++){var n=c.getItemGraphicEl(g[h]);m.findAndAddFrom(n);n&&k.remove(n)}zf(e,null,b,l(b,f),a,k,d,m);m.applyMorphing()}).updateOneToMany(function(b,g){m.reset("oneToMany");var h=b.length,n=c.getItemGraphicEl(g);m.findAndAddFrom(n);n&&k.remove(n);for(n=0;n<h;n++)zf(e,null,b[n],l(b[n],f),a,k,d,m);m.applyMorphing()}).execute()}else c&&c.each(function(b){qj(c.getItemGraphicEl(b),a,k)}),d.each(function(c){zf(e,null,c,l(c,f),a,k,d,null)});(b=a.get("clip",!0)?Zi(a.coordinateSystem,!1,a):null)?k.setClipPath(b):k.removeClipPath();this._data=d};a.prototype.incrementalPrepareRender=function(a,b,e){this.group.removeAll();this._data=null};a.prototype.incrementalRender=function(a,b,e,f,g){function c(a){a.isGroup||(a.incremental=!0,a.ensureState("emphasis").hoverLayer=!0)}var d=b.getData();e=ow(b,d,e,f);for(f=a.start;f<a.end;f++)zf(null,null,f,e(f,g),b,this.group,d,null).traverse(c)};a.prototype.filterForExposedEvent=function(a,b,e,f){a=b.element;if(null==a||e.name===a)return!0;for(;(e=e.__hostTarget||e.parent)&&e!==this.group;)if(e.name===a)return!0;return!1};a.type="custom";return a}(oa),Nn;Nn=function(b,a,c){Xa(a)?O(a!==c,"Prop `"+b+"` must use different Array object each time for transition."):O(null!=a&&isFinite(a),"Prop `"+b+"` must refer to a finite number or ArrayLike for transition.")};var pj;pj=function(b,a){O(Jh.hasOwnProperty(b),"Prop `"+b+"` is not a permitted in `"+a+"`. Only `"+ia(Jh).join("`, `")+"` are permitted.")};Oh=Nh=Ma=void 0;var hG={setTransform:function(b,a){O(Jh.hasOwnProperty(b),"Only "+Iz+" available in `setTransform`.");Ma[b]=a;return this},getTransform:function(b){O(Jh.hasOwnProperty(b),"Only "+Iz+" available in `getTransform`.");return Ma[b]},setShape:function(b,a){yf(b);(Ma.shape||(Ma.shape={}))[b]=a;Nh=!0;return this},getShape:function(b){yf(b);var a=Ma.shape;if(a)return a[b]},setStyle:function(b,a){yf(b);var c=Ma.style;c&&(Nc(a)&&Pe("style."+b+" must not be assigned with NaN."),c[b]=a,Oh=!0);return this},getStyle:function(b){yf(b);var a=Ma.style;if(a)return a[b]},setExtra:function(b,a){yf(b);(Ma.extra||(Ma.extra={}))[b]=a;return this},getExtra:function(b){yf(b);var a=Ma.extra;if(a)return a[b]}},bM=function(){function b(a,c){this._fromList=[];this._toList=[];this._toElOptionList=[];this._allPropsFinalList=[];this._toDataIndices=[];this._morphConfigList=[];this._seriesModel=a;this._transOpt=c}b.prototype.hasFrom=function(){return!!this._fromList.length};b.prototype.findAndAddFrom=function(a){if(a&&(Lb(a).canMorph&&this._fromList.push(a),a.isGroup)){a=a.childrenRef();for(var c=0;c<a.length;c++)this.findAndAddFrom(a[c])}};b.prototype.addTo=function(a,c,b,e){a&&(this._toList.push(a),this._toElOptionList.push(c),this._toDataIndices.push(b),this._allPropsFinalList.push(e))};b.prototype.applyMorphing=function(){var a=this._type,c=this._toList.length,b=this._fromList.length;if(b&&c)if("oneToOne"===a)for(a=0;a<c;a++)this._oneToOneForSingleTo(a,a);else if("manyToOne"===a)for(var e=Math.max(1,Math.floor(b/c)),f=a=0;a<c;a++,f+=e)this._manyToOneForSingleTo(a,f>=b?null:f,a+1>=c?b-f:e);else if("oneToMany"===a)for(a=Math.max(1,Math.floor(c/b)),f=e=0;e<c;e+=a,f++)this._oneToManyForSingleFrom(e,e+a>=c?c-e:a,f>=b?null:f)};b.prototype._oneToOneForSingleTo=function(a,c){var b=this._toList[a],e=this._toElOptionList[a],f=this._toDataIndices[a],g=this._allPropsFinalList[a],h=this._fromList[c],k=this._getOrCreateMorphConfig(f),l=k.duration;if(h&&h.__combiningSubList)$g(b,g,e.style),l&&(b=jw([h],b,k,rj),this._processResultIndividuals(b,a,null));else{if(l=l&&h)(l=h!==b)||(l=null!=h.__oldBuildPath||!!h.__combiningSubList);h=l?h:null;l={};oj("shape",b,h,e,l,!1);oj("extra",b,h,e,l,!1);Jn(b,h,e,l,!1);Ln(b,h,e,e.style,l,!1);$g(b,g,e.style);h&&Cn(h,b,k);Mn(b,f,e,this._seriesModel,l,!1)}};b.prototype._manyToOneForSingleTo=function(a,c,b){var d=this._toList[a];$g(d,this._allPropsFinalList[a],this._toElOptionList[a].style);var f=this._getOrCreateMorphConfig(this._toDataIndices[a]);if(f.duration&&null!=c){for(var g=[];c<b;c++)g.push(this._fromList[c]);b=jw(g,d,f,rj);this._processResultIndividuals(b,a,null)}};b.prototype._oneToManyForSingleFrom=function(a,c,b){b=null==b?null:this._fromList[b];for(var d=this._toList,f=[],g=a;g<c;g++){var h=d[g];$g(h,this._allPropsFinalList[g],this._toElOptionList[g].style);f.push(h)}d=this._getOrCreateMorphConfig(this._toDataIndices[a]);if(d.duration&&b){var g=f.length,k;k=d?d.dividingMethod:null;h=!1;if(b.__combiningSubList){var l=b.__combiningSubList;l.length===g?k=l:(k=Dn(b,g,k),h=!0)}else k=Dn(b,g,k),h=!0;O(k.length===g);for(l=0;l<g;l++)h&&rj&&rj(b,k[l],!1),Cn(k[l],f[l],d);this._processResultIndividuals({fromIndividuals:k,toIndividuals:f,count:g},a,c)}};b.prototype._processResultIndividuals=function(a,c,b){b=null!=b;for(var d=0;d<a.count;d++){var f=a.fromIndividuals[d],g=a.toIndividuals[d],h=c+(b?d:0),k=this._toElOptionList[h],h=this._toDataIndices[h],l={};Jn(g,f,k,l,!1);Ln(g,f,k,k.style,l,!1);Mn(g,h,k,this._seriesModel,l,!1)}};b.prototype._getOrCreateMorphConfig=function(a){var c=this._morphConfigList,b=c[a];if(b)return b;var e,f,g,h=this._seriesModel,b=this._transOpt;h.isAnimationEnabled()&&(g=void 0,h&&h.ecModel&&(g=(f=h.ecModel.getUpdatePayload())&&f.animation),g?(e=g.duration||0,f=g.easing||"cubicOut",g=g.delay||0):(f=h.get("animationEasingUpdate"),e=h.get("animationDelayUpdate"),g=fa(e)?e(a):e,h=h.get("animationDurationUpdate"),e=fa(h)?h(a):h));b={duration:e||0,delay:g,easing:f,dividingMethod:b?b.dividingMethod:null};return c[a]=b};b.prototype.reset=function(a){this._type=a;this._fromList.length=this._toList.length=this._toElOptionList.length=this._allPropsFinalList.length=this._toDataIndices.length=0};return b}(),ke=ma(),wp=I,xp=function(){function b(){this._dragging=!1;this.animationThreshold=15}b.prototype.render=function(a,c,b,e){var d=c.get("value"),g=c.get("status");this._axisModel=a;this._axisPointerModel=c;this._api=b;if(e||this._lastValue!==d||this._lastStatus!==g){this._lastValue=d;this._lastStatus=g;e=this._group;var h=this._handle;g&&"hide"!==g?(e&&e.show(),h&&h.show(),g={},this.makeElOption(g,d,a,c,b),h=g.graphicKey,h!==this._lastGraphicKey&&this.clear(b),this._lastGraphicKey=h,h=this._moveAnimation=this.determineAnimation(a,c),e?(a=P(vw,c,h),this.updatePointerEl(e,g,a),this.updateLabelEl(e,g,a,c)):(e=this._group=new M,this.createPointerEl(e,g,a,c),this.createLabelEl(e,g,a,c),b.getZr().add(e)),yw(e,c,!0),this._renderHandle(d)):(e&&e.hide(),h&&h.hide())}};b.prototype.remove=function(a){this.clear(a)};b.prototype.dispose=function(a){this.clear(a)};b.prototype.determineAnimation=function(a,c){var b=c.get("animation"),e=a.axis,f="category"===e.type,g=c.get("snap");return g||f?"auto"===b||null==b?(b=this.animationThreshold,f&&e.getBandWidth()>b?!0:g?(f=Fm(a).seriesDataCount,e=e.getExtent(),Math.abs(e[0]-e[1])/f>b):!1):!0===b:!1};b.prototype.makeElOption=function(a,c,b,e,f){};b.prototype.createPointerEl=function(a,c,b,e){if(b=c.pointer)c=ke(a).pointerEl=new Yg[b.type](J(c.pointer)),a.add(c)};b.prototype.createLabelEl=function(a,c,b,e){c.label&&(c=ke(a).labelEl=new ha(J(c.label)),a.add(c),xw(c,e))};b.prototype.updatePointerEl=function(a,c,b){(a=ke(a).pointerEl)&&c.pointer&&(a.setStyle(c.pointer.style),b(a,{shape:c.pointer.shape}))};b.prototype.updateLabelEl=function(a,c,b,e){if(a=ke(a).labelEl)a.setStyle(c.label.style),b(a,{x:c.label.x,y:c.label.y}),xw(a,e)};b.prototype._renderHandle=function(a){if(!this._dragging&&this.updateHandleTransform){var c=this._axisPointerModel,b=this._api.getZr(),e=this._handle,f=c.getModel("handle"),g=c.get("status");if(f.get("show")&&g&&"hide"!==g){var h;this._handle||(h=!0,e=this._handle=Ze(f.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(a){Bc(a.event)},onmousedown:wp(this._onHandleDragMove,this,0,0),drift:wp(this._onHandleDragMove,this),ondragend:wp(this._onHandleDragEnd,this)}),b.add(e));yw(e,c,!1);e.setStyle(f.getItemStyle(null,"color borderColor borderWidth opacity shadowColor shadowBlur shadowOffsetX shadowOffsetY".split(" ")));c=f.get("size");A(c)||(c=[c,c]);e.scaleX=c[0]/2;e.scaleY=c[1]/2;tg(this,"_doDispatchAxisPointer",f.get("throttle")||0,"fixRate");this._moveHandleToValue(a,h)}else e&&b.remove(e),this._handle=null}};b.prototype._moveHandleToValue=function(a,c){vw(this._axisPointerModel,!c&&this._moveAnimation,this._handle,Tn(this.getHandleTransform(a,this._axisModel,this._axisPointerModel)))};b.prototype._onHandleDragMove=function(a,c){var b=this._handle;if(b){this._dragging=!0;var e=this.updateHandleTransform(Tn(b),[a,c],this._axisModel,this._axisPointerModel);this._payloadInfo=e;b.stopAnimation();b.attr(Tn(e));ke(b).lastProp=null;this._doDispatchAxisPointer()}};b.prototype._doDispatchAxisPointer=function(){if(this._handle){var a=this._payloadInfo,c=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:a.cursorPoint[0],y:a.cursorPoint[1],tooltipOption:a.tooltipOption,axesInfo:[{axisDim:c.axis.dim,axisIndex:c.componentIndex}]})}};b.prototype._onHandleDragEnd=function(){this._dragging=!1;if(this._handle){var a=this._axisPointerModel.get("value");this._moveHandleToValue(a);this._api.dispatchAction({type:"hideTip"})}};b.prototype.clear=function(a){this._lastStatus=this._lastValue=null;a=a.getZr();var c=this._group,b=this._handle;a&&c&&(this._lastGraphicKey=null,c&&a.remove(c),b&&a.remove(b),this._payloadInfo=this._handle=this._group=null)};b.prototype.doClear=function(){};b.prototype.buildLabel=function(a,c,b){b=b||0;return{x:a[b],y:a[1-b],width:c[b],height:c[1-b]}};return b}(),yG=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.makeElOption=function(a,b,e,f,g){var c=e.axis,d=c.grid,l=f.get("type"),m=Dw(d,c).getOtherAxis(c).getGlobalExtent(),n=c.toGlobalCoord(c.dataToCoord(b,!0));if(l&&"none"!==l){var p=Un(f),c=dM[l](c,n,m);c.style=p;a.graphicKey=c.type;a.pointer=c}d=Bm(d.model,e);Bw(b,a,d,e,f,g)};a.prototype.getHandleTransform=function(a,b,e){var c=Bm(b.axis.grid.model,b,{labelInside:!1});c.labelMargin=e.get(["handle","margin"]);a=Vn(b.axis,a,c);return{x:a[0],y:a[1],rotation:c.rotation+(0>c.labelDirection?Math.PI:0)}};a.prototype.updateHandleTransform=function(a,b,e,f){f=e.axis;var c=f.grid;e=f.getGlobalExtent(!0);var d=Dw(c,f).getOtherAxis(f).getGlobalExtent();f="x"===f.dim?0:1;c=[a.x,a.y];c[f]+=b[f];c[f]=Math.min(e[1],c[f]);c[f]=Math.max(e[0],c[f]);b=(d[1]+d[0])/2;b=[b,b];b[f]=c[f];return{x:c[0],y:c[1],rotation:a.rotation,cursorPoint:b,tooltipOption:[{verticalAlign:"middle"},{align:"center"}][f]}};return a}(xp),dM={line:function(b,a,c){return{type:"Line",subPixelOptimize:!0,shape:Wn([a,c[0]],[a,c[1]],"x"===b.dim?0:1)}},shadow:function(b,a,c){var d=Math.max(1,b.getBandWidth());return{type:"Rect",shape:Cw([a-d/2,c[0]],[d,c[1]-c[0]],"x"===b.dim?0:1)}}},zG=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="axisPointer";a.defaultOption={show:"auto",zlevel:0,z:50,type:"line",snap:!1,triggerTooltip:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#B9BEC9",width:1,type:"dashed"},shadowStyle:{color:"rgba(210,219,238,0.2)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,borderRadius:3},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}};return a}(W),Kc=ma(),oG=r,AG=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e){b=b.getComponent("tooltip");var c=a.get("triggerOn")||b&&b.get("triggerOn")||"mousemove|click";Ew("axisPointer",e,function(a,b,d){"none"!==c&&("leave"===a||0<=c.indexOf(a))&&d({type:"updateAxisPointer",currTrigger:a,x:b&&b.offsetX,y:b&&b.offsetY})})};a.prototype.remove=function(a,b){Xn("axisPointer",b)};a.prototype.dispose=function(a,b){Xn("axisPointer",b)};a.type="axisPointer";return a}(na),Jw=ma(),fM=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.makeElOption=function(a,b,e,f,g){var c=e.axis;"angle"===c.dim&&(this.animationThreshold=Math.PI/18);var d=c.polar,l=d.getOtherAxis(c).getExtent(),m=c.dataToCoord(b),n=f.get("type");if(n&&"none"!==n){var p=Un(f),c=eM[n](c,d,m,l);c.style=p;a.graphicKey=c.type;a.pointer=c}p=f.get(["label","margin"]);l=e.axis;b=l.dataToCoord(b);c=d.getAngleAxis().getExtent()[0];c=c/180*Math.PI;m=d.getRadiusAxis().getExtent();"radius"===l.dim?(l=nb(),Tc(l,l,c),Rb(l,l,[d.cx,d.cy]),b=Wb([b,-p],l),d=e.getModel("axisLabel").get("rotate")||0,p=mb.innerTextLayout(c,d*Math.PI/180,-1),d=p.textAlign,p=p.textVerticalAlign):(c=m[1],b=d.coordToPoint([c+p,b]),p=d.cx,l=d.cy,d=.3>Math.abs(b[0]-p)/c?"center":b[0]>p?"left":"right",p=.3>Math.abs(b[1]-l)/c?"middle":b[1]>l?"top":"bottom");zw(a,e,f,g,{position:b,align:d,verticalAlign:p})};return a}(xp),eM={line:function(b,a,c,d){return"angle"===b.dim?{type:"Line",shape:Wn(a.coordToPoint([d[0],c]),a.coordToPoint([d[1],c]))}:{type:"Circle",shape:{cx:a.cx,cy:a.cy,r:c}}},shadow:function(b,a,c,d){var e=Math.max(1,b.getBandWidth()),f=Math.PI/180;return"angle"===b.dim?{type:"Sector",shape:{cx:a.cx,cy:a.cy,r0:d[0],r:d[1],startAngle:(-c-e/2)*f,endAngle:(-c+e/2)*f,clockwise:!0}}:{type:"Sector",shape:{cx:a.cx,cy:a.cy,r0:c-e/2,r:c+e/2,startAngle:0,endAngle:2*Math.PI,clockwise:!0}}}},gM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.findAxisModel=function(a){var c;this.ecModel.eachComponent(a,function(a){a.getCoordSysModel()===this&&(c=a)},this);return c};a.type="polar";a.dependencies=["radiusAxis","angleAxis"];a.defaultOption={zlevel:0,z:0,center:["50%","50%"],radius:"80%"};return a}(W),yp=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.getCoordSysModel=function(){return this.getReferringComponents("polar",Da).models[0]};a.type="polarAxis";return a}(W);wa(yp,Lf);var hM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="angleAxis";return a}(yp),iM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="radiusAxis";return a}(yp),zp=function(b){function a(a,d){return b.call(this,"radius",a,d)||this}x(a,b);a.prototype.pointToData=function(a,b){return this.polar.pointToData(a,b)["radius"===this.dim?0:1]};return a}(Pb);zp.prototype.dataToRadius=Pb.prototype.dataToCoord;zp.prototype.radiusToData=Pb.prototype.coordToData;var jM=ma(),Ap=function(b){function a(a,d){return b.call(this,"angle",a,d||[0,360])||this}x(a,b);a.prototype.pointToData=function(a,b){return this.polar.pointToData(a,b)["radius"===this.dim?0:1]};a.prototype.calculateCategoryInterval=function(){var a=this.getLabelModel(),b=this.scale,e=b.getExtent(),b=b.count();if(1>e[1]-e[0])return 0;var e=e[0],f=this.dataToCoord(e+1)-this.dataToCoord(e),f=Math.abs(f),a=$f(null==e?"":e+"",a.getFont(),"center","top"),a=Math.max(a.height,7)/f;isNaN(a)&&(a=Infinity);var a=Math.max(0,Math.floor(a)),e=jM(this.model),f=e.lastAutoInterval,g=e.lastTickCount;null!=f&&null!=g&&1>=Math.abs(f-a)&&1>=Math.abs(g-b)&&f>a?a=f:(e.lastTickCount=b,e.lastAutoInterval=a);return a};return a}(Pb);Ap.prototype.dataToAngle=Pb.prototype.dataToCoord;Ap.prototype.angleToData=Pb.prototype.coordToData;var Jz=function(){function b(a){this.dimensions=["radius","angle"];this.type="polar";this.cy=this.cx=0;this._radiusAxis=new zp;this._angleAxis=new Ap;this.axisPointerEnabled=!0;this.name=a||"";this._radiusAxis.polar=this._angleAxis.polar=this}b.prototype.containPoint=function(a){a=this.pointToCoord(a);return this._radiusAxis.contain(a[0])&&this._angleAxis.contain(a[1])};b.prototype.containData=function(a){return this._radiusAxis.containData(a[0])&&this._angleAxis.containData(a[1])};b.prototype.getAxis=function(a){return this["_"+a+"Axis"]};b.prototype.getAxes=function(){return[this._radiusAxis,this._angleAxis]};b.prototype.getAxesByScale=function(a){var c=[],b=this._angleAxis,e=this._radiusAxis;b.scale.type===a&&c.push(b);e.scale.type===a&&c.push(e);return c};b.prototype.getAngleAxis=function(){return this._angleAxis};b.prototype.getRadiusAxis=function(){return this._radiusAxis};b.prototype.getOtherAxis=function(a){var c=this._angleAxis;return a===c?this._radiusAxis:c};b.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()};b.prototype.getTooltipAxes=function(a){a=null!=a&&"auto"!==a?this.getAxis(a):this.getBaseAxis();return{baseAxes:[a],otherAxes:[this.getOtherAxis(a)]}};b.prototype.dataToPoint=function(a,c){return this.coordToPoint([this._radiusAxis.dataToRadius(a[0],c),this._angleAxis.dataToAngle(a[1],c)])};b.prototype.pointToData=function(a,c){var b=this.pointToCoord(a);return[this._radiusAxis.radiusToData(b[0],c),this._angleAxis.angleToData(b[1],c)]};b.prototype.pointToCoord=function(a){var c=a[0]-this.cx,b=a[1]-this.cy,e=this.getAngleAxis(),f=e.getExtent();a=Math.min(f[0],f[1]);f=Math.max(f[0],f[1]);e.inverse?a=f-360:f=a+360;e=Math.sqrt(c*c+b*b);c=Math.atan2(-(b/e),c/e)/Math.PI*180;for(b=c<a?1:-1;c<a||c>f;)c+=360*b;return[e,c]};b.prototype.coordToPoint=function(a){var c=a[0];a=a[1]/180*Math.PI;return[Math.cos(a)*c+this.cx,-Math.sin(a)*c+this.cy]};b.prototype.getArea=function(){var a=this.getAngleAxis(),c=this.getRadiusAxis().getExtent().slice();c[0]>c[1]&&c.reverse();var b=a.getExtent(),e=Math.PI/180;return{cx:this.cx,cy:this.cy,r0:c[0],r:c[1],startAngle:-b[0]*e,endAngle:-b[1]*e,clockwise:a.inverse,contain:function(a,c){var b=a-this.cx,d=c-this.cy,b=b*b+d*d,d=this.r,e=this.r0;return b<=d*d&&b>=e*e}}};b.prototype.convertToPixel=function(a,c,b){return Kw(c)===this?this.dataToPoint(b):null};b.prototype.convertFromPixel=function(a,c,b){return Kw(c)===this?this.pointToData(b):null};return b}(),kM={dimensions:Jz.prototype.dimensions,create:function(b,a){var c=[];b.eachComponent("polar",function(b,e){var d=new Jz(e+"");d.update=BG;var g=d.getRadiusAxis(),h=d.getAngleAxis(),k=b.findAxisModel("radiusAxis"),l=b.findAxisModel("angleAxis");Lw(g,k);Lw(h,l);g=b.get("center");h=a.getWidth();k=a.getHeight();d.cx=H(g[0],h);d.cy=H(g[1],k);g=d.getRadiusAxis();h=Math.min(h,k)/2;k=b.get("radius");null==k?k=[0,"100%"]:A(k)||(k=[0,k]);h=[H(k[0],h),H(k[1],h)];g.inverse?g.setExtent(h[1],h[0]):g.setExtent(h[0],h[1]);c.push(d);b.coordinateSystem=d;d.model=b});b.eachSeries(function(a){if("polar"===a.get("coordinateSystem")){var c=a.getReferringComponents("polar",Da).models[0];if(!c)throw Error('Polar "'+Ba(a.get("polarIndex"),a.get("polarId"),0)+'" not found');a.coordinateSystem=c.coordinateSystem}});return c}},lM="axisLine axisLabel axisTick minorTick splitLine minorSplitLine splitArea".split(" "),nM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.axisPointerClass="PolarAxisPointer";return c}x(a,b);a.prototype.render=function(a,b){this.group.removeAll();if(a.get("show")){var c=a.axis,d=c.polar,g=d.getRadiusAxis().getExtent(),h=c.getTicksCoords(),k=c.getMinorTicksCoords(),l=C(c.getViewLabels(),function(a){a=J(a);var b=c.scale,b="ordinal"===b.type?b.getRawOrdinalNumber(a.tickValue):a.tickValue;a.coord=c.dataToCoord(b);return a});Mw(l);Mw(h);r(lM,function(b){if(a.get([b,"show"])&&(!c.scale.isBlank()||"axisLine"===b))mM[b](this.group,a,d,h,k,g,l)},this)}};a.type="angleAxis";return a}(le),mM={axisLine:function(b,a,c,d,e,f){a=a.getModel(["axisLine","lineStyle"]);e=(d=c.getRadiusAxis().inverse?0:1)?0:1;c=0===f[e]?new Nb({shape:{cx:c.cx,cy:c.cy,r:f[d]},style:a.getLineStyle(),z2:1,silent:!0}):new Hf({shape:{cx:c.cx,cy:c.cy,r:f[d],r0:f[e]},style:a.getLineStyle(),z2:1,silent:!0});c.style.fill=null;b.add(c)},axisTick:function(b,a,c,d,e,f){e=a.getModel("axisTick");var g=(e.get("inside")?-1:1)*e.get("length"),h=f[c.getRadiusAxis().inverse?0:1];d=C(d,function(a){return new Ua({shape:tj(c,[h,h+g],a.coord)})});b.add(xb(d,{style:K(e.getModel("lineStyle").getLineStyle(),{stroke:a.get(["axisLine","lineStyle","color"])})}))},minorTick:function(b,a,c,d,e,f){if(e.length){d=a.getModel("axisTick");var g=a.getModel("minorTick"),h=(d.get("inside")?-1:1)*g.get("length");f=f[c.getRadiusAxis().inverse?0:1];for(var k=[],l=0;l<e.length;l++)for(var m=0;m<e[l].length;m++)k.push(new Ua({shape:tj(c,[f,f+h],e[l][m].coord)}));b.add(xb(k,{style:K(g.getModel("lineStyle").getLineStyle(),K(d.getLineStyle(),{stroke:a.get(["axisLine","lineStyle","color"])}))}))}},axisLabel:function(b,a,c,d,e,f,g){var h=a.getCategories(!0),k=a.getModel("axisLabel"),l=k.get("margin"),m=a.get("triggerEvent");r(g,function(d,e){var g=k,n=d.tickValue,p=f[c.getRadiusAxis().inverse?0:1],r=c.coordToPoint([p+l,d.coord]),v=c.cx,z=c.cy,v=.3>Math.abs(r[0]-v)/p?"center":r[0]>v?"left":"right",p=.3>Math.abs(r[1]-z)/p?"middle":r[1]>z?"top":"bottom";h&&h[n]&&(n=h[n],N(n)&&n.textStyle&&(g=new la(n.textStyle,k,k.ecModel)));g=new ha({silent:mb.isLabelSilent(a),style:Ja(g,{x:r[0],y:r[1],fill:g.getTextColor()||a.get(["axisLine","lineStyle","color"]),text:d.formattedLabel,align:v,verticalAlign:p})});b.add(g);m&&(r=mb.makeAxisEventDataBase(a),r.targetType="axisLabel",r.value=d.rawLabel,S(g).eventData=r)},this)},splitLine:function(b,a,c,d,e,f){e=a.getModel("splitLine").getModel("lineStyle");for(var g=e.get("color"),h=0,g=g instanceof Array?g:[g],k=[],l=0;l<d.length;l++){var m=h++%g.length;k[m]=k[m]||[];k[m].push(new Ua({shape:tj(c,f,d[l].coord)}))}for(l=0;l<k.length;l++)b.add(xb(k[l],{style:K({stroke:g[l%g.length]},e.getLineStyle()),silent:!0,z:a.get("z")}))},minorSplitLine:function(b,a,c,d,e,f){if(e.length){d=a.getModel("minorSplitLine").getModel("lineStyle");for(var g=[],h=0;h<e.length;h++)for(var k=0;k<e[h].length;k++)g.push(new Ua({shape:tj(c,f,e[h][k].coord)}));b.add(xb(g,{style:d.getLineStyle(),silent:!0,z:a.get("z")}))}},splitArea:function(b,a,c,d,e,f){if(d.length){e=a.getModel("splitArea").getModel("areaStyle");var g=e.get("color"),h=0,g=g instanceof Array?g:[g],k=[],l=Math.PI/180,m=-d[0].coord*l,n=Math.min(f[0],f[1]);f=Math.max(f[0],f[1]);a=a.get("clockwise");for(var p=1,q=d.length;p<=q;p++){var t=p===q?d[0].coord:d[p].coord,r=h++%g.length;k[r]=k[r]||[];k[r].push(new lb({shape:{cx:c.cx,cy:c.cy,r0:n,r:f,startAngle:m,endAngle:-t*l,clockwise:a},silent:!0}));m=-t*l}for(p=0;p<k.length;p++)b.add(xb(k[p],{style:K({fill:g[p%g.length]},e.getAreaStyle()),silent:!0}))}}},oM=["axisLine","axisTickLabel","axisName"],pM=["splitLine","splitArea","minorSplitLine"],rM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.axisPointerClass="PolarAxisPointer";return c}x(a,b);a.prototype.render=function(a,b){this.group.removeAll();if(a.get("show")){var c=this._axisGroup,d=this._axisGroup=new M;this.group.add(d);var g=a.axis,h=g.polar,k=h.getAngleAxis(),l=g.getTicksCoords(),m=g.getMinorTicksCoords(),n=k.getExtent()[0],p=g.getExtent(),k={position:[h.cx,h.cy],rotation:n/180*Math.PI,labelDirection:-1,tickDirection:-1,nameDirection:1,labelRotate:a.getModel("axisLabel").get("rotate"),z2:1},k=new mb(a,k);r(oM,k.add,k);d.add(k.getGroup());jg(c,d,a);r(pM,function(c){if(a.get([c,"show"])&&!g.scale.isBlank())qM[c](this.group,a,h,n,p,l,m)},this)}};a.type="radiusAxis";return a}(le),qM={splitLine:function(b,a,c,d,e,f){a=a.getModel("splitLine").getModel("lineStyle");d=a.get("color");e=0;d=d instanceof Array?d:[d];for(var g=[],h=0;h<f.length;h++){var k=e++%d.length;g[k]=g[k]||[];g[k].push(new Nb({shape:{cx:c.cx,cy:c.cy,r:f[h].coord}}))}for(h=0;h<g.length;h++)b.add(xb(g[h],{style:K({stroke:d[h%d.length],fill:null},a.getLineStyle()),silent:!0}))},minorSplitLine:function(b,a,c,d,e,f,g){if(g.length){a=a.getModel("minorSplitLine").getModel("lineStyle");d=[];for(e=0;e<g.length;e++)for(f=0;f<g[e].length;f++)d.push(new Nb({shape:{cx:c.cx,cy:c.cy,r:g[e][f].coord}}));b.add(xb(d,{style:K({fill:null},a.getLineStyle()),silent:!0}))}},splitArea:function(b,a,c,d,e,f){if(f.length){a=a.getModel("splitArea").getModel("areaStyle");d=a.get("color");e=0;d=d instanceof Array?d:[d];for(var g=[],h=f[0].coord,k=1;k<f.length;k++){var l=e++%d.length;g[l]=g[l]||[];g[l].push(new lb({shape:{cx:c.cx,cy:c.cy,r0:h,r:f[k].coord,startAngle:0,endAngle:2*Math.PI},silent:!0}));h=f[k].coord}for(k=0;k<g.length;k++)b.add(xb(g[k],{style:K({fill:d[k%d.length]},a.getAreaStyle()),silent:!0}))}}},sM={startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:0}},tM={splitNumber:5},uM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="polar";return a}(na),jk=function(b){function a(a,d,e,f){a=b.call(this,a)||this;a.dimensions=["lng","lat"];a.type="geo";a.map=d;d=Ih.load(d,e);a._nameCoordMap=d.nameCoordMap;a._regionsMap=d.regionsMap;a._invertLongitute=null==f?!0:f;a.regions=d.regions;a._rect=d.boundingRect;return a}x(a,b);a.prototype.containCoord=function(a){for(var c=this.regions,b=0;b<c.length;b++)if(c[b].contain(a))return!0;return!1};a.prototype.transformTo=function(a,b,e,f){var c=this.getBoundingRect(),d=this._invertLongitute,c=c.clone();d&&(c.y=-c.y-c.height);var k=this._rawTransformable;k.transform=c.calculateTransform(new aa(a,b,e,f));k.decomposeTransform();d&&(k.scaleY=-k.scaleY);k.updateTransform();this._updateTransform()};a.prototype.getRegion=function(a){return this._regionsMap.get(a)};a.prototype.getRegionByCoord=function(a){for(var c=this.regions,b=0;b<c.length;b++)if(c[b].contain(a))return c[b]};a.prototype.addGeoCoord=function(a,b){this._nameCoordMap.set(a,b)};a.prototype.getGeoCoord=function(a){return this._nameCoordMap.get(a)};a.prototype.getBoundingRect=function(){return this._rect};a.prototype.dataToPoint=function(a,b,e){"string"===typeof a&&(a=this.getGeoCoord(a));if(a)return tf.prototype.dataToPoint.call(this,a,b,e)};a.prototype.convertToPixel=function(a,b,e){a=Ow(b);return a===this?a.dataToPoint(e):null};a.prototype.convertFromPixel=function(a,b,e){a=Ow(b);return a===this?a.pointToData(e):null};return a}(tf);wa(jk,tf);var Kz=new (function(){function b(){this.dimensions=jk.prototype.dimensions}b.prototype.create=function(a,c){var b=[];a.eachComponent("geo",function(a,d){var e=a.get("map"),f=a.get("aspectScale"),g=!0,m=Ri.retrieveMap(e);m&&m[0]&&"svg"===m[0].type?(null==f&&(f=1),g=!1):null==f&&(f=.75);e=new jk(e+d,e,a.get("nameMap"),g);e.aspectScale=f;e.zoomLimit=a.get("scaleLimit");b.push(e);a.coordinateSystem=e;e.model=a;e.resize=Pw;e.resize(a,c)});a.eachSeries(function(a){if("geo"===a.get("coordinateSystem")){var c=a.get("geoIndex")||0;a.coordinateSystem=b[c]}});var e={};a.eachSeriesByType("map",function(a){if(!a.getHostGeoModel()){var c=a.getMapType();e[c]=e[c]||[];e[c].push(a)}});r(e,function(a,d){var e=C(a,function(a){return a.get("nameMap")}),f=new jk(d,d,Ph(e));f.zoomLimit=Ba.apply(null,C(a,function(a){return a.get("scaleLimit")}));b.push(f);f.resize=Pw;f.aspectScale=a[0].get("aspectScale");f.resize(a[0],c);r(a,function(a){a.coordinateSystem=f;EG(f,a)})});return b};b.prototype.getFilledRegions=function(a,c,b){var d=(a||[]).slice(),f=R();for(a=0;a<d.length;a++)f.set(d[a].name,d[a]);c=Ih.load(c,b);r(c.regions,function(a){a=a.name;!f.get(a)&&d.push({name:a})});return d};return b}()),vM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(a,d,e){b.prototype.init.call(this,a,d,e);Id(a,"label",["show"])};a.prototype.optionUpdated=function(){var a=this.option,b=this;a.regions=Kz.getFilledRegions(a.regions,a.map,a.nameMap);var e={};this._optionModelMap=Ed(a.regions||[],function(a,c){var d=c.name;d&&(a.set(d,new la(c,b)),c.selected&&(e[d]=!0));return a},R());a.selectedMap||(a.selectedMap=e)};a.prototype.getRegionModel=function(a){return this._optionModelMap.get(a)||new la(null,this,this.ecModel)};a.prototype.getFormattedLabel=function(a,b){var c=this.getRegionModel(a),c="normal"===b?c.get(["label","formatter"]):c.get(["emphasis","label","formatter"]),d={name:a};if("function"===typeof c)return d.status=b,c(d);if("string"===typeof c)return c.replace("{a}",null!=a?a:"")};a.prototype.setZoom=function(a){this.option.zoom=a};a.prototype.setCenter=function(a){this.option.center=a};a.prototype.select=function(a){var c=this.option,b=c.selectedMode;b&&("multiple"!==b&&(c.selectedMap=null),(c.selectedMap||(c.selectedMap={}))[a]=!0)};a.prototype.unSelect=function(a){var c=this.option.selectedMap;c&&(c[a]=!1)};a.prototype.toggleSelected=function(a){this[this.isSelected(a)?"unSelect":"select"](a)};a.prototype.isSelected=function(a){var c=this.option.selectedMap;return!(!c||!c[a])};a.prototype._initSelectedMapFromData=function(){};a.type="geo";a.layoutMode="box";a.defaultOption={zlevel:0,z:0,show:!0,left:"center",top:"center",aspectScale:null,silent:!1,map:"",boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",color:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},select:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},regions:[]};return a}(W),wM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(a,b){var c=new rz(b);this._mapDraw=c;this.group.add(c.group);this._api=b};a.prototype.render=function(a,b,e,f){var c=this._mapDraw;a.get("show")?c.draw(a,b,e,this,f):this._mapDraw.group.removeAll();c.group.on("click",this._handleRegionClick,this);c.group.silent=a.get("silent");this._model=a;this.updateSelectStatus(a,b,e)};a.prototype._handleRegionClick=function(a){a=a.target;for(var c;a&&null==(c=S(a).eventData);)a=a.__hostTarget||a.parent;c&&this._api.dispatchAction({type:"geoToggleSelect",geoId:this._model.id,name:c.name})};a.prototype.updateSelectStatus=function(a,b,e){var c=this;this._mapDraw.group.traverse(function(a){var b=S(a).eventData;if(b)return c._model.isSelected(b.name)?e.enterSelect(a):e.leaveSelect(a),!0})};a.prototype.dispose=function(){this._mapDraw&&this._mapDraw.remove()};a.type="geo";return a}(na),xM=["axisLine","axisTickLabel","axisName"],yM=["splitArea","splitLine"],AM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.axisPointerClass="SingleAxisPointer";return c}x(a,b);a.prototype.render=function(a,d,e,f){var c=this.group;c.removeAll();var h=this._axisGroup;this._axisGroup=new M;var k=Yn(a),k=new mb(a,k);r(xM,k.add,k);c.add(this._axisGroup);c.add(k.getGroup());r(yM,function(c){if(a.get([c,"show"]))zM[c](this,this.group,this._axisGroup,a)},this);jg(h,this._axisGroup,a);b.prototype.render.call(this,a,d,e,f)};a.prototype.remove=function(){aj(this).splitAreaColors=null};a.type="singleAxis";return a}(le),zM={splitLine:function(b,a,c,d){c=d.axis;if(!c.scale.isBlank()){var e=d.getModel("splitLine"),f=e.getModel("lineStyle");b=f.get("color");b=b instanceof Array?b:[b];var g=d.coordinateSystem.getRect(),h=c.isHorizontal();d=[];for(var k=0,l=c.getTicksCoords({tickModel:e}),m=[],n=[],e=0;e<l.length;++e){var p=c.toGlobalCoord(l[e].coord);h?(m[0]=p,m[1]=g.y,n[0]=p,n[1]=g.y+g.height):(m[0]=g.x,m[1]=p,n[0]=g.x+g.width,n[1]=p);p=k++%b.length;d[p]=d[p]||[];d[p].push(new Ua({subPixelOptimize:!0,shape:{x1:m[0],y1:m[1],x2:n[0],y2:n[1]},silent:!0}))}c=f.getLineStyle(["color"]);for(e=0;e<d.length;++e)a.add(xb(d[e],{style:K({stroke:b[e%b.length]},c),silent:!0}))}},splitArea:function(b,a,c,d){ku(b,c,d,d)}},kk=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.getCoordSysModel=function(){return this};a.type="singleAxis";a.layoutMode="box";a.defaultOption={left:"5%",top:"5%",right:"5%",bottom:"5%",type:"value",position:"bottom",orient:"horizontal",axisLine:{show:!0,lineStyle:{width:1,type:"solid"}},tooltip:{show:!0},axisTick:{show:!0,length:6,lineStyle:{width:1}},axisLabel:{show:!0,interval:"auto"},splitLine:{show:!0,lineStyle:{type:"dashed",opacity:.2}}};return a}(W);wa(kk,Lf.prototype);var BM=function(b){function a(a,d,e,f,g){a=b.call(this,a,d,e)||this;a.type=f||"value";a.position=g||"bottom";return a}x(a,b);a.prototype.isHorizontal=function(){var a=this.position;return"top"===a||"bottom"===a};a.prototype.pointToData=function(a,b){return this.coordinateSystem.pointToData(a)[0]};return a}(Pb),Lz=function(){function b(a,b,d){this.dimension=this.type="single";this.dimensions=["single"];this.axisPointerEnabled=!0;this.model=a;this._init(a,b,d)}b.prototype._init=function(a,b,d){b=new BM(this.dimension,Dg(a),[0,0],a.get("type"),a.get("position"));b.onBand="category"===b.type&&a.get("boundaryGap");b.inverse=a.get("inverse");b.orient=a.get("orient");a.axis=b;b.model=a;b.coordinateSystem=this;this._axis=b};b.prototype.update=function(a,b){a.eachSeries(function(a){if(a.coordinateSystem===this){var b=a.getData();r(b.mapDimensionsAll(this.dimension),function(a){this._axis.scale.unionExtentFromData(b,a)},this);jd(this._axis.scale,this._axis.model)}},this)};b.prototype.resize=function(a,b){this._rect=Aa({left:a.get("left"),top:a.get("top"),right:a.get("right"),bottom:a.get("bottom"),width:a.get("width"),height:a.get("height")},{width:b.getWidth(),height:b.getHeight()});this._adjustAxis()};b.prototype.getRect=function(){return this._rect};b.prototype._adjustAxis=function(){var a=this._rect,b=this._axis,d=b.isHorizontal(),e=d?[0,a.width]:[0,a.height],f=b.reverse?1:0;b.setExtent(e[f],e[1-f]);this._updateAxisTransform(b,d?a.x:a.y)};b.prototype._updateAxisTransform=function(a,b){var c=a.getExtent(),e=c[0]+c[1],c=a.isHorizontal();a.toGlobalCoord=c?function(a){return a+b}:function(a){return e-a+b};a.toLocalCoord=c?function(a){return a-b}:function(a){return e-a+b}};b.prototype.getAxis=function(){return this._axis};b.prototype.getBaseAxis=function(){return this._axis};b.prototype.getAxes=function(){return[this._axis]};b.prototype.getTooltipAxes=function(){return{baseAxes:[this.getAxis()],otherAxes:[]}};b.prototype.containPoint=function(a){var b=this.getRect(),d=this.getAxis();return"horizontal"===d.orient?d.contain(d.toLocalCoord(a[0]))&&a[1]>=b.y&&a[1]<=b.y+b.height:d.contain(d.toLocalCoord(a[1]))&&a[0]>=b.y&&a[0]<=b.y+b.height};b.prototype.pointToData=function(a){var b=this.getAxis();return[b.coordToData(b.toLocalCoord(a["horizontal"===b.orient?0:1]))]};b.prototype.dataToPoint=function(a){var b=this.getAxis(),d=this.getRect(),e=[],f="horizontal"===b.orient?0:1;a instanceof Array&&(a=a[0]);e[f]=b.toGlobalCoord(b.dataToCoord(+a));e[1-f]=0===f?d.y+d.height/2:d.x+d.width/2;return e};b.prototype.convertToPixel=function(a,b,d){return Qw(b)===this?this.dataToPoint(d):null};b.prototype.convertFromPixel=function(a,b,d){return Qw(b)===this?this.pointToData(d):null};return b}(),CM={create:function(b,a){var c=[];b.eachComponent("singleAxis",function(d,e){var f=new Lz(d,b,a);f.name="single_"+e;f.resize(d,a);d.coordinateSystem=f;c.push(f)});b.eachSeries(function(a){if("singleAxis"===a.get("coordinateSystem")){var b=a.getReferringComponents("singleAxis",Da).models[0];a.coordinateSystem=b&&b.coordinateSystem}});return c},dimensions:Lz.prototype.dimensions},Rw=["x","y"],FG=["width","height"],EM=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.makeElOption=function(a,b,e,f,g){var c=e.axis,d=c.coordinateSystem,l=Zn(d,1-(c.isHorizontal()?0:1)),m=d.dataToPoint(b)[0],n=f.get("type");n&&"none"!==n&&(d=Un(f),c=DM[n](c,m,l),c.style=d,a.graphicKey=c.type,a.pointer=c);c=Yn(e);Bw(b,a,c,e,f,g)};a.prototype.getHandleTransform=function(a,b,e){var c=Yn(b,{labelInside:!1});c.labelMargin=e.get(["handle","margin"]);a=Vn(b.axis,a,c);return{x:a[0],y:a[1],rotation:c.rotation+(0>c.labelDirection?Math.PI:0)}};a.prototype.updateHandleTransform=function(a,b,e,f){e=e.axis;var c=e.coordinateSystem;e=e.isHorizontal()?0:1;var d=Zn(c,e);f=[a.x,a.y];f[e]+=b[e];f[e]=Math.min(d[1],f[e]);f[e]=Math.max(d[0],f[e]);b=Zn(c,1-e);b=(b[1]+b[0])/2;b=[b,b];b[e]=f[e];return{x:f[0],y:f[1],rotation:a.rotation,cursorPoint:b,tooltipOption:{verticalAlign:"middle"}}};return a}(xp),DM={line:function(b,a,c){return{type:"Line",subPixelOptimize:!0,shape:Wn([a,c[0]],[a,c[1]],b.isHorizontal()?0:1)}},shadow:function(b,a,c){var d=b.getBandWidth();return{type:"Rect",shape:Cw([a-d/2,c[0]],[d,c[1]-c[0]],b.isHorizontal()?0:1)}}},FM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="single";return a}(na),GM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(a,d,e){var c=Qd({},a);b.prototype.init.apply(this,arguments);Sw(a,c)};a.prototype.mergeOption=function(a){b.prototype.mergeOption.apply(this,arguments);Sw(this.option,a)};a.prototype.getCellSize=function(){return this.option.cellSize};a.type="calendar";a.defaultOption={zlevel:0,z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",nameMap:"en",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",nameMap:"en",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}};return a}(W),HM={EN:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),CN:"\u4e00\u6708 \u4e8c\u6708 \u4e09\u6708 \u56db\u6708 \u4e94\u6708 \u516d\u6708 \u4e03\u6708 \u516b\u6708 \u4e5d\u6708 \u5341\u6708 \u5341\u4e00\u6708 \u5341\u4e8c\u6708".split(" ")},IM={EN:"SMTWTFS".split(""),CN:"\u65e5\u4e00\u4e8c\u4e09\u56db\u4e94\u516d".split("")},JM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e){b=this.group;b.removeAll();var c=a.coordinateSystem;e=c.getRangeInfo();c=c.getOrient();this._renderDayRect(a,e,b);this._renderLines(a,e,c,b);this._renderYearText(a,e,c,b);this._renderMonthText(a,c,b);this._renderWeekText(a,e,c,b)};a.prototype._renderDayRect=function(a,b,e){var c=a.coordinateSystem;a=a.getModel("itemStyle").getItemStyle();for(var d=c.getCellWidth(),h=c.getCellHeight(),k=b.start.time;k<=b.end.time;k=c.getNextNDay(k,1).time){var l=c.dataToRect([k],!1).tl,l=new Z({shape:{x:l[0],y:l[1],width:d,height:h},cursor:"default",style:a});e.add(l)}};a.prototype._renderLines=function(a,b,e,f){function c(b){d._firstDayOfMonth.push(k.getDateInfo(b));d._firstDayPoints.push(k.dataToRect([b],!1).tl);b=d._getLinePointsOfOneWeek(a,b,e);d._tlpoints.push(b[0]);d._blpoints.push(b[b.length-1]);m&&d._drawSplitline(b,l,f)}var d=this,k=a.coordinateSystem,l=a.getModel(["splitLine","lineStyle"]).getLineStyle(),m=a.get(["splitLine","show"]),n=l.lineWidth;this._tlpoints=[];this._blpoints=[];this._firstDayOfMonth=[];this._firstDayPoints=[];for(var p=b.start,q=0;p.time<=b.end.time;q++)c(p.formatedDate),0===q&&(p=k.getDateInfo(b.start.y+"-"+b.start.m)),p=p.date,p.setMonth(p.getMonth()+1),p=k.getDateInfo(p);c(k.getNextNDay(b.end.time,1).formatedDate);m&&this._drawSplitline(d._getEdgesPoints(d._tlpoints,n,e),l,f);m&&this._drawSplitline(d._getEdgesPoints(d._blpoints,n,e),l,f)};a.prototype._getEdgesPoints=function(a,b,e){a=[a[0].slice(),a[a.length-1].slice()];e="horizontal"===e?0:1;a[0][e]-=b/2;a[1][e]+=b/2;return a};a.prototype._drawSplitline=function(a,b,e){a=new kb({z2:20,shape:{points:a},style:b});e.add(a)};a.prototype._getLinePointsOfOneWeek=function(a,b,e){a=a.coordinateSystem;b=a.getDateInfo(b);for(var c=[],d=0;7>d;d++){var h=a.getNextNDay(b.time,d),k=a.dataToRect([h.time],!1);c[2*h.day]=k.tl;c[2*h.day+1]=k["horizontal"===e?"bl":"tr"]}return c};a.prototype._formatterLabel=function(a,b){return"string"===typeof a&&a?$A(a,b):"function"===typeof a?a(b):b.nameMap};a.prototype._yearTextPositionControl=function(a,b,e,f,g){a=b[0];b=b[1];e=["center","bottom"];"bottom"===f?(b+=g,e=["center","top"]):"left"===f?a-=g:"right"===f?(a+=g,e=["center","top"]):b-=g;g=0;if("left"===f||"right"===f)g=Math.PI/2;return{rotation:g,x:a,y:b,style:{align:e[0],verticalAlign:e[1]}}};a.prototype._renderYearText=function(a,b,e,f){var c=a.getModel("yearLabel");if(c.get("show")){a=c.get("margin");var d=c.get("position");d||(d="horizontal"!==e?"top":"left");var k=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],l=(k[0][0]+k[1][0])/2,m=(k[0][1]+k[1][1])/2,n="horizontal"===e?0:1,k={top:[l,k[n][1]],bottom:[l,k[1-n][1]],left:[k[1-n][0],m],right:[k[n][0],m]},l=b.start.y;+b.end.y>+b.start.y&&(l=l+"-"+b.end.y);m=c.get("formatter");b=this._formatterLabel(m,{start:b.start.y,end:b.end.y,nameMap:l});b=new ha({z2:30,style:Ja(c,{text:b})});b.attr(this._yearTextPositionControl(b,k[d],e,d,a));f.add(b)}};a.prototype._monthTextPositionControl=function(a,b,e,f,g){var c="left",d="top",l=a[0];a=a[1];"horizontal"===e?(a+=g,b&&(c="center"),"start"===f&&(d="bottom")):(l+=g,b&&(d="middle"),"start"===f&&(c="right"));return{x:l,y:a,align:c,verticalAlign:d}};a.prototype._renderMonthText=function(a,b,e){a=a.getModel("monthLabel");if(a.get("show")){var c=a.get("nameMap"),d=a.get("margin"),h=a.get("position"),k=a.get("align"),l=[this._tlpoints,this._blpoints];da(c)&&(c=HM[c.toUpperCase()]||[]);for(var m="start"===h?0:1,n="horizontal"===b?0:1,d="start"===h?-d:d,k="center"===k,p=0;p<l[m].length-1;p++){var q=l[m][p].slice(),t=this._firstDayOfMonth[p];k&&(q[n]=(this._firstDayPoints[p][n]+l[0][p+1][n])/2);var r=a.get("formatter"),w=c[+t.m-1],t={yyyy:t.y,yy:(t.y+"").slice(2),MM:t.m,M:+t.m,nameMap:w},r=this._formatterLabel(r,t),q=new ha({z2:30,style:F(Ja(a,{text:r}),this._monthTextPositionControl(q,k,b,h,d))});e.add(q)}}};a.prototype._weekTextPositionControl=function(a,b,e,f,g){var c="center",d="middle",l=a[0];a=a[1];e="start"===e;"horizontal"===b?(l=l+f+(e?1:-1)*g[0]/2,c=e?"right":"left"):(a=a+f+(e?1:-1)*g[1]/2,d=e?"bottom":"top");return{x:l,y:a,align:c,verticalAlign:d}};a.prototype._renderWeekText=function(a,b,e,f){var c=a.getModel("dayLabel");if(c.get("show")){a=a.coordinateSystem;var d=c.get("position"),k=c.get("nameMap"),l=c.get("margin"),m=a.getFirstDayOfWeek();da(k)&&(k=IM[k.toUpperCase()]||[]);var n=a.getNextNDay(b.end.time,7-b.lweek).time,p=[a.getCellWidth(),a.getCellHeight()],l=H(l,p["horizontal"===e?0:1]);"start"===d&&(n=a.getNextNDay(b.start.time,-(7+b.fweek)).time,l=-l);for(b=0;7>b;b++){var q=a.getNextNDay(n,b),q=a.dataToRect([q.time],!1).center,q=new ha({z2:30,style:F(Ja(c,{text:k[Math.abs((b+m)%7)]}),this._weekTextPositionControl(q,e,d,l,p))});f.add(q)}}};a.type="calendar";return a}(na),KM=function(){function b(a,c,d){this.type="calendar";this.dimensions=b.dimensions;this.getDimensionsInfo=b.getDimensionsInfo;this._model=a}b.getDimensionsInfo=function(){return[{name:"time",type:"time"},"value"]};b.prototype.getRangeInfo=function(){return this._rangeInfo};b.prototype.getModel=function(){return this._model};b.prototype.getRect=function(){return this._rect};b.prototype.getCellWidth=function(){return this._sw};b.prototype.getCellHeight=function(){return this._sh};b.prototype.getOrient=function(){return this._orient};b.prototype.getFirstDayOfWeek=function(){return this._firstDayOfWeek};b.prototype.getDateInfo=function(a){a=qb(a);var b=a.getFullYear(),d=a.getMonth()+1,d=10>d?"0"+d:""+d,e=a.getDate(),e=10>e?"0"+e:""+e,f=a.getDay(),f=Math.abs((f+7-this.getFirstDayOfWeek())%7);return{y:b+"",m:d,d:e,day:f,time:a.getTime(),formatedDate:b+"-"+d+"-"+e,date:a}};b.prototype.getNextNDay=function(a,b){b=b||0;if(0===b)return this.getDateInfo(a);a=new Date(this.getDateInfo(a).time);a.setDate(a.getDate()+b);return this.getDateInfo(a)};b.prototype.update=function(a,b){this._firstDayOfWeek=+this._model.getModel("dayLabel").get("firstDay");this._orient=this._model.get("orient");this._lineWidth=this._model.getModel("itemStyle").getItemStyle().lineWidth||0;this._rangeInfo=this._getRangeInfo(this._initRangeOption());var c=this._rangeInfo.weeks||1,e=["width","height"],f=this._model.getCellSize().slice(),g=this._model.getBoxLayoutParams(),h="horizontal"===this._orient?[c,7]:[7,c];r([0,1],function(a){null!=f[a]&&"auto"!==f[a]&&(g[e[a]]=f[a]*h[a])});var c={width:b.getWidth(),height:b.getHeight()},k=this._rect=Aa(g,c);r([0,1],function(a){if(null==f[a]||"auto"===f[a])f[a]=k[e[a]]/h[a]});this._sw=f[0];this._sh=f[1]};b.prototype.dataToPoint=function(a,b){A(a)&&(a=a[0]);null==b&&(b=!0);var c=this.getDateInfo(a),e=this._rangeInfo;if(b&&!(c.time>=e.start.time&&c.time<e.end.time+864E5))return[NaN,NaN];var f=c.day,c=this._getRangeInfo([e.start.time,c.formatedDate]).nthWeek;return"vertical"===this._orient?[this._rect.x+f*this._sw+this._sw/2,this._rect.y+c*this._sh+this._sh/2]:[this._rect.x+c*this._sw+this._sw/2,this._rect.y+f*this._sh+this._sh/2]};b.prototype.pointToData=function(a){return(a=this.pointToDate(a))&&a.time};b.prototype.dataToRect=function(a,b){var c=this.dataToPoint(a,b);return{contentShape:{x:c[0]-(this._sw-this._lineWidth)/2,y:c[1]-(this._sh-this._lineWidth)/2,width:this._sw-this._lineWidth,height:this._sh-this._lineWidth},center:c,tl:[c[0]-this._sw/2,c[1]-this._sh/2],tr:[c[0]+this._sw/2,c[1]-this._sh/2],br:[c[0]+this._sw/2,c[1]+this._sh/2],bl:[c[0]-this._sw/2,c[1]+this._sh/2]}};b.prototype.pointToDate=function(a){var b=Math.floor((a[0]-this._rect.x)/this._sw)+1;a=Math.floor((a[1]-this._rect.y)/this._sh)+1;var d=this._rangeInfo.range;return"vertical"===this._orient?this._getDateByWeeksAndDay(a,b-1,d):this._getDateByWeeksAndDay(b,a-1,d)};b.prototype.convertToPixel=function(a,b,d){a=Tw(b);return a===this?a.dataToPoint(d):null};b.prototype.convertFromPixel=function(a,b,d){a=Tw(b);return a===this?a.pointToData(d):null};b.prototype.containPoint=function(a){console.warn("Not implemented.");return!1};b.prototype._initRangeOption=function(){var a=this._model.get("range"),b;A(a)&&1===a.length&&(a=a[0]);if(A(a))b=a;else{var d=a.toString();/^\d{4}$/.test(d)&&(b=[d+"-01-01",d+"-12-31"]);if(/^\d{4}[\/|-]\d{1,2}$/.test(d)){b=this.getDateInfo(d);var e=b.date;e.setMonth(e.getMonth()+1);e=this.getNextNDay(e,-1);b=[b.formatedDate,e.formatedDate]}/^\d{4}[\/|-]\d{1,2}[\/|-]\d{1,2}$/.test(d)&&(b=[d,d])}if(!b)return yb("Invalid date range."),a;a=this._getRangeInfo(b);a.start.time>a.end.time&&b.reverse();return b};b.prototype._getRangeInfo=function(a){a=[this.getDateInfo(a[0]),this.getDateInfo(a[1])];var b;a[0].time>a[1].time&&(b=!0,a.reverse());var d=Math.floor(a[1].time/864E5)-Math.floor(a[0].time/864E5)+1,e=new Date(a[0].time),f=e.getDate(),g=a[1].date.getDate();e.setDate(f+d-1);f=e.getDate();if(f!==g)for(var h=0<e.getTime()-a[1].time?1:-1;(f=e.getDate())!==g&&0<(e.getTime()-a[1].time)*h;)d-=h,e.setDate(f-h);e=Math.floor((d+a[0].day+6)/7);g=b?-e+1:e-1;b&&a.reverse();return{range:[a[0].formatedDate,a[1].formatedDate],start:a[0],end:a[1],allDay:d,weeks:e,nthWeek:g,fweek:a[0].day,lweek:a[1].day}};b.prototype._getDateByWeeksAndDay=function(a,b,d){d=this._getRangeInfo(d);if(a>d.weeks||0===a&&b<d.fweek||a===d.weeks&&b>d.lweek)return null;var c=new Date(d.start.time);c.setDate(+d.start.d+(7*(a-1)-d.fweek+b));return this.getDateInfo(c)};b.create=function(a,c){var d=[];a.eachComponent("calendar",function(e){var f=new b(e,a,c);d.push(f);e.coordinateSystem=f});a.eachSeries(function(a){"calendar"===a.get("coordinateSystem")&&(a.coordinateSystem=d[a.get("calendarIndex")||0])});return d};b.dimensions=["time","value"];return b}(),Af=ma(),Vw={path:null,compoundPath:null,group:M,image:Ga,text:ha},LM=function(b){var a=b.graphic;A(a)?b.graphic=a[0]&&a[0].elements?[b.graphic[0]]:[{elements:a}]:a&&!a.elements&&(b.graphic=[{elements:[a]}])},MM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.mergeOption=function(a,d){var c=this.option.elements;this.option.elements=null;b.prototype.mergeOption.call(this,a,d);this.option.elements=c};a.prototype.optionUpdated=function(a,b){var c=this.option,d=(b?c:a).elements,g=c.elements=b?[]:c.elements,c=[];this._flatten(d,c,null);var d=yq(g,c,"normalMerge"),h=this._elOptionsToUpdate=[];r(d,function(a,b){var c=a.newOption;O(N(c)||a.existing,"Empty graphic option definition");if(c){h.push(c);var d=a.existing;c.id=a.keyInfo.id;!c.type&&d&&(c.type=d.type);if(null==c.parentId){var e=c.parentOption;e?c.parentId=e.id:d&&(c.parentId=d.parentId)}c.parentOption=null;var d=F({},c),e=g[b],f=c.$action||"merge";"merge"===f?e?(f=c.type,O(!f||e.type===f,'Please set $action: "replace" to change `type`'),U(e,d,!0),gd(e,d,{ignoreSize:!0}),Qd(c,e)):g[b]=d:"replace"===f?g[b]=d:"remove"===f&&e&&(g[b]=null);if(d=g[b])d.hv=c.hv=[Ww(c,["left","right"]),Ww(c,["top","bottom"])],"group"===d.type&&(null==d.width&&(d.width=c.width=0),null==d.height&&(d.height=c.height=0))}},this);for(d=g.length-1;0<=d;d--)null==g[d]?g.splice(d,1):delete g[d].$action};a.prototype._flatten=function(a,b,e){r(a,function(a){if(a){e&&(a.parentOption=e);b.push(a);var c=a.children;"group"===a.type&&c&&this._flatten(c,b,a);delete a.children}},this)};a.prototype.useElOptionsToUpdate=function(){var a=this._elOptionsToUpdate;this._elOptionsToUpdate=null;return a};a.type="graphic";a.defaultOption={elements:[]};return a}(W),NM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(){this._elMap=R()};a.prototype.render=function(a,b,e){a!==this._lastGraphicModel&&this._clear();this._lastGraphicModel=a;this._updateElements(a);this._relocate(a,e)};a.prototype._updateElements=function(a){var b=a.useElOptionsToUpdate();if(b){var c=this._elMap,f=this.group;r(b,function(b){var d=Ea(b.id,null),e=null!=d?c.get(d):null,g=Ea(b.parentId,null),m=null!=g?c.get(g):f,n=b.type,p=b.style;"text"===n&&p&&b.hv&&b.hv[1]&&(p.textVerticalAlign=p.textBaseline=p.verticalAlign=p.align=null);var g=b.textContent,q=b.textConfig;p&&$v(p,n,!!q,!!g)&&(n=aw(p,n,!0),!q&&n.textConfig&&(b.textConfig=n.textConfig),!g&&n.textContent&&(g=n.textContent));n=GG(b);e&&O(m===e.parent,"Changing parent is not supported.");q=b.$action||"merge";"merge"===q?e?e.attr(n):Uw(d,m,n,c):"replace"===q?(uj(e,c),Uw(d,m,n,c)):"remove"===q&&uj(e,c);(d=c.get(d))&&g&&("merge"===q?(e=d.getTextContent())?e.attr(g):d.setTextContent(new ha(g)):"replace"===q&&d.setTextContent(new ha(g)));d&&(g=Af(d),g.__ecGraphicWidthOption=b.width,g.__ecGraphicHeightOption=b.height,g=S(d).eventData,d.silent||d.ignore||g||(g=S(d).eventData={componentType:"graphic",componentIndex:a.componentIndex,name:d.name}),g&&(g.info=b.info))})}};a.prototype._relocate=function(a,b){for(var c=a.option.elements,d=this.group,g=this._elMap,h=b.getWidth(),k=b.getHeight(),l=0;l<c.length;l++){var m=c[l],n=Ea(m.id,null),p=null!=n?g.get(n):null;if(p&&p.isGroup){var n=p.parent,m=n===d,p=Af(p),q=Af(n);p.__ecGraphicWidth=H(p.__ecGraphicWidthOption,m?h:q.__ecGraphicWidth)||0;p.__ecGraphicHeight=H(p.__ecGraphicHeightOption,m?k:q.__ecGraphicHeight)||0}}for(l=c.length-1;0<=l;l--)if(m=c[l],n=Ea(m.id,null),p=null!=n?g.get(n):null)n=p.parent,q=Af(n),Bi(p,m,n===d?{width:h,height:k}:{width:q.__ecGraphicWidth,height:q.__ecGraphicHeight},null,{hv:m.hv,boundingMode:m.bounding})};a.prototype._clear=function(){var a=this._elMap;a.each(function(b){uj(b,a)});this._elMap=R()};a.prototype.dispose=function(){this._clear()};a.type="graphic";return a}(na),Mz=["x","y","radius","angle","single"],OM=["cartesian2d","polar","singleAxis"],Bp=function(){function b(){this.indexList=[];this.indexMap=[]}b.prototype.add=function(a){this.indexMap[a]||(this.indexList.push(a),this.indexMap[a]=!0)};return b}(),Kh=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c._autoThrottle=!0;c._noTarget=!0;c._rangePropMode=["percent","percent"];return c}x(a,b);a.prototype.init=function(a,b,e){this.settledOption=b=Yw(a);this.mergeDefaultAndTheme(a,e);this._doInit(b)};a.prototype.mergeOption=function(a){var b=Yw(a);U(this.option,a,!0);U(this.settledOption,b,!0);this._doInit(b)};a.prototype._doInit=function(a){var b=this.option;this._setDefaultThrottle(a);this._updateRangeUse(a);var c=this.settledOption;r([["start","startValue"],["end","endValue"]],function(a,d){"value"===this._rangePropMode[d]&&(b[a[0]]=c[a[0]]=null)},this);this._resetTarget()};a.prototype._resetTarget=function(){var a=this.get("orient",!0),b=this._targetAxisInfoMap=R();this._fillSpecifiedTargetAxis(b)?this._orient=a||this._makeAutoOrientByTargetAxis():(this._orient=a||"horizontal",this._fillAutoTargetAxisByOrient(b,this._orient));this._noTarget=!0;b.each(function(a){a.indexList.length&&(this._noTarget=!1)},this)};a.prototype._fillSpecifiedTargetAxis=function(a){var b=!1;r(Mz,function(c){var d=this.getReferringComponents(td(c),EI);if(d.specified){b=!0;var e=new Bp;r(d.models,function(a){e.add(a.componentIndex)});a.set(c,e)}},this);return b};a.prototype._fillAutoTargetAxisByOrient=function(a,b){function c(b,c){var d=b[0];if(d){var e=new Bp;e.add(d.componentIndex);a.set(c,e);g=!1;if("x"===c||"y"===c){var f=d.getReferringComponents("grid",Da).models[0];f&&r(b,function(a){d.componentIndex!==a.componentIndex&&f===a.getReferringComponents("grid",Da).models[0]&&e.add(a.componentIndex)})}}}var d=this.ecModel,g=!0,h="vertical"===b?"y":"x",k=d.findComponents({mainType:h+"Axis"});c(k,h);g&&(k=d.findComponents({mainType:"singleAxis",filter:function(a){return a.get("orient",!0)===b}}),c(k,"single"));g&&r(Mz,function(b){if(g){var c=d.findComponents({mainType:td(b),filter:function(a){return"category"===a.get("type",!0)}});if(c[0]){var e=new Bp;e.add(c[0].componentIndex);a.set(b,e);g=!1}}},this)};a.prototype._makeAutoOrientByTargetAxis=function(){var a;this.eachTargetAxis(function(b){!a&&(a=b)},this);return"y"===a?"vertical":"horizontal"};a.prototype._setDefaultThrottle=function(a){a.hasOwnProperty("throttle")&&(this._autoThrottle=!1);this._autoThrottle&&(a=this.ecModel.option,this.option.throttle=a.animation&&0<a.animationDurationUpdate?100:20)};a.prototype._updateRangeUse=function(a){var b=this._rangePropMode,c=this.get("rangeMode");r([["start","startValue"],["end","endValue"]],function(d,e){var f=null!=a[d[0]],g=null!=a[d[1]];f&&!g?b[e]="percent":!f&&g?b[e]="value":c?b[e]=c[e]:f&&(b[e]="percent")})};a.prototype.noTarget=function(){return this._noTarget};a.prototype.getFirstTargetAxisModel=function(){var a;this.eachTargetAxis(function(b,c){null==a&&(a=this.ecModel.getComponent(td(b),c))},this);return a};a.prototype.eachTargetAxis=function(a,b){this._targetAxisInfoMap.each(function(c,d){r(c.indexList,function(c){a.call(b,d,c)})})};a.prototype.getAxisProxy=function(a,b){var c=this.getAxisModel(a,b);if(c)return c.__dzAxisProxy};a.prototype.getAxisModel=function(a,b){O(a&&null!=b);var c=this._targetAxisInfoMap.get(a);if(c&&c.indexMap[b])return this.ecModel.getComponent(td(a),b)};a.prototype.setRawRange=function(a){var b=this.option,c=this.settledOption;r([["start","startValue"],["end","endValue"]],function(d){if(null!=a[d[0]]||null!=a[d[1]])b[d[0]]=c[d[0]]=a[d[0]],b[d[1]]=c[d[1]]=a[d[1]]},this);this._updateRangeUse(a)};a.prototype.setCalculatedRange=function(a){var b=this.option;r(["start","startValue","end","endValue"],function(c){b[c]=a[c]})};a.prototype.getPercentRange=function(){var a=this.findRepresentativeAxisProxy();if(a)return a.getDataPercentWindow()};a.prototype.getValueRange=function(a,b){if(null==a&&null==b){var c=this.findRepresentativeAxisProxy();if(c)return c.getDataValueWindow()}else return this.getAxisProxy(a,b).getDataValueWindow()};a.prototype.findRepresentativeAxisProxy=function(a){if(a)return a.__dzAxisProxy;var b;a=this._targetAxisInfoMap.keys();for(var c=0;c<a.length;c++)for(var f=a[c],g=this._targetAxisInfoMap.get(f),h=0;h<g.indexList.length;h++){var k=this.getAxisProxy(f,g.indexList[h]);if(k.hostedBy(this))return k;b||(b=k)}return b};a.prototype.getRangePropMode=function(){return this._rangePropMode.slice()};a.prototype.getOrient=function(){O(this._orient);return this._orient};a.type="dataZoom";a.dependencies="xAxis yAxis radiusAxis angleAxis singleAxis series toolbox".split(" ");a.defaultOption={zlevel:0,z:4,filterMode:"filter",start:0,end:100};return a}(W),MG=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="dataZoom.select";return a}(Kh),Cp=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e,f){this.dataZoomModel=a;this.ecModel=b;this.api=e};a.type="dataZoom";return a}(na),NG=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="dataZoom.select";return a}(Cp),Bf=r,PM=function(){function b(a,b,d,e){this._dimName=a;this._axisIndex=b;this.ecModel=e;this._dataZoomModel=d}b.prototype.hostedBy=function(a){return this._dataZoomModel===a};b.prototype.getDataValueWindow=function(){return this._valueWindow.slice()};b.prototype.getDataPercentWindow=function(){return this._percentWindow.slice()};b.prototype.getTargetSeriesModels=function(){var a=[];this.ecModel.eachSeries(function(b){var c=b.get("coordinateSystem");0<=ba(OM,c)&&(c=td(this._dimName),(c=b.getReferringComponents(c,Da).models[0])&&this._axisIndex===c.componentIndex&&a.push(b))},this);return a};b.prototype.getAxisModel=function(){return this.ecModel.getComponent(this._dimName+"Axis",this._axisIndex)};b.prototype.getMinMaxSpan=function(){return J(this._minMaxSpan)};b.prototype.calculateDataWindow=function(a){function b(a,b,c,d,f){var g=f?"Span":"ValueSpan";fe(0,a,c,"all",m["min"+g],m["max"+g]);for(g=0;2>g;g++)b[g]=ga(a[g],c,d,!0),f&&(b[g]=e.parse(b[g]))}var d=this._dataExtent,e=this.getAxisModel().axis.scale,f=this._dataZoomModel.getRangePropMode(),g=[0,100],h=[],k=[],l;Bf(["start","end"],function(b,c){var m=a[b],n=a[b+"Value"];"percent"===f[c]?(null==m&&(m=g[c]),n=e.parse(ga(m,g,d))):(l=!0,n=null==n?d[c]:e.parse(n),m=ga(n,d,g));k[c]=n;h[c]=m});Cb(k);Cb(h);var m=this._minMaxSpan;l?b(k,h,d,g,!1):b(h,k,g,d,!0);return{valueWindow:k,percentWindow:h}};b.prototype.reset=function(a){if(a===this._dataZoomModel){var b=this.getTargetSeriesModels();this._dataExtent=IG(this,this._dimName,b);this._updateMinMaxSpan();a=this.calculateDataWindow(a.settledOption);this._valueWindow=a.valueWindow;this._percentWindow=a.percentWindow;this._setAxisModel()}};b.prototype.filterData=function(a,b){if(a===this._dataZoomModel){var c=this._dimName,e=this.getTargetSeriesModels(),f=a.get("filterMode"),g=this._valueWindow;"none"!==f&&Bf(e,function(a){var b=a.getData(),d=b.mapDimensionsAll(c);d.length&&("weakFilter"===f?b.filterSelf(function(a){for(var c,e,f,h=0;h<d.length;h++){var k=b.get(d[h],a),l=!isNaN(k),m=k<g[0],k=k>g[1];if(l&&!m&&!k)return!0;l&&(f=!0);m&&(c=!0);k&&(e=!0)}return f&&c&&e}):Bf(d,function(c){if("empty"===f)a.setData(b=b.map(c,function(a){return a>=g[0]&&a<=g[1]?a:NaN}));else{var d={};d[c]=g;b.selectRange(d)}}),Bf(d,function(a){b.setApproximateExtent(g,a)}))})}};b.prototype._updateMinMaxSpan=function(){var a=this._minMaxSpan={},b=this._dataZoomModel,d=this._dataExtent;Bf(["min","max"],function(c){var e=b.get(c+"Span"),g=b.get(c+"ValueSpan");null!=g&&(g=this.getAxisModel().axis.scale.parse(g));null!=g?e=ga(d[0]+g,d,[0,100],!0):null!=e&&(g=ga(e,[0,100],d,!0)-d[0]);a[c+"Span"]=e;a[c+"ValueSpan"]=g},this)};b.prototype._setAxisModel=function(){var a=this.getAxisModel(),b=this._percentWindow,d=this._valueWindow;if(b){var e=Wk(d,[0,500]),e=Math.min(e,20),a=a.axis.scale.rawExtentInfo;0!==b[0]&&a.setDeterminedMinMax("min",+d[0].toFixed(e));100!==b[1]&&a.setDeterminedMinMax("max",+d[1].toFixed(e));a.freeze()}};return b}(),KG={getTargetSeries:function(b){function a(a){b.eachComponent("dataZoom",function(c){c.eachTargetAxis(function(d,e){var f=b.getComponent(td(d),e);a(d,e,f,c)})})}a(function(a,b,c,d){c.__dzAxisProxy=null});var c=[];a(function(a,d,g,h){g.__dzAxisProxy||(g.__dzAxisProxy=new PM(a,d,h,b),c.push(g.__dzAxisProxy))});var d=R();r(c,function(a){r(a.getTargetSeriesModels(),function(a){d.set(a.uid,a)})});return d},overallReset:function(b,a){b.eachComponent("dataZoom",function(b){b.eachTargetAxis(function(a,c){b.getAxisProxy(a,c).reset(b)});b.eachTargetAxis(function(c,e){b.getAxisProxy(c,e).filterData(b,a)})});b.eachComponent("dataZoom",function(a){var b=a.findRepresentativeAxisProxy();if(b){var c=b.getDataPercentWindow(),b=b.getDataValueWindow();a.setCalculatedRange({start:c[0],end:c[1],startValue:b[0],endValue:b[1]})}})}},Zw=!1,Qb=function(){return function(){}}(),Bd={},QM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.optionUpdated=function(){b.prototype.optionUpdated.apply(this,arguments);var a=this.ecModel;r(this.option.feature,function(b,c){var d=Bd[c];d&&(d.getDefaultOption&&(d.defaultOption=d.getDefaultOption(a)),U(b,d.defaultOption))})};a.type="toolbox";a.layoutMode={type:"box",ignoreSize:!0};a.defaultOption={show:!0,z:6,zlevel:0,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}},tooltip:{show:!1}};return a}(W),RM=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.render=function(a,b,e,f){function c(c,g){var h=p[c],k=p[g],l=m[h],q=new la(l,a,a.ecModel);f&&null!=f.newTitle&&f.featureName===h&&(l.title=f.newTitle);if(h&&!k){if(0===h.indexOf("my"))l={onclick:q.option.onclick,featureName:h};else{l=Bd[h];if(!l)return;l=new l}n[h]=l}else if(l=n[k],!l)return;l.uid=$e("toolbox-feature");l.model=q;l.ecModel=b;l.api=e;if(l instanceof Qb){if(!h&&k){l.dispose&&l.dispose(b,e);return}if(!q.get("show")||l.unusable){l.remove&&l.remove(b,e);return}}d(q,l,h);q.setIconStatus=function(a,b){var c=this.option,d=this.iconPaths;c.iconStatus=c.iconStatus||{};c.iconStatus[a]=b;d[a]&&("emphasis"===b?nc:oc)(d[a])};l instanceof Qb&&l.render&&l.render(q,b,e,f)}function d(c,d,f){var g=c.getModel("iconStyle"),h=c.getModel(["emphasis","iconStyle"]),m=d instanceof Qb&&d.getIcons?d.getIcons():c.get("icon"),n=c.get("title")||{},p,q;"string"===typeof m?(p={},p[f]=m):p=m;"string"===typeof n?(q={},q[f]=n):q=n;var t=c.iconPaths={};r(p,function(f,m){var n=Ze(f,{},{x:-l/2,y:-l/2,width:l,height:l});n.setStyle(g.getItemStyle());n.ensureState("emphasis").style=h.getItemStyle();var p=new ha({style:{text:q[m],align:h.get("textAlign"),borderRadius:h.get("textBorderRadius"),padding:h.get("textPadding"),fill:null},ignore:!0});n.setTextContent(p);var r=a.getModel("tooltip");r&&r.get("show")&&(n.tooltip=F({content:q[m],formatter:r.get("formatter",!0)||function(){return q[m]},formatterParams:{componentType:"toolbox",name:m,title:q[m],$vars:["name","title"]},position:r.get("position",!0)||"bottom"},r.option));n.__title=q[m];n.on("mouseover",function(){var b=h.getItemStyle(),c="vertical"===a.get("orient")?null==a.get("right")?"right":"left":null==a.get("bottom")?"bottom":"top";p.setStyle({fill:h.get("textFill")||b.fill||b.stroke||"#000",backgroundColor:h.get("textBackgroundColor")});n.setTextConfig({position:h.get("textPosition")||c});p.ignore=!a.get("showTitle");nc(this)}).on("mouseout",function(){"emphasis"!==c.get(["iconStatus",m])&&oc(this);p.hide()});("emphasis"===c.get(["iconStatus",m])?nc:oc)(n);k.add(n);n.on("click",I(d.onclick,d,b,e,m));t[m]=n})}var k=this.group;k.removeAll();if(a.get("show")){var l=+a.get("itemSize"),m=a.get("feature")||{},n=this._features||(this._features={}),p=[];r(m,function(a,b){p.push(b)});(new sd(this._featureNames||[],p)).add(c).update(c).remove(P(c,null)).execute();this._featureNames=p;OG(k,a,e);k.add($w(k.getBoundingRect(),a));k.eachChild(function(a){var b=a.__title,c=a.ensureState("emphasis"),c=c.textConfig||(c.textConfig={}),d=a.getTextContent();if((d=d&&d.states.emphasis)&&!fa(d)&&b){var d=d.style||(d.style={}),b=$f(b,ha.makeFont(d)),f=a.x+k.x,g=!1;a.y+k.y+l+b.height>e.getHeight()&&(c.position="top",g=!0);a=g?-5-b.height:l+8;f+b.width/2>e.getWidth()?(c.position=["100%",a],d.align="right"):0>f-b.width/2&&(c.position=[0,a],d.align="left")}})}};a.prototype.updateView=function(a,b,e,f){r(this._features,function(a){a instanceof Qb&&a.updateView&&a.updateView(a.model,b,e,f)})};a.prototype.remove=function(a,b){r(this._features,function(c){c instanceof Qb&&c.remove&&c.remove(a,b)});this.group.removeAll()};a.prototype.dispose=function(a,b){r(this._features,function(c){c instanceof Qb&&c.dispose&&c.dispose(a,b)})};a.type="toolbox";return a}(na),Nz=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.onclick=function(a,b){var c=this.model,d=c.get("name")||a.get("title.0.text")||"echarts",g="svg"===b.getZr().painter.getType(),h=g?"svg":c.get("type",!0)||"png",k=b.getConnectedDataURL({type:h,backgroundColor:c.get("backgroundColor",!0)||a.get("backgroundColor")||"#fff",connectedBackgroundColor:c.get("connectedBackgroundColor"),excludeComponents:c.get("excludeComponents"),pixelRatio:c.get("pixelRatio")});if("function"!==typeof MouseEvent||!X.browser.newEdge&&(X.browser.ie||X.browser.edge))if(window.navigator.msSaveOrOpenBlob||g)if(c=k.split(","),k=-1<c[0].indexOf("base64"),g=g?decodeURIComponent(c[1]):c[1],k&&(g=atob(g)),d=d+"."+h,window.navigator.msSaveOrOpenBlob){h=g.length;for(k=new Uint8Array(h);h--;)k[h]=g.charCodeAt(h);g=new Blob([k]);window.navigator.msSaveOrOpenBlob(g,d)}else h=document.createElement("iframe"),document.body.appendChild(h),k=h.contentWindow,c=k.document,c.open("image/svg+xml","replace"),c.write(g),c.close(),k.focus(),c.execCommand("SaveAs",!0,d),document.body.removeChild(h);else g=c.get("lang"),g='\x3cbody style\x3d"margin:0;"\x3e\x3cimg src\x3d"'+k+'" style\x3d"max-width:100%;" title\x3d"'+(g&&g[0]||"")+'" /\x3e\x3c/body\x3e',h=window.open(),h.document.write(g),h.document.title=d;else g=document.createElement("a"),g.download=d+"."+h,g.target="_blank",g.href=k,d=new MouseEvent("click",{view:document.defaultView,bubbles:!0,cancelable:!1}),g.dispatchEvent(d)};a.getDefaultOption=function(a){return{show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:a.getLocale(["toolbox","saveAsImage","title"]),type:"png",connectedBackgroundColor:"#fff",name:"",excludeComponents:["toolbox"],pixelRatio:1,lang:a.getLocale(["toolbox","saveAsImage","lang"])}};return a}(Qb);Nz.prototype.unusable=!X.canvasSupported;var SM=[["line","bar"],["stack"]],TM=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.getIcons=function(){var a=this.model,b=a.get("icon"),e={};r(a.get("type"),function(a){b[a]&&(e[a]=b[a])});return e};a.getDefaultOption=function(a){return{show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"},title:a.getLocale(["toolbox","magicType","title"]),option:{},seriesIndex:{}}};a.prototype.onclick=function(a,b,e){var c=this.model,d=c.get(["seriesIndex",e]);if(Oz[e]){var h={series:[]};r(SM,function(a){0<=ba(a,e)&&r(a,function(a){c.setIconStatus(a,"normal")})});c.setIconStatus(e,"emphasis");a.eachComponent({mainType:"series",query:null==d?null:{seriesIndex:d}},function(a){var b=Oz[e](a.subType,a.id,a,c);b&&(K(b,a.option),h.series.push(b));if((b=a.coordinateSystem)&&"cartesian2d"===b.type&&("line"===e||"bar"===e)&&(b=b.getAxesByScale("ordinal")[0])){b=b.dim+"Axis";a=a.getReferringComponents(b,Da).models[0].componentIndex;h[b]=h[b]||[];for(var d=0;d<=a;d++)h[b][a]=h[b][a]||{};h[b][a].boundaryGap="bar"===e}});var k;"stack"===e&&(k=U({stack:c.option.title.tiled,tiled:c.option.title.stack},c.option.title));b.dispatchAction({type:"changeMagicType",currentType:e,newOption:h,newTitle:k,featureName:"magicType"})}};return a}(Qb),Oz={line:function(b,a,c,d){if("bar"===b)return U({id:a,type:"line",data:c.get("data"),stack:c.get("stack"),markPoint:c.get("markPoint"),markLine:c.get("markLine")},d.get(["option","line"])||{},!0)},bar:function(b,a,c,d){if("line"===b)return U({id:a,type:"bar",data:c.get("data"),stack:c.get("stack"),markPoint:c.get("markPoint"),markLine:c.get("markLine")},d.get(["option","bar"])||{},!0)},stack:function(b,a,c,d){c="__ec_magicType_stack__"===c.get("stack");if("line"===b||"bar"===b)return d.setIconStatus("stack",c?"normal":"emphasis"),U({id:a,stack:c?"":"__ec_magicType_stack__"},d.get(["option","stack"])||{},!0)}};ac({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(b,a){a.mergeOption(b.newOption)});var vj=Array(60).join("-"),ao=RegExp("[\t]+","g"),UM=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.onclick=function(a,b){function c(){d.removeChild(h);B._dom=null}var d=b.getDom(),g=this.model;this._dom&&d.removeChild(this._dom);var h=document.createElement("div");h.style.cssText="position:absolute;left:5px;top:5px;bottom:5px;right:5px;";h.style.backgroundColor=g.get("backgroundColor")||"#fff";var k=document.createElement("h4"),l=g.get("lang")||[];k.innerHTML=l[0]||g.get("title");k.style.cssText="margin: 10px 20px;";k.style.color=g.get("textColor");var m=document.createElement("div"),n=document.createElement("textarea");m.style.cssText="display:block;width:100%;overflow:auto;";var p=g.get("optionToContent"),q=g.get("contentToOption"),t=SG(a);if("function"===typeof p){var r=p(b.getOption());"string"===typeof r?m.innerHTML=r:Dd(r)&&m.appendChild(r)}else m.appendChild(n),n.readOnly=g.get("readOnly"),n.style.cssText="width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;",n.style.color=g.get("textColor"),n.style.borderColor=g.get("textareaBorderColor"),n.style.backgroundColor=g.get("textareaColor"),n.value=t.value;var w=t.meta,t=document.createElement("div");t.style.cssText="position:absolute;bottom:0;left:0;right:0;";var r="float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px",v=document.createElement("div"),x=document.createElement("div"),r=r+(";background-color:"+g.get("buttonColor")),r=r+(";color:"+g.get("buttonTextColor")),B=this;Bk(v,"click",c);Bk(x,"click",function(){if(null==q&&null!=p||null!=q&&null==p)console.warn("It seems you have just provided one of `contentToOption` and `optionToContent` functions but missed the other one. Data change is ignored.");else{var a;try{a="function"===typeof q?q(m,b.getOption()):UG(n.value,w)}catch(L){throw c(),Error("Data view format error "+L);}a&&b.dispatchAction({type:"changeDataView",newOption:a})}c()});v.innerHTML=l[1];x.innerHTML=l[2];x.style.cssText=r;v.style.cssText=r;!g.get("readOnly")&&t.appendChild(x);t.appendChild(v);h.appendChild(k);h.appendChild(m);h.appendChild(t);m.style.height=d.clientHeight-80+"px";d.appendChild(h);this._dom=h};a.prototype.remove=function(a,b){this._dom&&b.getDom().removeChild(this._dom)};a.prototype.dispose=function(a,b){this.remove(a,b)};a.getDefaultOption=function(a){return{show:!0,readOnly:!1,optionToContent:null,contentToOption:null,icon:"M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28",title:a.getLocale(["toolbox","dataView","title"]),lang:a.getLocale(["toolbox","dataView","lang"]),backgroundColor:"#fff",textColor:"#000",textareaColor:"#fff",textareaBorderColor:"#333",buttonColor:"#c23531",buttonTextColor:"#fff"}};return a}(Qb);ac({type:"changeDataView",event:"dataViewChanged",update:"prepareAndUpdate"},function(b,a){var c=[];r(b.newOption.series,function(b){var d=a.getSeriesByName(b.name)[0];d?(d=d.get("data"),c.push({name:b.name,data:VG(b.data,d)})):c.push(F({type:"scatter"},b))});a.mergeOption(K({series:c},b.newOption))});var ax=r,bx=ma(),VM=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.onclick=function(a,b){bx(a).snapshots=null;b.dispatchAction({type:"restore",from:this.uid})};a.getDefaultOption=function(a){return{show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:a.getLocale(["toolbox","restore","title"])}};return a}(Qb);ac({type:"restore",event:"restore",update:"prepareAndUpdate"},function(b,a){a.resetOption("recreate")});var Dp=["dataToPoint","pointToData"],Pz="grid xAxis yAxis geo graph polar radiusAxis angleAxis bmap".split(" "),fo=function(){function b(a,b,d){var c=this;this._targetInfoList=[];var f=Vc(b,a,{includeMainTypes:Pz});r(WM,function(a,b){(!d||!d.include||0<=ba(d.include,b))&&a(f,c._targetInfoList)})}b.prototype.setOutputRanges=function(a,b){this.matchOutputRanges(a,b,function(a,b,c){(a.coordRanges||(a.coordRanges=[])).push(b);a.coordRange||(a.coordRange=b,b=Ep[a.brushType](0,c,b),a.__rangeOffset={offset:Qz[a.brushType](b.values,a.range,[1,1]),xyMinMax:b.xyMinMax})});return a};b.prototype.matchOutputRanges=function(a,b,d){r(a,function(a){var c=this.findTargetInfo(a,b);c&&!0!==c&&r(c.coordSyses,function(c){var e=Ep[a.brushType](1,c,a.range);d(a,e.values,c,b)})},this)};b.prototype.setInputRanges=function(a,b){r(a,function(a){var c=this.findTargetInfo(a,b);O(!c||!0===c||a.coordRange,"coordRange must be specified when coord index specified.");O(!c||!0!==c||a.range,"range must be specified in global brush.");a.range=a.range||[];if(c&&!0!==c){a.panelId=c.panelId;var c=Ep[a.brushType](0,c.coordSys,a.coordRange),d=a.__rangeOffset;a.range=d?Qz[a.brushType](c.values,d.offset,YG(c.xyMinMax,d.xyMinMax)):c.values}},this)};b.prototype.makePanelOpts=function(a,b){return C(this._targetInfoList,function(c){var d=c.getPanelRect();return{panelId:c.panelId,defaultBrushType:b?b(c):null,clipPath:vv(d),isTargetByCursor:xv(d,a,c.coordSysModel),getLinearBrushOtherExtent:wv(d)}})};b.prototype.controlSeries=function(a,b,d){a=this.findTargetInfo(a,d);return!0===a||a&&0<=ba(a.coordSyses,b.coordinateSystem)};b.prototype.findTargetInfo=function(a,b){for(var c=this._targetInfoList,e=Vc(b,a,{includeMainTypes:Pz}),f=0;f<c.length;f++){var g=c[f],h=a.panelId;if(h){if(g.panelId===h)return g}else for(h=0;h<Rz.length;h++)if(Rz[h](e,g))return g}return!0};return b}(),WM={grid:function(b,a){var c=b.xAxisModels,d=b.yAxisModels,e=b.gridModels,f=R(),g={},h={};if(c||d||e)r(c,function(a){a=a.axis.grid.model;f.set(a.id,a);g[a.id]=!0}),r(d,function(a){a=a.axis.grid.model;f.set(a.id,a);h[a.id]=!0}),r(e,function(a){f.set(a.id,a);g[a.id]=!0;h[a.id]=!0}),f.each(function(b){var e=[];r(b.coordinateSystem.getCartesians(),function(a,b){(0<=ba(c,a.getAxis("x").model)||0<=ba(d,a.getAxis("y").model))&&e.push(a)});a.push({panelId:"grid--"+b.id,gridModel:b,coordSysModel:b,coordSys:e[0],coordSyses:e,getPanelRect:Sz.grid,xAxisDeclared:g[b.id],yAxisDeclared:h[b.id]})})},geo:function(b,a){r(b.geoModels,function(b){var c=b.coordinateSystem;a.push({panelId:"geo--"+b.id,geoModel:b,coordSysModel:b,coordSys:c,coordSyses:[c],getPanelRect:Sz.geo})})}},Rz=[function(b,a){var c=b.xAxisModel,d=b.yAxisModel,e=b.gridModel;!e&&c&&(e=c.axis.grid.model);!e&&d&&(e=d.axis.grid.model);return e&&e===a.gridModel},function(b,a){var c=b.geoModel;return c&&c===a.geoModel}],Sz={grid:function(){return this.coordSys.master.getRect().clone()},geo:function(){var b=this.coordSys,a=b.getBoundingRect().clone();a.applyTransform(dd(b));return a}},Ep={lineX:P(cx,0),lineY:P(cx,1),rect:function(b,a,c){var d=a[Dp[b]]([c[0][0],c[1][0]]);b=a[Dp[b]]([c[0][1],c[1][1]]);d=[co([d[0],b[0]]),co([d[1],b[1]])];return{values:d,xyMinMax:d}},polygon:function(b,a,c){var d=[[Infinity,-Infinity],[Infinity,-Infinity]];return{values:C(c,function(c){c=a[Dp[b]](c);d[0][0]=Math.min(d[0][0],c[0]);d[1][0]=Math.min(d[1][0],c[1]);d[0][1]=Math.max(d[0][1],c[0]);d[1][1]=Math.max(d[1][1],c[1]);return c}),xyMinMax:d}}},Qz={lineX:P(dx,0),lineY:P(dx,1),rect:function(b,a,c){return[[b[0][0]-c[0]*a[0][0],b[0][1]-c[0]*a[0][1]],[b[1][0]-c[1]*a[1][0],b[1][1]-c[1]*a[1][1]]]},polygon:function(b,a,c){return C(b,function(b,e){return[b[0]-c[0]*a[e][0],b[1]-c[1]*a[e][1]]})}},YM=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.render=function(a,b,e,f){this.brushController||(this.brushController=new vp(e.getZr()),this.brushController.on("brush",I(this._onBrush,this)).mount());ZG(a,b,this,f,e);a.setIconStatus("back",1<bo(b).length?"emphasis":"normal")};a.prototype.onclick=function(a,b,e){XM[e].call(this)};a.prototype.remove=function(a,b){this.brushController.unmount()};a.prototype.dispose=function(a,b){this.brushController.dispose()};a.prototype._onBrush=function(a){function b(a,b,d){b=b.getAxis(a);var e=b.model;a=c(a,e,h);e=a.findRepresentativeAxisProxy(e).getMinMaxSpan();if(null!=e.minValueSpan||null!=e.maxValueSpan)d=fe(0,d.slice(),b.scale.getExtent(),0,e.minValueSpan,e.maxValueSpan);a&&(g[a.id]={dataZoomId:a.id,startValue:d[0],endValue:d[1]})}function c(a,b,c){var d;c.eachComponent({mainType:"dataZoom",subType:"select"},function(c){c.getAxisModel(a,b.componentIndex)&&(d=c)});return d}var f=a.areas;if(a.isEnd&&f.length){var g={},h=this.ecModel;this.brushController.updateCovers([]);(new fo(eo(this.model),h,{include:["grid"]})).matchOutputRanges(f,h,function(a,c,d){"cartesian2d"===d.type&&(a=a.brushType,"rect"===a?(b("x",d,c[0]),b("y",d,c[1])):b({lineX:"x",lineY:"y"}[a],d,c))});WG(h,g);this._dispatchZoomAction(g)}};a.prototype._dispatchZoomAction=function(a){var b=[];r(a,function(a,c){b.push(J(a))});b.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:b})};a.getDefaultOption=function(a){return{show:!0,filterMode:"filter",icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:a.getLocale(["toolbox","dataZoom","title"]),brushStyle:{borderWidth:0,color:"rgba(210,219,238,0.2)"}}};return a}(Qb),XM={zoom:function(){this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:!this.isZoomActive})},back:function(){this._dispatchZoomAction(XG(this.ecModel))}};(function(b,a){O(null==Jl.get(b)&&a);Jl.set(b,a)})("dataZoom",function(b){function a(a,b,c){a=a.componentIndex;b={type:"select",$fromToolbox:!0,filterMode:d.get("filterMode",!0)||"filter",id:"\x00_ec_\x00toolbox-dataZoom_"+b+a};b[c]=a;e.push(b)}var c=b.getComponent("toolbox",0);if(c){var d=c.getModel(["feature","dataZoom"]),e=[],c=eo(d);b=Vc(b,c);r(b.xAxisModels,function(b){return a(b,"xAxis","xAxisIndex")});r(b.yAxisModels,function(b){return a(b,"yAxis","yAxisIndex")});return e}});var ZM=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="tooltip";a.dependencies=["axisPointer"];a.defaultOption={zlevel:0,z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:null,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"#fff",shadowBlur:10,shadowColor:"rgba(0, 0, 0, .2)",shadowOffsetX:1,shadowOffsetY:2,borderRadius:4,borderWidth:1,padding:null,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#666",fontSize:14}};return a}(W),gx=["-ms-","-moz-","-o-","-webkit-",""],$M=function(){function b(a,b,d){this._show=!1;this._styleCoord=[0,0,0,0];this._longHide=this._firstShow=this._enterable=!0;if(X.wxa)return null;var c=document.createElement("div");c.domBelongToZr=!0;this.el=c;var f=this._zr=b.getZr();d=this._appendToBody=d&&d.appendToBody;hx(this._styleCoord,f,d,b.getWidth()/2,b.getHeight()/2);d?document.body.appendChild(c):a.appendChild(c);this._container=a;var g=this;c.onmouseenter=function(){g._enterable&&(clearTimeout(g._hideTimeout),g._show=!0);g._inContent=!0};c.onmousemove=function(a){a=a||window.event;if(!g._enterable){var b=f.handler,c=f.painter.getViewportRoot();Ab(c,a,!0);b.dispatch("mousemove",a)}};c.onmouseleave=function(){g._inContent=!1;g._enterable&&g._show&&g.hideLater(g._hideDelay)}}b.prototype.update=function(a){var b=this._container,d=b.currentStyle||document.defaultView.getComputedStyle(b),b=b.style;"absolute"!==b.position&&"absolute"!==d.position&&(b.position="relative");a.get("alwaysShowContent")&&this._moveIfResized();this.el.className=a.get("className")||""};b.prototype.show=function(a,b){clearTimeout(this._hideTimeout);clearTimeout(this._longHideTimeout);var c=this.el,e=this._styleCoord,f=c.offsetHeight/2;b=og(b);c.style.cssText="position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;"+cH(a,!this._firstShow,this._longHide)+";left:"+e[0]+"px;top:"+(e[1]-f)+"px;"+("border-color: "+b+";")+(a.get("extraCssText")||"");c.style.display=c.innerHTML?"block":"none";c.style.pointerEvents=this._enterable?"auto":"none";this._show=!0;this._longHide=this._firstShow=!1};b.prototype.setContent=function(a,b,d,e,f){if(null!=a)if(b=this.el,da(f)&&"item"===d.get("trigger")&&!fx(d)&&(a+=$G(d.get("backgroundColor"),e,f)),da(a))b.innerHTML=a;else if(a)for(b.innerHTML="",A(a)||(a=[a]),d=0;d<a.length;d++)Dd(a[d])&&a[d].parentNode!==b&&b.appendChild(a[d])};b.prototype.setEnterable=function(a){this._enterable=a};b.prototype.getSize=function(){var a=this.el;return[a.clientWidth,a.clientHeight]};b.prototype.moveTo=function(a,b){var c=this._styleCoord;hx(c,this._zr,this._appendToBody,a,b);if(null!=c[0]&&null!=c[1]){var e=this.el.style;e.left=c[0].toFixed(0)+"px";e.top=c[1].toFixed(0)+"px"}};b.prototype._moveIfResized=function(){var a=this._styleCoord[3];this.moveTo(this._styleCoord[2]*this._zr.getWidth(),a*this._zr.getHeight())};b.prototype.hide=function(){var a=this;this.el.style.visibility="hidden";this.el.style.opacity="0";this._show=!1;this._longHideTimeout=setTimeout(function(){return a._longHide=!0},500)};b.prototype.hideLater=function(a){!this._show||this._inContent&&this._enterable||(a?(this._hideDelay=a,this._show=!1,this._hideTimeout=setTimeout(I(this.hide,this),a)):this.hide())};b.prototype.isShow=function(){return this._show};b.prototype.dispose=function(){this.el.parentNode.removeChild(this.el)};b.prototype.getOuterSize=function(){var a=this.el.clientWidth,b=this.el.clientHeight;if(document.defaultView&&document.defaultView.getComputedStyle){var d=document.defaultView.getComputedStyle(this.el);d&&(a+=parseInt(d.borderLeftWidth,10)+parseInt(d.borderRightWidth,10),b+=parseInt(d.borderTopWidth,10)+parseInt(d.borderBottomWidth,10))}return{width:a,height:b}};return b}(),aN=function(){function b(a){this._show=!1;this._styleCoord=[0,0,0,0];this._enterable=!0;this._zr=a.getZr();jx(this._styleCoord,this._zr,a.getWidth()/2,a.getHeight()/2)}b.prototype.update=function(a){a.get("alwaysShowContent")&&this._moveIfResized()};b.prototype.show=function(){this._hideTimeout&&clearTimeout(this._hideTimeout);this.el.show();this._show=!0};b.prototype.setContent=function(a,b,d,e,f){N(a)&&ja("Passing DOM nodes as content is not supported in richText tooltip!");this.el&&this._zr.remove(this.el);f=d.getModel("textStyle");this.el=new ha({style:{rich:b.richTextStyles,text:a,lineHeight:22,backgroundColor:d.get("backgroundColor"),borderRadius:d.get("borderRadius"),borderWidth:1,borderColor:e,shadowColor:d.get("shadowColor"),shadowBlur:d.get("shadowBlur"),shadowOffsetX:d.get("shadowOffsetX"),shadowOffsetY:d.get("shadowOffsetY"),textShadowColor:f.get("textShadowColor"),textShadowBlur:f.get("textShadowBlur")||0,textShadowOffsetX:f.get("textShadowOffsetX")||0,textShadowOffsetY:f.get("textShadowOffsetY")||0,fill:d.get(["textStyle","color"]),padding:ms(d,"richText"),verticalAlign:"top",align:"left"},z:d.get("z")});this._zr.add(this.el);var c=this;this.el.on("mouseover",function(){c._enterable&&(clearTimeout(c._hideTimeout),c._show=!0);c._inContent=!0});this.el.on("mouseout",function(){c._enterable&&c._show&&c.hideLater(c._hideDelay);c._inContent=!1})};b.prototype.setEnterable=function(a){this._enterable=a};b.prototype.getSize=function(){var a=this.el,b=this.el.getBoundingRect(),a=ix(a.style);return[b.width+a.left+a.right,b.height+a.top+a.bottom]};b.prototype.moveTo=function(a,b){var c=this.el;if(c){var e=this._styleCoord;jx(e,this._zr,a,b);a=e[0];b=e[1];var f=c.style,e=ud(f.borderWidth||0),f=ix(f);c.x=a+e+f.left;c.y=b+e+f.top;c.markRedraw()}};b.prototype._moveIfResized=function(){var a=this._styleCoord[3];this.moveTo(this._styleCoord[2]*this._zr.getWidth(),a*this._zr.getHeight())};b.prototype.hide=function(){this.el&&this.el.hide();this._show=!1};b.prototype.hideLater=function(a){!this._show||this._inContent&&this._enterable||(a?(this._hideDelay=a,this._show=!1,this._hideTimeout=setTimeout(I(this.hide,this),a)):this.hide())};b.prototype.isShow=function(){return this._show};b.prototype.getOuterSize=function(){var a=this.getSize();return{width:a[0],height:a[1]}};b.prototype.dispose=function(){this._zr.remove(this.el)};return b}(),Tz=I,Lh=new Z({shape:{x:-1,y:-1,width:2,height:2}}),bN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(a,b){if(!X.node){var c=a.getComponent("tooltip"),d=c.get("renderMode");d="auto"===d?X.domSupported?"html":"richText":d||"html";this._renderMode=d;this._tooltipContent="richText"===this._renderMode?new aN(b):new $M(b.getDom(),b,{appendToBody:c.get("appendToBody",!0)})}};a.prototype.render=function(a,b,e){X.node||(this.group.removeAll(),this._tooltipModel=a,this._ecModel=b,this._api=e,this._alwaysShowContent=a.get("alwaysShowContent"),b=this._tooltipContent,b.update(a),b.setEnterable(a.get("enterable")),this._initGlobalListener(),this._keepShow())};a.prototype._initGlobalListener=function(){var a=this._tooltipModel.get("triggerOn");Ew("itemTooltip",this._api,Tz(function(b,c,f){"none"!==a&&(0<=a.indexOf(b)?this._tryShow(c,f):"leave"===b&&this._hide(f))},this))};a.prototype._keepShow=function(){var a=this._tooltipModel,b=this._ecModel,e=this._api;if(null!=this._lastX&&null!=this._lastY&&"none"!==a.get("triggerOn")){var f=this;clearTimeout(this._refreshUpdateTimeout);this._refreshUpdateTimeout=setTimeout(function(){!e.isDisposed()&&f.manuallyShowTip(a,b,e,{x:f._lastX,y:f._lastY,dataByCoordSys:f._lastDataByCoordSys})})}};a.prototype.manuallyShowTip=function(a,b,e,f){if(f.from!==this.uid&&!X.node){var c=f.dispatchAction||I(e.dispatchAction,e);this._ticket="";var d=f.dataByCoordSys;f.tooltip&&null!=f.x&&null!=f.y?(Lh.x=f.x,Lh.y=f.y,Lh.update(),Lh.tooltip=f.tooltip,this._tryShow({offsetX:f.x,offsetY:f.y,target:Lh},c)):d?this._tryShow({offsetX:f.x,offsetY:f.y,position:f.position,dataByCoordSys:d,tooltipOption:f.tooltipOption},c):null!=f.seriesIndex?this._manuallyAxisShowTip(a,b,e,f)||(a=Gw(f,b),b=a.point[0],e=a.point[1],null!=b&&null!=e&&this._tryShow({offsetX:b,offsetY:e,position:f.position,target:a.el},c)):null!=f.x&&null!=f.y&&(e.dispatchAction({type:"updateAxisPointer",x:f.x,y:f.y}),this._tryShow({offsetX:f.x,offsetY:f.y,position:f.position,target:e.getZr().findHover(f.x,f.y).target},c))}};a.prototype.manuallyHideTip=function(a,b,e,f){a=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&a.hideLater(this._tooltipModel.get("hideDelay"));this._lastX=this._lastY=this._lastDataByCoordSys=null;f.from!==this.uid&&this._hide(f.dispatchAction||I(e.dispatchAction,e))};a.prototype._manuallyAxisShowTip=function(a,b,e,f){var c=f.seriesIndex,d=f.dataIndex,k=b.getComponent("axisPointer").coordSysAxesInfo;if(null!=c&&null!=d&&null!=k&&(b=b.getSeriesByIndex(c))&&(k=b.getData(),"axis"===ho([k.getItemModel(d),b,(b.coordinateSystem||{}).model,a]).get("trigger")))return e.dispatchAction({type:"updateAxisPointer",seriesIndex:c,dataIndex:d,position:f.position}),!0};a.prototype._tryShow=function(a,b){var c=a.target;if(this._tooltipModel){this._lastX=a.offsetX;this._lastY=a.offsetY;var d=a.dataByCoordSys;d&&d.length?this._showAxisTooltip(d,a):c&&ef(c,function(a){return null!=S(a).dataIndex},!0)?(this._lastDataByCoordSys=null,this._showSeriesItemTooltip(a,c,b)):c&&c.tooltip?(this._lastDataByCoordSys=null,this._showComponentItemTooltip(a,c,b)):(this._lastDataByCoordSys=null,this._hide(b))}};a.prototype._showOrMove=function(a,b){var c=a.get("showDelay");b=I(b,this);clearTimeout(this._showTimout);0<c?this._showTimout=setTimeout(b,c):b()};a.prototype._showAxisTooltip=function(a,b){var c=this._ecModel,d=[b.offsetX,b.offsetY],g=ho([b.tooltipOption,this._tooltipModel]),h=this._renderMode,k=[],l=Ha("section",{blocks:[],noHeader:!0}),m=[],n=new Ro;r(a,function(a){r(a.dataByAxis,function(a){var b=c.getComponent(a.axisDim+"Axis",a.axisIndex),d=a.value;if(b&&null!=d){var e=Aw(d,b.axis,c,a.seriesDataIndices,a.valueLabelOpt),f=Ha("section",{header:e,noHeader:!Va(e),sortBlocks:!0,blocks:[]});l.blocks.push(f);r(a.seriesDataIndices,function(g){var l=c.getSeriesByIndex(g.seriesIndex),p=g.dataIndexInside;g=l.getDataParams(p);g.axisDim=a.axisDim;g.axisIndex=a.axisIndex;g.axisType=a.axisType;g.axisId=a.axisId;g.axisValue=qm(b.axis,{value:d});g.axisValueLabel=e;g.marker=n.makeTooltipMarker("item",og(g.color),h);l=es(l.formatTooltip(p,!0,null));l.markupFragment&&f.blocks.push(l.markupFragment);l.markupText&&m.push(l.markupText);k.push(g)})}})});l.blocks.reverse();m.reverse();var p=b.position,q=g.get("order");(q=ks(l,n,h,q,c.get("useUTC"),g.get("textStyle")))&&m.unshift(q);var t=m.join("richText"===h?"\n\n":"\x3cbr/\x3e");this._showOrMove(g,function(){this._updateContentNotChangedOnAxis(a)?this._updatePosition(g,p,d[0],d[1],this._tooltipContent,k):this._showTooltipContent(g,t,k,Math.random()+"",d[0],d[1],p,null,n)})};a.prototype._showSeriesItemTooltip=function(a,b,e){var c=ef(b,function(a){return null!=S(a).dataIndex},!0);b=this._ecModel;var d=S(c),c=d.seriesIndex,h=b.getSeriesByIndex(c),k=d.dataModel||h,l=d.dataIndex,m=d.dataType,d=k.getData(m),n=this._renderMode,p=ho([d.getItemModel(l),k,h&&(h.coordinateSystem||{}).model,this._tooltipModel]),h=p.get("trigger");if(null==h||"item"===h){var q=k.getDataParams(l,m),t=new Ro;q.marker=t.makeTooltipMarker("item",og(q.color),n);var h=es(k.formatTooltip(l,!1,m)),m=p.get("order"),r=h.markupFragment?ks(h.markupFragment,t,n,m,b.get("useUTC"),p.get("textStyle")):h.markupText,w="item_"+k.name+"_"+l;this._showOrMove(p,function(){this._showTooltipContent(p,r,q,w,a.offsetX,a.offsetY,a.position,a.target,t)});e({type:"showTip",dataIndexInside:l,dataIndex:d.getRawIndex(l),seriesIndex:c,from:this.uid})}};a.prototype._showComponentItemTooltip=function(a,b,e){var c=b.tooltip;da(c)&&(c={content:c,formatter:c});var d=new la(c,this._tooltipModel,this._ecModel),h=d.get("content"),k=Math.random()+"",l=new Ro;this._showOrMove(d,function(){this._showTooltipContent(d,h,d.get("formatterParams")||{},k,a.offsetX,a.offsetY,a.position,b,l)});e({type:"showTip",from:this.uid})};a.prototype._showTooltipContent=function(a,b,e,f,g,h,k,l,m){this._ticket="";if(a.get("showContent")&&a.get("show")){var c=this._tooltipContent,d=a.get("formatter");k=k||a.get("position");var q=this._getNearestPoint([g,h],e,a.get("trigger"),a.get("borderColor"));if(d&&da(d)){f=a.ecModel.get("useUTC");var t=A(e)?e[0]:e,r=t&&t.axisType&&0<=t.axisType.indexOf("time");b=d;r&&(b=mg(t.axisValue,b,f));b=Fl(b,e,!0)}else fa(d)&&(b=Tz(function(b,d){b===this._ticket&&(c.setContent(d,m,a,q.color,k),this._updatePosition(a,k,g,h,c,e,l))},this),this._ticket=f,b=d(e,f,b));c.setContent(b,m,a,q.color,k);c.show(a,q.color);this._updatePosition(a,k,g,h,c,e,l)}};a.prototype._getNearestPoint=function(a,b,e,f){if("axis"===e||A(b))return{color:f||("html"===this._renderMode?"#fff":"none")};if(!A(b))return{color:f||b.color||b.borderColor}};a.prototype._updatePosition=function(a,b,e,f,g,h,k){var c=this._api.getWidth(),d=this._api.getHeight();b=b||a.get("position");var n=g.getSize(),p=a.get("align"),q=a.get("verticalAlign"),t=k&&k.getBoundingRect().clone();k&&t.applyTransform(k.transform);fa(b)&&(b=b([e,f],h,g.el,t,{viewSize:[c,d],contentSize:n.slice()}));if(A(b))e=H(b[0],c),f=H(b[1],d);else if(N(b))p=b,p.width=n[0],p.height=n[1],p=Aa(p,{width:c,height:d}),e=p.x,f=p.y,q=p=null;else{if(da(b)&&k){e=n[0];f=n[1];k=h=0;var r=t.width,w=t.height;switch(b){case "inside":h=t.x+r/2-e/2;k=t.y+w/2-f/2;break;case "top":h=t.x+r/2-e/2;k=t.y-f-10;break;case "bottom":h=t.x+r/2-e/2;k=t.y+w+10;break;case "left":h=t.x-e-10-5;k=t.y+w/2-f/2;break;case "right":h=t.x+r+10+5,k=t.y+w/2-f/2}b=[h,k]}else b=e,t=f,e=p?null:20,f=q?null:20,k=g.getOuterSize(),h=k.width,k=k.height,null!=e&&(b=b+h+e+2>c?b-(h+e):b+e),null!=f&&(t=t+k+f>d?t-(k+f):t+f),b=[b,t];e=b[0];f=b[1]}p&&(e-="center"===p||"middle"===p?n[0]/2:"right"===p?n[0]:0);q&&(f-="center"===q||"middle"===q?n[1]/2:"bottom"===q?n[1]:0);fx(a)&&(a=e,n=f,q=g.getOuterSize(),p=q.width,q=q.height,a=Math.min(a+p,c)-p,n=Math.min(n+q,d)-q,a=Math.max(a,0),n=Math.max(n,0),b=[a,n],e=b[0],f=b[1]);g.moveTo(e,f)};a.prototype._updateContentNotChangedOnAxis=function(a){var b=this._lastDataByCoordSys,c=!!b&&b.length===a.length;c&&r(b,function(b,d){var e=b.dataByAxis||[],f=(a[d]||{}).dataByAxis||[];(c=c&&e.length===f.length)&&r(e,function(a,b){var d=f[b]||{},e=a.seriesDataIndices||[],g=d.seriesDataIndices||[];(c=c&&a.value===d.value&&a.axisType===d.axisType&&a.axisId===d.axisId&&e.length===g.length)&&r(e,function(a,b){var d=g[b];c=c&&a.seriesIndex===d.seriesIndex&&a.dataIndex===d.dataIndex})})});this._lastDataByCoordSys=a;return!!c};a.prototype._hide=function(a){this._lastDataByCoordSys=null;a({type:"hideTip",from:this.uid})};a.prototype.dispose=function(a,b){X.node||(this._tooltipContent.dispose(),Xn("itemTooltip",b))};a.type="tooltip";return a}(na),fH=["rect","polygon","keep","clear"],lx=r,nx={lineX:ox(0),lineY:ox(1),rect:{point:function(b,a,c){return b&&c.boundingRect.contain(b[0],b[1])},rect:function(b,a,c){return b&&c.boundingRect.intersect(b)}},polygon:{point:function(b,a,c){return b&&c.boundingRect.contain(b[0],b[1])&&$d(c.range,b[0],b[1])},rect:function(b,a,c){a=c.range;if(!b||1>=a.length)return!1;c=b.x;var d=b.y,e=b.width,f=b.height,g=a[0];if($d(a,c,d)||$d(a,c+e,d)||$d(a,c,d+f)||$d(a,c+e,d+f)||aa.create(b).contain(g[0],g[1])||kg(c,d,c+e,d,a)||kg(c,d,c,d+f,a)||kg(c+e,d,c+e,d+f,a)||kg(c,d+f,c+e,d+f,a))return!0}}},rx=["inBrush","outOfBrush"],lH={rect:function(b){return sx(b.range)},polygon:function(b){var a;b=b.range;for(var c=0,d=b.length;c<d;c++){a=a||[[Infinity,-Infinity],[Infinity,-Infinity]];var e=b[c];e[0]<a[0][0]&&(a[0][0]=e[0]);e[0]>a[0][1]&&(a[0][1]=e[0]);e[1]<a[1][0]&&(a[1][0]=e[1]);e[1]>a[1][1]&&(a[1][1]=e[1])}return a&&sx(a)}},cN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(a,b){this.ecModel=a;this.api=b;this.model;(this._brushController=new vp(b.getZr())).on("brush",I(this._onBrush,this)).mount()};a.prototype.render=function(a,b,e,f){this.model=a;this._updateController(a,b,e,f)};a.prototype.updateTransform=function(a,b,e,f){px(b);this._updateController(a,b,e,f)};a.prototype.updateVisual=function(a,b,e,f){this.updateTransform(a,b,e,f)};a.prototype.updateView=function(a,b,e,f){this._updateController(a,b,e,f)};a.prototype._updateController=function(a,b,e,f){f&&f.$from===a.id||this._brushController.setPanels(a.brushTargetManager.makePanelOpts(e)).enableBrush(a.brushOption).updateCovers(a.areas.slice())};a.prototype.dispose=function(){this._brushController.dispose()};a.prototype._onBrush=function(a){var b=this.model.id,c=this.model.brushTargetManager.setOutputRanges(a.areas,this.ecModel);a.isEnd&&!a.removeOnClick||this.api.dispatchAction({type:"brush",brushId:b,areas:J(c),$from:b});a.isEnd&&this.api.dispatchAction({type:"brushEnd",brushId:b,areas:J(c),$from:b})};a.type="brush";return a}(na),dN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.areas=[];c.brushOption={};return c}x(a,b);a.prototype.optionUpdated=function(a,b){var c=this.option;!b&&mx(c,a,["inBrush","outOfBrush"]);var d=c.inBrush=c.inBrush||{};c.outOfBrush=c.outOfBrush||{color:"#ddd"};d.hasOwnProperty("liftZ")||(d.liftZ=5)};a.prototype.setAreas=function(a){O(A(a));r(a,function(a){O(a.brushType,"Illegal areas")});a&&(this.areas=C(a,function(a){return tx(this.option,a)},this))};a.prototype.setBrushOption=function(a){this.brushOption=tx(this.option,a);this.brushType=this.brushOption.brushType};a.type="brush";a.dependencies="geo grid xAxis yAxis parallel series".split(" ");a.defaultOption={seriesIndex:"all",brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(210,219,238,0.3)",borderColor:"#D2DBEE"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1E4};return a}(W),eN="rect polygon lineX lineY keep clear".split(" "),fN=function(b){function a(){return null!==b&&b.apply(this,arguments)||this}x(a,b);a.prototype.render=function(a,b,e){var c,d,h;b.eachComponent({mainType:"brush"},function(a){c=a.brushType;d=a.brushOption.brushMode||"single";h=h||!!a.areas.length});this._brushType=c;this._brushMode=d;r(a.get("type",!0),function(b){a.setIconStatus(b,("keep"===b?"multiple"===d:"clear"===b?h:b===c)?"emphasis":"normal")})};a.prototype.updateView=function(a,b,e){this.render(a,b,e)};a.prototype.getIcons=function(){var a=this.model,b=a.get("icon",!0),e={};r(a.get("type",!0),function(a){b[a]&&(e[a]=b[a])});return e};a.prototype.onclick=function(a,b,e){a=this._brushType;var c=this._brushMode;"clear"===e?(b.dispatchAction({type:"axisAreaSelect",intervals:[]}),b.dispatchAction({type:"brush",command:"clear",areas:[]})):b.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:"keep"===e?a:a===e?!1:e,brushMode:"keep"===e?"multiple"===c?"single":"multiple":c}})};a.getDefaultOption=function(a){return{show:!0,type:eN.slice(),icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:a.getLocale(["toolbox","brush","title"])}};return a}(Qb),gN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.layoutMode={type:"box",ignoreSize:!0};return c}x(a,b);a.type="title";a.defaultOption={zlevel:0,z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bold",color:"#464646"},subtextStyle:{fontSize:12,color:"#6E7079"}};return a}(W),hN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.render=function(a,b,e){this.group.removeAll();if(a.get("show")){b=this.group;var c=a.getModel("textStyle"),d=a.getModel("subtextStyle"),h=a.get("textAlign"),k=ka(a.get("textBaseline"),a.get("textVerticalAlign")),c=new ha({style:Ja(c,{text:a.get("text"),fill:c.getTextColor()},{disableBox:!0}),z2:10}),l=c.getBoundingRect(),m=a.get("subtext"),d=new ha({style:Ja(d,{text:m,fill:d.getTextColor(),y:l.height+a.get("itemGap"),verticalAlign:"top"},{disableBox:!0}),z2:10}),n=a.get("link"),p=a.get("sublink"),l=a.get("triggerEvent",!0);c.silent=!n&&!l;d.silent=!p&&!l;if(n)c.on("click",function(){Ai(n,"_"+a.get("target"))});if(p)d.on("click",function(){Ai(p,"_"+a.get("subtarget"))});S(c).eventData=S(d).eventData=l?{componentType:"title",componentIndex:a.componentIndex}:null;b.add(c);m&&b.add(d);m=b.getBoundingRect();l=a.getBoxLayoutParams();l.width=m.width;l.height=m.height;e=Aa(l,{width:e.getWidth(),height:e.getHeight()},a.get("padding"));h||(h=a.get("left")||a.get("right"),"middle"===h&&(h="center"),"right"===h?e.x+=e.width:"center"===h&&(e.x+=e.width/2));k||(k=a.get("top")||a.get("bottom"),"center"===k&&(k="middle"),"bottom"===k?e.y+=e.height:"middle"===k&&(e.y+=e.height/2),k=k||"top");b.x=e.x;b.y=e.y;b.markRedraw();h={align:h,verticalAlign:k};c.setStyle(h);d.setStyle(h);m=b.getBoundingRect();e=e.margin;h=a.getItemStyle(["color","opacity"]);h.fill=a.get("backgroundColor");e=new Z({shape:{x:m.x-e[3],y:m.y-e[0],width:m.width+e[1]+e[3],height:m.height+e[0]+e[2],r:a.get("borderRadius")},style:h,subPixelOptimize:!0,silent:!0});b.add(e)}};a.type="title";return a}(na),Uz=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.layoutMode="box";return c}x(a,b);a.prototype.init=function(a,b,e){this.mergeDefaultAndTheme(a,e);this._initData()};a.prototype.mergeOption=function(a){b.prototype.mergeOption.apply(this,arguments);this._initData()};a.prototype.setCurrentIndex=function(a){null==a&&(a=this.option.currentIndex);var b=this._data.count();this.option.loop?a=(a%b+b)%b:(a>=b&&(a=b-1),0>a&&(a=0));this.option.currentIndex=a};a.prototype.getCurrentIndex=function(){return this.option.currentIndex};a.prototype.isIndexMax=function(){return this.getCurrentIndex()>=this._data.count()-1};a.prototype.setPlayState=function(a){this.option.autoPlay=!!a};a.prototype.getPlayState=function(){return!!this.option.autoPlay};a.prototype._initData=function(){var a=this.option,b=a.data||[],a=a.axisType,e=this._names=[],f;"category"===a?(f=[],r(b,function(a,b){var c=Ea(bg(a),""),d;N(a)?(d=J(a),d.value=b):d=b;f.push(d);e.push(c)})):f=b;(this._data=new Wa([{name:"value",type:{category:"ordinal",time:"time",value:"number"}[a]||"number"}],this)).initData(f,e)};a.prototype.getData=function(){return this._data};a.prototype.getCategories=function(){if("category"===this.get("axisType"))return this._names.slice()};a.type="timeline";a.defaultOption={zlevel:0,z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2E3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]};return a}(W),Vz=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="timeline.slider";a.defaultOption=ed(Uz.defaultOption,{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"circle",symbolSize:12,lineStyle:{show:!0,width:2,color:"#DAE1F5"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#A4B1D7"},itemStyle:{color:"#A4B1D7",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:15,color:"#316bf3",borderColor:"#fff",borderWidth:2,shadowBlur:2,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0, 0, 0, 0.3)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:24,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"M2,18.5A1.52,1.52,0,0,1,.92,18a1.49,1.49,0,0,1,0-2.12L7.81,9.36,1,3.11A1.5,1.5,0,1,1,3,.89l8,7.34a1.48,1.48,0,0,1,.49,1.09,1.51,1.51,0,0,1-.46,1.1L3,18.08A1.5,1.5,0,0,1,2,18.5Z",prevIcon:"M10,.5A1.52,1.52,0,0,1,11.08,1a1.49,1.49,0,0,1,0,2.12L4.19,9.64,11,15.89a1.5,1.5,0,1,1-2,2.22L1,10.77A1.48,1.48,0,0,1,.5,9.68,1.51,1.51,0,0,1,1,8.58L9,.92A1.5,1.5,0,0,1,10,.5Z",prevBtnSize:18,nextBtnSize:18,color:"#A4B1D7",borderColor:"#A4B1D7",borderWidth:1},emphasis:{label:{show:!0,color:"#6f778d"},itemStyle:{color:"#316BF3"},controlStyle:{color:"#316BF3",borderColor:"#316BF3",borderWidth:2}},progress:{lineStyle:{color:"#316BF3"},itemStyle:{color:"#316BF3"},label:{color:"#6f778d"}},data:[]});return a}(Uz);wa(Vz,Qo.prototype);var iN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="timeline";return a}(na),jN=function(b){function a(a,d,e,f){a=b.call(this,a,d,e)||this;a.type=f||"value";return a}x(a,b);a.prototype.getLabelModel=function(){return this.model.getModel("label")};a.prototype.isHorizontal=function(){return"horizontal"===this.model.get("orient")};return a}(Pb),Fp=Math.PI,Wz=ma(),kN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(a,b){this.api=b};a.prototype.render=function(a,b,e){this.model=a;this.api=e;this.ecModel=b;this.group.removeAll();if(a.get("show",!0)){var c=this._layout(a,e),d=this._createGroup("_mainGroup");b=this._createGroup("_labelGroup");var h=this._axis=this._createAxis(c,a);a.formatTooltip=function(a){a=h.scale.getLabel({value:a});return Ha("nameValue",{noName:!0,value:a})};r(["AxisLine","AxisTick","Control","CurrentPointer"],function(b){this["_render"+b](c,d,h,a)},this);this._renderAxisLabel(c,b,h,a);this._position(c,a)}this._doPlayStop();this._updateTicksStatus()};a.prototype.remove=function(){this._clearTimer();this.group.removeAll()};a.prototype.dispose=function(){this._clearTimer()};a.prototype._layout=function(a,b){var c=a.get(["label","position"]),d=a.get("orient"),g;g=Aa(a.getBoxLayoutParams(),{width:b.getWidth(),height:b.getHeight()},a.get("padding"));var c=null==c||"auto"===c?"horizontal"===d?g.y+g.height/2<b.getHeight()/2?"-":"+":g.x+g.width/2<b.getWidth()/2?"+":"-":da(c)?{horizontal:{top:"-",bottom:"+"},vertical:{left:"-",right:"+"}}[d][c]:c,h={horizontal:"center",vertical:0<=c||"+"===c?"left":"right"},k={horizontal:0<=c||"+"===c?"top":"bottom",vertical:"middle"},l={horizontal:0,vertical:Fp/2},m="vertical"===d?g.height:g.width,n=a.getModel("controlStyle"),p=n.get("show",!0),q=p?n.get("itemSize"):0,t=p?n.get("itemGap"):0,r=q+t,w=a.get(["label","rotate"])||0,w=w*Fp/180,v,x,B,y=n.get("position",!0),A=p&&n.get("showPlayBtn",!0),D=p&&n.get("showPrevBtn",!0),n=p&&n.get("showNextBtn",!0),p=0,C=m;"left"===y||"bottom"===y?(A&&(v=[0,0],p+=r),D&&(x=[p,0],p+=r)):(A&&(v=[C-q,0],C-=r),D&&(x=[0,0],p+=r));n&&(B=[C-q,0],C-=r);r=[p,C];a.get("inverse")&&r.reverse();return{viewRect:g,mainLength:m,orient:d,rotation:l[d],labelRotation:w,labelPosOpt:c,labelAlign:a.get(["label","align"])||h[d],labelBaseline:a.get(["label","verticalAlign"])||a.get(["label","baseline"])||k[d],playPosition:v,prevBtnPosition:x,nextBtnPosition:B,axisExtent:r,controlSize:q,controlGap:t}};a.prototype._position=function(a,b){function c(a){a.originX=q[0][0]-a.x;a.originY=q[1][0]-a.y}function d(a){return[[a.x,a.x+a.width],[a.y,a.y+a.height]]}function g(a,b,c,d,e){a[d]+=c[d][e]-b[d][e]}var h=this._mainGroup,k=this._labelGroup,l=a.viewRect;if("vertical"===a.orient){var m=nb(),n=l.x,p=l.y+l.height;Rb(m,m,[-n,-p]);Tc(m,m,-Fp/2);Rb(m,m,[n,p]);l=l.clone();l.applyTransform(m)}var q=d(l),l=d(h.getBoundingRect()),m=d(k.getBoundingRect()),n=[h.x,h.y],p=[k.x,k.y];p[0]=n[0]=q[0][0];var t=a.labelPosOpt;null==t||da(t)?(t="+"===t?0:1,g(n,l,q,1,t),g(p,m,q,1,1-t)):(g(n,l,q,1,0<=t?0:1),p[1]=n[1]+t);h.setPosition(n);k.setPosition(p);h.rotation=k.rotation=a.rotation;c(h);c(k)};a.prototype._createAxis=function(a,b){var c=b.getData(),d=b.get("axisType"),g=oH(b,d);g.getTicks=function(){return c.mapArray(["value"],function(a){return{value:a}})};var h=c.getDataExtent("value");g.setExtent(h[0],h[1]);g.niceTicks();d=new jN("value",g,a.axisExtent,d);d.model=b;return d};a.prototype._createGroup=function(a){a=this[a]=new M;this.group.add(a);return a};a.prototype._renderAxisLine=function(a,b,e,f){a=e.getExtent();f.get(["lineStyle","show"])&&(e=new Ua({shape:{x1:a[0],y1:0,x2:a[1],y2:0},style:F({lineCap:"round"},f.getModel("lineStyle").getLineStyle()),silent:!0,z2:1}),b.add(e),f=this._progressLine=new Ua({shape:{x1:a[0],x2:this._currentPointer?this._currentPointer.x:a[0],y1:0,y2:0},style:K({lineCap:"round",lineWidth:e.style.lineWidth},f.getModel(["progress","lineStyle"]).getLineStyle()),silent:!0,z2:1}),b.add(f))};a.prototype._renderAxisTick=function(a,b,e,f){var c=this,d=f.getData();a=e.scale.getTicks();this._tickSymbols=[];r(a,function(a){var g=e.dataToCoord(a.value),h=d.getItemModel(a.value),k=h.getModel("itemStyle"),p=h.getModel(["emphasis","itemStyle"]),q=h.getModel(["progress","itemStyle"]),g={x:g,y:0,onclick:I(c._changeTimeline,c,a.value)},k=ux(h,k,b,g);k.ensureState("emphasis").style=p.getItemStyle();k.ensureState("progress").style=q.getItemStyle();va(k);p=S(k);h.get("tooltip")?(p.dataIndex=a.value,p.dataModel=f):p.dataIndex=p.dataModel=null;c._tickSymbols.push(k)})};a.prototype._renderAxisLabel=function(a,b,e,f){var c=this;if(e.getLabelModel().get("show")){var d=f.getData();f=e.getViewLabels();this._tickLabels=[];r(f,function(f){var g=f.tickValue,h=d.getItemModel(g),k=h.getModel("label"),p=h.getModel(["emphasis","label"]),h=h.getModel(["progress","label"]),q=e.dataToCoord(f.tickValue);f=new ha({x:q,y:0,rotation:a.labelRotation-a.rotation,onclick:I(c._changeTimeline,c,g),silent:!1,style:Ja(k,{text:f.formattedLabel,align:a.labelAlign,verticalAlign:a.labelBaseline})});f.ensureState("emphasis").style=Ja(p);f.ensureState("progress").style=Ja(h);b.add(f);va(f);Wz(f).dataIndex=g;c._tickLabels.push(f)})}};a.prototype._renderControl=function(a,b,e,f){function c(a,c,e,g){if(a){var h=Ub(ka(f.get(["controlStyle",c+"BtnSize"]),d),d),h=[0,-h/2,h,h];e={position:a,origin:[d/2,0],rotation:g?-k:0,rectHover:!0,style:l,onclick:e};a=e.style;c=Ze(f.get(["controlStyle",c+"Icon"]),e||{},new aa(h[0],h[1],h[2],h[3]));a&&c.setStyle(a);c.ensureState("emphasis").style=m;b.add(c);va(c)}}var d=a.controlSize,k=a.rotation,l=f.getModel("controlStyle").getItemStyle(),m=f.getModel(["emphasis","controlStyle"]).getItemStyle();e=f.getPlayState();var n=f.get("inverse",!0);c(a.nextBtnPosition,"next",I(this._changeTimeline,this,n?"-":"+"));c(a.prevBtnPosition,"prev",I(this._changeTimeline,this,n?"+":"-"));c(a.playPosition,e?"stop":"play",I(this._handlePlayClick,this,!e),!0)};a.prototype._renderCurrentPointer=function(a,b,e,f){a=f.getData();var c=f.getCurrentIndex();a=a.getItemModel(c).getModel("checkpointStyle");var d=this;this._currentPointer=ux(a,a,this._mainGroup,{},this._currentPointer,{onCreate:function(a){a.draggable=!0;a.drift=I(d._handlePointerDrag,d);a.ondragend=I(d._handlePointerDragend,d);vx(a,d._progressLine,c,e,f,!0)},onUpdate:function(a){vx(a,d._progressLine,c,e,f)}})};a.prototype._handlePlayClick=function(a){this._clearTimer();this.api.dispatchAction({type:"timelinePlayChange",playState:a,from:this.uid})};a.prototype._handlePointerDrag=function(a,b,e){this._clearTimer();this._pointerChangeTimeline([e.offsetX,e.offsetY])};a.prototype._handlePointerDragend=function(a){this._pointerChangeTimeline([a.offsetX,a.offsetY],!0)};a.prototype._pointerChangeTimeline=function(a,b){var c=this._toAxisCoord(a)[0],d=Cb(this._axis.getExtent().slice());c>d[1]&&(c=d[1]);c<d[0]&&(c=d[0]);this._currentPointer.x=c;this._currentPointer.markRedraw();this._progressLine.shape.x2=c;this._progressLine.dirty();c=this._findNearestTick(c);d=this.model;(b||c!==d.getCurrentIndex()&&d.get("realtime"))&&this._changeTimeline(c)};a.prototype._doPlayStop=function(){var a=this;this._clearTimer();this.model.getPlayState()&&(this._timer=setTimeout(function(){var b=a.model;a._changeTimeline(b.getCurrentIndex()+(b.get("rewind",!0)?-1:1))},this.model.get("playInterval")))};a.prototype._toAxisCoord=function(a){var b=this._mainGroup.getLocalTransform();return Wb(a,b,!0)};a.prototype._findNearestTick=function(a){var b=this.model.getData(),c=Infinity,f,g=this._axis;b.each(["value"],function(b,d){var e=g.dataToCoord(b),e=Math.abs(e-a);e<c&&(c=e,f=d)});return f};a.prototype._clearTimer=function(){this._timer&&(clearTimeout(this._timer),this._timer=null)};a.prototype._changeTimeline=function(a){var b=this.model.getCurrentIndex();"+"===a?a=b+1:"-"===a&&(a=b-1);this.api.dispatchAction({type:"timelineChange",currentIndex:a,from:this.uid})};a.prototype._updateTicksStatus=function(){var a=this.model.getCurrentIndex(),b=this._tickSymbols,e=this._tickLabels;if(b)for(var f=0;f<b.length;f++)b&&b[f]&&b[f].toggleState("progress",f<a);if(e)for(f=0;f<e.length;f++)e&&e[f]&&e[f].toggleState("progress",Wz(e[f]).dataIndex<=a)};a.type="timeline.slider";return a}(iN),lk=ma(),Mc=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.createdBySelf=!1;return c}x(a,b);a.prototype.init=function(a,b,e){if("marker"===this.type)throw Error("Marker component is abstract component. Use markLine, markPoint, markArea instead.");this.mergeDefaultAndTheme(a,e);this._mergeOption(a,e,!1,!0)};a.prototype.isAnimationEnabled=function(){if(X.node)return!1;var a=this.__hostSeries;return this.getShallow("animation")&&a&&a.isAnimationEnabled()};a.prototype.mergeOption=function(a,b){this._mergeOption(a,b,!1,!1)};a.prototype._mergeOption=function(a,b,e,f){var c=this.mainType;e||b.eachSeries(function(a){var d=a.get(this.mainType,!0),e=lk(a)[c];d&&d.data?(e?e._mergeOption(d,b,!0):(f&&xj(d),r(d.data,function(a){a instanceof Array?(xj(a[0]),xj(a[1])):xj(a)}),e=this.createMarkerModelFromSeries(d,this,b),F(e,{mainType:this.mainType,seriesIndex:a.seriesIndex,name:a.name,createdBySelf:!0}),e.__hostSeries=a),lk(a)[c]=e):lk(a)[c]=null},this)};a.prototype.formatTooltip=function(a,b,e){e=this.getData();b=this.getRawValue(a);a=e.getName(a);return Ha("section",{header:this.name,blocks:[Ha("nameValue",{name:a,value:b,noName:!a,noValue:null==b})]})};a.prototype.getData=function(){return this._data};a.prototype.setData=function(a){this._data=a};a.getMarkerModelFromSeries=function(a,b){return lk(a)[b]};a.type="marker";a.dependencies=["series","grid","polar","geo"];return a}(W);wa(Mc,Qo.prototype);var lN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.createMarkerModelFromSeries=function(b,d,e){return new a(b,d,e)};a.type="markPoint";a.defaultOption={zlevel:0,z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{show:!0,position:"inside"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}};return a}(Mc),ko={min:P(yj,"min"),max:P(yj,"max"),average:P(yj,"average"),median:P(yj,"median")},Gp=ma(),Hp=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.init=function(){this.markerGroupMap=R()};a.prototype.render=function(a,b,e){var c=this;a=this.markerGroupMap;a.each(function(a){Gp(a).keep=!1});b.eachSeries(function(a){var d=Mc.getMarkerModelFromSeries(a,c.type);d&&c.renderSeries(a,d,b,e)});a.each(function(a){!Gp(a).keep&&c.group.remove(a.group)})};a.prototype.markKeep=function(a){Gp(a).keep=!0};a.prototype.blurSeries=function(a){var b=this;r(a,function(a){(a=Mc.getMarkerModelFromSeries(a,b.type))&&a.getData().eachItemGraphicEl(function(a){a&&rb(a,kl)})})};a.type="marker";return a}(na),mN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.updateTransform=function(a,b,e){b.eachSeries(function(a){var b=Mc.getMarkerModelFromSeries(a,"markPoint");b&&(Ax(b.getData(),a,e),this.markerGroupMap.get(a.id).updateLayout())},this)};a.prototype.renderSeries=function(a,b,e,f){e=a.coordinateSystem;var c=a.id,d=a.getData(),k=this.markerGroupMap,c=k.get(c)||k.set(c,new Eh),l=tH(e,a,b);b.setData(l);Ax(b.getData(),a,f);l.each(function(a){var c=l.getItemModel(a),e=c.getShallow("symbol"),f=c.getShallow("symbolSize"),g=c.getShallow("symbolRotate");if(fa(e)||fa(f)||fa(g)){var h=b.getRawValue(a),k=b.getDataParams(a);fa(e)&&(e=e(h,k));fa(f)&&(f=f(h,k));fa(g)&&(g=g(h,k))}c=c.getModel("itemStyle").getItemStyle();h=ug(d,"color");c.fill||(c.fill=h);l.setItemVisual(a,{symbol:e,symbolSize:f,symbolRotate:g,style:c})});c.updateData(l);this.group.add(c.group);l.eachItemGraphicEl(function(a){a.traverse(function(a){S(a).dataModel=b})});this.markKeep(c);c.group.silent=b.get("silent")||a.get("silent")};a.type="markPoint";return a}(Hp),nN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.createMarkerModelFromSeries=function(b,d,e){return new a(b,d,e)};a.type="markLine";a.defaultOption={zlevel:0,z:5,symbol:["circle","arrow"],symbolSize:[8,16],precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end",distance:5},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"};return a}(Mc),mk=ma(),wH=function(b,a,c,d){var e=b.getData();if(!A(d)){var f=d.type;if("min"===f||"max"===f||"average"===f||"median"===f||null!=d.xAxis||null!=d.yAxis){if(null!=d.yAxis||null!=d.xAxis)a=a.getAxis(null!=d.yAxis?"y":"x"),e=Ba(d.yAxis,d.xAxis);else{var g=yx(d,e,a,b);a=g.valueAxis;g=lm(e,g.valueDataDim);e=jo(e,g,f)}a="x"===a.dim?0:1;var h=1-a,g=J(d),k={coord:[]};g.type=null;g.coord=[];g.coord[h]=-Infinity;k.coord[h]=Infinity;c=c.get("precision");0<=c&&"number"===typeof e&&(e=+e.toFixed(Math.min(c,20)));g.coord[a]=k.coord[a]=e;d=[g,k,{type:f,valueIndex:d.valueIndex,value:e}]}else yb("Invalid markLine data."),d=[]}b=[ch(b,d[0]),ch(b,d[1]),F({},d[2])];b[2].type=b[2].type||null;U(b[2],b[0]);U(b[2],b[1]);return b},oN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.updateTransform=function(a,b,e){b.eachSeries(function(a){var b=Mc.getMarkerModelFromSeries(a,"markLine");if(b){var c=b.getData(),d=mk(b).from,f=mk(b).to;d.each(function(b){lo(d,b,!0,a,e);lo(f,b,!1,a,e)});c.each(function(a){c.setItemLayout(a,[d.getItemLayout(a),f.getItemLayout(a)])});this.markerGroupMap.get(a.id).updateLayout()}},this)};a.prototype.renderSeries=function(a,b,e,f){function c(b,c,d){var e=b.getItemModel(c);lo(b,c,d,a,f);var g=e.getModel("itemStyle").getItemStyle();null==g.fill&&(g.fill=ug(k,"color"));b.setItemVisual(c,{symbolRotate:e.get("symbolRotate"),symbolSize:e.get("symbolSize")||t[d?0:1],symbol:e.get("symbol",!0)||q[d?0:1],style:g})}e=a.coordinateSystem;var d=a.id,k=a.getData(),l=this.markerGroupMap,d=l.get(d)||l.set(d,new tp);this.group.add(d.group);e=vH(e,a,b);var m=e.from,n=e.to,p=e.line;mk(b).from=m;mk(b).to=n;b.setData(p);var q=b.get("symbol"),t=b.get("symbolSize");A(q)||(q=[q,q]);A(t)||(t=[t,t]);e.from.each(function(a){c(m,a,!0);c(n,a,!1)});p.each(function(a){var b=p.getItemModel(a).getModel("lineStyle").getLineStyle();p.setItemLayout(a,[m.getItemLayout(a),n.getItemLayout(a)]);null==b.stroke&&(b.stroke=m.getItemVisual(a,"style").fill);p.setItemVisual(a,{fromSymbolRotate:m.getItemVisual(a,"symbolRotate"),fromSymbolSize:m.getItemVisual(a,"symbolSize"),fromSymbol:m.getItemVisual(a,"symbol"),toSymbolRotate:n.getItemVisual(a,"symbolRotate"),toSymbolSize:n.getItemVisual(a,"symbolSize"),toSymbol:n.getItemVisual(a,"symbol"),style:b})});d.updateData(p);e.line.eachItemGraphicEl(function(a,c){a.traverse(function(a){S(a).dataModel=b})});this.markKeep(d);d.group.silent=b.get("silent")||a.get("silent")};a.type="markLine";return a}(Hp),pN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.createMarkerModelFromSeries=function(b,d,e){return new a(b,d,e)};a.type="markArea";a.defaultOption={zlevel:0,z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}};return a}(Mc),nk=ma(),zH=function(b,a,c,d){a=ch(b,d[0]);b=ch(b,d[1]);d=a.coord;c=b.coord;d[0]=Ba(d[0],-Infinity);d[1]=Ba(d[1],-Infinity);c[0]=Ba(c[0],Infinity);c[1]=Ba(c[1],Infinity);d=Ph([{},a,b]);d.coord=[a.coord,b.coord];d.x0=a.x;d.y0=a.y;d.x1=b.x;d.y1=b.y;return d},Ip=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]],qN=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.updateTransform=function(a,b,e){b.eachSeries(function(a){var b=Mc.getMarkerModelFromSeries(a,"markArea");if(b){var c=b.getData();c.each(function(b){var d=C(Ip,function(d){return Cx(c,b,d,a,e)});c.setItemLayout(b,d);c.getItemGraphicEl(b).setShape("points",d)})}},this)};a.prototype.renderSeries=function(a,b,e,f){var c=a.coordinateSystem;e=a.id;var d=a.getData(),k=this.markerGroupMap,l=k.get(e)||k.set(e,{group:new M});this.group.add(l.group);this.markKeep(l);var m=yH(c,a,b);b.setData(m);m.each(function(b){var e=C(Ip,function(c){return Cx(m,b,c,a,f)}),g=!0;r(Ip,function(a){if(g){var d=m.get(a[0],b);a=m.get(a[1],b);(vd(d)||c.getAxis("x").containData(d))&&(vd(a)||c.getAxis("y").containData(a))&&(g=!1)}});m.setItemLayout(b,{points:e,allClipped:g});var e=m.getItemModel(b).getModel("itemStyle").getItemStyle(),h=ug(d,"color");e.fill||(e.fill=h,"string"===typeof e.fill&&(e.fill=Uf(e.fill,.4)));e.stroke||(e.stroke=h);m.setItemVisual(b,"style",e)});m.diff(nk(l).data).add(function(a){var b=m.getItemLayout(a);b.allClipped||(b=new bb({shape:{points:b.points}}),m.setItemGraphicEl(a,b),l.group.add(b))}).update(function(a,c){var d=nk(l).data.getItemGraphicEl(c),e=m.getItemLayout(a);e.allClipped?d&&l.group.remove(d):(d?ea(d,{shape:{points:e.points}},b,a):d=new bb({shape:{points:e.points}}),m.setItemGraphicEl(a,d),l.group.add(d))}).remove(function(a){a=nk(l).data.getItemGraphicEl(a);l.group.remove(a)}).execute();m.eachItemGraphicEl(function(a,c){var d=m.getItemModel(c),e=m.getItemVisual(c,"style");a.useStyle(m.getItemVisual(c,"style"));cb(a,Ra(d),{labelFetcher:b,labelDataIndex:c,defaultText:m.getName(c)||"",inheritColor:"string"===typeof e.fill?Uf(e.fill,1):"#000"});Fa(a,d);va(a);S(a).dataModel=b});nk(l).data=m;l.group.silent=b.get("silent")||a.get("silent")};a.type="markArea";return a}(Hp),oo=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.layoutMode={type:"box",ignoreSize:!0};return c}x(a,b);a.prototype.init=function(a,b,e){this.mergeDefaultAndTheme(a,e);a.selected=a.selected||{};this._updateSelector(a)};a.prototype.mergeOption=function(a,d){b.prototype.mergeOption.call(this,a,d);this._updateSelector(a)};a.prototype._updateSelector=function(a){var b=a.selector,c=this.ecModel;!0===b&&(b=a.selector=["all","inverse"]);A(b)&&r(b,function(a,d){da(a)&&(a={type:a});var e=b,f=a,g;g=a.type;g="all"===g?{type:"all",title:c.getLocale(["legend","selector","all"])}:"inverse"===g?{type:"inverse",title:c.getLocale(["legend","selector","inverse"])}:void 0;e[d]=U(f,g)})};a.prototype.optionUpdated=function(){this._updateData(this.ecModel);var a=this._data;if(a[0]&&"single"===this.get("selectedMode")){for(var b=!1,e=0;e<a.length;e++){var f=a[e].get("name");if(this.isSelected(f)){this.select(f);b=!0;break}}!b&&this.select(a[0].get("name"))}};a.prototype._updateData=function(a){var b=[],c=[];a.eachRawSeries(function(d){c.push(d.name);var e;if(d.legendVisualProvider){var f=d.legendVisualProvider.getAllNames();a.isSeriesFiltered(d)||(c=c.concat(f));f.length?b=b.concat(f):e=!0}else e=!0;e&&al(d)&&b.push(d.name)});this._availableNames=c;var f=this.get("data")||b;this._data=C(f,function(a){if("string"===typeof a||"number"===typeof a)a={name:a};return new la(a,this,this.ecModel)},this)};a.prototype.getData=function(){return this._data};a.prototype.select=function(a){var b=this.option.selected;"single"===this.get("selectedMode")&&r(this._data,function(a){b[a.get("name")]=!1});b[a]=!0};a.prototype.unSelect=function(a){"single"!==this.get("selectedMode")&&(this.option.selected[a]=!1)};a.prototype.toggleSelected=function(a){var b=this.option.selected;b.hasOwnProperty(a)||(b[a]=!0);this[b[a]?"unSelect":"select"](a)};a.prototype.allSelect=function(){var a=this.option.selected;r(this._data,function(b){a[b.get("name",!0)]=!0})};a.prototype.inverseSelect=function(){var a=this.option.selected;r(this._data,function(b){b=b.get("name",!0);a.hasOwnProperty(b)||(a[b]=!0);a[b]=!a[b]})};a.prototype.isSelected=function(a){var b=this.option.selected;return!(b.hasOwnProperty(a)&&!b[a])&&0<=ba(this._availableNames,a)};a.prototype.getOrient=function(){return"vertical"===this.get("orient")?{index:1,name:"vertical"}:{index:0,name:"horizontal"}};a.type="legend.plain";a.dependencies=["series"];a.defaultOption={zlevel:0,z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,inactiveColor:"#ccc",inactiveBorderColor:"#ccc",itemStyle:{borderWidth:0},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:" sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}};return a}(W),ok=M,Hx=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.newlineDisabled=!1;return c}x(a,b);a.prototype.init=function(){this.group.add(this._contentGroup=new ok);this.group.add(this._selectorGroup=new ok);this._isFirstRender=!0};a.prototype.getContentGroup=function(){return this._contentGroup};a.prototype.getSelectorGroup=function(){return this._selectorGroup};a.prototype.render=function(a,b,e){var c=this._isFirstRender;this._isFirstRender=!1;this.resetInner();if(a.get("show",!0)){var d=a.get("align"),h=a.get("orient");d&&"auto"!==d||(d="right"===a.get("left")&&"vertical"===h?"right":"left");var k=a.get("selector",!0),l=a.get("selectorPosition",!0);!k||l&&"auto"!==l||(l="horizontal"===h?"end":"start");this.renderInner(d,a,b,e,k,h,l);b=a.getBoxLayoutParams();e={width:e.getWidth(),height:e.getHeight()};var h=a.get("padding"),m=Aa(b,e,h),c=this.layoutInner(a,d,m,c,k,l),d=Aa(K({width:c.width,height:c.height},b),e,h);this.group.x=d.x-c.x;this.group.y=d.y-c.y;this.group.markRedraw();this.group.add(this._backgroundEl=$w(c,a))}};a.prototype.resetInner=function(){this.getContentGroup().removeAll();this._backgroundEl&&this.group.remove(this._backgroundEl);this.getSelectorGroup().removeAll()};a.prototype.renderInner=function(a,b,e,f,g,h,k){var c=this.getContentGroup(),d=R(),n=b.get("selectedMode"),p=[];e.eachRawSeries(function(a){!a.get("legendHoverLink")&&p.push(a.id)});r(b.getData(),function(g,h){var k=g.get("name");if(this.newlineDisabled||""!==k&&"\n"!==k){var l=e.getSeriesByName(k)[0];if(!d.get(k)){if(l){var m=l.getData(),q=m.getVisual("style"),t=q[m.getVisual("drawType")]||q.fill,r=q.stroke,q=q.decal,x=m.getVisual("legendSymbol")||"roundRect",m=m.getVisual("symbol");this._createItem(k,h,g,b,x,m,a,t,r,q,n).on("click",P(Ex,k,null,f,p)).on("mouseover",P(no,l.name,null,f,p)).on("mouseout",P(mo,l.name,null,f,p));d.set(k,!0)}else e.eachRawSeries(function(c){if(!d.get(k)&&c.legendVisualProvider&&(c=c.legendVisualProvider,c.containName(k))){var e=c.indexOfName(k),l=c.getItemVisual(e,"style");c=l.stroke;var e=l.decal,m=l.fill;(l=eb(l.fill))&&0===l[3]&&(l[3]=.2,m=Tb(l,"rgba"));this._createItem(k,h,g,b,"roundRect",null,a,m,c,e,n).on("click",P(Ex,null,k,f,p)).on("mouseover",P(no,null,k,f,p)).on("mouseout",P(mo,null,k,f,p));d.set(k,!0)}},this);d.get(k)||console.warn(k+" series not exists. Legend data should be same with series name or data name.")}}else l=new ok,l.newline=!0,c.add(l)},this);g&&this._createSelector(g,b,f,h,k)};a.prototype._createSelector=function(a,b,e,f,g){var c=this.getSelectorGroup();r(a,function(a){var d=a.type,f=new ha({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){e.dispatchAction({type:"all"===d?"legendAllSelect":"legendInverseSelect"})}});c.add(f);var g=b.getModel("selectorLabel"),h=b.getModel(["emphasis","selectorLabel"]);cb(f,{normal:g,emphasis:h},{defaultText:a.title});va(f)})};a.prototype._createItem=function(a,b,e,f,g,h,k,l,m,n,p){var c=f.get("itemWidth"),d=f.get("itemHeight"),r=f.get("inactiveColor"),w=f.get("inactiveBorderColor"),v=f.get("symbolKeepAspect"),x=f.getModel("itemStyle"),A=f.isSelected(a),y=new ok,C=e.getModel("textStyle"),D=e.get("icon");e=e.getModel("tooltip");var H=e.parentModel;g=D||g;var E=Pa(g,0,0,c,d,A?l:r,null==v?!0:v);y.add(Dx(E,g,x,m,w,n,A));D||!h||h===g&&"none"!==h||(g=.8*d,"none"===h&&(h="circle"),l=Pa(h,(c-g)/2,(d-g)/2,g,g,A?l:r,null==v?!0:v),y.add(Dx(l,h,x,m,w,n,A)));h="left"===k?c+5:-5;m=f.get("formatter");n=a;"string"===typeof m&&m?n=m.replace("{name}",null!=a?a:""):"function"===typeof m&&(n=m(a));y.add(new ha({style:Ja(C,{text:n,x:h,y:d/2,fill:A?C.getTextColor():r,align:k,verticalAlign:"middle"})}));k=new Z({shape:y.getBoundingRect(),invisible:!0});e.get("show")&&(f={componentType:"legend",legendIndex:f.componentIndex,name:a,$vars:["name"]},k.tooltip=F({content:a,formatter:H.get("formatter",!0)||function(a){return a.name},formatterParams:f},e.option));y.add(k);y.eachChild(function(a){a.silent=!0});k.silent=!p;this.getContentGroup().add(y);va(y);y.__legendDataIndex=b;return y};a.prototype.layoutInner=function(a,b,e,f,g,h){b=this.getContentGroup();f=this.getSelectorGroup();me(a.get("orient"),b,a.get("itemGap"),e.width,e.height);e=b.getBoundingRect();var c=[-e.x,-e.y];f.markRedraw();b.markRedraw();if(g){me("horizontal",f,a.get("selectorItemGap",!0));g=f.getBoundingRect();var d=[-g.x,-g.y],m=a.get("selectorButtonGap",!0);a=a.getOrient().index;var n=0===a?"width":"height",p=0===a?"height":"width",q=0===a?"y":"x";"end"===h?d[a]+=e[n]+m:c[a]+=g[n]+m;d[1-a]+=e[p]/2-g[p]/2;f.x=d[0];f.y=d[1];b.x=c[0];b.y=c[1];h={x:0,y:0};h[n]=e[n]+m+g[n];h[p]=Math.max(e[p],g[p]);h[q]=Math.min(0,g[q]+d[1-a]);return h}b.x=c[0];b.y=c[1];return this.group.getBoundingRect()};a.prototype.remove=function(){this.getContentGroup().removeAll();this._isFirstRender=!0};a.type="legend.plain";return a}(na),EH=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.setScrollDataIndex=function(a){this.option.scrollDataIndex=a};a.prototype.init=function(a,d,e){var c=Qd({},a);b.prototype.init.call(this,a,d,e);Ix(this,a,c)};a.prototype.mergeOption=function(a,d){b.prototype.mergeOption.call(this,a,d);Ix(this,this.option,a)};a.type="legend.scroll";a.defaultOption=ed(oo.defaultOption,{scrollDataIndex:0,pageButtonItemGap:5,pageButtonGap:null,pageButtonPosition:"end",pageFormatter:"{current}/{total}",pageIcons:{horizontal:["M0,0L12,-10L12,10z","M0,0L-12,-10L-12,10z"],vertical:["M0,0L20,0L10,-20z","M0,0L20,0L10,20z"]},pageIconColor:"#2f4554",pageIconInactiveColor:"#aaa",pageIconSize:15,pageTextStyle:{color:"#333"},animationDurationUpdate:800});return a}(oo),Xz=M,Jp=["width","height"],Kp=["x","y"],FH=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.newlineDisabled=!0;c._currentIndex=0;return c}x(a,b);a.prototype.init=function(){b.prototype.init.call(this);this.group.add(this._containerGroup=new Xz);this._containerGroup.add(this.getContentGroup());this.group.add(this._controllerGroup=new Xz)};a.prototype.resetInner=function(){b.prototype.resetInner.call(this);this._controllerGroup.removeAll();this._containerGroup.removeClipPath();this._containerGroup.__rectSize=null};a.prototype.renderInner=function(a,d,e,f,g,h,k){function c(a,b){var c=a+"DataIndex",c=Ze(d.get("pageIcons",!0)[d.getOrient().name][b],{onclick:I(m._pageGo,m,c,d,f)},{x:-p[0]/2,y:-p[1]/2,width:p[0],height:p[1]});c.name=a;n.add(c)}var m=this;b.prototype.renderInner.call(this,a,d,e,f,g,h,k);var n=this._controllerGroup;a=d.get("pageIconSize",!0);var p=A(a)?a:[a,a];c("pagePrev",0);a=d.getModel("pageTextStyle");n.add(new ha({name:"pageText",style:{text:"xx/xx",fill:a.getTextColor(),font:a.getFont(),verticalAlign:"middle",align:"center"},silent:!0}));c("pageNext",1)};a.prototype.layoutInner=function(a,b,e,f,g,h){b=this.getSelectorGroup();var c=a.getOrient().index,d=Jp[c],m=Kp[c],n=Jp[1-c],p=Kp[1-c];g&&me("horizontal",b,a.get("selectorItemGap",!0));var q=a.get("selectorButtonGap",!0),t=b.getBoundingRect(),r=[-t.x,-t.y],w=J(e);g&&(w[d]=e[d]-t[d]-q);a=this._layoutContentAndController(a,f,w,c,d,n,p,m);g&&("end"===h?r[c]+=a[d]+q:(g=t[d]+q,r[c]-=g,a[m]-=g),a[d]+=t[d]+q,r[1-c]+=a[p]+a[n]/2-t[n]/2,a[n]=Math.max(a[n],t[n]),a[p]=Math.min(a[p],t[p]+r[1-c]),b.x=r[0],b.y=r[1],b.markRedraw());return a};a.prototype._layoutContentAndController=function(a,b,e,f,g,h,k,l){var c=this.getContentGroup(),d=this._containerGroup,p=this._controllerGroup;me(a.get("orient"),c,a.get("itemGap"),f?e.width:null,f?null:e.height);me("horizontal",p,a.get("pageButtonItemGap",!0));var q=c.getBoundingRect(),t=p.getBoundingRect(),r=this._showController=q[g]>e[g],w=[-q.x,-q.y];b||(w[f]=c[l]);var v=[0,0];l=[-t.x,-t.y];b=ka(a.get("pageButtonGap",!0),a.get("itemGap",!0));r&&("end"===a.get("pageButtonPosition",!0)?l[f]+=e[g]-t[g]:v[f]+=t[g]+b);l[1-f]+=q[h]/2-t[h]/2;c.setPosition(w);d.setPosition(v);p.setPosition(l);w={x:0,y:0};w[g]=r?e[g]:q[g];w[h]=Math.max(q[h],t[h]);w[k]=Math.min(0,t[k]+l[1-f]);d.__rectSize=e[g];r?(f={x:0,y:0},f[g]=Math.max(e[g]-t[g]-b,0),f[h]=w[h],d.setClipPath(new Z({shape:f})),d.__rectSize=f[g]):p.eachChild(function(a){a.attr({invisible:!0,silent:!0})});e=this._getPageInfo(a);null!=e.pageIndex&&ea(c,{x:e.contentPosition[0],y:e.contentPosition[1]},r?a:null);this._updatePageInfoView(a,e);return w};a.prototype._pageGo=function(a,b,e){a=this._getPageInfo(b)[a];null!=a&&e.dispatchAction({type:"legendScroll",scrollDataIndex:a,legendId:b.id})};a.prototype._updatePageInfoView=function(a,b){var c=this._controllerGroup;r(["pagePrev","pageNext"],function(d){var e=null!=b[d+"DataIndex"];if(d=c.childOfName(d))d.setStyle("fill",e?a.get("pageIconColor",!0):a.get("pageIconInactiveColor",!0)),d.cursor=e?"pointer":"default"});var d=c.childOfName("pageText"),g=a.get("pageFormatter"),h=b.pageIndex,h=null!=h?h+1:0,k=b.pageCount;d&&g&&d.setStyle("text",da(g)?g.replace("{current}",null==h?"":h+"").replace("{total}",null==k?"":k+""):g({current:h,total:k}))};a.prototype._getPageInfo=function(a){function b(a){if(a){var b=a.getBoundingRect(),c=b[m]+a[m];return{s:c,e:c+b[l],i:a.__legendDataIndex}}}function c(a,b){return a.e>=b&&a.s<=b+h}var f=a.get("scrollDataIndex",!0),g=this.getContentGroup(),h=this._containerGroup.__rectSize,k=a.getOrient().index,l=Jp[k],m=Kp[k],f=this._findTargetItemIndex(f);a=g.children();var n=a[f],p=a.length,q=p?1:0,g={contentPosition:[g.x,g.y],pageCount:q,pageIndex:q-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!n)return g;n=b(n);g.contentPosition[k]=-n.s;for(var k=f+1,t=q=n,r=null;k<=p;++k){r=b(a[k]);if(!r&&t.e>q.s+h||r&&!c(r,q.s))if(q=t.i>q.i?t:r)null==g.pageNextDataIndex&&(g.pageNextDataIndex=q.i),++g.pageCount;t=r}k=f-1;t=q=n;for(r=null;-1<=k;--k)r=b(a[k]),r&&c(t,r.s)||!(q.i<t.i)||(t=q,null==g.pagePrevDataIndex&&(g.pagePrevDataIndex=q.i),++g.pageCount,++g.pageIndex),q=r;return g};a.prototype._findTargetItemIndex=function(a){if(!this._showController)return 0;var b,c;this.getContentGroup().eachChild(function(d,e){var f=d.__legendDataIndex;null==c&&null!=f&&(c=e);f===a&&(b=e)});return null!=b?b:c};a.type="legend.scroll";return a}(Hx),MH=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="dataZoom.inside";a.defaultOption=ed(Kh.defaultOption,{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0});return a}(Kh),po=ma(),NH=function(b){function a(){var a=null!==b&&b.apply(this,arguments)||this;a.type="dataZoom.inside";return a}x(a,b);a.prototype.render=function(a,d,e){b.prototype.render.apply(this,arguments);a.noTarget()?this._clear():(this.range=a.getPercentRange(),GH(e,a,{pan:I(Lp.pan,this),zoom:I(Lp.zoom,this),scrollMove:I(Lp.scrollMove,this)}))};a.prototype.dispose=function(){this._clear();b.prototype.dispose.apply(this,arguments)};a.prototype._clear=function(){for(var a=this.dataZoomModel,b=po(this.api).coordSysRecordMap,e=b.keys(),f=0;f<e.length;f++){var g=b.get(e[f]),h=g.dataZoomInfoMap;if(h){var k=a.uid;h.get(k)&&(h.removeKey(k),h.keys().length||Jx(b,g))}}this.range=null};a.type="dataZoom.inside";return a}(Cp),Lp={zoom:function(b,a,c,d){var e=this.range,f=e.slice(),g=b.axisModels[0];if(g&&(b=Mp[a](null,[d.originX,d.originY],g,c,b),b=(0<b.signal?b.pixelStart+b.pixelLength-b.pixel:b.pixel-b.pixelStart)/b.pixelLength*(f[1]-f[0])+f[0],d=Math.max(1/d.scale,0),f[0]=(f[0]-b)*d+b,f[1]=(f[1]-b)*d+b,d=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan(),fe(0,f,[0,100],0,d.minSpan,d.maxSpan),this.range=f,e[0]!==f[0]||e[1]!==f[1]))return f},pan:Kx(function(b,a,c,d,e,f){a=Mp[d]([f.oldX,f.oldY],[f.newX,f.newY],a,e,c);return a.signal*(b[1]-b[0])*a.pixel/a.pixelLength}),scrollMove:Kx(function(b,a,c,d,e,f){return Mp[d]([0,0],[f.scrollDelta,f.scrollDelta],a,e,c).signal*(b[1]-b[0])*f.scrollDelta})},Mp={grid:function(b,a,c,d,e){c=c.axis;d={};e=e.model.coordinateSystem.getRect();b=b||[0,0];"x"===c.dim?(d.pixel=a[0]-b[0],d.pixelLength=e.width,d.pixelStart=e.x,d.signal=c.inverse?1:-1):(d.pixel=a[1]-b[1],d.pixelLength=e.height,d.pixelStart=e.y,d.signal=c.inverse?-1:1);return d},polar:function(b,a,c,d,e){d=c.axis;var f={};e=e.model.coordinateSystem;var g=e.getRadiusAxis().getExtent(),h=e.getAngleAxis().getExtent();b=b?e.pointToCoord(b):[0,0];a=e.pointToCoord(a);"radiusAxis"===c.mainType?(f.pixel=a[0]-b[0],f.pixelLength=g[1]-g[0],f.pixelStart=g[0],f.signal=d.inverse?1:-1):(f.pixel=a[1]-b[1],f.pixelLength=h[1]-h[0],f.pixelStart=h[0],f.signal=d.inverse?-1:1);return f},singleAxis:function(b,a,c,d,e){c=c.axis;e=e.model.coordinateSystem.getRect();d={};b=b||[0,0];"horizontal"===c.orient?(d.pixel=a[0]-b[0],d.pixelLength=e.width,d.pixelStart=e.x,d.signal=c.inverse?1:-1):(d.pixel=a[1]-b[1],d.pixelLength=e.height,d.pixelStart=e.y,d.signal=c.inverse?-1:1);return d}},OH=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.type="dataZoom.slider";a.layoutMode="box";a.defaultOption=ed(Kh.defaultOption,{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,borderColor:"#d2dbee",borderRadius:3,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#d2dbee",width:.5},areaStyle:{color:"#d2dbee",opacity:.2}},selectedDataBackground:{lineStyle:{color:"#8fb0f7",width:.5},areaStyle:{color:"#8fb0f7",opacity:.2}},fillerColor:"rgba(135,175,274,0.2)",handleIcon:"path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z",handleSize:"100%",handleStyle:{color:"#fff",borderColor:"#ACB8D1"},moveHandleSize:7,moveHandleIcon:"path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z",moveHandleStyle:{color:"#D2DBEE",opacity:.7},showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#6E7079"},brushSelect:!0,brushStyle:{color:"rgba(135,175,274,0.15)"},emphasis:{handleStyle:{borderColor:"#8FB0F7"},moveHandleStyle:{color:"#8FB0F7"}}});return a}(Kh),Mh=Z,rN=["line","bar","candlestick","scatter"],sN={easing:"cubicOut",duration:100},PH=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c._displayables={};return c}x(a,b);a.prototype.init=function(a,b){this.api=b;this._onBrush=I(this._onBrush,this);this._onBrushEnd=I(this._onBrushEnd,this)};a.prototype.render=function(a,d,e,f){b.prototype.render.apply(this,arguments);tg(this,"_dispatchZoomAction",a.get("throttle"),"fixRate");this._orient=a.getOrient();!1===a.get("show")?this.group.removeAll():a.noTarget()?(this._clear(),this.group.removeAll()):(f&&"dataZoom"===f.type&&f.from===this.uid||this._buildView(),this._updateView())};a.prototype.dispose=function(){this._clear();b.prototype.dispose.apply(this,arguments)};a.prototype._clear=function(){var a=this._dispatchZoomAction;a&&a["\x00__throttleOriginMethod"]&&(this._dispatchZoomAction=a["\x00__throttleOriginMethod"]);a=this.api.getZr();a.off("mousemove",this._onBrush);a.off("mouseup",this._onBrushEnd)};a.prototype._buildView=function(){var a=this.group;a.removeAll();this._brushing=!1;this._displayables.brushRect=null;this._resetLocation();this._resetInterval();var b=this._displayables.sliderGroup=new M;this._renderBackground();this._renderHandle();this._renderDataShadow();a.add(b);this._positionGroup()};a.prototype._resetLocation=function(){var a=this.dataZoomModel,b=this.api,e=a.get("brushSelect")?7:0,f=this._findCoordRect(),b={width:b.getWidth(),height:b.getHeight()},g="horizontal"===this._orient?{right:b.width-f.x-f.width,top:b.height-30-7-e,width:f.width,height:30}:{right:7,top:f.y,width:30,height:f.height},h=Qd({},a.option);r(["right","top","width","height"],function(a){"ph"===h[a]&&(h[a]=g[a])});a=Aa(h,b);this._location={x:a.x,y:a.y};this._size=[a.width,a.height];"vertical"===this._orient&&this._size.reverse()};a.prototype._positionGroup=function(){var a=this.group,b=this._location,e=this._orient,f=this.dataZoomModel.getFirstTargetAxisModel(),f=f&&f.get("inverse"),g=this._displayables.sliderGroup,h=(this._dataShadowInfo||{}).otherAxisInverse;g.attr("horizontal"!==e||f?"horizontal"===e&&f?{scaleY:h?1:-1,scaleX:-1}:"vertical"!==e||f?{scaleY:h?-1:1,scaleX:-1,rotation:Math.PI/2}:{scaleY:h?-1:1,scaleX:1,rotation:Math.PI/2}:{scaleY:h?1:-1,scaleX:1});e=a.getBoundingRect([g]);a.x=b.x-e.x;a.y=b.y-e.y;a.markRedraw()};a.prototype._getViewExtent=function(){return[0,this._size[0]]};a.prototype._renderBackground=function(){var a=this.dataZoomModel,b=this._size,e=this._displayables.sliderGroup,f=a.get("brushSelect");e.add(new Mh({silent:!0,shape:{x:0,y:0,width:b[0],height:b[1]},style:{fill:a.get("backgroundColor")},z2:-40}));a=new Mh({shape:{x:0,y:0,width:b[0],height:b[1]},style:{fill:"transparent"},z2:0,onclick:I(this._onClickPanel,this)});b=this.api.getZr();f?(a.on("mousedown",this._onBrushStart,this),a.cursor="crosshair",b.on("mousemove",this._onBrush),b.on("mouseup",this._onBrushEnd)):(b.off("mousemove",this._onBrush),b.off("mouseup",this._onBrushEnd));e.add(a)};a.prototype._renderDataShadow=function(){function a(a){var b=r.getModel(a?"selectedDataBackground":"dataBackground");a=new M;var c=new bb({shape:{points:l},segmentIgnoreThreshold:1,style:b.getModel("areaStyle").getAreaStyle(),silent:!0,z2:-20}),b=new kb({shape:{points:m},segmentIgnoreThreshold:1,style:b.getModel("lineStyle").getLineStyle(),silent:!0,z2:-19});a.add(c);a.add(b);return a}var b=this._dataShadowInfo=this._prepareDataShadowInfo();this._displayables.dataShadowSegs=[];if(b){var e=this._size,f=b.series,g=f.getRawData(),b=f.getShadowDim?f.getShadowDim():b.otherDim;if(null!=b){var h=g.getDataExtent(b),f=.3*(h[1]-h[0]),h=[h[0]-f,h[1]+f],k=[0,e[1]],l=[[e[0],0],[0,0]],m=[],n=e[0]/(g.count()-1),p=0,q=Math.round(g.count()/e[0]),t;g.each([b],function(a,b){if(0<q&&b%q)p+=n;else{var c=null==a||isNaN(a)||""===a,d=c?0:ga(a,h,k,!0);c&&!t&&b?(l.push([l[l.length-1][0],0]),m.push([m[m.length-1][0],0])):!c&&t&&(l.push([p,0]),m.push([p,0]));l.push([p,d]);m.push([p,d]);p+=n;t=c}});for(var r=this.dataZoomModel,e=0;3>e;e++)g=a(1===e),this._displayables.sliderGroup.add(g),this._displayables.dataShadowSegs.push(g)}}};a.prototype._prepareDataShadowInfo=function(){var a=this.dataZoomModel,b=a.get("showDataShadow");if(!1!==b){var e,f=this.ecModel;a.eachTargetAxis(function(c,d){var g=a.getAxisProxy(c,d).getTargetSeriesModels();r(g,function(a){if(!(e||!0!==b&&0>ba(rN,a.get("type")))){var g=f.getComponent(td(c),d).axis,h;h={x:"y",y:"x",radius:"angle",angle:"radius"}[c];var k,l=a.coordinateSystem;null!=h&&l.getOtherAxis&&(k=l.getOtherAxis(g).inverse);h=a.getData().mapDimension(h);e={thisAxis:g,series:a,thisDim:c,otherDim:h,otherAxisInverse:k}}},this)},this);return e}};a.prototype._renderHandle=function(){var a=this.group,b=this._displayables,e=b.handles=[null,null],f=b.handleLabels=[null,null],g=this._displayables.sliderGroup,h=this._size,k=this.dataZoomModel,l=this.api,m=k.get("borderRadius")||0,n=k.get("brushSelect"),p=b.filler=new Mh({silent:n,style:{fill:k.get("fillerColor")},textConfig:{position:"inside"}});g.add(p);g.add(new Mh({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:h[0],height:h[1],r:m},style:{stroke:k.get("dataBackgroundColor")||k.get("borderColor"),lineWidth:1,fill:"rgba(0,0,0,0)"}}));r([0,1],function(b){var c=k.get("handleIcon");!Xj[c]&&0>c.indexOf("path://")&&(c="path://"+c,Vb("handleIcon now needs 'path://' prefix when using a path string"));c=Pa(c,-1,0,2,2,null,!0);c.attr({cursor:Mx(this._orient),draggable:!0,drift:I(this._onDragMove,this,b),ondragend:I(this._onDragEnd,this),onmouseover:I(this._showDataInfo,this,!0),onmouseout:I(this._showDataInfo,this,!1),z2:5});var d=c.getBoundingRect(),h=k.get("handleSize");this._handleHeight=H(h,this._size[1]);this._handleWidth=d.width/d.height*this._handleHeight;c.setStyle(k.getModel("handleStyle").getItemStyle());c.style.strokeNoScale=!0;c.rectHover=!0;c.ensureState("emphasis").style=k.getModel(["emphasis","handleStyle"]).getItemStyle();va(c);d=k.get("handleColor");null!=d&&(c.style.fill=d);g.add(e[b]=c);c=k.getModel("textStyle");a.add(f[b]=new ha({silent:!0,invisible:!0,style:{x:0,y:0,text:"",verticalAlign:"middle",align:"center",fill:c.getTextColor(),font:c.getFont()},z2:10}))},this);if(n){var n=H(k.get("moveHandleSize"),h[1]),q=b.moveHandle=new Z({style:k.getModel("moveHandleStyle").getItemStyle(),silent:!0,shape:{r:[0,0,2,2],y:h[1]-.5,height:n}}),m=.8*n,m=b.moveHandleIcon=Pa(k.get("moveHandleIcon"),-m/2,-m/2,m,m,"#fff",!0);m.silent=!0;m.y=h[1]+n/2-.5;q.ensureState("emphasis").style=k.getModel(["emphasis","moveHandleStyle"]).getItemStyle();p=Math.min(h[1]/2,Math.max(n,10));p=b.moveZone=new Z({invisible:!0,shape:{y:h[1]-p,height:n+p}});p.on("mouseover",function(){l.enterEmphasis(q)}).on("mouseout",function(){l.leaveEmphasis(q)});g.add(q);g.add(m);g.add(p)}p.attr({draggable:!0,cursor:Mx(this._orient),drift:I(this._onDragMove,this,"all"),ondragstart:I(this._showDataInfo,this,!0),ondragend:I(this._onDragEnd,this),onmouseover:I(this._showDataInfo,this,!0),onmouseout:I(this._showDataInfo,this,!1)})};a.prototype._resetInterval=function(){var a=this._range=this.dataZoomModel.getPercentRange(),b=this._getViewExtent();this._handleEnds=[ga(a[0],[0,100],b,!0),ga(a[1],[0,100],b,!0)]};a.prototype._updateInterval=function(a,b){var c=this.dataZoomModel,d=this._handleEnds,g=this._getViewExtent(),h=c.findRepresentativeAxisProxy().getMinMaxSpan(),k=[0,100];fe(b,d,g,c.get("zoomLock")?"all":a,null!=h.minSpan?ga(h.minSpan,k,g,!0):null,null!=h.maxSpan?ga(h.maxSpan,k,g,!0):null);c=this._range;d=this._range=Cb([ga(d[0],g,k,!0),ga(d[1],g,k,!0)]);return!c||c[0]!==d[0]||c[1]!==d[1]};a.prototype._updateView=function(a){var b=this._displayables,c=this._handleEnds,f=Cb(c.slice()),g=this._size;r([0,1],function(a){var d=this._handleHeight;b.handles[a].attr({scaleX:d/2,scaleY:d/2,x:c[a]+(a?-1:1),y:g[1]/2-d/2})},this);b.filler.setShape({x:f[0],y:0,width:f[1]-f[0],height:g[1]});var h={x:f[0],width:f[1]-f[0]};b.moveHandle&&(b.moveHandle.setShape(h),b.moveZone.setShape(h),b.moveZone.getBoundingRect(),b.moveHandleIcon&&b.moveHandleIcon.attr("x",h.x+h.width/2));for(var h=b.dataShadowSegs,f=[0,f[0],f[1],g[0]],k=0;k<h.length;k++){var l=h[k],m=l.getClipPath();m||(m=new Z,l.setClipPath(m));m.setShape({x:f[k],y:0,width:f[k+1]-f[k],height:g[1]})}this._updateDataInfo(a)};a.prototype._updateDataInfo=function(a){function b(a){var b=dd(f.handles[a].parent,this.group),c=pi(0===a?"right":"left",b),d=this._handleWidth/2+5,b=Wb([n[a]+(0===a?-d:d),this._size[1]/2],b);g[a].setStyle({x:b[0],y:b[1],verticalAlign:"horizontal"===h?"middle":c,align:"horizontal"===h?c:"center",text:k[a]})}var c=this.dataZoomModel,f=this._displayables,g=f.handleLabels,h=this._orient,k=["",""];if(c.get("showDetail")){var l=c.findRepresentativeAxisProxy();if(l){var c=l.getAxisModel().axis,m=this._range;a=a?l.calculateDataWindow({start:m[0],end:m[1]}).valueWindow:l.getDataValueWindow();k=[this._formatLabel(a[0],c),this._formatLabel(a[1],c)]}}var n=Cb(this._handleEnds.slice());b.call(this,0);b.call(this,1)};a.prototype._formatLabel=function(a,b){var c=this.dataZoomModel,d=c.get("labelFormatter"),c=c.get("labelPrecision");if(null==c||"auto"===c)c=b.getPixelPrecision();c=null==a||isNaN(a)?"":"category"===b.type||"time"===b.type?b.scale.getLabel({value:Math.round(a)}):a.toFixed(Math.min(c,20));return fa(d)?d(a,c):da(d)?d.replace("{value}",c):c};a.prototype._showDataInfo=function(a){a=this._dragging||a;var b=this._displayables,c=b.handleLabels;c[0].attr("invisible",!a);c[1].attr("invisible",!a);b.moveHandle&&this.api[a?"enterEmphasis":"leaveEmphasis"](b.moveHandle,1)};a.prototype._onDragMove=function(a,b,e,f){this._dragging=!0;Bc(f.event);f=this._displayables.sliderGroup.getLocalTransform();b=Wb([b,e],f,!0);a=this._updateInterval(a,b[0]);b=this.dataZoomModel.get("realtime");this._updateView(!b);a&&b&&this._dispatchZoomAction(!0)};a.prototype._onDragEnd=function(){this._dragging=!1;this._showDataInfo(!1);!this.dataZoomModel.get("realtime")&&this._dispatchZoomAction(!1)};a.prototype._onClickPanel=function(a){var b=this._size;a=this._displayables.sliderGroup.transformCoordToLocal(a.offsetX,a.offsetY);0>a[0]||a[0]>b[0]||0>a[1]||a[1]>b[1]||(b=this._handleEnds,b=this._updateInterval("all",a[0]-(b[0]+b[1])/2),this._updateView(),b&&this._dispatchZoomAction(!1))};a.prototype._onBrushStart=function(a){this._brushStart=new V(a.offsetX,a.offsetY);this._brushing=!0;this._brushStartTime=+new Date};a.prototype._onBrushEnd=function(a){if(this._brushing&&(a=this._displayables.brushRect,this._brushing=!1,a&&(a.attr("ignore",!0),a=a.shape,!(200>+new Date-this._brushStartTime&&5>Math.abs(a.width))))){var b=this._getViewExtent(),c=[0,100];this._range=Cb([ga(a.x,b,c,!0),ga(a.x+a.width,b,c,!0)]);this._handleEnds=[a.x,a.x+a.width];this._updateView();this._dispatchZoomAction(!1)}};a.prototype._onBrush=function(a){this._brushing&&(Bc(a.event),this._updateBrushRect(a.offsetX,a.offsetY))};a.prototype._updateBrushRect=function(a,b){var c=this._displayables,d=this.dataZoomModel,g=c.brushRect;g||(g=c.brushRect=new Mh({silent:!0,style:d.getModel("brushStyle").getItemStyle()}),c.sliderGroup.add(g));g.attr("ignore",!1);var d=this._brushStart,h=this._displayables.sliderGroup,c=h.transformCoordToLocal(a,b),d=h.transformCoordToLocal(d.x,d.y),h=this._size;c[0]=Math.max(Math.min(h[0],c[0]),0);g.setShape({x:d[0],y:0,width:c[0]-d[0],height:h[1]})};a.prototype._dispatchZoomAction=function(a){var b=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,animation:a?sN:null,start:b[0],end:b[1]})};a.prototype._findCoordRect=function(){var a,b=Xw(this.dataZoomModel).infoList;!a&&b.length&&(a=b[0].model.coordinateSystem,a=a.getRect&&a.getRect());a||(a=this.api.getWidth(),b=this.api.getHeight(),a={x:.2*a,y:.2*b,width:.6*a,height:.6*b});return a};a.type="dataZoom.slider";return a}(Cp),Yz={get:function(b,a,c){b=J((tN[b]||{})[a]);return c?A(b)?b[b.length-1]:b:b}},tN={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}},Zz=La.mapVisual,uN=La.eachVisual,vN=A,pk=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.stateList=["inRange","outOfRange"];c.replacableOptionKeys=["inRange","outOfRange","target","controller","color"];c.layoutMode={type:"box",ignoreSize:!0};c.dataBound=[-Infinity,Infinity];c.targetVisuals={};c.controllerVisuals={};return c}x(a,b);a.prototype.init=function(a,b,e){this.mergeDefaultAndTheme(a,e)};a.prototype.optionUpdated=function(a,b){var c=this.option;X.canvasSupported||(c.realtime=!1);!b&&mx(c,a,this.replacableOptionKeys);this.textStyleModel=this.getModel("textStyle");this.resetItemSize();this.completeVisualOption()};a.prototype.resetVisual=function(a){var b=this.stateList;a=I(a,this);this.controllerVisuals=io(this.option.controller,b,a);this.targetVisuals=io(this.option.target,b,a)};a.prototype.getTargetSeriesIndices=function(){var a=this.option.seriesIndex,b=[];null==a||"all"===a?this.ecModel.eachSeries(function(a,c){b.push(c)}):b=xa(a);return b};a.prototype.eachTargetSeries=function(a,b){r(this.getTargetSeriesIndices(),function(c){(c=this.ecModel.getSeriesByIndex(c))&&a.call(b,c)},this)};a.prototype.isTargetSeries=function(a){var b=!1;this.eachTargetSeries(function(c){c===a&&(b=!0)});return b};a.prototype.formatValueText=function(a,b,e){function c(a){return a===k[0]?"min":a===k[1]?"max":(+a).toFixed(Math.min(h,20))}var d=this.option,h=d.precision,k=this.dataBound,d=d.formatter,l;e=e||["\x3c","\x3e"];A(a)&&(a=a.slice(),l=!0);b=b?a:l?[c(a[0]),c(a[1])]:c(a);return da(d)?d.replace("{value}",l?b[0]:b).replace("{value2}",l?b[1]:b):fa(d)?l?d(a[0],a[1]):d(a):l?a[0]===k[0]?e[0]+" "+b[1]:a[1]===k[1]?e[1]+" "+b[0]:b[0]+" - "+b[1]:b};a.prototype.resetExtent=function(){var a=this.option;this._dataExtent=Cb([a.min,a.max])};a.prototype.getDataDimension=function(a){var b=this.option.dimension,c=a.dimensions;if(null!=b||c.length){if(null!=b)return a.getDimension(b);b=a.dimensions;for(c=b.length-1;0<=c;c--){var f=b[c];if(!a.getDimensionInfo(f).isCalculationCoord)return f}}};a.prototype.getExtent=function(){return this._dataExtent.slice()};a.prototype.completeVisualOption=function(){function a(a){vN(e.color)&&!a.inRange&&(a.inRange={color:e.color.slice().reverse()});a.inRange=a.inRange||{color:b.get("gradientColor")}}var b=this.ecModel,e=this.option,f={inRange:e.inRange,outOfRange:e.outOfRange},g=e.target||(e.target={}),h=e.controller||(e.controller={});U(g,f);U(h,f);var k=this.isCategory();a.call(this,g);a.call(this,h);(function(a,b,c){b=a[b];var d=a[c];b&&!d&&(d=a[c]={},r(b,function(a,b){if(La.isValidType(b)){var c=Yz.get(b,"inactive",k);null!=c&&(d[b]=c,"color"!==b||d.hasOwnProperty("opacity")||d.hasOwnProperty("colorAlpha")||(d.opacity=[0,0]))}}))}).call(this,g,"inRange","outOfRange");(function(a){var b=(a.inRange||{}).symbol||(a.outOfRange||{}).symbol,c=(a.inRange||{}).symbolSize||(a.outOfRange||{}).symbolSize,d=this.get("inactiveColor");r(this.stateList,function(e){var f=this.itemSize,g=a[e];g||(g=a[e]={color:k?d:[d]});null==g.symbol&&(g.symbol=b&&J(b)||(k?"roundRect":["roundRect"]));null==g.symbolSize&&(g.symbolSize=c&&J(c)||(k?f[0]:[f[0],f[0]]));g.symbol=Zz(g.symbol,function(a){return"none"===a||"square"===a?"roundRect":a});e=g.symbolSize;if(null!=e){var h=-Infinity;uN(e,function(a){a>h&&(h=a)});g.symbolSize=Zz(e,function(a){return ga(a,[0,h],[0,f[0]],!0)})}},this)}).call(this,h)};a.prototype.resetItemSize=function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]};a.prototype.isCategory=function(){return!!this.option.categories};a.prototype.setSelected=function(a){};a.prototype.getSelected=function(){return null};a.prototype.getValueState=function(a){return null};a.prototype.getVisualMeta=function(a){return null};a.type="visualMap";a.dependencies=["series"];a.defaultOption={show:!0,zlevel:0,z:4,seriesIndex:"all",min:0,max:200,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,textStyle:{color:"#333"}};return a}(W),$z=[20,140],VH=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.optionUpdated=function(a,d){b.prototype.optionUpdated.apply(this,arguments);this.resetExtent();this.resetVisual(function(a){a.mappingMethod="linear";a.dataExtent=this.getExtent()});this._resetRange()};a.prototype.resetItemSize=function(){b.prototype.resetItemSize.apply(this,arguments);var a=this.itemSize;(null==a[0]||isNaN(a[0]))&&(a[0]=$z[0]);(null==a[1]||isNaN(a[1]))&&(a[1]=$z[1])};a.prototype._resetRange=function(){var a=this.getExtent(),b=this.option.range;!b||b.auto?(a.auto=1,this.option.range=a):A(b)&&(b[0]>b[1]&&b.reverse(),b[0]=Math.max(b[0],a[0]),b[1]=Math.min(b[1],a[1]))};a.prototype.completeVisualOption=function(){b.prototype.completeVisualOption.apply(this,arguments);r(this.stateList,function(a){(a=this.option.controller[a].symbolSize)&&a[0]!==a[1]&&(a[0]=a[1]/3)},this)};a.prototype.setSelected=function(a){this.option.range=a.slice();this._resetRange()};a.prototype.getSelected=function(){var a=this.getExtent(),b=Cb((this.get("range")||[]).slice());b[0]>a[1]&&(b[0]=a[1]);b[1]>a[1]&&(b[1]=a[1]);b[0]<a[0]&&(b[0]=a[0]);b[1]<a[0]&&(b[1]=a[0]);return b};a.prototype.getValueState=function(a){var b=this.option.range,c=this.getExtent();return(b[0]<=c[0]||b[0]<=a)&&(b[1]>=c[1]||a<=b[1])?"inRange":"outOfRange"};a.prototype.findTargetDataIndices=function(a){var b=[];this.eachTargetSeries(function(c){var d=[],e=c.getData();e.each(this.getDataDimension(e),function(b,c){a[0]<=b&&b<=a[1]&&d.push(c)},this);b.push({seriesId:c.id,dataIndex:d})},this);return b};a.prototype.getVisualMeta=function(a){function b(b,c){g.push({value:b,color:a(b,c)})}for(var c=Ox(this,"outOfRange",this.getExtent()),f=Ox(this,"inRange",this.option.range.slice()),g=[],h=0,k=0,l=f.length,m=c.length;k<m&&(!f.length||c[k]<=f[0]);k++)c[k]<f[h]&&b(c[k],"outOfRange");for(var n=1;h<l;h++,n=0)n&&g.length&&b(f[h],"outOfRange"),b(f[h],"inRange");for(n=1;k<m;k++)if(!f.length||f[f.length-1]<c[k])n&&(g.length&&b(g[g.length-1].value,"outOfRange"),n=0),b(c[k],"outOfRange");c=g.length;return{stops:g,outerColors:[c?g[0].color:"transparent",c?g[c-1].color:"transparent"]}};a.type="visualMap.continuous";a.defaultOption=ed(pk.defaultOption,{align:"auto",calculable:!1,hoverLink:!0,realtime:!0,handleIcon:"path://M-11.39,9.77h0a3.5,3.5,0,0,1-3.5,3.5h-22a3.5,3.5,0,0,1-3.5-3.5h0a3.5,3.5,0,0,1,3.5-3.5h22A3.5,3.5,0,0,1-11.39,9.77Z",handleSize:"120%",handleStyle:{borderColor:"#fff",borderWidth:1},indicatorIcon:"circle",indicatorSize:"50%",indicatorStyle:{borderColor:"#fff",borderWidth:2,shadowBlur:2,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0,0,0,0.2)"}});return a}(pk),aA=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c.autoPositionValues={left:1,right:1,top:1,bottom:1};return c}x(a,b);a.prototype.init=function(a,b){this.ecModel=a;this.api=b};a.prototype.render=function(a,b,e,f){this.visualMapModel=a;!1===a.get("show")?this.group.removeAll():this.doRender(a,b,e,f)};a.prototype.renderBackground=function(a){var b=this.visualMapModel,c=Od(b.get("padding")||0),f=a.getBoundingRect();a.add(new Z({z2:-1,silent:!0,shape:{x:f.x-c[3],y:f.y-c[0],width:f.width+c[3]+c[1],height:f.height+c[0]+c[2]},style:{fill:b.get("backgroundColor"),stroke:b.get("borderColor"),lineWidth:b.get("borderWidth")}}))};a.prototype.getControllerVisual=function(a,b,e){function c(a){return l[a]}function d(a,b){l[a]=b}e=e||{};var h=e.forceState,k=this.visualMapModel,l={};"symbol"===b&&(l.symbol=k.get("itemSymbol"));if("color"===b){var m=k.get("contentColor");l.color=m}var n=k.controllerVisuals[h||k.getValueState(a)],h=La.prepareVisualTypes(n);r(h,function(f){var g=n[f];e.convertOpacityToAlpha&&"opacity"===f&&(f="colorAlpha",g=n.__alphaForOpacity);La.dependsOn(f,b)&&g&&g.applyVisual(a,c,d)});return l[b]};a.prototype.positionGroup=function(a){var b=this.api;Bi(a,this.visualMapModel.getBoxLayoutParams(),{width:b.getWidth(),height:b.getHeight()})};a.prototype.doRender=function(a,b,e,f){};a.type="visualMap";return a}(na),Qx=[["left","right","width"],["top","bottom","height"]],bA=Math.min,Np=Math.max,WH=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c._shapes={};c._dataInterval=[];c._handleEnds=[];c._hoverLinkDataIndices=[];return c}x(a,b);a.prototype.doRender=function(a,b,e,f){this._api=e;f&&"selectDataRange"===f.type&&f.from===this.uid||this._buildView()};a.prototype._buildView=function(){this.group.removeAll();var a=this.visualMapModel,b=this.group;this._orient=a.get("orient");this._useHandle=a.get("calculable");this._resetInterval();this._renderBar(b);a=a.get("text");this._renderEndsText(b,a,0);this._renderEndsText(b,a,1);this._updateView(!0);this.renderBackground(b);this._updateView();this._enableHoverLinkToSeries();this._enableHoverLinkFromSeries();this.positionGroup(b)};a.prototype._renderEndsText=function(a,b,e){if(b){a=b[1-e];a=null!=a?a+"":"";var c=this.visualMapModel;b=c.get("textGap");var d=c.itemSize,c=this._shapes.mainGroup;b=this._applyTransform([d[0]/2,0===e?-b:d[1]+b],c);e=this._applyTransform(0===e?"bottom":"top",c);c=this._orient;d=this.visualMapModel.textStyleModel;this.group.add(new ha({style:{x:b[0],y:b[1],verticalAlign:"horizontal"===c?"middle":e,align:"horizontal"===c?e:"center",text:a,font:d.getFont(),fill:d.getTextColor()}}))}};a.prototype._renderBar=function(a){var b=this.visualMapModel,c=this._shapes,f=b.itemSize,g=this._orient,h=this._useHandle,k=Px(b,this.api,f),k=c.mainGroup=this._createBarGroup(k),l=new M;k.add(l);l.add(c.outOfRange=Rx());l.add(c.inRange=Rx(null,h?Tx(this._orient):null,I(this._dragHandle,this,"all",!1),I(this._dragHandle,this,"all",!0)));l.setClipPath(new Z({shape:{x:0,y:0,width:f[0],height:f[1],r:3}}));l=b.textStyleModel.getTextRect("\u56fd");l=Np(l.width,l.height);h&&(c.handleThumbs=[],c.handleLabels=[],c.handleLabelPoints=[],this._createHandle(b,k,0,f,l,g),this._createHandle(b,k,1,f,l,g));this._createIndicator(b,k,f,l,g);a.add(k)};a.prototype._createHandle=function(a,b,e,f,g,h){var c=I(this._dragHandle,this,e,!1),d=I(this._dragHandle,this,e,!0);h=Ub(a.get("handleSize"),f[0]);g=Pa(a.get("handleIcon"),-h/2,-h/2,h,h,null,!0);var m=Tx(this._orient);g.attr({cursor:m,draggable:!0,drift:c,ondragend:d,onmousemove:function(a){Bc(a.event)}});g.x=f[0]/2;g.useStyle(a.getModel("handleStyle").getItemStyle());g.setStyle({strokeNoScale:!0,strokeFirst:!0});g.style.lineWidth*=2;g.ensureState("emphasis").style=a.getModel(["emphasis","handleStyle"]).getItemStyle();We(g,!0);b.add(g);a=this.visualMapModel.textStyleModel;a=new ha({cursor:m,draggable:!0,drift:c,onmousemove:function(a){Bc(a.event)},ondragend:d,style:{x:0,y:0,text:"",font:a.getFont(),fill:a.getTextColor()}});a.ensureState("blur").style={opacity:.1};a.stateTransition={duration:200};this.group.add(a);b=[h,0];f=this._shapes;f.handleThumbs[e]=g;f.handleLabelPoints[e]=b;f.handleLabels[e]=a};a.prototype._createIndicator=function(a,b,e,f,g){var c=Ub(a.get("indicatorSize"),e[0]),c=Pa(a.get("indicatorIcon"),-c/2,-c/2,c,c,null,!0);c.attr({cursor:"move",invisible:!0,silent:!0,x:e[0]/2});a=a.getModel("indicatorStyle").getItemStyle();if(c instanceof Ga){var d=c.style;c.useStyle(F({image:d.image,x:d.x,y:d.y,width:d.width,height:d.height},a))}else c.useStyle(a);b.add(c);b=this.visualMapModel.textStyleModel;b=new ha({silent:!0,invisible:!0,style:{x:0,y:0,text:"",font:b.getFont(),fill:b.getTextColor()}});this.group.add(b);e=[("horizontal"===g?f/2:6)+e[0]/2,0];f=this._shapes;f.indicator=c;f.indicatorLabel=b;f.indicatorLabelPoint=e;this._firstShowIndicator=!0};a.prototype._dragHandle=function(a,b,e,f){this._useHandle&&(this._dragging=!b,b||(e=this._applyTransform([e,f],this._shapes.mainGroup,!0),this._updateInterval(a,e[1]),this._hideIndicator(),this._updateView()),b===!this.visualMapModel.get("realtime")&&this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:this._dataInterval.slice()}),b?!this._hovering&&this._clearHoverLinkToSeries():Sx(this.visualMapModel)&&this._doHoverLinkToSeries(this._handleEnds[a],!1))};a.prototype._resetInterval=function(){var a=this.visualMapModel,b=this._dataInterval=a.getSelected(),e=a.getExtent(),a=[0,a.itemSize[1]];this._handleEnds=[ga(b[0],e,a,!0),ga(b[1],e,a,!0)]};a.prototype._updateInterval=function(a,b){var c=this.visualMapModel,d=this._handleEnds,g=[0,c.itemSize[1]];fe(b||0,d,g,a,0);c=c.getExtent();this._dataInterval=[ga(d[0],g,c,!0),ga(d[1],g,c,!0)]};a.prototype._updateView=function(a){var b=this.visualMapModel,c=b.getExtent(),f=this._shapes,b=[0,b.itemSize[1]];a=a?b:this._handleEnds;var g=this._createBarVisual(this._dataInterval,c,a,"inRange"),c=this._createBarVisual(c,c,b,"outOfRange");f.inRange.setStyle({fill:g.barColor}).setShape("points",g.barPoints);f.outOfRange.setStyle({fill:c.barColor}).setShape("points",c.barPoints);this._updateHandle(a,g)};a.prototype._createBarVisual=function(a,b,e,f){f={forceState:f,convertOpacityToAlpha:!0};b=this._makeColorGradient(a,f);a=[this.getControllerVisual(a[0],"symbolSize",f),this.getControllerVisual(a[1],"symbolSize",f)];e=this._createBarPoints(e,a);return{barColor:new mf(0,0,0,1,b),barPoints:e,handlesColor:[b[0].color,b[b.length-1].color]}};a.prototype._makeColorGradient=function(a,b){var c=[],d=(a[1]-a[0])/100;c.push({color:this.getControllerVisual(a[0],"color",b),offset:0});for(var g=1;100>g;g++){var h=a[0]+d*g;if(h>a[1])break;c.push({color:this.getControllerVisual(h,"color",b),offset:g/100})}c.push({color:this.getControllerVisual(a[1],"color",b),offset:1});return c};a.prototype._createBarPoints=function(a,b){var c=this.visualMapModel.itemSize;return[[c[0]-b[0],a[0]],[c[0],a[0]],[c[0],a[1]],[c[0]-b[1],a[1]]]};a.prototype._createBarGroup=function(a){var b=this._orient,c=this.visualMapModel.get("inverse");return new M("horizontal"!==b||c?"horizontal"===b&&c?{scaleX:"bottom"===a?-1:1,rotation:-Math.PI/2}:"vertical"!==b||c?{scaleX:"left"===a?1:-1}:{scaleX:"left"===a?1:-1,scaleY:-1}:{scaleX:"bottom"===a?1:-1,rotation:Math.PI/2})};a.prototype._updateHandle=function(a,b){if(this._useHandle){var c=this._shapes,d=this.visualMapModel,g=c.handleThumbs,h=c.handleLabels,k=d.itemSize,l=d.getExtent();r([0,1],function(e){var f=g[e];f.setStyle("fill",b.handlesColor[e]);f.y=a[e];var m=ga(a[e],[0,k[1]],l,!0),m=this.getControllerVisual(m,"symbolSize");f.scaleX=f.scaleY=m/k[0];f.x=k[0]-m/2;f=Wb(c.handleLabelPoints[e],dd(f,this.group));h[e].setStyle({x:f[0],y:f[1],text:d.formatValueText(this._dataInterval[e]),verticalAlign:"middle",align:"vertical"===this._orient?this._applyTransform("left",c.mainGroup):"center"})},this)}};a.prototype._showIndicator=function(a,b,e,f){var c=this.visualMapModel,d=c.getExtent(),k=c.itemSize,l=[0,k[1]],m=this._shapes;if(f=m.indicator){f.attr("invisible",!1);var n=this.getControllerVisual(a,"color",{convertOpacityToAlpha:!0}),p=this.getControllerVisual(a,"symbolSize"),d=ga(a,d,l,!0),q=k[0]-p/2;a=f.x;k=f.y;f.y=d;f.x=q;l=Wb(m.indicatorLabelPoint,dd(f,this.group));p=m.indicatorLabel;p.attr("invisible",!1);var m=this._applyTransform("left",m.mainGroup),r="horizontal"===this._orient;p.setStyle({text:(e?e:"")+c.formatValueText(b),verticalAlign:r?m:"middle",align:r?"center":m});b={x:q,y:d,style:{fill:n}};e={style:{x:l[0],y:l[1]}};c.ecModel.isAnimationEnabled()&&!this._firstShowIndicator?(c={duration:100,easing:"cubicInOut",additive:!0},f.x=a,f.y=k,f.animateTo(b,c),p.animateTo(e,c)):(f.attr(b),p.attr(e));this._firstShowIndicator=!1;if(f=this._shapes.handleLabels)for(c=0;c<f.length;c++)this._api.enterBlur(f[c])}};a.prototype._enableHoverLinkToSeries=function(){var a=this;this._shapes.mainGroup.on("mousemove",function(b){a._hovering=!0;if(!a._dragging){var c=a.visualMapModel.itemSize;b=a._applyTransform([b.offsetX,b.offsetY],a._shapes.mainGroup,!0,!0);b[1]=bA(Np(0,b[1]),c[1]);a._doHoverLinkToSeries(b[1],0<=b[0]&&b[0]<=c[0])}}).on("mouseout",function(){a._hovering=!1;!a._dragging&&a._clearHoverLinkToSeries()})};a.prototype._enableHoverLinkFromSeries=function(){var a=this.api.getZr();this.visualMapModel.option.hoverLink?(a.on("mouseover",this._hoverLinkFromSeriesMouseOver,this),a.on("mouseout",this._hideIndicator,this)):this._clearHoverLinkFromSeries()};a.prototype._doHoverLinkToSeries=function(a,b){var c=this.visualMapModel;if(c.option.hoverLink){var d=[0,c.itemSize[1]],g=c.getExtent();a=bA(Np(d[0],a),d[1]);var h;h=6;var k=c.get("hoverLinkDataSize");k&&(h=ga(k,g,d,!0)/2);var k=[a-h,a+h],l=ga(a,d,g,!0),g=[ga(k[0],d,g,!0),ga(k[1],d,g,!0)];k[0]<d[0]&&(g[0]=-Infinity);k[1]>d[1]&&(g[1]=Infinity);b&&(-Infinity===g[0]?this._showIndicator(l,g[1],"\x3c ",h):Infinity===g[1]?this._showIndicator(l,g[0],"\x3e ",h):this._showIndicator(l,l,"\u2248 ",h));d=this._hoverLinkDataIndices;h=[];if(b||Sx(c))h=this._hoverLinkDataIndices=c.findTargetDataIndices(g);d=CA(d,h);this._dispatchHighDown("downplay",Aj(d[0],c));this._dispatchHighDown("highlight",Aj(d[1],c))}};a.prototype._hoverLinkFromSeriesMouseOver=function(a){var b=a.target;a=this.visualMapModel;if(b&&null!=S(b).dataIndex){var b=S(b),c=this.ecModel.getSeriesByIndex(b.seriesIndex);a.isTargetSeries(c)&&(c=c.getData(b.dataType),a=c.get(a.getDataDimension(c),b.dataIndex),isNaN(a)||this._showIndicator(a,a))}};a.prototype._hideIndicator=function(){var a=this._shapes;a.indicator&&a.indicator.attr("invisible",!0);a.indicatorLabel&&a.indicatorLabel.attr("invisible",!0);if(a=this._shapes.handleLabels)for(var b=0;b<a.length;b++)this._api.leaveBlur(a[b])};a.prototype._clearHoverLinkToSeries=function(){this._hideIndicator();var a=this._hoverLinkDataIndices;this._dispatchHighDown("downplay",Aj(a,this.visualMapModel));a.length=0};a.prototype._clearHoverLinkFromSeries=function(){this._hideIndicator();var a=this.api.getZr();a.off("mouseover",this._hoverLinkFromSeriesMouseOver);a.off("mouseout",this._hideIndicator)};a.prototype._applyTransform=function(a,b,e,f){b=dd(b,f?null:this.group);return A(a)?Wb(a,b,e):pi(a,b,e)};a.prototype._dispatchHighDown=function(a,b){b&&b.length&&this.api.dispatchAction({type:a,batch:b})};a.prototype.dispose=function(){this._clearHoverLinkFromSeries();this._clearHoverLinkToSeries()};a.prototype.remove=function(){this._clearHoverLinkFromSeries();this._clearHoverLinkToSeries()};a.type="visualMap.continuous";return a}(aA),SH={type:"selectDataRange",event:"dataRangeSelected",update:"update"},TH=function(b,a){a.eachComponent({mainType:"visualMap",query:b},function(a){a.setSelected(b.selected)})},UH=[{createOnAllSeries:!0,reset:function(b,a){var c=[];a.eachComponent("visualMap",function(a){var d=b.pipelineContext;!a.isTargetSeries(b)||d&&d.large||c.push(hH(a.stateList,a.targetVisuals,I(a.getValueState,a),a.getDataDimension(b.getData())))});return c}},{createOnAllSeries:!0,reset:function(b,a){var c=b.getData(),d=[];a.eachComponent("visualMap",function(a){if(a.isTargetSeries(b)){var e=a.getVisualMeta(I(QH,null,b,a))||{stops:[],outerColors:[]};a=a.getDataDimension(c);a=c.getDimensionInfo(a);null!=a&&(e.dimension=a.index,d.push(e))}});b.getData().setVisual("visualMeta",d)}}],Ux=r,Wx=!1,XH=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;c._pieceList=[];return c}x(a,b);a.prototype.optionUpdated=function(a,d){b.prototype.optionUpdated.apply(this,arguments);this.resetExtent();var c=this._mode=this._determineMode();this._pieceList=[];wN[this._mode].call(this,this._pieceList);this._resetSelected(a,d);var f=this.option.categories;this.resetVisual(function(a,b){"categories"===c?(a.mappingMethod="category",a.categories=J(f)):(a.dataExtent=this.getExtent(),a.mappingMethod="piecewise",a.pieceList=C(this._pieceList,function(a){a=J(a);"inRange"!==b&&(a.visual=null);return a}))})};a.prototype.completeVisualOption=function(){var a=this.option,d={},e=La.listVisualTypes(),f=this.isCategory();r(a.pieces,function(a){r(e,function(b){a.hasOwnProperty(b)&&(d[b]=1)})});r(d,function(b,c){var d=!1;r(this.stateList,function(b){var e;(e=d||a&&a[b]&&a[b].hasOwnProperty(c))||(e=(e=a.target)&&e[b]&&e[b].hasOwnProperty(c));d=e},this);!d&&r(this.stateList,function(b){(a[b]||(a[b]={}))[c]=Yz.get(c,"inRange"===b?"active":"inactive",f)})},this);b.prototype.completeVisualOption.apply(this,arguments)};a.prototype._resetSelected=function(a,b){var c=this.option,d=this._pieceList,g=(b?c:a).selected||{};c.selected=g;r(d,function(a,b){var c=this.getSelectedMapKey(a);g.hasOwnProperty(c)||(g[c]=!0)},this);if("single"===c.selectedMode){var h=!1;r(d,function(a,b){var c=this.getSelectedMapKey(a);g[c]&&(h?g[c]=!1:h=!0)},this)}};a.prototype.getSelectedMapKey=function(a){return"categories"===this._mode?a.value+"":a.index+""};a.prototype.getPieceList=function(){return this._pieceList};a.prototype._determineMode=function(){var a=this.option;return a.pieces&&0<a.pieces.length?"pieces":this.option.categories?"categories":"splitNumber"};a.prototype.setSelected=function(a){this.option.selected=J(a)};a.prototype.getValueState=function(a){a=La.findPieceIndex(a,this._pieceList);return null!=a?this.option.selected[this.getSelectedMapKey(this._pieceList[a])]?"inRange":"outOfRange":"outOfRange"};a.prototype.findTargetDataIndices=function(a){var b=[],c=this._pieceList;this.eachTargetSeries(function(d){var e=[],f=d.getData();f.each(this.getDataDimension(f),function(b,d){La.findPieceIndex(b,c)===a&&e.push(d)},this);b.push({seriesId:d.id,dataIndex:e})},this);return b};a.prototype.getRepresentValue=function(a){this.isCategory()?a=a.value:null!=a.value?a=a.value:(a=a.interval||[],a=-Infinity===a[0]&&Infinity===a[1]?0:(a[0]+a[1])/2);return a};a.prototype.getVisualMeta=function(a){function b(b,d){var e=g.getRepresentValue({interval:b});d||(d=g.getValueState(e));e=a(e,d);-Infinity===b[0]?f[0]=e:Infinity===b[1]?f[1]=e:c.push({value:b[0],color:e},{value:b[1],color:e})}if(!this.isCategory()){var c=[],f=["",""],g=this,h=this._pieceList.slice();if(h.length){var k=h[0].interval[0];-Infinity!==k&&h.unshift({interval:[-Infinity,k]});k=h[h.length-1].interval[1];Infinity!==k&&h.push({interval:[k,Infinity]})}else h.push({interval:[-Infinity,Infinity]});var l=-Infinity;r(h,function(a){if(a=a.interval)a[0]>l&&b([l,a[0]],"outOfRange"),b(a.slice()),l=a[1]},this);return{stops:c,outerColors:f}}};a.type="visualMap.piecewise";a.defaultOption=ed(pk.defaultOption,{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieces:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0});return a}(pk),wN={splitNumber:function(b){var a=this.option,c=Math.min(a.precision,20),d=this.getExtent(),e=a.splitNumber,e=Math.max(parseInt(e,10),1);a.splitNumber=e;for(var f=(d[1]-d[0])/e;+f.toFixed(c)!==f&&5>c;)c++;a.precision=c;f=+f.toFixed(c);a.minOpen&&b.push({interval:[-Infinity,d[0]],close:[0,0]});for(var c=0,g=d[0];c<e;g+=f,c++)b.push({interval:[g,c===e-1?d[1]:g+f],close:[1,1]});a.maxOpen&&b.push({interval:[d[1],Infinity],close:[0,0]});$k(b);r(b,function(a,b){a.index=b;a.text=this.formatValueText(a.interval)},this)},categories:function(b){var a=this.option;r(a.categories,function(a){b.push({text:this.formatValueText(a,!0),value:a})},this);Yx(a,b)},pieces:function(b){var a=this.option;r(a.pieces,function(a,d){N(a)||(a={value:a});var c={text:"",index:d};null!=a.label&&(c.text=a.label);if(a.hasOwnProperty("value")){var f=c.value=a.value;c.interval=[f,f];c.close=[1,1]}else{for(var f=c.interval=[],g=c.close=[0,0],h=[1,0,1],k=[-Infinity,Infinity],l=[],m=0;2>m;m++){for(var n=[["gte","gt","min"],["lte","lt","max"]][m],p=0;3>p&&null==f[m];p++)f[m]=a[n[p]],g[m]=h[p],l[m]=2===p;null==f[m]&&(f[m]=k[m])}l[0]&&Infinity===f[1]&&(g[0]=0);l[1]&&-Infinity===f[0]&&(g[1]=0);f[0]>f[1]&&console.warn("Piece "+d+"is illegal: "+f+" lower bound should not greater then uppper bound.");f[0]===f[1]&&g[0]&&g[1]&&(c.value=f[0])}c.visual=La.retrieveVisuals(a);b.push(c)},this);Yx(a,b);$k(b);r(b,function(a){var b=a.close,b=[["\x3c","\u2264"][b[1]],["\x3e","\u2265"][b[0]]];a.text=a.text||this.formatValueText(null!=a.value?a.value:a.interval,!1,b)},this)}},YH=function(b){function a(){var c=null!==b&&b.apply(this,arguments)||this;c.type=a.type;return c}x(a,b);a.prototype.doRender=function(){var a=this.group;a.removeAll();var b=this.visualMapModel,e=b.get("textGap"),f=b.textStyleModel,g=f.getFont(),h=f.getTextColor(),k=this._getItemAlign(),l=b.itemSize,f=this._getViewData(),m=f.endsText,n=Ba(b.get("showLabel",!0),!m);m&&this._renderEndsText(a,m[0],l,n,k);r(f.viewPieceList,function(c){var d=c.piece,f=new M;f.onclick=I(this._onItemClick,this,d);this._enableHoverLink(f,c.indexInModelPieceList);c=b.getRepresentValue(d);this._createItemSymbol(f,c,[0,0,l[0],l[1]]);n&&(c=this.visualMapModel.getValueState(c),f.add(new ha({style:{x:"right"===k?-e:l[0]+e,y:l[1]/2,text:d.text,verticalAlign:"middle",align:k,font:g,fill:h,opacity:"outOfRange"===c?.5:1}})));a.add(f)},this);m&&this._renderEndsText(a,m[1],l,n,k);me(b.get("orient"),a,b.get("itemGap"));this.renderBackground(a);this.positionGroup(a)};a.prototype._enableHoverLink=function(a,b){var c=this;a.on("mouseover",function(){return d("highlight")}).on("mouseout",function(){return d("downplay")});var d=function(a){var d=c.visualMapModel;d.option.hoverLink&&c.api.dispatchAction({type:a,batch:Aj(d.findTargetDataIndices(b),d)})}};a.prototype._getItemAlign=function(){var a=this.visualMapModel,b=a.option;if("vertical"===b.orient)return Px(a,this.api,a.itemSize);(a=b.align)&&"auto"!==a||(a="left");return a};a.prototype._renderEndsText=function(a,b,e,f,g){if(b){var c=new M,d=this.visualMapModel.textStyleModel;c.add(new ha({style:{x:f?"right"===g?e[0]:0:e[0]/2,y:e[1]/2,verticalAlign:"middle",align:f?g:"center",text:b,font:d.getFont(),fill:d.getTextColor()}}));a.add(c)}};a.prototype._getViewData=function(){var a=this.visualMapModel,b=C(a.getPieceList(),function(a,b){return{piece:a,indexInModelPieceList:b}}),e=a.get("text"),f=a.get("orient"),a=a.get("inverse");("horizontal"===f?a:!a)?b.reverse():e&&(e=e.slice().reverse());return{viewPieceList:b,endsText:e}};a.prototype._createItemSymbol=function(a,b,e){a.add(Pa(this.getControllerVisual(b,"symbol"),e[0],e[1],e[2],e[3],this.getControllerVisual(b,"color")))};a.prototype._onItemClick=function(a){var b=this.visualMapModel,c=b.option,f=J(c.selected),g=b.getSelectedMapKey(a);"single"===c.selectedMode?(f[g]=!0,r(f,function(a,b){f[b]=b===g})):f[g]=!f[g];this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:f})};a.type="visualMap.piecewise";return a}(aA),$H={label:{enabled:!0},decal:{show:!1}},$x=ma(),aI={},dy={value:"eq","\x3c":"lt","\x3c\x3d":"lte","\x3e":"gt","\x3e\x3d":"gte","\x3d":"eq","!\x3d":"ne","\x3c\x3e":"ne"},gI=function(){function b(a){null==(this._condVal=da(a)?new RegExp(a):tk(a)?a:null)&&(a=gb("Illegal regexp",a,"in"),ja(a))}b.prototype.evaluate=function(a){var b=typeof a;return"string"===b?this._condVal.test(a):"number"===b?this._condVal.test(a+""):!1};return b}(),cI=function(){function b(){}b.prototype.evaluate=function(){return this.value};return b}(),iI=function(){function b(){}b.prototype.evaluate=function(){for(var a=this.children,b=0;b<a.length;b++)if(!a[b].evaluate())return!1;return!0};return b}(),jI=function(){function b(){}b.prototype.evaluate=function(){for(var a=this.children,b=0;b<a.length;b++)if(a[b].evaluate())return!0;return!1};return b}(),dI=function(){function b(){}b.prototype.evaluate=function(){return!this.child.evaluate()};return b}(),hI=function(){function b(){}b.prototype.evaluate=function(){for(var a=!!this.valueParser,b=this.getValue,b=b(this.valueGetterParam),d=a?this.valueParser(b):null,e=0;e<this.subCondList.length;e++)if(!this.subCondList[e].evaluate(a?d:b))return!1;return!0};return b}(),lI=function(){function b(a,b){this._cond=qo(a,b)}b.prototype.evaluate=function(){return this._cond.evaluate()};return b}(),xN={type:"echarts:filter",transform:function(b){var a=b.upstream,c;b=kI(b.config,{valueGetterAttrMap:R({dimension:!0}),prepareGetValue:function(b){var c,d=b.dimension;b.hasOwnProperty("dimension")||(c=gb('Relation condition must has prop "dimension" specified.',"Illegal condition:",b),ja(c));var e=a.getDimensionInfo(d);e||(c=gb("Can not find dimension info via: "+d+".\n","Existing dimensions: ",a.cloneAllDimensionInfo(),".\n","Illegal condition:",b,".\n"),ja(c));return{dimIdx:e.index}},getValue:function(b){return a.retrieveValueFromItem(c,b.dimIdx)}});for(var d=[],e=0,f=a.count();e<f;e++)c=a.getRawDataItem(e),b.evaluate()&&d.push(c);return{data:d}}},Op="",Op='Valid config is like: { dimension: "age", order: "asc" } or [{ dimension: "age", order: "asc"], { dimension: "date", order: "desc" }]',yN={type:"echarts:sort",transform:function(b){var a=b.upstream,c="";b=xa(b.config);b.length||(c="Empty `config` in sort transform.",ja(c));var d=[];r(b,function(b){var e=b.dimension,f=b.order,g=b.parser,m=b.incomparable;null==e&&(c='Sort transform config must has "dimension" specified.'+Op,ja(c));"asc"!==f&&"desc"!==f&&(c='Sort transform config must has "order" specified.'+Op,ja(c));m&&"min"!==m&&"max"!==m&&ja('incomparable must be "min" or "max" rather than "'+m+'".');"asc"!==f&&"desc"!==f&&ja('order must be "asc" or "desc" rather than "'+f+'".');var n=a.getDimensionInfo(e);n||(c=gb("Can not find dimension info via: "+e+".\n","Existing dimensions: ",a.cloneAllDimensionInfo(),".\n","Illegal config:",b,".\n"),ja(c));e=g?cy.get(g):null;g&&!e&&(c=gb("Invalid parser name "+g+".\n","Illegal config:",b,".\n"),ja(c));d.push({dimIdx:n.index,parser:e,comparator:new is(f,m)})});b=a.sourceFormat;"arrayRows"!==b&&"objectRows"!==b&&(c='sourceFormat "'+b+'" is not supported yet',ja(c));b=[];for(var e=0,f=a.count();e<f;e++)b.push(a.getRawDataItem(e));b.sort(function(b,c){for(var e=0;e<d.length;e++){var f=d[e],g=a.retrieveValueFromItem(b,f.dimIdx),h=a.retrieveValueFromItem(c,f.dimIdx);f.parser&&(g=f.parser(g),h=f.parser(h));f=f.comparator.evaluate(g,h);if(0!==f)return f}return 0});return{data:b}}},zN=function(b){function a(){var a=null!==b&&b.apply(this,arguments)||this;a.type="dataset";return a}x(a,b);a.prototype.init=function(a,d,e){b.prototype.init.call(this,a,d,e);this._sourceManager=new Fy(this);this.option.transform&&Ge(this.option.transform)};a.prototype.mergeOption=function(a,d){b.prototype.mergeOption.call(this,a,d);this.option.transform&&Ge(this.option.transform)};a.prototype.optionUpdated=function(){this._sourceManager.dirty()};a.prototype.getSourceManager=function(){return this._sourceManager};a.type="dataset";a.defaultOption={seriesLayoutBy:"column"};return a}(W),AN=function(b){function a(){var a=null!==b&&b.apply(this,arguments)||this;a.type="dataset";return a}x(a,b);a.type="dataset";return a}(na);ca([function(b){b.registerPainter("canvas",aK)}]);ca([function(b){b.registerPainter("svg",$J)}]);ca([function(b){b.registerChartView(eK);b.registerSeriesModel(bK);b.registerLayout(Ig("line",!0));b.registerProcessor(b.PRIORITY.PROCESSOR.STATISTIC,Ut("line"))},function(b){b.registerChartView(iK);b.registerSeriesModel(fK);b.registerLayout(b.PRIORITY.VISUAL.LAYOUT,P(kt,"bar"));b.registerLayout(b.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,IJ);b.registerVisual({seriesType:"bar",reset:function(a){a.getData().setVisual("legendSymbol","roundRect")}});b.registerProcessor(b.PRIORITY.PROCESSOR.STATISTIC,Ut("bar"));b.registerAction({type:"changeAxisOrder",event:"changeAxisOrder",update:"update"},function(a,b){b.eachComponent({mainType:a.componentType||"series",query:a},function(b){a.sortInfo&&b.axis.setCategorySortInfo(a.sortInfo)})})},function(b){b.registerChartView(lK);b.registerSeriesModel(mK);Ds("pie",b.registerAction);b.registerLayout(P(cD,"pie"));b.registerProcessor(Jg("pie"))},function(b){ca(lu);b.registerSeriesModel(nK);b.registerChartView(qK);b.registerLayout(Ig("scatter"))},function(b){ca(tD);b.registerChartView(zK);b.registerSeriesModel(AK);b.registerLayout(rD);b.registerProcessor(Jg("radar"));b.registerPreprocessor(sD)},function(b){b.registerChartView(HK);b.registerSeriesModel(IK);b.registerLayout(JD);b.registerProcessor(b.PRIORITY.PROCESSOR.STATISTIC,ID);Ds("map",b.registerAction)},function(b){b.registerChartView(KK);b.registerSeriesModel(MK);b.registerLayout(XD);b.registerVisual(ZD);$D(b)},function(b){b.registerSeriesModel(NK);b.registerChartView(QK);b.registerVisual(TK);b.registerLayout(UK);aE(b)},function(b){b.registerChartView(VK);b.registerSeriesModel(WK);b.registerProcessor(rE);b.registerVisual(sE);b.registerVisual(tE);b.registerLayout(uE);b.registerLayout(b.PRIORITY.VISUAL.POST_CHART_LAYOUT,wE);b.registerLayout(yE);b.registerCoordinateSystem("graphView",{dimensions:tf.dimensions,create:AE});b.registerAction({type:"focusNodeAdjacency",event:"focusNodeAdjacency",update:"series:focusNodeAdjacency"},function(){});b.registerAction({type:"unfocusNodeAdjacency",event:"unfocusNodeAdjacency",update:"series:unfocusNodeAdjacency"},function(){});b.registerAction(XK,function(a,b){b.eachComponent({mainType:"series",query:a},function(b){var c=Qm(b.coordinateSystem,a);b.setCenter&&b.setCenter(c.center);b.setZoom&&b.setZoom(c.zoom)})})},function(b){b.registerChartView($K);b.registerSeriesModel(aL)},function(b){b.registerChartView(dL);b.registerSeriesModel(eL);b.registerLayout(HE);b.registerProcessor(Jg("funnel"))},function(b){ca(yv);b.registerChartView(fL);b.registerSeriesModel(gL);b.registerVisual(b.PRIORITY.VISUAL.BRUSH,iL)},function(b){b.registerChartView(tL);b.registerSeriesModel(uL);b.registerLayout(cF);b.registerVisual(sF);b.registerAction({type:"dragNode",event:"dragnode",update:"update"},function(a,b){b.eachComponent({mainType:"series",subType:"sankey",query:a},function(b){b.setNodePosition(a.dataIndex,[a.localX,a.localY])})})},function(b){b.registerSeriesModel(zz);b.registerChartView(vL);b.registerVisual(vF);b.registerLayout(wF);b.registerTransform(xL)},function(b){b.registerChartView(yL);b.registerSeriesModel(Az);b.registerPreprocessor(DF);b.registerVisual(FL);b.registerLayout(HL)},function(b){b.registerChartView(IL);b.registerSeriesModel(JL);b.registerLayout(Ig("effectScatter"))},function(b){b.registerChartView(NL);b.registerSeriesModel(QL);b.registerLayout(Fz);b.registerVisual(RL)},function(b){b.registerChartView(TL);b.registerSeriesModel(UL)},function(b){b.registerChartView(VL);b.registerSeriesModel(WL);b.registerLayout(P(kt,"pictorialBar"))},function(b){b.registerChartView(XL);b.registerSeriesModel(YL);b.registerLayout(MF);b.registerProcessor(Jg("themeRiver"))},function(b){b.registerChartView(ZL);b.registerSeriesModel($L);b.registerLayout(P(PF,"sunburst"));b.registerProcessor(P(Jg,"sunburst"));b.registerVisual(RF);OF(b)},function(b){b.registerChartView(cM);b.registerSeriesModel(aM)}]);ca(function(b){ca(lu);ca(ah)});ca(function(b){ca(ah);le.registerAxisPointerClass("PolarAxisPointer",fM);b.registerCoordinateSystem("polar",kM);b.registerComponentModel(gM);b.registerComponentView(uM);pf(b,"angle",hM,sM);pf(b,"radius",iM,tM);b.registerComponentView(nM);b.registerComponentView(rM);b.registerLayout(P(CG,"bar"))});ca(function(b){function a(a,d){d.update="geo:updateSelectStatus";b.registerAction(d,function(b,c){var d={};c.eachComponent({mainType:"geo",query:b},function(c){c[a](b.name);r(c.coordinateSystem.regions,function(a){d[a.name]=c.isSelected(a.name)||!1})});return{selected:d,name:b.name}})}b.registerCoordinateSystem("geo",Kz);b.registerComponentModel(vM);b.registerComponentView(wM);a("toggleSelected",{type:"geoToggleSelect",event:"geoselectchanged"});a("select",{type:"geoSelect",event:"geoselected"});a("unSelect",{type:"geoUnSelect",event:"geounselected"});b.registerAction({type:"geoRoam",event:"geoRoam",update:"updateTransform"},function(a,b){var c=a.componentType||"series";b.eachComponent({mainType:c,query:a},function(b){var d=b.coordinateSystem;if("geo"===d.type){var e=Qm(d,a,b.get("scaleLimit"));b.setCenter&&b.setCenter(e.center);b.setZoom&&b.setZoom(e.zoom);"series"===c&&r(b.seriesGroup,function(a){a.setCenter(e.center);a.setZoom(e.zoom)})}})})});ca(function(b){ca(ah);le.registerAxisPointerClass("SingleAxisPointer",EM);b.registerComponentView(FM);b.registerComponentView(AM);b.registerComponentModel(kk);pf(b,"single",kk,kk.defaultOption);b.registerCoordinateSystem("single",CM)});ca(yv);ca(function(b){b.registerComponentModel(GM);b.registerComponentView(JM);b.registerCoordinateSystem("calendar",KM)});ca(function(b){b.registerComponentModel(MM);b.registerComponentView(NM);b.registerPreprocessor(LM)});ca(function(b){b.registerComponentModel(QM);b.registerComponentView(RM);Bd.saveAsImage=Nz;Bd.magicType=TM;Bd.dataView=UM;Bd.dataZoom=YM;Bd.restore=VM;ca(LG)});ca(function(b){ca(ah);b.registerComponentModel(ZM);b.registerComponentView(bN);b.registerAction({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},function(){});b.registerAction({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},function(){})});ca(ah);ca(function(b){b.registerComponentView(cN);b.registerComponentModel(dN);b.registerPreprocessor(dH);b.registerVisual(b.PRIORITY.VISUAL.BRUSH,jH);b.registerAction({type:"brush",event:"brush",update:"updateVisual"},function(a,b){b.eachComponent({mainType:"brush",query:a},function(b){b.setAreas(a.areas)})});b.registerAction({type:"brushSelect",event:"brushSelected",update:"none"},function(){});b.registerAction({type:"brushEnd",event:"brushEnd",update:"none"},function(){});Bd.brush=fN});ca(function(b){b.registerComponentModel(gN);b.registerComponentView(hN)});ca(function(b){b.registerComponentModel(Vz);b.registerComponentView(kN);b.registerSubTypeDefaulter("timeline",function(){return"slider"});pH(b);b.registerPreprocessor(qH)});ca(function(b){b.registerComponentModel(lN);b.registerComponentView(mN);b.registerPreprocessor(function(a){a.markPoint=a.markPoint||{}})});ca(function(b){b.registerComponentModel(nN);b.registerComponentView(oN);b.registerPreprocessor(function(a){a.markLine=a.markLine||{}})});ca(function(b){b.registerComponentModel(pN);b.registerComponentView(qN);b.registerPreprocessor(function(a){a.markArea=a.markArea||{}})});ca(function(b){ca(Gx);ca(DH)});ca(function(b){ca(Lx);ca(Nx)});ca(Lx);ca(Nx);ca(function(b){ca(Xx);ca(Zx)});ca(Xx);ca(Zx);ca(function(b){b.registerPreprocessor(bI);b.registerVisual(b.PRIORITY.VISUAL.ARIA,ZH)});ca(function(b){b.registerTransform(xN);b.registerTransform(yN)});ca(function(b){b.registerComponentModel(zN);b.registerComponentView(AN)});T.Axis=Pb;T.ChartView=oa;T.ComponentModel=W;T.ComponentView=na;T.List=Wa;T.Model=la;T.PRIORITY=Py;T.SeriesModel=ra;T.color=wI;T.connect=function(b){if(A(b)){var a=b;b=null;Ca(a,function(a){null!=a.group&&(b=a.group)});b=b||"g_"+BJ++;Ca(a,function(a){a.group=b})}Mi[b]=!0;return b};T.dataTool={};T.dependencies={zrender:"5.0.3"};T.disConnect=Us;T.disconnect=Us;T.dispose=function(b){"string"===typeof b?b=Xd[b]:b instanceof ak||(b=am(b));b instanceof ak&&!b.isDisposed()&&b.dispose()};T.env=X;T.extendChartView=function(b){b=oa.extend(b);oa.registerClass(b);return b};T.extendComponentModel=function(b){b=W.extend(b);W.registerClass(b);return b};T.extendComponentView=function(b){b=na.extend(b);na.registerClass(b);return b};T.extendSeriesModel=function(b){b=ra.extend(b);ra.registerClass(b);return b};T.format=SJ;T.getCoordinateSystemDimensions=function(b){if(b=Yd.get(b))return b.getDimensionsInfo?b.getDimensionsInfo():b.dimensions.slice()};T.getInstanceByDom=am;T.getInstanceById=function(b){return Xd[b]};T.getMap=function(b){return(b=Ri.retrieveMap(b))&&b[0]&&{geoJson:b[0].geoJSON,specialAreas:b[0].specialAreas}};T.graphic=RJ;T.helper=OJ;T.init=function(b,a,c){if(!b)throw Error("Initialize failed: invalid dom.");var d=am(b);if(d)return console.warn("There is a chart instance already initialized on the dom."),d;!Dd(b)||"CANVAS"===b.nodeName.toUpperCase()||(b.clientWidth||c&&null!=c.width)&&(b.clientHeight||c&&null!=c.height)||console.warn("Can't get DOM width or height. Please check dom.clientWidth and dom.clientHeight. They should not be 0.For example, you may need to call this in the callback of window.onload.");var e=new ak(b,a,c);e.id="ec_"+AJ++;Xd[e.id]=e;Cq(b,bm,e.id);Wy(e);Ca(hm,function(a){a(e)});return e};T.innerDrawElementOnCanvas=Zl;T.matrix=tI;T.number=PJ;T.parseGeoJSON=sm;T.parseGeoJson=sm;T.registerAction=ac;T.registerCoordinateSystem=Ys;T.registerLayout=Zs;T.registerLoading=bt;T.registerLocale=Bl;T.registerMap=ct;T.registerPostInit=Vs;T.registerPostUpdate=Ws;T.registerPreprocessor=cm;T.registerProcessor=em;T.registerTheme=function(b,a){Zj[b]=a};T.registerTransform=Zy;T.registerVisual=id;T.setCanvasCreator=function(b){Dj.createCanvas=b};T.throttle=Fi;T.time=QJ;T.use=ca;T.util=TJ;T.vector=oI;T.version="5.0.1";T.zrUtil=nI;T.zrender=DI;Object.defineProperty(T,"__esModule",{value:!0})}); \ No newline at end of file diff --git a/src/main/resources/static/js/jquery-ui.min.js b/src/main/resources/static/js/jquery-ui.min.js new file mode 100644 index 0000000..25398a1 --- /dev/null +++ b/src/main/resources/static/js/jquery-ui.min.js @@ -0,0 +1,13 @@ +/*! jQuery UI - v1.12.1 - 2016-09-14 +* http://jqueryui.com +* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e=t.css("visibility");"inherit"===e;)t=t.parent(),e=t.css("visibility");return"hidden"!==e}function i(t){for(var e,i;t.length&&t[0]!==document;){if(e=t.css("position"),("absolute"===e||"relative"===e||"fixed"===e)&&(i=parseInt(t.css("zIndex"),10),!isNaN(i)&&0!==i))return i;t=t.parent()}return 0}function s(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.regional.en=t.extend(!0,{},this.regional[""]),this.regional["en-US"]=t.extend(!0,{},this.regional.en),this.dpDiv=n(t("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function n(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",i,function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",i,o)}function o(){t.datepicker._isDisabledDatepicker(m.inline?m.dpDiv.parent()[0]:m.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))}function a(e,i){t.extend(e,i);for(var s in i)null==i[s]&&(e[s]=i[s]);return e}function r(t){return function(){var e=this.element.val();t.apply(this,arguments),this._refresh(),e!==this.element.val()&&this._trigger("change")}}t.ui=t.ui||{},t.ui.version="1.12.1";var h=0,l=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},h=e.split(".")[0];e=e.split(".")[1];var l=h+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][l.toLowerCase()]=function(e){return!!t.data(e,l)},t[h]=t[h]||{},n=t[h][e],o=t[h][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:h,widgetName:e,widgetFullName:l}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,s,n=l.call(arguments,1),o=0,a=n.length;a>o;o++)for(i in n[o])s=n[o][i],n[o].hasOwnProperty(i)&&void 0!==s&&(e[i]=t.isPlainObject(s)?t.isPlainObject(e[i])?t.widget.extend({},e[i],s):t.widget.extend({},s):s);return e},t.widget.bridge=function(e,i){var s=i.prototype.widgetFullName||e;t.fn[e]=function(n){var o="string"==typeof n,a=l.call(arguments,1),r=this;return o?this.length||"instance"!==n?this.each(function(){var i,o=t.data(this,s);return"instance"===n?(r=o,!1):o?t.isFunction(o[n])&&"_"!==n.charAt(0)?(i=o[n].apply(o,a),i!==o&&void 0!==i?(r=i&&i.jquery?r.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+n+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+n+"'")}):r=void 0:(a.length&&(n=t.widget.extend.apply(null,[n].concat(a))),this.each(function(){var e=t.data(this,s);e?(e.option(n||{}),e._init&&e._init()):t.data(this,s,new i(n,this))})),r}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,i){i=t(i||this.defaultElement||this)[0],this.element=t(i),this.uuid=h++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},i!==this&&(t.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===i&&this.destroy()}}),this.document=t(i.style?i.ownerDocument:i.document||i),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,g,m,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||"flip").split(" "),k={};return _=s(v),v[0].preventDefault&&(n.at="left top"),p=_.width,f=_.height,g=_.offset,m=t.extend({},g),t.each(["my","at"],function(){var t,e,i=(n[this]||"").split(" ");1===i.length&&(i=r.test(i[0])?i.concat(["center"]):h.test(i[0])?["center"].concat(i):["center","center"]),i[0]=r.test(i[0])?i[0]:"center",i[1]=h.test(i[1])?i[1]:"center",t=l.exec(i[0]),e=l.exec(i[1]),k[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===n.at[0]?m.left+=p:"center"===n.at[0]&&(m.left+=p/2),"bottom"===n.at[1]?m.top+=f:"center"===n.at[1]&&(m.top+=f/2),u=e(k.at,p,f),m.left+=u[0],m.top+=u[1],this.each(function(){var s,r,h=t(this),l=h.outerWidth(),c=h.outerHeight(),d=i(this,"marginLeft"),_=i(this,"marginTop"),x=l+d+i(this,"marginRight")+y.width,C=c+_+i(this,"marginBottom")+y.height,D=t.extend({},m),I=e(k.my,h.outerWidth(),h.outerHeight());"right"===n.my[0]?D.left-=l:"center"===n.my[0]&&(D.left-=l/2),"bottom"===n.my[1]?D.top-=c:"center"===n.my[1]&&(D.top-=c/2),D.left+=I[0],D.top+=I[1],s={marginLeft:d,marginTop:_},t.each(["left","top"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:l,elemHeight:c,collisionPosition:s,collisionWidth:x,collisionHeight:C,offset:[u[0]+I[0],u[1]+I[1]],my:n.my,at:n.at,within:b,elem:h})}),n.using&&(r=function(t){var e=g.left-D.left,i=e+p-l,s=g.top-D.top,r=s+f-c,u={target:{element:v,left:g.left,top:g.top,width:p,height:f},element:{element:h,left:D.left,top:D.top,width:l,height:c},horizontal:0>i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-h,(i>0||u>a(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}});var c="ui-effects-",u="ui-effects-style",d="ui-effects-animated",p=t;t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(t,o){var a,r=o.re.exec(i),h=r&&o.parse(r),l=o.space||"rgba";return h?(a=s[l](h),s[c[l].cache]=a[c[l].cache],n=s._rgba=a._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,o.transparent),s):o[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var o,a="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],l=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=l.support={},p=t("<p>")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),l.fn=t.extend(l.prototype,{parse:function(n,a,r,h){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(a),a=e);var u=this,d=t.type(n),p=this._rgba=[];return a!==e&&(n=[n,a,r,h],d="array"),"string"===d?this.parse(s(n)||o._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof l?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var o=s.cache;f(s.props,function(t,e){if(!u[o]&&s.to){if("alpha"===t||null==n[t])return;u[o]=s.to(u._rgba)}u[o][e.idx]=i(n[t],e,!0)}),u[o]&&0>t.inArray(null,u[o].slice(0,3))&&(u[o][3]=1,s.from&&(u._rgba=s.from(u[o])))}),this):e},is:function(t){var i=l(t),s=!0,n=this;return f(c,function(t,o){var a,r=i[o.cache];return r&&(a=n[o.cache]||o.to&&o.to(n._rgba)||[],f(o.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===a[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=l(t),n=s._space(),o=c[n],a=0===this.alpha()?l("transparent"):this,r=a[o.cache]||o.to(a._rgba),h=r.slice();return s=s[o.cache],f(o.props,function(t,n){var o=n.idx,a=r[o],l=s[o],c=u[n.type]||{};null!==l&&(null===a?h[o]=l:(c.mod&&(l-a>c.mod/2?a+=c.mod:a-l>c.mod/2&&(a-=c.mod)),h[o]=i((l-a)*e+a,n)))}),this[n](h)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(e)._rgba;return l(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,o=t[2]/255,a=t[3],r=Math.max(s,n,o),h=Math.min(s,n,o),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-o)/l+360:n===r?60*(o-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=u?l/c:l/(2-c),[Math.round(e)%360,i,u,null==a?1:a]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],o=t[3],a=.5>=s?s*(1+i):s+i-s*i,r=2*s-a;return[Math.round(255*n(r,a,e+1/3)),Math.round(255*n(r,a,e)),Math.round(255*n(r,a,e-1/3)),o]},f(c,function(s,n){var o=n.props,a=n.cache,h=n.to,c=n.from;l.fn[s]=function(s){if(h&&!this[a]&&(this[a]=h(this._rgba)),s===e)return this[a].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[a].slice();return f(o,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=l(c(d)),n[a]=d,n):l(d)},f(o,function(e,i){l.fn[e]||(l.fn[e]=function(n){var o,a=t.type(n),h="alpha"===e?this._hsla?"hsla":"rgba":s,l=this[h](),c=l[i.idx];return"undefined"===a?c:("function"===a&&(n=n.call(this,c),a=t.type(n)),null==n&&i.empty?this:("string"===a&&(o=r.exec(n),o&&(n=c+parseFloat(o[2])*("+"===o[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var o,a,r="";if("transparent"!==n&&("string"!==t.type(n)||(o=s(n)))){if(n=l(o||n),!d.rgba&&1!==n._rgba[3]){for(a="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&a&&a.style;)try{r=t.css(a,"backgroundColor"),a=a.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(h){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=l(e.elem,i),e.end=l(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},l.hook(a),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},o=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(p),function(){function e(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,o={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(o[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(o[i]=n[i]);return o}function i(e,i){var s,o,a={};for(s in i)o=i[s],e[s]!==o&&(n[s]||(t.fx.step[s]||!isNaN(parseFloat(o)))&&(a[s]=o));return a}var s=["add","remove","toggle"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(p.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(n,o,a,r){var h=t.speed(o,a,r);return this.queue(function(){var o,a=t(this),r=a.attr("class")||"",l=h.children?a.find("*").addBack():a;l=l.map(function(){var i=t(this);return{el:i,start:e(this)}}),o=function(){t.each(s,function(t,e){n[e]&&a[e+"Class"](n[e])})},o(),l=l.map(function(){return this.end=e(this.el[0]),this.diff=i(this.start,this.end),this}),a.attr("class",r),l=l.map(function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,l.get()).done(function(){o(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),h.complete.call(a[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,o){return s?t.effects.animateClass.call(this,{add:i},s,n,o):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,o){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,o):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(e){return function(i,s,n,o,a){return"boolean"==typeof s||void 0===s?n?t.effects.animateClass.call(this,s?{add:i}:{remove:i},n,o,a):e.apply(this,arguments):t.effects.animateClass.call(this,{toggle:i},s,n,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,o){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,o)}})}(),function(){function e(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function i(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}function s(t,e){var i=e.outerWidth(),s=e.outerHeight(),n=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/,o=n.exec(t)||["",0,i,s,0];return{top:parseFloat(o[1])||0,right:"auto"===o[2]?i:parseFloat(o[2]),bottom:"auto"===o[3]?s:parseFloat(o[3]),left:parseFloat(o[4])||0}}t.expr&&t.expr.filters&&t.expr.filters.animated&&(t.expr.filters.animated=function(e){return function(i){return!!t(i).data(d)||e(i)}}(t.expr.filters.animated)),t.uiBackCompat!==!1&&t.extend(t.effects,{save:function(t,e){for(var i=0,s=e.length;s>i;i++)null!==e[i]&&t.data(c+e[i],t[0].style[e[i]])},restore:function(t,e){for(var i,s=0,n=e.length;n>s;s++)null!==e[s]&&(i=t.data(c+e[s]),t.css(e[s],i))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},o=document.activeElement;try{o.id}catch(a){o=document.body}return e.wrap(s),(e[0]===o||t.contains(e[0],o))&&t(o).trigger("focus"),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).trigger("focus")),e}}),t.extend(t.effects,{version:"1.12.1",define:function(e,i,s){return s||(s=i,i="effect"),t.effects.effect[e]=s,t.effects.effect[e].mode=i,s},scaledDimensions:function(t,e,i){if(0===e)return{height:0,width:0,outerHeight:0,outerWidth:0};var s="horizontal"!==i?(e||100)/100:1,n="vertical"!==i?(e||100)/100:1;return{height:t.height()*n,width:t.width()*s,outerHeight:t.outerHeight()*n,outerWidth:t.outerWidth()*s}},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var s=t.queue();e>1&&s.splice.apply(s,[1,0].concat(s.splice(e,i))),t.dequeue()},saveStyle:function(t){t.data(u,t[0].style.cssText)},restoreStyle:function(t){t[0].style.cssText=t.data(u)||"",t.removeData(u)},mode:function(t,e){var i=t.is(":hidden");return"toggle"===e&&(e=i?"show":"hide"),(i?"hide"===e:"show"===e)&&(e="none"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createPlaceholder:function(e){var i,s=e.css("position"),n=e.position();return e.css({marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()),/^(static|relative)/.test(s)&&(s="absolute",i=t("<"+e[0].nodeName+">").insertAfter(e).css({display:/^(inline|ruby)/.test(e.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight"),"float":e.css("float")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).addClass("ui-effects-placeholder"),e.data(c+"placeholder",i)),e.css({position:s,left:n.left,top:n.top}),i},removePlaceholder:function(t){var e=c+"placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(e){t.effects.restoreStyle(e),t.effects.removePlaceholder(e)},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var o=e.cssUnit(i);o[0]>0&&(n[i]=o[0]*s+o[1])}),n}}),t.fn.extend({effect:function(){function i(e){function i(){r.removeData(d),t.effects.cleanUp(r),"hide"===s.mode&&r.hide(),a()}function a(){t.isFunction(h)&&h.call(r[0]),t.isFunction(e)&&e()}var r=t(this);s.mode=c.shift(),t.uiBackCompat===!1||o?"none"===s.mode?(r[l](),a()):n.call(r[0],s,i):(r.is(":hidden")?"hide"===l:"show"===l)?(r[l](),a()):n.call(r[0],s,a)}var s=e.apply(this,arguments),n=t.effects.effect[s.effect],o=n.mode,a=s.queue,r=a||"fx",h=s.complete,l=s.mode,c=[],u=function(e){var i=t(this),s=t.effects.mode(i,l)||o;i.data(d,!0),c.push(s),o&&("show"===s||s===o&&"hide"===s)&&i.show(),o&&"none"===s||t.effects.saveStyle(i),t.isFunction(e)&&e()};return t.fx.off||!n?l?this[l](s.duration,h):this.each(function(){h&&h.call(this)}):a===!1?this.each(u).each(i):this.queue(r,u).queue(r,i)},show:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="show",this.effect.call(this,n) +}}(t.fn.show),hide:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(t.fn.hide),toggle:function(t){return function(s){if(i(s)||"boolean"==typeof s)return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s},cssClip:function(t){return t?this.css("clip","rect("+t.top+"px "+t.right+"px "+t.bottom+"px "+t.left+"px)"):s(this.css("clip"),this)},transfer:function(e,i){var s=t(this),n=t(e.to),o="fixed"===n.css("position"),a=t("body"),r=o?a.scrollTop():0,h=o?a.scrollLeft():0,l=n.offset(),c={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("<div class='ui-effects-transfer'></div>").appendTo("body").addClass(e.className).css({top:u.top-r,left:u.left-h,height:s.innerHeight(),width:s.innerWidth(),position:o?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),t.isFunction(i)&&i()})}}),t.fx.step.clip=function(e){e.clipInit||(e.start=t(e.elem).cssClip(),"string"==typeof e.end&&(e.end=s(e.end,e.elem)),e.clipInit=!0),t(e.elem).cssClip({top:e.pos*(e.end.top-e.start.top)+e.start.top,right:e.pos*(e.end.right-e.start.right)+e.start.right,bottom:e.pos*(e.end.bottom-e.start.bottom)+e.start.bottom,left:e.pos*(e.end.left-e.start.left)+e.start.left})}}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}();var f=t.effects;t.effects.define("blind","hide",function(e,i){var s={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},n=t(this),o=e.direction||"up",a=n.cssClip(),r={clip:t.extend({},a)},h=t.effects.createPlaceholder(n);r.clip[s[o][0]]=r.clip[s[o][1]],"show"===e.mode&&(n.cssClip(r.clip),h&&h.css(t.effects.clipToBox(r)),r.clip=a),h&&h.animate(t.effects.clipToBox(r),e.duration,e.easing),n.animate(r,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("bounce",function(e,i){var s,n,o,a=t(this),r=e.mode,h="hide"===r,l="show"===r,c=e.direction||"up",u=e.distance,d=e.times||5,p=2*d+(l||h?1:0),f=e.duration/p,g=e.easing,m="up"===c||"down"===c?"top":"left",_="up"===c||"left"===c,v=0,b=a.queue().length;for(t.effects.createPlaceholder(a),o=a.css(m),u||(u=a["top"===m?"outerHeight":"outerWidth"]()/3),l&&(n={opacity:1},n[m]=o,a.css("opacity",0).css(m,_?2*-u:2*u).animate(n,f,g)),h&&(u/=Math.pow(2,d-1)),n={},n[m]=o;d>v;v++)s={},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g).animate(n,f,g),u=h?2*u:u/2;h&&(s={opacity:0},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g)),a.queue(i),t.effects.unshift(a,b,p+1)}),t.effects.define("clip","hide",function(e,i){var s,n={},o=t(this),a=e.direction||"vertical",r="both"===a,h=r||"horizontal"===a,l=r||"vertical"===a;s=o.cssClip(),n.clip={top:l?(s.bottom-s.top)/2:s.top,right:h?(s.right-s.left)/2:s.right,bottom:l?(s.bottom-s.top)/2:s.bottom,left:h?(s.right-s.left)/2:s.left},t.effects.createPlaceholder(o),"show"===e.mode&&(o.cssClip(n.clip),n.clip=s),o.animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("drop","hide",function(e,i){var s,n=t(this),o=e.mode,a="show"===o,r=e.direction||"left",h="up"===r||"down"===r?"top":"left",l="up"===r||"left"===r?"-=":"+=",c="+="===l?"-=":"+=",u={opacity:0};t.effects.createPlaceholder(n),s=e.distance||n["top"===h?"outerHeight":"outerWidth"](!0)/2,u[h]=l+s,a&&(n.css(u),u[h]=c+s,u.opacity=1),n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("explode","hide",function(e,i){function s(){b.push(this),b.length===u*d&&n()}function n(){p.css({visibility:"visible"}),t(b).remove(),i()}var o,a,r,h,l,c,u=e.pieces?Math.round(Math.sqrt(e.pieces)):3,d=u,p=t(this),f=e.mode,g="show"===f,m=p.show().css("visibility","hidden").offset(),_=Math.ceil(p.outerWidth()/d),v=Math.ceil(p.outerHeight()/u),b=[];for(o=0;u>o;o++)for(h=m.top+o*v,c=o-(u-1)/2,a=0;d>a;a++)r=m.left+a*_,l=a-(d-1)/2,p.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-a*_,top:-o*v}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:_,height:v,left:r+(g?l*_:0),top:h+(g?c*v:0),opacity:g?0:1}).animate({left:r+(g?0:l*_),top:h+(g?0:c*v),opacity:g?1:0},e.duration||500,e.easing,s)}),t.effects.define("fade","toggle",function(e,i){var s="show"===e.mode;t(this).css("opacity",s?0:1).animate({opacity:s?1:0},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("fold","hide",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=e.size||15,h=/([0-9]+)%/.exec(r),l=!!e.horizFirst,c=l?["right","bottom"]:["bottom","right"],u=e.duration/2,d=t.effects.createPlaceholder(s),p=s.cssClip(),f={clip:t.extend({},p)},g={clip:t.extend({},p)},m=[p[c[0]],p[c[1]]],_=s.queue().length;h&&(r=parseInt(h[1],10)/100*m[a?0:1]),f.clip[c[0]]=r,g.clip[c[0]]=r,g.clip[c[1]]=0,o&&(s.cssClip(g.clip),d&&d.css(t.effects.clipToBox(g)),g.clip=p),s.queue(function(i){d&&d.animate(t.effects.clipToBox(f),u,e.easing).animate(t.effects.clipToBox(g),u,e.easing),i()}).animate(f,u,e.easing).animate(g,u,e.easing).queue(i),t.effects.unshift(s,_,4)}),t.effects.define("highlight","show",function(e,i){var s=t(this),n={backgroundColor:s.css("backgroundColor")};"hide"===e.mode&&(n.opacity=0),t.effects.saveStyle(s),s.css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("size",function(e,i){var s,n,o,a=t(this),r=["fontSize"],h=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],l=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],c=e.mode,u="effect"!==c,d=e.scale||"both",p=e.origin||["middle","center"],f=a.css("position"),g=a.position(),m=t.effects.scaledDimensions(a),_=e.from||m,v=e.to||t.effects.scaledDimensions(a,0);t.effects.createPlaceholder(a),"show"===c&&(o=_,_=v,v=o),n={from:{y:_.height/m.height,x:_.width/m.width},to:{y:v.height/m.height,x:v.width/m.width}},("box"===d||"both"===d)&&(n.from.y!==n.to.y&&(_=t.effects.setTransition(a,h,n.from.y,_),v=t.effects.setTransition(a,h,n.to.y,v)),n.from.x!==n.to.x&&(_=t.effects.setTransition(a,l,n.from.x,_),v=t.effects.setTransition(a,l,n.to.x,v))),("content"===d||"both"===d)&&n.from.y!==n.to.y&&(_=t.effects.setTransition(a,r,n.from.y,_),v=t.effects.setTransition(a,r,n.to.y,v)),p&&(s=t.effects.getBaseline(p,m),_.top=(m.outerHeight-_.outerHeight)*s.y+g.top,_.left=(m.outerWidth-_.outerWidth)*s.x+g.left,v.top=(m.outerHeight-v.outerHeight)*s.y+g.top,v.left=(m.outerWidth-v.outerWidth)*s.x+g.left),a.css(_),("content"===d||"both"===d)&&(h=h.concat(["marginTop","marginBottom"]).concat(r),l=l.concat(["marginLeft","marginRight"]),a.find("*[width]").each(function(){var i=t(this),s=t.effects.scaledDimensions(i),o={height:s.height*n.from.y,width:s.width*n.from.x,outerHeight:s.outerHeight*n.from.y,outerWidth:s.outerWidth*n.from.x},a={height:s.height*n.to.y,width:s.width*n.to.x,outerHeight:s.height*n.to.y,outerWidth:s.width*n.to.x};n.from.y!==n.to.y&&(o=t.effects.setTransition(i,h,n.from.y,o),a=t.effects.setTransition(i,h,n.to.y,a)),n.from.x!==n.to.x&&(o=t.effects.setTransition(i,l,n.from.x,o),a=t.effects.setTransition(i,l,n.to.x,a)),u&&t.effects.saveStyle(i),i.css(o),i.animate(a,e.duration,e.easing,function(){u&&t.effects.restoreStyle(i)})})),a.animate(v,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){var e=a.offset();0===v.opacity&&a.css("opacity",_.opacity),u||(a.css("position","static"===f?"relative":f).offset(e),t.effects.saveStyle(a)),i()}})}),t.effects.define("scale",function(e,i){var s=t(this),n=e.mode,o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"effect"!==n?0:100),a=t.extend(!0,{from:t.effects.scaledDimensions(s),to:t.effects.scaledDimensions(s,o,e.direction||"both"),origin:e.origin||["middle","center"]},e);e.fade&&(a.from.opacity=1,a.to.opacity=0),t.effects.effect.size.call(this,a,i)}),t.effects.define("puff","hide",function(e,i){var s=t.extend(!0,{},e,{fade:!0,percent:parseInt(e.percent,10)||150});t.effects.effect.scale.call(this,s,i)}),t.effects.define("pulsate","show",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=o||a,h=2*(e.times||5)+(r?1:0),l=e.duration/h,c=0,u=1,d=s.queue().length;for((o||!s.is(":visible"))&&(s.css("opacity",0).show(),c=1);h>u;u++)s.animate({opacity:c},l,e.easing),c=1-c;s.animate({opacity:c},l,e.easing),s.queue(i),t.effects.unshift(s,d,h+1)}),t.effects.define("shake",function(e,i){var s=1,n=t(this),o=e.direction||"left",a=e.distance||20,r=e.times||3,h=2*r+1,l=Math.round(e.duration/h),c="up"===o||"down"===o?"top":"left",u="up"===o||"left"===o,d={},p={},f={},g=n.queue().length;for(t.effects.createPlaceholder(n),d[c]=(u?"-=":"+=")+a,p[c]=(u?"+=":"-=")+2*a,f[c]=(u?"-=":"+=")+2*a,n.animate(d,l,e.easing);r>s;s++)n.animate(p,l,e.easing).animate(f,l,e.easing);n.animate(p,l,e.easing).animate(d,l/2,e.easing).queue(i),t.effects.unshift(n,g,h+1)}),t.effects.define("slide","show",function(e,i){var s,n,o=t(this),a={up:["bottom","top"],down:["top","bottom"],left:["right","left"],right:["left","right"]},r=e.mode,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h,u=e.distance||o["top"===l?"outerHeight":"outerWidth"](!0),d={};t.effects.createPlaceholder(o),s=o.cssClip(),n=o.position()[l],d[l]=(c?-1:1)*u+n,d.clip=o.cssClip(),d.clip[a[h][1]]=d.clip[a[h][0]],"show"===r&&(o.cssClip(d.clip),o.css(l,d[l]),d.clip=s,d[l]=n),o.animate(d,{queue:!1,duration:e.duration,easing:e.easing,complete:i})});var f;t.uiBackCompat!==!1&&(f=t.effects.define("transfer",function(e,i){t(this).transfer(e,i)})),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,.\/:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.widget("ui.accordion",{version:"1.12.1",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:"> li > :first-child, > :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),e.collapsible||e.active!==!1&&null!=e.active||(e.active=0),this._processPanels(),0>e.active&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t()}},_createIcons:function(){var e,i,s=this.options.icons;s&&(e=t("<span>"),this._addClass(e,"ui-accordion-header-icon","ui-icon "+s.header),e.prependTo(this.headers),i=this.active.children(".ui-accordion-header-icon"),this._removeClass(i,s.header)._addClass(i,null,s.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){return"active"===t?(this._activate(e),void 0):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||this.options.active!==!1||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons()),void 0)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),o=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:o=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:o=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:o=this.headers[0];break;case i.END:o=this.headers[s-1]}o&&(t(e.target).attr("tabIndex",-1),t(o).attr("tabIndex",0),t(o).trigger("focus"),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().trigger("focus")},refresh:function(){var e=this.options;this._processPanels(),e.active===!1&&e.collapsible===!0||!this.headers.length?(e.active=!1,this.active=t()):e.active===!1?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var e,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var e=t(this),i=e.uniqueId().attr("id"),s=e.next(),n=s.uniqueId().attr("id");e.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(e=n.height(),this.element.siblings(":visible").each(function(){var i=t(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(e-=i.outerHeight(!0))}),this.headers.each(function(){e-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,e-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===s&&(e=0,this.headers.next().each(function(){var i=t(this).is(":visible");i||t(this).show(),e=Math.max(e,t(this).css("height","").height()),i||t(this).hide()}).height(e))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i,s,n=this.options,o=this.active,a=t(e.currentTarget),r=a[0]===o[0],h=r&&n.collapsible,l=h?t():a.next(),c=o.next(),u={oldHeader:o,oldPanel:c,newHeader:h?t():a,newPanel:l};e.preventDefault(),r&&!n.collapsible||this._trigger("beforeActivate",e,u)===!1||(n.active=h?!1:this.headers.index(a),this.active=r?t():a,this._toggle(u),this._removeClass(o,"ui-accordion-header-active","ui-state-active"),n.icons&&(i=o.children(".ui-accordion-header-icon"),this._removeClass(i,null,n.icons.activeHeader)._addClass(i,null,n.icons.header)),r||(this._removeClass(a,"ui-accordion-header-collapsed")._addClass(a,"ui-accordion-header-active","ui-state-active"),n.icons&&(s=a.children(".ui-accordion-header-icon"),this._removeClass(s,null,n.icons.header)._addClass(s,null,n.icons.activeHeader)),this._addClass(a.next(),"ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(t(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,e,i){var s,n,o,a=this,r=0,h=t.css("box-sizing"),l=t.length&&(!e.length||t.index()<e.index()),c=this.options.animate||{},u=l&&c.down||c,d=function(){a._toggleComplete(i)};return"number"==typeof u&&(o=u),"string"==typeof u&&(n=u),n=n||u.easing||c.easing,o=o||u.duration||c.duration,e.length?t.length?(s=t.show().outerHeight(),e.animate(this.hideProps,{duration:o,easing:n,step:function(t,e){e.now=Math.round(t)}}),t.hide().animate(this.showProps,{duration:o,easing:n,complete:d,step:function(t,i){i.now=Math.round(t),"height"!==i.prop?"content-box"===h&&(r+=i.now):"content"!==a.options.heightStyle&&(i.now=Math.round(s-e.outerHeight()-r),r=0)}}),void 0):e.animate(this.hideProps,o,n,d):t.animate(this.showProps,o,n,d)},_toggleComplete:function(t){var e=t.oldPanel,i=e.prev();this._removeClass(e,"ui-accordion-content-active"),this._removeClass(i,"ui-accordion-header-active")._addClass(i,"ui-accordion-header-collapsed"),e.length&&(e.parent()[0].className=e.parent()[0].className),this._trigger("activate",null,t)}}),t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement}catch(i){e=t.body}return e||(e=t.body),e.nodeName||(e=t.body),e},t.widget("ui.menu",{version:"1.12.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&105>=e.keyCode?""+(e.keyCode-96):String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,h=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=h.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("<span>").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=h.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content")}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i)},_filterMenuItems:function(e){var i=e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return s.test(t.trim(t(this).children(".ui-menu-item-wrapper").text()))})}}),t.widget("ui.autocomplete",{version:"1.12.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n; +this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0)}}),this._initSource(),this.menu=t("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("<div>").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):this._trigger("search",e)!==!1?this._search(t):void 0},_search:function(t){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var e=++this.requestIndex;return t.proxy(function(t){e===this.requestIndex&&this.__response(t),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")},this)},__response:function(t){t&&(t=this._normalize(t)),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))},_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(e){return e.length&&e[0].label&&e[0].value?e:t.map(e,function(e){return"string"==typeof e?{label:e,value:e}:t.extend({},e,{label:e.label||e.value,value:e.value||e.label})})},_suggest:function(e){var i=this.menu.element.empty();this._renderMenu(i,e),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(t.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(e,i){var s=this;t.each(i,function(t,i){s._renderItemData(e,i)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e)},_renderItem:function(e,i){return t("<li>").append(t("<div>").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("<div>").text(i).appendTo(this.liveRegion))}}),t.ui.autocomplete;var g=/ui-corner-([a-z]){2,6}/g;t.widget("ui.controlgroup",{version:"1.12.1",defaultElement:"<div>",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var e=this,i=[];t.each(this.options.items,function(s,n){var o,a={};return n?"controlgroupLabel"===s?(o=e.element.find(n),o.each(function(){var e=t(this);e.children(".ui-controlgroup-label-contents").length||e.contents().wrapAll("<span class='ui-controlgroup-label-contents'></span>")}),e._addClass(o,null,"ui-widget ui-widget-content ui-state-default"),i=i.concat(o.get()),void 0):(t.fn[s]&&(a=e["_"+s+"Options"]?e["_"+s+"Options"]("middle"):{classes:{}},e.element.find(n).each(function(){var n=t(this),o=n[s]("instance"),r=t.widget.extend({},a);if("button"!==s||!n.parent(".ui-spinner").length){o||(o=n[s]()[s]("instance")),o&&(r.classes=e._resolveClassesValues(r.classes,o)),n[s](r);var h=n[s]("widget");t.data(h[0],"ui-controlgroup-data",o?o:n[s]("instance")),i.push(h[0])}})),void 0):void 0}),this.childWidgets=t(t.unique(i)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(e){this.childWidgets.each(function(){var i=t(this),s=i.data("ui-controlgroup-data");s&&s[e]&&s[e]()})},_updateCornerClass:function(t,e){var i="ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all",s=this._buildSimpleOptions(e,"label").classes.label;this._removeClass(t,null,i),this._addClass(t,null,s)},_buildSimpleOptions:function(t,e){var i="vertical"===this.options.direction,s={classes:{}};return s.classes[e]={middle:"",first:"ui-corner-"+(i?"top":"left"),last:"ui-corner-"+(i?"bottom":"right"),only:"ui-corner-all"}[t],s},_spinnerOptions:function(t){var e=this._buildSimpleOptions(t,"ui-spinner");return e.classes["ui-spinner-up"]="",e.classes["ui-spinner-down"]="",e},_buttonOptions:function(t){return this._buildSimpleOptions(t,"ui-button")},_checkboxradioOptions:function(t){return this._buildSimpleOptions(t,"ui-checkboxradio-label")},_selectmenuOptions:function(t){var e="vertical"===this.options.direction;return{width:e?"auto":!1,classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(e?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(e?"top":"left")},last:{"ui-selectmenu-button-open":e?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(e?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[t]}},_resolveClassesValues:function(e,i){var s={};return t.each(e,function(n){var o=i.options.classes[n]||"";o=t.trim(o.replace(g,"")),s[n]=(o+" "+e[n]).replace(/\s+/g," ")}),s},_setOption:function(t,e){return"direction"===t&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(t,e),"disabled"===t?(this._callChildMethod(e?"disable":"enable"),void 0):(this.refresh(),void 0)},refresh:function(){var e,i=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),e=this.childWidgets,this.options.onlyVisible&&(e=e.filter(":visible")),e.length&&(t.each(["first","last"],function(t,s){var n=e[s]().data("ui-controlgroup-data");if(n&&i["_"+n.widgetName+"Options"]){var o=i["_"+n.widgetName+"Options"](1===e.length?"only":s);o.classes=i._resolveClassesValues(o.classes,n),n.element[n.widgetName](o)}else i._updateCornerClass(e[s](),s)}),this._callChildMethod("refresh"))}}),t.widget("ui.checkboxradio",[t.ui.formResetMixin,{version:"1.12.1",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var e,i,s=this,n=this._super()||{};return this._readType(),i=this.element.labels(),this.label=t(i[i.length-1]),this.label.length||t.error("No label found for checkboxradio widget"),this.originalLabel="",this.label.contents().not(this.element[0]).each(function(){s.originalLabel+=3===this.nodeType?t(this).text():this.outerHTML}),this.originalLabel&&(n.label=this.originalLabel),e=this.element[0].disabled,null!=e&&(n.disabled=e),n},_create:function(){var t=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),t&&(this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this.icon&&this._addClass(this.icon,null,"ui-state-hover")),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var e=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===e&&/radio|checkbox/.test(this.type)||t.error("Can't create checkboxradio on element.nodeName="+e+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var e,i=this.element[0].name,s="input[name='"+t.ui.escapeSelector(i)+"']";return i?(e=this.form.length?t(this.form[0].elements).filter(s):t(s).filter(function(){return 0===t(this).form().length}),e.not(this.element)):t([])},_toggleClasses:function(){var e=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",e),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",e)._toggleClass(this.icon,null,"ui-icon-blank",!e),"radio"===this.type&&this._getRadioGroup().each(function(){var e=t(this).checkboxradio("instance");e&&e._removeClass(e.label,"ui-checkboxradio-checked","ui-state-active")})},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(t,e){return"label"!==t||e?(this._super(t,e),"disabled"===t?(this._toggleClass(this.label,null,"ui-state-disabled",e),this.element[0].disabled=e,void 0):(this.refresh(),void 0)):void 0},_updateIcon:function(e){var i="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=t("<span>"),this.iconSpace=t("<span> </span>"),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(i+=e?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,e?"ui-icon-blank":"ui-icon-check")):i+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",i),e||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){var t=this.label.contents().not(this.element[0]);this.icon&&(t=t.not(this.icon[0])),this.iconSpace&&(t=t.not(this.iconSpace[0])),t.remove(),this.label.append(this.options.label)},refresh:function(){var t=this.element[0].checked,e=this.element[0].disabled;this._updateIcon(t),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",t),null!==this.options.label&&this._updateLabel(),e!==this.options.disabled&&this._setOptions({disabled:e})}}]),t.ui.checkboxradio,t.widget("ui.button",{version:"1.12.1",defaultElement:"<button>",options:{classes:{"ui-button":"ui-corner-all"},disabled:null,icon:null,iconPosition:"beginning",label:null,showLabel:!0},_getCreateOptions:function(){var t,e=this._super()||{};return this.isInput=this.element.is("input"),t=this.element[0].disabled,null!=t&&(e.disabled=t),this.originalLabel=this.isInput?this.element.val():this.element.html(),this.originalLabel&&(e.label=this.originalLabel),e},_create:function(){!this.option.showLabel&!this.options.icon&&(this.options.showLabel=!0),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled||!1),this.hasTitle=!!this.element.attr("title"),this.options.label&&this.options.label!==this.originalLabel&&(this.isInput?this.element.val(this.options.label):this.element.html(this.options.label)),this._addClass("ui-button","ui-widget"),this._setOption("disabled",this.options.disabled),this._enhance(),this.element.is("a")&&this._on({keyup:function(e){e.keyCode===t.ui.keyCode.SPACE&&(e.preventDefault(),this.element[0].click?this.element[0].click():this.element.trigger("click"))}})},_enhance:function(){this.element.is("button")||this.element.attr("role","button"),this.options.icon&&(this._updateIcon("icon",this.options.icon),this._updateTooltip())},_updateTooltip:function(){this.title=this.element.attr("title"),this.options.showLabel||this.title||this.element.attr("title",this.options.label)},_updateIcon:function(e,i){var s="iconPosition"!==e,n=s?this.options.iconPosition:i,o="top"===n||"bottom"===n;this.icon?s&&this._removeClass(this.icon,null,this.options.icon):(this.icon=t("<span>"),this._addClass(this.icon,"ui-button-icon","ui-icon"),this.options.showLabel||this._addClass("ui-button-icon-only")),s&&this._addClass(this.icon,null,i),this._attachIcon(n),o?(this._addClass(this.icon,null,"ui-widget-icon-block"),this.iconSpace&&this.iconSpace.remove()):(this.iconSpace||(this.iconSpace=t("<span> </span>"),this._addClass(this.iconSpace,"ui-button-icon-space")),this._removeClass(this.icon,null,"ui-wiget-icon-block"),this._attachIconSpace(n))},_destroy:function(){this.element.removeAttr("role"),this.icon&&this.icon.remove(),this.iconSpace&&this.iconSpace.remove(),this.hasTitle||this.element.removeAttr("title")},_attachIconSpace:function(t){this.icon[/^(?:end|bottom)/.test(t)?"before":"after"](this.iconSpace)},_attachIcon:function(t){this.element[/^(?:end|bottom)/.test(t)?"append":"prepend"](this.icon)},_setOptions:function(t){var e=void 0===t.showLabel?this.options.showLabel:t.showLabel,i=void 0===t.icon?this.options.icon:t.icon;e||i||(t.showLabel=!0),this._super(t)},_setOption:function(t,e){"icon"===t&&(e?this._updateIcon(t,e):this.icon&&(this.icon.remove(),this.iconSpace&&this.iconSpace.remove())),"iconPosition"===t&&this._updateIcon(t,e),"showLabel"===t&&(this._toggleClass("ui-button-icon-only",null,!e),this._updateTooltip()),"label"===t&&(this.isInput?this.element.val(e):(this.element.html(e),this.icon&&(this._attachIcon(this.options.iconPosition),this._attachIconSpace(this.options.iconPosition)))),this._super(t,e),"disabled"===t&&(this._toggleClass(null,"ui-state-disabled",e),this.element[0].disabled=e,e&&this.element.blur())},refresh:function(){var t=this.element.is("input, button")?this.element[0].disabled:this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOptions({disabled:t}),this._updateTooltip()}}),t.uiBackCompat!==!1&&(t.widget("ui.button",t.ui.button,{options:{text:!0,icons:{primary:null,secondary:null}},_create:function(){this.options.showLabel&&!this.options.text&&(this.options.showLabel=this.options.text),!this.options.showLabel&&this.options.text&&(this.options.text=this.options.showLabel),this.options.icon||!this.options.icons.primary&&!this.options.icons.secondary?this.options.icon&&(this.options.icons.primary=this.options.icon):this.options.icons.primary?this.options.icon=this.options.icons.primary:(this.options.icon=this.options.icons.secondary,this.options.iconPosition="end"),this._super()},_setOption:function(t,e){return"text"===t?(this._super("showLabel",e),void 0):("showLabel"===t&&(this.options.text=e),"icon"===t&&(this.options.icons.primary=e),"icons"===t&&(e.primary?(this._super("icon",e.primary),this._super("iconPosition","beginning")):e.secondary&&(this._super("icon",e.secondary),this._super("iconPosition","end"))),this._superApply(arguments),void 0)}}),t.fn.button=function(e){return function(){return!this.length||this.length&&"INPUT"!==this[0].tagName||this.length&&"INPUT"===this[0].tagName&&"checkbox"!==this.attr("type")&&"radio"!==this.attr("type")?e.apply(this,arguments):(t.ui.checkboxradio||t.error("Checkboxradio widget missing"),0===arguments.length?this.checkboxradio({icon:!1}):this.checkboxradio.apply(this,arguments))}}(t.fn.button),t.fn.buttonset=function(){return t.ui.controlgroup||t.error("Controlgroup widget missing"),"option"===arguments[0]&&"items"===arguments[1]&&arguments[2]?this.controlgroup.apply(this,[arguments[0],"items.button",arguments[2]]):"option"===arguments[0]&&"items"===arguments[1]?this.controlgroup.apply(this,[arguments[0],"items.button"]):("object"==typeof arguments[0]&&arguments[0].items&&(arguments[0].items={button:arguments[0].items}),this.controlgroup.apply(this,arguments))}),t.ui.button,t.extend(t.ui,{datepicker:{version:"1.12.1"}});var m;t.extend(s.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return a(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var s,n,o;s=e.nodeName.toLowerCase(),n="div"===s||"span"===s,e.id||(this.uuid+=1,e.id="dp"+this.uuid),o=this._newInst(t(e),n),o.settings=t.extend({},i||{}),"input"===s?this._connectDatepicker(e,o):n&&this._inlineDatepicker(e,o)},_newInst:function(e,i){var s=e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:s,input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?n(t("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(e,i){var s=t(e);i.append=t([]),i.trigger=t([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).on("keydown",this._doKeyDown).on("keypress",this._doKeyPress).on("keyup",this._doKeyUp),this._autoSize(i),t.data(e,"datepicker",i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var s,n,o,a=this._get(i,"appendText"),r=this._get(i,"isRTL");i.append&&i.append.remove(),a&&(i.append=t("<span class='"+this._appendClass+"'>"+a+"</span>"),e[r?"before":"after"](i.append)),e.off("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&e.on("focus",this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),o=this._get(i,"buttonImage"),i.trigger=t(this._get(i,"buttonImageOnly")?t("<img/>").addClass(this._triggerClass).attr({src:o,alt:n,title:n}):t("<button type='button'></button>").addClass(this._triggerClass).html(o?t("<img/>").attr({src:o,alt:n,title:n}):n)),e[r?"before":"after"](i.trigger),i.trigger.on("click",function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,o=new Date(2009,11,20),a=this._get(t,"dateFormat");a.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},o.setMonth(e(this._get(t,a.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,a.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,n,o){var r,h,l,c,u,d=this._dialogInst;return d||(this.uuid+=1,r="dp"+this.uuid,this._dialogInput=t("<input type='text' id='"+r+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.on("keydown",this._doKeyDown),t("body").append(this._dialogInput),d=this._dialogInst=this._newInst(this._dialogInput,!1),d.settings={},t.data(this._dialogInput[0],"datepicker",d)),a(d.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(d,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(h=document.documentElement.clientWidth,l=document.documentElement.clientHeight,c=document.documentElement.scrollLeft||document.body.scrollLeft,u=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[h/2-100+c,l/2-150+u]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),d.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],"datepicker",d),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,"datepicker");s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty(),m===n&&(m=null))},_enableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,o.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,o.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,"datepicker")}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(e,i,s){var n,o,r,h,l=this._getInst(e);return 2===arguments.length&&"string"==typeof i?"defaults"===i?t.extend({},t.datepicker._defaults):l?"all"===i?t.extend({},l.settings):this._get(l,i):null:(n=i||{},"string"==typeof i&&(n={},n[i]=s),l&&(this._curInst===l&&this._hideDatepicker(),o=this._getDateDatepicker(e,!0),r=this._getMinMaxDate(l,"min"),h=this._getMinMaxDate(l,"max"),a(l.settings,n),null!==r&&void 0!==n.dateFormat&&void 0===n.minDate&&(l.settings.minDate=this._formatDate(l,r)),null!==h&&void 0!==n.dateFormat&&void 0===n.maxDate&&(l.settings.maxDate=this._formatDate(l,h)),"disabled"in n&&(n.disabled?this._disableDatepicker(e):this._enableDatepicker(e)),this._attachments(t(e),l),this._autoSize(l),this._setDate(l,o),this._updateAlternate(l),this._updateDatepicker(l)),void 0)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,o=t.datepicker._getInst(e.target),a=!0,r=o.dpDiv.is(".ui-datepicker-rtl");if(o._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),a=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",o.dpDiv),n[0]&&t.datepicker._selectDay(e.target,o.selectedMonth,o.selectedYear,n[0]),i=t.datepicker._get(o,"onSelect"),i?(s=t.datepicker._formatDate(o),i.apply(o.input?o.input[0]:null,[s,o])):t.datepicker._hideDatepicker(),!1;case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),a=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),a=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?1:-1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),a=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?-1:1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),a=e.ctrlKey||e.metaKey;break;default:a=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):a=!1;a&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(e){var i,s,n=t.datepicker._getInst(e.target);return t.datepicker._get(n,"constrainInput")?(i=t.datepicker._possibleChars(t.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),e.ctrlKey||e.metaKey||" ">s||!i||i.indexOf(s)>-1):void 0},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(e){if(e=e.target||e,"input"!==e.nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),!t.datepicker._isDisabledDatepicker(e)&&t.datepicker._lastInput!==e){var s,n,o,r,h,l,c;s=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==s&&(t.datepicker._curInst.dpDiv.stop(!0,!0),s&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),n=t.datepicker._get(s,"beforeShow"),o=n?n.apply(e,[e,s]):{},o!==!1&&(a(s.settings,o),s.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(s),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),r=!1,t(e).parents().each(function(){return r|="fixed"===t(this).css("position"),!r}),h={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,s.dpDiv.empty(),s.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(s),h=t.datepicker._checkOffset(s,h,r),s.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":r?"fixed":"absolute",display:"none",left:h.left+"px",top:h.top+"px"}),s.inline||(l=t.datepicker._get(s,"showAnim"),c=t.datepicker._get(s,"duration"),s.dpDiv.css("z-index",i(t(e))+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[l]?s.dpDiv.show(l,t.datepicker._get(s,"showOptions"),c):s.dpDiv[l||"show"](l?c:null),t.datepicker._shouldFocusInput(s)&&s.input.trigger("focus"),t.datepicker._curInst=s)) +}},_updateDatepicker:function(e){this.maxRows=4,m=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var i,s=this._getNumberOfMonths(e),n=s[1],a=17,r=e.dpDiv.find("."+this._dayOverClass+" a");r.length>0&&o.apply(r.get(0)),e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",a*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.trigger("focus"),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),o=e.dpDiv.outerHeight(),a=e.input?e.input.outerWidth():0,r=e.input?e.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-a:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+r?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+o>l&&l>o?Math.abs(o+r):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,o,a=this._curInst;!a||e&&a!==t.data(e,"datepicker")||this._datepickerShowing&&(i=this._get(a,"showAnim"),s=this._get(a,"duration"),n=function(){t.datepicker._tidyDialog(a)},t.effects&&(t.effects.effect[i]||t.effects[i])?a.dpDiv.hide(i,t.datepicker._get(a,"showOptions"),s,n):a.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,o=this._get(a,"onClose"),o&&o.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),o=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(o,i+("M"===s?this._get(o,"showCurrentAtPos"):0),s),this._updateDatepicker(o))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),o=this._getInst(n[0]);o["selected"+("M"===s?"Month":"Year")]=o["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(o),this._adjustDate(n)},_selectDay:function(e,i,s,n){var o,a=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(a[0])||(o=this._getInst(a[0]),o.selectedDay=o.currentDay=t("a",n).html(),o.selectedMonth=o.currentMonth=i,o.selectedYear=o.currentYear=s,this._selectDate(e,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),o=this._getInst(n[0]);i=null!=i?i:this._formatDate(o),o.input&&o.input.val(i),this._updateAlternate(o),s=this._get(o,"onSelect"),s?s.apply(o.input?o.input[0]:null,[i,o]):o.input&&o.input.trigger("change"),o.inline?this._updateDatepicker(o):(this._hideDatepicker(),this._lastInput=o.input[0],"object"!=typeof o.input[0]&&o.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,o=this._get(e,"altField");o&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(o).val(n))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(e,i,s){if(null==e||null==i)throw"Invalid arguments";if(i="object"==typeof i?""+i:i+"",""===i)return null;var n,o,a,r,h=0,l=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,c="string"!=typeof l?l:(new Date).getFullYear()%100+parseInt(l,10),u=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,d=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,g=-1,m=-1,_=-1,v=-1,b=!1,y=function(t){var i=e.length>n+1&&e.charAt(n+1)===t;return i&&n++,i},w=function(t){var e=y(t),s="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n="y"===t?s:1,o=RegExp("^\\d{"+n+","+s+"}"),a=i.substring(h).match(o);if(!a)throw"Missing number at position "+h;return h+=a[0].length,parseInt(a[0],10)},k=function(e,s,n){var o=-1,a=t.map(y(e)?n:s,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(a,function(t,e){var s=e[1];return i.substr(h,s.length).toLowerCase()===s.toLowerCase()?(o=e[0],h+=s.length,!1):void 0}),-1!==o)return o+1;throw"Unknown name at position "+h},x=function(){if(i.charAt(h)!==e.charAt(n))throw"Unexpected literal at position "+h;h++};for(n=0;e.length>n;n++)if(b)"'"!==e.charAt(n)||y("'")?x():b=!1;else switch(e.charAt(n)){case"d":_=w("d");break;case"D":k("D",u,d);break;case"o":v=w("o");break;case"m":m=w("m");break;case"M":m=k("M",p,f);break;case"y":g=w("y");break;case"@":r=new Date(w("@")),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"!":r=new Date((w("!")-this._ticksTo1970)/1e4),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"'":y("'")?x():b=!0;break;default:x()}if(i.length>h&&(a=i.substr(h),!/^\s+/.test(a)))throw"Extra/unparsed characters found in date: "+a;if(-1===g?g=(new Date).getFullYear():100>g&&(g+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c>=g?0:-100)),v>-1)for(m=1,_=v;;){if(o=this._getDaysInMonth(g,m-1),o>=_)break;m++,_-=o}if(r=this._daylightSavingAdjust(new Date(g,m-1,_)),r.getFullYear()!==g||r.getMonth()+1!==m||r.getDate()!==_)throw"Invalid date";return r},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,o=(i?i.dayNames:null)||this._defaults.dayNames,a=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},l=function(t,e,i){var s=""+e;if(h(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return h(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||h("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=l("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,o);break;case"o":u+=l("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=l("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),a,r);break;case"y":u+=h("y")?e.getFullYear():(10>e.getFullYear()%100?"0":"")+e.getFullYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":h("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,e){return void 0!==t.settings[e]?t.settings[e]:this._defaults[e]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),o=n,a=this._getFormatConfig(t);try{o=this.parseDate(i,s,a)||n}catch(r){s=e?"":s}t.selectedDay=o.getDate(),t.drawMonth=t.selectedMonth=o.getMonth(),t.drawYear=t.selectedYear=o.getFullYear(),t.currentDay=s?o.getDate():0,t.currentMonth=s?o.getMonth():0,t.currentYear=s?o.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},o=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,o=n.getFullYear(),a=n.getMonth(),r=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":r+=parseInt(l[1],10);break;case"w":case"W":r+=7*parseInt(l[1],10);break;case"m":case"M":a+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a));break;case"y":case"Y":o+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a))}l=h.exec(i)}return new Date(o,a,r)},a=null==i||""===i?s:"string"==typeof i?o(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return a=a&&"Invalid Date"==""+a?s:a,a&&(a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)),this._daylightSavingAdjust(a)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,o=t.selectedYear,a=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=a.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=a.getMonth(),t.drawYear=t.selectedYear=t.currentYear=a.getFullYear(),n===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).on(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,o,a,r,h,l,c,u,d,p,f,g,m,_,v,b,y,w,k,x,C,D,I,T,P,M,S,H,z,O,A,N,W,E,F,L,R=new Date,B=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),Y=this._get(t,"isRTL"),j=this._get(t,"showButtonPanel"),q=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),U=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),$=this._get(t,"stepMonths"),X=1!==U[0]||1!==U[1],G=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),Q=this._getMinMaxDate(t,"min"),J=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,te=t.drawYear;if(0>Z&&(Z+=12,te--),J)for(e=this._daylightSavingAdjust(new Date(J.getFullYear(),J.getMonth()-U[0]*U[1]+1,J.getDate())),e=Q&&Q>e?Q:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-$,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":q?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+$,1)),this._getFormatConfig(t)):n,o=this._canAdjustMonth(t,1,te,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>":q?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>",a=this._get(t,"currentText"),r=this._get(t,"gotoCurrent")&&t.currentDay?G:B,a=K?this.formatDate(a,r,this._getFormatConfig(t)):a,h=t.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(t,"closeText")+"</button>",l=j?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(t,r)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+a+"</button>":"")+(Y?"":h)+"</div>":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),g=this._get(t,"monthNamesShort"),m=this._get(t,"beforeShowDay"),_=this._get(t,"showOtherMonths"),v=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;U[0]>k;k++){for(x="",this.maxRows=4,C=0;U[1]>C;C++){if(D=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),I=" ui-corner-all",T="",X){if(T+="<div class='ui-datepicker-group",U[1]>1)switch(C){case 0:T+=" ui-datepicker-group-first",I=" ui-corner-"+(Y?"right":"left");break;case U[1]-1:T+=" ui-datepicker-group-last",I=" ui-corner-"+(Y?"left":"right");break;default:T+=" ui-datepicker-group-middle",I=""}T+="'>"}for(T+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+I+"'>"+(/all|left/.test(I)&&0===k?Y?o:s:"")+(/all|right/.test(I)&&0===k?Y?s:o:"")+this._generateMonthYearHeader(t,Z,te,Q,J,k>0||C>0,f,g)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",P=u?"<th class='ui-datepicker-week-col'>"+this._get(t,"weekHeader")+"</th>":"",w=0;7>w;w++)M=(w+c)%7,P+="<th scope='col'"+((w+c+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+d[M]+"'>"+p[M]+"</span></th>";for(T+=P+"</tr></thead><tbody>",S=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,S)),H=(this._getFirstDayOfMonth(te,Z)-c+7)%7,z=Math.ceil((H+S)/7),O=X?this.maxRows>z?this.maxRows:z:z,this.maxRows=O,A=this._daylightSavingAdjust(new Date(te,Z,1-H)),N=0;O>N;N++){for(T+="<tr>",W=u?"<td class='ui-datepicker-week-col'>"+this._get(t,"calculateWeek")(A)+"</td>":"",w=0;7>w;w++)E=m?m.apply(t.input?t.input[0]:null,[A]):[!0,""],F=A.getMonth()!==Z,L=F&&!v||!E[0]||Q&&Q>A||J&&A>J,W+="<td class='"+((w+c+6)%7>=5?" ui-datepicker-week-end":"")+(F?" ui-datepicker-other-month":"")+(A.getTime()===D.getTime()&&Z===t.selectedMonth&&t._keyEvent||b.getTime()===A.getTime()&&b.getTime()===D.getTime()?" "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" ui-state-disabled":"")+(F&&!_?"":" "+E[1]+(A.getTime()===G.getTime()?" "+this._currentClass:"")+(A.getTime()===B.getTime()?" ui-datepicker-today":""))+"'"+(F&&!_||!E[2]?"":" title='"+E[2].replace(/'/g,"'")+"'")+(L?"":" data-handler='selectDay' data-event='click' data-month='"+A.getMonth()+"' data-year='"+A.getFullYear()+"'")+">"+(F&&!_?" ":L?"<span class='ui-state-default'>"+A.getDate()+"</span>":"<a class='ui-state-default"+(A.getTime()===B.getTime()?" ui-state-highlight":"")+(A.getTime()===G.getTime()?" ui-state-active":"")+(F?" ui-priority-secondary":"")+"' href='#'>"+A.getDate()+"</a>")+"</td>",A.setDate(A.getDate()+1),A=this._daylightSavingAdjust(A);T+=W+"</tr>"}Z++,Z>11&&(Z=0,te++),T+="</tbody></table>"+(X?"</div>"+(U[0]>0&&C===U[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),x+=T}y+=x}return y+=l,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,o,a,r){var h,l,c,u,d,p,f,g,m=this._get(t,"changeMonth"),_=this._get(t,"changeYear"),v=this._get(t,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",y="";if(o||!m)y+="<span class='ui-datepicker-month'>"+a[e]+"</span>";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",c=0;12>c;c++)(!h||c>=s.getMonth())&&(!l||n.getMonth()>=c)&&(y+="<option value='"+c+"'"+(c===e?" selected='selected'":"")+">"+r[c]+"</option>");y+="</select>"}if(v||(b+=y+(!o&&m&&_?"":" ")),!t.yearshtml)if(t.yearshtml="",o||!_)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e},f=p(u[0]),g=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,g=n?Math.min(g,n.getFullYear()):g,t.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";g>=f;f++)t.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";t.yearshtml+="</select>",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),v&&(b+=(!o&&m&&_?"":" ")+y),b+="</div>"},_adjustInstDate:function(t,e,i){var s=t.selectedYear+("Y"===i?e:0),n=t.selectedMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),a=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,o)));t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),a=null,r=null,h=this._get(t,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),a=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(a+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||e.getTime()>=n.getTime())&&(!o||e.getTime()<=o.getTime())&&(!a||e.getFullYear()>=a)&&(!r||r>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new s,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.12.1",t.datepicker,t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var _=!1;t(document).on("mouseup",function(){_=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!_){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,n="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),_=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,_=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.ui.safeBlur=function(e){e&&"body"!==e.nodeName.toLowerCase()&&t(e).trigger("blur")},t.widget("ui.draggable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(t,e){this._super(t,e),"handle"===t&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(e){var i=this.options;return this.helper||i.disabled||t(e.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(e),this.handle?(this._blurActiveElement(e),this._blockFrames(i.iframeFix===!0?"iframe":i.iframeFix),!0):!1)},_blockFrames:function(e){this.iframeBlocks=this.document.find(e).map(function(){var e=t(this);return t("<div>").css("position","absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(e){var i=t.ui.safeActiveElement(this.document[0]),s=t(e.target);s.closest(i).length||t.ui.safeBlur(i)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===t(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(e),this.originalPosition=this.position=this._generatePosition(e,!1),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",e)===!1?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(e,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",e,s)===!1)return this._mouseUp(new t.Event("mouseup",e)),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,s=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(s=t.ui.ddmanager.drop(this,e)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",e)!==!1&&i._clear()}):this._trigger("stop",e)!==!1&&this._clear(),!1},_mouseUp:function(e){return this._unblockFrames(),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),this.handleElement.is(e.target)&&this.element.trigger("focus"),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new t.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(e){return this.options.handle?!!t(e.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper),n=s?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var e=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var t=this.element.position(),e=this._isRootNode(this.scrollParent[0]);return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())} +},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options,o=this.document[0];return this.relativeContainer=null,n.containment?"window"===n.containment?(this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,t(o).width()-this.helperProportions.width-this.margins.left,(t(o).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=t(n.containment),s=i[0],s&&(e=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0)},_convertPositionTo:function(t,e){e||(e=this.position);var i="absolute"===t?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:e.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(t,e){var i,s,n,o,a=this.options,r=this._isRootNode(this.scrollParent[0]),h=t.pageX,l=t.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),e&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.left<i[0]&&(h=i[0]+this.offset.click.left),t.pageY-this.offset.click.top<i[1]&&(l=i[1]+this.offset.click.top),t.pageX-this.offset.click.left>i[2]&&(h=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),a.grid&&(n=a.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/a.grid[1])*a.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-a.grid[1]:n+a.grid[1]:n,o=a.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/a.grid[0])*a.grid[0]:this.originalPageX,h=i?o-this.offset.click.left>=i[0]||o-this.offset.click.left>i[2]?o:o-this.offset.click.left>=i[0]?o-a.grid[0]:o+a.grid[0]:o),"y"===a.axis&&(h=this.originalPageX),"x"===a.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s,this],!0),/^(drag|start|stop)/.test(e)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i,s){var n=t.extend({},i,{item:s.element});s.sortables=[],t(s.options.connectToSortable).each(function(){var i=t(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",e,n))})},stop:function(e,i,s){var n=t.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,t.each(s.sortables,function(){var t=this;t.isOver?(t.isOver=0,s.cancelHelperRemoval=!0,t.cancelHelperRemoval=!1,t._storedCSS={position:t.placeholder.css("position"),top:t.placeholder.css("top"),left:t.placeholder.css("left")},t._mouseStop(e),t.options.helper=t.options._helper):(t.cancelHelperRemoval=!0,t._trigger("deactivate",e,n))})},drag:function(e,i,s){t.each(s.sortables,function(){var n=!1,o=this;o.positionAbs=s.positionAbs,o.helperProportions=s.helperProportions,o.offset.click=s.offset.click,o._intersectsWith(o.containerCache)&&(n=!0,t.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==o&&this._intersectsWith(this.containerCache)&&t.contains(o.element[0],this.element[0])&&(n=!1),n})),n?(o.isOver||(o.isOver=1,s._parent=i.helper.parent(),o.currentItem=i.helper.appendTo(o.element).data("ui-sortable-item",!0),o.options._helper=o.options.helper,o.options.helper=function(){return i.helper[0]},e.target=o.currentItem[0],o._mouseCapture(e,!0),o._mouseStart(e,!0,!0),o.offset.click.top=s.offset.click.top,o.offset.click.left=s.offset.click.left,o.offset.parent.left-=s.offset.parent.left-o.offset.parent.left,o.offset.parent.top-=s.offset.parent.top-o.offset.parent.top,s._trigger("toSortable",e),s.dropped=o.element,t.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,o.fromOutside=s),o.currentItem&&(o._mouseDrag(e),i.position=o.position)):o.isOver&&(o.isOver=0,o.cancelHelperRemoval=!0,o.options._revert=o.options.revert,o.options.revert=!1,o._trigger("out",e,o._uiHash(o)),o._mouseStop(e,!0),o.options.revert=o.options._revert,o.options.helper=o.options._helper,o.placeholder&&o.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(e),i.position=s._generatePosition(e,!0),s._trigger("fromSortable",e),s.dropped=!1,t.each(s.sortables,function(){this.refreshPositions()}))})}}),t.ui.plugin.add("draggable","cursor",{start:function(e,i,s){var n=t("body"),o=s.options;n.css("cursor")&&(o._cursor=n.css("cursor")),n.css("cursor",o.cursor)},stop:function(e,i,s){var n=s.options;n._cursor&&t("body").css("cursor",n._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("opacity")&&(o._opacity=n.css("opacity")),n.css("opacity",o.opacity)},stop:function(e,i,s){var n=s.options;n._opacity&&t(i.helper).css("opacity",n._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(t,e,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(e,i,s){var n=s.options,o=!1,a=s.scrollParentNotHidden[0],r=s.document[0];a!==r&&"HTML"!==a.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+a.offsetHeight-e.pageY<n.scrollSensitivity?a.scrollTop=o=a.scrollTop+n.scrollSpeed:e.pageY-s.overflowOffset.top<n.scrollSensitivity&&(a.scrollTop=o=a.scrollTop-n.scrollSpeed)),n.axis&&"y"===n.axis||(s.overflowOffset.left+a.offsetWidth-e.pageX<n.scrollSensitivity?a.scrollLeft=o=a.scrollLeft+n.scrollSpeed:e.pageX-s.overflowOffset.left<n.scrollSensitivity&&(a.scrollLeft=o=a.scrollLeft-n.scrollSpeed))):(n.axis&&"x"===n.axis||(e.pageY-t(r).scrollTop()<n.scrollSensitivity?o=t(r).scrollTop(t(r).scrollTop()-n.scrollSpeed):t(window).height()-(e.pageY-t(r).scrollTop())<n.scrollSensitivity&&(o=t(r).scrollTop(t(r).scrollTop()+n.scrollSpeed))),n.axis&&"y"===n.axis||(e.pageX-t(r).scrollLeft()<n.scrollSensitivity?o=t(r).scrollLeft(t(r).scrollLeft()-n.scrollSpeed):t(window).width()-(e.pageX-t(r).scrollLeft())<n.scrollSensitivity&&(o=t(r).scrollLeft(t(r).scrollLeft()+n.scrollSpeed)))),o!==!1&&t.ui.ddmanager&&!n.dropBehaviour&&t.ui.ddmanager.prepareOffsets(s,e)}}),t.ui.plugin.add("draggable","snap",{start:function(e,i,s){var n=s.options;s.snapElements=[],t(n.snap.constructor!==String?n.snap.items||":data(ui-draggable)":n.snap).each(function(){var e=t(this),i=e.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:e.outerWidth(),height:e.outerHeight(),top:i.top,left:i.left})})},drag:function(e,i,s){var n,o,a,r,h,l,c,u,d,p,f=s.options,g=f.snapTolerance,m=i.offset.left,_=m+s.helperProportions.width,v=i.offset.top,b=v+s.helperProportions.height;for(d=s.snapElements.length-1;d>=0;d--)h=s.snapElements[d].left-s.margins.left,l=h+s.snapElements[d].width,c=s.snapElements[d].top-s.margins.top,u=c+s.snapElements[d].height,h-g>_||m>l+g||c-g>b||v>u+g||!t.contains(s.snapElements[d].item.ownerDocument,s.snapElements[d].item)?(s.snapElements[d].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=!1):("inner"!==f.snapMode&&(n=g>=Math.abs(c-b),o=g>=Math.abs(u-v),a=g>=Math.abs(h-_),r=g>=Math.abs(l-m),n&&(i.position.top=s._convertPositionTo("relative",{top:c-s.helperProportions.height,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left)),p=n||o||a||r,"outer"!==f.snapMode&&(n=g>=Math.abs(c-v),o=g>=Math.abs(u-b),a=g>=Math.abs(h-m),r=g>=Math.abs(l-_),n&&(i.position.top=s._convertPositionTo("relative",{top:c,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[d].snapping&&(n||o||a||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=n||o||a||r||p)}}),t.ui.plugin.add("draggable","stack",{start:function(e,i,s){var n,o=s.options,a=t.makeArray(t(o.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});a.length&&(n=parseInt(t(a[0]).css("zIndex"),10)||0,t(a).each(function(e){t(this).css("zIndex",n+e)}),this.css("zIndex",n+a.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("zIndex")&&(o._zIndex=n.css("zIndex")),n.css("zIndex",o.zIndex)},stop:function(e,i,s){var n=s.options;n._zIndex&&t(i.helper).css("zIndex",n._zIndex)}}),t.ui.draggable,t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("<div>"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,g=s.maxWidth&&p>s.maxWidth,m=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),g&&(p-=l),m&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable,t.widget("ui.dialog",{version:"1.12.1",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;0>i&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),t=e.parent.children().eq(e.index),t.length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog +},disable:t.noop,enable:t.noop,close:function(e){var i=this;this._isOpen&&this._trigger("beforeClose",e)!==!1&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||t.ui.safeBlur(t.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",e)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(e,i){var s=!1,n=this.uiDialog.siblings(".ui-front:visible").map(function(){return+t(this).css("z-index")}).get(),o=Math.max.apply(null,n);return o>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",o+1),s=!0),s&&!i&&this._trigger("focus",e),s},open:function(){var e=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),void 0):(this._isOpen=!0,this.opener=t(t.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"),void 0)},_focusTabbable:function(){var t=this._focusedElement;t||(t=this.element.find("[autofocus]")),t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).trigger("focus")},_keepFocus:function(e){function i(){var e=t.ui.safeActiveElement(this.document[0]),i=this.uiDialog[0]===e||t.contains(this.uiDialog[0],e);i||this._focusTabbable()}e.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=t("<div>").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),this.close(e),void 0;if(e.keyCode===t.ui.keyCode.TAB&&!e.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");e.target!==n[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==s[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(this._delay(function(){n.trigger("focus")}),e.preventDefault()):(this._delay(function(){s.trigger("focus")}),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("<div>"),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=t("<button type='button'></button>").button({label:t("<a>").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("<span>").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(e,"ui-dialog-title"),this._title(e),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title?t.text(this.options.title):t.html(" ")},_createButtonPane:function(){this.uiDialogButtonPane=t("<div>"),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("<div>").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||t.isArray(i)&&!i.length?(this._removeClass(this.uiDialog,"ui-dialog-buttons"),void 0):(t.each(i,function(i,s){var n,o;s=t.isFunction(s)?{click:s,text:i}:s,s=t.extend({type:"button"},s),n=s.click,o={icon:s.icon,iconPosition:s.iconPosition,showLabel:s.showLabel,icons:s.icons,text:s.text},delete s.click,delete s.icon,delete s.iconPosition,delete s.showLabel,delete s.icons,"boolean"==typeof s.text&&delete s.text,t("<button></button>",s).button(o).appendTo(e.uiButtonSet).on("click",function(){n.apply(e.element[0],arguments)})}),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),void 0)},_makeDraggable:function(){function e(t){return{position:t.position,offset:t.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){i._addClass(t(this),"ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,e(n))},drag:function(t,s){i._trigger("drag",t,e(s))},stop:function(n,o){var a=o.offset.left-i.document.scrollLeft(),r=o.offset.top-i.document.scrollTop();s.position={my:"left top",at:"left"+(a>=0?"+":"")+a+" "+"top"+(r>=0?"+":"")+r,of:i.window},i._removeClass(t(this),"ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,e(o))}})},_makeResizable:function(){function e(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}var i=this,s=this.options,n=s.resizable,o=this.uiDialog.css("position"),a="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:a,start:function(s,n){i._addClass(t(this),"ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,e(n))},resize:function(t,s){i._trigger("resize",t,e(s))},stop:function(n,o){var a=i.uiDialog.offset(),r=a.left-i.document.scrollLeft(),h=a.top-i.document.scrollTop();s.height=i.uiDialog.height(),s.width=i.uiDialog.width(),s.position={my:"left top",at:"left"+(r>=0?"+":"")+r+" "+"top"+(h>=0?"+":"")+h,of:i.window},i._removeClass(t(this),"ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,e(o))}}).css("position",o)},_trackFocus:function(){this._on(this.widget(),{focusin:function(e){this._makeFocusTarget(),this._focusedElement=t(e.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var e=this._trackingInstances(),i=t.inArray(this,e);-1!==i&&e.splice(i,1)},_trackingInstances:function(){var t=this.document.data("ui-dialog-instances");return t||(t=[],this.document.data("ui-dialog-instances",t)),t},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(e){var i=this,s=!1,n={};t.each(e,function(t,e){i._setOption(t,e),t in i.sizeRelatedOptions&&(s=!0),t in i.resizableRelatedOptions&&(n[t]=e)}),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(e,i){var s,n,o=this.uiDialog;"disabled"!==e&&(this._super(e,i),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:t("<a>").text(""+this.options.closeText).html()}),"draggable"===e&&(s=o.is(":data(ui-draggable)"),s&&!i&&o.draggable("destroy"),!s&&i&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&(n=o.is(":data(ui-resizable)"),n&&!i&&o.resizable("destroy"),n&&"string"==typeof i&&o.resizable("option","handles",i),n||i===!1||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),e=Math.max(0,s.minHeight-t),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=t(this);return t("<div>").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return t(e.target).closest(".ui-dialog").length?!0:!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=!0;this._delay(function(){e=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(t){e||this._allowInteraction(t)||(t.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=t("<div>").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var t=this.document.data("ui-dialog-overlays")-1;t?this.document.data("ui-dialog-overlays",t):(this._off(this.document,"focusin"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null}}}),t.uiBackCompat!==!1&&t.widget("ui.dialog",t.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(t,e){"dialogClass"===t&&this.uiDialog.removeClass(this.options.dialogClass).addClass(e),this._superApply(arguments)}}),t.ui.dialog,t.widget("ui.droppable",{version:"1.12.1",widgetEventPrefix:"drop",options:{accept:"*",addClasses:!0,greedy:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=t.isFunction(s)?s:function(t){return t.is(s)},this.proportions=function(){return arguments.length?(e=arguments[0],void 0):e?e:e={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(i.scope),i.addClasses&&this._addClass("ui-droppable")},_addToManager:function(e){t.ui.ddmanager.droppables[e]=t.ui.ddmanager.droppables[e]||[],t.ui.ddmanager.droppables[e].push(this)},_splice:function(t){for(var e=0;t.length>e;e++)t[e]===this&&t.splice(e,1)},_destroy:function(){var e=t.ui.ddmanager.droppables[this.options.scope];this._splice(e)},_setOption:function(e,i){if("accept"===e)this.accept=t.isFunction(i)?i:function(t){return t.is(i)};else if("scope"===e){var s=t.ui.ddmanager.droppables[this.options.scope];this._splice(s),this._addToManager(i)}this._super(e,i)},_activate:function(e){var i=t.ui.ddmanager.current;this._addActiveClass(),i&&this._trigger("activate",e,this.ui(i))},_deactivate:function(e){var i=t.ui.ddmanager.current;this._removeActiveClass(),i&&this._trigger("deactivate",e,this.ui(i))},_over:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this._addHoverClass(),this._trigger("over",e,this.ui(i)))},_out:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this._removeHoverClass(),this._trigger("out",e,this.ui(i)))},_drop:function(e,i){var s=i||t.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var i=t(this).droppable("instance");return i.options.greedy&&!i.options.disabled&&i.options.scope===s.options.scope&&i.accept.call(i.element[0],s.currentItem||s.element)&&v(s,t.extend(i,{offset:i.element.offset()}),i.options.tolerance,e)?(n=!0,!1):void 0}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this._removeActiveClass(),this._removeHoverClass(),this._trigger("drop",e,this.ui(s)),this.element):!1):!1},ui:function(t){return{draggable:t.currentItem||t.element,helper:t.helper,position:t.position,offset:t.positionAbs}},_addHoverClass:function(){this._addClass("ui-droppable-hover")},_removeHoverClass:function(){this._removeClass("ui-droppable-hover")},_addActiveClass:function(){this._addClass("ui-droppable-active")},_removeActiveClass:function(){this._removeClass("ui-droppable-active")}});var v=t.ui.intersect=function(){function t(t,e,i){return t>=e&&e+i>t}return function(e,i,s,n){if(!i.offset)return!1;var o=(e.positionAbs||e.position.absolute).left+e.margins.left,a=(e.positionAbs||e.position.absolute).top+e.margins.top,r=o+e.helperProportions.width,h=a+e.helperProportions.height,l=i.offset.left,c=i.offset.top,u=l+i.proportions().width,d=c+i.proportions().height;switch(s){case"fit":return o>=l&&u>=r&&a>=c&&d>=h;case"intersect":return o+e.helperProportions.width/2>l&&u>r-e.helperProportions.width/2&&a+e.helperProportions.height/2>c&&d>h-e.helperProportions.height/2;case"pointer":return t(n.pageY,c,i.proportions().height)&&t(n.pageX,l,i.proportions().width);case"touch":return(a>=c&&d>=a||h>=c&&d>=h||c>a&&h>d)&&(o>=l&&u>=o||r>=l&&u>=r||l>o&&r>u);default:return!1}}}();t.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,i){var s,n,o=t.ui.ddmanager.droppables[e.options.scope]||[],a=i?i.type:null,r=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(s=0;o.length>s;s++)if(!(o[s].options.disabled||e&&!o[s].accept.call(o[s].element[0],e.currentItem||e.element))){for(n=0;r.length>n;n++)if(r[n]===o[s].element[0]){o[s].proportions().height=0;continue t}o[s].visible="none"!==o[s].element.css("display"),o[s].visible&&("mousedown"===a&&o[s]._activate.call(o[s],i),o[s].offset=o[s].element.offset(),o[s].proportions({width:o[s].element[0].offsetWidth,height:o[s].element[0].offsetHeight}))}},drop:function(e,i){var s=!1;return t.each((t.ui.ddmanager.droppables[e.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&v(e,this,this.options.tolerance,i)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],e.currentItem||e.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(e,i){e.element.parentsUntil("body").on("scroll.droppable",function(){e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)})},drag:function(e,i){e.options.refreshPositions&&t.ui.ddmanager.prepareOffsets(e,i),t.each(t.ui.ddmanager.droppables[e.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,o,a=v(e,this,this.options.tolerance,i),r=!a&&this.isover?"isout":a&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,o=this.element.parents(":data(ui-droppable)").filter(function(){return t(this).droppable("instance").options.scope===n}),o.length&&(s=t(o[0]).droppable("instance"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(e,i){e.element.parentsUntil("body").off("scroll.droppable"),e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)}},t.uiBackCompat!==!1&&t.widget("ui.droppable",t.ui.droppable,{options:{hoverClass:!1,activeClass:!1},_addActiveClass:function(){this._super(),this.options.activeClass&&this.element.addClass(this.options.activeClass)},_removeActiveClass:function(){this._super(),this.options.activeClass&&this.element.removeClass(this.options.activeClass)},_addHoverClass:function(){this._super(),this.options.hoverClass&&this.element.addClass(this.options.hoverClass)},_removeHoverClass:function(){this._super(),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass)}}),t.ui.droppable,t.widget("ui.progressbar",{version:"1.12.1",options:{classes:{"ui-progressbar":"ui-corner-all","ui-progressbar-value":"ui-corner-left","ui-progressbar-complete":"ui-corner-right"},max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.attr({role:"progressbar","aria-valuemin":this.min}),this._addClass("ui-progressbar","ui-widget ui-widget-content"),this.valueDiv=t("<div>").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(t){return void 0===t?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),void 0)},_constrainedValue:function(t){return void 0===t&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).width(i.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,e===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("<div>").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}}),t.widget("ui.selectable",t.ui.mouse,{version:"1.12.1",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e=this;this._addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){e.elementPos=t(e.element[0]).offset(),e.selectees=t(e.options.filter,e.element[0]),e._addClass(e.selectees,"ui-selectee"),e.selectees.each(function(){var i=t(this),s=i.offset(),n={left:s.left-e.elementPos.left,top:s.top-e.elementPos.top};t.data(this,"selectable-item",{element:this,$element:i,left:n.left,top:n.top,right:n.left+i.outerWidth(),bottom:n.top+i.outerHeight(),startselected:!1,selected:i.hasClass("ui-selected"),selecting:i.hasClass("ui-selecting"),unselecting:i.hasClass("ui-unselecting")})})},this.refresh(),this._mouseInit(),this.helper=t("<div>"),this._addClass(this.helper,"ui-selectable-helper")},_destroy:function(){this.selectees.removeData("selectable-item"),this._mouseDestroy()},_mouseStart:function(e){var i=this,s=this.options;this.opos=[e.pageX,e.pageY],this.elementPos=t(this.element[0]).offset(),this.options.disabled||(this.selectees=t(s.filter,this.element[0]),this._trigger("start",e),t(s.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=t.data(this,"selectable-item");s.startselected=!0,e.metaKey||e.ctrlKey||(i._removeClass(s.$element,"ui-selected"),s.selected=!1,i._addClass(s.$element,"ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",e,{unselecting:s.element}))}),t(e.target).parents().addBack().each(function(){var s,n=t.data(this,"selectable-item");return n?(s=!e.metaKey&&!e.ctrlKey||!n.$element.hasClass("ui-selected"),i._removeClass(n.$element,s?"ui-unselecting":"ui-selected")._addClass(n.$element,s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",e,{selecting:n.element}):i._trigger("unselecting",e,{unselecting:n.element}),!1):void 0}))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,o=this.opos[0],a=this.opos[1],r=e.pageX,h=e.pageY;return o>r&&(i=r,r=o,o=i),a>h&&(i=h,h=a,a=i),this.helper.css({left:o,top:a,width:r-o,height:h-a}),this.selectees.each(function(){var i=t.data(this,"selectable-item"),l=!1,c={};i&&i.element!==s.element[0]&&(c.left=i.left+s.elementPos.left,c.right=i.right+s.elementPos.left,c.top=i.top+s.elementPos.top,c.bottom=i.bottom+s.elementPos.top,"touch"===n.tolerance?l=!(c.left>r||o>c.right||c.top>h||a>c.bottom):"fit"===n.tolerance&&(l=c.left>o&&r>c.right&&c.top>a&&h>c.bottom),l?(i.selected&&(s._removeClass(i.$element,"ui-selected"),i.selected=!1),i.unselecting&&(s._removeClass(i.$element,"ui-unselecting"),i.unselecting=!1),i.selecting||(s._addClass(i.$element,"ui-selecting"),i.selecting=!0,s._trigger("selecting",e,{selecting:i.element}))):(i.selecting&&((e.metaKey||e.ctrlKey)&&i.startselected?(s._removeClass(i.$element,"ui-selecting"),i.selecting=!1,s._addClass(i.$element,"ui-selected"),i.selected=!0):(s._removeClass(i.$element,"ui-selecting"),i.selecting=!1,i.startselected&&(s._addClass(i.$element,"ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",e,{unselecting:i.element}))),i.selected&&(e.metaKey||e.ctrlKey||i.startselected||(s._removeClass(i.$element,"ui-selected"),i.selected=!1,s._addClass(i.$element,"ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",e,{unselecting:i.element})))))}),!1}},_mouseStop:function(e){var i=this;return this.dragged=!1,t(".ui-unselecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");i._removeClass(s.$element,"ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",e,{unselected:s.element})}),t(".ui-selecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");i._removeClass(s.$element,"ui-selecting")._addClass(s.$element,"ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",e,{selected:s.element})}),this._trigger("stop",e),this.helper.remove(),!1}}),t.widget("ui.selectmenu",[t.ui.formResetMixin,{version:"1.12.1",defaultElement:"<select>",options:{appendTo:null,classes:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"},disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:!1,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr("id");this.ids={element:e,button:e+"-button",menu:e+"-menu"},this._drawButton(),this._drawMenu(),this._bindFormResetHandler(),this._rendered=!1,this.menuItems=t()},_drawButton:function(){var e,i=this,s=this._parseOption(this.element.find("option:selected"),this.element[0].selectedIndex);this.labels=this.element.labels().attr("for",this.ids.button),this._on(this.labels,{click:function(t){this.button.focus(),t.preventDefault()}}),this.element.hide(),this.button=t("<span>",{tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true",title:this.element.attr("title")}).insertAfter(this.element),this._addClass(this.button,"ui-selectmenu-button ui-selectmenu-button-closed","ui-button ui-widget"),e=t("<span>").appendTo(this.button),this._addClass(e,"ui-selectmenu-icon","ui-icon "+this.options.icons.button),this.buttonItem=this._renderButtonItem(s).appendTo(this.button),this.options.width!==!1&&this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){i._rendered||i._refreshMenu()})},_drawMenu:function(){var e=this;this.menu=t("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=t("<div>").append(this.menu),this._addClass(this.menuWrap,"ui-selectmenu-menu","ui-front"),this.menuWrap.appendTo(this._appendTo()),this.menuInstance=this.menu.menu({classes:{"ui-menu":"ui-corner-bottom"},role:"listbox",select:function(t,i){t.preventDefault(),e._setSelection(),e._select(i.item.data("ui-selectmenu-item"),t)},focus:function(t,i){var s=i.item.data("ui-selectmenu-item");null!=e.focusIndex&&s.index!==e.focusIndex&&(e._trigger("focus",t,{item:s}),e.isOpen||e._select(s,t)),e.focusIndex=s.index,e.button.attr("aria-activedescendant",e.menuItems.eq(s.index).attr("id"))}}).menu("instance"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(this._getSelectedItem().data("ui-selectmenu-item")||{})),null===this.options.width&&this._resizeButton()},_refreshMenu:function(){var t,e=this.element.find("option");this.menu.empty(),this._parseOptions(e),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup").find(".ui-menu-item-wrapper"),this._rendered=!0,e.length&&(t=this._getSelectedItem(),this.menuInstance.focus(null,t),this._setAria(t.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(t){this.options.disabled||(this._rendered?(this._removeClass(this.menu.find(".ui-state-active"),null,"ui-state-active"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.menuItems.length&&(this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",t)))},_position:function(){this.menuWrap.position(t.extend({of:this.button},this.options.position))},close:function(t){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",t))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderButtonItem:function(e){var i=t("<span>");return this._setText(i,e.label),this._addClass(i,"ui-selectmenu-text"),i},_renderMenu:function(e,i){var s=this,n="";t.each(i,function(i,o){var a;o.optgroup!==n&&(a=t("<li>",{text:o.optgroup}),s._addClass(a,"ui-selectmenu-optgroup","ui-menu-divider"+(o.element.parent("optgroup").prop("disabled")?" ui-state-disabled":"")),a.appendTo(e),n=o.optgroup),s._renderItemData(e,o)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-selectmenu-item",e)},_renderItem:function(e,i){var s=t("<li>"),n=t("<div>",{title:i.element.attr("title")});return i.disabled&&this._addClass(s,null,"ui-state-disabled"),this._setText(n,i.label),s.append(n).appendTo(e)},_setText:function(t,e){e?t.text(e):t.html(" ")},_move:function(t,e){var i,s,n=".ui-menu-item";this.isOpen?i=this.menuItems.eq(this.focusIndex).parent("li"):(i=this.menuItems.eq(this.element[0].selectedIndex).parent("li"),n+=":not(.ui-state-disabled)"),s="first"===t||"last"===t?i["first"===t?"prevAll":"nextAll"](n).eq(-1):i[t+"All"](n).eq(0),s.length&&this.menuInstance.focus(e,s)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex).parent("li")},_toggle:function(t){this[this.isOpen?"close":"open"](t)},_setSelection:function(){var t;this.range&&(window.getSelection?(t=window.getSelection(),t.removeAllRanges(),t.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(e){this.isOpen&&(t(e.target).closest(".ui-selectmenu-menu, #"+t.ui.escapeSelector(this.ids.button)).length||this.close(e))}},_buttonEvents:{mousedown:function(){var t;window.getSelection?(t=window.getSelection(),t.rangeCount&&(this.range=t.getRangeAt(0))):this.range=document.selection.createRange()},click:function(t){this._setSelection(),this._toggle(t)},keydown:function(e){var i=!0;switch(e.keyCode){case t.ui.keyCode.TAB:case t.ui.keyCode.ESCAPE:this.close(e),i=!1;break;case t.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(e);break;case t.ui.keyCode.UP:e.altKey?this._toggle(e):this._move("prev",e);break;case t.ui.keyCode.DOWN:e.altKey?this._toggle(e):this._move("next",e);break;case t.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(e):this._toggle(e);break;case t.ui.keyCode.LEFT:this._move("prev",e);break;case t.ui.keyCode.RIGHT:this._move("next",e);break;case t.ui.keyCode.HOME:case t.ui.keyCode.PAGE_UP:this._move("first",e);break;case t.ui.keyCode.END:case t.ui.keyCode.PAGE_DOWN:this._move("last",e);break;default:this.menu.trigger(e),i=!1}i&&e.preventDefault()}},_selectFocusedItem:function(t){var e=this.menuItems.eq(this.focusIndex).parent("li");e.hasClass("ui-state-disabled")||this._select(e.data("ui-selectmenu-item"),t)},_select:function(t,e){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=t.index,this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(t)),this._setAria(t),this._trigger("select",e,{item:t}),t.index!==i&&this._trigger("change",e,{item:t}),this.close(e)},_setAria:function(t){var e=this.menuItems.eq(t.index).attr("id");this.button.attr({"aria-labelledby":e,"aria-activedescendant":e}),this.menu.attr("aria-activedescendant",e)},_setOption:function(t,e){if("icons"===t){var i=this.button.find("span.ui-icon");this._removeClass(i,null,this.options.icons.button)._addClass(i,null,e.button)}this._super(t,e),"appendTo"===t&&this.menuWrap.appendTo(this._appendTo()),"width"===t&&this._resizeButton()},_setOptionDisabled:function(t){this._super(t),this.menuInstance.option("disabled",t),this.button.attr("aria-disabled",t),this._toggleClass(this.button,null,"ui-state-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_toggleAttr:function(){this.button.attr("aria-expanded",this.isOpen),this._removeClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"closed":"open"))._addClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"open":"closed"))._toggleClass(this.menuWrap,"ui-selectmenu-open",null,this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var t=this.options.width;return t===!1?(this.button.css("width",""),void 0):(null===t&&(t=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(t),void 0)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){var t=this._super();return t.disabled=this.element.prop("disabled"),t},_parseOptions:function(e){var i=this,s=[];e.each(function(e,n){s.push(i._parseOption(t(n),e))}),this.items=s},_parseOption:function(t,e){var i=t.parent("optgroup");return{element:t,index:e,value:t.val(),label:t.text(),optgroup:i.attr("label")||"",disabled:i.prop("disabled")||t.prop("disabled")}},_destroy:function(){this._unbindFormResetHandler(),this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.labels.attr("for",this.ids.element)}}]),t.widget("ui.slider",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1 +},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle"),o="<span tabindex='0'></span>",a=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)a.push(o);this.handles=n.add(t(a.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e).attr("tabIndex",0)})},_createRange:function(){var e=this.options;e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=t("<div>").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),("min"===e.range||"max"===e.range)&&this._addClass(this.range,"ui-slider-range-"+e.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,o,a,r,h,l,c=this,u=this.options;return u.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-c.values(e));(n>i||n===i&&(e===c._lastChangedValue||c.values(e)===u.min))&&(n=i,o=t(this),a=e)}),r=this._start(e,a),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=a,this._addClass(o,null,"ui-state-active"),o.trigger("focus"),h=o.offset(),l=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:e.pageX-h.left-o.width()/2,top:e.pageY-h.top-o.height()/2-(parseInt(o.css("borderTopWidth"),10)||0)-(parseInt(o.css("borderBottomWidth"),10)||0)+(parseInt(o.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,a,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,o;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),o=this._valueMin()+s*n,this._trimAlignValue(o)},_uiHash:function(t,e,i){var s={handle:this.handles[t],handleIndex:t,value:void 0!==e?e:this.value()};return this._hasMultipleValues()&&(s.value=void 0!==e?e:this.values(t),s.values=i||this.values()),s},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(t,e){return this._trigger("start",t,this._uiHash(e))},_slide:function(t,e,i){var s,n,o=this.value(),a=this.values();this._hasMultipleValues()&&(n=this.values(e?0:1),o=this.values(e),2===this.options.values.length&&this.options.range===!0&&(i=0===e?Math.min(n,i):Math.max(n,i)),a[e]=i),i!==o&&(s=this._trigger("slide",t,this._uiHash(e,i,a)),s!==!1&&(this._hasMultipleValues()?this.values(e,i):this.value(i)))},_stop:function(t,e){this._trigger("stop",t,this._uiHash(e))},_change:function(t,e){this._keySliding||this._mouseSliding||(this._lastChangedValue=e,this._trigger("change",t,this._uiHash(e)))},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),void 0):this._value()},values:function(e,i){var s,n,o;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),void 0;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this._hasMultipleValues()?this._values(e):this.value();for(s=this.options.values,n=arguments[0],o=0;s.length>o;o+=1)s[o]=this._trimAlignValue(n[o]),this._change(null,o);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),this._super(e,i),e){case"orientation":this._detectOrientation(),this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-"+this.orientation),this._refreshValue(),this.options.range&&this._refreshRange(i),this.handles.css("horizontal"===i?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=n-1;s>=0;s--)this._change(null,s);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(t){this._super(t),this._toggleClass(null,"ui-state-disabled",!!t)},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this._hasMultipleValues()){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_calculateNewMax:function(){var t=this.options.max,e=this._valueMin(),i=this.options.step,s=Math.round((t-e)/i)*i;t=s+e,t>this.options.max&&(t-=i),this.max=parseFloat(t.toFixed(this._precision()))},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(t){"vertical"===t&&this.range.css({width:"",left:""}),"horizontal"===t&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var e,i,s,n,o,a=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,c={};this._hasMultipleValues()?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),c["horizontal"===h.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[l?"animate":"css"](c,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),o=this._valueMax(),i=o!==n?100*((s-n)/(o-n)):0,c["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](c,r.animate),"min"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:100-i+"%"},r.animate),"min"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:100-i+"%"},r.animate))},_handleEvents:{keydown:function(e){var i,s,n,o,a=t(e.target).data("ui-slider-handle-index");switch(e.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(e.preventDefault(),!this._keySliding&&(this._keySliding=!0,this._addClass(t(e.target),null,"ui-state-active"),i=this._start(e,a),i===!1))return}switch(o=this.options.step,s=n=this._hasMultipleValues()?this.values(a):this.value(),e.keyCode){case t.ui.keyCode.HOME:n=this._valueMin();break;case t.ui.keyCode.END:n=this._valueMax();break;case t.ui.keyCode.PAGE_UP:n=this._trimAlignValue(s+(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(s-(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(s===this._valueMax())return;n=this._trimAlignValue(s+o);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(s===this._valueMin())return;n=this._trimAlignValue(s-o)}this._slide(e,a,n)},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),this._removeClass(t(e.target),null,"ui-state-active"))}}}),t.widget("ui.sortable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(t,e,i){return t>=e&&e+i>t},_isFloating:function(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))},_create:function(){this.containerCache={},this._addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(t,e){this._super(t,e),"handle"===t&&this._setHandleClassName()},_setHandleClassName:function(){var e=this;this._removeClass(this.element.find(".ui-sortable-handle"),"ui-sortable-handle"),t.each(this.items,function(){e._addClass(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item,"ui-sortable-handle")})},_destroy:function(){this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(e,i){var s=null,n=!1,o=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,o.widgetName+"-item")===o?(s=t(this),!1):void 0}),t.data(e.target,o.widgetName+"-item")===o&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,o,a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),a.containment&&this._setContainment(),a.cursor&&"auto"!==a.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",a.cursor),this.storedStylesheet=t("<style>*{ cursor: "+a.cursor+" !important; }</style>").appendTo(o)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,o,a=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY<a.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+a.scrollSpeed:e.pageY-this.overflowOffset.top<a.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-a.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-e.pageX<a.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+a.scrollSpeed:e.pageX-this.overflowOffset.left<a.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-a.scrollSpeed)):(e.pageY-this.document.scrollTop()<a.scrollSensitivity?r=this.document.scrollTop(this.document.scrollTop()-a.scrollSpeed):this.window.height()-(e.pageY-this.document.scrollTop())<a.scrollSensitivity&&(r=this.document.scrollTop(this.document.scrollTop()+a.scrollSpeed)),e.pageX-this.document.scrollLeft()<a.scrollSensitivity?r=this.document.scrollLeft(this.document.scrollLeft()-a.scrollSpeed):this.window.width()-(e.pageX-this.document.scrollLeft())<a.scrollSensitivity&&(r=this.document.scrollLeft(this.document.scrollLeft()+a.scrollSpeed))),r!==!1&&t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],o=this._intersectsWithPointer(s),o&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===o?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),o=this.options.axis,a={};o&&"x"!==o||(a.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(a.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(a,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp(new t.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+l>r&&h>s+l,d="y"===this.options.axis||e+c>o&&a>e+c,p=u&&d;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?p:e+this.helperProportions.width/2>o&&a>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(t){var e,i,s="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top,t.height),n="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left,t.width),o=s&&n;return o?(e=this._getDragVerticalDirection(),i=this._getDragHorizontalDirection(),this.floating?"right"===i||"down"===e?2:1:e&&("down"===e?2:1)):!1},_intersectsWithSides:function(t){var e=this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),i=this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),s=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?"right"===n&&i||"left"===n&&!i:s&&("down"===s&&e||"up"===s&&!e)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){function i(){r.push(this)}var s,n,o,a,r=[],h=[],l=this._connectWith();if(l&&e)for(s=l.length-1;s>=0;s--)for(o=t(l[s],this.document[0]),n=o.length-1;n>=0;n--)a=t.data(o[n],this.widgetFullName),a&&a!==this&&!a.options.disabled&&h.push([t.isFunction(a.options.items)?a.options.items.call(a.element):t(a.options.items,a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),a]);for(h.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return t(r)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,o,a,r,h,l,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i],this.document[0]),s=n.length-1;s>=0;s--)o=t.data(n[s],this.widgetFullName),o&&o!==this&&!o.options.disabled&&(u.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=u.length-1;i>=0;i--)for(a=u[i][1],r=u[i][0],s=0,l=r.length;l>s;s++)h=t(r[s]),h.data(this.widgetName+"-item",a),c.push({item:h,instance:a,width:0,height:0,left:0,top:0})},refreshPositions:function(e){this.floating=this.items.length?"x"===this.options.axis||this._isFloating(this.items[0].item):!1,this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,o;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),o=n.offset(),s.left=o.left,s.top=o.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]);return e._addClass(n,"ui-sortable-placeholder",i||e.currentItem[0].className)._removeClass(n,"ui-sortable-helper"),"tbody"===s?e._createTrPlaceholder(e.currentItem.find("tr").eq(0),t("<tr>",e.document[0]).appendTo(n)):"tr"===s?e._createTrPlaceholder(e.currentItem,n):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_createTrPlaceholder:function(e,i){var s=this;e.children().each(function(){t("<td> </td>",s.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(e){var i,s,n,o,a,r,h,l,c,u,d=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!t.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(d&&t.contains(this.containers[i].element[0],d.element[0]))continue;d=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",e,this._uiHash(this)),this.containers[i].containerCache.over=0);if(d)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",e,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,o=null,c=d.floating||this._isFloating(this.currentItem),a=c?"left":"top",r=c?"width":"height",u=c?"pageX":"pageY",s=this.items.length-1;s>=0;s--)t.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(h=this.items[s].item.offset()[a],l=!1,e[u]-h>this.items[s][r]/2&&(l=!0),n>Math.abs(e[u]-h)&&(n=Math.abs(e[u]-h),o=this.items[s],this.direction=l?"up":"down"));if(!o&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return this.currentContainer.containerCache.over||(this.containers[p]._trigger("over",e,this._uiHash()),this.currentContainer.containerCache.over=1),void 0;o?this._rearrange(e,o,null,!0):this._rearrange(e,null,this.containers[p].element,!0),this._trigger("change",e,this._uiHash()),this.containers[p]._trigger("change",e,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",e,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||t("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===n.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===n.containment?this.document.height()||document.body.parentNode.scrollHeight:this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden"!==t(e).css("overflow"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth"),10)||0)+(parseInt(t(e).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth"),10)||0)+(parseInt(t(e).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth"),10)||0)-(parseInt(t(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth"),10)||0)-(parseInt(t(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():o?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():o?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,o=e.pageX,a=e.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(e.pageX-this.offset.click.left<this.containment[0]&&(o=this.containment[0]+this.offset.click.left),e.pageY-this.offset.click.top<this.containment[1]&&(a=this.containment[1]+this.offset.click.top),e.pageX-this.offset.click.left>this.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(a=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((a-this.originalPageY)/n.grid[1])*n.grid[1],a=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((o-this.originalPageX)/n.grid[0])*n.grid[0],o=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:a-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter; +this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){function i(t,e,i){return function(s){i._trigger(t,s,e._uiHash(e))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!e&&n.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||n.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(n.push(function(t){this._trigger("remove",t,this._uiHash())}),n.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)e||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!e){for(s=0;n.length>s;s++)n[s].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}}),t.widget("ui.spinner",{version:"1.12.1",defaultElement:"<input>",widgetEventPrefix:"spin",options:{classes:{"ui-spinner":"ui-corner-all","ui-spinner-down":"ui-corner-br","ui-spinner-up":"ui-corner-tr"},culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e=this._super(),i=this.element;return t.each(["min","max","step"],function(t,s){var n=i.attr(s);null!=n&&n.length&&(e[s]=n)}),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t),void 0)},mousewheel:function(t,e){if(e){if(!this.spinning&&!this._start(t))return!1;this._spin((e>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100),t.preventDefault()}},"mousedown .ui-spinner-button":function(e){function i(){var e=this.element[0]===t.ui.safeActiveElement(this.document[0]);e||(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===t.ui.safeActiveElement(this.document[0])?this.previous:this.element.val(),e.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(e)!==!1&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){return t(e.currentTarget).hasClass("ui-state-active")?this._start(e)===!1?!1:(this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap("<span>").parent().append("<a></a><a></a>")},_draw:function(){this._enhance(),this._addClass(this.uiSpinner,"ui-spinner","ui-widget ui-widget-content"),this._addClass("ui-spinner-input"),this.element.attr("role","spinbutton"),this.buttons=this.uiSpinner.children("a").attr("tabIndex",-1).attr("aria-hidden",!0).button({classes:{"ui-button":""}}),this._removeClass(this.buttons,"ui-corner-all"),this._addClass(this.buttons.first(),"ui-spinner-button ui-spinner-up"),this._addClass(this.buttons.last(),"ui-spinner-button ui-spinner-down"),this.buttons.first().button({icon:this.options.icons.up,showLabel:!1}),this.buttons.last().button({icon:this.options.icons.down,showLabel:!1}),this.buttons.height()>Math.ceil(.5*this.uiSpinner.height())&&this.uiSpinner.height()>0&&this.uiSpinner.height(this.uiSpinner.height())},_keydown:function(e){var i=this.options,s=t.ui.keyCode;switch(e.keyCode){case s.UP:return this._repeat(null,1,e),!0;case s.DOWN:return this._repeat(null,-1,e),!0;case s.PAGE_UP:return this._repeat(null,i.page,e),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_start:function(t){return this.spinning||this._trigger("start",t)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&this._trigger("spin",e,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(e){var i=this.options.incremental;return i?t.isFunction(i)?i(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return e=null!==s.min?s.min:0,i=t-e,i=Math.round(i/s.step)*s.step,t=e+i,t=parseFloat(t.toFixed(this._precision())),null!==s.max&&t>s.max?s.max:null!==s.min&&s.min>t?s.min:t},_stop:function(t){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",t))},_setOption:function(t,e){var i,s,n;return"culture"===t||"numberFormat"===t?(i=this._parse(this.element.val()),this.options[t]=e,this.element.val(this._format(i)),void 0):(("max"===t||"min"===t||"step"===t)&&"string"==typeof e&&(e=this._parse(e)),"icons"===t&&(s=this.buttons.first().find(".ui-icon"),this._removeClass(s,null,this.options.icons.up),this._addClass(s,null,e.up),n=this.buttons.last().find(".ui-icon"),this._removeClass(n,null,this.options.icons.down),this._addClass(n,null,e.down)),this._super(t,e),void 0)},_setOptionDisabled:function(t){this._super(t),this._toggleClass(this.uiSpinner,null,"ui-state-disabled",!!t),this.element.prop("disabled",!!t),this.buttons.button(t?"disable":"enable")},_setOptions:r(function(t){this._super(t)}),_parse:function(t){return"string"==typeof t&&""!==t&&(t=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(t,10,this.options.culture):+t),""===t||isNaN(t)?null:t},_format:function(t){return""===t?"":window.Globalize&&this.options.numberFormat?Globalize.format(t,this.options.numberFormat,this.options.culture):t},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var t=this.value();return null===t?!1:t===this._adjustValue(t)},_value:function(t,e){var i;""!==t&&(i=this._parse(t),null!==i&&(e||(i=this._adjustValue(i)),t=this._format(i))),this.element.val(t),this._refresh()},_destroy:function(){this.element.prop("disabled",!1).removeAttr("autocomplete role aria-valuemin aria-valuemax aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:r(function(t){this._stepUp(t)}),_stepUp:function(t){this._start()&&(this._spin((t||1)*this.options.step),this._stop())},stepDown:r(function(t){this._stepDown(t)}),_stepDown:function(t){this._start()&&(this._spin((t||1)*-this.options.step),this._stop())},pageUp:r(function(t){this._stepUp((t||1)*this.options.page)}),pageDown:r(function(t){this._stepDown((t||1)*this.options.page)}),value:function(t){return arguments.length?(r(this._value).call(this,t),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}),t.uiBackCompat!==!1&&t.widget("ui.spinner",t.ui.spinner,{_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml())},_uiSpinnerHtml:function(){return"<span>"},_buttonHtml:function(){return"<a></a><a></a>"}}),t.ui.spinner,t.widget("ui.tabs",{version:"1.12.1",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var t=/#.*$/;return function(e){var i,s;i=e.href.replace(t,""),s=location.href.replace(t,"");try{i=decodeURIComponent(i)}catch(n){}try{s=decodeURIComponent(s)}catch(n){}return e.hash.length>1&&i===s}}(),_create:function(){var e=this,i=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,i.collapsible),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var e=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===e&&(s&&this.tabs.each(function(i,n){return t(n).attr("aria-controls")===s?(e=i,!1):void 0}),null===e&&(e=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===e||-1===e)&&(e=this.tabs.length?0:!1)),e!==!1&&(e=this.tabs.index(this.tabs.eq(e)),-1===e&&(e=i?!1:0)),!i&&e===!1&&this.anchors.length&&(e=0),e},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(e){var i=t(t.ui.safeActiveElement(this.document[0])).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(e)){switch(e.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:s++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:n=!1,s--;break;case t.ui.keyCode.END:s=this.anchors.length-1;break;case t.ui.keyCode.HOME:s=0;break;case t.ui.keyCode.SPACE:return e.preventDefault(),clearTimeout(this.activating),this._activate(s),void 0;case t.ui.keyCode.ENTER:return e.preventDefault(),clearTimeout(this.activating),this._activate(s===this.options.active?!1:s),void 0;default:return}e.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),e.ctrlKey||e.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(e){return e.altKey&&e.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):e.altKey&&e.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(e,i){function s(){return e>n&&(e=0),0>e&&(e=n),e}for(var n=this.tabs.length-1;-1!==t.inArray(s(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).trigger("focus"),t},_setOption:function(t,e){return"active"===t?(this._activate(e),void 0):(this._super(t,e),"collapsible"===t&&(this._toggleClass("ui-tabs-collapsible",null,e),e||this.options.active!==!1||this._activate(0)),"event"===t&&this._setupEvents(e),"heightStyle"===t&&this._setupHeightStyle(e),void 0)},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),e.active!==!1&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this,i=this.tabs,s=this.anchors,n=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).on("focus"+this.eventNamespace,".ui-tabs-anchor",function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).attr({role:"presentation",tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=t(),this.anchors.each(function(i,s){var n,o,a,r=t(s).uniqueId().attr("id"),h=t(s).closest("li"),l=h.attr("aria-controls");e._isLocal(s)?(n=s.hash,a=n.substring(1),o=e.element.find(e._sanitizeSelector(n))):(a=h.attr("aria-controls")||t({}).uniqueId()[0].id,n="#"+a,o=e.element.find(n),o.length||(o=e._createPanel(a),o.insertAfter(e.panels[i-1]||e.tablist)),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),l&&h.data("ui-tabs-aria-controls",l),h.attr({"aria-controls":a,"aria-labelledby":r}),o.attr("aria-labelledby",r)}),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(e){return t("<div>").attr("id",e).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(e){var i,s,n;for(t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1),n=0;s=this.tabs[n];n++)i=t(s),e===!0||-1!==t.inArray(n,e)?(i.attr("aria-disabled","true"),this._addClass(i,null,"ui-state-disabled")):(i.removeAttr("aria-disabled"),this._removeClass(i,null,"ui-state-disabled"));this.options.disabled=e,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,e===!0)},_setupEvents:function(e){var i={};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(t){t.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),o=n.closest("li"),a=o[0]===s[0],r=a&&i.collapsible,h=r?t():this._getPanelForTab(o),l=s.length?this._getPanelForTab(s):t(),c={oldTab:s,oldPanel:l,newTab:r?t():o,newPanel:h};e.preventDefault(),o.hasClass("ui-state-disabled")||o.hasClass("ui-tabs-loading")||this.running||a&&!i.collapsible||this._trigger("beforeActivate",e,c)===!1||(i.active=r?!1:this.tabs.index(o),this.active=a?t():o,this.xhr&&this.xhr.abort(),l.length||h.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(o),e),this._toggle(e,c))},_toggle:function(e,i){function s(){o.running=!1,o._trigger("activate",e,i)}function n(){o._addClass(i.newTab.closest("li"),"ui-tabs-active","ui-state-active"),a.length&&o.options.show?o._show(a,o.options.show,s):(a.show(),s())}var o=this,a=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){o._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),n()}):(this._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),r.hide(),n()),r.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),a.length&&r.length?i.oldTab.attr("tabIndex",-1):a.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),a.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return e===!1?t():this.tabs.eq(e)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+t.ui.escapeSelector(e)+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(e){var i=this.options.disabled;i!==!1&&(void 0===e?i=!1:(e=this._getIndex(e),i=t.isArray(i)?t.map(i,function(t){return t!==e?t:null}):t.map(this.tabs,function(t,i){return i!==e?i:null})),this._setOptionDisabled(i))},disable:function(e){var i=this.options.disabled;if(i!==!0){if(void 0===e)i=!0;else{if(e=this._getIndex(e),-1!==t.inArray(e,i))return;i=t.isArray(i)?t.merge([e],i).sort():[e]}this._setOptionDisabled(i)}},load:function(e,i){e=this._getIndex(e);var s=this,n=this.tabs.eq(e),o=n.find(".ui-tabs-anchor"),a=this._getPanelForTab(n),r={tab:n,panel:a},h=function(t,e){"abort"===e&&s.panels.stop(!1,!0),s._removeClass(n,"ui-tabs-loading"),a.removeAttr("aria-busy"),t===s.xhr&&delete s.xhr};this._isLocal(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(n,"ui-tabs-loading"),a.attr("aria-busy","true"),this.xhr.done(function(t,e,n){setTimeout(function(){a.html(t),s._trigger("load",i,r),h(n,e)},1)}).fail(function(t,e){setTimeout(function(){h(t,e)},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href").replace(/#.*$/,""),beforeSend:function(e,o){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:o},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),t.uiBackCompat!==!1&&t.widget("ui.tabs",t.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}}),t.ui.tabs,t.widget("ui.tooltip",{version:"1.12.1",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var e=t(this).attr("title")||"";return t("<a>").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))},_removeDescribedBy:function(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),s=t.trim(s.join(" ")),s?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.liveRegion=t("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this.disabledTitles=t([])},_setOption:function(e,i){var s=this;this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e.element)})},_setOptionDisabled:function(t){this[t?"_disable":"_enable"]()},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s.element[0],e.close(n,!0)}),this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function(){var e=t(this);return e.is("[title]")?e.data("ui-tooltip-title",e.attr("title")).removeAttr("title"):void 0}))},_enable:function(){this.disabledTitles.each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))}),this.disabledTitles=t([])},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&(e=t.Event("blur"),e.target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._registerCloseHandlers(e,s),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,o=e?e.type:null;return"string"==typeof s||s.nodeType||s.jquery?this._open(e,t,s):(i=s.call(t[0],function(i){n._delay(function(){t.data("ui-tooltip-open")&&(e&&(e.type=o),this._open(e,t,i))})}),i&&this._open(e,t,i),void 0)},_open:function(e,i,s){function n(t){l.of=t,a.is(":hidden")||a.position(l)}var o,a,r,h,l=t.extend({},this.options.position);if(s){if(o=this._find(i))return o.tooltip.find(".ui-tooltip-content").html(s),void 0;i.is("[title]")&&(e&&"mouseover"===e.type?i.attr("title",""):i.removeAttr("title")),o=this._tooltip(i),a=o.tooltip,this._addDescribedBy(i,a.attr("id")),a.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),h=t("<div>").html(a.find(".ui-tooltip-content").html()),h.removeAttr("name").find("[name]").removeAttr("name"),h.removeAttr("id").find("[id]").removeAttr("id"),h.appendTo(this.liveRegion),this.options.track&&e&&/^mouse/.test(e.type)?(this._on(this.document,{mousemove:n}),n(e)):a.position(t.extend({of:i},this.options.position)),a.hide(),this._show(a,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(r=this.delayedShow=setInterval(function(){a.is(":visible")&&(n(l.of),clearInterval(r))},t.fx.interval)),this._trigger("open",e,{tooltip:a})}},_registerCloseHandlers:function(e,i){var s={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var s=t.Event(e);s.currentTarget=i[0],this.close(s,!0)}}};i[0]!==this.element[0]&&(s.remove=function(){this._removeTooltip(this._find(i).tooltip)}),e&&"mouseover"!==e.type||(s.mouseleave="close"),e&&"focusin"!==e.type||(s.focusout="close"),this._on(!0,i,s)},close:function(e){var i,s=this,n=t(e?e.currentTarget:this.element),o=this._find(n);return o?(i=o.tooltip,o.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&!n.attr("title")&&n.attr("title",n.data("ui-tooltip-title")),this._removeDescribedBy(n),o.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]}),o.closing=!0,this._trigger("close",e,{tooltip:i}),o.hiding||(o.closing=!1)),void 0):(n.removeData("ui-tooltip-open"),void 0)},_tooltip:function(e){var i=t("<div>").attr("role","tooltip"),s=t("<div>").appendTo(i),n=i.uniqueId().attr("id");return this._addClass(s,"ui-tooltip-content"),this._addClass(i,"ui-tooltip","ui-widget ui-widget-content"),i.appendTo(this._appendTo(e)),this.tooltips[n]={element:e,tooltip:i}},_find:function(t){var e=t.data("ui-tooltip-id");return e?this.tooltips[e]:null},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_appendTo:function(t){var e=t.closest(".ui-front, dialog");return e.length||(e=this.document[0].body),e},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur"),o=s.element;n.target=n.currentTarget=o[0],e.close(n,!0),t("#"+i).remove(),o.data("ui-tooltip-title")&&(o.attr("title")||o.attr("title",o.data("ui-tooltip-title")),o.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}}),t.uiBackCompat!==!1&&t.widget("ui.tooltip",t.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var t=this._superApply(arguments);return this.options.tooltipClass&&t.tooltip.addClass(this.options.tooltipClass),t}}),t.ui.tooltip}); \ No newline at end of file diff --git a/src/main/resources/static/js/paramconfig.js b/src/main/resources/static/js/paramconfig.js new file mode 100644 index 0000000..eb6835f --- /dev/null +++ b/src/main/resources/static/js/paramconfig.js @@ -0,0 +1,58 @@ +//CAS鏈嶅姟鍣� logout浣跨敤 +var casServerUrlPrefix = "https://127.0.0.1:8088/cas"; +//REST鏈嶅姟鍣� +var restServerBaseURL = "http://127.0.0.1:8081/"; + +var LanCatalogBaseURL = "http://127.0.0.1:8082/"; +//鏈鎴风鏍硅矾寰� +var baseURL = "/lanwebapp/"; +//鍏敤搴撴枃浠跺紩鐢ㄦ牴璺緞 pubzy +var pubzyURL = "http://127.0.0.1:8088/javapubzy/"; +// +var ueditorURL = "http://127.0.0.1:8088/"; +// +var LanCatalogBaseApiURL = "http://127.0.0.1:8082/api/"; +// +var socketUrl = "ws://127.0.0.1:8081/ws"; + +//濡傛灉鏄疘IS杩愯锛岃璁剧疆涓簍rue +var iisRun = true; + +//涓婁紶鏂囦欢鐨勬槧灏勫湴鍧� +var uploadFileResource = restServerBaseURL + 'uploadFile\/'; + +//鐗堟潈淇℃伅 骞夸笢钃濆浘淇℃伅鎶�鏈湁闄愬叕鍙� +var copyrightName = "鎶�鏈敮鎸侊細鍚堣偉娉扮憺鏁板垱鑲′唤鏈夐檺鍏徃"; + +//绯荤粺鏍囬 +var systemTitle = "杩愮淮鐩戞帶-鏃剁┖澶ф暟鎹钩鍙�"; + +//鍔犺浇澶栭儴璧勬簮js +function remoteToLoadJs(fileurl) { + document.write("<script src='" + pubzyURL + fileurl + "'><\/script>"); +} + +//鍔犺浇鏈湴璧勬簮js +function loadLocalJs(fileurl) { + document.write("<script src='" + fileurl + "'><\/script>"); +} + +//鍔犺浇澶栭儴璧勬簮Css +function remoteToLoadCss(fileurl) { + document.write("<link rel='stylesheet' href='" + pubzyURL + fileurl + "'>"); +} + +//鍔犺浇鏈湴璧勬簮Css +function loadLocalCss(fileurl) { + document.write("<link rel='stylesheet' href='" + fileurl + "'>"); +} + +//鍔犺浇Ueditor璧勬簮js +function remoteUeditorToloadJs(fileurl) { + document.write("<script src='" + ueditorURL + fileurl + "'></script>"); +} + +//鎵撳紑闂ㄦ埛椤甸潰 +function openLiferay() { + window.location.replace('http://127.0.0.1:8090/'); +} diff --git a/src/main/resources/static/js/resourceAnalyse.js b/src/main/resources/static/js/resourceAnalyse.js new file mode 100644 index 0000000..4339a18 --- /dev/null +++ b/src/main/resources/static/js/resourceAnalyse.js @@ -0,0 +1,89 @@ +function resource(count) { + // const restServerBaseURL='http://71.3.21.232:8081'; + $.get(restServerBaseURL + '/log/action/analyseResource?count=' + (count != undefined ? count : 5), + function (data) { + + // var map = JSON.parse(data); + var map = data.actionTypes; + + + resourceChart.setOption(option = { + /* color: 'blue', */ + title: { + show: false, + text: '璧勬簮璋冪敤缁熻', + left: '3%', + textStyle: { + color: '#73879a', + fontSize: 25 + }, + }, + + tooltip: { + trigger: 'axis' + }, + grid: { + // left: '10%', + // right: '5%', + // bottom: '40%' + // x:"-20", + // y:"-20" + }, + xAxis: { + + axisLabel: { + rotate: 50, + textStyle: { + color: '#73879a', + fontSize: 10 + }, + axisLine: { + lineStyle: { + color: '#73879a' + + } + } + }, + data: map.map(function (item) { + return item.title; + }) + }, + yAxis: { + type: 'value', + // max: 20, + axisLabel: { + textStyle: { + color: '#73879a', + fontSize: 14 + } + } + }, + + series: { + name: '璧勬簮璋冪敤娆℃暟', + type: 'bar', + data: map.map(function (item) { + return item.count; + }), + markLine: { + silent: true, + lineStyle: { + color: '#333' + } + + } + } + }); + }); + + // useractionchart.on("click", function (params) { + // console.log("iframe 鐢ㄦ埛琛屼负椤甸潰"); + // var frameSrc = "./useraction.html?username=" + $("#UserName").val(); + // $("#serverstatusiframe").attr("src", frameSrc); + // $('#serverstatusModal').modal({ + // show: true, + // backdrop: 'static' + // }); + // }) + +} \ No newline at end of file diff --git a/src/main/resources/static/js/rsa.min.js b/src/main/resources/static/js/rsa.min.js index c16abe8..840ea50 100644 --- a/src/main/resources/static/js/rsa.min.js +++ b/src/main/resources/static/js/rsa.min.js @@ -2,96 +2,5 @@ (function(exports) { function BigInteger(a,b,c){null!=a&&("number"==typeof a?this.fromNumber(a,b,c):null==b&&"string"!=typeof a?this.fromString(a,256):this.fromString(a,b))}function nbi(){return new BigInteger(null)}function am1(a,b,c,d,e,f){for(;--f>=0;){var g=b*this[a++]+c[d]+e;e=Math.floor(g/67108864),c[d++]=67108863&g}return e}function am2(a,b,c,d,e,f){for(var g=32767&b,h=b>>15;--f>=0;){var i=32767&this[a],j=this[a++]>>15,k=h*i+j*g;i=g*i+((32767&k)<<15)+c[d]+(1073741823&e),e=(i>>>30)+(k>>>15)+h*j+(e>>>30),c[d++]=1073741823&i}return e}function am3(a,b,c,d,e,f){for(var g=16383&b,h=b>>14;--f>=0;){var i=16383&this[a],j=this[a++]>>14,k=h*i+j*g;i=g*i+((16383&k)<<14)+c[d]+e,e=(i>>28)+(k>>14)+h*j,c[d++]=268435455&i}return e}function int2char(a){return BI_RM.charAt(a)}function intAt(a,b){var c=BI_RC[a.charCodeAt(b)];return null==c?-1:c}function bnpCopyTo(a){for(var b=this.t-1;b>=0;--b)a[b]=this[b];a.t=this.t,a.s=this.s}function bnpFromInt(a){this.t=1,this.s=0>a?-1:0,a>0?this[0]=a:-1>a?this[0]=a+DV:this.t=0}function nbv(a){var b=nbi();return b.fromInt(a),b}function bnpFromString(a,b){var c;if(16==b)c=4;else if(8==b)c=3;else if(256==b)c=8;else if(2==b)c=1;else if(32==b)c=5;else{if(4!=b)return void this.fromRadix(a,b);c=2}this.t=0,this.s=0;for(var d=a.length,e=!1,f=0;--d>=0;){var g=8==c?255&a[d]:intAt(a,d);0>g?"-"==a.charAt(d)&&(e=!0):(e=!1,0==f?this[this.t++]=g:f+c>this.DB?(this[this.t-1]|=(g&(1<<this.DB-f)-1)<<f,this[this.t++]=g>>this.DB-f):this[this.t-1]|=g<<f,f+=c,f>=this.DB&&(f-=this.DB))}8==c&&0!=(128&a[0])&&(this.s=-1,f>0&&(this[this.t-1]|=(1<<this.DB-f)-1<<f)),this.clamp(),e&&BigInteger.ZERO.subTo(this,this)}function bnpClamp(){for(var a=this.s&this.DM;this.t>0&&this[this.t-1]==a;)--this.t}function bnToString(a){if(this.s<0)return"-"+this.negate().toString(a);var b;if(16==a)b=4;else if(8==a)b=3;else if(2==a)b=1;else if(32==a)b=5;else{if(4!=a)return this.toRadix(a);b=2}var c,d=(1<<b)-1,e=!1,f="",g=this.t,h=this.DB-g*this.DB%b;if(g-->0)for(h<this.DB&&(c=this[g]>>h)>0&&(e=!0,f=int2char(c));g>=0;)b>h?(c=(this[g]&(1<<h)-1)<<b-h,c|=this[--g]>>(h+=this.DB-b)):(c=this[g]>>(h-=b)&d,0>=h&&(h+=this.DB,--g)),c>0&&(e=!0),e&&(f+=int2char(c));return e?f:"0"}function bnNegate(){var a=nbi();return BigInteger.ZERO.subTo(this,a),a}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(a){var b=this.s-a.s;if(0!=b)return b;var c=this.t;if(b=c-a.t,0!=b)return this.s<0?-b:b;for(;--c>=0;)if(0!=(b=this[c]-a[c]))return b;return 0}function nbits(a){var b,c=1;return 0!=(b=a>>>16)&&(a=b,c+=16),0!=(b=a>>8)&&(a=b,c+=8),0!=(b=a>>4)&&(a=b,c+=4),0!=(b=a>>2)&&(a=b,c+=2),0!=(b=a>>1)&&(a=b,c+=1),c}function bnBitLength(){return this.t<=0?0:this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(a,b){var c;for(c=this.t-1;c>=0;--c)b[c+a]=this[c];for(c=a-1;c>=0;--c)b[c]=0;b.t=this.t+a,b.s=this.s}function bnpDRShiftTo(a,b){for(var c=a;c<this.t;++c)b[c-a]=this[c];b.t=Math.max(this.t-a,0),b.s=this.s}function bnpLShiftTo(a,b){var c,d=a%this.DB,e=this.DB-d,f=(1<<e)-1,g=Math.floor(a/this.DB),h=this.s<<d&this.DM;for(c=this.t-1;c>=0;--c)b[c+g+1]=this[c]>>e|h,h=(this[c]&f)<<d;for(c=g-1;c>=0;--c)b[c]=0;b[g]=h,b.t=this.t+g+1,b.s=this.s,b.clamp()}function bnpRShiftTo(a,b){b.s=this.s;var c=Math.floor(a/this.DB);if(c>=this.t)return void(b.t=0);var d=a%this.DB,e=this.DB-d,f=(1<<d)-1;b[0]=this[c]>>d;for(var g=c+1;g<this.t;++g)b[g-c-1]|=(this[g]&f)<<e,b[g-c]=this[g]>>d;d>0&&(b[this.t-c-1]|=(this.s&f)<<e),b.t=this.t-c,b.clamp()}function bnpSubTo(a,b){for(var c=0,d=0,e=Math.min(a.t,this.t);e>c;)d+=this[c]-a[c],b[c++]=d&this.DM,d>>=this.DB;if(a.t<this.t){for(d-=a.s;c<this.t;)d+=this[c],b[c++]=d&this.DM,d>>=this.DB;d+=this.s}else{for(d+=this.s;c<a.t;)d-=a[c],b[c++]=d&this.DM,d>>=this.DB;d-=a.s}b.s=0>d?-1:0,-1>d?b[c++]=this.DV+d:d>0&&(b[c++]=d),b.t=c,b.clamp()}function bnpMultiplyTo(a,b){var c=this.abs(),d=a.abs(),e=c.t;for(b.t=e+d.t;--e>=0;)b[e]=0;for(e=0;e<d.t;++e)b[e+c.t]=c.am(0,d[e],b,e,0,c.t);b.s=0,b.clamp(),this.s!=a.s&&BigInteger.ZERO.subTo(b,b)}function bnpSquareTo(a){for(var b=this.abs(),c=a.t=2*b.t;--c>=0;)a[c]=0;for(c=0;c<b.t-1;++c){var d=b.am(c,b[c],a,2*c,0,1);(a[c+b.t]+=b.am(c+1,2*b[c],a,2*c+1,d,b.t-c-1))>=b.DV&&(a[c+b.t]-=b.DV,a[c+b.t+1]=1)}a.t>0&&(a[a.t-1]+=b.am(c,b[c],a,2*c,0,1)),a.s=0,a.clamp()}function bnpDivRemTo(a,b,c){var d=a.abs();if(!(d.t<=0)){var e=this.abs();if(e.t<d.t)return null!=b&&b.fromInt(0),void(null!=c&&this.copyTo(c));null==c&&(c=nbi());var f=nbi(),g=this.s,h=a.s,i=this.DB-nbits(d[d.t-1]);i>0?(d.lShiftTo(i,f),e.lShiftTo(i,c)):(d.copyTo(f),e.copyTo(c));var j=f.t,k=f[j-1];if(0!=k){var l=k*(1<<this.F1)+(j>1?f[j-2]>>this.F2:0),m=this.FV/l,n=(1<<this.F1)/l,o=1<<this.F2,p=c.t,q=p-j,r=null==b?nbi():b;for(f.dlShiftTo(q,r),c.compareTo(r)>=0&&(c[c.t++]=1,c.subTo(r,c)),BigInteger.ONE.dlShiftTo(j,r),r.subTo(f,f);f.t<j;)f[f.t++]=0;for(;--q>=0;){var s=c[--p]==k?this.DM:Math.floor(c[p]*m+(c[p-1]+o)*n);if((c[p]+=f.am(0,s,c,q,0,j))<s)for(f.dlShiftTo(q,r),c.subTo(r,c);c[p]<--s;)c.subTo(r,c)}null!=b&&(c.drShiftTo(j,b),g!=h&&BigInteger.ZERO.subTo(b,b)),c.t=j,c.clamp(),i>0&&c.rShiftTo(i,c),0>g&&BigInteger.ZERO.subTo(c,c)}}}function bnMod(a){var b=nbi();return this.abs().divRemTo(a,null,b),this.s<0&&b.compareTo(BigInteger.ZERO)>0&&a.subTo(b,b),b}function Classic(a){this.m=a}function cConvert(a){return a.s<0||a.compareTo(this.m)>=0?a.mod(this.m):a}function cRevert(a){return a}function cReduce(a){a.divRemTo(this.m,null,a)}function cMulTo(a,b,c){a.multiplyTo(b,c),this.reduce(c)}function cSqrTo(a,b){a.squareTo(b),this.reduce(b)}function bnpInvDigit(){if(this.t<1)return 0;var a=this[0];if(0==(1&a))return 0;var b=3&a;return b=b*(2-(15&a)*b)&15,b=b*(2-(255&a)*b)&255,b=b*(2-((65535&a)*b&65535))&65535,b=b*(2-a*b%this.DV)%this.DV,b>0?this.DV-b:-b}function Montgomery(a){this.m=a,this.mp=a.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<a.DB-15)-1,this.mt2=2*a.t}function montConvert(a){var b=nbi();return a.abs().dlShiftTo(this.m.t,b),b.divRemTo(this.m,null,b),a.s<0&&b.compareTo(BigInteger.ZERO)>0&&this.m.subTo(b,b),b}function montRevert(a){var b=nbi();return a.copyTo(b),this.reduce(b),b}function montReduce(a){for(;a.t<=this.mt2;)a[a.t++]=0;for(var b=0;b<this.m.t;++b){var c=32767&a[b],d=c*this.mpl+((c*this.mph+(a[b]>>15)*this.mpl&this.um)<<15)&a.DM;for(c=b+this.m.t,a[c]+=this.m.am(0,d,a,b,0,this.m.t);a[c]>=a.DV;)a[c]-=a.DV,a[++c]++}a.clamp(),a.drShiftTo(this.m.t,a),a.compareTo(this.m)>=0&&a.subTo(this.m,a)}function montSqrTo(a,b){a.squareTo(b),this.reduce(b)}function montMulTo(a,b,c){a.multiplyTo(b,c),this.reduce(c)}function bnpIsEven(){return 0==(this.t>0?1&this[0]:this.s)}function bnpExp(a,b){if(a>4294967295||1>a)return BigInteger.ONE;var c=nbi(),d=nbi(),e=b.convert(this),f=nbits(a)-1;for(e.copyTo(c);--f>=0;)if(b.sqrTo(c,d),(a&1<<f)>0)b.mulTo(d,e,c);else{var g=c;c=d,d=g}return b.revert(c)}function bnModPowInt(a,b){var c;return c=256>a||b.isEven()?new Classic(b):new Montgomery(b),this.exp(a,c)}function bnClone(){var a=nbi();return this.copyTo(a),a}function bnIntValue(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function bnByteValue(){return 0==this.t?this.s:this[0]<<24>>24}function bnShortValue(){return 0==this.t?this.s:this[0]<<16>>16}function bnpChunkSize(a){return Math.floor(Math.LN2*this.DB/Math.log(a))}function bnSigNum(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1}function bnpToRadix(a){if(null==a&&(a=10),0==this.signum()||2>a||a>36)return"0";var b=this.chunkSize(a),c=Math.pow(a,b),d=nbv(c),e=nbi(),f=nbi(),g="";for(this.divRemTo(d,e,f);e.signum()>0;)g=(c+f.intValue()).toString(a).substr(1)+g,e.divRemTo(d,e,f);return f.intValue().toString(a)+g}function bnpFromRadix(a,b){this.fromInt(0),null==b&&(b=10);for(var c=this.chunkSize(b),d=Math.pow(b,c),e=!1,f=0,g=0,h=0;h<a.length;++h){var i=intAt(a,h);0>i?"-"==a.charAt(h)&&0==this.signum()&&(e=!0):(g=b*g+i,++f>=c&&(this.dMultiply(d),this.dAddOffset(g,0),f=0,g=0))}f>0&&(this.dMultiply(Math.pow(b,f)),this.dAddOffset(g,0)),e&&BigInteger.ZERO.subTo(this,this)}function bnpFromNumber(a,b,c){if("number"==typeof b)if(2>a)this.fromInt(1);else for(this.fromNumber(a,c),this.testBit(a-1)||this.bitwiseTo(BigInteger.ONE.shiftLeft(a-1),op_or,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(b);)this.dAddOffset(2,0),this.bitLength()>a&&this.subTo(BigInteger.ONE.shiftLeft(a-1),this);else{var d=new Array,e=7&a;d.length=(a>>3)+1,b.nextBytes(d),e>0?d[0]&=(1<<e)-1:d[0]=0,this.fromString(d,256)}}function bnToByteArray(){var a=this.t,b=new Array;b[0]=this.s;var c,d=this.DB-a*this.DB%8,e=0;if(a-->0)for(d<this.DB&&(c=this[a]>>d)!=(this.s&this.DM)>>d&&(b[e++]=c|this.s<<this.DB-d);a>=0;)8>d?(c=(this[a]&(1<<d)-1)<<8-d,c|=this[--a]>>(d+=this.DB-8)):(c=this[a]>>(d-=8)&255,0>=d&&(d+=this.DB,--a)),0!=(128&c)&&(c|=-256),0==e&&(128&this.s)!=(128&c)&&++e,(e>0||c!=this.s)&&(b[e++]=c);return b}function bnEquals(a){return 0==this.compareTo(a)}function bnMin(a){return this.compareTo(a)<0?this:a}function bnMax(a){return this.compareTo(a)>0?this:a}function bnpBitwiseTo(a,b,c){var d,e,f=Math.min(a.t,this.t);for(d=0;f>d;++d)c[d]=b(this[d],a[d]);if(a.t<this.t){for(e=a.s&this.DM,d=f;d<this.t;++d)c[d]=b(this[d],e);c.t=this.t}else{for(e=this.s&this.DM,d=f;d<a.t;++d)c[d]=b(e,a[d]);c.t=a.t}c.s=b(this.s,a.s),c.clamp()}function op_and(a,b){return a&b}function bnAnd(a){var b=nbi();return this.bitwiseTo(a,op_and,b),b}function op_or(a,b){return a|b}function bnOr(a){var b=nbi();return this.bitwiseTo(a,op_or,b),b}function op_xor(a,b){return a^b}function bnXor(a){var b=nbi();return this.bitwiseTo(a,op_xor,b),b}function op_andnot(a,b){return a&~b}function bnAndNot(a){var b=nbi();return this.bitwiseTo(a,op_andnot,b),b}function bnNot(){for(var a=nbi(),b=0;b<this.t;++b)a[b]=this.DM&~this[b];return a.t=this.t,a.s=~this.s,a}function bnShiftLeft(a){var b=nbi();return 0>a?this.rShiftTo(-a,b):this.lShiftTo(a,b),b}function bnShiftRight(a){var b=nbi();return 0>a?this.lShiftTo(-a,b):this.rShiftTo(a,b),b}function lbit(a){if(0==a)return-1;var b=0;return 0==(65535&a)&&(a>>=16,b+=16),0==(255&a)&&(a>>=8,b+=8),0==(15&a)&&(a>>=4,b+=4),0==(3&a)&&(a>>=2,b+=2),0==(1&a)&&++b,b}function bnGetLowestSetBit(){for(var a=0;a<this.t;++a)if(0!=this[a])return a*this.DB+lbit(this[a]);return this.s<0?this.t*this.DB:-1}function cbit(a){for(var b=0;0!=a;)a&=a-1,++b;return b}function bnBitCount(){for(var a=0,b=this.s&this.DM,c=0;c<this.t;++c)a+=cbit(this[c]^b);return a}function bnTestBit(a){var b=Math.floor(a/this.DB);return b>=this.t?0!=this.s:0!=(this[b]&1<<a%this.DB)}function bnpChangeBit(a,b){var c=BigInteger.ONE.shiftLeft(a);return this.bitwiseTo(c,b,c),c}function bnSetBit(a){return this.changeBit(a,op_or)}function bnClearBit(a){return this.changeBit(a,op_andnot)}function bnFlipBit(a){return this.changeBit(a,op_xor)}function bnpAddTo(a,b){for(var c=0,d=0,e=Math.min(a.t,this.t);e>c;)d+=this[c]+a[c],b[c++]=d&this.DM,d>>=this.DB;if(a.t<this.t){for(d+=a.s;c<this.t;)d+=this[c],b[c++]=d&this.DM,d>>=this.DB;d+=this.s}else{for(d+=this.s;c<a.t;)d+=a[c],b[c++]=d&this.DM,d>>=this.DB;d+=a.s}b.s=0>d?-1:0,d>0?b[c++]=d:-1>d&&(b[c++]=this.DV+d),b.t=c,b.clamp()}function bnAdd(a){var b=nbi();return this.addTo(a,b),b}function bnSubtract(a){var b=nbi();return this.subTo(a,b),b}function bnMultiply(a){var b=nbi();return this.multiplyTo(a,b),b}function bnSquare(){var a=nbi();return this.squareTo(a),a}function bnDivide(a){var b=nbi();return this.divRemTo(a,b,null),b}function bnRemainder(a){var b=nbi();return this.divRemTo(a,null,b),b}function bnDivideAndRemainder(a){var b=nbi(),c=nbi();return this.divRemTo(a,b,c),new Array(b,c)}function bnpDMultiply(a){this[this.t]=this.am(0,a-1,this,0,0,this.t),++this.t,this.clamp()}function bnpDAddOffset(a,b){if(0!=a){for(;this.t<=b;)this[this.t++]=0;for(this[b]+=a;this[b]>=this.DV;)this[b]-=this.DV,++b>=this.t&&(this[this.t++]=0),++this[b]}}function NullExp(){}function nNop(a){return a}function nMulTo(a,b,c){a.multiplyTo(b,c)}function nSqrTo(a,b){a.squareTo(b)}function bnPow(a){return this.exp(a,new NullExp)}function bnpMultiplyLowerTo(a,b,c){var d=Math.min(this.t+a.t,b);for(c.s=0,c.t=d;d>0;)c[--d]=0;var e;for(e=c.t-this.t;e>d;++d)c[d+this.t]=this.am(0,a[d],c,d,0,this.t);for(e=Math.min(a.t,b);e>d;++d)this.am(0,a[d],c,d,0,b-d);c.clamp()}function bnpMultiplyUpperTo(a,b,c){--b;var d=c.t=this.t+a.t-b;for(c.s=0;--d>=0;)c[d]=0;for(d=Math.max(b-this.t,0);d<a.t;++d)c[this.t+d-b]=this.am(b-d,a[d],c,0,0,this.t+d-b);c.clamp(),c.drShiftTo(1,c)}function Barrett(a){this.r2=nbi(),this.q3=nbi(),BigInteger.ONE.dlShiftTo(2*a.t,this.r2),this.mu=this.r2.divide(a),this.m=a}function barrettConvert(a){if(a.s<0||a.t>2*this.m.t)return a.mod(this.m);if(a.compareTo(this.m)<0)return a;var b=nbi();return a.copyTo(b),this.reduce(b),b}function barrettRevert(a){return a}function barrettReduce(a){for(a.drShiftTo(this.m.t-1,this.r2),a.t>this.m.t+1&&(a.t=this.m.t+1,a.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);a.compareTo(this.r2)<0;)a.dAddOffset(1,this.m.t+1);for(a.subTo(this.r2,a);a.compareTo(this.m)>=0;)a.subTo(this.m,a)}function barrettSqrTo(a,b){a.squareTo(b),this.reduce(b)}function barrettMulTo(a,b,c){a.multiplyTo(b,c),this.reduce(c)}function bnModPow(a,b){var c,d,e=a.bitLength(),f=nbv(1);if(0>=e)return f;c=18>e?1:48>e?3:144>e?4:768>e?5:6,d=8>e?new Classic(b):b.isEven()?new Barrett(b):new Montgomery(b);var g=new Array,h=3,i=c-1,j=(1<<c)-1;if(g[1]=d.convert(this),c>1){var k=nbi();for(d.sqrTo(g[1],k);j>=h;)g[h]=nbi(),d.mulTo(k,g[h-2],g[h]),h+=2}var l,m,n=a.t-1,o=!0,p=nbi();for(e=nbits(a[n])-1;n>=0;){for(e>=i?l=a[n]>>e-i&j:(l=(a[n]&(1<<e+1)-1)<<i-e,n>0&&(l|=a[n-1]>>this.DB+e-i)),h=c;0==(1&l);)l>>=1,--h;if((e-=h)<0&&(e+=this.DB,--n),o)g[l].copyTo(f),o=!1;else{for(;h>1;)d.sqrTo(f,p),d.sqrTo(p,f),h-=2;h>0?d.sqrTo(f,p):(m=f,f=p,p=m),d.mulTo(p,g[l],f)}for(;n>=0&&0==(a[n]&1<<e);)d.sqrTo(f,p),m=f,f=p,p=m,--e<0&&(e=this.DB-1,--n)}return d.revert(f)}function bnGCD(a){var b=this.s<0?this.negate():this.clone(),c=a.s<0?a.negate():a.clone();if(b.compareTo(c)<0){var d=b;b=c,c=d}var e=b.getLowestSetBit(),f=c.getLowestSetBit();if(0>f)return b;for(f>e&&(f=e),f>0&&(b.rShiftTo(f,b),c.rShiftTo(f,c));b.signum()>0;)(e=b.getLowestSetBit())>0&&b.rShiftTo(e,b),(e=c.getLowestSetBit())>0&&c.rShiftTo(e,c),b.compareTo(c)>=0?(b.subTo(c,b),b.rShiftTo(1,b)):(c.subTo(b,c),c.rShiftTo(1,c));return f>0&&c.lShiftTo(f,c),c}function bnpModInt(a){if(0>=a)return 0;var b=this.DV%a,c=this.s<0?a-1:0;if(this.t>0)if(0==b)c=this[0]%a;else for(var d=this.t-1;d>=0;--d)c=(b*c+this[d])%a;return c}function bnModInverse(a){var b=a.isEven();if(this.isEven()&&b||0==a.signum())return BigInteger.ZERO;for(var c=a.clone(),d=this.clone(),e=nbv(1),f=nbv(0),g=nbv(0),h=nbv(1);0!=c.signum();){for(;c.isEven();)c.rShiftTo(1,c),b?(e.isEven()&&f.isEven()||(e.addTo(this,e),f.subTo(a,f)),e.rShiftTo(1,e)):f.isEven()||f.subTo(a,f),f.rShiftTo(1,f);for(;d.isEven();)d.rShiftTo(1,d),b?(g.isEven()&&h.isEven()||(g.addTo(this,g),h.subTo(a,h)),g.rShiftTo(1,g)):h.isEven()||h.subTo(a,h),h.rShiftTo(1,h);c.compareTo(d)>=0?(c.subTo(d,c),b&&e.subTo(g,e),f.subTo(h,f)):(d.subTo(c,d),b&&g.subTo(e,g),h.subTo(f,h))}return 0!=d.compareTo(BigInteger.ONE)?BigInteger.ZERO:h.compareTo(a)>=0?h.subtract(a):h.signum()<0?(h.addTo(a,h),h.signum()<0?h.add(a):h):h}function bnIsProbablePrime(a){var b,c=this.abs();if(1==c.t&&c[0]<=lowprimes[lowprimes.length-1]){for(b=0;b<lowprimes.length;++b)if(c[0]==lowprimes[b])return!0;return!1}if(c.isEven())return!1;for(b=1;b<lowprimes.length;){for(var d=lowprimes[b],e=b+1;e<lowprimes.length&&lplim>d;)d*=lowprimes[e++];for(d=c.modInt(d);e>b;)if(d%lowprimes[b++]==0)return!1}return c.millerRabin(a)}function bnpMillerRabin(a){var b=this.subtract(BigInteger.ONE),c=b.getLowestSetBit();if(0>=c)return!1;var d=b.shiftRight(c);a=a+1>>1,a>lowprimes.length&&(a=lowprimes.length);for(var e=nbi(),f=0;a>f;++f){e.fromInt(lowprimes[Math.floor(Math.random()*lowprimes.length)]);var g=e.modPow(d,this);if(0!=g.compareTo(BigInteger.ONE)&&0!=g.compareTo(b)){for(var h=1;h++<c&&0!=g.compareTo(b);)if(g=g.modPowInt(2,this),0==g.compareTo(BigInteger.ONE))return!1;if(0!=g.compareTo(b))return!1}}return!0}function Arcfour(){this.i=0,this.j=0,this.S=new Array}function ARC4init(a){var b,c,d;for(b=0;256>b;++b)this.S[b]=b;for(c=0,b=0;256>b;++b)c=c+this.S[b]+a[b%a.length]&255,d=this.S[b],this.S[b]=this.S[c],this.S[c]=d;this.i=0,this.j=0}function ARC4next(){var a;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,a=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=a,this.S[a+this.S[this.i]&255]}function prng_newstate(){return new Arcfour}function rng_get_byte(){if(null==rng_state){for(rng_state=prng_newstate();rng_psize>rng_pptr;){var a=Math.floor(65536*Math.random());rng_pool[rng_pptr++]=255&a}for(rng_state.init(rng_pool),rng_pptr=0;rng_pptr<rng_pool.length;++rng_pptr)rng_pool[rng_pptr]=0;rng_pptr=0}return rng_state.next()}function rng_get_bytes(a){var b;for(b=0;b<a.length;++b)a[b]=rng_get_byte()}function SecureRandom(){}function parseBigInt(a,b){return new BigInteger(a,b)}function linebrk(a,b){for(var c="",d=0;d+b<a.length;)c+=a.substring(d,d+b)+"\n",d+=b;return c+a.substring(d,a.length)}function byte2Hex(a){return 16>a?"0"+a.toString(16):a.toString(16)}function pkcs1pad2(a,b){if(b<a.length+11)return console.error("Message too long for RSA"),null;for(var c=new Array,d=a.length-1;d>=0&&b>0;){var e=a.charCodeAt(d--);128>e?c[--b]=e:e>127&&2048>e?(c[--b]=63&e|128,c[--b]=e>>6|192):(c[--b]=63&e|128,c[--b]=e>>6&63|128,c[--b]=e>>12|224)}c[--b]=0;for(var f=new SecureRandom,g=new Array;b>2;){for(g[0]=0;0==g[0];)f.nextBytes(g);c[--b]=g[0]}return c[--b]=2,c[--b]=0,new BigInteger(c)}function RSAKey(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}function RSASetPublic(a,b){null!=a&&null!=b&&a.length>0&&b.length>0?(this.n=parseBigInt(a,16),this.e=parseInt(b,16)):console.error("Invalid RSA public key")}function RSADoPublic(a){return a.modPowInt(this.e,this.n)}function RSAEncrypt(a){var b=pkcs1pad2(a,this.n.bitLength()+7>>3);if(null==b)return null;var c=this.doPublic(b);if(null==c)return null;var d=c.toString(16);return 0==(1&d.length)?d:"0"+d}function pkcs1unpad2(a,b){for(var c=a.toByteArray(),d=0;d<c.length&&0==c[d];)++d;if(c.length-d!=b-1||2!=c[d])return null;for(++d;0!=c[d];)if(++d>=c.length)return null;for(var e="";++d<c.length;){var f=255&c[d];128>f?e+=String.fromCharCode(f):f>191&&224>f?(e+=String.fromCharCode((31&f)<<6|63&c[d+1]),++d):(e+=String.fromCharCode((15&f)<<12|(63&c[d+1])<<6|63&c[d+2]),d+=2)}return e}function RSASetPrivate(a,b,c){null!=a&&null!=b&&a.length>0&&b.length>0?(this.n=parseBigInt(a,16),this.e=parseInt(b,16),this.d=parseBigInt(c,16)):console.error("Invalid RSA private key")}function RSASetPrivateEx(a,b,c,d,e,f,g,h){null!=a&&null!=b&&a.length>0&&b.length>0?(this.n=parseBigInt(a,16),this.e=parseInt(b,16),this.d=parseBigInt(c,16),this.p=parseBigInt(d,16),this.q=parseBigInt(e,16),this.dmp1=parseBigInt(f,16),this.dmq1=parseBigInt(g,16),this.coeff=parseBigInt(h,16)):console.error("Invalid RSA private key")}function RSAGenerate(a,b){var c=new SecureRandom,d=a>>1;this.e=parseInt(b,16);for(var e=new BigInteger(b,16);;){for(;this.p=new BigInteger(a-d,1,c),0!=this.p.subtract(BigInteger.ONE).gcd(e).compareTo(BigInteger.ONE)||!this.p.isProbablePrime(10););for(;this.q=new BigInteger(d,1,c),0!=this.q.subtract(BigInteger.ONE).gcd(e).compareTo(BigInteger.ONE)||!this.q.isProbablePrime(10););if(this.p.compareTo(this.q)<=0){var f=this.p;this.p=this.q,this.q=f}var g=this.p.subtract(BigInteger.ONE),h=this.q.subtract(BigInteger.ONE),i=g.multiply(h);if(0==i.gcd(e).compareTo(BigInteger.ONE)){this.n=this.p.multiply(this.q),this.d=e.modInverse(i),this.dmp1=this.d.mod(g),this.dmq1=this.d.mod(h),this.coeff=this.q.modInverse(this.p);break}}}function RSADoPrivate(a){if(null==this.p||null==this.q)return a.modPow(this.d,this.n);for(var b=a.mod(this.p).modPow(this.dmp1,this.p),c=a.mod(this.q).modPow(this.dmq1,this.q);b.compareTo(c)<0;)b=b.add(this.p);return b.subtract(c).multiply(this.coeff).mod(this.p).multiply(this.q).add(c)}function RSADecrypt(a){var b=parseBigInt(a,16),c=this.doPrivate(b);return null==c?null:pkcs1unpad2(c,this.n.bitLength()+7>>3)}function hex2b64(a){var b,c,d="";for(b=0;b+3<=a.length;b+=3)c=parseInt(a.substring(b,b+3),16),d+=b64map.charAt(c>>6)+b64map.charAt(63&c);for(b+1==a.length?(c=parseInt(a.substring(b,b+1),16),d+=b64map.charAt(c<<2)):b+2==a.length&&(c=parseInt(a.substring(b,b+2),16),d+=b64map.charAt(c>>2)+b64map.charAt((3&c)<<4));(3&d.length)>0;)d+=b64pad;return d}function b64tohex(a){var b,c,d="",e=0;for(b=0;b<a.length&&a.charAt(b)!=b64pad;++b)v=b64map.indexOf(a.charAt(b)),v<0||(0==e?(d+=int2char(v>>2),c=3&v,e=1):1==e?(d+=int2char(c<<2|v>>4),c=15&v,e=2):2==e?(d+=int2char(c),d+=int2char(v>>2),c=3&v,e=3):(d+=int2char(c<<2|v>>4),d+=int2char(15&v),e=0));return 1==e&&(d+=int2char(c<<2)),d}function b64toBA(a){var b,c=b64tohex(a),d=new Array;for(b=0;2*b<c.length;++b)d[b]=parseInt(c.substring(2*b,2*b+2),16);return d}var dbits,canary=0xdeadbeefcafe,j_lm=15715070==(16777215&canary);j_lm&&"Microsoft Internet Explorer"==navigator.appName?(BigInteger.prototype.am=am2,dbits=30):j_lm&&"Netscape"!=navigator.appName?(BigInteger.prototype.am=am1,dbits=26):(BigInteger.prototype.am=am3,dbits=28),BigInteger.prototype.DB=dbits,BigInteger.prototype.DM=(1<<dbits)-1,BigInteger.prototype.DV=1<<dbits;var BI_FP=52;BigInteger.prototype.FV=Math.pow(2,BI_FP),BigInteger.prototype.F1=BI_FP-dbits,BigInteger.prototype.F2=2*dbits-BI_FP;var BI_RM="0123456789abcdefghijklmnopqrstuvwxyz",BI_RC=new Array,rr,vv;for(rr="0".charCodeAt(0),vv=0;9>=vv;++vv)BI_RC[rr++]=vv;for(rr="a".charCodeAt(0),vv=10;36>vv;++vv)BI_RC[rr++]=vv;for(rr="A".charCodeAt(0),vv=10;36>vv;++vv)BI_RC[rr++]=vv;Classic.prototype.convert=cConvert,Classic.prototype.revert=cRevert,Classic.prototype.reduce=cReduce,Classic.prototype.mulTo=cMulTo,Classic.prototype.sqrTo=cSqrTo,Montgomery.prototype.convert=montConvert,Montgomery.prototype.revert=montRevert,Montgomery.prototype.reduce=montReduce,Montgomery.prototype.mulTo=montMulTo,Montgomery.prototype.sqrTo=montSqrTo,BigInteger.prototype.copyTo=bnpCopyTo,BigInteger.prototype.fromInt=bnpFromInt,BigInteger.prototype.fromString=bnpFromString,BigInteger.prototype.clamp=bnpClamp,BigInteger.prototype.dlShiftTo=bnpDLShiftTo,BigInteger.prototype.drShiftTo=bnpDRShiftTo,BigInteger.prototype.lShiftTo=bnpLShiftTo,BigInteger.prototype.rShiftTo=bnpRShiftTo,BigInteger.prototype.subTo=bnpSubTo,BigInteger.prototype.multiplyTo=bnpMultiplyTo,BigInteger.prototype.squareTo=bnpSquareTo,BigInteger.prototype.divRemTo=bnpDivRemTo,BigInteger.prototype.invDigit=bnpInvDigit,BigInteger.prototype.isEven=bnpIsEven,BigInteger.prototype.exp=bnpExp,BigInteger.prototype.toString=bnToString,BigInteger.prototype.negate=bnNegate,BigInteger.prototype.abs=bnAbs,BigInteger.prototype.compareTo=bnCompareTo,BigInteger.prototype.bitLength=bnBitLength,BigInteger.prototype.mod=bnMod,BigInteger.prototype.modPowInt=bnModPowInt,BigInteger.ZERO=nbv(0),BigInteger.ONE=nbv(1),NullExp.prototype.convert=nNop,NullExp.prototype.revert=nNop,NullExp.prototype.mulTo=nMulTo,NullExp.prototype.sqrTo=nSqrTo,Barrett.prototype.convert=barrettConvert,Barrett.prototype.revert=barrettRevert,Barrett.prototype.reduce=barrettReduce,Barrett.prototype.mulTo=barrettMulTo,Barrett.prototype.sqrTo=barrettSqrTo;var lowprimes=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],lplim=(1<<26)/lowprimes[lowprimes.length-1];BigInteger.prototype.chunkSize=bnpChunkSize,BigInteger.prototype.toRadix=bnpToRadix,BigInteger.prototype.fromRadix=bnpFromRadix,BigInteger.prototype.fromNumber=bnpFromNumber,BigInteger.prototype.bitwiseTo=bnpBitwiseTo,BigInteger.prototype.changeBit=bnpChangeBit,BigInteger.prototype.addTo=bnpAddTo,BigInteger.prototype.dMultiply=bnpDMultiply,BigInteger.prototype.dAddOffset=bnpDAddOffset,BigInteger.prototype.multiplyLowerTo=bnpMultiplyLowerTo,BigInteger.prototype.multiplyUpperTo=bnpMultiplyUpperTo,BigInteger.prototype.modInt=bnpModInt,BigInteger.prototype.millerRabin=bnpMillerRabin,BigInteger.prototype.clone=bnClone,BigInteger.prototype.intValue=bnIntValue,BigInteger.prototype.byteValue=bnByteValue,BigInteger.prototype.shortValue=bnShortValue,BigInteger.prototype.signum=bnSigNum,BigInteger.prototype.toByteArray=bnToByteArray,BigInteger.prototype.equals=bnEquals,BigInteger.prototype.min=bnMin,BigInteger.prototype.max=bnMax,BigInteger.prototype.and=bnAnd,BigInteger.prototype.or=bnOr,BigInteger.prototype.xor=bnXor,BigInteger.prototype.andNot=bnAndNot,BigInteger.prototype.not=bnNot,BigInteger.prototype.shiftLeft=bnShiftLeft,BigInteger.prototype.shiftRight=bnShiftRight,BigInteger.prototype.getLowestSetBit=bnGetLowestSetBit,BigInteger.prototype.bitCount=bnBitCount,BigInteger.prototype.testBit=bnTestBit,BigInteger.prototype.setBit=bnSetBit,BigInteger.prototype.clearBit=bnClearBit,BigInteger.prototype.flipBit=bnFlipBit,BigInteger.prototype.add=bnAdd,BigInteger.prototype.subtract=bnSubtract,BigInteger.prototype.multiply=bnMultiply,BigInteger.prototype.divide=bnDivide,BigInteger.prototype.remainder=bnRemainder,BigInteger.prototype.divideAndRemainder=bnDivideAndRemainder,BigInteger.prototype.modPow=bnModPow,BigInteger.prototype.modInverse=bnModInverse,BigInteger.prototype.pow=bnPow,BigInteger.prototype.gcd=bnGCD,BigInteger.prototype.isProbablePrime=bnIsProbablePrime,BigInteger.prototype.square=bnSquare,Arcfour.prototype.init=ARC4init,Arcfour.prototype.next=ARC4next;var rng_psize=256,rng_state,rng_pool,rng_pptr;if(null==rng_pool){rng_pool=new Array,rng_pptr=0;var t;if(window.crypto&&window.crypto.getRandomValues){var z=new Uint32Array(256);for(window.crypto.getRandomValues(z),t=0;t<z.length;++t)rng_pool[rng_pptr++]=255&z[t]}var onMouseMoveListener=function(a){if(this.count=this.count||0,this.count>=256||rng_pptr>=rng_psize)return void(window.removeEventListener?window.removeEventListener("mousemove",onMouseMoveListener):window.detachEvent&&window.detachEvent("onmousemove",onMouseMoveListener));this.count+=1;var b=a.x+a.y;rng_pool[rng_pptr++]=255&b};window.addEventListener?window.addEventListener("mousemove",onMouseMoveListener):window.attachEvent&&window.attachEvent("onmousemove",onMouseMoveListener)}SecureRandom.prototype.nextBytes=rng_get_bytes,RSAKey.prototype.doPublic=RSADoPublic,RSAKey.prototype.setPublic=RSASetPublic,RSAKey.prototype.encrypt=RSAEncrypt,RSAKey.prototype.doPrivate=RSADoPrivate,RSAKey.prototype.setPrivate=RSASetPrivate,RSAKey.prototype.setPrivateEx=RSASetPrivateEx,RSAKey.prototype.generate=RSAGenerate,RSAKey.prototype.decrypt=RSADecrypt,function(){var a=function(a,b,c){var d=new SecureRandom,e=a>>1;this.e=parseInt(b,16);var f=new BigInteger(b,16),g=this,h=function(){var b=function(){if(g.p.compareTo(g.q)<=0){var a=g.p;g.p=g.q,g.q=a}var b=g.p.subtract(BigInteger.ONE),d=g.q.subtract(BigInteger.ONE),e=b.multiply(d);0==e.gcd(f).compareTo(BigInteger.ONE)?(g.n=g.p.multiply(g.q),g.d=f.modInverse(e),g.dmp1=g.d.mod(b),g.dmq1=g.d.mod(d),g.coeff=g.q.modInverse(g.p),setTimeout(function(){c()},0)):setTimeout(h,0)},i=function(){g.q=nbi(),g.q.fromNumberAsync(e,1,d,function(){g.q.subtract(BigInteger.ONE).gcda(f,function(a){0==a.compareTo(BigInteger.ONE)&&g.q.isProbablePrime(10)?setTimeout(b,0):setTimeout(i,0)})})},j=function(){g.p=nbi(),g.p.fromNumberAsync(a-e,1,d,function(){g.p.subtract(BigInteger.ONE).gcda(f,function(a){0==a.compareTo(BigInteger.ONE)&&g.p.isProbablePrime(10)?setTimeout(i,0):setTimeout(j,0)})})};setTimeout(j,0)};setTimeout(h,0)};RSAKey.prototype.generateAsync=a;var b=function(a,b){var c=this.s<0?this.negate():this.clone(),d=a.s<0?a.negate():a.clone();if(c.compareTo(d)<0){var e=c;c=d,d=e}var f=c.getLowestSetBit(),g=d.getLowestSetBit();if(0>g)return void b(c);g>f&&(g=f),g>0&&(c.rShiftTo(g,c),d.rShiftTo(g,d));var h=function(){(f=c.getLowestSetBit())>0&&c.rShiftTo(f,c),(f=d.getLowestSetBit())>0&&d.rShiftTo(f,d),c.compareTo(d)>=0?(c.subTo(d,c),c.rShiftTo(1,c)):(d.subTo(c,d),d.rShiftTo(1,d)),c.signum()>0?setTimeout(h,0):(g>0&&d.lShiftTo(g,d),setTimeout(function(){b(d)},0))};setTimeout(h,10)};BigInteger.prototype.gcda=b;var c=function(a,b,c,d){if("number"==typeof b)if(2>a)this.fromInt(1);else{this.fromNumber(a,c),this.testBit(a-1)||this.bitwiseTo(BigInteger.ONE.shiftLeft(a-1),op_or,this),this.isEven()&&this.dAddOffset(1,0);var e=this,f=function(){e.dAddOffset(2,0),e.bitLength()>a&&e.subTo(BigInteger.ONE.shiftLeft(a-1),e),e.isProbablePrime(b)?setTimeout(function(){d()},0):setTimeout(f,0)};setTimeout(f,0)}else{var g=new Array,h=7&a;g.length=(a>>3)+1,b.nextBytes(g),h>0?g[0]&=(1<<h)-1:g[0]=0,this.fromString(g,256)}};BigInteger.prototype.fromNumberAsync=c}();var b64map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",b64pad="=",JSX=JSX||{};JSX.env=JSX.env||{};var L=JSX,OP=Object.prototype,FUNCTION_TOSTRING="[object Function]",ADD=["toString","valueOf"];JSX.env.parseUA=function(a){var b,c=function(a){var b=0;return parseFloat(a.replace(/\./g,function(){return 1==b++?"":"."}))},d=navigator,e={ie:0,opera:0,gecko:0,webkit:0,chrome:0,mobile:null,air:0,ipad:0,iphone:0,ipod:0,ios:null,android:0,webos:0,caja:d&&d.cajaVersion,secure:!1,os:null},f=a||navigator&&navigator.userAgent,g=window&&window.location,h=g&&g.href;return e.secure=h&&0===h.toLowerCase().indexOf("https"),f&&(/windows|win32/i.test(f)?e.os="windows":/macintosh/i.test(f)?e.os="macintosh":/rhino/i.test(f)&&(e.os="rhino"),/KHTML/.test(f)&&(e.webkit=1),b=f.match(/AppleWebKit\/([^\s]*)/),b&&b[1]&&(e.webkit=c(b[1]),/ Mobile\//.test(f)?(e.mobile="Apple",b=f.match(/OS ([^\s]*)/),b&&b[1]&&(b=c(b[1].replace("_","."))),e.ios=b,e.ipad=e.ipod=e.iphone=0,b=f.match(/iPad|iPod|iPhone/),b&&b[0]&&(e[b[0].toLowerCase()]=e.ios)):(b=f.match(/NokiaN[^\/]*|Android \d\.\d|webOS\/\d\.\d/),b&&(e.mobile=b[0]),/webOS/.test(f)&&(e.mobile="WebOS",b=f.match(/webOS\/([^\s]*);/),b&&b[1]&&(e.webos=c(b[1]))),/ Android/.test(f)&&(e.mobile="Android",b=f.match(/Android ([^\s]*);/),b&&b[1]&&(e.android=c(b[1])))),b=f.match(/Chrome\/([^\s]*)/),b&&b[1]?e.chrome=c(b[1]):(b=f.match(/AdobeAIR\/([^\s]*)/),b&&(e.air=b[0]))),e.webkit||(b=f.match(/Opera[\s\/]([^\s]*)/),b&&b[1]?(e.opera=c(b[1]),b=f.match(/Version\/([^\s]*)/),b&&b[1]&&(e.opera=c(b[1])),b=f.match(/Opera Mini[^;]*/),b&&(e.mobile=b[0])):(b=f.match(/MSIE\s([^;]*)/),b&&b[1]?e.ie=c(b[1]):(b=f.match(/Gecko\/([^\s]*)/),b&&(e.gecko=1,b=f.match(/rv:([^\s\)]*)/),b&&b[1]&&(e.gecko=c(b[1]))))))),e},JSX.env.ua=JSX.env.parseUA(),JSX.isFunction=function(a){return"function"==typeof a||OP.toString.apply(a)===FUNCTION_TOSTRING},JSX._IEEnumFix=JSX.env.ua.ie?function(a,b){var c,d,e;for(c=0;c<ADD.length;c+=1)d=ADD[c],e=b[d],L.isFunction(e)&&e!=OP[d]&&(a[d]=e)}:function(){},JSX.extend=function(a,b,c){if(!b||!a)throw new Error("extend failed, please check that all dependencies are included.");var d,e=function(){};if(e.prototype=b.prototype,a.prototype=new e,a.prototype.constructor=a,a.superclass=b.prototype,b.prototype.constructor==OP.constructor&&(b.prototype.constructor=b),c){for(d in c)L.hasOwnProperty(c,d)&&(a.prototype[d]=c[d]);L._IEEnumFix(a.prototype,c)}},"undefined"!=typeof KJUR&&KJUR||(KJUR={}),"undefined"!=typeof KJUR.asn1&&KJUR.asn1||(KJUR.asn1={}),KJUR.asn1.ASN1Util=new function(){this.integerToByteHex=function(a){var b=a.toString(16);return b.length%2==1&&(b="0"+b),b},this.bigIntToMinTwosComplementsHex=function(a){var b=a.toString(16);if("-"!=b.substr(0,1))b.length%2==1?b="0"+b:b.match(/^[0-7]/)||(b="00"+b); else{var c=b.substr(1),d=c.length;d%2==1?d+=1:b.match(/^[0-7]/)||(d+=2);for(var e="",f=0;d>f;f++)e+="f";var g=new BigInteger(e,16),h=g.xor(a).add(BigInteger.ONE);b=h.toString(16).replace(/^-/,"")}return b},this.getPEMStringFromHex=function(a,b){var c=CryptoJS.enc.Hex.parse(a),d=CryptoJS.enc.Base64.stringify(c),e=d.replace(/(.{64})/g,"$1\r\n");return e=e.replace(/\r\n$/,""),"-----BEGIN "+b+"-----\r\n"+e+"\r\n-----END "+b+"-----\r\n"}},KJUR.asn1.ASN1Object=function(){var a="";this.getLengthHexFromValue=function(){if("undefined"==typeof this.hV||null==this.hV)throw"this.hV is null or undefined.";if(this.hV.length%2==1)throw"value hex must be even length: n="+a.length+",v="+this.hV;var b=this.hV.length/2,c=b.toString(16);if(c.length%2==1&&(c="0"+c),128>b)return c;var d=c.length/2;if(d>15)throw"ASN.1 length too long to represent by 8x: n = "+b.toString(16);var e=128+d;return e.toString(16)+c},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""}},KJUR.asn1.DERAbstractString=function(a){KJUR.asn1.DERAbstractString.superclass.constructor.call(this);this.getString=function(){return this.s},this.setString=function(a){this.hTLV=null,this.isModified=!0,this.s=a,this.hV=stohex(this.s)},this.setStringHex=function(a){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=a},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof a&&("undefined"!=typeof a.str?this.setString(a.str):"undefined"!=typeof a.hex&&this.setStringHex(a.hex))},JSX.extend(KJUR.asn1.DERAbstractString,KJUR.asn1.ASN1Object),KJUR.asn1.DERAbstractTime=function(){KJUR.asn1.DERAbstractTime.superclass.constructor.call(this);this.localDateToUTC=function(a){utc=a.getTime()+6e4*a.getTimezoneOffset();var b=new Date(utc);return b},this.formatDate=function(a,b){var c=this.zeroPadding,d=this.localDateToUTC(a),e=String(d.getFullYear());"utc"==b&&(e=e.substr(2,2));var f=c(String(d.getMonth()+1),2),g=c(String(d.getDate()),2),h=c(String(d.getHours()),2),i=c(String(d.getMinutes()),2),j=c(String(d.getSeconds()),2);return e+f+g+h+i+j+"Z"},this.zeroPadding=function(a,b){return a.length>=b?a:new Array(b-a.length+1).join("0")+a},this.getString=function(){return this.s},this.setString=function(a){this.hTLV=null,this.isModified=!0,this.s=a,this.hV=stohex(this.s)},this.setByDateValue=function(a,b,c,d,e,f){var g=new Date(Date.UTC(a,b-1,c,d,e,f,0));this.setByDate(g)},this.getFreshValueHex=function(){return this.hV}},JSX.extend(KJUR.asn1.DERAbstractTime,KJUR.asn1.ASN1Object),KJUR.asn1.DERAbstractStructured=function(a){KJUR.asn1.DERAbstractString.superclass.constructor.call(this);this.setByASN1ObjectArray=function(a){this.hTLV=null,this.isModified=!0,this.asn1Array=a},this.appendASN1Object=function(a){this.hTLV=null,this.isModified=!0,this.asn1Array.push(a)},this.asn1Array=new Array,"undefined"!=typeof a&&"undefined"!=typeof a.array&&(this.asn1Array=a.array)},JSX.extend(KJUR.asn1.DERAbstractStructured,KJUR.asn1.ASN1Object),KJUR.asn1.DERBoolean=function(){KJUR.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV="0101ff"},JSX.extend(KJUR.asn1.DERBoolean,KJUR.asn1.ASN1Object),KJUR.asn1.DERInteger=function(a){KJUR.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(a){this.hTLV=null,this.isModified=!0,this.hV=KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(a)},this.setByInteger=function(a){var b=new BigInteger(String(a),10);this.setByBigInteger(b)},this.setValueHex=function(a){this.hV=a},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof a&&("undefined"!=typeof a.bigint?this.setByBigInteger(a.bigint):"undefined"!=typeof a["int"]?this.setByInteger(a["int"]):"undefined"!=typeof a.hex&&this.setValueHex(a.hex))},JSX.extend(KJUR.asn1.DERInteger,KJUR.asn1.ASN1Object),KJUR.asn1.DERBitString=function(a){KJUR.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(a){this.hTLV=null,this.isModified=!0,this.hV=a},this.setUnusedBitsAndHexValue=function(a,b){if(0>a||a>7)throw"unused bits shall be from 0 to 7: u = "+a;var c="0"+a;this.hTLV=null,this.isModified=!0,this.hV=c+b},this.setByBinaryString=function(a){a=a.replace(/0+$/,"");var b=8-a.length%8;8==b&&(b=0);for(var c=0;b>=c;c++)a+="0";for(var d="",c=0;c<a.length-1;c+=8){var e=a.substr(c,8),f=parseInt(e,2).toString(16);1==f.length&&(f="0"+f),d+=f}this.hTLV=null,this.isModified=!0,this.hV="0"+b+d},this.setByBooleanArray=function(a){for(var b="",c=0;c<a.length;c++)b+=1==a[c]?"1":"0";this.setByBinaryString(b)},this.newFalseArray=function(a){for(var b=new Array(a),c=0;a>c;c++)b[c]=!1;return b},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof a&&("undefined"!=typeof a.hex?this.setHexValueIncludingUnusedBits(a.hex):"undefined"!=typeof a.bin?this.setByBinaryString(a.bin):"undefined"!=typeof a.array&&this.setByBooleanArray(a.array))},JSX.extend(KJUR.asn1.DERBitString,KJUR.asn1.ASN1Object),KJUR.asn1.DEROctetString=function(a){KJUR.asn1.DEROctetString.superclass.constructor.call(this,a),this.hT="04"},JSX.extend(KJUR.asn1.DEROctetString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERNull=function(){KJUR.asn1.DERNull.superclass.constructor.call(this),this.hT="05",this.hTLV="0500"},JSX.extend(KJUR.asn1.DERNull,KJUR.asn1.ASN1Object),KJUR.asn1.DERObjectIdentifier=function(a){var b=function(a){var b=a.toString(16);return 1==b.length&&(b="0"+b),b},c=function(a){var c="",d=new BigInteger(a,10),e=d.toString(2),f=7-e.length%7;7==f&&(f=0);for(var g="",h=0;f>h;h++)g+="0";e=g+e;for(var h=0;h<e.length-1;h+=7){var i=e.substr(h,7);h!=e.length-7&&(i="1"+i),c+=b(parseInt(i,2))}return c};KJUR.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT="06",this.setValueHex=function(a){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=a},this.setValueOidString=function(a){if(!a.match(/^[0-9.]+$/))throw"malformed oid string: "+a;var d="",e=a.split("."),f=40*parseInt(e[0])+parseInt(e[1]);d+=b(f),e.splice(0,2);for(var g=0;g<e.length;g++)d+=c(e[g]);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=d},this.setValueName=function(a){if("undefined"==typeof KJUR.asn1.x509.OID.name2oidList[a])throw"DERObjectIdentifier oidName undefined: "+a;var b=KJUR.asn1.x509.OID.name2oidList[a];this.setValueOidString(b)},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof a&&("undefined"!=typeof a.oid?this.setValueOidString(a.oid):"undefined"!=typeof a.hex?this.setValueHex(a.hex):"undefined"!=typeof a.name&&this.setValueName(a.name))},JSX.extend(KJUR.asn1.DERObjectIdentifier,KJUR.asn1.ASN1Object),KJUR.asn1.DERUTF8String=function(a){KJUR.asn1.DERUTF8String.superclass.constructor.call(this,a),this.hT="0c"},JSX.extend(KJUR.asn1.DERUTF8String,KJUR.asn1.DERAbstractString),KJUR.asn1.DERNumericString=function(a){KJUR.asn1.DERNumericString.superclass.constructor.call(this,a),this.hT="12"},JSX.extend(KJUR.asn1.DERNumericString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERPrintableString=function(a){KJUR.asn1.DERPrintableString.superclass.constructor.call(this,a),this.hT="13"},JSX.extend(KJUR.asn1.DERPrintableString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERTeletexString=function(a){KJUR.asn1.DERTeletexString.superclass.constructor.call(this,a),this.hT="14"},JSX.extend(KJUR.asn1.DERTeletexString,KJUR.asn1.DERAbstractString),KJUR.asn1.DERIA5String=function(a){KJUR.asn1.DERIA5String.superclass.constructor.call(this,a),this.hT="16"},JSX.extend(KJUR.asn1.DERIA5String,KJUR.asn1.DERAbstractString),KJUR.asn1.DERUTCTime=function(a){KJUR.asn1.DERUTCTime.superclass.constructor.call(this,a),this.hT="17",this.setByDate=function(a){this.hTLV=null,this.isModified=!0,this.date=a,this.s=this.formatDate(this.date,"utc"),this.hV=stohex(this.s)},"undefined"!=typeof a&&("undefined"!=typeof a.str?this.setString(a.str):"undefined"!=typeof a.hex?this.setStringHex(a.hex):"undefined"!=typeof a.date&&this.setByDate(a.date))},JSX.extend(KJUR.asn1.DERUTCTime,KJUR.asn1.DERAbstractTime),KJUR.asn1.DERGeneralizedTime=function(a){KJUR.asn1.DERGeneralizedTime.superclass.constructor.call(this,a),this.hT="18",this.setByDate=function(a){this.hTLV=null,this.isModified=!0,this.date=a,this.s=this.formatDate(this.date,"gen"),this.hV=stohex(this.s)},"undefined"!=typeof a&&("undefined"!=typeof a.str?this.setString(a.str):"undefined"!=typeof a.hex?this.setStringHex(a.hex):"undefined"!=typeof a.date&&this.setByDate(a.date))},JSX.extend(KJUR.asn1.DERGeneralizedTime,KJUR.asn1.DERAbstractTime),KJUR.asn1.DERSequence=function(a){KJUR.asn1.DERSequence.superclass.constructor.call(this,a),this.hT="30",this.getFreshValueHex=function(){for(var a="",b=0;b<this.asn1Array.length;b++){var c=this.asn1Array[b];a+=c.getEncodedHex()}return this.hV=a,this.hV}},JSX.extend(KJUR.asn1.DERSequence,KJUR.asn1.DERAbstractStructured),KJUR.asn1.DERSet=function(a){KJUR.asn1.DERSet.superclass.constructor.call(this,a),this.hT="31",this.getFreshValueHex=function(){for(var a=new Array,b=0;b<this.asn1Array.length;b++){var c=this.asn1Array[b];a.push(c.getEncodedHex())}return a.sort(),this.hV=a.join(""),this.hV}},JSX.extend(KJUR.asn1.DERSet,KJUR.asn1.DERAbstractStructured),KJUR.asn1.DERTaggedObject=function(a){KJUR.asn1.DERTaggedObject.superclass.constructor.call(this),this.hT="a0",this.hV="",this.isExplicit=!0,this.asn1Object=null,this.setASN1Object=function(a,b,c){this.hT=b,this.isExplicit=a,this.asn1Object=c,this.isExplicit?(this.hV=this.asn1Object.getEncodedHex(),this.hTLV=null,this.isModified=!0):(this.hV=null,this.hTLV=c.getEncodedHex(),this.hTLV=this.hTLV.replace(/^../,b),this.isModified=!1)},this.getFreshValueHex=function(){return this.hV},"undefined"!=typeof a&&("undefined"!=typeof a.tag&&(this.hT=a.tag),"undefined"!=typeof a.explicit&&(this.isExplicit=a.explicit),"undefined"!=typeof a.obj&&(this.asn1Object=a.obj,this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)))},JSX.extend(KJUR.asn1.DERTaggedObject,KJUR.asn1.ASN1Object),function(a){"use strict";var b,c={};c.decode=function(c){var d;if(b===a){var e="0123456789ABCDEF",f=" \f\n\r 脗 \u2028\u2029";for(b=[],d=0;16>d;++d)b[e.charAt(d)]=d;for(e=e.toLowerCase(),d=10;16>d;++d)b[e.charAt(d)]=d;for(d=0;d<f.length;++d)b[f.charAt(d)]=-1}var g=[],h=0,i=0;for(d=0;d<c.length;++d){var j=c.charAt(d);if("="==j)break;if(j=b[j],-1!=j){if(j===a)throw"Illegal character at offset "+d;h|=j,++i>=2?(g[g.length]=h,h=0,i=0):h<<=4}}if(i)throw"Hex encoding incomplete: 4 bits missing";return g},window.Hex=c}(),function(a){"use strict";var b,c={};c.decode=function(c){var d;if(b===a){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",f="= \f\n\r 脗 \u2028\u2029";for(b=[],d=0;64>d;++d)b[e.charAt(d)]=d;for(d=0;d<f.length;++d)b[f.charAt(d)]=-1}var g=[],h=0,i=0;for(d=0;d<c.length;++d){var j=c.charAt(d);if("="==j)break;if(j=b[j],-1!=j){if(j===a)throw"Illegal character at offset "+d;h|=j,++i>=4?(g[g.length]=h>>16,g[g.length]=h>>8&255,g[g.length]=255&h,h=0,i=0):h<<=6}}switch(i){case 1:throw"Base64 encoding incomplete: at least 2 bits missing";case 2:g[g.length]=h>>10;break;case 3:g[g.length]=h>>16,g[g.length]=h>>8&255}return g},c.re=/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/,c.unarmor=function(a){var b=c.re.exec(a);if(b)if(b[1])a=b[1];else{if(!b[2])throw"RegExp out of sync";a=b[2]}return c.decode(a)},window.Base64=c}(),function(a){"use strict";function b(a,c){a instanceof b?(this.enc=a.enc,this.pos=a.pos):(this.enc=a,this.pos=c)}function c(a,b,c,d,e){this.stream=a,this.header=b,this.length=c,this.tag=d,this.sub=e}var d=100,e="芒鈧�",f={tag:function(a,b){var c=document.createElement(a);return c.className=b,c},text:function(a){return document.createTextNode(a)}};b.prototype.get=function(b){if(b===a&&(b=this.pos++),b>=this.enc.length)throw"Requesting byte offset "+b+" on a stream of length "+this.enc.length;return this.enc[b]},b.prototype.hexDigits="0123456789ABCDEF",b.prototype.hexByte=function(a){return this.hexDigits.charAt(a>>4&15)+this.hexDigits.charAt(15&a)},b.prototype.hexDump=function(a,b,c){for(var d="",e=a;b>e;++e)if(d+=this.hexByte(this.get(e)),c!==!0)switch(15&e){case 7:d+=" ";break;case 15:d+="\n";break;default:d+=" "}return d},b.prototype.parseStringISO=function(a,b){for(var c="",d=a;b>d;++d)c+=String.fromCharCode(this.get(d));return c},b.prototype.parseStringUTF=function(a,b){for(var c="",d=a;b>d;){var e=this.get(d++);c+=String.fromCharCode(128>e?e:e>191&&224>e?(31&e)<<6|63&this.get(d++):(15&e)<<12|(63&this.get(d++))<<6|63&this.get(d++))}return c},b.prototype.parseStringBMP=function(a,b){for(var c="",d=a;b>d;d+=2){var e=this.get(d),f=this.get(d+1);c+=String.fromCharCode((e<<8)+f)}return c},b.prototype.reTime=/^((?:1[89]|2\d)?\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/,b.prototype.parseTime=function(a,b){var c=this.parseStringISO(a,b),d=this.reTime.exec(c);return d?(c=d[1]+"-"+d[2]+"-"+d[3]+" "+d[4],d[5]&&(c+=":"+d[5],d[6]&&(c+=":"+d[6],d[7]&&(c+="."+d[7]))),d[8]&&(c+=" UTC","Z"!=d[8]&&(c+=d[8],d[9]&&(c+=":"+d[9]))),c):"Unrecognized time: "+c},b.prototype.parseInteger=function(a,b){var c=b-a;if(c>4){c<<=3;var d=this.get(a);if(0===d)c-=8;else for(;128>d;)d<<=1,--c;return"("+c+" bit)"}for(var e=0,f=a;b>f;++f)e=e<<8|this.get(f);return e},b.prototype.parseBitString=function(a,b){var c=this.get(a),d=(b-a-1<<3)-c,e="("+d+" bit)";if(20>=d){var f=c;e+=" ";for(var g=b-1;g>a;--g){for(var h=this.get(g),i=f;8>i;++i)e+=h>>i&1?"1":"0";f=0}}return e},b.prototype.parseOctetString=function(a,b){var c=b-a,f="("+c+" byte) ";c>d&&(b=a+d);for(var g=a;b>g;++g)f+=this.hexByte(this.get(g));return c>d&&(f+=e),f},b.prototype.parseOID=function(a,b){for(var c="",d=0,e=0,f=a;b>f;++f){var g=this.get(f);if(d=d<<7|127&g,e+=7,!(128&g)){if(""===c){var h=80>d?40>d?0:1:2;c=h+"."+(d-40*h)}else c+="."+(e>=31?"bigint":d);d=e=0}}return c},c.prototype.typeName=function(){if(this.tag===a)return"unknown";var b=this.tag>>6,c=(this.tag>>5&1,31&this.tag);switch(b){case 0:switch(c){case 0:return"EOC";case 1:return"BOOLEAN";case 2:return"INTEGER";case 3:return"BIT_STRING";case 4:return"OCTET_STRING";case 5:return"NULL";case 6:return"OBJECT_IDENTIFIER";case 7:return"ObjectDescriptor";case 8:return"EXTERNAL";case 9:return"REAL";case 10:return"ENUMERATED";case 11:return"EMBEDDED_PDV";case 12:return"UTF8String";case 16:return"SEQUENCE";case 17:return"SET";case 18:return"NumericString";case 19:return"PrintableString";case 20:return"TeletexString";case 21:return"VideotexString";case 22:return"IA5String";case 23:return"UTCTime";case 24:return"GeneralizedTime";case 25:return"GraphicString";case 26:return"VisibleString";case 27:return"GeneralString";case 28:return"UniversalString";case 30:return"BMPString";default:return"Universal_"+c.toString(16)}case 1:return"Application_"+c.toString(16);case 2:return"["+c+"]";case 3:return"Private_"+c.toString(16)}},c.prototype.reSeemsASCII=/^[ -~]+$/,c.prototype.content=function(){if(this.tag===a)return null;var b=this.tag>>6,c=31&this.tag,f=this.posContent(),g=Math.abs(this.length);if(0!==b){if(null!==this.sub)return"("+this.sub.length+" elem)";var h=this.stream.parseStringISO(f,f+Math.min(g,d));return this.reSeemsASCII.test(h)?h.substring(0,2*d)+(h.length>2*d?e:""):this.stream.parseOctetString(f,f+g)}switch(c){case 1:return 0===this.stream.get(f)?"false":"true";case 2:return this.stream.parseInteger(f,f+g);case 3:return this.sub?"("+this.sub.length+" elem)":this.stream.parseBitString(f,f+g);case 4:return this.sub?"("+this.sub.length+" elem)":this.stream.parseOctetString(f,f+g);case 6:return this.stream.parseOID(f,f+g);case 16:case 17:return"("+this.sub.length+" elem)";case 12:return this.stream.parseStringUTF(f,f+g);case 18:case 19:case 20:case 21:case 22:case 26:return this.stream.parseStringISO(f,f+g);case 30:return this.stream.parseStringBMP(f,f+g);case 23:case 24:return this.stream.parseTime(f,f+g)}return null},c.prototype.toString=function(){return this.typeName()+"@"+this.stream.pos+"[header:"+this.header+",length:"+this.length+",sub:"+(null===this.sub?"null":this.sub.length)+"]"},c.prototype.print=function(b){if(b===a&&(b=""),document.writeln(b+this),null!==this.sub){b+=" ";for(var c=0,d=this.sub.length;d>c;++c)this.sub[c].print(b)}},c.prototype.toPrettyString=function(b){b===a&&(b="");var c=b+this.typeName()+" @"+this.stream.pos;if(this.length>=0&&(c+="+"),c+=this.length,32&this.tag?c+=" (constructed)":3!=this.tag&&4!=this.tag||null===this.sub||(c+=" (encapsulates)"),c+="\n",null!==this.sub){b+=" ";for(var d=0,e=this.sub.length;e>d;++d)c+=this.sub[d].toPrettyString(b)}return c},c.prototype.toDOM=function(){var a=f.tag("div","node");a.asn1=this;var b=f.tag("div","head"),c=this.typeName().replace(/_/g," ");b.innerHTML=c;var d=this.content();if(null!==d){d=String(d).replace(/</g,"<");var e=f.tag("span","preview");e.appendChild(f.text(d)),b.appendChild(e)}a.appendChild(b),this.node=a,this.head=b;var g=f.tag("div","value");if(c="Offset: "+this.stream.pos+"<br/>",c+="Length: "+this.header+"+",c+=this.length>=0?this.length:-this.length+" (undefined)",32&this.tag?c+="<br/>(constructed)":3!=this.tag&&4!=this.tag||null===this.sub||(c+="<br/>(encapsulates)"),null!==d&&(c+="<br/>Value:<br/><b>"+d+"</b>","object"==typeof oids&&6==this.tag)){var h=oids[d];h&&(h.d&&(c+="<br/>"+h.d),h.c&&(c+="<br/>"+h.c),h.w&&(c+="<br/>(warning!)"))}g.innerHTML=c,a.appendChild(g);var i=f.tag("div","sub");if(null!==this.sub)for(var j=0,k=this.sub.length;k>j;++j)i.appendChild(this.sub[j].toDOM());return a.appendChild(i),b.onclick=function(){a.className="node collapsed"==a.className?"node":"node collapsed"},a},c.prototype.posStart=function(){return this.stream.pos},c.prototype.posContent=function(){return this.stream.pos+this.header},c.prototype.posEnd=function(){return this.stream.pos+this.header+Math.abs(this.length)},c.prototype.fakeHover=function(a){this.node.className+=" hover",a&&(this.head.className+=" hover")},c.prototype.fakeOut=function(a){var b=/ ?hover/;this.node.className=this.node.className.replace(b,""),a&&(this.head.className=this.head.className.replace(b,""))},c.prototype.toHexDOM_sub=function(a,b,c,d,e){if(!(d>=e)){var g=f.tag("span",b);g.appendChild(f.text(c.hexDump(d,e))),a.appendChild(g)}},c.prototype.toHexDOM=function(b){var c=f.tag("span","hex");if(b===a&&(b=c),this.head.hexNode=c,this.head.onmouseover=function(){this.hexNode.className="hexCurrent"},this.head.onmouseout=function(){this.hexNode.className="hex"},c.asn1=this,c.onmouseover=function(){var a=!b.selected;a&&(b.selected=this.asn1,this.className="hexCurrent"),this.asn1.fakeHover(a)},c.onmouseout=function(){var a=b.selected==this.asn1;this.asn1.fakeOut(a),a&&(b.selected=null,this.className="hex")},this.toHexDOM_sub(c,"tag",this.stream,this.posStart(),this.posStart()+1),this.toHexDOM_sub(c,this.length>=0?"dlen":"ulen",this.stream,this.posStart()+1,this.posContent()),null===this.sub)c.appendChild(f.text(this.stream.hexDump(this.posContent(),this.posEnd())));else if(this.sub.length>0){var d=this.sub[0],e=this.sub[this.sub.length-1];this.toHexDOM_sub(c,"intro",this.stream,this.posContent(),d.posStart());for(var g=0,h=this.sub.length;h>g;++g)c.appendChild(this.sub[g].toHexDOM(b));this.toHexDOM_sub(c,"outro",this.stream,e.posEnd(),this.posEnd())}return c},c.prototype.toHexString=function(){return this.stream.hexDump(this.posStart(),this.posEnd(),!0)},c.decodeLength=function(a){var b=a.get(),c=127&b;if(c==b)return c;if(c>3)throw"Length over 24 bits not supported at position "+(a.pos-1);if(0===c)return-1;b=0;for(var d=0;c>d;++d)b=b<<8|a.get();return b},c.hasContent=function(a,d,e){if(32&a)return!0;if(3>a||a>4)return!1;var f=new b(e);3==a&&f.get();var g=f.get();if(g>>6&1)return!1;try{var h=c.decodeLength(f);return f.pos-e.pos+h==d}catch(i){return!1}},c.decode=function(a){a instanceof b||(a=new b(a,0));var d=new b(a),e=a.get(),f=c.decodeLength(a),g=a.pos-d.pos,h=null;if(c.hasContent(e,f,a)){var i=a.pos;if(3==e&&a.get(),h=[],f>=0){for(var j=i+f;a.pos<j;)h[h.length]=c.decode(a);if(a.pos!=j)throw"Content size is not correct for container starting at offset "+i}else try{for(;;){var k=c.decode(a);if(0===k.tag)break;h[h.length]=k}f=i-a.pos}catch(l){throw"Exception while decoding undefined length content: "+l}}else a.pos+=f;return new c(d,g,f,e,h)},c.test=function(){for(var a=[{value:[39],expected:39},{value:[129,201],expected:201},{value:[131,254,220,186],expected:16702650}],d=0,e=a.length;e>d;++d){var f=new b(a[d].value,0),g=c.decodeLength(f);g!=a[d].expected&&document.write("In test["+d+"] expected "+a[d].expected+" got "+g+"\n")}},window.ASN1=c}(),ASN1.prototype.getHexStringValue=function(){var a=this.toHexString(),b=2*this.header,c=2*this.length;return a.substr(b,c)},RSAKey.prototype.parseKey=function(a){try{var b=0,c=0,d=/^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/,e=d.test(a)?Hex.decode(a):Base64.unarmor(a),f=ASN1.decode(e);if(3===f.sub.length&&(f=f.sub[2].sub[0]),9===f.sub.length){b=f.sub[1].getHexStringValue(),this.n=parseBigInt(b,16),c=f.sub[2].getHexStringValue(),this.e=parseInt(c,16);var g=f.sub[3].getHexStringValue();this.d=parseBigInt(g,16);var h=f.sub[4].getHexStringValue();this.p=parseBigInt(h,16);var i=f.sub[5].getHexStringValue();this.q=parseBigInt(i,16);var j=f.sub[6].getHexStringValue();this.dmp1=parseBigInt(j,16);var k=f.sub[7].getHexStringValue();this.dmq1=parseBigInt(k,16);var l=f.sub[8].getHexStringValue();this.coeff=parseBigInt(l,16)}else{if(2!==f.sub.length)return!1;var m=f.sub[1],n=m.sub[0];b=n.sub[0].getHexStringValue(),this.n=parseBigInt(b,16),c=n.sub[1].getHexStringValue(),this.e=parseInt(c,16)}return!0}catch(o){return!1}},RSAKey.prototype.getPrivateBaseKey=function(){var a={array:[new KJUR.asn1.DERInteger({"int":0}),new KJUR.asn1.DERInteger({bigint:this.n}),new KJUR.asn1.DERInteger({"int":this.e}),new KJUR.asn1.DERInteger({bigint:this.d}),new KJUR.asn1.DERInteger({bigint:this.p}),new KJUR.asn1.DERInteger({bigint:this.q}),new KJUR.asn1.DERInteger({bigint:this.dmp1}),new KJUR.asn1.DERInteger({bigint:this.dmq1}),new KJUR.asn1.DERInteger({bigint:this.coeff})]},b=new KJUR.asn1.DERSequence(a);return b.getEncodedHex()},RSAKey.prototype.getPrivateBaseKeyB64=function(){return hex2b64(this.getPrivateBaseKey())},RSAKey.prototype.getPublicBaseKey=function(){var a={array:[new KJUR.asn1.DERObjectIdentifier({oid:"1.2.840.113549.1.1.1"}),new KJUR.asn1.DERNull]},b=new KJUR.asn1.DERSequence(a);a={array:[new KJUR.asn1.DERInteger({bigint:this.n}),new KJUR.asn1.DERInteger({"int":this.e})]};var c=new KJUR.asn1.DERSequence(a);a={hex:"00"+c.getEncodedHex()};var d=new KJUR.asn1.DERBitString(a);a={array:[b,d]};var e=new KJUR.asn1.DERSequence(a);return e.getEncodedHex()},RSAKey.prototype.getPublicBaseKeyB64=function(){return hex2b64(this.getPublicBaseKey())},RSAKey.prototype.wordwrap=function(a,b){if(b=b||64,!a)return a;var c="(.{1,"+b+"})( +|$\n?)|(.{1,"+b+"})";return a.match(RegExp(c,"g")).join("\n")},RSAKey.prototype.getPrivateKey=function(){var a="-----BEGIN RSA PRIVATE KEY-----\n";return a+=this.wordwrap(this.getPrivateBaseKeyB64())+"\n",a+="-----END RSA PRIVATE KEY-----"},RSAKey.prototype.getPublicKey=function(){var a="-----BEGIN PUBLIC KEY-----\n";return a+=this.wordwrap(this.getPublicBaseKeyB64())+"\n",a+="-----END PUBLIC KEY-----"},RSAKey.prototype.hasPublicKeyProperty=function(a){return a=a||{},a.hasOwnProperty("n")&&a.hasOwnProperty("e")},RSAKey.prototype.hasPrivateKeyProperty=function(a){return a=a||{},a.hasOwnProperty("n")&&a.hasOwnProperty("e")&&a.hasOwnProperty("d")&&a.hasOwnProperty("p")&&a.hasOwnProperty("q")&&a.hasOwnProperty("dmp1")&&a.hasOwnProperty("dmq1")&&a.hasOwnProperty("coeff")},RSAKey.prototype.parsePropertiesFrom=function(a){this.n=a.n,this.e=a.e,a.hasOwnProperty("d")&&(this.d=a.d,this.p=a.p,this.q=a.q,this.dmp1=a.dmp1,this.dmq1=a.dmq1,this.coeff=a.coeff)};var JSEncryptRSAKey=function(a){RSAKey.call(this),a&&("string"==typeof a?this.parseKey(a):(this.hasPrivateKeyProperty(a)||this.hasPublicKeyProperty(a))&&this.parsePropertiesFrom(a))};JSEncryptRSAKey.prototype=new RSAKey,JSEncryptRSAKey.prototype.constructor=JSEncryptRSAKey;var JSEncrypt=function(a){a=a||{},this.default_key_size=parseInt(a.default_key_size)||1024,this.default_public_exponent=a.default_public_exponent||"010001",this.log=a.log||!1,this.key=null};JSEncrypt.prototype.setKey=function(a){this.log&&this.key&&console.warn("A key was already set, overriding existing."),this.key=new JSEncryptRSAKey(a)},JSEncrypt.prototype.setPrivateKey=function(a){this.setKey(a)},JSEncrypt.prototype.setPublicKey=function(a){this.setKey(a)},JSEncrypt.prototype.decrypt=function(a){try{return this.getKey().decrypt(b64tohex(a))}catch(b){return!1}},JSEncrypt.prototype.encrypt=function(a){try{return hex2b64(this.getKey().encrypt(a))}catch(b){return!1}},JSEncrypt.prototype.getKey=function(a){if(!this.key){if(this.key=new JSEncryptRSAKey,a&&"[object Function]"==={}.toString.call(a))return void this.key.generateAsync(this.default_key_size,this.default_public_exponent,a);this.key.generate(this.default_key_size,this.default_public_exponent)}return this.key},JSEncrypt.prototype.getPrivateKey=function(){return this.getKey().getPrivateKey()},JSEncrypt.prototype.getPrivateKeyB64=function(){return this.getKey().getPrivateBaseKeyB64()},JSEncrypt.prototype.getPublicKey=function(){return this.getKey().getPublicKey()},JSEncrypt.prototype.getPublicKeyB64=function(){return this.getKey().getPublicBaseKeyB64()};exports.JSEncrypt = JSEncrypt; -})(JSEncryptExports); var publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCLtgVNSTN2YVQ15QxziiRpAQRGpFa3JPz0STUF50/pCNTfs32uv/ePr++zDHDNegYSohuUXZtn/hYaqA4CxZgHzaubwQAwBYkN45uBDoRV3DvthMDc6KHnqPZdpLOm160BTQk7wknYkR7xPlEo/F26ZD30f6ULcLoQvRjzCX5qQQIDAQAB"; var JSEncrypt = JSEncryptExports.JSEncrypt; var encrypt = new JSEncrypt(); encrypt.setPublicKey(publicKey); - -var Base64= -{ - _keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", - encode:function(e){ - var t=""; - var n,r,i,s,o,u,a; - var f=0; - e=Base64._utf8_encode(e); - while(f<e.length){ - n=e.charCodeAt(f++); - r=e.charCodeAt(f++); - i=e.charCodeAt(f++); - s=n>>2; - o=(n&3)<<4|r>>4; - u=(r&15)<<2|i>>6; - a=i&63; - if(isNaN(r)){ - u=a=64 - }else if(isNaN(i)){ - a=64 - } - t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a) - } - return t - }, - decode:function(e){ - var t=""; - var n,r,i; - var s,o,u,a; - var f=0; - e=e.replace(/[^A-Za-z0-9+/=]/g,""); - while(f<e.length){ - s=this._keyStr.indexOf(e.charAt(f++)); - o=this._keyStr.indexOf(e.charAt(f++)); - u=this._keyStr.indexOf(e.charAt(f++)); - a=this._keyStr.indexOf(e.charAt(f++)); - n=s<<2|o>>4; - r=(o&15)<<4|u>>2; - i=(u&3)<<6|a; - t=t+String.fromCharCode(n); - if(u!=64){ - t=t+String.fromCharCode(r) - } - if(a!=64){ - t=t+String.fromCharCode(i) - } - } - t=Base64._utf8_decode(t); - return t - }, - _utf8_encode:function(e){ - e=e.replace(/rn/g,"n"); - var t=""; - for(var n=0;n<e.length;n++){ - var r=e.charCodeAt(n); - if(r<128){ - t+=String.fromCharCode(r) - }else if(r>127&&r<2048){ - t+=String.fromCharCode(r>>6|192); - t+=String.fromCharCode(r&63|128) - }else{ - t+=String.fromCharCode(r>>12|224); - t+=String.fromCharCode(r>>6&63|128); - t+=String.fromCharCode(r&63|128) - } - } - return t - }, - _utf8_decode:function(e){ - var t=""; - var n=0; - var r=c1=c2=0; - while(n<e.length){ - r=e.charCodeAt(n); - if(r<128){ - t+=String.fromCharCode(r); - n++ - }else if(r>191&&r<224){ - c2=e.charCodeAt(n+1); - t+=String.fromCharCode((r&31)<<6|c2&63); - n+=2 - }else{ - c2=e.charCodeAt(n+1); - c3=e.charCodeAt(n+2); - t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63); - n+=3 - } - } - return t - } -}; \ No newline at end of file +})(JSEncryptExports); +var JSEncrypt = JSEncryptExports.JSEncrypt; \ No newline at end of file diff --git a/src/main/resources/static/js/sockjs.min.js b/src/main/resources/static/js/sockjs.min.js new file mode 100644 index 0000000..60ecfbb --- /dev/null +++ b/src/main/resources/static/js/sockjs.min.js @@ -0,0 +1,2 @@ +/* sockjs-client v1.4.0 | http://sockjs.org | MIT license */ +(function(a){"object"===typeof exports&&"undefined"!==typeof module?module.exports=a():"function"===typeof define&&define.amd?define([],a):("undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:this).SockJS=a()})(function(){return function(){function a(f,k,d){function c(e,g){if(!k[e]){if(!f[e]){var h="function"==typeof require&&require;if(!g&&h)return h(e,!0);if(b)return b(e,!0);h=Error("Cannot find module '"+e+"'");throw h.code="MODULE_NOT_FOUND",h;}h=k[e]={exports:{}};f[e][0].call(h.exports,function(b){return c(f[e][1][b]||b)},h,h.exports,a,f,k,d)}return k[e].exports}for(var b="function"==typeof require&&require,g=0;g<d.length;g++)c(d[g]);return c}return a}()({1:[function(a,f,k){k="undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{};var d=a("./transport-list");f.exports=a("./main")(d);"_sockjs_onload"in k&&setTimeout(k._sockjs_onload,1)},{"./main":14,"./transport-list":16}],2:[function(a,f,k){function d(){c.call(this);this.initEvent("close",!1,!1);this.wasClean=!1;this.code=0;this.reason=""}k=a("inherits");var c=a("./event");k(d,c);f.exports=d},{"./event":4,inherits:57}],3:[function(a,f,k){function d(){c.call(this)}k=a("inherits");var c=a("./eventtarget");k(d,c);d.prototype.removeAllListeners=function(b){b?delete this._listeners[b]:this._listeners={}};d.prototype.once=function(b,c){function a(){g.removeListener(b,a);d||(d=!0,c.apply(this,arguments))}var g=this,d=!1;this.on(b,a)};d.prototype.emit=function(){var b=this._listeners[arguments[0]];if(b){for(var c=arguments.length,a=Array(c-1),h=1;h<c;h++)a[h-1]=arguments[h];for(c=0;c<b.length;c++)b[c].apply(this,a)}};d.prototype.on=d.prototype.addListener=c.prototype.addEventListener;d.prototype.removeListener=c.prototype.removeEventListener;f.exports.EventEmitter=d},{"./eventtarget":5,inherits:57}],4:[function(a,f,k){function d(c){this.type=c}d.prototype.initEvent=function(c,b,a){this.type=c;this.bubbles=b;this.cancelable=a;this.timeStamp=+new Date;return this};d.prototype.stopPropagation=function(){};d.prototype.preventDefault=function(){};d.CAPTURING_PHASE=1;d.AT_TARGET=2;d.BUBBLING_PHASE=3;f.exports=d},{}],5:[function(a,f,k){function d(){this._listeners={}}d.prototype.addEventListener=function(c,b){c in this._listeners||(this._listeners[c]=[]);var a=this._listeners[c];-1===a.indexOf(b)&&(a=a.concat([b]));this._listeners[c]=a};d.prototype.removeEventListener=function(c,b){var a=this._listeners[c];if(a){var e=a.indexOf(b);-1!==e&&(1<a.length?this._listeners[c]=a.slice(0,e).concat(a.slice(e+1)):delete this._listeners[c])}};d.prototype.dispatchEvent=function(){var a=arguments[0],b=a.type,a=1===arguments.length?[a]:Array.apply(null,arguments);this["on"+b]&&this["on"+b].apply(this,a);if(b in this._listeners)for(var b=this._listeners[b],d=0;d<b.length;d++)b[d].apply(this,a)};f.exports=d},{}],6:[function(a,f,k){function d(b){c.call(this);this.initEvent("message",!1,!1);this.data=b}k=a("inherits");var c=a("./event");k(d,c);f.exports=d},{"./event":4,inherits:57}],7:[function(a,f,k){function d(b){this._transport=b;b.on("message",this._transportMessage.bind(this));b.on("close",this._transportClose.bind(this))}var c=a("json3"),b=a("./utils/iframe");d.prototype._transportClose=function(a,e){b.postMessage("c",c.stringify([a,e]))};d.prototype._transportMessage=function(a){b.postMessage("t",a)};d.prototype._send=function(b){this._transport.send(b)};d.prototype._close=function(){this._transport.close();this._transport.removeAllListeners()};f.exports=d},{"./utils/iframe":47,json3:58}],8:[function(a,f,k){(function(d){var c=a("./utils/url"),b=a("./utils/event"),g=a("json3"),e=a("./facade"),h=a("./info-iframe-receiver"),l=a("./utils/iframe"),r=a("./location"),n=function(){};"production"!==d.env.NODE_ENV&&(n=a("debug")("sockjs-client:iframe-bootstrap"));f.exports=function(a,d){var p={};d.forEach(function(b){b.facadeTransport&&(p[b.facadeTransport.transportName]=b.facadeTransport)});p[h.transportName]=h;var E;a.bootstrap_iframe=function(){var d;l.currentWindowId=r.hash.slice(1);b.attachEvent("message",function(b){if(b.source===parent&&("undefined"===typeof E&&(E=b.origin),b.origin===E)){var h;try{h=g.parse(b.data)}catch(J){n("bad json",b.data);return}if(h.windowId===l.currentWindowId)switch(h.type){case "s":var m;try{m=g.parse(h.data)}catch(J){n("bad json",h.data);break}b=m[0];h=m[1];var f=m[2];m=m[3];n(b,h,f,m);if(b!==a.version)throw Error('Incompatible SockJS! Main site uses: "'+b+'", the iframe: "'+a.version+'".');if(!c.isOriginEqual(f,r.href)||!c.isOriginEqual(m,r.href))throw Error("Can't connect to different domain from within an iframe. ("+r.href+", "+f+", "+m+")");d=new e(new p[h](f,m));break;case "m":d._send(h.data);break;case "c":d&&d._close(),d=null}}});l.postMessage("s")}}}).call(this,{env:{}})},{"./facade":7,"./info-iframe-receiver":10,"./location":13,"./utils/event":46,"./utils/iframe":47,"./utils/url":52,debug:55,json3:58}],9:[function(a,f,k){(function(d){function c(a,c){b.call(this);var d=this,g=+new Date;this.xo=new c("GET",a);this.xo.once("finish",function(b,a){var c,p;if(200===b){p=+new Date-g;if(a)try{c=e.parse(a)}catch(G){l("bad json",a)}h.isObject(c)||(c={})}d.emit("finish",c,p);d.removeAllListeners()})}var b=a("events").EventEmitter,g=a("inherits"),e=a("json3"),h=a("./utils/object"),l=function(){};"production"!==d.env.NODE_ENV&&(l=a("debug")("sockjs-client:info-ajax"));g(c,b);c.prototype.close=function(){this.removeAllListeners();this.xo.close()};f.exports=c}).call(this,{env:{}})},{"./utils/object":49,debug:55,events:3,inherits:57,json3:58}],10:[function(a,f,k){function d(a){var d=this;c.call(this);this.ir=new e(a,g);this.ir.once("finish",function(a,c){d.ir=null;d.emit("message",b.stringify([a,c]))})}k=a("inherits");var c=a("events").EventEmitter,b=a("json3"),g=a("./transport/sender/xhr-local"),e=a("./info-ajax");k(d,c);d.transportName="iframe-info-receiver";d.prototype.close=function(){this.ir&&(this.ir.close(),this.ir=null);this.removeAllListeners()};f.exports=d},{"./info-ajax":9,"./transport/sender/xhr-local":37,events:3,inherits:57,json3:58}],11:[function(a,f,k){(function(d,c){function b(b,a){var d=this;g.call(this);var e=function(){var c=d.ifr=new r(n.transportName,a,b);c.once("message",function(b){if(b){var a;try{a=h.parse(b)}catch(R){k("bad json",b);d.emit("finish");d.close();return}d.emit("finish",a[0],a[1])}d.close()});c.once("close",function(){d.emit("finish");d.close()})};c.document.body?e():l.attachEvent("load",e)}var g=a("events").EventEmitter,e=a("inherits"),h=a("json3"),l=a("./utils/event"),r=a("./transport/iframe"),n=a("./info-iframe-receiver"),k=function(){};"production"!==d.env.NODE_ENV&&(k=a("debug")("sockjs-client:info-iframe"));e(b,g);b.enabled=function(){return r.enabled()};b.prototype.close=function(){this.ifr&&this.ifr.close();this.removeAllListeners();this.ifr=null};f.exports=b}).call(this,{env:{}},"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"./info-iframe-receiver":10,"./transport/iframe":22,"./utils/event":46,debug:55,events:3,inherits:57,json3:58}],12:[function(a,f,k){(function(d){function c(a,c){p(a);var d=this;b.call(this);setTimeout(function(){d.doXhr(a,c)},0)}var b=a("events").EventEmitter,g=a("inherits"),e=a("./utils/url"),h=a("./transport/sender/xdr"),l=a("./transport/sender/xhr-cors"),r=a("./transport/sender/xhr-local"),n=a("./transport/sender/xhr-fake"),k=a("./info-iframe"),m=a("./info-ajax"),p=function(){};"production"!==d.env.NODE_ENV&&(p=a("debug")("sockjs-client:info-receiver"));g(c,b);c._getReceiver=function(b,a,c){return c.sameOrigin?new m(a,r):l.enabled?new m(a,l):h.enabled&&c.sameScheme?new m(a,h):k.enabled()?new k(b,a):new m(a,n)};c.prototype.doXhr=function(b,a){var d=this,h=e.addPath(b,"/info");p("doXhr",h);this.xo=c._getReceiver(b,h,a);this.timeoutRef=setTimeout(function(){p("timeout");d._cleanup(!1);d.emit("finish")},c.timeout);this.xo.once("finish",function(b,a){p("finish",b,a);d._cleanup(!0);d.emit("finish",b,a)})};c.prototype._cleanup=function(b){p("_cleanup");clearTimeout(this.timeoutRef);this.timeoutRef=null;!b&&this.xo&&this.xo.close();this.xo=null};c.prototype.close=function(){p("close");this.removeAllListeners();this._cleanup(!1)};c.timeout=8E3;f.exports=c}).call(this,{env:{}})},{"./info-ajax":9,"./info-iframe":11,"./transport/sender/xdr":34,"./transport/sender/xhr-cors":35,"./transport/sender/xhr-fake":36,"./transport/sender/xhr-local":37,"./utils/url":52,debug:55,events:3,inherits:57}],13:[function(a,f,k){f.exports=("undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{}).location||{origin:"http://localhost:80",protocol:"http:",host:"localhost",port:80,href:"http://localhost/",hash:""}},{}],14:[function(a,f,k){(function(d,c){function b(a,c,d){if(!(this instanceof b))return new b(a,c,d);if(1>arguments.length)throw new TypeError("Failed to construct 'SockJS: 1 argument required, but only 0 present");G.call(this);this.readyState=b.CONNECTING;this.protocol=this.extensions="";d=d||{};d.protocols_whitelist&&X.warn("'protocols_whitelist' is DEPRECATED. Use 'transports' instead.");this._transportsWhitelist=d.transports;this._transportOptions=d.transportOptions||{};this._timeout=d.timeout||0;var h=d.sessionId||8;if("function"===typeof h)this._generateSessionId=h;else if("number"===typeof h)this._generateSessionId=function(){return l.string(h)};else throw new TypeError("If sessionId is used in the options, it needs to be a number or a function.");this._server=d.server||l.numberString(1E3);var e=new g(a);if(e.host&&e.protocol){if(e.hash)throw new SyntaxError("The URL must not contain a fragment");if("http:"!==e.protocol&&"https:"!==e.protocol)throw new SyntaxError("The URL's scheme must be either 'http:' or 'https:'. '"+e.protocol+"' is not allowed.");}else throw new SyntaxError("The URL '"+a+"' is invalid");var p="https:"===e.protocol;if("https:"===A.protocol&&!p)throw Error("SecurityError: An insecure SockJS connection may not be initiated from a page loaded over HTTPS");c?Array.isArray(c)||(c=[c]):c=[];var m=c.sort();m.forEach(function(b,a){if(!b)throw new SyntaxError("The protocols entry '"+b+"' is invalid.");if(a<m.length-1&&b===m[a+1])throw new SyntaxError("The protocols entry '"+b+"' is duplicated.");});this._origin=(p=n.getOrigin(A.href))?p.toLowerCase():null;e.set("pathname",e.pathname.replace(/\/+$/,""));this.url=e.href;u("using url",this.url);this._urlInfo={nullOrigin:!E.hasDomain(),sameOrigin:n.isOriginEqual(this.url,A.href),sameScheme:n.isSchemeEqual(this.url,A.href)};this._ir=new S(this.url,this._urlInfo);this._ir.once("finish",this._receiveInfo.bind(this))}a("./shims");var g=a("url-parse"),e=a("inherits"),h=a("json3"),l=a("./utils/random"),r=a("./utils/escape"),n=a("./utils/url"),k=a("./utils/event"),m=a("./utils/transport"),p=a("./utils/object"),E=a("./utils/browser"),X=a("./utils/log"),w=a("./event/event"),G=a("./event/eventtarget"),A=a("./location"),R=a("./event/close"),J=a("./event/trans-message"),S=a("./info-receiver"),u=function(){};"production"!==d.env.NODE_ENV&&(u=a("debug")("sockjs-client:main"));var T;e(b,G);b.prototype.close=function(a,c){if(a&&!(1E3===a||3E3<=a&&4999>=a))throw Error("InvalidAccessError: Invalid code");if(c&&123<c.length)throw new SyntaxError("reason argument has an invalid length");this.readyState!==b.CLOSING&&this.readyState!==b.CLOSED&&this._close(a||1E3,c||"Normal closure",!0)};b.prototype.send=function(a){"string"!==typeof a&&(a=""+a);if(this.readyState===b.CONNECTING)throw Error("InvalidStateError: The connection has not been established yet");this.readyState===b.OPEN&&this._transport.send(r.quote(a))};b.version=a("./version");b.CONNECTING=0;b.OPEN=1;b.CLOSING=2;b.CLOSED=3;b.prototype._receiveInfo=function(b,a){u("_receiveInfo",a);this._ir=null;b?(this._rto=this.countRTO(a),this._transUrl=b.base_url?b.base_url:this.url,b=p.extend(b,this._urlInfo),u("info",b),this._transports=T.filterToEnabled(this._transportsWhitelist,b).main,u(this._transports.length+" enabled transports"),this._connect()):this._close(1002,"Cannot connect to server")};b.prototype._connect=function(){for(var b=this._transports.shift();b;){u("attempt",b.transportName);if(b.needBody&&(!c.document.body||"undefined"!==typeof c.document.readyState&&"complete"!==c.document.readyState&&"interactive"!==c.document.readyState)){u("waiting for body");this._transports.unshift(b);k.attachEvent("load",this._connect.bind(this));return}var a=Math.max(this._timeout,this._rto*b.roundTrips||5E3);this._transportTimeoutId=setTimeout(this._transportTimeout.bind(this),a);u("using timeout",a);var a=n.addPath(this._transUrl,"/"+this._server+"/"+this._generateSessionId()),d=this._transportOptions[b.transportName];u("transport url",a);a=new b(a,this._transUrl,d);a.on("message",this._transportMessage.bind(this));a.once("close",this._transportClose.bind(this));a.transportName=b.transportName;this._transport=a;return}this._close(2E3,"All transports failed",!1)};b.prototype._transportTimeout=function(){u("_transportTimeout");this.readyState===b.CONNECTING&&(this._transport&&this._transport.close(),this._transportClose(2007,"Transport timed out"))};b.prototype._transportMessage=function(b){u("_transportMessage",b);var a=this,c=b.slice(0,1);b=b.slice(1);var d;switch(c){case "o":this._open();return;case "h":this.dispatchEvent(new w("heartbeat"));u("heartbeat",this.transport);return}if(b)try{d=h.parse(b)}catch(I){u("bad json",b)}if("undefined"===typeof d)u("empty payload",b);else switch(c){case "a":Array.isArray(d)&&d.forEach(function(b){u("message",a.transport,b);a.dispatchEvent(new J(b))});break;case "m":u("message",this.transport,d);this.dispatchEvent(new J(d));break;case "c":Array.isArray(d)&&2===d.length&&this._close(d[0],d[1],!0)}};b.prototype._transportClose=function(a,c){u("_transportClose",this.transport,a,c);this._transport&&(this._transport.removeAllListeners(),this.transport=this._transport=null);1E3===a||3E3<=a&&4999>=a||2E3===a||this.readyState!==b.CONNECTING?this._close(a,c):this._connect()};b.prototype._open=function(){u("_open",this._transport&&this._transport.transportName,this.readyState);this.readyState===b.CONNECTING?(this._transportTimeoutId&&(clearTimeout(this._transportTimeoutId),this._transportTimeoutId=null),this.readyState=b.OPEN,this.transport=this._transport.transportName,this.dispatchEvent(new w("open")),u("connected",this.transport)):this._close(1006,"Server lost session")};b.prototype._close=function(a,c,d){u("_close",this.transport,a,c,d,this.readyState);var e=!1;this._ir&&(e=!0,this._ir.close(),this._ir=null);this._transport&&(this._transport.close(),this.transport=this._transport=null);if(this.readyState===b.CLOSED)throw Error("InvalidStateError: SockJS has already been closed");this.readyState=b.CLOSING;setTimeout(function(){this.readyState=b.CLOSED;e&&this.dispatchEvent(new w("error"));var h=new R("close");h.wasClean=d||!1;h.code=a||1E3;h.reason=c;this.dispatchEvent(h);this.onmessage=this.onclose=this.onerror=null;u("disconnected")}.bind(this),0)};b.prototype.countRTO=function(b){return 100<b?4*b:300+b};f.exports=function(c){T=m(c);a("./iframe-bootstrap")(b,c);return b}}).call(this,{env:{}},"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"./event/close":2,"./event/event":4,"./event/eventtarget":5,"./event/trans-message":6,"./iframe-bootstrap":8,"./info-receiver":12,"./location":13,"./shims":15,"./utils/browser":44,"./utils/escape":45,"./utils/event":46,"./utils/log":48,"./utils/object":49,"./utils/random":50,"./utils/transport":51,"./utils/url":52,"./version":53,debug:55,inherits:57,json3:58,"url-parse":61}],15:[function(a,f,k){function d(){}var c=Array.prototype,b=Object.prototype;f=Function.prototype;var g=String.prototype,e=c.slice,h=b.toString;if(a=Object.defineProperty)try{Object.defineProperty({},"x",{}),a=!0}catch(p){a=!1}var l;l=a?function(b,a,c,d){!d&&a in b||Object.defineProperty(b,a,{configurable:!0,enumerable:!1,writable:!0,value:c})}:function(b,a,c,d){!d&&a in b||(b[a]=c)};a=function(a,c,d){for(var e in c)b.hasOwnProperty.call(c,e)&&l(a,e,c[e],d)};var r=function(b){if(null==b)throw new TypeError("can't convert "+b+" to object");return Object(b)};a(f,{bind:function(a){var c=this;if("[object Function]"!==b.toString.call(c))throw new TypeError("Function.prototype.bind called on incompatible "+c);for(var h=e.call(arguments,1),g=Math.max(0,c.length-h.length),m=[],p=0;p<g;p++)m.push("$"+p);var l=Function("binder","return function ("+m.join(",")+"){ return binder.apply(this, arguments); }")(function(){if(this instanceof l){var b=c.apply(this,h.concat(e.call(arguments)));return Object(b)===b?b:this}return c.apply(a,h.concat(e.call(arguments)))});c.prototype&&(d.prototype=c.prototype,l.prototype=new d,d.prototype=null);return l}});a(Array,{isArray:function(b){return"[object Array]"===h.call(b)}});f=Object("a");var n="a"!==f[0]||!(0 in f);a(c,{forEach:function(a,c){var d=r(this),e=n&&"[object String]"===h.call(this)?this.split(""):d,g=-1,m=e.length>>>0;if("[object Function]"!==b.toString.call(a))throw new TypeError;for(;++g<m;)g in e&&a.call(c,e[g],g,d)}},!function(b){var a=!0,c=!0;b&&(b.call("foo",function(b,c,d){"object"!==typeof d&&(a=!1)}),b.call([1],function(){c="string"===typeof this},"x"));return!!b&&a&&c}(c.forEach));f=Array.prototype.indexOf&&-1!==[0,1].indexOf(1,2);a(c,{indexOf:function(b){var a=n&&"[object String]"===h.call(this)?this.split(""):r(this),c=a.length>>>0;if(!c)return-1;var d=0;1<arguments.length&&(d=+arguments[1],d!==d?d=0:0!==d&&d!==1/0&&d!==-(1/0)&&(d=(0<d||-1)*Math.floor(Math.abs(d))));for(d=0<=d?d:Math.max(0,c+d);d<c;d++)if(d in a&&a[d]===b)return d;return-1}},f);var t=g.split;2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||"t"==="tesst".split(/(s)*/)[1]||4!=="test".split(/(?:)/,-1).length||"".split(/.?/).length||1<".".split(/()()/).length?function(){var b=void 0===/()??/.exec("")[1];g.split=function(a,d){var e=this;if(void 0===a&&0===d)return[];if("[object RegExp]"!==h.call(a))return t.call(this,a,d);var g=[],m=(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.extended?"x":"")+(a.sticky?"y":""),p=0,l,n,E;a=new RegExp(a.source,m+"g");e+="";b||(l=new RegExp("^"+a.source+"$(?!\\s)",m));for(d=void 0===d?4294967295:d>>>0;n=a.exec(e);){m=n.index+n[0].length;if(m>p&&(g.push(e.slice(p,n.index)),!b&&1<n.length&&n[0].replace(l,function(){for(var a=1;a<arguments.length-2;a++)void 0===arguments[a]&&(n[a]=void 0)}),1<n.length&&n.index<e.length&&c.push.apply(g,n.slice(1)),E=n[0].length,p=m,g.length>=d))break;a.lastIndex===n.index&&a.lastIndex++}p===e.length?!E&&a.test("")||g.push(""):g.push(e.slice(p));return g.length>d?g.slice(0,d):g}}():"0".split(void 0,0).length&&(g.split=function(a,b){return void 0===a&&0===b?[]:t.call(this,a,b)});var m=g.substr;f="".substr&&"b"!=="0b".substr(-1);a(g,{substr:function(a,b){return m.call(this,0>a?0>(a=this.length+a)?0:a:a,b)}},f)},{}],16:[function(a,f,k){f.exports=[a("./transport/websocket"),a("./transport/xhr-streaming"),a("./transport/xdr-streaming"),a("./transport/eventsource"),a("./transport/lib/iframe-wrap")(a("./transport/eventsource")),a("./transport/htmlfile"),a("./transport/lib/iframe-wrap")(a("./transport/htmlfile")),a("./transport/xhr-polling"),a("./transport/xdr-polling"),a("./transport/lib/iframe-wrap")(a("./transport/xhr-polling")),a("./transport/jsonp-polling")]},{"./transport/eventsource":20,"./transport/htmlfile":21,"./transport/jsonp-polling":23,"./transport/lib/iframe-wrap":26,"./transport/websocket":38,"./transport/xdr-polling":39,"./transport/xdr-streaming":40,"./transport/xhr-polling":41,"./transport/xhr-streaming":42}],17:[function(a,f,k){(function(d,c){function b(a,b,c,d){n(a,b);var e=this;g.call(this);setTimeout(function(){e._start(a,b,c,d)},0)}var g=a("events").EventEmitter,e=a("inherits"),h=a("../../utils/event"),l=a("../../utils/url"),r=c.XMLHttpRequest,n=function(){};"production"!==d.env.NODE_ENV&&(n=a("debug")("sockjs-client:browser:xhr"));e(b,g);b.prototype._start=function(a,c,d,e){var g=this;try{this.xhr=new r}catch(A){}if(this.xhr){c=l.addQuery(c,"t\x3d"+ +new Date);this.unloadRef=h.unloadAdd(function(){n("unload cleanup");g._cleanup(!0)});try{this.xhr.open(a,c,!0),this.timeout&&"timeout"in this.xhr&&(this.xhr.timeout=this.timeout,this.xhr.ontimeout=function(){n("xhr timeout");g.emit("finish",0,"");g._cleanup(!1)})}catch(A){n("exception",A);this.emit("finish",0,"");this._cleanup(!1);return}e&&e.noCredentials||!b.supportsCORS||(n("withCredentials"),this.xhr.withCredentials=!0);if(e&&e.headers)for(var m in e.headers)this.xhr.setRequestHeader(m,e.headers[m]);this.xhr.onreadystatechange=function(){if(g.xhr){var a=g.xhr,b,c;n("readyState",a.readyState);switch(a.readyState){case 3:try{c=a.status,b=a.responseText}catch(S){}n("status",c);1223===c&&(c=204);200===c&&b&&0<b.length&&(n("chunk"),g.emit("chunk",c,b));break;case 4:c=a.status;n("status",c);1223===c&&(c=204);if(12005===c||12029===c)c=0;n("finish",c,a.responseText);g.emit("finish",c,a.responseText);g._cleanup(!1)}}};try{g.xhr.send(d)}catch(A){g.emit("finish",0,""),g._cleanup(!1)}}else n("no xhr"),this.emit("finish",0,"no xhr support"),this._cleanup()};b.prototype._cleanup=function(a){n("cleanup");if(this.xhr){this.removeAllListeners();h.unloadDel(this.unloadRef);this.xhr.onreadystatechange=function(){};this.xhr.ontimeout&&(this.xhr.ontimeout=null);if(a)try{this.xhr.abort()}catch(p){}this.unloadRef=this.xhr=null}};b.prototype.close=function(){n("close");this._cleanup(!0)};b.enabled=!!r;var k=["Active"].concat("Object").join("X");!b.enabled&&k in c&&(n("overriding xmlhttprequest"),r=function(){try{return new c[k]("Microsoft.XMLHTTP")}catch(m){return null}},b.enabled=!!new r);e=!1;try{e="withCredentials"in new r}catch(m){}b.supportsCORS=e;f.exports=b}).call(this,{env:{}},"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../../utils/event":46,"../../utils/url":52,debug:55,events:3,inherits:57}],18:[function(a,f,k){f.exports=("undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{}).EventSource},{}],19:[function(a,f,k){(function(a){var c=a.WebSocket||a.MozWebSocket;f.exports=c?function(a){return new c(a)}:void 0}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{}],20:[function(a,f,k){function d(a){if(!d.enabled())throw Error("Transport created when disabled");c.call(this,a,"/eventsource",b,g)}k=a("inherits");var c=a("./lib/ajax-based"),b=a("./receiver/eventsource"),g=a("./sender/xhr-cors"),e=a("eventsource");k(d,c);d.enabled=function(){return!!e};d.transportName="eventsource";d.roundTrips=2;f.exports=d},{"./lib/ajax-based":24,"./receiver/eventsource":29,"./sender/xhr-cors":35,eventsource:18,inherits:57}],21:[function(a,f,k){function d(a){if(!c.enabled)throw Error("Transport created when disabled");g.call(this,a,"/htmlfile",c,b)}k=a("inherits");var c=a("./receiver/htmlfile"),b=a("./sender/xhr-local"),g=a("./lib/ajax-based");k(d,g);d.enabled=function(a){return c.enabled&&a.sameOrigin};d.transportName="htmlfile";d.roundTrips=2;f.exports=d},{"./lib/ajax-based":24,"./receiver/htmlfile":30,"./sender/xhr-local":37,inherits:57}],22:[function(a,f,k){(function(d){function c(a,b,d){if(!c.enabled())throw Error("Transport created when disabled");e.call(this);var h=this;this.origin=l.getOrigin(d);this.baseUrl=d;this.transUrl=b;this.transport=a;this.windowId=k.string(8);d=l.addPath(d,"/iframe.html")+"#"+this.windowId;m(a,b,d);this.iframeObj=r.createIframe(d,function(a){m("err callback");h.emit("close",1006,"Unable to load an iframe ("+a+")");h.close()});this.onmessageCallback=this._message.bind(this);n.attachEvent("message",this.onmessageCallback)}var b=a("inherits"),g=a("json3"),e=a("events").EventEmitter,h=a("../version"),l=a("../utils/url"),r=a("../utils/iframe"),n=a("../utils/event"),k=a("../utils/random"),m=function(){};"production"!==d.env.NODE_ENV&&(m=a("debug")("sockjs-client:transport:iframe"));b(c,e);c.prototype.close=function(){m("close");this.removeAllListeners();if(this.iframeObj){n.detachEvent("message",this.onmessageCallback);try{this.postMessage("c")}catch(p){}this.iframeObj.cleanup();this.onmessageCallback=this.iframeObj=null}};c.prototype._message=function(a){m("message",a.data);if(l.isOriginEqual(a.origin,this.origin)){var b;try{b=g.parse(a.data)}catch(w){m("bad json",a.data);return}if(b.windowId!==this.windowId)m("mismatched window id",b.windowId,this.windowId);else switch(b.type){case "s":this.iframeObj.loaded();this.postMessage("s",g.stringify([h,this.transport,this.transUrl,this.baseUrl]));break;case "t":this.emit("message",b.data);break;case "c":var c;try{c=g.parse(b.data)}catch(w){m("bad json",b.data);break}this.emit("close",c[0],c[1]);this.close()}}else m("not same origin",a.origin,this.origin)};c.prototype.postMessage=function(a,b){m("postMessage",a,b);this.iframeObj.post(g.stringify({windowId:this.windowId,type:a,data:b||""}),this.origin)};c.prototype.send=function(a){m("send",a);this.postMessage("m",a)};c.enabled=function(){return r.iframeEnabled};c.transportName="iframe";c.roundTrips=2;f.exports=c}).call(this,{env:{}})},{"../utils/event":46,"../utils/iframe":47,"../utils/random":50,"../utils/url":52,"../version":53,debug:55,events:3,inherits:57,json3:58}],23:[function(a,f,k){(function(d){function c(a){if(!c.enabled())throw Error("Transport created when disabled");g.call(this,a,"/jsonp",h,e)}var b=a("inherits"),g=a("./lib/sender-receiver"),e=a("./receiver/jsonp"),h=a("./sender/jsonp");b(c,g);c.enabled=function(){return!!d.document};c.transportName="jsonp-polling";c.roundTrips=1;c.needBody=!0;f.exports=c}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"./lib/sender-receiver":28,"./receiver/jsonp":31,"./sender/jsonp":33,inherits:57}],24:[function(a,f,k){(function(d){function c(a){return function(b,c,d){l("create ajax sender",b,c);var h={};"string"===typeof c&&(h.headers={"Content-type":"text/plain"});b=e.addPath(b,"/xhr_send");var g=new a("POST",b,c,h);g.once("finish",function(a){l("finish",a);g=null;if(200!==a&&204!==a)return d(Error("http status "+a));d()});return function(){l("abort");g.close();g=null;var a=Error("Aborted");a.code=1E3;d(a)}}}function b(a,b,d,e){h.call(this,a,b,c(e),d,e)}var g=a("inherits"),e=a("../../utils/url"),h=a("./sender-receiver"),l=function(){};"production"!==d.env.NODE_ENV&&(l=a("debug")("sockjs-client:ajax-based"));g(b,h);f.exports=b}).call(this,{env:{}})},{"../../utils/url":52,"./sender-receiver":28,debug:55,inherits:57}],25:[function(a,f,k){(function(d){function c(a,b){e(a);g.call(this);this.sendBuffer=[];this.sender=b;this.url=a}var b=a("inherits"),g=a("events").EventEmitter,e=function(){};"production"!==d.env.NODE_ENV&&(e=a("debug")("sockjs-client:buffered-sender"));b(c,g);c.prototype.send=function(a){e("send",a);this.sendBuffer.push(a);this.sendStop||this.sendSchedule()};c.prototype.sendScheduleWait=function(){e("sendScheduleWait");var a=this,b;this.sendStop=function(){e("sendStop");a.sendStop=null;clearTimeout(b)};b=setTimeout(function(){e("timeout");a.sendStop=null;a.sendSchedule()},25)};c.prototype.sendSchedule=function(){e("sendSchedule",this.sendBuffer.length);var a=this;if(0<this.sendBuffer.length){var b="["+this.sendBuffer.join(",")+"]";this.sendStop=this.sender(this.url,b,function(b){a.sendStop=null;b?(e("error",b),a.emit("close",b.code||1006,"Sending error: "+b),a.close()):a.sendScheduleWait()});this.sendBuffer=[]}};c.prototype._cleanup=function(){e("_cleanup");this.removeAllListeners()};c.prototype.close=function(){e("close");this._cleanup();this.sendStop&&(this.sendStop(),this.sendStop=null)};f.exports=c}).call(this,{env:{}})},{debug:55,events:3,inherits:57}],26:[function(a,f,k){(function(d){var c=a("inherits"),b=a("../iframe"),g=a("../../utils/object");f.exports=function(a){function e(c,d){b.call(this,a.transportName,c,d)}c(e,b);e.enabled=function(c,e){if(!d.document)return!1;var h=g.extend({},e);h.sameOrigin=!0;return a.enabled(h)&&b.enabled()};e.transportName="iframe-"+a.transportName;e.needBody=!0;e.roundTrips=b.roundTrips+a.roundTrips-1;e.facadeTransport=a;return e}}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../../utils/object":49,"../iframe":22,inherits:57}],27:[function(a,f,k){(function(d){function c(a,b,c){e(b);g.call(this);this.Receiver=a;this.receiveUrl=b;this.AjaxObject=c;this._scheduleReceiver()}var b=a("inherits"),g=a("events").EventEmitter,e=function(){};"production"!==d.env.NODE_ENV&&(e=a("debug")("sockjs-client:polling"));b(c,g);c.prototype._scheduleReceiver=function(){e("_scheduleReceiver");var a=this,b=this.poll=new this.Receiver(this.receiveUrl,this.AjaxObject);b.on("message",function(b){e("message",b);a.emit("message",b)});b.once("close",function(c,d){e("close",c,d,a.pollIsClosing);a.poll=b=null;a.pollIsClosing||("network"===d?a._scheduleReceiver():(a.emit("close",c||1006,d),a.removeAllListeners()))})};c.prototype.abort=function(){e("abort");this.removeAllListeners();this.pollIsClosing=!0;this.poll&&this.poll.abort()};f.exports=c}).call(this,{env:{}})},{debug:55,events:3,inherits:57}],28:[function(a,f,k){(function(d){function c(a,b,c,d,p){b=g.addPath(a,b);l(b);var m=this;e.call(this,a,c);this.poll=new h(d,b,p);this.poll.on("message",function(a){l("poll message",a);m.emit("message",a)});this.poll.once("close",function(a,b){l("poll close",a,b);m.poll=null;m.emit("close",a,b);m.close()})}var b=a("inherits"),g=a("../../utils/url"),e=a("./buffered-sender"),h=a("./polling"),l=function(){};"production"!==d.env.NODE_ENV&&(l=a("debug")("sockjs-client:sender-receiver"));b(c,e);c.prototype.close=function(){e.prototype.close.call(this);l("close");this.removeAllListeners();this.poll&&(this.poll.abort(),this.poll=null)};f.exports=c}).call(this,{env:{}})},{"../../utils/url":52,"./buffered-sender":25,"./polling":27,debug:55,inherits:57}],29:[function(a,f,k){(function(d){function c(a){h(a);g.call(this);var b=this,c=this.es=new e(a);c.onmessage=function(a){h("message",a.data);b.emit("message",decodeURI(a.data))};c.onerror=function(a){h("error",c.readyState,a);a=2!==c.readyState?"network":"permanent";b._cleanup();b._close(a)}}var b=a("inherits"),g=a("events").EventEmitter,e=a("eventsource"),h=function(){};"production"!==d.env.NODE_ENV&&(h=a("debug")("sockjs-client:receiver:eventsource"));b(c,g);c.prototype.abort=function(){h("abort");this._cleanup();this._close("user")};c.prototype._cleanup=function(){h("cleanup");var a=this.es;a&&(a.onmessage=a.onerror=null,a.close(),this.es=null)};c.prototype._close=function(a){h("close",a);var b=this;setTimeout(function(){b.emit("close",null,a);b.removeAllListeners()},200)};f.exports=c}).call(this,{env:{}})},{debug:55,events:3,eventsource:18,inherits:57}],30:[function(a,f,k){(function(d,c){function b(a){n(a);l.call(this);var d=this;e.polluteGlobalNamespace();this.id="a"+k.string(6);a=h.addQuery(a,"c\x3d"+decodeURIComponent(e.WPrefix+"."+this.id));n("using htmlfile",b.htmlfileEnabled);var g=b.htmlfileEnabled?e.createHtmlfile:e.createIframe;c[e.WPrefix][this.id]={start:function(){n("start");d.iframeObj.loaded()},message:function(a){n("message",a);d.emit("message",a)},stop:function(){n("stop");d._cleanup();d._close("network")}};this.iframeObj=g(a,function(){n("callback");d._cleanup();d._close("permanent")})}var g=a("inherits"),e=a("../../utils/iframe"),h=a("../../utils/url"),l=a("events").EventEmitter,k=a("../../utils/random"),n=function(){};"production"!==d.env.NODE_ENV&&(n=a("debug")("sockjs-client:receiver:htmlfile"));g(b,l);b.prototype.abort=function(){n("abort");this._cleanup();this._close("user")};b.prototype._cleanup=function(){n("_cleanup");this.iframeObj&&(this.iframeObj.cleanup(),this.iframeObj=null);delete c[e.WPrefix][this.id]};b.prototype._close=function(a){n("_close",a);this.emit("close",null,a);this.removeAllListeners()};b.htmlfileEnabled=!1;g=["Active"].concat("Object").join("X");if(g in c)try{b.htmlfileEnabled=!!new c[g]("htmlfile")}catch(t){}b.enabled=b.htmlfileEnabled||e.iframeEnabled;f.exports=b}).call(this,{env:{}},"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../../utils/iframe":47,"../../utils/random":50,"../../utils/url":52,debug:55,events:3,inherits:57}],31:[function(a,f,k){(function(d,c){function b(a){t(a);var d=this;n.call(this);g.polluteGlobalNamespace();this.id="a"+e.string(6);a=l.addQuery(a,"c\x3d"+encodeURIComponent(g.WPrefix+"."+this.id));c[g.WPrefix][this.id]=this._callback.bind(this);this._createScript(a);this.timeoutId=setTimeout(function(){t("timeout");d._abort(Error("JSONP script loaded abnormally (timeout)"))},b.timeout)}var g=a("../../utils/iframe"),e=a("../../utils/random"),h=a("../../utils/browser"),l=a("../../utils/url"),k=a("inherits"),n=a("events").EventEmitter,t=function(){};"production"!==d.env.NODE_ENV&&(t=a("debug")("sockjs-client:receiver:jsonp"));k(b,n);b.prototype.abort=function(){t("abort");if(c[g.WPrefix][this.id]){var a=Error("JSONP user aborted read");a.code=1E3;this._abort(a)}};b.timeout=35E3;b.scriptErrorTimeout=1E3;b.prototype._callback=function(a){t("_callback",a);this._cleanup();this.aborting||(a&&(t("message",a),this.emit("message",a)),this.emit("close",null,"network"),this.removeAllListeners())};b.prototype._abort=function(a){t("_abort",a);this._cleanup();this.aborting=!0;this.emit("close",a.code,a.message);this.removeAllListeners()};b.prototype._cleanup=function(){t("_cleanup");clearTimeout(this.timeoutId);this.script2&&(this.script2.parentNode.removeChild(this.script2),this.script2=null);if(this.script){var a=this.script;a.parentNode.removeChild(a);this.script=a.onreadystatechange=a.onerror=a.onload=a.onclick=null}delete c[g.WPrefix][this.id]};b.prototype._scriptError=function(){t("_scriptError");var a=this;this.errorTimer||(this.errorTimer=setTimeout(function(){a.loadedOkay||a._abort(Error("JSONP script loaded abnormally (onerror)"))},b.scriptErrorTimeout))};b.prototype._createScript=function(a){t("_createScript",a);var b=this,d=this.script=c.document.createElement("script"),g;d.id="a"+e.string(8);d.src=a;d.type="text/javascript";d.charset="UTF-8";d.onerror=this._scriptError.bind(this);d.onload=function(){t("onload");b._abort(Error("JSONP script loaded abnormally (onload)"))};d.onreadystatechange=function(){t("onreadystatechange",d.readyState);if(/loaded|closed/.test(d.readyState)){if(d&&d.htmlFor&&d.onclick){b.loadedOkay=!0;try{d.onclick()}catch(w){}}d&&b._abort(Error("JSONP script loaded abnormally (onreadystatechange)"))}};if("undefined"===typeof d.async&&c.document.attachEvent)if(h.isOpera())g=this.script2=c.document.createElement("script"),g.text="try{var a \x3d document.getElementById('"+d.id+"'); if(a)a.onerror();}catch(x){};",d.async=g.async=!1;else{try{d.htmlFor=d.id,d.event="onclick"}catch(w){}d.async=!0}"undefined"!==typeof d.async&&(d.async=!0);a=c.document.getElementsByTagName("head")[0];a.insertBefore(d,a.firstChild);g&&a.insertBefore(g,a.firstChild)};f.exports=b}).call(this,{env:{}},"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../../utils/browser":44,"../../utils/iframe":47,"../../utils/random":50,"../../utils/url":52,debug:55,events:3,inherits:57}],32:[function(a,f,k){(function(d){function c(a,b){e(a);g.call(this);var c=this;this.bufferPosition=0;this.xo=new b("POST",a,null);this.xo.on("chunk",this._chunkHandler.bind(this));this.xo.once("finish",function(a,b){e("finish",a,b);c._chunkHandler(a,b);c.xo=null;var d=200===a?"network":"permanent";e("close",d);c.emit("close",null,d);c._cleanup()})}var b=a("inherits"),g=a("events").EventEmitter,e=function(){};"production"!==d.env.NODE_ENV&&(e=a("debug")("sockjs-client:receiver:xhr"));b(c,g);c.prototype._chunkHandler=function(a,b){e("_chunkHandler",a);if(200===a&&b)for(var c;;this.bufferPosition+=c+1){var d=b.slice(this.bufferPosition);c=d.indexOf("\n");if(-1===c)break;if(d=d.slice(0,c))e("message",d),this.emit("message",d)}};c.prototype._cleanup=function(){e("_cleanup");this.removeAllListeners()};c.prototype.abort=function(){e("abort");this.xo&&(this.xo.close(),e("close"),this.emit("close",null,"user"),this.xo=null);this._cleanup()};f.exports=c}).call(this,{env:{}})},{debug:55,events:3,inherits:57}],33:[function(a,f,k){(function(d,c){function b(a){h("createIframe",a);try{return c.document.createElement('\x3ciframe name\x3d"'+a+'"\x3e')}catch(m){var b=c.document.createElement("iframe");b.name=a;return b}}var g=a("../../utils/random"),e=a("../../utils/url"),h=function(){};"production"!==d.env.NODE_ENV&&(h=a("debug")("sockjs-client:sender:jsonp"));var l,k;f.exports=function(a,d,m){h(a,d);l||(h("createForm"),l=c.document.createElement("form"),l.style.display="none",l.style.position="absolute",l.method="POST",l.enctype="application/x-www-form-urlencoded",l.acceptCharset="UTF-8",k=c.document.createElement("textarea"),k.name="d",l.appendChild(k),c.document.body.appendChild(l));var p="a"+g.string(8);l.target=p;l.action=e.addQuery(e.addPath(a,"/jsonp_send"),"i\x3d"+p);var f=b(p);f.id=p;f.style.display="none";l.appendChild(f);try{k.value=d}catch(w){}l.submit();var n=function(a){h("completed",p,a);f.onerror&&(f.onreadystatechange=f.onerror=f.onload=null,setTimeout(function(){h("cleaning up",p);f.parentNode.removeChild(f);f=null},500),k.value="",m(a))};f.onerror=function(){h("onerror",p);n()};f.onload=function(){h("onload",p);n()};f.onreadystatechange=function(a){h("onreadystatechange",p,f.readyState,a);"complete"===f.readyState&&n()};return function(){h("aborted",p);n(Error("Aborted"))}}}).call(this,{env:{}},"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../../utils/random":50,"../../utils/url":52,debug:55}],34:[function(a,f,k){(function(d,c){function b(a,b,c){n(a,b);var d=this;g.call(this);setTimeout(function(){d._start(a,b,c)},0)}var g=a("events").EventEmitter,e=a("inherits"),h=a("../../utils/event"),l=a("../../utils/browser"),k=a("../../utils/url"),n=function(){};"production"!==d.env.NODE_ENV&&(n=a("debug")("sockjs-client:sender:xdr"));e(b,g);b.prototype._start=function(a,b,d){n("_start");var e=this,g=new c.XDomainRequest;b=k.addQuery(b,"t\x3d"+ +new Date);g.onerror=function(){n("onerror");e._error()};g.ontimeout=function(){n("ontimeout");e._error()};g.onprogress=function(){n("progress",g.responseText);e.emit("chunk",200,g.responseText)};g.onload=function(){n("load");e.emit("finish",200,g.responseText);e._cleanup(!1)};this.xdr=g;this.unloadRef=h.unloadAdd(function(){e._cleanup(!0)});try{this.xdr.open(a,b),this.timeout&&(this.xdr.timeout=this.timeout),this.xdr.send(d)}catch(w){this._error()}};b.prototype._error=function(){this.emit("finish",0,"");this._cleanup(!1)};b.prototype._cleanup=function(a){n("cleanup",a);if(this.xdr){this.removeAllListeners();h.unloadDel(this.unloadRef);this.xdr.ontimeout=this.xdr.onerror=this.xdr.onprogress=this.xdr.onload=null;if(a)try{this.xdr.abort()}catch(m){}this.unloadRef=this.xdr=null}};b.prototype.close=function(){n("close");this._cleanup(!0)};b.enabled=!(!c.XDomainRequest||!l.hasDomain());f.exports=b}).call(this,{env:{}},"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../../utils/browser":44,"../../utils/event":46,"../../utils/url":52,debug:55,events:3,inherits:57}],35:[function(a,f,k){function d(a,d,e,h){c.call(this,a,d,e,h)}k=a("inherits");var c=a("../driver/xhr");k(d,c);d.enabled=c.enabled&&c.supportsCORS;f.exports=d},{"../driver/xhr":17,inherits:57}],36:[function(a,f,k){function d(){var a=this;c.call(this);this.to=setTimeout(function(){a.emit("finish",200,"{}")},d.timeout)}var c=a("events").EventEmitter;a("inherits")(d,c);d.prototype.close=function(){clearTimeout(this.to)};d.timeout=2E3;f.exports=d},{events:3,inherits:57}],37:[function(a,f,k){function d(a,d,e){c.call(this,a,d,e,{noCredentials:!0})}k=a("inherits");var c=a("../driver/xhr");k(d,c);d.enabled=c.enabled;f.exports=d},{"../driver/xhr":17,inherits:57}],38:[function(a,f,k){(function(d){function c(a,d,e){if(!c.enabled())throw Error("Transport created when disabled");h.call(this);k("constructor",a);var f=this;a=g.addPath(a,"/websocket");this.url=a="https"===a.slice(0,5)?"wss"+a.slice(5):"ws"+a.slice(4);this.ws=new l(this.url,[],e);this.ws.onmessage=function(a){k("message event",a.data);f.emit("message",a.data)};this.unloadRef=b.unloadAdd(function(){k("unload");f.ws.close()});this.ws.onclose=function(a){k("close event",a.code,a.reason);f.emit("close",a.code,a.reason);f._cleanup()};this.ws.onerror=function(a){k("error event",a);f.emit("close",1006,"WebSocket connection broken");f._cleanup()}}var b=a("../utils/event"),g=a("../utils/url"),e=a("inherits"),h=a("events").EventEmitter,l=a("./driver/websocket"),k=function(){};"production"!==d.env.NODE_ENV&&(k=a("debug")("sockjs-client:websocket"));e(c,h);c.prototype.send=function(a){a="["+a+"]";k("send",a);this.ws.send(a)};c.prototype.close=function(){k("close");var a=this.ws;this._cleanup();a&&a.close()};c.prototype._cleanup=function(){k("_cleanup");var a=this.ws;a&&(a.onmessage=a.onclose=a.onerror=null);b.unloadDel(this.unloadRef);this.unloadRef=this.ws=null;this.removeAllListeners()};c.enabled=function(){k("enabled");return!!l};c.transportName="websocket";c.roundTrips=2;f.exports=c}).call(this,{env:{}})},{"../utils/event":46,"../utils/url":52,"./driver/websocket":19,debug:55,events:3,inherits:57}],39:[function(a,f,k){function d(a){if(!e.enabled)throw Error("Transport created when disabled");c.call(this,a,"/xhr",g,e)}k=a("inherits");var c=a("./lib/ajax-based"),b=a("./xdr-streaming"),g=a("./receiver/xhr"),e=a("./sender/xdr");k(d,c);d.enabled=b.enabled;d.transportName="xdr-polling";d.roundTrips=2;f.exports=d},{"./lib/ajax-based":24,"./receiver/xhr":32,"./sender/xdr":34,"./xdr-streaming":40,inherits:57}],40:[function(a,f,k){function d(a){if(!g.enabled)throw Error("Transport created when disabled");c.call(this,a,"/xhr_streaming",b,g)}k=a("inherits");var c=a("./lib/ajax-based"),b=a("./receiver/xhr"),g=a("./sender/xdr");k(d,c);d.enabled=function(a){return a.cookie_needed||a.nullOrigin?!1:g.enabled&&a.sameScheme};d.transportName="xdr-streaming";d.roundTrips=2;f.exports=d},{"./lib/ajax-based":24,"./receiver/xhr":32,"./sender/xdr":34,inherits:57}],41:[function(a,f,k){function d(a){if(!e.enabled&&!g.enabled)throw Error("Transport created when disabled");c.call(this,a,"/xhr",b,g)}k=a("inherits");var c=a("./lib/ajax-based"),b=a("./receiver/xhr"),g=a("./sender/xhr-cors"),e=a("./sender/xhr-local");k(d,c);d.enabled=function(a){return a.nullOrigin?!1:e.enabled&&a.sameOrigin?!0:g.enabled};d.transportName="xhr-polling";d.roundTrips=2;f.exports=d},{"./lib/ajax-based":24,"./receiver/xhr":32,"./sender/xhr-cors":35,"./sender/xhr-local":37,inherits:57}],42:[function(a,f,k){(function(d){function c(a){if(!l.enabled&&!h.enabled)throw Error("Transport created when disabled");g.call(this,a,"/xhr_streaming",e,h)}var b=a("inherits"),g=a("./lib/ajax-based"),e=a("./receiver/xhr"),h=a("./sender/xhr-cors"),l=a("./sender/xhr-local"),k=a("../utils/browser");b(c,g);c.enabled=function(a){return a.nullOrigin||k.isOpera()?!1:h.enabled};c.transportName="xhr-streaming";c.roundTrips=2;c.needBody=!!d.document;f.exports=c}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"../utils/browser":44,"./lib/ajax-based":24,"./receiver/xhr":32,"./sender/xhr-cors":35,"./sender/xhr-local":37,inherits:57}],43:[function(a,f,k){(function(a){f.exports.randomBytes=a.crypto&&a.crypto.getRandomValues?function(c){c=new Uint8Array(c);a.crypto.getRandomValues(c);return c}:function(a){for(var b=Array(a),c=0;c<a;c++)b[c]=Math.floor(256*Math.random());return b}}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{}],44:[function(a,f,k){(function(a){f.exports={isOpera:function(){return a.navigator&&/opera/i.test(a.navigator.userAgent)},isKonqueror:function(){return a.navigator&&/konqueror/i.test(a.navigator.userAgent)},hasDomain:function(){if(!a.document)return!0;try{return!!a.document.domain}catch(c){return!1}}}}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{}],45:[function(a,f,k){var d=a("json3"),c=/[\x00-\x1f\ud800-\udfff\ufffe\uffff\u0300-\u0333\u033d-\u0346\u034a-\u034c\u0350-\u0352\u0357-\u0358\u035c-\u0362\u0374\u037e\u0387\u0591-\u05af\u05c4\u0610-\u0617\u0653-\u0654\u0657-\u065b\u065d-\u065e\u06df-\u06e2\u06eb-\u06ec\u0730\u0732-\u0733\u0735-\u0736\u073a\u073d\u073f-\u0741\u0743\u0745\u0747\u07eb-\u07f1\u0951\u0958-\u095f\u09dc-\u09dd\u09df\u0a33\u0a36\u0a59-\u0a5b\u0a5e\u0b5c-\u0b5d\u0e38-\u0e39\u0f43\u0f4d\u0f52\u0f57\u0f5c\u0f69\u0f72-\u0f76\u0f78\u0f80-\u0f83\u0f93\u0f9d\u0fa2\u0fa7\u0fac\u0fb9\u1939-\u193a\u1a17\u1b6b\u1cda-\u1cdb\u1dc0-\u1dcf\u1dfc\u1dfe\u1f71\u1f73\u1f75\u1f77\u1f79\u1f7b\u1f7d\u1fbb\u1fbe\u1fc9\u1fcb\u1fd3\u1fdb\u1fe3\u1feb\u1fee-\u1fef\u1ff9\u1ffb\u1ffd\u2000-\u2001\u20d0-\u20d1\u20d4-\u20d7\u20e7-\u20e9\u2126\u212a-\u212b\u2329-\u232a\u2adc\u302b-\u302c\uaab2-\uaab3\uf900-\ufa0d\ufa10\ufa12\ufa15-\ufa1e\ufa20\ufa22\ufa25-\ufa26\ufa2a-\ufa2d\ufa30-\ufa6d\ufa70-\ufad9\ufb1d\ufb1f\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufb4e\ufff0-\uffff]/g,b,g=function(a){var b,c={},d=[];for(b=0;65536>b;b++)d.push(String.fromCharCode(b));a.lastIndex=0;d.join("").replace(a,function(a){c[a]="\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4);return""});a.lastIndex=0;return c};f.exports={quote:function(a){a=d.stringify(a);c.lastIndex=0;if(!c.test(a))return a;b||(b=g(c));return a.replace(c,function(a){return b[a]})}}},{json3:58}],46:[function(a,f,k){(function(d){var c=a("./random"),b={},g=!1,e=d.chrome&&d.chrome.app&&d.chrome.app.runtime;f.exports={attachEvent:function(a,b){"undefined"!==typeof d.addEventListener?d.addEventListener(a,b,!1):d.document&&d.attachEvent&&(d.document.attachEvent("on"+a,b),d.attachEvent("on"+a,b))},detachEvent:function(a,b){"undefined"!==typeof d.addEventListener?d.removeEventListener(a,b,!1):d.document&&d.detachEvent&&(d.document.detachEvent("on"+a,b),d.detachEvent("on"+a,b))},unloadAdd:function(a){if(e)return null;var d=c.string(8);b[d]=a;g&&setTimeout(this.triggerUnloadCallbacks,0);return d},unloadDel:function(a){a in b&&delete b[a]},triggerUnloadCallbacks:function(){for(var a in b)b[a](),delete b[a]}};e||f.exports.attachEvent("unload",function(){g||(g=!0,f.exports.triggerUnloadCallbacks())})}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"./random":50}],47:[function(a,f,k){(function(d,c){var b=a("./event"),g=a("json3"),e=a("./browser"),h=function(){};"production"!==d.env.NODE_ENV&&(h=a("debug")("sockjs-client:utils:iframe"));f.exports={WPrefix:"_jp",currentWindowId:null,polluteGlobalNamespace:function(){f.exports.WPrefix in c||(c[f.exports.WPrefix]={})},postMessage:function(a,b){c.parent!==c?c.parent.postMessage(g.stringify({windowId:f.exports.currentWindowId,type:a,data:b||""}),"*"):h("Cannot postMessage, no parent window.",a,b)},createIframe:function(a,d){var e=c.document.createElement("iframe"),g,f,p=function(){h("unattach");clearTimeout(g);try{e.onload=null}catch(w){}e.onerror=null},k=function(){h("cleanup");e&&(p(),setTimeout(function(){e&&e.parentNode.removeChild(e);e=null},0),b.unloadDel(f))},l=function(a){h("onerror",a);e&&(k(),d(a))};e.src=a;e.style.display="none";e.style.position="absolute";e.onerror=function(){l("onerror")};e.onload=function(){h("onload");clearTimeout(g);g=setTimeout(function(){l("onload timeout")},2E3)};c.document.body.appendChild(e);g=setTimeout(function(){l("timeout")},15E3);f=b.unloadAdd(k);return{post:function(a,b){h("post",a,b);setTimeout(function(){try{e&&e.contentWindow&&e.contentWindow.postMessage(a,b)}catch(A){}},0)},cleanup:k,loaded:p}},createHtmlfile:function(a,d){var e=["Active"].concat("Object").join("X"),g=new c[e]("htmlfile"),m,k,l,r=function(){clearTimeout(m);l.onerror=null},w=function(){g&&(r(),b.unloadDel(k),l.parentNode.removeChild(l),l=g=null,CollectGarbage())},G=function(a){h("onerror",a);g&&(w(),d(a))};g.open();g.write('\x3chtml\x3e\x3cscript\x3edocument.domain\x3d"'+c.document.domain+'";\x3c/script\x3e\x3c/html\x3e');g.close();g.parentWindow[f.exports.WPrefix]=c[f.exports.WPrefix];e=g.createElement("div");g.body.appendChild(e);l=g.createElement("iframe");e.appendChild(l);l.src=a;l.onerror=function(){G("onerror")};m=setTimeout(function(){G("timeout")},15E3);k=b.unloadAdd(w);return{post:function(a,b){try{setTimeout(function(){l&&l.contentWindow&&l.contentWindow.postMessage(a,b)},0)}catch(J){}},cleanup:w,loaded:r}}};f.exports.iframeEnabled=!1;c.document&&(f.exports.iframeEnabled=("function"===typeof c.postMessage||"object"===typeof c.postMessage)&&!e.isKonqueror())}).call(this,{env:{}},"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{"./browser":44,"./event":46,debug:55,json3:58}],48:[function(a,f,k){(function(a){var c={};["log","debug","warn"].forEach(function(b){var d;try{d=a.console&&a.console[b]&&a.console[b].apply}catch(e){}c[b]=d?function(){return a.console[b].apply(a.console,arguments)}:"log"===b?function(){}:c.log});f.exports=c}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{}],49:[function(a,f,k){f.exports={isObject:function(a){var c=typeof a;return"function"===c||"object"===c&&!!a},extend:function(a){if(!this.isObject(a))return a;for(var c,b,d=1,e=arguments.length;d<e;d++)for(b in c=arguments[d],c)Object.prototype.hasOwnProperty.call(c,b)&&(a[b]=c[b]);return a}}},{}],50:[function(a,f,k){var d=a("crypto");f.exports={string:function(a){for(var b=d.randomBytes(a),c=[],e=0;e<a;e++)c.push("abcdefghijklmnopqrstuvwxyz012345".substr(b[e]%32,1));return c.join("")},number:function(a){return Math.floor(Math.random()*a)},numberString:function(a){var b=(""+(a-1)).length;return(Array(b+1).join("0")+this.number(a)).slice(-b)}}},{crypto:43}],51:[function(a,f,k){(function(d){var c=function(){};"production"!==d.env.NODE_ENV&&(c=a("debug")("sockjs-client:utils:transport"));f.exports=function(a){return{filterToEnabled:function(b,d){var e={main:[],facade:[]};b?"string"===typeof b&&(b=[b]):b=[];a.forEach(function(a){a&&("websocket"===a.transportName&&!1===d.websocket?c("disabled from server","websocket"):b.length&&-1===b.indexOf(a.transportName)?c("not in whitelist",a.transportName):a.enabled(d)?(c("enabled",a.transportName),e.main.push(a),a.facadeTransport&&e.facade.push(a.facadeTransport)):c("disabled",a.transportName))});return e}}}}).call(this,{env:{}})},{debug:55}],52:[function(a,f,k){(function(d){var c=a("url-parse"),b=function(){};"production"!==d.env.NODE_ENV&&(b=a("debug")("sockjs-client:utils:url"));f.exports={getOrigin:function(a){if(!a)return null;a=new c(a);if("file:"===a.protocol)return null;var b=a.port;b||(b="https:"===a.protocol?"443":"80");return a.protocol+"//"+a.hostname+":"+b},isOriginEqual:function(a,c){var d=this.getOrigin(a)===this.getOrigin(c);b("same",a,c,d);return d},isSchemeEqual:function(a,b){return a.split(":")[0]===b.split(":")[0]},addPath:function(a,b){var c=a.split("?");return c[0]+b+(c[1]?"?"+c[1]:"")},addQuery:function(a,b){return a+(-1===a.indexOf("?")?"?"+b:"\x26"+b)}}}).call(this,{env:{}})},{debug:55,"url-parse":61}],53:[function(a,f,k){f.exports="1.4.0"},{}],54:[function(a,f,k){function d(a){a=String(a);if(!(100<a.length)&&(a=/^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(a))){var b=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case "years":case "year":case "yrs":case "yr":case "y":return 315576E5*b;case "weeks":case "week":case "w":return 6048E5*b;case "days":case "day":case "d":return 864E5*b;case "hours":case "hour":case "hrs":case "hr":case "h":return 36E5*b;case "minutes":case "minute":case "mins":case "min":case "m":return 6E4*b;case "seconds":case "second":case "secs":case "sec":case "s":return 1E3*b;case "milliseconds":case "millisecond":case "msecs":case "msec":case "ms":return b}}}function c(a,c,d,h){return Math.round(a/d)+" "+h+(c>=1.5*d?"s":"")}f.exports=function(a,g){g=g||{};var b=typeof a;if("string"===b&&0<a.length)return d(a);if("number"===b&&!1===isNaN(a))return g["long"]?(b=Math.abs(a),b=864E5<=b?c(a,b,864E5,"day"):36E5<=b?c(a,b,36E5,"hour"):6E4<=b?c(a,b,6E4,"minute"):1E3<=b?c(a,b,1E3,"second"):a+" ms"):(b=Math.abs(a),b=864E5<=b?Math.round(a/864E5)+"d":36E5<=b?Math.round(a/36E5)+"h":6E4<=b?Math.round(a/6E4)+"m":1E3<=b?Math.round(a/1E3)+"s":a+"ms"),b;throw Error("val is not a non-empty string or a valid number. val\x3d"+JSON.stringify(a));}},{}],55:[function(a,f,k){(function(d){function c(a){c="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"===typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};return c(a)}k.log=function(){var a;return"object"===("undefined"===typeof console?"undefined":c(console))&&console.log&&(a=console).log.apply(a,arguments)};k.formatArgs=function(a){a[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+a[0]+(this.useColors?"%c ":" ")+"+"+f.exports.humanize(this.diff);if(this.useColors){var b="color: "+this.color;a.splice(1,0,b,"color: inherit");var c=0,d=0;a[0].replace(/%[a-zA-Z%]/g,function(a){"%%"!==a&&(c++,"%c"===a&&(d=c))});a.splice(d,0,b)}};k.save=function(a){try{a?k.storage.setItem("debug",a):k.storage.removeItem("debug")}catch(e){}};k.load=function(){var a;try{a=k.storage.getItem("debug")}catch(e){}!a&&"undefined"!==typeof d&&"env"in d&&(a=d.env.DEBUG);return a};k.useColors=function(){return"undefined"!==typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs)?!0:"undefined"!==typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:"undefined"!==typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!==typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!==typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&31<=parseInt(RegExp.$1,10)||"undefined"!==typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)};var b;a:{try{b=localStorage;break a}catch(g){}b=void 0}k.storage=b;k.colors="#0000CC #0000FF #0033CC #0033FF #0066CC #0066FF #0099CC #0099FF #00CC00 #00CC33 #00CC66 #00CC99 #00CCCC #00CCFF #3300CC #3300FF #3333CC #3333FF #3366CC #3366FF #3399CC #3399FF #33CC00 #33CC33 #33CC66 #33CC99 #33CCCC #33CCFF #6600CC #6600FF #6633CC #6633FF #66CC00 #66CC33 #9900CC #9900FF #9933CC #9933FF #99CC00 #99CC33 #CC0000 #CC0033 #CC0066 #CC0099 #CC00CC #CC00FF #CC3300 #CC3333 #CC3366 #CC3399 #CC33CC #CC33FF #CC6600 #CC6633 #CC9900 #CC9933 #CCCC00 #CCCC33 #FF0000 #FF0033 #FF0066 #FF0099 #FF00CC #FF00FF #FF3300 #FF3333 #FF3366 #FF3399 #FF33CC #FF33FF #FF6600 #FF6633 #FF9900 #FF9933 #FFCC00 #FFCC33".split(" ");f.exports=a("./common")(k);f.exports.formatters.j=function(a){try{return JSON.stringify(a)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}).call(this,{env:{}})},{"./common":56}],56:[function(a,f,k){f.exports=function(d){function c(a){for(var c=0,d=0;d<a.length;d++)c=(c<<5)-c+a.charCodeAt(d),c|=0;return b.colors[Math.abs(c)%b.colors.length]}function b(a){function d(){for(var a=arguments.length,c=Array(a),e=0;e<a;e++)c[e]=arguments[e];if(d.enabled){a=Number(new Date);d.diff=a-(f||a);d.prev=f;f=d.curr=a;c[0]=b.coerce(c[0]);"string"!==typeof c[0]&&c.unshift("%O");var g=0;c[0]=c[0].replace(/%([a-zA-Z%])/g,function(a,e){if("%%"===a)return a;g++;var f=b.formatters[e];"function"===typeof f&&(a=f.call(d,c[g]),c.splice(g,1),g--);return a});b.formatArgs.call(d,c);(d.log||b.log).apply(d,c)}}var f;d.namespace=a;d.enabled=b.enabled(a);d.useColors=b.useColors();d.color=c(a);d.destroy=g;d.extend=e;"function"===typeof b.init&&b.init(d);b.instances.push(d);return d}function g(){var a=b.instances.indexOf(this);return-1!==a?(b.instances.splice(a,1),!0):!1}function e(a,c){return b(this.namespace+("undefined"===typeof c?":":c)+a)}b.debug=b;b["default"]=b;b.coerce=function(a){return a instanceof Error?a.stack||a.message:a};b.disable=function(){b.enable("")};b.enable=function(a){b.save(a);b.names=[];b.skips=[];var c,d=("string"===typeof a?a:"").split(/[\s,]+/),e=d.length;for(c=0;c<e;c++)d[c]&&(a=d[c].replace(/\*/g,".*?"),"-"===a[0]?b.skips.push(new RegExp("^"+a.substr(1)+"$")):b.names.push(new RegExp("^"+a+"$")));for(c=0;c<b.instances.length;c++)a=b.instances[c],a.enabled=b.enabled(a.namespace)};b.enabled=function(a){if("*"===a[a.length-1])return!0;var c,d;c=0;for(d=b.skips.length;c<d;c++)if(b.skips[c].test(a))return!1;c=0;for(d=b.names.length;c<d;c++)if(b.names[c].test(a))return!0;return!1};b.humanize=a("ms");Object.keys(d).forEach(function(a){b[a]=d[a]});b.instances=[];b.names=[];b.skips=[];b.formatters={};b.selectColor=c;b.enable(b.load());return b}},{ms:54}],57:[function(a,f,k){f.exports="function"===typeof Object.create?function(a,c){a.super_=c;a.prototype=Object.create(c.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})}:function(a,c){a.super_=c;var b=function(){};b.prototype=c.prototype;a.prototype=new b;a.prototype.constructor=a}},{}],58:[function(a,f,k){(function(a){(function(){function c(a,d){function g(a){if(g[a]!==y)return g[a];var b;if("bug-string-char-index"==a)b=!1;else if("json"==a)b=g("json-stringify")&&g("json-parse");else{var c;if("json-stringify"==a){b=d.stringify;var e="function"==typeof b&&z;if(e){(c=function(){return 1}).toJSON=c;try{e="0"===b(0)&&"0"===b(new f)&&'""'==b(new k)&&b(t)===y&&b(y)===y&&b()===y&&"1"===b(c)&&"[1]"==b([c])&&"[null]"==b([y])&&"null"==b(null)&&"[null,null,null]"==b([y,t,null])&&'{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}'==b({a:[c,!0,!1,null,"\x00\b\n\f\r\t"]})&&"1"===b(null,c)&&"[\n 1,\n 2\n]"==b([1,2],null,1)&&'"-271821-04-20T00:00:00.000Z"'==b(new m(-864E13))&&'"+275760-09-13T00:00:00.000Z"'==b(new m(864E13))&&'"-000001-01-01T00:00:00.000Z"'==b(new m(-621987552E5))&&'"1969-12-31T23:59:59.999Z"'==b(new m(-1))}catch(M){e=!1}}b=e}if("json-parse"==a){b=d.parse;if("function"==typeof b)try{if(0===b("0")&&!b(!1)){c=b('{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}');var h=5==c.a.length&&1===c.a[0];if(h){try{h=!b('"\t"')}catch(M){}if(h)try{h=1!==b("01")}catch(M){}if(h)try{h=1!==b("1.")}catch(M){}}}}catch(M){h=!1}b=h}}return g[a]=!!b}a||(a=e.Object());d||(d=e.Object());var f=a.Number||e.Number,k=a.String||e.String,h=a.Object||e.Object,m=a.Date||e.Date,p=a.SyntaxError||e.SyntaxError,l=a.TypeError||e.TypeError,n=a.Math||e.Math,r=a.JSON||e.JSON;"object"==typeof r&&r&&(d.stringify=r.stringify,d.parse=r.parse);var h=h.prototype,t=h.toString,x,H,y,z=new m(-0xc782b5b800cec);try{z=-109252==z.getUTCFullYear()&&0===z.getUTCMonth()&&1===z.getUTCDate()&&10==z.getUTCHours()&&37==z.getUTCMinutes()&&6==z.getUTCSeconds()&&708==z.getUTCMilliseconds()}catch(L){}if(!g("json")){var I=g("bug-string-char-index");if(!z)var B=n.floor,Y=[0,31,59,90,120,151,181,212,243,273,304,334],K=function(a,b){return Y[b]+365*(a-1970)+B((a-1969+(b=+(1<b)))/4)-B((a-1901+b)/100)+B((a-1601+b)/400)};(x=h.hasOwnProperty)||(x=function(a){var b={},c;(b.__proto__=null,b.__proto__={toString:1},b).toString!=t?x=function(a){var b=this.__proto__;a=a in(this.__proto__=null,this);this.__proto__=b;return a}:(c=b.constructor,x=function(a){var b=(this.constructor||c).prototype;return a in this&&!(a in b&&this[a]===b[a])});b=null;return x.call(this,a)});H=function(a,c){var d=0,e,g,f;(e=function(){this.valueOf=0}).prototype.valueOf=0;g=new e;for(f in g)x.call(g,f)&&d++;e=g=null;d?H=2==d?function(a,b){var c={},d="[object Function]"==t.call(a),e;for(e in a)d&&"prototype"==e||x.call(c,e)||!(c[e]=1)||!x.call(a,e)||b(e)}:function(a,b){var c="[object Function]"==t.call(a),d,e;for(d in a)c&&"prototype"==d||!x.call(a,d)||(e="constructor"===d)||b(d);(e||x.call(a,d="constructor"))&&b(d)}:(g="valueOf toString toLocaleString propertyIsEnumerable isPrototypeOf hasOwnProperty constructor".split(" "),H=function(a,c){var d="[object Function]"==t.call(a),e,f=!d&&"function"!=typeof a.constructor&&b[typeof a.hasOwnProperty]&&a.hasOwnProperty||x;for(e in a)d&&"prototype"==e||!f.call(a,e)||c(e);for(d=g.length;e=g[--d];f.call(a,e)&&c(e));});return H(a,c)};if(!g("json-stringify")){var Z={92:"\\\\",34:'\\"',8:"\\b",12:"\\f",10:"\\n",13:"\\r",9:"\\t"},D=function(a,b){return("000000"+(b||0)).slice(-a)},U=function(a){for(var b='"',c=0,d=a.length,e=!I||10<d,g=e&&(I?a.split(""):a);c<d;c++){var f=a.charCodeAt(c);switch(f){case 8:case 9:case 10:case 12:case 13:case 34:case 92:b+=Z[f];break;default:b=32>f?b+("\\u00"+D(2,f.toString(16))):b+(e?g[c]:a.charAt(c))}}return b+'"'},P=function(a,b,c,d,e,g,f){var h,k,m,p,n,L,O,q,C;try{h=b[a]}catch(ca){}if("object"==typeof h&&h)if(k=t.call(h),"[object Date]"!=k||x.call(h,"toJSON"))"function"==typeof h.toJSON&&("[object Number]"!=k&&"[object String]"!=k&&"[object Array]"!=k||x.call(h,"toJSON"))&&(h=h.toJSON(a));else if(h>-1/0&&h<1/0){if(K){p=B(h/864E5);for(k=B(p/365.2425)+1970-1;K(k+1,0)<=p;k++);for(m=B((p-K(k,0))/30.42);K(k,m+1)<=p;m++);p=1+p-K(k,m);n=(h%864E5+864E5)%864E5;L=B(n/36E5)%24;O=B(n/6E4)%60;q=B(n/1E3)%60;n%=1E3}else k=h.getUTCFullYear(),m=h.getUTCMonth(),p=h.getUTCDate(),L=h.getUTCHours(),O=h.getUTCMinutes(),q=h.getUTCSeconds(),n=h.getUTCMilliseconds();h=(0>=k||1E4<=k?(0>k?"-":"+")+D(6,0>k?-k:k):D(4,k))+"-"+D(2,m+1)+"-"+D(2,p)+"T"+D(2,L)+":"+D(2,O)+":"+D(2,q)+"."+D(3,n)+"Z"}else h=null;c&&(h=c.call(b,a,h));if(null===h)return"null";k=t.call(h);if("[object Boolean]"==k)return""+h;if("[object Number]"==k)return h>-1/0&&h<1/0?""+h:"null";if("[object String]"==k)return U(""+h);if("object"==typeof h){for(a=f.length;a--;)if(f[a]===h)throw l();f.push(h);C=[];b=g;g+=e;if("[object Array]"==k){m=0;for(a=h.length;m<a;m++)k=P(m,h,c,d,e,g,f),C.push(k===y?"null":k);a=C.length?e?"[\n"+g+C.join(",\n"+g)+"\n"+b+"]":"["+C.join(",")+"]":"[]"}else H(d||h,function(a){var b=P(a,h,c,d,e,g,f);b!==y&&C.push(U(a)+":"+(e?" ":"")+b)}),a=C.length?e?"{\n"+g+C.join(",\n"+g)+"\n"+b+"}":"{"+C.join(",")+"}":"{}";f.pop();return a}};d.stringify=function(a,c,d){var e,g,f,h;if(b[typeof c]&&c)if("[object Function]"==(h=t.call(c)))g=c;else if("[object Array]"==h){f={};for(var k=0,m=c.length,p;k<m;p=c[k++],(h=t.call(p),"[object String]"==h||"[object Number]"==h)&&(f[p]=1));}if(d)if("[object Number]"==(h=t.call(d))){if(0<(d-=d%1))for(e="",10<d&&(d=10);e.length<d;e+=" ");}else"[object String]"==h&&(e=10>=d.length?d:d.slice(0,10));return P("",(p={},p[""]=a,p),g,f,e,"",[])}}if(!g("json-parse")){var aa=k.fromCharCode,ba={92:"\\",34:'"',47:"/",98:"\b",116:"\t",110:"\n",102:"\f",114:"\r"},q,N,v=function(){q=N=null;throw p();},F=function(){for(var a=N,b=a.length,c,d,e,g,f;q<b;)switch(f=a.charCodeAt(q),f){case 9:case 10:case 13:case 32:q++;break;case 123:case 125:case 91:case 93:case 58:case 44:return c=I?a.charAt(q):a[q],q++,c;case 34:c="@";for(q++;q<b;)if(f=a.charCodeAt(q),32>f)v();else if(92==f)switch(f=a.charCodeAt(++q),f){case 92:case 34:case 47:case 98:case 116:case 110:case 102:case 114:c+=ba[f];q++;break;case 117:d=++q;for(e=q+4;q<e;q++)f=a.charCodeAt(q),48<=f&&57>=f||97<=f&&102>=f||65<=f&&70>=f||v();c+=aa("0x"+a.slice(d,q));break;default:v()}else{if(34==f)break;f=a.charCodeAt(q);for(d=q;32<=f&&92!=f&&34!=f;)f=a.charCodeAt(++q);c+=a.slice(d,q)}if(34==a.charCodeAt(q))return q++,c;v();default:d=q;45==f&&(g=!0,f=a.charCodeAt(++q));if(48<=f&&57>=f){for(48==f&&(f=a.charCodeAt(q+1),48<=f&&57>=f)&&v();q<b&&(f=a.charCodeAt(q),48<=f&&57>=f);q++);if(46==a.charCodeAt(q)){for(e=++q;e<b&&(f=a.charCodeAt(e),48<=f&&57>=f);e++);e==q&&v();q=e}f=a.charCodeAt(q);if(101==f||69==f){f=a.charCodeAt(++q);43!=f&&45!=f||q++;for(e=q;e<b&&(f=a.charCodeAt(e),48<=f&&57>=f);e++);e==q&&v();q=e}return+a.slice(d,q)}g&&v();if("true"==a.slice(q,q+4))return q+=4,!0;if("false"==a.slice(q,q+5))return q+=5,!1;if("null"==a.slice(q,q+4))return q+=4,null;v()}return"$"},Q=function(a){var b,c;"$"==a&&v();if("string"==typeof a){if("@"==(I?a.charAt(0):a[0]))return a.slice(1);if("["==a){for(b=[];;c||(c=!0)){a=F();if("]"==a)break;c&&(","==a?(a=F(),"]"==a&&v()):v());","==a&&v();b.push(Q(a))}return b}if("{"==a){for(b={};;c||(c=!0)){a=F();if("}"==a)break;c&&(","==a?(a=F(),"}"==a&&v()):v());","!=a&&"string"==typeof a&&"@"==(I?a.charAt(0):a[0])&&":"==F()||v();b[a.slice(1)]=Q(F())}return b}v()}return a},W=function(a,b,c){c=V(a,b,c);c===y?delete a[b]:a[b]=c},V=function(a,b,c){var d=a[b],e;if("object"==typeof d&&d)if("[object Array]"==t.call(d))for(e=d.length;e--;)W(d,e,c);else H(d,function(a){W(d,a,c)});return c.call(a,b,d)};d.parse=function(a,b){var c,d;q=0;N=""+a;c=Q(F());"$"!=F()&&v();q=N=null;return b&&"[object Function]"==t.call(b)?V((d={},d[""]=c,d),"",b):c}}}d.runInContext=c;return d}var b={"function":!0,object:!0},d=b[typeof k]&&k&&!k.nodeType&&k,e=b[typeof window]&&window||this,h=d&&b[typeof f]&&f&&!f.nodeType&&"object"==typeof a&&a;!h||h.global!==h&&h.window!==h&&h.self!==h||(e=h);if(d)c(e,d);else{var l=e.JSON,r=e.JSON3,n=!1,t=c(e,e.JSON3={noConflict:function(){n||(n=!0,e.JSON=l,e.JSON3=r,l=r=null);return t}});e.JSON={parse:t.parse,stringify:t.stringify}}}).call(this)}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{}],59:[function(a,f,k){var d=Object.prototype.hasOwnProperty;k.stringify=function(a,b){b=b||"";var c=[];"string"!==typeof b&&(b="?");for(var e in a)d.call(a,e)&&c.push(encodeURIComponent(e)+"\x3d"+encodeURIComponent(a[e]));return c.length?b+c.join("\x26"):""};k.parse=function(a){for(var b=/([^=?&]+)=?([^&]*)/g,c={},d;d=b.exec(a);){var f=decodeURIComponent(d[1].replace(/\+/g," "));d=decodeURIComponent(d[2].replace(/\+/g," "));f in c||(c[f]=d)}return c}},{}],60:[function(a,f,k){f.exports=function(a,c){c=c.split(":")[0];a=+a;if(!a)return!1;switch(c){case "http":case "ws":return 80!==a;case "https":case "wss":return 443!==a;case "ftp":return 21!==a;case "gopher":return 70!==a;case "file":return!1}return 0!==a}},{}],61:[function(a,f,k){(function(d){function c(a){var b=d&&d.location||{};a=a||b;var b={},c=typeof a,e;if("blob:"===a.protocol)b=new g(unescape(a.pathname),{});else if("string"===c)for(e in b=new g(a,{}),t)delete b[e];else if("object"===c){for(e in a)e in t||(b[e]=a[e]);void 0===b.slashes&&(b.slashes=r.test(a.href))}return b}function b(a){a=k.exec(a);return{protocol:a[1]?a[1].toLowerCase():"",slashes:!!a[2],rest:a[3]}}function g(a,d,f){if(!(this instanceof g))return new g(a,d,f);var k,p,m,l,t=n.slice();k=typeof d;var r=0;"object"!==k&&"string"!==k&&(f=d,d=null);f&&"function"!==typeof f&&(f=h.parse);d=c(d);p=b(a||"");k=!p.protocol&&!p.slashes;this.slashes=p.slashes||k&&d.slashes;this.protocol=p.protocol||d.protocol||"";a=p.rest;for(p.slashes||(t[3]=[/(.*)/,"pathname"]);r<t.length;r++)if(p=t[r],"function"===typeof p)a=p(a);else{m=p[0];l=p[1];if(m!==m)this[l]=a;else if("string"===typeof m)~(m=a.indexOf(m))&&("number"===typeof p[2]?(this[l]=a.slice(0,m),a=a.slice(m+p[2])):(this[l]=a.slice(m),a=a.slice(0,m)));else if(m=m.exec(a))this[l]=m[1],a=a.slice(0,m.index);this[l]=this[l]||(k&&p[3]?d[l]||"":"");p[4]&&(this[l]=this[l].toLowerCase())}f&&(this.query=f(this.query));if(k&&d.slashes&&"/"!==this.pathname.charAt(0)&&(""!==this.pathname||""!==d.pathname)){a=this.pathname;d=(d.pathname||"/").split("/").slice(0,-1).concat(a.split("/"));a=d.length;f=d[a-1];t=!1;for(r=0;a--;)"."===d[a]?d.splice(a,1):".."===d[a]?(d.splice(a,1),r++):r&&(0===a&&(t=!0),d.splice(a,1),r--);t&&d.unshift("");"."!==f&&".."!==f||d.push("");this.pathname=d.join("/")}e(this.port,this.protocol)||(this.host=this.hostname,this.port="");this.username=this.password="";this.auth&&(p=this.auth.split(":"),this.username=p[0]||"",this.password=p[1]||"");this.origin=this.protocol&&this.host&&"file:"!==this.protocol?this.protocol+"//"+this.host:"null";this.href=this.toString()}var e=a("requires-port"),h=a("querystringify"),k=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\S\s]*)/i,r=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,n=[["#","hash"],["?","query"],function(a){return a.replace("\\","/")},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d+)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],t={hash:1,query:1};g.prototype={set:function(a,b,c){switch(a){case "query":"string"===typeof b&&b.length&&(b=(c||h.parse)(b));this[a]=b;break;case "port":this[a]=b;e(b,this.protocol)?b&&(this.host=this.hostname+":"+b):(this.host=this.hostname,this[a]="");break;case "hostname":this[a]=b;this.port&&(b+=":"+this.port);this.host=b;break;case "host":this[a]=b;/:\d+$/.test(b)?(b=b.split(":"),this.port=b.pop(),this.hostname=b.join(":")):(this.hostname=b,this.port="");break;case "protocol":this.protocol=b.toLowerCase();this.slashes=!c;break;case "pathname":case "hash":b?(c="pathname"===a?"/":"#",this[a]=b.charAt(0)!==c?c+b:b):this[a]=b;break;default:this[a]=b}for(a=0;a<n.length;a++)b=n[a],b[4]&&(this[b[1]]=this[b[1]].toLowerCase());this.origin=this.protocol&&this.host&&"file:"!==this.protocol?this.protocol+"//"+this.host:"null";this.href=this.toString();return this},toString:function(a){a&&"function"===typeof a||(a=h.stringify);var b=this.protocol;b&&":"!==b.charAt(b.length-1)&&(b+=":");b+=this.slashes?"//":"";this.username&&(b+=this.username,this.password&&(b+=":"+this.password),b+="@");b+=this.host+this.pathname;(a="object"===typeof this.query?a(this.query):this.query)&&(b+="?"!==a.charAt(0)?"?"+a:a);this.hash&&(b+=this.hash);return b}};g.extractProtocol=b;g.location=c;g.qs=h;f.exports=g}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{})},{querystringify:59,"requires-port":60}]},{},[1])(1)}); \ No newline at end of file diff --git a/src/main/resources/static/sg/login.html b/src/main/resources/static/sg/login.html new file mode 100644 index 0000000..5a42d51 --- /dev/null +++ b/src/main/resources/static/sg/login.html @@ -0,0 +1,365 @@ +<!DOCTYPE> +<html> +<head> + <title>绠¢亾鍩虹澶ф暟鎹钩鍙版湇鍔�-鐧诲綍</title> + <meta charset="utf-8" /> + <meta http-equiv="pragma" content="no-cache" /> + <meta http-equiv="cache-control" content="no-cache" /> + <meta http-equiv="expires" content="0" /> + <link href="../favicon.ico" rel="icon" type="image/x-icon" /> + <link href="../css/style.css" rel="stylesheet" /> + <script src="../js/jquery.min.js"></script> + <script src="../js/jquery.cookie.min.js"></script> + <script src="../js/zxcvbn.js"></script> + <script src="../js/rsa.min.js"></script> +</head> +<body style="background-color: #0059cf; overflow-y: hidden !important;"> + <form method="post" id="fm1" class="fm-v clearfix" action="/sign/login"> + <div class="loginheader" style='display: none;'> + <span class="loginname">鍗曠偣鐧诲綍</span> + <img class="devline" src="../images/login/loginline.png" /><span class="lognameE">Log in</span> + </div> + <div id="topBg" style="background-color: #1a65c9; height: 30%; display: none;"></div> + <div id='div_middle' class="loginmain"> + <div id='div_loginTitle' class="logintitle" style="display: none;"></div> + <div id="topBgColor" style="background-color: #1a65c9; height: 19%; display: none;"></div> + <div id='div_loginBox' class="logintable"> + <div id="loginBox_Title" style="height: 60px; line-height: 60px;"> + <span style="color: #fff; font-size: 50px; font-family: initial; font-weight: 700;">鐢ㄦ埛鐧诲綍</span> + </div> + <!-- 鐢ㄦ埛鍚� --> + <div class="loginid" style='width: 400px; margin-right: 50px; margin-top: 45px; border-bottom: 1px solid #fff;'> + <label for="username"></label> + <input class="required" id="username" placeholder="璇疯緭鍏ョ敤鎴峰悕" size="20" tabindex="1" + type="text" accesskey="n" autocomplete="off" name="username" value="" /> + </div> + <!-- 瀵嗙爜 --> + <section> + <div class="loginpwd" style='width: 400px; margin-right: 20px; margin-top: 30px; border-bottom: 1px solid #fff;'> + <label for="password"></label> + <input class="required" placeholder="璇疯緭鍏ュ瘑鐮�" type="password" id="password" size="20" tabindex="2" + accesskey="p" autocomplete="off" name="password" value="" /><span id="capslock-on" style="display: none;"> + <i class="fa fa-exclamation-circle"></i> + <span>CAPSLOCK key is turned on!</span> + </span> + </div> + </section> + <section class="row check"> + </section> + <!-- 楠岃瘉鐮� --> + <section> + <div class="loginvalifield" style="width: 400px; margin-right: 20px; margin-top: 30px; border-bottom: 1px solid #fff;"> + <div class="loginvalicode"> + <label for="inputCode"></label> + <input id="inputCode" placeholder="璇疯緭鍏ラ獙璇佺爜" name="inputCode" class="required" tabindex="3" accesskey="v" type="text" value="" size="35" autocomplete="off" maxlength="6"> + </div> + <span class="code" id="checkCode" onclick="createCode()"></span> + </div> + </section> + <section> + <div id="eMsg" style="color: red; height: 40px; line-height: 40px; font-size: 15px; margin-bottom: -20px; margin-left: 45px;"></div> + </section> + <!-- 鐧诲綍鎸夐挳 --> + <section> + <input class="loginbtn" style="margin-top: 25px;" name="submit" accesskey="l" value="" tabindex="5" type="button" onclick="sysLogin();"> + </section> + </div> + </div> + <div id='div_foot' style="display: none;"> + <span>鎶�鏈敮鎸侊細鍥藉娴锋磱淇℃伅涓績</span> + </div> + </form> + <script> + var code; + function createCode() { + code = ""; + var codeLength = 4; //楠岃瘉鐮佺殑闀垮害 + var checkCode = document.getElementById("checkCode"); + /* var codeChars = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z', + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'); */ + var codeChars = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9); + for (var i = 0; i < codeLength; i++) { + var charNum = Math.floor(Math.random() * 10); + code += codeChars[charNum]; + } + if (checkCode) { + checkCode.className = "code"; + checkCode.innerHTML = code; + } + } + + var leftoffset = 474; + + // 绂佹鍦╥frame鎵撳紑 + function noIframe() { + if (top.location != self.location) { + window.top.location = self.location.href.split("?")[0]; + } + } + + function autoResize() { + var div_obj = document.getElementById("div_middle"); + //瀹藉害鑷�傚簲 + var fullWidth = document.body.offsetWidth; + var div_loginBox = document.getElementById("div_loginBox"); + var boxWidth = div_loginBox.offsetWidth; + var myWidth = div_obj.offsetWidth; + //if (fullWidth > 1920) { fullWidth = 1920; } + + var winWidht = window.innerWidth; + var winHeight = window.innerHeight - 100; + var bgHeight = 1080; + winWidht += 150; + if (winWidht >= 1920) { + $("#div_middle").css("background", "url(../images/NewGJXJlogin/1920/2bg.jpg) no-repeat").css("background-position", "center bottom").css("height", "800px"); + $("#div_middle").css("height", "980px"); + $(".logintable").css("margin-top", "170px"); + div_loginBox.style.left = ((fullWidth - 410) / 2 + 474) + "px"; + bgHeight = 980; //1080 + } else if (winWidht >= 1600) { + $("#div_middle").css("background", "url(../images/NewGJXJlogin/1600/2bg.jpg) no-repeat").css("background-position", "center bottom").css("height", "800px"); + $("#loginBox_Title span").css("font-size", "40px"); + $(".loginid").css("margin-top", "35px").css("height", "45px").css("width", "350px").css("background", "url(../images/NewGJXJlogin/1600/user.png) no-repeat").css("background-position", "3% 40%"); + $(".loginid input").css("width", "306px").css("margin-left", "45px").css("font-size", "18px"); + $(".loginpwd").css("margin-top", "20px").css("height", "45px").css("width", "350px").css("background", "url(../images/NewGJXJlogin/1600/password.png) no-repeat").css("background-position", "3% 40%"); + $(".loginpwd input").css("width", "306px").css("margin-left", "45px").css("font-size", "18px"); + $(".loginvalicode").css("height", "45px").css("width", "270px").css("background", "url(../images/NewGJXJlogin/1600/code.png) no-repeat").css("background-position", "4.5% 40%"); + $(".loginvalicode input").css("width", "215px").css("margin-left", "49px").css("font-size", "18px"); + $(".loginvalifield").css("margin-top", "20px").css("width", "350px").css("height", "45px"); + $("#inputCode").css("margin-left", "46px"); + $(".logintable").css("margin-top", "113px").css("width", "350px").css("height", "470px"); + //$(".logintable").css("margin-top", "210px").css("width", "350px").css("height", "470px"); + $("#carLink div").css("background", "url(../images/NewGJXJlogin/1600/add.png) no-repeat").css("background-position", "3% 40%"); + $("#carLink a").css("margin-left", "50px").css("font-size", "16px"); + $(".loginbtn").css("margin-top", "25px"); + leftoffset = 404; + bgHeight = 800; //900 + div_loginBox.style.left = ((fullWidth - 360) / 2 + leftoffset) + "px"; + } else if (winWidht >= 1440) { + $("#div_middle").css("background", "url(../images/NewGJXJlogin/1440/2bg.jpg) no-repeat").css("background-position", "center bottom").css("height", "810px"); + $("#loginBox_Title").css("height", "50px").css("line-height", "50px"); + $("#loginBox_Title span").css("font-size", "36px"); + $(".loginid").css("margin-top", "20px").css("height", "45px").css("width", "320px").css("background", "url(../images/NewGJXJlogin/1440/user.png) no-repeat").css("background-position", "3% 40%"); + $(".loginid input").css("width", "276px").css("margin-left", "45px").css("font-size", "16px"); + $(".loginpwd").css("margin-top", "20px").css("height", "45px").css("width", "320px").css("background", "url(../images/NewGJXJlogin/1440/password.png) no-repeat").css("background-position", "3% 40%"); + $(".loginpwd input").css("width", "276px").css("margin-left", "45px").css("font-size", "16px"); + $(".loginvalicode").css("height", "45px").css("width", "240px").css("background", "url(../images/NewGJXJlogin/1440/code.png) no-repeat").css("background-position", "4.5% 40%"); + $(".loginvalicode input").css("width", "185px").css("margin-left", "49px").css("font-size", "16px"); + $(".loginvalifield").css("margin-top", "20px").css("width", "320px").css("height", "45px"); + $(".logintable").css("margin-top", "201px").css("width", "320px").css("height", "420px"); + $("#carLink div").css("background", "url(../images/NewGJXJlogin/1440/add.png) no-repeat").css("background-position", "3.5% 40%").css("margin-top", "25px").css("height", "30px").css("line-height", "30px"); + $("#carLink a").css("margin-left", "50px").css("font-size", "16px"); + $(".loginbtn").css("margin-top", "25px").css("height", "50px"); + leftoffset = 357; + bgHeight = 810; + div_loginBox.style.left = ((fullWidth - 320) / 2 + leftoffset) + "px"; + } else if (winWidht >= 1366) { + $("#div_middle").css("background", "url(../images/NewGJXJlogin/1366/2bg.jpg) no-repeat").css("background-position", "center bottom").css("height", "668px"); + $("#loginBox_Title").css("height", "50px").css("line-height", "50px"); + $("#loginBox_Title span").css("font-size", "32px"); + $(".loginid").css("margin-top", "35px").css("height", "40px").css("width", "300px").css("background", "url(../images/NewGJXJlogin/1366/user.png) no-repeat").css("background-position", "3% 50%"); + $(".loginid input").css("width", "256px").css("margin-left", "45px").css("font-size", "14px"); + $(".loginpwd").css("margin-top", "20px").css("height", "40px").css("width", "300px").css("background", "url(../images/NewGJXJlogin/1366/password.png) no-repeat").css("background-position", "3% 50%"); + $(".loginpwd input").css("width", "256px").css("margin-left", "45px").css("font-size", "14px"); + $(".loginvalicode").css("height", "40px").css("width", "220px").css("background", "url(../images/NewGJXJlogin/1366/code.png) no-repeat").css("background-position", "4.5% 50%"); + $(".loginvalicode input").css("width", "165px").css("margin-left", "46px").css("font-size", "14px"); + $(".loginvalifield").css("margin-top", "20px").css("width", "300px").css("height", "40px"); + $(".logintable").css("margin-top", "83px").css("width", "300px").css("height", "390px"); + //$(".logintable").css("margin-top", "135px").css("width", "300px").css("height", "390px"); + $("#carLink div").css("background", "url(../images/NewGJXJlogin/1366/add.png) no-repeat").css("background-position", "3.5% 50%").css("margin-top", "25px").css("height", "30px").css("line-height", "30px"); + $("#carLink a").css("margin-left", "50px").css("font-size", "14px"); + $(".loginbtn").css("margin-top", "10px").css("height", "56px"); + leftoffset = 338; + bgHeight = 668; //731 + div_loginBox.style.left = ((fullWidth - 300) / 2 + leftoffset) + "px"; + } else { + //fullWidth = 1280; + $("#div_middle").css("background", "url(../images/NewGJXJlogin/1280/2bg.jpg) no-repeat").css("background-position", "center bottom").css("height", "620px"); + $("#loginBox_Title").css("height", "50px").css("line-height", "50px"); + $("#loginBox_Title span").css("font-size", "32px"); + $(".loginid").css("margin-top", "27px").css("height", "40px").css("width", "280px").css("background", "url(../images/NewGJXJlogin/1280/user.png) no-repeat").css("background-position", "3% 50%"); + $(".loginid input").css("width", "236px").css("margin-left", "45px").css("font-size", "14px"); + $(".loginpwd").css("margin-top", "20px").css("height", "40px").css("width", "280px").css("background", "url(../images/NewGJXJlogin/1280/password.png) no-repeat").css("background-position", "3% 50%"); + $(".loginpwd input").css("width", "236px").css("margin-left", "45px").css("font-size", "14px"); + $(".loginvalicode").css("height", "40px").css("width", "200px").css("background", "url(../images/NewGJXJlogin/1280/code.png) no-repeat").css("background-position", "4.5% 50%"); + $(".loginvalicode input").css("width", "145px").css("margin-left", "46px").css("font-size", "14px"); + $(".loginvalifield").css("margin-top", "20px").css("width", "280px").css("height", "40px"); + $(".logintable").css("margin-top", "70px").css("width", "280px").css("height", "380px"); + $("#carLink div").css("background", "url(../images/NewGJXJlogin/1280/add.png) no-repeat").css("background-position", "3.5% 50%").css("margin-top", "25px").css("height", "30px").css("line-height", "30px"); + $("#carLink a").css("margin-left", "50px").css("font-size", "14px"); + $(".loginbtn").css("margin-top", "0px").css("height", "50px"); + leftoffset = 314; + bgHeight = 620; + div_loginBox.style.left = ((fullWidth - 280) / 2 + leftoffset) + "px"; + $("body").css("overflow", "hidden"); + } + div_obj.style.width = fullWidth + "px"; + if (winHeight > bgHeight) { + div_obj.style.height = winHeight + "px"; + var marginTop = parseFloat($(".logintable").css("margin-top").replace("px")) + (winHeight - bgHeight); + $(".logintable").css("margin-top", marginTop + "px"); + } + //楂樺害鑷�傚簲 + var fullHeight = document.body.offsetHeight; + var myHeight = div_obj.offsetHeight; + if (fullHeight > myHeight) { + //div_obj.style.marginTop = ((fullHeight - myHeight) / 2) + "px"; + } + var div_loginTitle = document.getElementById("div_loginTitle"); + var titleWidth = div_loginTitle.offsetWidth; + div_loginTitle.style.left = (fullWidth - titleWidth) / 2 + "px"; + } + + window.onload = function () { + noIframe(); + createCode(); + autoResize(); + getPublicKey(); + $(window).on("resize", autoResize); + document.getElementById('username').focus(); + } + </script> + <script> + function getPublicKey() { + $.get("getPublicKey", function (rs) { + if (rs && rs.code == 200) { + window.encrypt = new JSEncrypt(); + encrypt.setPublicKey(rs.result); + } + }); + } + + function sysValidate() { + // 楠岃瘉鐢ㄦ埛鍚嶄笌瀵嗙爜 + var theUsername = document.getElementById("username").value; + if (theUsername.length <= 0) { + $("#eMsg").html("鎻愮ず锛氳杈撳叆鐢ㄦ埛鍚嶏紒"); + $("#username").focus(); + return false; + } + var thePassword = document.getElementById("password").value; + if (thePassword.length <= 0) { + $("#eMsg").html("鎻愮ず锛氳杈撳叆瀵嗙爜锛�"); + $("#password").focus(); + return false; + } + if (!isValid(thePassword)) { + $("#eMsg").html("鎻愮ず锛氬瘑鐮佷负8-20浣嶅寘鍚瓧姣嶃�佹暟瀛楀拰鐗规畩瀛楃锛�"); + $("#password").focus(); + return false; + } + + // 楠岃瘉楠岃瘉鐮� + var inputCode = document.getElementById("inputCode").value; + if (inputCode.length <= 0) { + $("#eMsg").html("鎻愮ず锛氳杈撳叆楠岃瘉鐮侊紒"); + $("#inputCode").focus(); + return false; + } + if (inputCode.toUpperCase() != code.toUpperCase()) { + $("#eMsg").html("鎻愮ず锛氶獙璇佺爜杈撳叆鏈夎锛�"); + $("#inputCode").val("").focus(); + createCode(); + return false; + } + + return true; + } + + window.isBusy = false; + + function sysLogin() { + if (isBusy || !sysValidate()) { + return; + } + + isBusy = true; + var username = $.trim($("#username").val()); + var password = $("#password").val(); + var service = getQueryStr("service"); + + var data = { + "uid": encrypt.encrypt(username), + "pwd": encrypt.encrypt(password) + }; + + $.ajax({ + url: "login", + type: "POST", + data: JSON.stringify(data), + dataType: "json", // html銆乯son銆乯sonp銆乻cript銆乼ext + contentType: "application/json", // "application/json", "application/x-www-form-urlencoded", + success: function (rs) { + isBusy = false; + + if (!rs || rs.code != 200) { + createCode(); + var msg = rs && rs.msg ? rs.msg : "鐧诲綍澶辫触锛�"; + $("#eMsg").html(msg); + return; + } + + var service = getQueryStr("service"); + if (service) { + service += (service.indexOf("?") > -1 ? "&" : "?") + "token=" + rs.result.token; + location.href = service; + return; + } + + location.href = location.href.replace("/sign/toLogin", "/sign/toIndex"); + }, + error: function (e) { + isBusy = false; + console.error(e); + alert("鐧诲綍鍑洪敊锛岃鑱旂郴绠$悊鍛橈紒"); + } + }); + } + + function ajax(url, type, data, dataType, contentType, fn, efn) { + $.ajax({ + url: url, + type: type, + data: data, + dataType: dataType || "json", // html銆乯son銆乯sonp銆乻cript銆乼ext + contentType: contentType || "application/json", // "application/x-www-form-urlencoded" + success: function (data) { + fn(data); + }, + error: function (e) { + console.error(e); + fn(); + } + }); + } + + // 鑾峰彇URL鍙傛暟 + function getQueryStr(name) { + var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); + var r = window.location.search.substr(1).match(reg); + if (r != null) { + return decodeURI(r[2]); + } + return null; + } + + document.onkeydown = function (e) { + var ev = window.event || e; + var code = ev.keyCode || ev.which || ev.charCode; + if (code == 13) { + sysLogin(); + } + } + + // 瀵嗙爜鏄惁鍚堣 + function isValid(pwd) { + if (pwd) { + var regex = new RegExp('^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{8,20}$'); + return regex.test(pwd) + } + return false; + } + </script> +</body> +</html> diff --git a/src/main/resources/static/sg/monitor.html b/src/main/resources/static/sg/monitor.html new file mode 100644 index 0000000..f51a23a --- /dev/null +++ b/src/main/resources/static/sg/monitor.html @@ -0,0 +1,1051 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>杩愮淮鐩戞帶</title> + + <link href="../css/main.css" rel="stylesheet" > + <link href="../css/jquery-ui.min.css" rel="stylesheet"> + <link href="../css/bootstrap/bootstrap.css" rel="stylesheet"> + + <script src="../js/jquery.min.js"></script> + <script src="../js/jquery-ui.min.js"></script> + <script src="../js/sockjs.min.js"></script> + <script src="../js/echarts.min.js"></script> + <script src="../js/bootstrap.min.js"></script> + <script src="../js/resourceAnalyse.js"></script> + <script src="../js/paramconfig.js"></script> + <script> + $.ajaxSetup({ + dataType: "json", + cache: false, + headers: { + // TODO + }, + xhrFields: { + withCredentials: false + }, + crossDomain: true + }); + + var errorsystemdata = ""; //寮傚父绯荤粺 + var onlineUser = null; //鍦ㄧ嚎浜哄憳 + var warningserver = ""; //寮傚父鏈嶅姟 + var cpuchart = null; //cpu鍥捐〃 + var memchart = null; //鍐呭瓨鍥捐〃 + var resstatuschart = null; //璧勬簮鐘舵�侀ゼ鐘跺浘 + var auditstatuschart = null; //璧勬簮瀹℃牳缁熻鍥� + var resUsagechart = null; //璧勬簮浣跨敤鎶樼嚎鍥� + var useractionchart = null; //鐢ㄦ埛璋冪敤鎶樼嚎鍥� + var resourceChart = null; //鐢ㄦ埛璋冪敤鎶樼嚎鍥� + + $(document).ready(function () { + auditstatuschart = echarts.init(document.getElementById("auditstatus")); + resUsagechart = echarts.init(document.getElementById("resinvokechart")); + useractionchart = echarts.init(document.getElementById("useractionchart")); + resourceChart = echarts.init(document.getElementById("resourceChart")); + servicestatus(); + resUsageAction(); + userAction(); + resource(); + //鍦ㄧ嚎浜哄憳鍜屽紓甯歌祫婧� 鏇村鍒楄〃 + $('.personcountmore').on("click", function () { + window.open("./onlineUser.html?data=" + encodeURI(encodeURI(JSON.stringify( + onlineUser)))); + console.log("鍦ㄧ嚎浜哄憳鍒楄〃"); + }) + $('.errorResNummore').on("click", function () { + window.open("./warningResource.html"); + console.log("寮傚父璧勬簮鍒楄〃"); + }) + $("#useractionbutton").on("click", function () { + + userAction($("#UserName").val()); + }) + $("#resactionbutton").on("click", function () { + resUsageAction($("#zyid").val()); + }) + }); + + function cpuEchart() { + var myChart = echarts.init(document.getElementById("Sys_cpu_chart")); + myChart.setOption({ + tooltip: { + trigger: 'axis' + }, + + toolbox: { + show: true, + + }, + calculable: true, + xAxis: [{ + type: 'category', + boundaryGap: false, + splitLine: { + show: false + }, + axisLine: { + show: false + }, + data: ['', '', '', '', '', '', ''] + + }], + yAxis: [{ + type: 'value', + axisLine: { + show: false + }, + show: false + }], + series: [{ + name: '鐢ㄩ噺', + type: 'line', + smooth: true, + itemStyle: { + normal: { + areaStyle: { + type: 'default' + } + } + }, + data: cpulist + }] + }) + } + + /** + * 鏈嶅姟鐘舵�� + */ + function servicestatus() { + $.get(LanCatalogBaseApiURL + 'monitor/jitmonitor/getGisResNumByResStatus', function (data) { + var map = data; + var resStatus = []; + map.resStatus.forEach(item => { + var temp = {}; + temp.name = item.resourcestatus == 0 ? "姝e父璧勬簮" : "寮傚父璧勬簮"; + temp.value = item.count; + resStatus.push(temp); + }) + ChartsPie('resstatus', resStatus); + activeStatusChart('auditstatus', map); + }); + } + + /** + * 姝e父璧勬簮 + * @param domid + * @param data + */ + function activeStatusChart(domid, data) { + var myChart = echarts.init(document.getElementById(domid)); + var colors = [' #d3e9af', '#ed9678', "#3DD1F9", "#BBA767", "#982CD5", "#FFD1B0", "#FFAD05", "#531477", + "#0066FF", + "#FFC200", "#E52F70", "#CA6821", "#FF3A3A", "#1EAD06", "#D04311", "#6D6815", "#49A7FF", "#FFF000", + "#1E7532", + "#FFA889", "#E986AA" + ]; + var total = 0; + data.resStatus.forEach(item => { + + total = item.count + total; + }) + + myChart.setOption({ + grid: [{ + width: "800px", + height: "800px" + }], + color: colors, + tooltip: { + trigger: 'item', + formatter: "{a} <br/>{b} : {c} ({d}%)" + }, + legend: { + orient: 'vertical', + x: 'left', + textStyle: { + color: '#73879a' + }, + data: ['娲昏穬璧勬簮', '涓嶆椿璺冭祫婧�'] + }, + + calculable: true, + + series: [{ + name: '璁块棶鏉ユ簮', + type: 'pie', + radius: ['50%', '70%'], + center: ['50%', '70%'], + bottom: '10%', + itemStyle: { + normal: { + label: { + show: false + }, + labelLine: { + show: false + }, + }, + emphasis: { + label: { + show: true, + position: 'center', + textStyle: { + fontSize: '20', + fontWeight: 'bold' + } + } + } + }, + data: [{ + "name": "娲昏穬璧勬簮", + "value": data.activeResourceNum + + }, { + "name": "涓嶆椿璺冭祫婧�", + "value": total - data.activeResourceNum + + }] + }] + }) + } + + + /** + * 鏈嶅姟璧勬簮鐘舵�� + */ + function ChartsPie(domid, data1) { + var myChart = echarts.init(document.getElementById(domid)); + var colors = [' #d3e9af', '#ed9678', "#3DD1F9", "#BBA767", "#982CD5", "#FFD1B0", "#FFAD05", "#531477", + "#0066FF", + "#FFC200", "#E52F70", "#CA6821", "#FF3A3A", "#1EAD06", "#D04311", "#6D6815", "#49A7FF", "#FFF000", + "#1E7532", + "#FFA889", "#E986AA" + ]; + + myChart.setOption({ + color: colors, + tooltip: { + trigger: 'item', + formatter: "{a} <br/>{b} : {c} ({d}%)" + }, + legend: { + orient: 'vertical', + x: 'left', + textStyle: { + color: '#73879a' + }, + data: ['姝e父璧勬簮', '寮傚父璧勬簮'] + }, + + calculable: true, + series: [{ + name: '璁块棶鏉ユ簮', + type: 'pie', + radius: ['50%', '70%'], + center: ['50%', '70%'], + bottom: "10%", + itemStyle: { + normal: { + label: { + show: false + }, + labelLine: { + show: false + } + }, + emphasis: { + label: { + show: true, + position: 'center', + textStyle: { + fontSize: '20', + fontWeight: 'bold' + } + } + } + }, + data: data1 + }] + }) + } + //-----------------------鐢ㄦ埛鎿嶄綔琛屼负--------------------------- + function userAction(username) { + $.get(restServerBaseURL + 'api/monitor/analysisUser?username=' + (username != undefined ? username : ""), + function (data) { + var map = data; + useractionchart.setOption(option = { + title: { + show: false, + text: '鐢ㄦ埛鎿嶄綔琛屼负缁熻鍥�', + left: '3%', + textStyle: { + color: '#73879a', + fontSize: 25 + }, + }, + + tooltip: { + trigger: 'axis' + }, + grid: { + // TODO + }, + xAxis: { + axisLabel: { + rotate: 50, + textStyle: { + color: '#73879a', + fontSize: 10 + }, + axisLine: { + lineStyle: { + color: '#73879a' + } + } + }, + data: map.map(function (item) { + return item.remark; + }) + }, + yAxis: { + type: 'value', + axisLabel: { + textStyle: { + color: '#73879a', + fontSize: 14 + } + } + }, + series: { + name: '鏌ヨ', + type: 'bar', + data: map.map(function (item) { + return item.count; + }), + markLine: { + silent: true, + lineStyle: { + color: '#333' + } + } + } + }); + }); + useractionchart.on("click", function (params) { + console.log("iframe 鐢ㄦ埛琛屼负椤甸潰"); + var frameSrc = "./useraction.html?username=" + $("#UserName").val(); + $("#serverstatusiframe").attr("src", frameSrc); + $('#serverstatusModal').modal({ + show: true, + backdrop: 'static' + }); + }) + } + + function resUsageAction(resid) { + $.get(LanCatalogBaseApiURL + 'monitor/jitmonitor/queryResourceLog?resourceid=' + (resid != undefined ? resid : + ""), function (data) { + var date_res = []; + var data_res = []; + var dataList = data.data; + for (var i = 0; i < dataList.length; i++) { + date_res.push(dataList[i].time) + data_res.push(dataList[i].count) + } + resUsagechart.clear(); + + setTimeout( + resUsagechart.setOption(option = { + + tooltip: { + position: function (pt) { + return [pt[0], '10%']; + }, + trigger: 'axis', + formatter: function (params) { + console.log(params[0].name); + + var data = dataList[params[0].dataIndex]; + var showcontent = data.time + "<br>" + "璧勬簮ID:" + data.userid + + " 璋冪敤娆℃暟: " + + data.count + "<br>"; + + return showcontent; + } + }, + title: { + show: false, + left: '4%', + textStyle: { + color: '#73879a', + fontSize: 25 + }, + text: '璧勬簮璋冪敤鐘舵��', + }, + xAxis: { + type: 'category', + boundaryGap: false, + data: date_res + }, + yAxis: { + type: 'value', + boundaryGap: [0, '100%'] + }, + dataZoom: [{ + type: 'inside', + start: 0, + end: 100 + }, { + start: 0, + end: 100, + handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z', + handleSize: '80%', + handleStyle: { + color: '#fff', + shadowBlur: 3, + shadowColor: 'rgba(0, 0, 0, 0.6)', + shadowOffsetX: 2, + shadowOffsetY: 2 + } + }], + series: [{ + name: '妯℃嫙鏁版嵁', + type: 'line', + smooth: true, + symbol: 'none', + sampling: 'average', + itemStyle: { + normal: { + color: 'rgb(255, 70, 131)' + } + }, + areaStyle: { + normal: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: 'rgb(255, 158, 68)' + }, { + offset: 1, + color: 'rgb(255, 70, 131)' + }]) + } + }, + data: data_res + }] + }) + ,500) + }); + + + resUsagechart.on("click", function (params) { + // debugger + console.log("iframe 鐢ㄦ埛琛屼负椤甸潰"); + var frameSrc = "./ziyuantrace.html?resourceid=" + $("#zyid").val(); + $("#serverstatusiframe").attr("src", frameSrc); + $('#serverstatusModal').modal({ + show: true, + backdrop: 'static' + }); + }) + } + //-----------------------鍦ㄧ嚎浜哄憳------------------------------- + function acptonlineUser(data) { + onlineUser = data.onlineUser; + + $("#personcount").text(`(${data.count})`); + $("#onlineUsertable tbody").empty(); + onlineUser.forEach((element, index) => { + console.log(index); + console.log(element); + + $("#onlineUsertable tbody").append("<tr>" + + "<td>" + element['userid'] + "</td>" + + "<td>" + element['chinesename'] + "</td>" + + "<td>" + element['time'] + "</td>" + + "</tr>"); + }); + + } + + function warningRes() { + $.get(LanCatalogBaseApiURL + 'monitor/jitmonitor/warning', function (response) { + + // var data = JSON.parse(response).data; + var data = response.data; + warningserver = data; + $("#errorResNum").text(`(${data.length})`); + $("#warningResNum").html(data.length); + $("#errorRestable tbody").empty(); + data.forEach((element, index) => { + // console.log(index); + // console.log(element); + + $("#errorRestable tbody").append("<tr>" + + "<td>" + element['resourceid'] + "</td>" + + "<td>" + element['title'] + "</td>" + + "<td>" + element['serverstatus'] + "</td>" + + "<td>" + element['time'] + "</td>" + + "</tr>"); + }); + }); + + } + setInterval(() => { + //warningRes(); + }, 1000) + + + function cpupieEchart(data) { + + var cpuinfo = { + "cpu鐢ㄦ埛浣跨敤鐜�": "6.53", + "cpu褰撳墠绛夊緟鐜�": "0", + "cpu褰撳墠浣跨敤鐜�": "14.6", + "cpu绯荤粺浣跨敤鐜�": "7.96" + }; + var objs = []; + Object.keys(cpuinfo).forEach(item => { + var temp = {}; + temp.name = item; + temp.value = cpuinfo[item]; + objs.push(temp); + }) + option = { + tooltip: { + trigger: 'item', + formatter: '{a} <br/>{b}: {c} ({d}%)' + }, + series: [{ + name: 'cpu鐘舵��', + type: 'pie', + radius: ['50%', '70%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center' + }, + emphasis: { + label: { + show: true, + fontSize: '30', + fontWeight: 'bold' + } + }, + labelLine: { + show: false + }, + data: objs + }] + }; + + return option; + } + + + function mempieEchart(data) { + + var obj = { + "鍓╀綑鍐呭瓨 ": "953.36MB", + "浣跨敤": "7GB", + "浣跨敤鐜�": "88.26%", + "鎬诲唴瀛�": "7.93GB" + }; + var objs = []; + Object.keys(obj).forEach(item => { + var temp = {}; + temp.name = item; + temp.value = obj[item]; + objs.push(temp); + }) + option = { + tooltip: { + trigger: 'item', + formatter: '{a} <br/>{b}: {c} ({d}%)' + }, + series: [{ + name: 'cpu鐘舵��', + type: 'pie', + radius: ['50%', '70%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center' + }, + emphasis: { + label: { + show: true, + fontSize: '30', + fontWeight: 'bold' + } + }, + labelLine: { + show: false + }, + data: objs + }] + }; + + return option; + } + var cpulist = []; + //---------------鏈嶅姟鍣ㄧ姸鎬�------------------------------- + function cpuandmem(data) { + var cpu = data.cpuinfo; + var mem = data.meminfo; + $("#usercpusge").html(cpu.cpuUserUsage); + $(".SysText_cpu").html(cpu.cpuUserUsage); + if (cpulist.length > 6) { + cpulist = cpulist.slice(1) + + + } + + cpulist.push(parseFloat(cpu.cpuUserUsage)) + + cpuEchart(); + + + var html = + '<div class="Syslabel">鎬诲唴瀛�</div><div><exclamationCircleOutlined><exclamationCircleOutlined/></div>'; + html += '<div class="SysText">' + mem.totalmem + '</div>'; + html += '<div class="Sys_Info">'; + html += '<div>宸蹭娇鐢� ' + mem.use + '</div>'; + html += '<div class="sys_sy">浣跨敤鐜� ' + ((parseFloat(mem.use) / parseFloat(mem.totalmem)).toFixed(2))*100 + + '%</div>'; + html += '</div>'; + $(".SystemNC").html(html); + } + + + + //----------------------socket閫氳------------------------ + var socket; + + function openSocket() { + if (typeof (WebSocket) == "undefined") { + console.log("鎮ㄧ殑娴忚鍣ㄤ笉鏀寔WebSocket"); + } else { + console.log("鎮ㄧ殑娴忚鍣ㄦ敮鎸乄ebSocket"); + + console.log(socketUrl); + if (socket != null) { + socket.close(); + socket = null; + } + socket = new WebSocket(socketUrl); + //鎵撳紑浜嬩欢 + socket.onopen = function () { + console.log("websocket宸叉墦寮�"); + }; + //鑾峰緱娑堟伅浜嬩欢 + socket.onmessage = function (msg) { + var obj = eval('(' + msg.data + ')'); + if (obj.cpuinfo !== undefined) { + cpuandmem(obj); + } + + if (obj.onlineUser !== undefined) { + acptonlineUser(obj); + } + + if (obj.errorsystem !== undefined) { + errorsystemdata = obj; + $("#errorsystem").text(obj.count); + } + + }; + //鍏抽棴浜嬩欢 + socket.onclose = function () { + console.log("websocket宸插叧闂�"); + }; + //鍙戠敓浜嗛敊璇簨浠� + socket.onerror = function () { + console.log("websocket鍙戠敓浜嗛敊璇�"); + } + } + } + + function sendMessage() { + + } + + function theclose() { + + //鍏抽棴浜嬩欢 + if (socket != null) { + socket.close(); + socket = null; + } + } + + openSocket(); + + function findUserByWord() { + var username = $("#UserName").val(); + $("#UserName").autocomplete({ + source: restServerBaseURL + 'org/user/findUserByWord?keyWord=' + encodeURI(encodeURI( + username)), //璇锋眰鐨剈rl + minLength: 1, + }); + } + </script> +</head> +<style> + html, + body { + background-color: rgb(240, 242, 245) !important; + } + + a { + /*color:black;*/ + color: black !important; + font-size: 14px !important; + } + + .table thead th { + vertical-align: bottom; + border-bottom: 1px solid #dee2e6; + border-top: 0px; + } + + .form-control { + display: block; + width: 100%; + height: 2rem !important; + padding: 0 !important; + font-size: 14px !important; + font-weight: 400; + line-height: 1.0 !important; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #6c757d !important; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + } + + .btn-primary { + /* color: #fff; + background-color: #007bff; + border-color: #007bff; + height: 2rem !important; + line-height: 2rem !important; + font-size: 14px !important; */ + } + + .btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; + padding: 0.265rem 0.55rem; + } + + .table-striped tbody tr:nth-of-type(odd) { + background-color: transparent !important; + } + + .table { + /* font-size: 14px !important; */ + } + + .SystemNC { + width: 70%; + height: 92%; + margin-left: 15%; + } + + .Syslabel { + width: 20%; + height: 22%; + font-family: sans-serif; + font-size: 13px; + color: gray; + text-align: left; + margin-left: 20px; + } + + .SysText { + width: 65%; + height: 48%; + font-family: sans-serif; + font-size: 27px; + color: #1b1e21; + text-align: center; + letter-spacing: 2px; + } + + .Sys_Info { + display: flex; + width: 90%; + height: 23%; + margin-left: 6%; + font-family: sans-serif; + font-size: 13px; + } + + .sys_sy { + margin-left: 25px; + } + + .System_cpu { + width: 70%; + height: 92%; + margin-left: 15%; + } + + .SysText_cpu { + width: 65%; + height: 34%; + font-family: sans-serif; + font-size: 27px; + color: #1b1e21; + text-align: center; + letter-spacing: 2px; + } + + #errorsystem { + width: 100%; + height: 74%; + font-family: sans-serif; + font-size: 31px; + color: #1b1e21; + text-align: center; + letter-spacing: 2px; + margin-top: 15px; + } + + #warningResNum { + width: 100%; + height: 74%; + font-family: sans-serif; + font-size: 31px; + color: #1b1e21; + text-align: center; + letter-spacing: 2px; + margin-top: 15px; + } + + #Sys_cpu_chart { + width: 100%; + height: 100%; + margin-top: -26px; + } +</style> + +<body style="background-color: #fff;"> + <div id="main"> + <div id="box"> + + <div id="left"> + <!-- 鏈嶅姟鍣ㄧ姸鎬�--> + <div id="severstatus"> + <div class="severstatus_left panel panel-default"> + <div class="partbox"> + <div class="SystemNC"> + </div> + <div class="divider"></div> + <div style="color: #6c757d;">绯荤粺鍐呭瓨</div> + </div> + <div class="partbox"> + <div class="System_cpu"> + <div class="Syslabel">CPU鐢ㄩ噺</div> + <div class="SysText_cpu"></div> + <div id="Sys_cpu_chart"></div> + </div> + <div class="divider"></div> + <div style="color: #6c757d;">cpu绯荤粺鐢ㄩ噺</div> + + </div> + <div class="partbox"> + <div class="System_cpu"> + <div class="Syslabel">寮傚父涓暟</div> + <div id="errorsystem"></div> + </div> + <div class="divider"></div> + <div style="color: #6c757d;">寮傚父绯荤粺涓暟</div> + </div> + <div class="partbox"> + <div class="System_cpu"> + <div class="Syslabel">鏈嶅姟鍛婅</div> + <div id="warningResNum"></div> + </div> + <div class="divider"></div> + <div style="color: #6c757d;">鏈嶅姟璧勬簮鍛婅</div> + </div> + </div> + </div> + + <div id="tabpanel"> + + <div class="title"> + + <div class="tabtitle active" data-item='tab2'>鏈嶅姟璧勬簮鐘舵��</div> + <div class="tabtitle " data-item='tab3'>鐢ㄦ埛鎿嶄綔琛屼负</div> + <div class="tabtitle " data-item='tab1'>璧勬簮璋冪敤鐘舵��</div> + <div class="tabtitle " data-item='tab4'>璧勬簮璋冪敤缁熻</div> + + </div> + + <div class="divider" style="width: 98%;"></div> + <div class="tabcontent" id="tabpanel-tab2"> + <div class="chart"> + <div id="resstatus"></div> + <div id="auditstatus"> + </div> + </div> + </div> + <div class="tabcontent" id="tabpanel-tab3" style="display: none;"> + <div style="margin-left: 20px; margin-top: 13px;"> + <input type="text" class="form-control useractionlabeltext" id="UserName" name="UserName" + onkeyup="findUserByWord()" onclick="findUserByWord()" placeholder="杈撳叆鐢ㄦ埛鍚嶃�佷腑鏂囧悕鎴栨嫾闊抽瀛楁瘝鏌ヨ"> + <a> </a> + <button type="button" id="useractionbutton" class="btn btn-primary">鏌ヨ</button> + </div> + <div class="useractionbox "> + <div id="useractionchart" class="panel-heading" + style="background-color: white; border-color: white; width: 1600px !important; height: 350px;"> + </div> + </div> + </div> + + <div class="tabcontent" id="tabpanel-tab4" style="display: none;"> + <div style="margin-left: 20px; margin-top: 13px;"> + <input type="text" class="form-control useractionlabeltext" id="resource" name="UserName" + onkeyup="findUserByWord()" onclick="findUserByWord()" placeholder="璇疯緭鍏ョ敤鎴峰悕绉版煡璇�"> + <a> </a> + <button type="button" id="resourceActionButton" class="btn btn-primary">鏌ヨ</button> + </div> + <div class="useractionbox "> + <div id="resourceChart" class="panel-heading" + style="background-color: white; border-color: white; width: 1600px !important; height: 350px;"> + </div> + </div> + </div> + <div class="tabcontent" id="tabpanel-tab1" style="display: block;"> + <div style="margin-left: 20px; margin-top: 13px;"> + <!-- <label class="control-label useractionlabel">璧勬簮ID</label> --> + <input type="text" class="form-control useractionlabeltext" id="zyid" name="zyid" + placeholder="杈撳叆璧勬簮id"> + <a> </a> + <button type="button" class="btn btn-primary" id="resactionbutton">鏌ヨ</button> + </div> + <div class="resUsagebox"> + <div id="resinvokechart"></div> + </div> + </div> + </div> + + <div style="margin-top: 15px;"> + <div id="onlineUser" class="panel panel-default"> + <div class="title panel-heading"> + <span>鍦ㄧ嚎浜哄憳<a id="personcount"></a> <a class="personcountmore" + style="float: right">鏇村>></a></span> + </div> + <table id="onlineUsertable" class="table table-striped table-hover"> + <thead> + <tr> + <td scope="col">鐢ㄦ埛ID</td> + <td scope="col">鐢ㄦ埛鍚�</td> + <td scope="col">涓婄嚎鏃堕棿</td> + </tr> + </thead> + <tbody> + </tbody> + </table> + </div> + + <div id="warnResource" class="panel panel-default"> + <div class="title panel-heading"> + <span>寮傚父璧勬簮<a id="errorResNum"></a><a class="errorResNummore" + style="float: right">鏇村>></a></span> + </div> + <table id="errorRestable" class="table table-striped table-hover "> + <thead> + <tr> + <td scope="col">璧勬簮ID</td> + <td scope="col">璧勬簮鍚嶇О</td> + <td scope="col">璧勬簮鐘舵��</td> + <td scope="col">寮傚父鏃堕棿</td> + </tr> + </thead> + <div class=" pre-scrollable"> + <tbody class="tbbox"> + </tbody> + </div> + </table> + </div> + </div> + </div> + </div> + + <!-- -----------------------iframe妯℃�佹------------------------------- --> + <div class="modal fade" id="NoPermissionModal"> + <div class="modal-dialog modal-lg"> + <div class="modal-content" style="width: 800px; height: 400px"> + <div class="modal-header"> + <h4 class="modal-title" id="NoPermissionModalLabel">绯荤粺娑堟伅</h4> + <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> + × + </button> + + </div> + <div class="modal-body"> + + <iframe id="NoPermissioniframe" width="100%" height="50%" frameborder="0"></iframe> + </div> + + </div> + </div> + </div> + + <div class="modal fade" id="serverstatusModal"> + <div class="modal-dialog modal-lg"> + <div class="modal-content" style="width: 800px; height: 400px"> + <div class="modal-header"> + <h4 class="modal-title" id="serverstatusModalLabel">绯荤粺娑堟伅</h4> + <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> + × + </button> + + </div> + <div class="modal-body"> + <iframe id="serverstatusiframe" width="100%" height="100%" frameborder="0"></iframe> + </div> + </div> + </div> + </div> + </div> +</body> + +</html> + +<script> + $('.tabtitle').on("click", function () { + $('.tabtitle').removeClass('active'); + $(this).addClass('active'); + + var tab = $(this).attr('data-item'); + $(".tabcontent").hide(); + $("#tabpanel-" + tab).show(); + try { + resUsagechart.resize() + } catch (ex) {} + try { + auditstatuschart.resize() + } catch (ex) {} + try { + resUsagechart.resize() + } catch (ex) {} + + try { + useractionchart.resize() + } catch (ex) {} + try { + resourceChart.resize() + } catch (ex) {} + }); +</script> diff --git a/src/main/resources/templates/druid.html b/src/main/resources/templates/druid.html new file mode 100644 index 0000000..85f890e --- /dev/null +++ b/src/main/resources/templates/druid.html @@ -0,0 +1,12 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="UTF-8"> + <title>绠¢亾鍩虹澶ф暟鎹钩鍙版湇鍔�-鏁版嵁搴撶洃鎺�</title> + <script> + location.href = "../druid/index.html"; + </script> +</head> +<body> +</body> +</html> diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index 3a72cc6..7694ad9 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -30,12 +30,24 @@ <div> <!--<a th:href="@{/toLogin}">鐧诲綍</a>--> - <a href="toLogin?service=http://192.168.20.106:12316/sign/toIndex">鐧诲綍</a> + <a href="toLogin?service=/sign/toIndex">鐧诲綍</a> </div> <br /> + + <div> + <a href="/swagger-ui.html" target="_blank">Swagger-UI</a> + </div> + <br /> + + <div> + <a href="/sign/toDruid" target="_blank">toDruid</a> + </div> + <br /> + <div> <!--<a th:href="@{/logout}">娉ㄩ攢</a>--> <a href="javascript:void(0);" onclick="logout(); return false;">鐧诲嚭</a> </div> + <br /> </body> </html> diff --git a/src/main/resources/templates/login.html b/src/main/resources/templates/login.html index c87baf0..7072630 100644 --- a/src/main/resources/templates/login.html +++ b/src/main/resources/templates/login.html @@ -30,14 +30,14 @@ <!-- 鐢ㄦ埛鍚� --> <div class="loginid" style='width: 400px; margin-right: 50px; margin-top: 45px; border-bottom: 1px solid #fff;'> <label for="username"></label> - <input class="required" id="username" placeholder="璇疯緭鍏ョ敤鎴峰悕" size="25" tabindex="1" + <input class="required" id="username" placeholder="璇疯緭鍏ョ敤鎴峰悕" size="20" tabindex="1" type="text" accesskey="n" autocomplete="off" name="username" value="" /> </div> <!-- 瀵嗙爜 --> <section> <div class="loginpwd" style='width: 400px; margin-right: 20px; margin-top: 30px; border-bottom: 1px solid #fff;'> <label for="password"></label> - <input class="required" placeholder="璇疯緭鍏ュ瘑鐮�" type="password" id="password" size="25" tabindex="2" + <input class="required" placeholder="璇疯緭鍏ュ瘑鐮�" type="password" id="password" size="20" tabindex="2" accesskey="p" autocomplete="off" name="password" value="" /><span id="capslock-on" style="display: none;"> <i class="fa fa-exclamation-circle"></i> <span>CAPSLOCK key is turned on!</span> @@ -215,11 +215,21 @@ noIframe(); createCode(); autoResize(); + getPublicKey(); $(window).on("resize", autoResize); document.getElementById('username').focus(); } </script> <script> + function getPublicKey() { + $.get("getPublicKey", function (rs) { + if (rs && rs.code == 200) { + window.encrypt = new JSEncrypt(); + encrypt.setPublicKey(rs.result); + } + }); + } + function sysValidate() { // 楠岃瘉鐢ㄦ埛鍚嶄笌瀵嗙爜 var theUsername = document.getElementById("username").value; @@ -234,6 +244,12 @@ $("#password").focus(); return false; } + /*if (!isValid(thePassword)) { + $("#eMsg").html("鎻愮ず锛氬瘑鐮佷负8-20浣嶅寘鍚瓧姣嶃�佹暟瀛楀拰鐗规畩瀛楃锛�"); + $("#password").focus(); + return false; + }*/ + // 楠岃瘉楠岃瘉鐮� var inputCode = document.getElementById("inputCode").value; if (inputCode.length <= 0) { @@ -264,8 +280,8 @@ var service = getQueryStr("service"); var data = { - "uid": username, - "pwd": password + "uid": encrypt.encrypt(username), + "pwd": encrypt.encrypt(password) }; $.ajax({ @@ -335,6 +351,15 @@ sysLogin(); } } + + // 瀵嗙爜鏄惁鍚堣 + function isValid(pwd) { + if (pwd) { + var regex = new RegExp('^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{16,30}$'); + return regex.test(pwd) + } + return false; + } </script> </body> </html> diff --git a/src/main/resources/templates/monitor.html b/src/main/resources/templates/monitor.html new file mode 100644 index 0000000..c3343a0 --- /dev/null +++ b/src/main/resources/templates/monitor.html @@ -0,0 +1,1062 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>杩愮淮鐩戞帶</title> + + <link rel="stylesheet" href="./css/main/main1.css"> + <link rel="stylesheet" href="./css/main/jquery-ui.min.css"> + <link rel="stylesheet" href="./js/ant-design-vue/antd.css"> + <script src="./js/jquery.js"></script> + <script src="./js/bootstrap/bootstrap.js"></script> + <script src="./js/sockjs.js"></script> + <script src="./js/jquery-ui.min.js"></script> + <script src="./js/echarts.js"></script> + <script src="./js/echarts.js"></script> + <script src="./js/resourceAnalyse.js"></script> + <script src="../lanwebapp/js/paramconfig.js"></script> + <link rel="stylesheet" href="./css/bootstrap/bootstrap.css"> + <link rel="stylesheet" href="./js/ant-design-vue/antd.css"> + <script> + $.ajaxSetup({ + dataType: "json", + cache: false, + headers: { + // TODO + }, + xhrFields: { + withCredentials: false + }, + crossDomain: true + }); + + var errorsystemdata = ""; //寮傚父绯荤粺 + var onlineUser = null; //鍦ㄧ嚎浜哄憳 + var warningserver = ""; //寮傚父鏈嶅姟 + var cpuchart = null; //cpu鍥捐〃 + var memchart = null; //鍐呭瓨鍥捐〃 + var resstatuschart = null; //璧勬簮鐘舵�侀ゼ鐘跺浘 + var auditstatuschart = null; //璧勬簮瀹℃牳缁熻鍥� + var resUsagechart = null; //璧勬簮浣跨敤鎶樼嚎鍥� + var useractionchart = null; //鐢ㄦ埛璋冪敤鎶樼嚎鍥� + var resourceChart = null; //鐢ㄦ埛璋冪敤鎶樼嚎鍥� + + $(document).ready(function () { + auditstatuschart = echarts.init(document.getElementById("auditstatus")); + resUsagechart = echarts.init(document.getElementById("resinvokechart")); + useractionchart = echarts.init(document.getElementById("useractionchart")); + resourceChart = echarts.init(document.getElementById("resourceChart")); + servicestatus(); + resUsageAction(); + userAction(); + resource(); + //鍦ㄧ嚎浜哄憳鍜屽紓甯歌祫婧� 鏇村鍒楄〃 + $('.personcountmore').on("click", function () { + + window.open("./onlineUser.html?data=" + encodeURI(encodeURI(JSON.stringify( + onlineUser)))); + console.log("鍦ㄧ嚎浜哄憳鍒楄〃"); + }) + $('.errorResNummore').on("click", function () { + window.open("./warningResource.html"); + console.log("寮傚父璧勬簮鍒楄〃"); + }) + $("#useractionbutton").on("click", function () { + + userAction($("#UserName").val()); + }) + $("#resactionbutton").on("click", function () { + resUsageAction($("#zyid").val()); + }) + }); + + + function cpuEchart() { + var myChart = echarts.init(document.getElementById("Sys_cpu_chart")); + myChart.setOption({ + + tooltip: { + trigger: 'axis' + }, + + toolbox: { + show: true, + + }, + calculable: true, + xAxis: [{ + type: 'category', + boundaryGap: false, + splitLine: { + show: false + }, + axisLine: { + show: false + }, + data: ['', '', '', '', '', '', ''] + + }], + yAxis: [{ + type: 'value', + axisLine: { + show: false + }, + show: false + }], + series: [{ + name: '鐢ㄩ噺', + type: 'line', + smooth: true, + itemStyle: { + normal: { + areaStyle: { + type: 'default' + } + } + }, + data: cpulist + }, + + + ] + }) + } + + /** + * 鏈嶅姟鐘舵�� + */ + function servicestatus() { + $.get(LanCatalogBaseApiURL + 'monitor/jitmonitor/getGisResNumByResStatus', function (data) { + var map = data; + var resStatus = []; + map.resStatus.forEach(item => { + var temp = {}; + temp.name = item.resourcestatus == 0 ? "姝e父璧勬簮" : "寮傚父璧勬簮"; + temp.value = item.count; + resStatus.push(temp); + }) + ChartsPie('resstatus', resStatus); + activeStatusChart('auditstatus', map); + }); + } + + /** + * 姝e父璧勬簮 + * @param domid + * @param data + */ + function activeStatusChart(domid, data) { + var myChart = echarts.init(document.getElementById(domid)); + var colors = [' #d3e9af', '#ed9678', "#3DD1F9", "#BBA767", "#982CD5", "#FFD1B0", "#FFAD05", "#531477", + "#0066FF", + "#FFC200", "#E52F70", "#CA6821", "#FF3A3A", "#1EAD06", "#D04311", "#6D6815", "#49A7FF", "#FFF000", + "#1E7532", + "#FFA889", "#E986AA" + ]; + var total = 0; + data.resStatus.forEach(item => { + + total = item.count + total; + }) + + myChart.setOption({ + grid: [{ + width: "800px", + height: "800px" + }], + color: colors, + tooltip: { + trigger: 'item', + formatter: "{a} <br/>{b} : {c} ({d}%)" + }, + legend: { + orient: 'vertical', + x: 'left', + textStyle: { + color: '#73879a' + }, + data: ['娲昏穬璧勬簮', '涓嶆椿璺冭祫婧�'] + }, + + calculable: true, + + series: [{ + name: '璁块棶鏉ユ簮', + type: 'pie', + radius: ['50%', '70%'], + center: ['50%', '70%'], + bottom: '10%', + itemStyle: { + normal: { + label: { + show: false + }, + labelLine: { + show: false + }, + }, + emphasis: { + label: { + show: true, + position: 'center', + textStyle: { + fontSize: '20', + fontWeight: 'bold' + } + } + } + }, + data: [{ + "name": "娲昏穬璧勬簮", + "value": data.activeResourceNum + + }, { + "name": "涓嶆椿璺冭祫婧�", + "value": total - data.activeResourceNum + + }] + }] + }) + } + + + /** + * 鏈嶅姟璧勬簮鐘舵�� + */ + function ChartsPie(domid, data1) { + var myChart = echarts.init(document.getElementById(domid)); + var colors = [' #d3e9af', '#ed9678', "#3DD1F9", "#BBA767", "#982CD5", "#FFD1B0", "#FFAD05", "#531477", + "#0066FF", + "#FFC200", "#E52F70", "#CA6821", "#FF3A3A", "#1EAD06", "#D04311", "#6D6815", "#49A7FF", "#FFF000", + "#1E7532", + "#FFA889", "#E986AA" + ]; + + myChart.setOption({ + color: colors, + tooltip: { + trigger: 'item', + formatter: "{a} <br/>{b} : {c} ({d}%)" + }, + legend: { + orient: 'vertical', + x: 'left', + textStyle: { + color: '#73879a' + }, + data: ['姝e父璧勬簮', '寮傚父璧勬簮'] + }, + + calculable: true, + series: [{ + name: '璁块棶鏉ユ簮', + type: 'pie', + radius: ['50%', '70%'], + center: ['50%', '70%'], + bottom: "10%", + itemStyle: { + normal: { + label: { + show: false + }, + labelLine: { + show: false + } + }, + emphasis: { + label: { + show: true, + position: 'center', + textStyle: { + fontSize: '20', + fontWeight: 'bold' + } + } + } + }, + data: data1 + }] + }) + } + //-----------------------鐢ㄦ埛鎿嶄綔琛屼负--------------------------- + function userAction(username) { + $.get(restServerBaseURL + 'api/monitor/analysisUser?username=' + (username != undefined ? username : ""), + function (data) { + + var map = data; + + + useractionchart.setOption(option = { + title: { + show: false, + text: '鐢ㄦ埛鎿嶄綔琛屼负缁熻鍥�', + left: '3%', + textStyle: { + color: '#73879a', + fontSize: 25 + }, + }, + + tooltip: { + trigger: 'axis' + }, + grid: { + // TODO + }, + xAxis: { + axisLabel: { + rotate: 50, + textStyle: { + color: '#73879a', + fontSize: 10 + }, + axisLine: { + lineStyle: { + color: '#73879a' + } + } + }, + data: map.map(function (item) { + return item.remark; + }) + }, + yAxis: { + type: 'value', + axisLabel: { + textStyle: { + color: '#73879a', + fontSize: 14 + } + } + }, + series: { + name: '鏌ヨ', + type: 'bar', + data: map.map(function (item) { + return item.count; + }), + markLine: { + silent: true, + lineStyle: { + color: '#333' + } + } + } + }); + }); + useractionchart.on("click", function (params) { + console.log("iframe 鐢ㄦ埛琛屼负椤甸潰"); + var frameSrc = "./useraction.html?username=" + $("#UserName").val(); + $("#serverstatusiframe").attr("src", frameSrc); + $('#serverstatusModal').modal({ + show: true, + backdrop: 'static' + }); + }) + } + + function resUsageAction(resid) { + $.get(LanCatalogBaseApiURL + 'monitor/jitmonitor/queryResourceLog?resourceid=' + (resid != undefined ? resid : + ""), function (data) { + var date_res = []; + var data_res = []; + var dataList = data.data; + for (var i = 0; i < dataList.length; i++) { + date_res.push(dataList[i].time) + data_res.push(dataList[i].count) + } + resUsagechart.clear(); + + setTimeout( + resUsagechart.setOption(option = { + + tooltip: { + position: function (pt) { + return [pt[0], '10%']; + }, + trigger: 'axis', + formatter: function (params) { + console.log(params[0].name); + + var data = dataList[params[0].dataIndex]; + var showcontent = data.time + "<br>" + "璧勬簮ID:" + data.userid + + " 璋冪敤娆℃暟: " + + data.count + "<br>"; + + return showcontent; + } + }, + title: { + show: false, + left: '4%', + textStyle: { + color: '#73879a', + fontSize: 25 + }, + text: '璧勬簮璋冪敤鐘舵��', + }, + xAxis: { + type: 'category', + boundaryGap: false, + data: date_res + }, + yAxis: { + type: 'value', + boundaryGap: [0, '100%'] + }, + dataZoom: [{ + type: 'inside', + start: 0, + end: 100 + }, { + start: 0, + end: 100, + handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z', + handleSize: '80%', + handleStyle: { + color: '#fff', + shadowBlur: 3, + shadowColor: 'rgba(0, 0, 0, 0.6)', + shadowOffsetX: 2, + shadowOffsetY: 2 + } + }], + series: [{ + name: '妯℃嫙鏁版嵁', + type: 'line', + smooth: true, + symbol: 'none', + sampling: 'average', + itemStyle: { + normal: { + color: 'rgb(255, 70, 131)' + } + }, + areaStyle: { + normal: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: 'rgb(255, 158, 68)' + }, { + offset: 1, + color: 'rgb(255, 70, 131)' + }]) + } + }, + data: data_res + }] + }) + ,500) + }); + + + resUsagechart.on("click", function (params) { + // debugger + console.log("iframe 鐢ㄦ埛琛屼负椤甸潰"); + var frameSrc = "./ziyuantrace.html?resourceid=" + $("#zyid").val(); + $("#serverstatusiframe").attr("src", frameSrc); + $('#serverstatusModal').modal({ + show: true, + backdrop: 'static' + }); + }) + } + //-----------------------鍦ㄧ嚎浜哄憳------------------------------- + function acptonlineUser(data) { + onlineUser = data.onlineUser; + + $("#personcount").text(`(${data.count})`); + $("#onlineUsertable tbody").empty(); + onlineUser.forEach((element, index) => { + console.log(index); + console.log(element); + + $("#onlineUsertable tbody").append("<tr>" + + "<td>" + element['userid'] + "</td>" + + "<td>" + element['chinesename'] + "</td>" + + "<td>" + element['time'] + "</td>" + + "</tr>"); + }); + + } + + function warningRes() { + $.get(LanCatalogBaseApiURL + 'monitor/jitmonitor/warning', function (response) { + + // var data = JSON.parse(response).data; + var data = response.data; + warningserver = data; + $("#errorResNum").text(`(${data.length})`); + $("#warningResNum").html(data.length); + $("#errorRestable tbody").empty(); + data.forEach((element, index) => { + // console.log(index); + // console.log(element); + + $("#errorRestable tbody").append("<tr>" + + "<td>" + element['resourceid'] + "</td>" + + "<td>" + element['title'] + "</td>" + + "<td>" + element['serverstatus'] + "</td>" + + "<td>" + element['time'] + "</td>" + + "</tr>"); + }); + }); + + } + setInterval(() => { + warningRes(); + }, 1000) + + + function cpupieEchart(data) { + + var cpuinfo = { + "cpu鐢ㄦ埛浣跨敤鐜�": "6.53", + "cpu褰撳墠绛夊緟鐜�": "0", + "cpu褰撳墠浣跨敤鐜�": "14.6", + "cpu绯荤粺浣跨敤鐜�": "7.96" + }; + var objs = []; + Object.keys(cpuinfo).forEach(item => { + var temp = {}; + temp.name = item; + temp.value = cpuinfo[item]; + objs.push(temp); + }) + option = { + tooltip: { + trigger: 'item', + formatter: '{a} <br/>{b}: {c} ({d}%)' + }, + series: [{ + name: 'cpu鐘舵��', + type: 'pie', + radius: ['50%', '70%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center' + }, + emphasis: { + label: { + show: true, + fontSize: '30', + fontWeight: 'bold' + } + }, + labelLine: { + show: false + }, + data: objs + }] + }; + + return option; + } + + + function mempieEchart(data) { + + var obj = { + "鍓╀綑鍐呭瓨 ": "953.36MB", + "浣跨敤": "7GB", + "浣跨敤鐜�": "88.26%", + "鎬诲唴瀛�": "7.93GB" + }; + var objs = []; + Object.keys(obj).forEach(item => { + var temp = {}; + temp.name = item; + temp.value = obj[item]; + objs.push(temp); + }) + option = { + tooltip: { + trigger: 'item', + formatter: '{a} <br/>{b}: {c} ({d}%)' + }, + series: [{ + name: 'cpu鐘舵��', + type: 'pie', + radius: ['50%', '70%'], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center' + }, + emphasis: { + label: { + show: true, + fontSize: '30', + fontWeight: 'bold' + } + }, + labelLine: { + show: false + }, + data: objs + }] + }; + + return option; + } + var cpulist = []; + //---------------鏈嶅姟鍣ㄧ姸鎬�------------------------------- + function cpuandmem(data) { + var cpu = data.cpuinfo; + var mem = data.meminfo; + $("#usercpusge").html(cpu.cpuUserUsage); + $(".SysText_cpu").html(cpu.cpuUserUsage); + if (cpulist.length > 6) { + cpulist = cpulist.slice(1) + + + } + + cpulist.push(parseFloat(cpu.cpuUserUsage)) + + cpuEchart(); + + + var html = + '<div class="Syslabel">鎬诲唴瀛�</div><div><exclamationCircleOutlined><exclamationCircleOutlined/></div>'; + html += '<div class="SysText">' + mem.totalmem + '</div>'; + html += '<div class="Sys_Info">'; + html += '<div>宸蹭娇鐢� ' + mem.use + '</div>'; + html += '<div class="sys_sy">浣跨敤鐜� ' + ((parseFloat(mem.use) / parseFloat(mem.totalmem)).toFixed(2))*100 + + '%</div>'; + html += '</div>'; + $(".SystemNC").html(html); + } + + + + //----------------------socket閫氳------------------------ + var socket; + + function openSocket() { + if (typeof (WebSocket) == "undefined") { + console.log("鎮ㄧ殑娴忚鍣ㄤ笉鏀寔WebSocket"); + } else { + console.log("鎮ㄧ殑娴忚鍣ㄦ敮鎸乄ebSocket"); + + console.log(socketUrl); + if (socket != null) { + socket.close(); + socket = null; + } + socket = new WebSocket(socketUrl); + //鎵撳紑浜嬩欢 + socket.onopen = function () { + console.log("websocket宸叉墦寮�"); + }; + //鑾峰緱娑堟伅浜嬩欢 + socket.onmessage = function (msg) { + var obj = eval('(' + msg.data + ')'); + if (obj.cpuinfo !== undefined) { + cpuandmem(obj); + } + + if (obj.onlineUser !== undefined) { + acptonlineUser(obj); + } + + if (obj.errorsystem !== undefined) { + errorsystemdata = obj; + $("#errorsystem").text(obj.count); + } + + }; + //鍏抽棴浜嬩欢 + socket.onclose = function () { + console.log("websocket宸插叧闂�"); + }; + //鍙戠敓浜嗛敊璇簨浠� + socket.onerror = function () { + console.log("websocket鍙戠敓浜嗛敊璇�"); + } + } + } + + function sendMessage() { + + } + + function theclose() { + + //鍏抽棴浜嬩欢 + if (socket != null) { + socket.close(); + socket = null; + } + } + + openSocket(); + + function findUserByWord() { + var username = $("#UserName").val(); + $("#UserName").autocomplete({ + source: restServerBaseURL + 'org/user/findUserByWord?keyWord=' + encodeURI(encodeURI( + username)), //璇锋眰鐨剈rl + minLength: 1, + }); + } + </script> +</head> +<style> + html, + body { + background-color: rgb(240, 242, 245) !important; + } + + a { + /*color:black;*/ + color: black !important; + font-size: 14px !important; + } + + .table thead th { + vertical-align: bottom; + border-bottom: 1px solid #dee2e6; + border-top: 0px; + } + + .form-control { + display: block; + width: 100%; + height: 2rem !important; + padding: 0 !important; + font-size: 14px !important; + font-weight: 400; + line-height: 1.0 !important; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #6c757d !important; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + } + + .btn-primary { + /* color: #fff; + background-color: #007bff; + border-color: #007bff; + height: 2rem !important; + line-height: 2rem !important; + font-size: 14px !important; */ + } + + .btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; + padding: 0.265rem 0.55rem; + } + + .table-striped tbody tr:nth-of-type(odd) { + background-color: transparent !important; + } + + .table { + /* font-size: 14px !important; */ + } + + .SystemNC { + width: 70%; + height: 92%; + margin-left: 15%; + } + + .Syslabel { + width: 20%; + height: 22%; + font-family: sans-serif; + font-size: 13px; + color: gray; + text-align: left; + margin-left: 20px; + } + + .SysText { + width: 65%; + height: 48%; + font-family: sans-serif; + font-size: 27px; + color: #1b1e21; + text-align: center; + letter-spacing: 2px; + } + + .Sys_Info { + display: flex; + width: 90%; + height: 23%; + margin-left: 6%; + font-family: sans-serif; + font-size: 13px; + } + + .sys_sy { + margin-left: 25px; + } + + .System_cpu { + width: 70%; + height: 92%; + margin-left: 15%; + } + + .SysText_cpu { + width: 65%; + height: 34%; + font-family: sans-serif; + font-size: 27px; + color: #1b1e21; + text-align: center; + letter-spacing: 2px; + } + + #errorsystem { + width: 100%; + height: 74%; + font-family: sans-serif; + font-size: 31px; + color: #1b1e21; + text-align: center; + letter-spacing: 2px; + margin-top: 15px; + } + + #warningResNum { + width: 100%; + height: 74%; + font-family: sans-serif; + font-size: 31px; + color: #1b1e21; + text-align: center; + letter-spacing: 2px; + margin-top: 15px; + } + + #Sys_cpu_chart { + width: 100%; + height: 100%; + margin-top: -26px; + } +</style> + +<body style="background-color: #fff;"> + <div id="main"> + <div id="box"> + + <div id="left"> + <!-- 鏈嶅姟鍣ㄧ姸鎬�--> + <div id="severstatus"> + <div class="severstatus_left panel panel-default"> + <div class="partbox"> + <div class="SystemNC"> + </div> + <div class="divider"></div> + <div style="color: #6c757d;">绯荤粺鍐呭瓨</div> + </div> + <div class="partbox"> + <div class="System_cpu"> + <div class="Syslabel">CPU鐢ㄩ噺</div> + <div class="SysText_cpu"></div> + <div id="Sys_cpu_chart"></div> + </div> + <div class="divider"></div> + <div style="color: #6c757d;">cpu绯荤粺鐢ㄩ噺</div> + + </div> + <div class="partbox"> + <div class="System_cpu"> + <div class="Syslabel">寮傚父涓暟</div> + <div id="errorsystem"></div> + </div> + <div class="divider"></div> + <div style="color: #6c757d;">寮傚父绯荤粺涓暟</div> + </div> + <div class="partbox"> + <div class="System_cpu"> + <div class="Syslabel">鏈嶅姟鍛婅</div> + <div id="warningResNum"></div> + </div> + <div class="divider"></div> + <div style="color: #6c757d;">鏈嶅姟璧勬簮鍛婅</div> + </div> + </div> + </div> + + <div id="tabpanel"> + + <div class="title"> + + <div class="tabtitle active" data-item='tab2'>鏈嶅姟璧勬簮鐘舵��</div> + <div class="tabtitle " data-item='tab3'>鐢ㄦ埛鎿嶄綔琛屼负</div> + <div class="tabtitle " data-item='tab1'>璧勬簮璋冪敤鐘舵��</div> + <div class="tabtitle " data-item='tab4'>璧勬簮璋冪敤缁熻</div> + + </div> + + <div class="divider" style="width: 98%;"></div> + <div class="tabcontent" id="tabpanel-tab2"> + <div class="chart"> + <div id="resstatus"></div> + <div id="auditstatus"> + </div> + </div> + </div> + <div class="tabcontent" id="tabpanel-tab3" style="display: none;"> + <div style="margin-left: 20px; margin-top: 13px;"> + <input type="text" class="form-control useractionlabeltext" id="UserName" name="UserName" + onkeyup="findUserByWord()" onclick="findUserByWord()" placeholder="杈撳叆鐢ㄦ埛鍚嶃�佷腑鏂囧悕鎴栨嫾闊抽瀛楁瘝鏌ヨ"> + <a> </a> + <button type="button" id="useractionbutton" class="btn btn-primary">鏌ヨ</button> + </div> + <div class="useractionbox "> + <div id="useractionchart" class="panel-heading" + style="background-color: white; border-color: white; width: 1600px !important; height: 350px;"> + </div> + </div> + </div> + + <div class="tabcontent" id="tabpanel-tab4" style="display: none;"> + <div style="margin-left: 20px; margin-top: 13px;"> + <input type="text" class="form-control useractionlabeltext" id="resource" name="UserName" + onkeyup="findUserByWord()" onclick="findUserByWord()" placeholder="璇疯緭鍏ョ敤鎴峰悕绉版煡璇�"> + <a> </a> + <button type="button" id="resourceActionButton" class="btn btn-primary">鏌ヨ</button> + </div> + <div class="useractionbox "> + <div id="resourceChart" class="panel-heading" + style="background-color: white; border-color: white; width: 1600px !important; height: 350px;"> + </div> + </div> + </div> + <div class="tabcontent" id="tabpanel-tab1" style="display: block;"> + <div style="margin-left: 20px; margin-top: 13px;"> + <!-- <label class="control-label useractionlabel">璧勬簮ID</label> --> + <input type="text" class="form-control useractionlabeltext" id="zyid" name="zyid" + placeholder="杈撳叆璧勬簮id"> + <a> </a> + <button type="button" class="btn btn-primary" id="resactionbutton">鏌ヨ</button> + </div> + <div class="resUsagebox"> + <div id="resinvokechart"></div> + </div> + </div> + </div> + + <div style="margin-top: 15px;"> + <div id="onlineUser" class="panel panel-default"> + <div class="title panel-heading"> + <span>鍦ㄧ嚎浜哄憳<a id="personcount"></a> <a class="personcountmore" + style="float: right">鏇村>></a></span> + </div> + <table id="onlineUsertable" class="table table-striped table-hover"> + <thead> + <tr> + <td scope="col">鐢ㄦ埛ID</td> + <td scope="col">鐢ㄦ埛鍚�</td> + <td scope="col">涓婄嚎鏃堕棿</td> + </tr> + </thead> + <tbody> + </tbody> + </table> + </div> + + <div id="warnResource" class="panel panel-default"> + <div class="title panel-heading"> + <span>寮傚父璧勬簮<a id="errorResNum"></a><a class="errorResNummore" + style="float: right">鏇村>></a></span> + </div> + <table id="errorRestable" class="table table-striped table-hover "> + <thead> + <tr> + <td scope="col">璧勬簮ID</td> + <td scope="col">璧勬簮鍚嶇О</td> + <td scope="col">璧勬簮鐘舵��</td> + <td scope="col">寮傚父鏃堕棿</td> + </tr> + </thead> + <div class=" pre-scrollable"> + <tbody class="tbbox"> + </tbody> + </div> + </table> + </div> + </div> + </div> + </div> + + <!-- -----------------------iframe妯℃�佹------------------------------- --> + <div class="modal fade" id="NoPermissionModal"> + <div class="modal-dialog modal-lg"> + <div class="modal-content" style="width: 800px; height: 400px"> + <div class="modal-header"> + <h4 class="modal-title" id="NoPermissionModalLabel">绯荤粺娑堟伅</h4> + <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> + × + </button> + + </div> + <div class="modal-body"> + + <iframe id="NoPermissioniframe" width="100%" height="50%" frameborder="0"></iframe> + </div> + + </div> + </div> + </div> + + <div class="modal fade" id="serverstatusModal"> + <div class="modal-dialog modal-lg"> + <div class="modal-content" style="width: 800px; height: 400px"> + <div class="modal-header"> + <h4 class="modal-title" id="serverstatusModalLabel">绯荤粺娑堟伅</h4> + <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> + × + </button> + + </div> + <div class="modal-body"> + <iframe id="serverstatusiframe" width="100%" height="100%" frameborder="0"></iframe> + </div> + </div> + </div> + </div> + </div> +</body> + +</html> + +<script> + $('.tabtitle').on("click", function () { + $('.tabtitle').removeClass('active'); + $(this).addClass('active'); + + var tab = $(this).attr('data-item'); + $(".tabcontent").hide(); + $("#tabpanel-" + tab).show(); + try { + resUsagechart.resize() + } catch (ex) {} + try { + auditstatuschart.resize() + } catch (ex) {} + try { + resUsagechart.resize() + } catch (ex) {} + + try { + useractionchart.resize() + } catch (ex) {} + try { + resourceChart.resize() + } catch (ex) {} + }); +</script> diff --git "a/\350\257\264\346\230\216.txt" "b/\350\257\264\346\230\216.txt" index dd2c9ea..3c286dc 100644 --- "a/\350\257\264\346\230\216.txt" +++ "b/\350\257\264\346\230\216.txt" @@ -1,5 +1,167 @@ -http://localhost:12316/ +1.淇敼鑿滃崟銆佹暟鎹洰褰曘�佸崟浣嶇殑xls鏁版嵁锛岀紪鍐欓�掑綊鏌ヨSQL +2.鐧诲綍鏃堕獙璇佷娇鐢∕D5+Salt瀵嗙爜 +3.淇敼鐢ㄦ埛瀵嗙爜鏃朵娇鐢∕D5+Salt瀵嗙爜 +4.瑙e喅Swagger-UI鏃犳硶浼犻�扖ookie淇℃伅 +5.鐧诲綍鏃剁殑鐢ㄦ埛鍚嶅拰瀵嗙爜浣跨敤RSA鍔犲瘑銆佽В瀵� +6.瀵嗙爜澶嶆潅搴﹂獙璇�(8-20浣嶅寘鍚瓧姣嶃�佹暟瀛楀拰鐗规畩瀛楃) +7.鍚庡彴鏈嶅姟璁块棶娣诲姞鐧诲綍楠岃瘉鎷︽埅鍣� +8.寮�鍙戝垏闈㈡棩蹇楀姛鑳� +9.鏁版嵁搴撶洃鎺�(Druid Monitor)+鑷姩鐧诲綍 +10.WebSocket鏈嶅姟 +11.璧勬簮瀹炴椂鐩戞帶锛圕PU淇℃伅+鍐呭瓨淇℃伅+鍦ㄧ嚎鐢ㄦ埛+璧勬簮鐘舵�侊級 +12.涓嬭浇鏂囦欢骞惰缃甅IME绫诲瀷 +13.涓婁紶鏂囦欢锛坈ommons-fileupload锛� * + +1.鍓嶇闆嗘垚鐧诲綍鎺ュ彛 +2.鑿滃崟鎺ュ彛娣诲姞鐢ㄦ埛鏉冮檺 +3.寮�鍙戣彍鍗曟潈闄愩�佺敤鎴锋潈闄愩�佽祫婧愭潈闄愭帴鍙� +---------------------------------------------------------------------------------------------------- +http://127.0.0.1:12316/dict/selectCount?tab=sys_user +http://127.0.0.1:12316/Dict/selectByPage?tab=sys_user&pageSize=10&pageIndex=0 + +http://127.0.0.1:12316/Style/selectCount?name=edp +http://127.0.0.1:12316/Style/selectByPage?name=edp&pageSize=10&pageIndex=0 + +http://127.0.0.1/lf/sg/login.html +http://127.0.0.1:12316/swagger-ui.html +http://192.168.20.106:12316/swagger-ui.html http://localhost:12316/sign/toIndex http://localhost:12316/sign/toLogin -http://localhost:12316/sign/getName?loginName=admin -http://localhost:12316/sign/login?username=admin&password=admin&rememberMe=0&service=http://www.baidu.com +http://127.0.0.1:12316/sign/toLogin?service=http://www.sina.com.cn +---------------------------------------------------------------------------------------------------- +String path = System.getProperty("user.dir"); + +String uid = RsaHelper.decrypt(user.getUid()); +String pwd = RsaHelper.decrypt(user.getPwd()); + +String p1="Admin@123"; +String p2= RsaHelper.encrypt(p1); +String p3= RsaHelper.decrypt(p2); + +http://192.168.20.39:8088/cas/login锛宎dmin/Admin@123锛宲ostgres + +String pwd = "Admin@123"; +String md5 = "b37f70636f1164e86cc8796201737933f65af63918d8442b"; +boolean f1 = Md5Helper.validatePassword(pwd, md5); + +String md5Pwd = Md5Helper.reverse(Md5Helper.generate(pwd)); +boolean f2 = Md5Helper.validatePassword(pwd, md5Pwd); + +new String(Base64.getDecoder().decode(username)); +---------------------------------------------------------------------------------------------------- +涓�銆佸紑鍙戣繍琛岀幆澧� +JDK鐗堟湰锛�1.8 +maven鐗堟湰锛�3.5 +鏂囦欢缂栫爜锛歎TF-8 + +浜屻�佹妧鏈鏋惰鏄� + 鎬讳綋閲囩敤浜嗗墠鍚庣鍒嗙鐨勬妧鏈柟妗堬紝鍚庡彴鎻愪緵REST鏈嶅姟锛屽墠绔娇鐢∕VVM妗嗘灦鍋氱敤鎴蜂氦浜掋�� + 鍓嶅悗绔彲骞惰鐙珛寮�鍙戙�� +---------------------------------------------------------------------------------------------------- +鏈嶅姟绔細 + 鏍稿績妗嗘灦锛歋pringBoot + 鎸佷箙灞傛鏋讹細Mybatis + 瀹夊叏妗嗘灦锛歋hiro + 缂撳瓨锛歳edis + +鍓嶇锛� + JS妗嗘灦锛歷ue.js + 涓婚〉妗嗘灦锛歛dminLTE(鍩轰簬Bootstrap) + 琛ㄦ牸鎻掍欢锛歫qGrid + 鏍戝舰琛ㄦ牸锛歵ree-table + 鏍戝舰鎻掍欢锛歾tree + 寮圭獥缁勪欢锛歭ayer + 琛ㄥ崟鏍¢獙锛歷alidator + +private static final String SQLSERVER_URL = "jdbc:sqlserver://192.168.0.77\\ZKZS;databaseName=xian"; +---------------------------------------------------------------------------------------------------- +{ + "id": 2, + "pwd": "000000", + "salt": "Admin@123" +} + +// 鑾峰彇璇锋眰鏂瑰紡: GET +String getMethod() + +// 鑾峰彇铏氭嫙鐩綍(涓婁笅鏂囩洰褰�)锛氳櫄鎷熻矾寰勯�氳繃鍦╝pplication閰嶇疆褰撲腑鍙互閰嶇疆 +// 閰嶇疆锛歴erver.servlet.context-path=/aaa +String getContextPath() + +// 鑾峰彇Servlet璺緞锛氬氨鏄幏鍙栫殑controller褰撲腑閰嶇疆鐨勮矾寰� +String getServletPath() + +/// 鑾峰彇璇锋眰鍙傛暟锛� id=3 +// http://localhost:8080/aaa/test?id=3 +String getQueryString() + +// 鑾峰彇璇锋眰URI锛�/servletDemo/demo1 +// 涓婁笅鏂囪矾寰�+controller褰撲腑閰嶇疆鐨勮矾寰� +String getRequestURI() + +// 鑾峰彇瀹屾暣璇锋眰璺緞锛歨ttp://localhost:8080/aaa/test +String getRequestURL() + +// 鑾峰彇鍗忚鍙婄増鏈細HTTP/1.1 +String getProtocol() + +// 鑾峰彇瀹㈡埛鏈虹殑IP鍦板潃锛�192.168.0.0 +String getRemoteAddr() + +// 鑾峰彇璇锋眰澶存暟鎹�,閫氳繃璇锋眰澶村悕绉拌幏鍙栧�� +String getHeader(String name) + +// 鑾峰彇鎵�鏈夎姹傚ご淇℃伅 +Enumeration<String> getHeaderNames() + +// 鑾峰彇娴佸璞�-鑾峰彇瀛楃杈撳叆娴侊紝鍙兘鎿嶄綔瀛楃鏁版嵁 +BufferedReader getReader() + +// 鑾峰彇娴佸璞�-鑾峰彇瀛楄妭杈撳叆娴侊紝鏃㈣兘鎿嶄綔瀛楄妭涔熻兘鎿嶄綔瀛楃 +ServletInputStream getInputStream() + +// 鑾峰彇璇锋眰鍙傛暟閫氱敤鏂瑰紡(鏍规嵁鍙傛暟鍚嶇О鑾峰彇鍙傛暟鍊�) username=zhangsan +String getParameter(String name) + +// 鑾峰彇璇锋眰鍙傛暟鍚嶇О鑾峰彇鍙傛暟鍊肩殑鏁扮粍 hobby=xx&hobby=game +String[] getParameters(String name) + +// 鑾峰彇璇锋眰鍙傛暟鍚嶇О(涓庤幏鍙栬姹傚ご鏂规硶绫讳技) +Enumeration<String> getParameterNames() + +// 鑾峰彇鎵�鏈夊弬鏁扮殑Map闆嗗悎 +Map<String,String> getParameterMap() + +request.setCharacterEncoding("UTF-8"); + +// 閫氳繃request瀵硅薄鑾峰彇璇锋眰杞彂鏈嶅姟鍣細 +RequestDispatcher getRequestDispatcher(String path); + +// 浣跨敤==RequestDispatcher瀵硅薄鏉ヨ繘琛岃浆鍙� +forward(ServlertRequest request,ServletResponse response); + +//璁剧疆鐘舵�佺爜 +response.setStatus(304); + +// 璁剧疆鎸囧畾鍚嶇О鍝嶅簲澶寸殑鍊硷紝涓嬮潰鏄鍑虹殑鏃跺�欐垜浠粡甯歌璁剧疆鐨勫搷搴斿ご锛屽搷搴斿ご褰撲腑杩樻湁鏂囦欢鐨勫悕绉帮紝涔熷氨鏄�氳繃娴佷笅杞芥枃浠剁殑鏃跺�欓偅涓枃浠跺悕绉� +response.setHeader("Content-Disposition", "attachment;filename=" + zipName); + +// 1.瀛楃杈撳嚭娴� +PrintWriter getWriter() + +// 2.瀛楄妭杈撳嚭娴侊紙涓�鑸鍑哄氨鏄皢鏂囦欢鍐欏埌瀛楄妭娴侊紝鐒跺悗鍝嶅簲response锛� +ServletOutputStream getOutputStream() + +// 娉ㄦ剰锛氬湪鍚屼竴涓猄ervlet锛屼簩绉嶈緭鍑烘祦涓嶈兘鍚屾椂浣跨敤锛屼骇鐢熶簰鏂� +// response鎻愪緵浜嗕笓闂ㄨ礋璐i噸瀹氬悜鐨勬柟娉� +response.sendRedirect("/椤圭洰鍦板潃/璧勬簮鍦板潃"); + +// 鎸囧畾鏈嶅姟鍣ㄥ搷搴斾腑鏂囩殑缂栫爜鏂瑰紡 +response.setCharacterEncoding("GBK"); + +// 缁熶竴鏈嶅姟鍣ㄥ拰瀹㈡埛绔殑缂栫爜鏂瑰紡 +response.setContentType("text/html;charset=utf-8"); + +// 瀵煎嚭鐨勬椂鍊欏鏋滈渶瑕佺洿鎺ラ�氳繃response娴佸鍑篍xcel锛岄渶瑕佸拰鍓嶇璁剧疆涓婁笅鏂囩被鍨嬶紝濡備笅锛� +response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); +---------------------------------------------------------------------------------------------------- -- Gitblit v1.9.3