Compare commits

..

1351 Commits

Author SHA1 Message Date
caishi 1bb28c5d3e 专区标识非必填 2024-04-26 14:46:51 +08:00
caishi 77b341bf55 build 2024-04-26 14:06:03 +08:00
caishi 2e2f1e8c8a build 2024-04-16 11:55:12 +08:00
caishi 0ec5953d90 merge 2024-04-12 16:14:31 +08:00
caishi 1419615e48 build 2024-04-12 15:54:03 +08:00
caishi 85e81ad44f build 2024-04-12 15:44:49 +08:00
caishi 3dca60a71e build 2024-04-12 15:33:56 +08:00
caishi f2c40da512 build 2024-04-12 14:28:19 +08:00
caishi d63dcb0de9 build 2024-04-12 14:27:05 +08:00
yystopf 658baad1dc Merge pull request '上线后测试问题修改' (#383) from caishi/build:dev_trustie into dev_trustie 2024-04-08 09:38:37 +08:00
caishi c6963e17c3 update 2024-04-08 09:35:22 +08:00
caishi ae3d9bb798 build-style 2024-04-08 09:12:57 +08:00
caishi 4f1094e055 build 2024-04-08 09:00:30 +08:00
caishi 6fdcdd7d5a update 2024-04-07 17:47:26 +08:00
caishi 915b92c634 update 2024-04-07 17:46:48 +08:00
yystopf 5cf69ca815 Merge pull request '2024-4-7周任务上线' (#382) from caishi/build:dev_trustie into dev_trustie 2024-04-07 17:32:45 +08:00
caishi 8917344606 数据集模块上线 2024-04-07 17:28:24 +08:00
caishi 0001306065 build 2024-04-07 16:30:07 +08:00
caishi 79a612a557 build 2024-04-07 16:18:44 +08:00
caishi 8a9407d15e build 2024-04-07 14:53:48 +08:00
caishi 9cb38c57e2 build 2024-04-07 11:42:20 +08:00
caishi 6b40e75543 build 2024-04-07 11:33:35 +08:00
caishi 6b5e97455d build 2024-04-07 11:06:44 +08:00
caishi 7eeb015bd0 build-数据集 2024-04-07 09:28:10 +08:00
xxq250 5aa6f7c358 Merge pull request '用户反馈问题修改' (#379) from caishi/build:dev_trustie into dev_trustie 2024-04-02 16:47:56 +08:00
caishi bf56c09c21 用户反馈问题修改 2024-04-02 16:32:10 +08:00
caishi b68ce3a6b0 build 2024-04-02 16:30:57 +08:00
caishi 5ba2ac869b build 2024-04-02 16:24:13 +08:00
caishi 5d39d27c83 build 2024-04-02 16:16:01 +08:00
caishi f82ad6b6d4 问题反馈 2024-04-02 15:49:36 +08:00
xxq250 239056c71d Merge pull request '临时上线更新' (#377) from caishi/build:dev_trustie into dev_trustie 2024-04-01 15:30:20 +08:00
caishi c2d67ef357 黄心宇临时上线更新 2024-04-01 15:23:35 +08:00
xxq250 3dcce789a5 Merge pull request '临时上线-提交记录页面的样式修正' (#376) from caishi/build:dev_trustie into dev_trustie 2024-03-29 17:37:17 +08:00
caishi 7df47c5cd3 style 2024-03-29 17:33:52 +08:00
谢思 9eda4c2d07 reposyncer交互 2024-03-27 09:27:46 +08:00
caishi 8c197a26fa build 2024-03-26 14:21:14 +08:00
caishi cbb447b420 build 2024-03-26 14:20:29 +08:00
yystopf 5a54d8bdf3 Merge pull request '专区文章白屏' (#374) from Eeeros/build:dev_trustie into dev_trustie 2024-03-25 10:33:48 +08:00
黄心宇 183ca8e504 update 2024-03-25 10:27:34 +08:00
黄心宇 a253e63039 update 2024-03-25 10:16:43 +08:00
yystopf d038c885fd Merge pull request '版本上线后问题更新' (#373) from caishi/build:dev_trustie into dev_trustie 2024-03-22 17:02:30 +08:00
caishi 20dc55e59a 新建分支列表更新有延迟‘ 2024-03-22 16:36:57 +08:00
caishi 3db69ce4a9 新建分支刷新列表延迟问题 2024-03-22 15:52:59 +08:00
caishi cc3c4a1134 update 2024-03-22 15:28:56 +08:00
yystopf b8690b4ad6 Merge pull request '2024-3-22周上线任务' (#372) from caishi/build:dev_trustie into dev_trustie 2024-03-22 14:08:08 +08:00
caishi e3ec07212b 上线里程碑 2024-03-22 13:48:15 +08:00
caishi a473d0ad0a update 2024-03-21 13:49:08 +08:00
caishi 24a4397f0c 第三方账号登录页面修改 2024-03-21 10:51:37 +08:00
caishi 6b4aca8d2c build 2024-03-21 09:46:52 +08:00
caishi 8d654fd4c2 build 2024-03-20 10:52:16 +08:00
caishi 1c3574109c build 2024-03-20 10:01:53 +08:00
黄心宇 4f82ad276f cont. 2024-03-18 17:29:08 +08:00
黄心宇 72fa19f791 build 2024-03-18 11:25:57 +08:00
谢思 d7911a7c61 issue 2024-03-18 10:15:25 +08:00
谢思 0b29a413e4 issue 2024-03-16 14:17:32 +08:00
yystopf 1dc40f82d6 Merge pull request '后端无法上线接口,前端暂时隐藏恢复分支功能' (#370) from caishi/build:dev_trustie into dev_trustie 2024-03-16 14:17:04 +08:00
caishi 032549c8c1 隐藏功能build 2024-03-16 14:11:19 +08:00
谢思 ddc6a21f79 wiki 2024-03-16 13:48:52 +08:00
xxq250 4abfaff7af Merge pull request '上线更新' (#369) from caishi/build:dev_trustie into dev_trustie 2024-03-15 15:21:02 +08:00
caishi 9be8edb9ca build 2024-03-15 15:05:26 +08:00
caishi c62f1dcacc 冲突 2024-03-15 14:54:47 +08:00
caishi 031427ff70 build 2024-03-15 14:54:04 +08:00
黄心宇 cc2d685a00 gitlink readme 样式调整 2024-03-13 16:07:54 +08:00
caishi 7588995519 build 2024-03-11 14:43:43 +08:00
caishi 88c7cf03a2 build 2024-03-11 14:13:24 +08:00
caishi 12df1381be 提交记录+增加缩进 2024-03-11 14:12:47 +08:00
黄心宇 02b43b0e65 cont. 2024-02-28 15:40:15 +08:00
黄心宇 b271d9d071 Merge branch 'dev_chain' of https://gitlink.org.cn/Gitlink/build into dev_chain 2024-02-28 15:32:12 +08:00
黄心宇 797a08a1ec readme样式修改 2024-02-28 15:31:21 +08:00
caishi e8f253d51d 左侧菜单栏隐藏条件 2024-02-03 17:15:56 +08:00
xxq250 66e8b70656 Merge pull request '云际专区' (#366) from durian/build:dev_trustie into dev_trustie 2024-01-30 11:07:13 +08:00
谢思 8a12b9dd37 云际专区 2024-01-30 10:59:43 +08:00
xxq250 cc6cc461ee Merge pull request 'wiki报错问题处理' (#365) from Eeeros/build:dev_trustie into dev_trustie 2024-01-27 15:16:00 +08:00
黄心宇 6176cadd4c update 2024-01-27 15:00:41 +08:00
黄心宇 a985097dba update 2024-01-27 14:50:40 +08:00
黄心宇 8e8b70518f update 2024-01-26 14:53:33 +08:00
xxq250 1580cb5751 Merge pull request '0124上线:移除new标签、标记列表提供跳转' (#364) from Eeeros/build:dev_trustie into dev_trustie 2024-01-24 16:23:19 +08:00
黄心宇 5feab07514 update 2024-01-24 16:07:34 +08:00
黄心宇 b37ca094da update 2024-01-24 15:06:17 +08:00
caishi 220d06432e build 2024-01-18 11:06:53 +08:00
caishi 67ed7c04e0 贡献度参数year‘
2024-01-18 11:06:12 +08:00
yystopf 6ca7ac7a03 Merge pull request 'wiki名称限制' (#363) from durian/build:dev_trustie into dev_trustie 2024-01-17 17:25:24 +08:00
谢思 56ed6fc916 wiki名称限制 2024-01-17 17:22:13 +08:00
yystopf d7eca97d08 Merge pull request '0117上线,修复专区文章移动端bug、上线个人建站等相关优化' (#362) from Eeeros/build:dev_trustie into dev_trustie 2024-01-17 16:34:17 +08:00
黄心宇 481f18f93b 0117上线,修复专区文章移动端bug、上线个人建站等相关优化 2024-01-17 16:31:19 +08:00
黄心宇 99c2b57975 update 2024-01-17 11:01:43 +08:00
黄心宇 e882bd91bc update 2024-01-17 10:48:18 +08:00
黄心宇 4a28927d28 update 2024-01-17 10:29:41 +08:00
caishi 9a90b420d7 新建项目-去掉多余参数 2024-01-16 15:01:18 +08:00
caishi 463ee31725 build 2024-01-15 14:06:57 +08:00
caishi 8923d718a6 merge pre 2024-01-13 10:17:23 +08:00
caishi df661db3ab save 2024-01-13 10:04:52 +08:00
caishi 82a0077322 save 2024-01-13 10:04:32 +08:00
caishi 8c372222c2 组织头像+动态数据 2024-01-13 10:03:58 +08:00
xxq250 a8008dc291 Merge pull request '0112 专区tiitle修改' (#361) from Eeeros/build:dev_trustie into dev_trustie 2024-01-12 16:45:50 +08:00
黄心宇 57bb3f5af3 0112 专区tiitle修改 2024-01-12 16:08:35 +08:00
黄心宇 6dec04c299 update 2024-01-12 16:01:03 +08:00
黄心宇 312d6245b9 update 2024-01-12 15:53:19 +08:00
黄心宇 c70207c8d8 update 2024-01-12 15:03:39 +08:00
黄心宇 9e2ddcf478 update 2024-01-11 15:56:23 +08:00
黄心宇 71ea9f80c8 update 2024-01-11 15:35:04 +08:00
黄心宇 a674105941 update 2024-01-11 14:36:45 +08:00
caishi 11543c70ae 已删除分支-恢复功能 2024-01-05 15:05:58 +08:00
caishi 255d9939c3 comflicts 2024-01-05 15:04:39 +08:00
谢思 072a4d5294 wiki修改特殊字符限制 2023-12-29 14:56:46 +08:00
谢思 0655eca416 wiki 2023-12-26 11:30:43 +08:00
yystopf 6adeb43864 Merge pull request '专区帮助中心不显示问题' (#358) from durian/build:dev_trustie into dev_trustie 2023-12-22 15:21:59 +08:00
谢思 22e7cc3645 专区帮助中心不显示问题 2023-12-22 15:17:47 +08:00
yystopf 2ec1872de8 Merge pull request '更新wiki、个人建站、专区导航栏配置' (#357) from durian/build:dev_trustie into dev_trustie 2023-12-22 14:03:08 +08:00
谢思 3fb14d7866 合并代码重新打包 2023-12-22 13:55:54 +08:00
谢思 c3b6ff7376 合并代码重新build 2023-12-22 13:54:31 +08:00
谢思 2f4508de6d 更新wiki、个人建站、专区导航栏配置 2023-12-22 13:39:50 +08:00
谢思 dd0ae3533f wiki导入错误提示 2023-12-22 10:59:04 +08:00
谢思 97b428970a 预上线 2023-12-22 10:04:07 +08:00
caishi b99af43853 build 2023-12-22 10:03:49 +08:00
谢思 18ae0a8e28 wiki导入报错 2023-12-21 16:49:30 +08:00
谢思 b9c555b999 专区版块管理 2023-12-21 16:19:45 +08:00
谢思 fa77412431 个人建站 2023-12-20 13:43:41 +08:00
谢思 c67ac43e0e wiki 2023-12-20 11:23:29 +08:00
caishi 11f4703063 build 2023-12-19 16:55:26 +08:00
xxq250 5c9df6ffe4 Merge pull request '1215前端上线' (#354) from Eeeros/build:dev_trustie into dev_trustie 2023-12-15 11:07:18 +08:00
黄心宇 876623e6b4 update 2023-12-15 10:53:12 +08:00
黄心宇 cd3db50e58 update 2023-12-15 10:40:18 +08:00
黄心宇 301f96aa4e update 2023-12-15 09:44:06 +08:00
黄心宇 82741c9687 UPDATE 2023-12-13 09:35:51 +08:00
黄心宇 178ce63dea update 2023-12-12 11:50:17 +08:00
黄心宇 9cd85fe768 update 2023-12-11 13:40:41 +08:00
caishi 45c9fae4ac build 2023-12-11 11:44:14 +08:00
caishi 5160828c75 build 2023-12-11 11:35:53 +08:00
caishi 14816347e9 comflict 2023-12-11 11:35:34 +08:00
caishi d202d616d3 build 2023-12-11 11:34:29 +08:00
黄心宇 b3941e5fb9 update 2023-12-11 08:52:27 +08:00
黄心宇 2dda171ab4 cont. 2023-12-08 14:48:55 +08:00
黄心宇 d92ec513f2 test 新闻评论 2023-12-08 14:31:41 +08:00
xxq250 2de063fe74 Merge pull request '1201上线' (#353) from Eeeros/build:dev_trustie into dev_trustie 2023-12-01 15:05:53 +08:00
黄心宇 d924774970 1201上线 2023-12-01 13:59:15 +08:00
黄心宇 21442d3574 Merge remote-tracking branch 'upstream/dev_trustie' into dev_trustie 2023-12-01 13:58:38 +08:00
caishi 77181b277c http 默认转成https’
2023-12-01 11:30:27 +08:00
caishi 5d40ce06bf build 2023-11-30 14:18:05 +08:00
xxq250 a8614bb69a Merge pull request '无奖金课题公示' (#352) from zj_zlx/build:dev_trustie into dev_trustie 2023-11-24 09:08:15 +08:00
namezlx 5e8535571a 无奖金 2023-11-24 09:03:53 +08:00
xxq250 cc3437284c Merge pull request '个人建站域名修正' (#351) from durian/build:dev_trustie into dev_trustie 2023-11-03 14:32:08 +08:00
谢思 923637ba97 个人建站域名修正 2023-11-03 14:20:25 +08:00
xxq250 c8d0d7415f Merge pull request '表情包' (#350) from zj_zlx/build:dev_trustie into dev_trustie 2023-11-03 09:54:51 +08:00
namezlx b5db8119f8 表情包 2023-11-03 09:50:29 +08:00
xxq250 3f326d1e89 Merge pull request '1027版本上线' (#349) from zj_zlx/build:dev_trustie into dev_trustie 2023-10-27 17:09:58 +08:00
caishi 7abcb29869 周上线 2023-10-27 17:02:32 +08:00
黄心宇 7450ea10d2 1027 2023-10-27 17:00:54 +08:00
namezlx 501be07a64 线上 2023-10-27 17:00:04 +08:00
caishi cbe8b6c399 conflicts 2023-10-27 16:57:28 +08:00
caishi b88115fa06 build 2023-10-16 15:30:20 +08:00
xxq250 79b79246d6 Merge pull request '1013上线' (#348) from Eeeros/build:dev_trustie into dev_trustie 2023-10-13 14:13:17 +08:00
黄心宇 677ba6d8d2 1013上线 2023-10-13 14:05:59 +08:00
caishi 1e9f5c735f issue #3445 2023-10-08 11:09:58 +08:00
caishi 4a5924207f build 2023-10-08 10:15:59 +08:00
caishi 3ed2470da1 issue 2023-10-07 15:44:06 +08:00
xxq250 8e3b780867 Merge pull request '修复个人建站loading问题' (#347) from durian/build:dev_trustie into dev_trustie 2023-10-07 14:35:35 +08:00
谢思 9f2ca60aae 修复个人建站loading问题 2023-10-07 14:28:32 +08:00
caishi acb31bce9f update 2023-10-07 09:49:24 +08:00
xxq250 b49cbbd7c0 Merge pull request '0928上线' (#345) from Eeeros/build:dev_trustie into dev_trustie 2023-09-28 15:32:03 +08:00
黄心宇 aaad2f1caf 0928 2023-09-28 15:11:37 +08:00
caishi 4a8093141b build 2023-09-27 16:41:47 +08:00
caishi 8994e9f00a build 2023-09-27 16:41:12 +08:00
xxq250 497c6bf6cd Merge pull request 'glcc结项考核上线' (#344) from durian/build:dev_trustie into dev_trustie 2023-09-26 15:06:58 +08:00
谢思 094285b077 glcc结项考核上线 2023-09-26 15:02:20 +08:00
xxq250 f056319fa2 Merge pull request '2023-9-22周上线任务' (#343) from caishi/build:dev_trustie into dev_trustie 2023-09-25 17:28:53 +08:00
caishi baf51b65e6 2023-9-22周上线任务 2023-09-25 17:23:47 +08:00
caishi fca38fd1e8 build 2023-09-25 15:39:19 +08:00
caishi e1f66f7fd1 build 2023-09-25 14:29:26 +08:00
xxq250 bb20b40fc3 Merge pull request '上线ccf首页优化' (#340) from durian/build:dev_trustie into dev_trustie 2023-09-22 20:44:49 +08:00
谢思 a54456d2b6 下线个人建站入口 2023-09-22 17:14:43 +08:00
谢思 10e0279b01 上线个人建站+ccf首页优化 2023-09-22 17:08:39 +08:00
caishi 1b6d5fec06 build 2023-09-22 15:37:14 +08:00
caishi 26218b4895 build 2023-09-22 10:52:43 +08:00
caishi 4a89049f92 build 2023-09-22 10:45:49 +08:00
caishi c4dfc1c70d build 2023-09-22 10:36:54 +08:00
caishi d80abd8bec build 2023-09-22 10:30:51 +08:00
caishi 3d85829566 build 2023-09-22 10:09:42 +08:00
caishi e89badef22 build 2023-09-22 10:03:53 +08:00
caishi fbf5abdfe2 build 2023-09-22 09:39:00 +08:00
caishi 1372029d18 build 2023-09-21 17:34:30 +08:00
caishi f12b4fd382 build 2023-09-21 17:22:17 +08:00
caishi 4bfb7c804b build 2023-09-21 16:43:08 +08:00
caishi abdf035350 build 2023-09-21 15:57:19 +08:00
caishi 9395fc0174 build 2023-09-14 18:20:02 +08:00
caishi 07f4c56f4e 申请创建专区 2023-09-14 17:55:56 +08:00
xxq250 3206fd2c0a Merge pull request '0908更新' (#338) from durian/build:dev_trustie into dev_trustie 2023-09-08 15:01:13 +08:00
谢思 648ef5fb26 0908更新 2023-09-08 14:42:12 +08:00
xxq250 0686678d7c Merge pull request '0831上线' (#336) from durian/build:dev_trustie into dev_trustie 2023-08-31 16:04:49 +08:00
谢思 1468a5c756 0831上线 2023-08-31 15:59:58 +08:00
caishi c3ffb6de36 build 2023-08-31 10:28:08 +08:00
caishi e35cdf25a1 build 2023-08-30 17:14:38 +08:00
caishi d55b66f6c8 build 2023-08-30 17:05:31 +08:00
caishi 3b4e068711 分支名可包含/ 2023-08-30 10:19:16 +08:00
xxq250 153de4b6e8 Merge pull request '修复-glcc样式' (#334) from zj_zlx/build:dev_trustie into dev_trustie 2023-08-18 16:27:34 +08:00
namezlx aaac49ca7f '有奖修复' 2023-08-18 16:20:07 +08:00
xxq250 c8cfa63c19 Merge pull request '修复样式bug' (#333) from zj_zlx/build:dev_trustie into dev_trustie 2023-08-18 15:07:28 +08:00
namezlx d485ea69be '样式修复' 2023-08-18 13:56:25 +08:00
caishi f7cedb4543 Merge pull request '合并请求详情页显示、跳转链接等问题' (#327) from caishi/build:dev_trustie into dev_trustie 2023-08-15 14:33:01 +08:00
caishi 3744b39457 合并请求详情显示问题 2023-08-15 14:30:36 +08:00
caishi 0177c82e86 build 2023-08-15 14:26:38 +08:00
caishi 7f2ad83270 build 2023-08-15 14:20:39 +08:00
xxq250 dc93bffe17 Merge pull request 'glcc中期考核' (#326) from Eeeros/build:dev_trustie into dev_trustie 2023-08-11 15:25:58 +08:00
黄心宇 f2760cd49a glcc中期 2023-08-11 15:21:05 +08:00
黄心宇 2ee93e28d7 Merge remote-tracking branch 'upstream/dev_trustie' into dev_trustie 2023-08-11 15:20:31 +08:00
黄心宇 96c762ac73 glcc中期考核 2023-08-11 15:16:14 +08:00
xxq250 7e2bb8d9eb Merge pull request 'glcc-中期考核' (#324) from durian/build:dev_trustie into dev_trustie 2023-08-04 10:47:13 +08:00
谢思 34bdc55acf glcc-中期考核 2023-08-04 10:42:26 +08:00
xxq250 9e00635dac Merge pull request '0728更新' (#323) from durian/build:dev_trustie into dev_trustie 2023-07-28 15:28:41 +08:00
谢思 ce734f696c 0728更新 2023-07-28 15:17:45 +08:00
caishi 173adf2300 Merge pull request '临时需求更改上线' (#322) from caishi/build:dev_trustie into dev_trustie 2023-07-26 18:03:50 +08:00
caishi c609625d4b words 2023-07-26 18:02:33 +08:00
caishi 0884093cc3 Merge pull request '“关于我们”页面的内容修改' (#321) from caishi/build:dev_trustie into dev_trustie 2023-07-26 17:56:15 +08:00
caishi 76a73868f3 build-关于我们-紧急修复 2023-07-26 17:51:09 +08:00
xxq250 5903fcec8a Merge pull request '代码评审按钮放开给仓库开发者' (#320) from durian/build:dev_trustie into dev_trustie 2023-07-21 17:19:35 +08:00
谢思 56a8a853ed 代码评审按钮放开给仓库开发者 2023-07-21 17:15:31 +08:00
xxq250 9249c2e87a Merge pull request '0721更新' (#318) from durian/build:dev_trustie into dev_trustie 2023-07-21 10:41:10 +08:00
谢思 3f84e1fadc 0721更新 2023-07-21 10:11:31 +08:00
caishi a1d29384f6 含a标签的图片 2023-07-20 18:49:11 +08:00
caishi 0005427ded fork-弹框 2023-07-20 18:09:25 +08:00
caishi f40d10b199 build 2023-07-19 10:38:39 +08:00
caishi 7cc68f7c10 build 2023-07-19 09:59:33 +08:00
caishi 87df5783da build 2023-07-19 09:54:39 +08:00
caishi 5c867aa9d3 build 2023-07-18 18:49:40 +08:00
caishi 63a07623fd build 2023-07-18 18:15:02 +08:00
caishi 34634dd509 build 2023-07-18 18:12:56 +08:00
caishi 3218a077b6 build 2023-07-18 18:06:50 +08:00
caishi 66e75881f6 build 2023-07-18 17:59:37 +08:00
caishi 2d1f740a80 build 2023-07-18 17:41:06 +08:00
caishi 4d92ea9e38 build 2023-07-18 17:35:31 +08:00
caishi 7102f1ffe1 专区-新闻详情-手机端 2023-07-18 16:09:11 +08:00
caishi 95f96ab8bc Merge pull request 'issue评论区md被覆盖的问题' (#317) from caishi/build:dev_trustie into dev_trustie 2023-07-14 16:35:35 +08:00
caishi f38d739efa build 2023-07-14 16:32:50 +08:00
caishi 74e0c7ef88 Merge branch 'dev_trustie' of https://gitlink.org.cn/Gitlink/build into dev_trustie 2023-07-14 16:29:15 +08:00
caishi a37459a185 修复 2023-07-14 16:28:59 +08:00
caishi 6159009912 Merge pull request '2023-7-14周上线任务' (#316) from caishi/build:dev_trustie into dev_trustie 2023-07-14 13:51:51 +08:00
caishi 7b9b8235c3 专区资源发布、pr创建、里程碑筛选 2023-07-14 13:48:08 +08:00
caishi dc3f81e163 build 2023-07-14 11:07:46 +08:00
caishi 5fce4fed07 pulls.json 2023-07-14 10:58:49 +08:00
caishi 68caad2825 build 2023-07-13 15:47:23 +08:00
caishi 9e873bf912 合并请求 2023-07-13 14:55:59 +08:00
caishi 316af1c3a4 里程碑筛选 2023-07-13 14:48:25 +08:00
caishi 8aec2b7e56 build 2023-07-13 14:04:46 +08:00
caishi 35b5d374b5 build 2023-07-13 13:54:40 +08:00
caishi d9bae69670 build 2023-07-13 11:45:34 +08:00
caishi ccbfe94599 build 2023-07-13 10:55:51 +08:00
caishi 01886d665f build 2023-07-13 10:51:32 +08:00
caishi 302867d6b7 build 2023-07-13 10:47:49 +08:00
caishi d79f77a201 build 2023-07-13 10:39:21 +08:00
caishi d9ed6017a5 build 2023-07-13 10:27:45 +08:00
caishi 8fbc05638b 编辑文件空白 2023-07-13 09:58:59 +08:00
caishi f1a2facbb4 build 2023-07-13 09:31:22 +08:00
caishi 01d499be0d build 2023-07-12 18:39:58 +08:00
caishi b563b7fae6 合并请求 2023-07-12 18:24:45 +08:00
caishi 8edcf5993b build 2023-07-12 15:41:18 +08:00
xxq250 ec653a2598 Merge pull request '修复' (#315) from durian/build:dev_trustie into dev_trustie 2023-07-10 11:40:56 +08:00
谢思 ef6bddba74 修复md引用弹框的样式问题 2023-07-10 11:38:09 +08:00
caishi 2b6f86cf0c build-资源发布 2023-07-10 09:50:22 +08:00
xxq250 9a19598660 Merge pull request '0707上线' (#314) from Eeeros/build:dev_trustie into dev_trustie 2023-07-07 17:07:43 +08:00
黄心宇 cb9c38cafd 0707上线 2023-07-07 17:01:45 +08:00
caishi 1dbc991449 build-专区-资源发布 2023-07-06 18:21:14 +08:00
xxq250 e174867f57 Merge pull request '6.30更新glcc文案代码' (#313) from Eeeros/build:dev_trustie into dev_trustie 2023-06-30 18:17:12 +08:00
黄心宇 2b227d0f94 优化 2023-06-30 18:12:16 +08:00
xxq250 9cae14ab76 Merge pull request '6.30更新样式优化' (#312) from Eeeros/build:dev_trustie into dev_trustie 2023-06-30 17:59:01 +08:00
黄心宇 6929be890f 样式优化 2023-06-30 17:51:15 +08:00
xxq250 1ba863d9fb Merge pull request '6.30更新' (#311) from durian/build:dev_trustie into dev_trustie 2023-06-30 17:09:09 +08:00
谢思 2e405c0277 6.30更新 2023-06-30 17:02:34 +08:00
caishi 70fe873e5b build 2023-06-29 16:54:56 +08:00
caishi 49652ae8f4 build 2023-06-29 16:51:48 +08:00
caishi c739f33eb7 build 2023-06-29 16:48:00 +08:00
xxq250 3b7c30c619 Merge pull request '课题可报名个数限制有误' (#310) from durian/build:dev_trustie into dev_trustie 2023-06-27 18:47:30 +08:00
谢思 6dddfa5a12 课题可报名个数限制有误 2023-06-27 18:44:02 +08:00
xxq250 8ada85ea9d Merge pull request 'glcc学生课题匹配+学生补录阶段' (#309) from durian/build:dev_trustie into dev_trustie 2023-06-27 17:26:55 +08:00
谢思 9503d4b478 glcc学生课题匹配 2023-06-27 17:23:52 +08:00
caishi 550a9a002a Merge pull request '周上线任务-导入项目、glcc、专区、CLA等' (#308) from caishi/build:dev_trustie into dev_trustie 2023-06-21 16:18:24 +08:00
caishi 7effab77fd 周上线任务-导入项目、glcc、专区等 2023-06-21 16:15:20 +08:00
caishi 25a2ac6766 build 2023-06-21 16:11:34 +08:00
caishi 0d3accde63 build 2023-06-21 16:05:47 +08:00
caishi 5c1fb443fe build 2023-06-21 15:22:31 +08:00
caishi e73188f4c1 build 2023-06-21 14:58:08 +08:00
caishi 13073ed0c0 build 2023-06-21 14:43:19 +08:00
caishi 342c3e4b0c build 2023-06-21 14:37:04 +08:00
caishi 2732ddaf8d build 2023-06-21 14:32:07 +08:00
caishi d61f738095 build 2023-06-21 14:26:52 +08:00
caishi 2cda94e4d2 buil 2023-06-21 14:20:57 +08:00
caishi 5f92e6a5cc build 2023-06-21 13:51:54 +08:00
caishi db89219a2a build 2023-06-21 12:44:30 +08:00
caishi d12b864eff build 2023-06-21 12:38:43 +08:00
caishi 5233ef0af2 build 2023-06-21 12:24:43 +08:00
caishi d8af53f030 build 2023-06-21 11:13:05 +08:00
caishi 10ee569346 build 2023-06-21 10:58:49 +08:00
caishi ac8ca8795e build 2023-06-21 10:49:34 +08:00
caishi 27663133a8 build 2023-06-21 10:33:50 +08:00
caishi 0c929f2538 build 2023-06-21 10:26:53 +08:00
caishi 8e670dc996 pull gitlink_server all 2023-06-21 10:07:13 +08:00
caishi bda1f80883 build 2023-06-21 10:02:03 +08:00
caishi 28f400920c build 2023-06-21 09:53:00 +08:00
caishi 37ba4aa96a build 2023-06-21 09:47:38 +08:00
caishi e6ed824f33 build 2023-06-21 09:41:16 +08:00
caishi 08202f82ff build 2023-06-21 09:35:47 +08:00
caishi 781507cf09 build 2023-06-21 09:19:28 +08:00
caishi 5b9d004872 build 2023-06-21 09:09:57 +08:00
caishi 9a7dad4c88 build 2023-06-20 19:04:08 +08:00
caishi 9e222a62f7 build 2023-06-20 18:56:09 +08:00
caishi f1ffde6d6c build 2023-06-20 18:44:08 +08:00
caishi eba7dc2c27 build 2023-06-20 18:38:22 +08:00
caishi ae58a7b70a build 2023-06-20 17:01:47 +08:00
caishi 7925ea1aef 导入项目token验证 2023-06-20 16:18:22 +08:00
caishi df99e94a39 build 2023-06-20 11:34:47 +08:00
caishi e6cdeef151 build 2023-06-20 11:23:50 +08:00
caishi f625f785de cla-logo 2023-06-20 10:56:55 +08:00
caishi 39217c237b build 2023-06-20 09:44:28 +08:00
caishi 8730a576a6 build 2023-06-19 18:00:46 +08:00
caishi e7d140259b cla-issue update 2023-06-19 14:36:58 +08:00
caishi 8e7161505d build 2023-06-19 09:24:06 +08:00
xxq250 bc75b6ca47 Merge pull request '开芯院专区bug修复' (#307) from Eeeros/build:dev_trustie into dev_trustie 2023-06-16 18:30:08 +08:00
黄心宇 92b3b41bdf bug fix 2023-06-16 17:54:43 +08:00
黄心宇 ac435d700c bug fix 2023-06-16 17:35:22 +08:00
caishi 5a58a04242 build 2023-06-16 17:09:24 +08:00
xxq250 a74c15eba5 Merge pull request '专区模板区分改为接口获取' (#306) from Eeeros/build:dev_trustie into dev_trustie 2023-06-16 16:29:28 +08:00
黄心宇 6b159fd864 专区模板区分方式 2023-06-16 16:10:03 +08:00
caishi 1182e4447a build 2023-06-16 12:02:02 +08:00
caishi cf3ee40754 build 2023-06-16 11:49:09 +08:00
caishi f0ef03c1a6 CLA-first‘ 2023-06-16 11:43:02 +08:00
xxq250 355d6d577d Merge pull request '开芯院专区bug修复' (#305) from Eeeros/build:dev_trustie into dev_trustie 2023-06-15 17:25:37 +08:00
黄心宇 2b5450e4d4 bug fix 2023-06-15 17:17:24 +08:00
xxq250 f03a12292b Merge pull request '开芯院专区以及相关更新' (#304) from Eeeros/build:dev_trustie into dev_trustie 2023-06-15 16:51:56 +08:00
黄心宇 9659d3ca60 开芯院模板及相关需求 2023-06-15 16:37:02 +08:00
caishi 02a2a7c023 build 2023-06-13 18:07:46 +08:00
xxq250 faaa7b090a Merge pull request '更新' (#302) from durian/build:dev_trustie into dev_trustie 2023-06-13 11:24:08 +08:00
谢思 65ac6d70ff pull 代码 2023-06-13 11:18:29 +08:00
xxq250 737a7b0fd1 Merge pull request '特色专区' (#301) from durian/build:dev_trustie into dev_trustie 2023-06-13 11:14:29 +08:00
谢思 204dd78826 特色专区 2023-06-13 11:11:20 +08:00
xxq250 4dc3944731 Merge pull request 'pull更新' (#300) from durian/build:dev_trustie into dev_trustie 2023-06-13 11:10:45 +08:00
谢思 f267597dd8 pull更新 2023-06-13 10:09:43 +08:00
xxq250 bce6f01fba Merge pull request 'glcc导师-学生匹配阶段' (#299) from durian/build:dev_trustie into dev_trustie 2023-06-12 17:57:50 +08:00
谢思 208d8e52f5 glcc导师-学生匹配阶段 2023-06-12 17:54:35 +08:00
xxq250 2fdeff2119 Merge pull request '临时上线-issue访问报403' (#297) from caishi/build:dev_trustie into dev_trustie 2023-06-09 17:24:12 +08:00
caishi 0277f6e7bd build 2023-06-09 17:20:56 +08:00
xxq250 10c8db23d8 Merge pull request '无权限用户访问issue跳转到403' (#296) from caishi/build:dev_trustie into dev_trustie 2023-06-09 17:12:10 +08:00
caishi ad7169febd 紧急上线-访问issue报403 2023-06-09 17:04:13 +08:00
caishi ed679b0e0f build 2023-06-09 17:01:09 +08:00
xxq250 89c67b7f57 Merge pull request '2023-6-9周上线任务' (#295) from caishi/build:dev_trustie into dev_trustie 2023-06-09 15:28:31 +08:00
caishi cfd6aa592a 周上线任务 2023-06-09 14:27:54 +08:00
caishi 9a12d4b2f1 build 2023-06-09 11:37:23 +08:00
caishi 384e75f59e build 2023-06-09 11:29:59 +08:00
caishi d3f534f2ea build 2023-06-09 11:21:57 +08:00
caishi 2323ddbf86 build 2023-06-08 15:05:09 +08:00
caishi c926456a84 build 2023-06-07 11:56:19 +08:00
caishi 352854b920 Merge pull request '和后端同步更新' (#294) from caishi/build:dev_trustie into dev_trustie 2023-06-06 16:33:36 +08:00
caishi f88e5165a9 build 2023-06-06 16:32:30 +08:00
xxq250 bb57fa4105 Merge pull request '接口code等于500和404暂时恢复上一版之前' (#293) from caishi/build:dev_trustie into dev_trustie 2023-06-06 15:56:59 +08:00
caishi 476cf3fdbb 接口暂时无法上线/撤回专区接口code 2023-06-06 15:26:21 +08:00
caishi 8c6aa25685 build 2023-06-06 14:34:52 +08:00
xxq250 38a6ee61af Merge pull request '特色专区、glcc补充上线' (#292) from caishi/build:dev_trustie into dev_trustie 2023-06-06 14:16:20 +08:00
caishi 91ddfeddf9 针对上一周任务补充上线 2023-06-06 14:13:05 +08:00
caishi 44a43adbe1 build 2023-06-06 12:01:20 +08:00
caishi 3d6a07f445 build 2023-06-06 11:57:46 +08:00
caishi 4c4dc2432a build 2023-06-06 09:38:49 +08:00
caishi c0cec140cc build 2023-06-05 16:49:44 +08:00
caishi 59db1e605f build 2023-06-05 16:22:43 +08:00
xxq250 c9cea38631 Merge pull request '上个版本内容修改' (#291) from caishi/build:dev_trustie into dev_trustie 2023-06-02 17:43:19 +08:00
caishi 0eaac18358 build 2023-06-02 17:38:34 +08:00
caishi 334fbec8f9 build 2023-06-02 16:59:05 +08:00
caishi f6d75fd233 build 2023-06-02 16:13:54 +08:00
caishi b57090ed56 build 2023-06-02 15:31:47 +08:00
caishi 3c84173367 build 2023-06-02 15:07:28 +08:00
caishi f9e028e3d7 build 2023-06-02 14:59:36 +08:00
xxq250 3ac3fda9a4 Merge pull request '2023-6-2 周任务上线' (#290) from caishi/build:dev_trustie into dev_trustie 2023-06-02 14:12:55 +08:00
caishi 00d90c2a85 特色专区第一版上线、glcc bug更新 2023-06-02 14:06:03 +08:00
caishi ab7c3c3b35 build 2023-06-02 14:04:38 +08:00
caishi 50635676ed build 2023-06-02 13:58:56 +08:00
caishi 2b498d18fe build 2023-06-02 11:53:42 +08:00
xxq250 f03c711eb9 Merge pull request '修改glcc合作伙伴' (#289) from durian/build:dev_trustie into dev_trustie 2023-06-02 11:29:06 +08:00
caishi eab86f467f build 2023-06-02 11:29:02 +08:00
谢思 30c352c301 修改glcc合作伙伴 2023-06-02 11:20:58 +08:00
caishi c1672c74b7 build 2023-06-02 10:31:45 +08:00
xxq250 5c3cd67ffc Merge pull request '兼容问题' (#288) from durian/build:dev_trustie into dev_trustie 2023-06-01 22:11:04 +08:00
谢思 2a9016ad0e 兼容问题 2023-06-01 22:02:53 +08:00
xxq250 b81b6a3fc9 Merge pull request 'glcc' (#287) from durian/build:dev_trustie into dev_trustie 2023-06-01 19:52:55 +08:00
谢思 787b160c4a glcc 2023-06-01 18:54:23 +08:00
caishi 411e40dfc1 build 2023-06-01 18:36:09 +08:00
caishi 6c60679363 build 2023-06-01 15:28:39 +08:00
caishi 0632c0cf26 build 2023-06-01 10:13:05 +08:00
caishi fde5ebd9eb build 2023-06-01 10:08:37 +08:00
caishi 0507972be2 build 2023-05-31 17:18:44 +08:00
caishi b8b775c00f build 2023-05-31 17:06:21 +08:00
caishi e9d491ec9d build 2023-05-31 15:02:12 +08:00
xxq250 7c31b3a34c Merge pull request '上线glcc学生报名功能' (#286) from durian/build:dev_trustie into dev_trustie 2023-05-31 15:01:09 +08:00
谢思 ac20bb6097 上线glcc学生报名功能 2023-05-31 14:54:34 +08:00
xxq250 96ffefcb4f Merge pull request '合并请求的权限问题' (#285) from caishi/build:dev_trustie into dev_trustie 2023-05-30 18:32:22 +08:00
caishi a080cd7862 build-合并请求的权限问题 2023-05-30 18:30:52 +08:00
caishi 7e466c45c4 build 2023-05-30 18:23:32 +08:00
caishi b80904df60 build 2023-05-30 17:33:51 +08:00
caishi 665cef7197 build 2023-05-30 15:54:27 +08:00
caishi df57528961 build 2023-05-30 09:47:52 +08:00
caishi c22379495d build 2023-05-29 17:38:12 +08:00
caishi ca2a570867 build 2023-05-29 16:35:36 +08:00
caishi b5fb830bdc build 2023-05-29 15:53:34 +08:00
caishi 2e4f354f4d build 2023-05-26 18:16:39 +08:00
caishi 441dae9009 build 2023-05-26 18:02:56 +08:00
xxq250 019d8d2ba2 Merge pull request 'glcc 课题奖金改为下拉框' (#284) from durian/build:dev_trustie into dev_trustie 2023-05-26 10:09:24 +08:00
谢思 514ae70c59 glcc 课题奖金改为下拉框 2023-05-26 09:52:55 +08:00
xxq250 853434b816 Merge pull request 'glcc项目报名添加奖金说明' (#283) from durian/build:dev_trustie into dev_trustie 2023-05-19 11:05:22 +08:00
谢思 179cfbd647 glcc项目报名添加奖金说明 2023-05-19 10:40:48 +08:00
caishi 173779b761 committ build 2023-05-17 11:48:07 +08:00
xxq250 72a198de17 Merge pull request '2023-05-12周上线任务' (#282) from caishi/build:dev_trustie into dev_trustie 2023-05-12 15:55:38 +08:00
caishi 532cc36154 周上线 2023-05-12 15:52:49 +08:00
caishi f77a57ccb6 build 2023-05-10 10:21:29 +08:00
caishi 2eeb93ce58 build 2023-05-09 16:33:04 +08:00
xxq250 d78224c7c9 Merge pull request '合并代码重新上线' (#281) from durian/build:dev_trustie into dev_trustie 2023-05-08 18:14:57 +08:00
谢思 514975ca33 合并代码重新上线 2023-05-08 18:00:21 +08:00
caishi b5e21a7c27 build 2023-05-08 17:15:15 +08:00
caishi 81604f931c build 2023-05-08 17:00:32 +08:00
caishi 9b31b90913 build 2023-05-08 16:21:13 +08:00
caishi a49815f18f build 2023-05-08 14:23:33 +08:00
xxq250 f7fe4568bc Merge pull request '上线glcc多个项目报名功能' (#280) from durian/build:dev_trustie into dev_trustie 2023-05-08 10:44:26 +08:00
谢思 8a3a015ac9 上线glcc多个项目报名功能 2023-05-08 10:38:32 +08:00
caishi 3baf55c009 build 2023-05-08 10:21:05 +08:00
caishi a06c97fb60 build 2023-05-06 16:04:18 +08:00
xxq250 dd5a457bb0 Merge pull request 'glcc帮助中心隐藏sidebar文件' (#279) from durian/build:dev_trustie into dev_trustie 2023-05-06 14:04:09 +08:00
谢思 78cb938725 glcc帮助中心隐藏sidebar文件 2023-05-06 13:46:20 +08:00
caishi 2d0be6dc68 build 2023-05-06 12:00:23 +08:00
xxq250 e5be547df0 Merge pull request '正则影响IOS打开空白问题' (#276) from caishi/build:dev_trustie into dev_trustie 2023-05-04 17:32:19 +08:00
caishi c3a0f51e78 build 2023-05-04 17:08:28 +08:00
caishi 9188b4f9c4 build 2023-05-04 16:59:32 +08:00
caishi bfb7a751c8 build 2023-05-04 16:09:55 +08:00
xxq250 51fa5422b0 Merge pull request 'glcc safari兼容问题' (#275) from durian/build:dev_trustie into dev_trustie 2023-05-04 15:33:18 +08:00
谢思 2246f0663d glcc safari兼容问题 2023-05-04 15:25:47 +08:00
xxq250 38baaf2313 Merge pull request 'glcc项目报名之后刷新用户报名信息' (#274) from durian/build:dev_trustie into dev_trustie 2023-04-28 21:27:18 +08:00
谢思 378e0dd925 glcc项目报名之后刷新用户报名信息 2023-04-28 21:21:35 +08:00
xxq250 e6790f1584 Merge pull request 'glcc时间规划修改文案' (#273) from durian/build:dev_trustie into dev_trustie 2023-04-28 11:20:52 +08:00
谢思 4291c70f41 glcc时间规划修改文案 2023-04-28 11:14:07 +08:00
xxq250 72c4266c6b Merge pull request '更新' (#272) from durian/build:dev_trustie into dev_trustie 2023-04-27 17:14:01 +08:00
谢思 5959272854 glcc项目报名按钮添加敬请期待状态 2023-04-27 17:11:13 +08:00
xxq250 a98642ea60 Merge pull request '2022-04-28周上线任务' (#271) from caishi/build:dev_trustie into dev_trustie 2023-04-27 16:19:08 +08:00
caishi 31319bc250 周上线任务 2023-04-27 16:12:55 +08:00
caishi 5b28d5f7b7 build 2023-04-27 16:09:05 +08:00
caishi 11190b42e1 build 2023-04-27 15:34:14 +08:00
caishi c4693db74d build 2023-04-26 18:05:01 +08:00
caishi 469a2515fa build 2023-04-26 16:47:35 +08:00
caishi b112336c7b build 2023-04-26 15:48:06 +08:00
caishi 0241717a5e build 2023-04-26 15:42:05 +08:00
caishi 57032672e4 build 2023-04-26 14:29:43 +08:00
caishi df119cdbcf build 2023-04-26 14:10:55 +08:00
caishi e46b75191d build 2023-04-21 13:58:22 +08:00
caishi e22ffed044 build 2023-04-19 11:29:15 +08:00
xxq250 19ff87a40f Merge pull request '临时上线-动态echart图表的title' (#268) from caishi/build:dev_trustie into dev_trustie 2023-04-18 16:44:18 +08:00
caishi e3bc4145bd build 2023-04-18 16:42:02 +08:00
caishi 42c797cc29 build 2023-04-18 16:39:31 +08:00
xxq250 26f6ae19cf Merge pull request '临时上线-动态echart图表的title' (#267) from caishi/build:dev_trustie into dev_trustie 2023-04-18 16:36:46 +08:00
caishi e68801b7dd build 2023-04-18 16:31:36 +08:00
caishi 6e7aa9c6a3 build 2023-04-18 16:30:31 +08:00
caishi 8dc2cceac8 build 2023-04-18 15:11:06 +08:00
caishi a86b8ed6db build 2023-04-18 14:24:26 +08:00
xxq250 16f42dd334 Merge pull request '2023-4-14 周上线' (#266) from caishi/build:dev_trustie into dev_trustie 2023-04-14 15:28:45 +08:00
caishi 88a78f1795 2023-4-14 周上线 2023-04-14 15:12:40 +08:00
caishi d5bf527903 build 2023-04-14 15:10:28 +08:00
caishi d2256c324c build 2023-04-14 14:43:46 +08:00
caishi fe7eaf0447 build 2023-04-14 11:00:07 +08:00
caishi f6d3df3e21 build 2023-04-14 10:44:29 +08:00
caishi 3295ec7319 build 2023-04-13 16:21:52 +08:00
caishi d37939ff42 build 2023-04-13 15:07:32 +08:00
caishi 4e4d557155 build 2023-04-12 17:44:47 +08:00
caishi da22d25e8c build 2023-04-12 10:39:07 +08:00
caishi c0dd793877 build 2023-04-11 17:46:51 +08:00
caishi 84292df61b build 2023-04-11 15:49:01 +08:00
caishi 4d11901444 build 2023-04-11 15:34:24 +08:00
xxq250 5ae406086a Merge pull request '0407更新' (#265) from durian/build:dev_trustie into dev_trustie 2023-04-07 17:39:16 +08:00
谢思 aca2602dd6 0407更新 2023-04-07 17:25:52 +08:00
caishi f69ab8f8c0 build 2023-04-07 15:35:52 +08:00
caishi 3c12a404a9 build 2023-04-04 19:02:45 +08:00
xxq250 a4eb2421da Merge pull request '仓库-已安装bot设置页添加网页标题' (#263) from durian/build:dev_trustie into dev_trustie 2023-04-03 17:13:41 +08:00
谢思 56ef2df009 仓库-已安装bot设置页添加网页标题 2023-04-03 16:59:46 +08:00
xxq250 e9c044673e Merge pull request 'bot 安装到组织仓库' (#262) from durian/build:dev_trustie into dev_trustie 2023-04-03 16:27:56 +08:00
谢思 15be49d990 bot 安装到组织仓库 2023-04-03 15:27:22 +08:00
xxq250 d77961374a Merge pull request 'wiki添加目录功能,fork star图标icon添加' (#261) from durian/build:dev_trustie into dev_trustie 2023-03-31 16:20:02 +08:00
谢思 b3cca8e918 wiki添加目录功能,fork star图标icon添加 2023-03-31 15:53:04 +08:00
caishi 8a7b6f08f0 Merge pull request '2023-3-30周上线任务update' (#260) from caishi/build:dev_trustie into dev_trustie 2023-03-30 18:46:59 +08:00
caishi 603cf27277 build 2023-03-30 18:42:07 +08:00
caishi 8232f9851a del 2023-03-30 18:40:00 +08:00
caishi 45e68e852d build 2023-03-30 18:39:11 +08:00
xxq250 a0bf0f8995 Merge pull request '2023-3-30周上线任务' (#259) from caishi/build:dev_trustie into dev_trustie 2023-03-30 18:22:43 +08:00
caishi 535473e404 2023 03 30 上线 2023-03-30 18:20:29 +08:00
caishi 38541b7193 build 2023-03-30 18:11:36 +08:00
caishi 2a7f183011 build 2023-03-30 15:56:45 +08:00
caishi 50f511a31f build 2023-03-28 17:15:01 +08:00
caishi 3cfe8b1bdd build 2023-03-28 10:37:59 +08:00
caishi dbacb5bc1f build 2023-03-28 10:26:01 +08:00
caishi 6e4d74995f build 2023-03-28 10:19:55 +08:00
xxq250 24afbd3cee Merge pull request 'bot安装到组织(仅白名单用户,且只能安装到组织下的一个仓库)' (#258) from durian/build:dev_trustie into dev_trustie 2023-03-25 13:13:46 +08:00
谢思 3314e85a3a 非白名单用户安装个人仓库 2023-03-25 12:54:42 +08:00
谢思 6a09fc1ab0 白名单用户只能安装到组织下的一个仓库 2023-03-25 12:41:04 +08:00
谢思 97cea6bd9b bot安装到组织(仅白名单用户) 2023-03-25 12:06:30 +08:00
caishi fbd3eab1ed Merge pull request '2023-3-24周上线任务' (#256) from caishi/build:dev_trustie into dev_trustie 2023-03-24 16:49:23 +08:00
caishi bb087eb40a build1 2023-03-24 16:47:22 +08:00
caishi 21da27b4bb build 2023-03-24 16:44:50 +08:00
caishi 06566eb33a build 2023-03-24 10:19:30 +08:00
xxq250 866eb2ced0 Merge pull request '2023-3-22上线' (#255) from caishi/build:dev_trustie into dev_trustie 2023-03-22 18:42:13 +08:00
caishi ac7c7d06b2 build-临时上线 2023-03-22 18:12:51 +08:00
caishi e8567b533b build 2023-03-22 17:49:38 +08:00
caishi 912222af95 build 2023-03-22 17:41:31 +08:00
caishi 4fbf21ebda build 2023-03-22 16:55:18 +08:00
caishi e8bb49caaa build 2023-03-21 11:28:00 +08:00
caishi 55ca825227 build 2023-03-21 10:27:12 +08:00
caishi c18881c0de build 2023-03-21 09:53:51 +08:00
caishi 9fa4c0567b build 2023-03-20 14:22:02 +08:00
caishi 8ac0f58508 build 2023-03-17 10:47:58 +08:00
caishi 6196913223 build 2023-03-16 17:52:18 +08:00
xxq250 9a9641f90d Merge pull request '修改bot默认头像图片id' (#254) from durian/build:dev_trustie into dev_trustie 2023-03-16 15:50:15 +08:00
谢思 e5cc59936d 修改bot默认头像图片id 2023-03-16 15:39:48 +08:00
xxq250 e9ef22f497 Merge pull request '区块确权、issue声明、新版issue、softbot' (#253) from durian/build:dev_trustie into dev_trustie 2023-03-16 10:17:56 +08:00
谢思 99731ef052 区块确权、issue声明、新版issue、softbot 2023-03-16 09:39:04 +08:00
caishi 0ca920d867 build 2023-03-14 14:13:41 +08:00
caishi 4af17d2abd build 2023-03-14 10:25:01 +08:00
caishi 169136f91e build 2023-03-13 16:36:35 +08:00
caishi 18a1342e9d build 2023-03-13 14:18:21 +08:00
caishi 721e4de33f build 2023-03-13 14:14:30 +08:00
xxq250 dfede91628 Merge pull request '上线后交互修改' (#252) from caishi/build:dev_trustie into dev_trustie 2023-03-10 17:46:46 +08:00
caishi 330be0cdc3 build-同上 2023-03-10 17:41:52 +08:00
xxq250 320a617186 Merge pull request '周上线-23-03-10' (#251) from caishi/build:dev_trustie into dev_trustie 2023-03-10 17:11:06 +08:00
caishi bfde8b3cba build-23-03-10 2023-03-10 17:06:50 +08:00
caishi 5a0452c7ae build 2023-03-10 17:02:19 +08:00
caishi c7b254e3f3 build 2023-03-10 16:15:07 +08:00
caishi b219f61873 build 2023-03-10 15:57:59 +08:00
caishi 67397faff9 build 2023-03-10 15:35:33 +08:00
caishi 9f008cf2ca build 2023-03-10 15:24:14 +08:00
caishi 3b688aa819 build 2023-03-10 14:24:50 +08:00
caishi 942047c6f3 build 2023-03-10 10:09:39 +08:00
caishi 223ce4057d build 2023-03-09 17:16:25 +08:00
caishi 37479ecd6f build 2023-03-09 16:47:57 +08:00
caishi 0e529dc90b build 2023-03-09 16:19:04 +08:00
caishi 6a4d243db1 build 2023-03-09 15:06:50 +08:00
caishi 9d63075b39 build 2023-03-09 14:33:57 +08:00
caishi 9cfbcc071e build 2023-03-08 11:50:48 +08:00
caishi 3907c8b6d9 build 2023-03-08 10:32:32 +08:00
caishi a70c4a9c05 build 2023-03-08 10:26:09 +08:00
caishi 1876e2282b build 2023-03-07 09:30:21 +08:00
caishi 5c3f89ae11 build 2023-03-03 16:33:39 +08:00
caishi 47cf5b73a2 build 2023-03-03 09:39:45 +08:00
caishi e77a25e527 build 2023-03-02 18:32:05 +08:00
caishi 11fa443b07 build 2023-03-02 15:17:28 +08:00
caishi cfb853406b build 2023-02-28 18:34:16 +08:00
caishi 89fcfe2e67 build 2023-02-28 18:33:52 +08:00
caishi 675262db8a build 2023-02-28 16:45:04 +08:00
caishi 590b416f7c build 2023-02-28 14:23:30 +08:00
caishi 4536137626 build 2023-02-27 17:46:51 +08:00
caishi 24fa776e35 build 2023-02-27 17:38:02 +08:00
caishi fa92443ac3 build 2023-02-27 17:24:02 +08:00
caishi b8f134d09a build 2023-02-27 16:57:03 +08:00
caishi 057056efd7 build 2023-02-27 15:19:37 +08:00
caishi 26e9a872c6 build 2023-02-27 14:49:32 +08:00
caishi 6942ed1cfc build 2023-02-27 13:47:40 +08:00
caishi c8d5b4ea9f build 2023-02-27 11:45:53 +08:00
caishi 4898fc857e build 2023-02-27 10:59:50 +08:00
caishi 9a45edd7ed build 2023-02-24 17:53:36 +08:00
caishi d8685a360e build 2023-02-24 17:01:55 +08:00
caishi 4aede66be9 build 2023-02-24 15:53:18 +08:00
caishi d16f5fe099 build 2023-02-24 15:44:02 +08:00
caishi 4eff8b9979 build 2023-02-22 18:22:26 +08:00
caishi db0d985e5b build 2023-02-22 09:36:52 +08:00
caishi ce9c3db53b issue改版 2023-02-21 22:18:42 +08:00
xxq250 69aa4249ed Merge pull request '修改镜像的ws与刷新' (#250) from tongChong/build:dev_trustie into dev_trustie 2023-02-21 21:08:38 +08:00
何童崇 bc798602d4 修改镜像的ws与刷新 2023-02-21 20:44:13 +08:00
xxq250 b57c552300 Merge pull request '前端重新上线以重新加载js' (#249) from caishi/build:dev_trustie into dev_trustie 2023-02-21 15:52:23 +08:00
caishi 963edb088e build 2023-02-21 15:49:47 +08:00
xxq250 64ab13e69b Merge pull request '新建/删除分支增加权限' (#248) from durian/build:dev_trustie into dev_trustie 2023-02-17 18:33:36 +08:00
谢思 5b5f7f568d 新建/删除分支增加权限 2023-02-17 18:28:14 +08:00
xxq250 50cdd025db Merge pull request '新建分支根据总数获取全部分支信息' (#246) from tongChong/build:dev_trustie into dev_trustie 2023-02-17 16:46:02 +08:00
何童崇 48f7f9e611 新建分支根据总数获取全部分支信息 2023-02-17 16:39:48 +08:00
xxq250 db15c77415 Merge pull request '新建分支根据总数获取全部分支' (#245) from durian/build:dev_trustie into dev_trustie 2023-02-17 16:10:16 +08:00
谢思 aee4034e18 新建分支根据总数获取全部分支 2023-02-17 16:00:08 +08:00
xxq250 3235b1a0c2 Merge pull request '2023-2-17周上线任务' (#244) from caishi/build:dev_trustie into dev_trustie 2023-02-17 14:56:30 +08:00
caishi cc0ea722fb 周上线 2023-02-17 14:52:02 +08:00
caishi be03f19b7b build 2023-02-13 17:21:05 +08:00
xxq250 ac6cfa8dbb Merge pull request '2023-02-10正式版build上线' (#243) from caishi/build:dev_trustie into dev_trustie 2023-02-10 16:18:04 +08:00
caishi 4632849618 build 2023-02-10 16:12:35 +08:00
caishi d4eed1d8f9 build 2023-02-10 15:51:27 +08:00
caishi 24cea4423e build 2023-02-10 15:05:28 +08:00
caishi d4c758c45b build 2023-02-07 15:44:06 +08:00
caishi 53712707d8 build 2023-02-07 15:40:09 +08:00
caishi 9727a165c8 build 2023-02-07 15:33:53 +08:00
caishi ca7163053b build 2023-02-06 11:54:25 +08:00
xxq250 799856baa1 Merge pull request '2023-2-3正式版build上线' (#242) from caishi/build:dev_trustie into dev_trustie 2023-02-03 16:28:15 +08:00
caishi 388b8c2512 build 2023-02-03 16:23:26 +08:00
caishi 179be48635 update 2023-02-02 15:41:52 +08:00
caishi 29c0a03fba build 2023-01-17 16:15:33 +08:00
xxq250 c87b17e64f Merge pull request '周上线' (#241) from caishi/build:dev_trustie into dev_trustie 2023-01-13 11:58:59 +08:00
caishi 50309b62e8 2023-01-13周上线 2023-01-13 11:51:48 +08:00
caishi 27106233b7 build 2023-01-13 10:56:54 +08:00
caishi 35dc1c5bfd build 2023-01-12 18:59:36 +08:00
caishi f4441f9be0 build 2023-01-11 09:24:02 +08:00
caishi 265b908a7d build 2023-01-10 14:31:40 +08:00
caishi 243d5320fa build 2023-01-09 16:29:04 +08:00
caishi 6581bf0fd3 0106周上线 2023-01-06 17:16:59 +08:00
caishi a60751a689 build 2023-01-06 10:50:40 +08:00
caishi 832acd3ac7 build 2023-01-05 16:27:05 +08:00
caishi 2a4c5754bf build 2023-01-05 13:28:28 +08:00
xxq250 51578f1d2d Merge pull request '临时隐藏reposyncer入口' (#236) from durian/build:dev_trustie into dev_trustie 2023-01-04 15:05:15 +08:00
谢思 1f23fed214 临时隐藏reposyncer入口 2023-01-04 14:57:35 +08:00
xxq250 3597b1579d Merge pull request '针对个人主页简介显示重新发版' (#233) from caishi/build:dev_trustie into dev_trustie 2022-12-30 15:25:33 +08:00
caishi 8c9ccaa01d build-同上 2022-12-30 15:19:00 +08:00
caishi e348081351 build 2022-12-30 13:55:23 +08:00
xxq250 d9816ffbc3 Merge pull request '2022-12-30正式版build上线' (#232) from caishi/build:dev_trustie into dev_trustie 2022-12-30 12:09:42 +08:00
caishi b32620c998 build 2022-12-30 12:04:32 +08:00
caishi bb7801fea8 2022-12-30 2022-12-30 12:03:26 +08:00
caishi d44aa27ecf build 2022-12-29 16:38:28 +08:00
caishi 25046f8564 build 2022-12-29 16:22:31 +08:00
caishi e69e982eac build 2022-12-29 15:48:39 +08:00
caishi 330c6c7c68 手机号码提示 2022-12-29 14:44:16 +08:00
caishi a671990e90 build 2022-12-29 12:03:02 +08:00
xxq250 fe04b415c5 Merge pull request '优化项目css加载、react资源使用cdn等' (#231) from tongChong/build:dev_trustie into dev_trustie 2022-12-28 17:09:18 +08:00
何童崇 8e3431a0f0 优化项目css加载、react资源使用cdn 2022-12-28 16:00:04 +08:00
caishi 2815021fa0 build 2022-12-26 18:13:13 +08:00
caishi 997b0707ab the same 2022-12-26 16:39:37 +08:00
caishi 55a71f52ab 同上 2022-12-26 15:59:59 +08:00
caishi 19f2eb38a0 第三方登录 2022-12-26 15:30:48 +08:00
caishi 677e4ab98f build 2022-12-15 17:05:07 +08:00
caishi 06a8a9a6ff build 2022-12-15 11:27:22 +08:00
caishi 511e56881f build 2022-12-14 15:09:46 +08:00
caishi a65e7a84bc 组织设置为私有 2022-12-13 09:27:29 +08:00
xxq250 e5b118e041 Merge pull request '注册panel的样式影响到登录panel的位置' (#224) from caishi/build:dev_trustie into dev_trustie 2022-12-09 15:26:48 +08:00
caishi 5b03de0e03 build 2022-12-09 15:25:23 +08:00
caishi 6a9cc3d49f register style‘ 2022-12-09 15:23:05 +08:00
xxq250 45af65f8c5 Merge pull request '紧急issue上线' (#223) from caishi/build:dev_trustie into dev_trustie 2022-12-09 15:15:17 +08:00
caishi fd5699bd91 build 2022-12-09 15:11:29 +08:00
caishi 008595b4b4 pull 2022-12-09 14:58:54 +08:00
xxq250 26e1744fc6 Merge pull request '更新' (#222) from durian/build:dev_trustie into dev_trustie 2022-12-09 14:57:45 +08:00
caishi db28710909 register panel position 2022-12-09 14:55:40 +08:00
caishi bb9f537237 third login tip 2022-12-09 14:45:59 +08:00
谢思 73cc144f61 更新 2022-12-09 14:36:50 +08:00
xxq250 baa78782f0 Merge pull request '2021-12-8正式版build上线' (#221) from caishi/build:dev_trustie into dev_trustie 2022-12-08 18:21:42 +08:00
caishi 726e98bd93 20221208 2022-12-08 18:18:24 +08:00
caishi 758d245872 build 2022-12-08 16:44:49 +08:00
caishi 8c03ad4567 新建文件-加密content 2022-12-08 14:55:18 +08:00
caishi 5f7484f10a third login 2022-12-08 14:40:21 +08:00
caishi dcc4dac59f third login 2022-12-08 14:04:11 +08:00
xxq250 536ddef2fb Merge pull request '网页标题修改' (#220) from durian/build:dev_trustie into dev_trustie 2022-12-08 11:47:55 +08:00
谢思 178cb7bb18 网页标题修改 2022-12-08 11:06:23 +08:00
xxq250 09f21b6727 Merge pull request '更新' (#219) from durian/build:dev_trustie into dev_trustie 2022-12-02 15:10:24 +08:00
谢思 40b6bc4d50 代码库文件上传放开文件类型限制 2022-12-02 11:46:53 +08:00
caishi 330e59b9fb issue清除筛选条件 2022-11-30 11:10:05 +08:00
xxq250 53d45699f1 Merge pull request '代码库上传文件限制文件类型' (#217) from durian/build:dev_trustie into dev_trustie 2022-11-29 16:39:41 +08:00
谢思 b557b59748 代码库上传文件限制文件类型 2022-11-29 16:33:17 +08:00
caishi c804601f89 账号管理跳转地址 2022-11-28 10:44:47 +08:00
caishi 8381f58975 build-手机完善弹框 2022-11-28 10:33:49 +08:00
xxq250 28cdb64acd Merge pull request '2022-11-25update' (#214) from caishi/build:dev_trustie into dev_trustie 2022-11-25 16:31:27 +08:00
caishi 19b570beba update 2022-11-25 16:27:26 +08:00
xxq250 c9ead71036 Merge pull request '2022-11-25周上线任务' (#213) from caishi/build:dev_trustie into dev_trustie 2022-11-25 16:16:29 +08:00
caishi 4af7c98daf 20221125 2022-11-25 16:09:12 +08:00
caishi 600b8bf596 empty 2022-11-25 16:08:28 +08:00
caishi ffba080025 chongtu 2022-11-25 16:08:14 +08:00
caishi 7536ee144f save 2022-11-25 16:07:43 +08:00
caishi 982dee626c build 20221125 2022-11-25 16:07:03 +08:00
caishi 265a5d4700 1125周上线任务 2022-11-25 16:01:24 +08:00
caishi 750a1506bf 目录渲染-update 2022-11-24 15:40:17 +08:00
caishi 4792a2c7ff 更改手机号-update 2022-11-24 15:15:59 +08:00
caishi f7c786d506 更改手机号 2022-11-24 15:02:02 +08:00
caishi fb5bd34a24 build 2022-11-23 15:40:28 +08:00
caishi 13b850a3c7 build 2022-11-22 15:18:39 +08:00
caishi 71873f2dd6 build 2022-11-22 15:12:03 +08:00
caishi 06efbb0703 build 2022-11-22 15:00:06 +08:00
caishi 6c344b0741 build 2022-11-22 14:40:05 +08:00
caishi 3ecaa91fa1 build 2022-11-22 14:35:58 +08:00
caishi e1f33efedc build 2022-11-22 14:32:45 +08:00
caishi f236c8512a build 2022-11-22 12:15:26 +08:00
caishi 57c36dd3d4 d 2022-11-22 12:03:33 +08:00
caishi a0f1014b9d build-test 2022-11-22 12:02:29 +08:00
xxq250 773c52645d Merge pull request '修复邀请403问题' (#211) from tongChong/build:dev_trustie into dev_trustie 2022-11-19 15:56:49 +08:00
何童崇 37913a7aff 修复邀请问题 2022-11-19 15:49:28 +08:00
xxq250 1e91090967 Merge pull request '更新' (#209) from durian/build:dev_trustie into dev_trustie 2022-11-17 16:24:25 +08:00
谢思 647b3b606f 更新1117 2022-11-17 16:12:19 +08:00
caishi c76f726142 update last 2022-11-15 10:45:30 +08:00
caishi 7ab2538e1a test 登录后地址错误 2022-11-15 10:35:00 +08:00
caishi b9a14c3b3e test webIDE 2022-11-14 16:39:38 +08:00
caishi 6335e716cb webIDE埋点 2022-11-14 16:26:42 +08:00
xxq250 721ccacf73 Merge pull request '更新' (#208) from durian/build:dev_trustie into dev_trustie 2022-11-11 14:55:31 +08:00
谢思 ed803cab7f 更改 2022-11-11 14:42:17 +08:00
xxq250 e44b7df1ef Merge pull request '更新' (#205) from durian/build:dev_trustie into dev_trustie 2022-11-03 15:34:01 +08:00
谢思 3fe4ffe4d1 更新 2022-11-03 15:19:08 +08:00
xxq250 dd4595bd28 Merge pull request '更新个人设置页以及其他issue' (#200) from durian/build:dev_trustie into dev_trustie 2022-10-28 16:09:52 +08:00
谢思 1e315d10ba 更新个人设置页以及其他issue 2022-10-28 16:02:03 +08:00
xxq250 bfb3fa0b98 Merge pull request 'glcc延长导师评分时间至24号24点' (#197) from durian/build:dev_trustie into dev_trustie 2022-10-24 10:58:53 +08:00
谢思 db26449174 glcc延长导师评分时间至24号24点 2022-10-24 10:50:44 +08:00
yystopf c899f48e7c Merge pull request '应建木要求修改devops样式' (#195) from durian/build:dev_trustie into dev_trustie 2022-10-19 16:22:21 +08:00
谢思 dc05a088b8 应建木要求修改devops页面样式 2022-10-19 16:02:43 +08:00
yystopf 96b4ebbf37 Merge pull request 'pull未合并的代码更新' (#194) from durian/build:dev_trustie into dev_trustie 2022-10-19 15:12:45 +08:00
谢思 1ed878c6a6 pull未合并的代码 2022-10-19 14:58:31 +08:00
xxq250 bdd6770d3f Merge pull request 'glcc学生提交考核材料时间延长至17号' (#193) from durian/build:dev_trustie into dev_trustie 2022-10-14 19:30:44 +08:00
谢思 55ac250a80 glcc学生提交考核材料时间延长至17号 2022-10-14 19:16:57 +08:00
xxq250 f59fea3b8a Merge pull request '更新' (#191) from durian/build:dev_trustie into dev_trustie 2022-10-11 17:16:46 +08:00
谢思 5c953a262d glc 2022-10-11 17:07:19 +08:00
xxq250 eea11428d8 Merge pull request '首页新增banner' (#190) from durian/build:dev_trustie into dev_trustie 2022-10-11 09:43:14 +08:00
谢思 73036739eb 首页新增banner 2022-10-11 09:28:09 +08:00
xxq250 ec293ff555 Merge pull request '更新glcc' (#187) from durian/build:dev_trustie into dev_trustie 2022-09-30 14:46:08 +08:00
谢思 5456938b9e 修改public/index.html文件 2022-09-30 14:38:30 +08:00
谢思 8c0bfc0ffa glcc+issue 2022-09-30 14:29:45 +08:00
xxq250 da8cecffe3 Merge pull request '增加WebIDE' (#182) from tongChong/build:dev_trustie into dev_trustie 2022-09-23 16:29:36 +08:00
何童崇 1546eed445 增加WebIDE 2022-09-23 16:23:53 +08:00
xxq250 5ecd815c8e Merge pull request '新增new提示,回归删除不了其他分支文件、文件路径跳转a标签的问题' (#179) from tongChong/build:dev_trustie into dev_trustie 2022-09-09 10:46:58 +08:00
何童崇 b46960c719 新增new提示,回归删除不了其他分支文件、文件路径跳转a标签的问题 2022-09-09 10:34:01 +08:00
xxq250 1c8fe628df Merge pull request '团队项目批量操作+webhook总数限制调整+跨平台代码同步新建同步分支样式优化' (#178) from durian/build:dev_trustie into dev_trustie 2022-09-08 17:33:08 +08:00
谢思 9575162110 更新环境 2022-09-08 17:24:22 +08:00
xxq250 459402206b Merge pull request 'nps用户调研系统' (#177) from durian/build:dev_trustie into dev_trustie 2022-09-02 16:02:29 +08:00
谢思 e87af7a5f1 nps用户调研系统 2022-09-02 15:58:31 +08:00
caishi 0fbbb8d0b3 build 2022-05-30 14:57:00 +08:00
caishi ee4b291b19 build 2022-05-30 14:04:05 +08:00
caishi 7f310f57d3 pull coder build 2022-05-27 16:06:31 +08:00
caishi fe0fdda129 build 2022-05-27 15:36:46 +08:00
caishi a6971010e7 Update '.trustie-pipeline.yml' 2022-05-27 15:33:59 +08:00
caishi d93b8fae8d create pipeline 2022-05-27 15:33:43 +08:00
caishi 4dc11f2c52 退出仓库-build 2022-05-26 16:33:35 +08:00
caishi ab7c8a9bcd 退出仓库-build 2022-05-26 16:03:00 +08:00
caishi ac922a4647 服务新建成功提示语+激活devops后未跳转到引擎配置 2022-05-26 14:51:25 +08:00
caishi d5f22c34a0 文件列表message只显示第一行的内容 2022-05-23 18:30:48 +08:00
caishi 35571ba7eb build 2022-05-23 17:18:56 +08:00
caishi 97827fa2e5 build 2022-05-23 17:02:45 +08:00
caishi 70d305371a build 2022-05-23 15:42:03 +08:00
caishi f506baa843 build 2022-05-23 15:25:20 +08:00
caishi edffdbbaf5 build 2022-05-23 14:47:12 +08:00
caishi 34afcf73a5 build 2022-05-23 14:40:41 +08:00
caishi aa50f705ee merge 2022-05-20 17:29:14 +08:00
caishi 5c385888e6 build merge he 2022-05-19 18:32:09 +08:00
caishi 5ee1b603a7 laod 2022-05-19 17:15:01 +08:00
caishi 523b8046de laod 2022-05-19 16:16:47 +08:00
caishi ac9ec5db41 laod 2022-05-19 16:06:59 +08:00
caishi e4a95c1776 laod 2022-05-19 16:01:07 +08:00
caishi 7ba3c79cec laod 2022-05-19 15:50:47 +08:00
caishi 6e6a9f9274 pull 何 代码-glcc 2022-05-19 10:41:49 +08:00
caishi 350e2ec77b build 2022-05-19 10:11:18 +08:00
caishi a5f6c4023a build 2022-05-18 17:18:51 +08:00
caishi 1006421f20 build 2022-05-18 17:10:32 +08:00
caishi 8e6e5ef913 build 2022-05-18 17:08:22 +08:00
caishi e13964ce90 build 2022-05-18 16:47:17 +08:00
caishi 04bdd0b72f build 2022-05-18 14:50:01 +08:00
caishi 500b00840f build 2022-05-18 10:53:56 +08:00
caishi 0bf80552f1 build 2022-05-17 14:58:08 +08:00
caishi 9c19b1aa7d build 2022-05-17 14:37:59 +08:00
caishi 9ce70641e1 build 2022-05-17 11:40:36 +08:00
caishi d9b5ca6372 build 2022-05-16 16:52:40 +08:00
caishi d8f380a6e0 build 2022-05-16 16:08:44 +08:00
caishi 6bcbfdd7bb build 2022-05-16 14:38:33 +08:00
caishi 4c3434353a build 2022-05-16 14:29:35 +08:00
caishi b11652b857 build 2022-05-16 11:03:30 +08:00
caishi 18710e6878 build 2022-05-16 10:59:17 +08:00
caishi 7f83efc565 build 2022-05-16 10:09:39 +08:00
caishi ff66dbcf33 build 2022-05-16 10:07:13 +08:00
caishi 0fe836ee7d build-服务 2022-05-16 09:45:00 +08:00
caishi 0abaae8dfb build 2022-05-12 09:17:36 +08:00
caishi 785cf9e704 build-合并请求提交部分增加分页 2022-05-07 16:15:21 +08:00
caishi f5156c4044 build 2022-05-07 14:54:40 +08:00
caishi 71c57e5df2 修改bug 2022-05-07 14:40:11 +08:00
caishi 920aac785f markdown左侧滚动条 2022-05-07 11:25:27 +08:00
caishi 64943c400e build-新建issue报错不清空issue内容 2022-05-07 09:52:25 +08:00
caishi ee995e831e build 2022-05-06 10:18:42 +08:00
caishi f0312d499d build 2022-05-05 16:09:42 +08:00
caishi 0c04ee1603 build 2022-05-05 15:59:21 +08:00
caishi 2be89935ac build 2022-05-05 15:42:59 +08:00
caishi 91337c0fc4 build 2022-05-05 15:38:43 +08:00
caishi bff93af0ec build 2022-05-05 15:15:29 +08:00
caishi 954f91936b build 2022-05-05 09:51:05 +08:00
caishi c6d979956a build 2022-04-29 18:06:42 +08:00
caishi d26e0f4e3a 新建合并请求-分支下拉搜索+个人简介页面(测试请假,代码暂不会提交) 2022-04-29 09:27:32 +08:00
caishi 5dc31407ef build 2022-04-26 17:49:51 +08:00
caishi df52d6361c build 2022-04-21 15:38:26 +08:00
caishi 656957c71a 拖拽上传文件 2022-04-20 17:06:28 +08:00
caishi 0550f96dc9 build 2022-04-08 16:37:11 +08:00
caishi b09d9e2b8b build 2022-04-08 15:11:31 +08:00
caishi 39840e5c84 发行版新建-targe_commit 2022-04-07 18:06:23 +08:00
caishi c385c611bc build 2022-03-31 15:23:30 +08:00
caishi 6f592abb0c build 2022-03-30 16:13:17 +08:00
caishi aff7fe2b62 build 2022-03-30 15:56:56 +08:00
caishi 9ac25f5cf5 build 2022-03-29 09:50:58 +08:00
caishi b95be75f8a build-403\404 2022-03-29 09:47:16 +08:00
caishi 15480d7455 build 2022-03-22 14:32:40 +08:00
caishi 0a9ad3ad74 上传文件-拖动上传文件夹 2022-03-22 11:08:08 +08:00
caishi be6f38098a build 2022-03-22 10:56:54 +08:00
caishi 6d56e2155f build 2022-03-02 10:29:22 +08:00
caishi 32d9f15f54 build 2022-02-24 14:20:50 +08:00
caishi f51c507342 clear 2022-02-24 14:18:08 +08:00
caishi eb430080bc build 2022-02-24 14:17:00 +08:00
xxq250 b8bd81243d create pipeline 2022-02-23 10:54:48 +08:00
caishi 347970fcdf build 2022-02-22 11:25:46 +08:00
caishi ad2e26faca build 2022-02-16 10:36:31 +08:00
caishi f488ecc82c build 2022-02-11 09:54:58 +08:00
caishi 372d63d10f build 2022-02-10 14:05:12 +08:00
caishi f7a6506779 build 2022-01-26 09:55:54 +08:00
caishi 83e35468b9 build 2022-01-21 15:00:47 +08:00
caishi 0c065767d7 build 2022-01-14 15:35:04 +08:00
caishi 06fc50ff28 build 2022-01-14 14:46:40 +08:00
caishi 3cc4a91b50 build 2022-01-14 13:59:52 +08:00
caishi 14443d1078 build 2022-01-14 09:57:13 +08:00
caishi 9b9ffe499b build 2022-01-10 17:49:04 +08:00
caishi d8ced52c45 build 2022-01-07 16:27:08 +08:00
caishi 17c3fca856 build 2022-01-07 16:18:16 +08:00
caishi 904c5d2f99 修改资料页面增加修改头像功能 2022-01-07 10:10:38 +08:00
caishi f7b6f94011 组织添加成员按钮 2022-01-07 09:39:10 +08:00
caishi 2ce24eb963 build 2022-01-06 11:38:35 +08:00
caishi f256fecfe1 build-修改头像弹框关闭不刷新 2022-01-05 11:14:45 +08:00
caishi 2a484c2390 build-头像修改 2022-01-05 10:27:39 +08:00
caishi 5bc01120db build 2021-12-29 16:26:17 +08:00
caishi fbc68043e7 build-notice 2021-12-29 11:36:51 +08:00
caishi c02d37d9a7 build 2021-12-28 15:14:12 +08:00
caishi d91e9f9ae7 update-build 2021-12-28 14:43:33 +08:00
caishi f27bd6c917 build-normal for last 2021-12-28 14:00:06 +08:00
caishi c1521f8380 build-pr的地址转义 2021-12-28 13:49:26 +08:00
caishi 28e83ab41a build 2021-12-27 16:34:31 +08:00
caishi b5412ca5ee build 2021-12-27 14:24:50 +08:00
caishi bdf2a8692b build-基本资料非必填 2021-12-24 14:34:09 +08:00
caishi 56b52c91a4 build 2021-12-23 11:13:06 +08:00
caishi 79d6ff4fad build-% 2021-12-23 09:58:00 +08:00
caishi d76a21c117 build-分支特殊字符 2021-12-22 18:27:58 +08:00
caishi b0a18d4a73 build 2021-12-22 15:43:36 +08:00
caishi d4a119c88b build 2021-12-22 14:48:28 +08:00
caishi ee400bcc6c build-列表筛选 2021-12-21 14:23:40 +08:00
caishi 9b99c99a57 build 2021-12-20 17:39:11 +08:00
caishi a1aff3e434 build 2021-12-20 17:16:32 +08:00
caishi 693c5ea62b build 2021-12-20 16:20:57 +08:00
caishi 241e82bfed build 2021-12-17 15:46:57 +08:00
caishi bb2b120ac0 build 2021-12-17 09:40:19 +08:00
caishi e39479bb99 build 2021-12-16 16:17:30 +08:00
caishi 64efcb7ec6 build 2021-12-16 16:12:33 +08:00
caishi 82e91a6298 build 2021-12-16 14:14:01 +08:00
caishi fc95534934 build 2021-12-13 16:11:15 +08:00
caishi 49fd15c4ee build 2021-12-09 17:30:52 +08:00
caishi 853a1e2f67 build 2021-12-09 16:01:11 +08:00
caishi 0d8a06834f build 2021-12-09 15:24:07 +08:00
caishi 121b19a721 build 2021-12-09 11:42:49 +08:00
caishi 2d0210f358 build 2021-12-09 11:25:25 +08:00
caishi 265d546943 build 2021-12-09 11:06:22 +08:00
caishi 16fc863467 build 2021-12-09 09:59:22 +08:00
caishi 049959a922 项目首页增加搜索功能 2021-12-08 10:10:47 +08:00
caishi a3dcd7b57f build 2021-12-07 17:26:13 +08:00
caishi 75bcc386da build 2021-12-07 15:53:00 +08:00
caishi 557e42c556 build 2021-12-03 10:50:26 +08:00
caishi b1e9b522f1 build 2021-12-02 16:25:48 +08:00
caishi fac80f90e6 build 2021-12-01 17:45:01 +08:00
caishi 21beb3dfe2 build 2021-12-01 17:39:05 +08:00
caishi 56c9fd8a46 build 2021-12-01 17:33:50 +08:00
caishi 51630774a7 build 2021-12-01 17:31:18 +08:00
caishi f61e33e070 build 2021-12-01 17:27:30 +08:00
caishi bcfe3156bd build 2021-12-01 17:19:55 +08:00
caishi 3f5ad16d3f build 2021-12-01 10:58:35 +08:00
caishi d92bbd4564 build 2021-12-01 10:47:39 +08:00
caishi 3e09a77333 build 2021-12-01 09:19:41 +08:00
caishi 166643638f build 2021-11-30 18:39:31 +08:00
caishi d04ea3d11e build 2021-11-30 18:10:59 +08:00
caishi d172e57dfe build 2021-11-30 17:47:53 +08:00
caishi 9d3c9b71c6 build 2021-11-30 17:02:22 +08:00
caishi f2011af4f0 build 2021-11-30 15:53:08 +08:00
caishi 4bbb0adaca build 2021-11-30 15:35:42 +08:00
caishi 607a1842c9 build 2021-11-30 14:45:57 +08:00
caishi fe3bd67a09 build 2021-11-30 14:18:58 +08:00
caishi 72ae77cc73 build 2021-11-30 11:30:01 +08:00
caishi cac4cf5522 build 2021-11-30 11:15:48 +08:00
caishi 645a353279 build 2021-11-30 09:52:19 +08:00
caishi 44da2736eb build 2021-11-30 09:50:38 +08:00
caishi c840badb18 build 2021-11-29 16:28:03 +08:00
caishi 60a98bd746 build 2021-11-29 14:34:34 +08:00
caishi d33ac0a0e3 build 2021-11-29 14:20:45 +08:00
caishi 32c25c66a8 build 2021-11-29 10:56:12 +08:00
caishi 04d765ca98 build 2021-11-29 09:57:23 +08:00
caishi 25ebe2c6ff biuld 2021-11-26 14:31:25 +08:00
caishi b4711152f8 build-整合关于我们,合并develop 2021-11-26 14:11:46 +08:00
caishi b23be849b0 build-hucong about 2021-11-25 09:55:56 +08:00
caishi 563a977c91 build 2021-11-23 16:43:53 +08:00
caishi 6f811db5c8 build 2021-11-19 17:31:15 +08:00
caishi 13f056a7f8 build 2021-11-19 14:32:29 +08:00
caishi 7f58f5e5b6 build 2021-11-19 14:30:31 +08:00
caishi 17023d3a27 build 2021-11-19 13:50:47 +08:00
caishi e84f2d3a50 build 2021-11-19 10:20:59 +08:00
caishi 819ec6546b build 2021-11-19 09:49:18 +08:00
caishi aa511cc926 build 2021-11-18 17:27:06 +08:00
caishi c00b2a6fa1 build 2021-11-18 14:01:42 +08:00
caishi b7d49fc8e5 build 2021-11-16 15:58:09 +08:00
caishi e2aed7fd3b build 2021-11-11 15:37:21 +08:00
caishi ff738f1d38 build 2021-11-11 14:22:28 +08:00
caishi a5f0b0cd15 build 2021-11-11 13:41:11 +08:00
caishi 7c3a36afff build 2021-11-11 12:12:24 +08:00
caishi 83ac56ba84 build 2021-11-11 10:21:52 +08:00
caishi 158bf8eb30 build 2021-11-11 10:04:30 +08:00
caishi a0ebfb7f37 build 2021-11-10 17:52:48 +08:00
caishi 150447c8fb build 2021-11-10 14:47:22 +08:00
caishi 31d79bfd3d build 2021-11-10 11:41:53 +08:00
caishi 79effd48f4 build 2021-11-10 11:03:24 +08:00
caishi 2e6d1fad46 build 2021-11-10 10:16:42 +08:00
caishi 9a74f0bf74 build 2021-11-09 16:14:27 +08:00
caishi 46e19fb33e build 2021-11-09 15:46:46 +08:00
caishi 3438cbb7ad build 2021-11-09 14:46:37 +08:00
caishi 8cd9ddb510 build 2021-11-09 14:23:46 +08:00
caishi d0155ed7ec build 2021-11-09 11:08:53 +08:00
caishi 7eb920c6be build 2021-11-09 10:52:40 +08:00
caishi 79f459a8c8 build 2021-11-09 10:02:35 +08:00
caishi b321d529c8 build 2021-11-09 09:54:01 +08:00
caishi 6fa071d2e1 build 2021-11-08 15:22:39 +08:00
caishi 6416276521 build 2021-11-03 16:40:25 +08:00
caishi 31ab3eeb2a build 2021-11-03 16:17:50 +08:00
caishi f656917656 build 2021-11-03 15:50:25 +08:00
caishi a20b132542 build 2021-11-03 15:29:22 +08:00
caishi aa1dc81707 build 2021-11-02 11:52:10 +08:00
caishi edfd2503c5 build 2021-11-02 10:06:06 +08:00
caishi ed93411da1 build 2021-11-01 14:20:42 +08:00
caishi 47f351eee5 build 2021-10-29 18:24:25 +08:00
caishi a14fc174ad build 2021-10-29 16:38:11 +08:00
caishi 1a6cdd0898 build 2021-10-29 16:31:54 +08:00
caishi ca68ee03c4 build 2021-10-29 14:58:37 +08:00
caishi 22a14dce27 build 2021-10-29 14:27:10 +08:00
caishi 307709c3c3 build 2021-10-29 14:23:04 +08:00
caishi a370307f31 build 2021-10-29 14:19:24 +08:00
caishi c9e7d23f00 build 2021-10-29 12:02:33 +08:00
caishi 35052b9f9e build 2021-10-29 10:08:24 +08:00
caishi b8f23fddb3 build 2021-10-29 10:03:23 +08:00
caishi 8118ff6a7b build 2021-10-29 09:28:51 +08:00
caishi 1b377e371e build 2021-10-28 18:43:45 +08:00
caishi b4f06f5895 build 2021-10-28 16:42:07 +08:00
caishi 130d258e7c build 2021-10-28 16:18:34 +08:00
caishi 2589833823 build 2021-10-28 14:23:59 +08:00
caishi 529da4802b build-项目首页 2021-10-28 13:54:01 +08:00
caishi 1901d1f388 build 2021-10-28 09:33:27 +08:00
caishi baade25885 build 2021-10-26 09:43:52 +08:00
caishi 9aec27230e build 2021-10-25 11:41:09 +08:00
caishi cbad7cc8ab build 2021-10-21 10:42:03 +08:00
caishi a47798948a build 2021-10-20 16:18:36 +08:00
caishi f36f8fc75d build 2021-10-20 15:23:48 +08:00
caishi da044d3925 build 2021-10-20 10:50:49 +08:00
caishi 0258f3d6ee build 2021-10-18 17:11:51 +08:00
caishi 95b6cbf5a7 build 2021-10-18 16:16:54 +08:00
caishi f2df1a3ed4 build 2021-10-18 15:53:34 +08:00
caishi f6ab47daf5 build 2021-10-18 13:37:30 +08:00
caishi 3d53f93870 build 2021-10-18 11:32:29 +08:00
caishi 6bb607b9d1 build 2021-10-18 11:19:28 +08:00
caishi 12cb85fa8f build 2021-10-15 15:19:43 +08:00
caishi cd04faf8aa build 2021-10-15 14:35:33 +08:00
caishi 79ec5291f8 build 2021-10-15 14:07:03 +08:00
caishi 14c9838285 build 2021-10-15 11:01:04 +08:00
caishi d701cbde63 build 2021-10-14 15:11:36 +08:00
caishi 9c7a19ecf3 build 2021-10-14 14:24:46 +08:00
caishi 146ed9e3e3 build 2021-10-14 14:20:43 +08:00
caishi dd43af6de6 build 2021-10-13 18:24:30 +08:00
caishi e2ddc4cdeb build 2021-10-13 18:09:49 +08:00
caishi a2767d967c build 2021-10-12 18:03:52 +08:00
caishi 6fa7a75a9f build 2021-10-12 17:30:29 +08:00
caishi 0e49f63d68 build 2021-10-12 17:23:14 +08:00
caishi 021e3a4a74 build 2021-10-12 11:56:39 +08:00
caishi 85fa3e4060 build 2021-10-12 11:51:07 +08:00
caishi c4fef9ce07 build 2021-10-12 11:09:09 +08:00
caishi 6906397a16 build 2021-10-11 20:05:36 +08:00
caishi e5a9484694 build 2021-10-11 19:52:31 +08:00
caishi 7604ad2da3 build 2021-10-11 18:34:29 +08:00
caishi 117f85be86 build 2021-10-11 18:15:03 +08:00
caishi aa93513089 build 2021-10-11 17:27:29 +08:00
caishi 206dcd3701 build 2021-10-09 18:07:05 +08:00
caishi a3d8e68e4c biuld 2021-10-09 17:46:54 +08:00
caishi a1ffa443ec build 2021-10-09 17:04:09 +08:00
caishi 0fe70cb177 build 2021-10-09 16:44:22 +08:00
caishi a1c7d7d592 build 2021-10-09 16:22:35 +08:00
caishi 233393cd0d build 2021-10-09 15:45:57 +08:00
caishi e75927a0a2 build 2021-10-09 15:37:08 +08:00
caishi e6cbb62dd2 build 2021-10-09 15:14:56 +08:00
caishi f1e879f28d build 2021-10-09 14:56:46 +08:00
caishi 019baee2e0 build 2021-10-09 13:40:06 +08:00
caishi 59fefda668 build 2021-10-09 10:26:06 +08:00
caishi 62f33e9263 build 2021-10-09 10:22:02 +08:00
caishi c3f5be07d5 build 2021-10-08 18:46:41 +08:00
caishi 48b52b005b build 2021-10-08 18:13:44 +08:00
caishi 3aa27dd17b build 2021-10-08 17:34:23 +08:00
caishi 1fb7764023 build 2021-10-08 15:49:33 +08:00
caishi 510cf462e9 build 2021-10-08 14:21:40 +08:00
caishi 8f5b2eea95 build 2021-10-08 14:13:05 +08:00
caishi be0a4996d1 build 2021-10-08 11:05:04 +08:00
caishi 3ab2e225e1 build 2021-10-08 10:14:58 +08:00
caishi 1094c6e8ae build 2021-09-30 21:27:12 +08:00
caishi 8e5f22c2fa build 2021-09-30 14:29:49 +08:00
caishi 355b856b43 build 2021-09-30 13:41:32 +08:00
caishi b027ded830 build 2021-09-29 19:40:06 +08:00
caishi 08d0c63af7 build 2021-09-29 08:40:15 +08:00
caishi d1f20c3581 build 2021-09-27 18:40:11 +08:00
caishi 1e81a29086 build 2021-09-27 16:27:36 +08:00
caishi e5b61faee1 build 2021-09-27 16:23:43 +08:00
caishi 303a94f0cb build 2021-09-26 17:37:23 +08:00
caishi b1cd74ff13 build 2021-09-26 11:45:26 +08:00
caishi 999dcb4335 build-gitlink首页 2021-09-24 18:23:16 +08:00
caishi c997f73403 build 2021-09-16 18:10:39 +08:00
caishi accca0153e build 2021-09-10 18:28:16 +08:00
caishi bd6a2967a1 build 2021-09-10 15:48:39 +08:00
caishi 9d9208a386 build 2021-09-10 15:43:04 +08:00
caishi b50ba7e6af build 2021-09-10 15:16:48 +08:00
caishi 7797b1f58e build 2021-09-10 11:57:06 +08:00
caishi 2ecc794a97 build 2021-09-10 11:46:39 +08:00
caishi 480727e8d6 build 2021-09-10 10:48:09 +08:00
caishi 66a69c94b6 build 2021-09-10 10:34:40 +08:00
caishi 21acbe4a64 build 2021-09-10 10:13:02 +08:00
caishi 1e0c86bdfe build 2021-09-09 17:22:23 +08:00
caishi 38851b3523 build 2021-09-08 18:16:34 +08:00
caishi 3324207995 build 2021-09-07 15:18:55 +08:00
caishi 98aec3db93 build 2021-09-07 14:01:10 +08:00
caishi 673e60e547 build 2021-09-07 11:37:43 +08:00
caishi 2e83ff07cb build 2021-09-03 19:05:21 +08:00
caishi 65de4c8d03 build 2021-09-03 18:53:08 +08:00
caishi 90925af965 build-正式版代码-测试版测试 2021-09-03 18:16:52 +08:00
caishi 6b6a59877b build 2021-09-03 17:44:27 +08:00
caishi 7ee4f27759 build 2021-09-03 17:03:37 +08:00
caishi b15e56ead8 build 2021-09-03 16:54:28 +08:00
caishi 680ff65a55 build 2021-09-03 16:27:24 +08:00
caishi ca6f70c41d build 2021-09-03 15:42:32 +08:00
caishi de803786f0 build 2021-09-03 15:16:59 +08:00
caishi 5be9ab54bb build 2021-09-03 14:54:30 +08:00
caishi 51efe1aa09 build 2021-09-02 16:41:36 +08:00
caishi 822e5c05f6 build 2021-09-02 15:05:51 +08:00
caishi 9f452bce9c build 2021-09-02 14:19:42 +08:00
caishi 4bdd8fa19a build 2021-09-02 10:18:16 +08:00
caishi 6d4b641c00 build-路由修改+完善资料弹框+基本资料页面路由 2021-09-01 18:19:47 +08:00
caishi 81f18061b4 build-hucong-issues 2021-08-31 09:58:51 +08:00
caishi 0ae97b1309 build 2021-08-30 16:52:58 +08:00
caishi 818f75fcb6 build 2021-08-27 14:02:55 +08:00
caishi 3d014ca9ec build 2021-08-27 11:45:19 +08:00
caishi 62f9444a2f build 2021-08-27 09:54:15 +08:00
caishi 39a8dcdef9 build 2021-08-26 18:16:13 +08:00
caishi f039489179 build 2021-08-26 17:42:03 +08:00
caishi ab9d04c944 build 2021-08-25 15:53:53 +08:00
caishi 6d69a351e7 build 2021-08-25 13:58:08 +08:00
caishi 177db3b4d6 build-quanxian 2021-08-25 11:30:19 +08:00
caishi 8462f88c17 build 2021-08-25 11:28:42 +08:00
caishi baaf2565f5 build-团队权限设置 2021-08-25 11:26:05 +08:00
jasder 6380c4fd35 Merge pull request '组织团队(新增和设置)权限-build' (#1) from caishi/build:dev_chain into dev_chain 2021-08-24 18:31:44 +08:00
caishi 90165ca56c 团队设置-build 2021-08-24 18:19:15 +08:00
何童崇 f9bc8fb733 优化组件,修改展示名称 2021-08-23 10:23:58 +08:00
何童崇 060100d76e 优化组件,修改展示名称 2021-08-23 10:19:56 +08:00
caishi 804b86be6d build 2021-08-23 10:14:02 +08:00
何童崇 d8a1c7e562 兼容 2021-08-19 17:04:35 +08:00
何童崇 d92eb796cf 微调正则 2021-08-19 15:16:56 +08:00
何童崇 7f741a0259 微调样式 2021-08-19 13:53:49 +08:00
何童崇 24d568fb08 重新rebase自pre_develop 2021-08-19 11:03:05 +08:00
何童崇 5fc313d826 重新rebase自pre_develop 2021-08-19 10:52:35 +08:00
何童崇 af171df8b2 修改正则 2021-08-19 09:36:42 +08:00
何童崇 7fdf83e0db 修改bug 2021-08-18 19:16:03 +08:00
何童崇 d5e0c2b2fe 修改bug 2021-08-18 18:41:36 +08:00
何童崇 789281f6b8 修改websocket 2021-08-18 17:28:54 +08:00
何童崇 0d6ffd6876 修改websocket 2021-08-18 13:30:01 +08:00
何童崇 7d07543643 修改websocket 2021-08-18 13:04:13 +08:00
何童崇 88c71e89a1 修改websocket 2021-08-18 11:37:07 +08:00
何童崇 eb1302d85c 修改样式websocket 2021-08-18 10:53:38 +08:00
何童崇 8de43e9c98 修改样式 2021-08-18 09:00:40 +08:00
何童崇 09356eaf90 修改样式 2021-08-17 20:02:18 +08:00
何童崇 eb96c4c00e 修改指向路径 2021-08-17 17:00:29 +08:00
何童崇 c6a6b6d92c 修改样式等 2021-08-17 16:37:16 +08:00
何童崇 48bc325805 修改样式等 2021-08-17 16:19:00 +08:00
何童崇 ded4821f88 修改传值 2021-08-17 13:12:18 +08:00
何童崇 59985f47dd 修改bug 2021-08-16 19:48:17 +08:00
何童崇 a4d05df02c 修改bug 2021-08-16 17:35:23 +08:00
何童崇 8a1c371965 修改bug 2021-08-16 17:14:25 +08:00
何童崇 ffd43cb7d6 修改bug 2021-08-16 14:51:18 +08:00
何童崇 6595af2422 合并代码并上传 2021-08-16 13:33:07 +08:00
何童崇 64b6f5e857 合并代码并上传 2021-08-13 17:35:27 +08:00
何童崇 f28da8b985 上传wiki代码 2021-08-13 16:56:48 +08:00
何童崇 1ab8c43b0a 上传wiki 2021-08-13 11:24:49 +08:00
何童崇 f392e9c6af 上传wiki代码 2021-08-12 18:04:56 +08:00
何童崇 ab9a503af3 上传wiki代码 2021-08-12 17:37:01 +08:00
caishi 5e83a47704 build 2021-08-12 15:59:42 +08:00
caishi 171a436c12 build 2021-08-12 15:31:30 +08:00
caishi 98316f9c3c build 2021-08-12 15:28:37 +08:00
何童崇 fb1f1925d1 上传wiki前端测试代码 2021-08-12 14:30:42 +08:00
caishi 06fc0a171b build 2021-08-09 11:48:03 +08:00
caishi 8f797d136a build 2021-08-06 14:46:58 +08:00
caishi db08f743d8 build 2021-08-06 14:09:11 +08:00
caishi 9637345009 build 2021-08-06 10:06:12 +08:00
caishi bfb56ff4e4 build 2021-08-05 16:52:45 +08:00
caishi b97926838e build 2021-08-05 16:47:00 +08:00
caishi 7493416987 build 2021-08-05 14:35:11 +08:00
caishi 3d3b7152fc build 2021-08-05 13:46:11 +08:00
caishi a54599530c build 2021-08-05 11:57:09 +08:00
caishi 63d3a88cfc build 2021-08-05 11:40:49 +08:00
caishi 6499b985ee build 2021-08-05 11:14:33 +08:00
caishi fba71b8fd6 build 2021-08-05 10:31:10 +08:00
caishi 24ec304725 build 2021-08-04 17:12:09 +08:00
caishi cde723711b build 2021-08-03 17:36:54 +08:00
caishi 46b09351f0 build 2021-08-02 18:30:55 +08:00
caishi 3e927ba4e4 build 2021-08-02 14:28:07 +08:00
caishi 5ad351cfb8 build 2021-08-02 11:11:32 +08:00
caishi 7f866dce46 build 2021-08-02 10:34:10 +08:00
caishi ebf433ac20 build 2021-08-02 10:15:45 +08:00
caishi 9caf07f0a9 build 2021-07-30 20:12:24 +08:00
caishi c7b7bbcce3 build 2021-07-30 20:06:28 +08:00
caishi 5b0941f86a build 2021-07-30 17:43:59 +08:00
caishi 0c38a7a2c8 build 2021-07-30 16:32:12 +08:00
caishi 60e2f3de79 build 2021-07-30 14:42:43 +08:00
caishi ba13d59ddd build 2021-07-30 11:34:58 +08:00
caishi a567d3eb76 build 2021-07-30 11:25:21 +08:00
caishi b4733b31d3 build 2021-07-29 17:55:49 +08:00
caishi 4944a3f151 build 2021-07-29 16:31:12 +08:00
caishi 265a4fb617 build 2021-07-29 10:10:48 +08:00
caishi baaaaa9bec build 2021-07-28 18:36:41 +08:00
caishi cb58da33e5 build 2021-07-28 18:33:10 +08:00
caishi 5ca48a8e7e build 2021-07-28 18:23:33 +08:00
caishi 45ad4a1e97 build 2021-07-28 17:27:21 +08:00
caishi 1586d79330 build 2021-07-28 11:31:12 +08:00
caishi 21d7a1640d build 2021-07-28 10:35:19 +08:00
caishi 771300c7b3 build 2021-07-28 10:28:27 +08:00
caishi 515700f05f build 2021-07-26 09:56:45 +08:00
caishi 756749f76a build 2021-07-26 09:36:31 +08:00
caishi 2685bcac78 build 2021-07-26 09:33:01 +08:00
caishi a4ef7ff5b3 build 2021-07-22 16:00:06 +08:00
caishi 48a5fa1d64 build 2021-07-22 15:46:07 +08:00
caishi a1c037d2f4 build 2021-07-22 14:07:37 +08:00
caishi c74b54116d build 2021-07-22 13:59:15 +08:00
caishi 211a41badc build 2021-07-22 09:51:59 +08:00
caishi ed1bc634df build 2021-07-21 09:47:35 +08:00
caishi 7932c7c5ff build 2021-07-13 10:40:58 +08:00
caishi c172b3d267 build 2021-07-13 09:58:59 +08:00
caishi e379fdfdb4 build 2021-07-12 18:22:56 +08:00
caishi db0df79005 build 2021-07-12 11:03:42 +08:00
caishi 79b949a9eb build 2021-07-09 18:06:54 +08:00
caishi 1955d1ec5c build 2021-07-09 16:49:07 +08:00
caishi e278695a50 build 2021-07-09 11:29:35 +08:00
caishi 46c67000f1 build 2021-07-07 11:16:51 +08:00
caishi 1048c5dcec build 2021-07-06 14:42:28 +08:00
caishi c45f9bc8d1 build 2021-07-05 20:34:45 +08:00
caishi f729eb3e7a build 2021-07-05 15:10:47 +08:00
caishi 5061ba52ae build 2021-07-02 18:18:03 +08:00
caishi 3a0fbb87a3 build 2021-07-02 15:36:10 +08:00
caishi 8dccb78a8e build 2021-07-01 16:46:39 +08:00
caishi a28060847c build 2021-07-01 15:43:22 +08:00
caishi f1d4ce5580 build 2021-07-01 13:57:14 +08:00
caishi efaf849b1c build 2021-07-01 11:01:03 +08:00
caishi 274dbe9a63 build 2021-06-30 10:34:24 +08:00
caishi d285acc24b build 2021-06-29 18:34:34 +08:00
caishi abf5d28bac build 2021-06-29 18:20:10 +08:00
caishi 815a52abbc build 2021-06-29 17:32:51 +08:00
caishi 10068cd730 build 2021-06-29 11:16:02 +08:00
caishi 0d3b8ee265 build 2021-06-25 18:33:07 +08:00
caishi 7b2200f88a build 2021-06-25 18:05:48 +08:00
caishi c61cf170f4 build 2021-06-25 16:41:14 +08:00
caishi 861ba1e6fe build 2021-06-25 14:42:47 +08:00
caishi 315fc69ef5 build 2021-06-25 14:08:34 +08:00
caishi 76b4764406 build 2021-06-22 10:23:54 +08:00
caishi c07d067a03 build 2021-06-21 17:57:18 +08:00
caishi e0c44485a5 build 2021-06-21 10:07:29 +08:00
caishi af913bca93 build 2021-06-18 16:53:03 +08:00
caishi e5f31b9920 build 2021-06-18 14:40:56 +08:00
caishi 820ba9e4ca build 2021-06-18 10:50:16 +08:00
caishi b6102401d6 build 2021-06-18 09:49:51 +08:00
caishi 19bb3bfee6 build 2021-06-17 16:44:13 +08:00
caishi 462eaf20e1 build 2021-06-16 17:47:21 +08:00
caishi e2a8f7c98e build 2021-06-16 15:50:13 +08:00
caishi 7fcbcf60f8 build 2021-06-15 09:38:45 +08:00
caishi 7316b1cb6d build 2021-06-11 15:44:31 +08:00
caishi 09f1af6203 build 2021-06-11 11:45:20 +08:00
caishi 01340f6f61 build 2021-06-11 11:03:49 +08:00
caishi 1ad5353fb1 build 2021-06-11 09:41:15 +08:00
caishi b4fc287ef9 build 2021-06-10 15:01:29 +08:00
caishi 1a0f5e0394 build 2021-06-09 11:12:18 +08:00
caishi af5da36819 build 2021-06-08 15:13:00 +08:00
caishi 6dcd5c7ea6 build 2021-06-08 14:12:27 +08:00
caishi 7e20ab66ee build 2021-06-08 10:47:28 +08:00
caishi 56241056b7 build 2021-06-07 18:11:19 +08:00
caishi ea3662b1de build 2021-06-07 11:16:23 +08:00
caishi 663cf563cf build 2021-06-04 19:08:56 +08:00
caishi 97828b9b5d build 2021-06-04 18:37:18 +08:00
caishi 3826b654d4 build 2021-06-04 17:21:01 +08:00
caishi 28b632dce1 build 2021-06-04 16:32:24 +08:00
caishi bf964a5677 build 2021-06-04 14:30:33 +08:00
caishi 397a32b250 build 2021-06-04 13:59:59 +08:00
caishi 2be5278b6e build 2021-06-04 11:18:46 +08:00
caishi c5110db5e1 build 2021-06-04 10:57:42 +08:00
caishi 4cd12b26e9 build 2021-06-04 10:46:22 +08:00
caishi 8830b234f8 build 2021-06-04 09:50:30 +08:00
caishi a969c26d0b build 2021-06-04 09:47:39 +08:00
caishi 476ac64ad0 build 2021-06-03 18:01:47 +08:00
caishi 3720e3d362 build 2021-06-02 18:26:49 +08:00
caishi a652f7b143 build 2021-06-02 14:15:17 +08:00
caishi 467e39c7a7 build 2021-06-02 11:42:47 +08:00
caishi 940e5c9ed3 build 2021-06-02 11:10:05 +08:00
caishi 6f13de1e9e build 2021-06-02 09:43:31 +08:00
caishi 31f7ba6a94 build 2021-06-01 17:34:22 +08:00
caishi 7e23899933 build 2021-05-31 18:40:28 +08:00
caishi 101e7eef7d build 2021-05-31 17:47:47 +08:00
caishi 5fb97bdf3a build 2021-05-26 16:41:17 +08:00
caishi 30485cf711 build 2021-05-26 16:27:27 +08:00
caishi 0744c1e0f4 build 2021-05-26 16:00:20 +08:00
caishi 72c367f643 build 2021-05-26 15:23:24 +08:00
caishi 0926da14aa build 2021-05-25 10:04:43 +08:00
caishi caa16ec3fe build 2021-05-21 19:09:19 +08:00
caishi ed80f649c8 build 2021-05-21 18:57:38 +08:00
caishi 5804a80d62 build 2021-05-21 16:45:08 +08:00
caishi e2948bb988 build 2021-05-14 17:02:55 +08:00
caishi 43888ffd24 build 2021-05-14 14:44:44 +08:00
caishi ebcc0cb88e build 2021-05-14 11:40:54 +08:00
caishi fcf3028ee4 build 2021-05-08 16:24:25 +08:00
caishi d22d89dae0 build 2021-05-08 16:11:01 +08:00
caishi 10f6fb0e28 build 2021-05-08 14:33:03 +08:00
caishi 3fe80b09a2 build 2021-05-07 17:38:58 +08:00
caishi 51af415e77 build 2021-05-07 16:50:42 +08:00
caishi c5d53d7b0a build 2021-05-07 16:39:41 +08:00
caishi cd73067bc6 build 2021-05-06 18:27:17 +08:00
caishi 49c82a9d26 build 2021-05-06 17:41:24 +08:00
caishi ba2d0e8c2c build 2021-04-28 20:22:14 +08:00
caishi c096bd9914 build 2021-04-27 18:41:48 +08:00
caishi 004ce356d1 build 2021-04-27 18:31:26 +08:00
caishi 2b0f395e3f build 2021-04-27 18:18:39 +08:00
caishi 935da12c5b build 2021-04-27 17:47:24 +08:00
caishi af0bf4aa50 build 2021-04-27 17:14:10 +08:00
caishi 6816456612 build 2021-04-27 15:03:01 +08:00
caishi de9e883f2a build 2021-04-27 13:54:07 +08:00
caishi 45ec99bbc5 build 2021-04-26 17:38:24 +08:00
caishi 8b3e41b55e build 2021-04-26 16:35:37 +08:00
caishi d298151f12 build 2021-04-26 15:08:44 +08:00
caishi f54aec2fb9 build 2021-04-26 15:04:54 +08:00
caishi 1a8f10b7bf build 2021-04-25 17:48:35 +08:00
caishi 6dfb897556 build 2021-04-23 18:03:34 +08:00
caishi d171a91981 build 2021-04-23 14:52:22 +08:00
caishi f10250445b build 2021-04-23 14:45:31 +08:00
caishi 9fd2aa44b7 build 2021-04-23 14:15:07 +08:00
caishi 7e5a9a2489 build 2021-04-23 12:00:27 +08:00
caishi b27bc0b1a6 build 2021-04-23 11:51:10 +08:00
caishi dd76bc4d0d build 2021-04-23 11:15:59 +08:00
caishi a8f99b48ed build 2021-04-22 11:05:47 +08:00
caishi c01c4dc173 build 2021-04-21 16:54:00 +08:00
caishi 9b74cf397d build 2021-04-21 16:03:15 +08:00
caishi 4d6cf34015 build-底部 2021-04-21 15:46:32 +08:00
caishi ab75563daa build 2021-04-20 15:32:51 +08:00
caishi a917d6dd1d build 2021-04-20 11:16:27 +08:00
caishi 2fe559009e build 2021-04-20 10:55:41 +08:00
caishi 97b63e0df6 build 2021-04-20 10:28:27 +08:00
caishi 739ce8b537 build 2021-04-20 09:35:29 +08:00
caishi 7ecb0ec093 build 2021-04-19 20:01:09 +08:00
caishi 2b820d86b0 build 2021-04-19 19:55:44 +08:00
caishi 72c016013a build 2021-04-19 19:39:00 +08:00
caishi ee321a847b build 2021-04-19 18:21:08 +08:00
caishi ba8edf20e6 build 2021-04-19 18:10:43 +08:00
caishi 7eb9177fd9 build 2021-04-19 16:57:51 +08:00
caishi 842c696b17 build 2021-04-19 11:54:32 +08:00
caishi 22f21f31e8 build 2021-04-19 11:01:09 +08:00
caishi 56dfbe1067 build 2021-04-19 10:36:45 +08:00
caishi d656922ae3 build 2021-04-19 09:54:41 +08:00
caishi f712f42466 build 2021-04-19 09:51:05 +08:00
caishi fb386211a2 build 2021-04-13 17:20:29 +08:00
caishi c26d899606 build 2021-04-13 11:51:44 +08:00
caishi 3cc3546718 build 2021-04-09 14:14:52 +08:00
caishi 42e1892225 build 2021-04-08 15:38:02 +08:00
caishi ce48367a7d build 2021-04-08 14:24:11 +08:00
caishi eb5ee49cec build 2021-04-08 13:41:28 +08:00
caishi a93b757330 build 2021-04-08 11:49:04 +08:00
caishi 18b28e4cc9 build 2021-04-07 18:43:27 +08:00
caishi a6c72f23ec build 2021-04-06 18:41:23 +08:00
caishi bf620f80c0 build 2021-04-06 17:41:07 +08:00
caishi 5875b3dc19 build 2021-04-06 17:18:12 +08:00
caishi 464cc29338 build 2021-04-06 13:59:46 +08:00
caishi 85f5b9964b build 2021-04-02 18:54:30 +08:00
caishi 2cddf02997 build 2021-04-02 18:44:25 +08:00
caishi b4ad68f3cf build 2021-04-02 18:28:00 +08:00
caishi de9969ab3a build 2021-04-02 14:14:48 +08:00
caishi 3476c155c0 build 2021-04-02 11:59:05 +08:00
caishi ee89061beb build 2021-04-01 19:04:39 +08:00
caishi a4abc8de98 build 2021-04-01 18:34:10 +08:00
caishi 72a5c56c2b build 2021-04-01 16:31:12 +08:00
caishi 51a8d7ede9 build 2021-03-31 17:16:43 +08:00
caishi 4224698af9 build 2021-03-30 15:31:27 +08:00
caishi 8722fa4de9 build 2021-03-29 17:42:29 +08:00
caishi 66c04f3e8d build 2021-03-25 22:08:05 +08:00
caishi 17c3348fc6 build 2021-03-25 21:59:17 +08:00
caishi 29267487df build 2021-03-25 14:40:00 +08:00
caishi 0a1c63edd4 build 2021-03-24 14:09:22 +08:00
caishi 09841f7bcc build 2021-03-23 17:59:35 +08:00
caishi dde8603c6c build 2021-03-23 17:41:20 +08:00
caishi b8b34959a9 build 2021-03-23 17:30:45 +08:00
caishi aa42fd835f build 2021-03-23 09:21:22 +08:00
caishi 080f025133 build 2021-03-22 11:26:01 +08:00
caishi 21bbe62343 build 2021-03-22 09:54:14 +08:00
caishi 8dc87555e4 build 2021-03-19 17:21:27 +08:00
caishi 3809c93120 build 2021-03-19 16:35:54 +08:00
caishi f3faa8f548 build 2021-03-19 16:09:02 +08:00
caishi 957d949869 build 2021-03-10 10:39:27 +08:00
caishi 69c732d4a9 build 2021-03-09 11:46:12 +08:00
caishi f4202fe6f7 build 2021-03-08 10:27:52 +08:00
caishi 1bdf95d72a build 2021-03-05 18:35:19 +08:00
caishi a3bc7e13e4 build 2021-03-05 15:28:35 +08:00
caishi 2cb4e5233f build 2021-03-05 14:39:21 +08:00
caishi 347c2af7ec build 2021-03-05 10:46:52 +08:00
caishi cd1382957a build 2021-03-05 09:57:06 +08:00
caishi 8d80c3fd63 build 2021-03-04 17:07:16 +08:00
caishi 8a35eae887 build 2021-03-04 14:05:19 +08:00
caishi 22d7c5135b build 2021-03-02 11:40:29 +08:00
caishi 48f789c9c4 build 2021-03-02 10:50:52 +08:00
caishi 3e6a0a59a4 build 2021-02-26 11:59:14 +08:00
caishi c8ab76e342 build 2021-02-25 17:10:48 +08:00
caishi 43501c5d50 build 2021-02-25 14:12:01 +08:00
caishi d3cc2e5632 build 2021-02-24 15:47:49 +08:00
caishi f665ff41e5 build 2021-02-24 15:29:04 +08:00
caishi 7815796945 build 2021-02-24 10:54:12 +08:00
caishi 8dd35b86c8 build 2021-02-23 17:26:24 +08:00
caishi c60eb554be build 2021-02-23 14:46:43 +08:00
caishi 2e7c3a2a83 build 2021-02-23 10:31:45 +08:00
caishi e282eb1389 build 2021-02-22 17:53:15 +08:00
caishi 867e519de1 build 2021-02-22 15:29:44 +08:00
caishi 8c46b5d1b2 build 2021-02-07 16:48:21 +08:00
caishi ab29e9ed6f build 2021-02-06 15:32:01 +08:00
caishi 8f44a43618 build 2021-02-06 10:43:49 +08:00
caishi 11e01b00b4 build 2021-02-05 16:52:18 +08:00
caishi 7e6599d5e4 build 2021-02-05 16:29:41 +08:00
caishi 2af3da658d build 2021-02-05 16:17:21 +08:00
caishi 440babb558 build 2021-02-05 16:15:52 +08:00
caishi 5c5e970590 build 2021-02-04 18:32:29 +08:00
caishi 84db4d911e build 2021-02-04 18:11:43 +08:00
caishi 3fce63c23b build 2021-02-04 18:10:09 +08:00
caishi fd08bca35f build 2021-02-04 17:51:47 +08:00
caishi c059a0e3a4 build 2021-02-03 18:42:28 +08:00
caishi e7b69422bc build 2021-02-03 17:02:27 +08:00
caishi e5ee276cc9 build-组织上线测试版- 2021-02-03 15:56:29 +08:00
caishi 1c48324b7a build 2021-02-02 12:27:19 +08:00
caishi f37e4b8624 build 2021-02-02 10:03:03 +08:00
caishi b697998069 build 2021-02-02 09:50:50 +08:00
caishi b6c72132be build 2021-02-01 16:55:04 +08:00
caishi 0909caa523 build 2021-02-01 15:30:20 +08:00
caishi b9af24b9ab build 2021-02-01 11:12:35 +08:00
caishi 39a5148db2 build 2021-01-29 14:21:05 +08:00
caishi a206f315b8 build 2021-01-25 16:03:54 +08:00
caishi c5d4f2453e build-ifon 2021-01-20 20:18:04 +08:00
caishi 172363cc30 build 2021-01-20 15:02:25 +08:00
caishi 8c818d6a84 build 2021-01-20 14:00:03 +08:00
caishi 60793b6a69 build 2021-01-20 11:37:59 +08:00
caishi c0dd287be2 build 2021-01-20 11:15:31 +08:00
caishi 57de1b0d27 build 2021-01-20 10:39:34 +08:00
caishi 8138159569 build 2021-01-20 10:15:54 +08:00
caishi 79748a98d4 build-新版工作流配置 2021-01-19 18:27:45 +08:00
caishi a7227035b3 build 2021-01-13 15:53:54 +08:00
caishi 2e46102cc1 build 2021-01-13 14:13:27 +08:00
caishi e74283bfc4 build 2021-01-12 17:38:20 +08:00
caishi 9b6caf5519 build 2021-01-06 16:23:22 +08:00
caishi e1669d1be8 build-为0时不显示 2021-01-05 15:33:38 +08:00
caishi 01eec4a3eb build 2020-12-31 15:57:23 +08:00
caishi 18c92ad896 build 2020-12-24 10:21:59 +08:00
caishi c14dcfa68d build 2020-12-24 09:48:32 +08:00
caishi b991a9cdda build 2020-12-23 17:41:59 +08:00
caishi c34918ae0c build 2020-12-22 14:11:24 +08:00
caishi 12574bdef1 build 2020-12-18 14:09:14 +08:00
caishi 7ca2389c7c build 2020-12-15 18:40:11 +08:00
caishi 1e21915287 build 2020-12-15 18:02:17 +08:00
caishi 5f9f52e0a5 build 2020-12-14 17:06:55 +08:00
caishi 248484dfe2 build 2020-12-11 18:21:51 +08:00
caishi 0d33a7062b build 2020-12-08 14:33:33 +08:00
caishi e0eb0c6115 build 2020-12-04 20:34:06 +08:00
caishi f69c6faca4 build 2020-12-01 16:53:22 +08:00
caishi f9fdd6cacc build 2020-11-30 16:16:47 +08:00
caishi 9d0ed52ceb build 2020-11-27 16:36:53 +08:00
caishi fd48c2197b build 2020-11-27 12:01:44 +08:00
caishi 6deff875d3 build 2020-11-26 15:48:18 +08:00
caishi 68fd54c3a2 build 2020-11-26 15:21:22 +08:00
caishi 44629b2609 build-branchroute 2020-11-24 10:25:10 +08:00
caishi 611ce1a53f build-lou 2020-11-16 16:21:13 +08:00
caishi 6887ebc079 build-root 2020-11-16 15:59:52 +08:00
caishi 4a78faedd4 build-update 2020-11-12 14:46:41 +08:00
940 changed files with 143823 additions and 88 deletions

88
.gitignore vendored
View File

@ -1,88 +0,0 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
yarn.lock
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Ignore master key for decrypting credentials and more.
/config/master.key
/config/database.yml
/.idea/*
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
#DynamoDB Local files
.dynamodb/
.DS_Store
.idea/*

1179
.idea/workspace.xml Normal file

File diff suppressed because it is too large Load Diff

15
.vscode/launch.json vendored Normal file
View File

@ -0,0 +1,15 @@
{
// 使 IntelliSense
//
// 访: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "pwa-chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://localhost:8080",
"webRoot": "${workspaceFolder}"
}
]
}

2
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,2 @@
{
}

607
asset-manifest.json Normal file
View File

@ -0,0 +1,607 @@
{
"./static/js/0.84a32162.chunk.js": "/react/build/./static/js/0.84a32162.chunk.js",
"./static/js/1.4fffb0ad.chunk.js": "/react/build/./static/js/1.4fffb0ad.chunk.js",
"./static/js/2.a2657402.chunk.js": "/react/build/./static/js/2.a2657402.chunk.js",
"./static/js/3.ec3d0b8a.chunk.js": "/react/build/./static/js/3.ec3d0b8a.chunk.js",
"./static/js/4.92b91d81.chunk.js": "/react/build/./static/js/4.92b91d81.chunk.js",
"./static/js/5.e56235dc.chunk.js": "/react/build/./static/js/5.e56235dc.chunk.js",
"./static/js/6.2f68a414.chunk.js": "/react/build/./static/js/6.2f68a414.chunk.js",
"static/css/7.4580c46d.chunk.css": "/react/build/static/css/7.4580c46d.chunk.css",
"./static/js/7.ede75b8b.chunk.js": "/react/build/./static/js/7.ede75b8b.chunk.js",
"./static/js/8.a15f013a.chunk.js": "/react/build/./static/js/8.a15f013a.chunk.js",
"./static/js/9.d1ebe454.chunk.js": "/react/build/./static/js/9.d1ebe454.chunk.js",
"./static/js/10.e0a1c8da.chunk.js": "/react/build/./static/js/10.e0a1c8da.chunk.js",
"./static/js/11.9245f5ed.chunk.js": "/react/build/./static/js/11.9245f5ed.chunk.js",
"static/css/12.f9048da0.chunk.css": "/react/build/static/css/12.f9048da0.chunk.css",
"./static/js/12.aafbde04.chunk.js": "/react/build/./static/js/12.aafbde04.chunk.js",
"static/css/13.3634cedd.chunk.css": "/react/build/static/css/13.3634cedd.chunk.css",
"./static/js/13.847111fb.chunk.js": "/react/build/./static/js/13.847111fb.chunk.js",
"./static/js/14.a637200b.chunk.js": "/react/build/./static/js/14.a637200b.chunk.js",
"./static/js/15.9ac4780e.chunk.js": "/react/build/./static/js/15.9ac4780e.chunk.js",
"static/css/16.36c57776.chunk.css": "/react/build/static/css/16.36c57776.chunk.css",
"./static/js/16.3484dc47.chunk.js": "/react/build/./static/js/16.3484dc47.chunk.js",
"./static/js/17.443adb99.chunk.js": "/react/build/./static/js/17.443adb99.chunk.js",
"static/css/18.f7228588.chunk.css": "/react/build/static/css/18.f7228588.chunk.css",
"./static/js/18.b1a95570.chunk.js": "/react/build/./static/js/18.b1a95570.chunk.js",
"static/css/19.5a3be1a7.chunk.css": "/react/build/static/css/19.5a3be1a7.chunk.css",
"./static/js/19.38cdd983.chunk.js": "/react/build/./static/js/19.38cdd983.chunk.js",
"static/css/20.6e86f2f2.chunk.css": "/react/build/static/css/20.6e86f2f2.chunk.css",
"./static/js/20.d0df8ef8.chunk.js": "/react/build/./static/js/20.d0df8ef8.chunk.js",
"./static/js/21.c27b77ed.chunk.js": "/react/build/./static/js/21.c27b77ed.chunk.js",
"static/css/22.e5c75834.chunk.css": "/react/build/static/css/22.e5c75834.chunk.css",
"./static/js/22.05bf342f.chunk.js": "/react/build/./static/js/22.05bf342f.chunk.js",
"./static/js/23.0d819544.chunk.js": "/react/build/./static/js/23.0d819544.chunk.js",
"./static/js/24.6be29025.chunk.js": "/react/build/./static/js/24.6be29025.chunk.js",
"static/css/25.b429c53f.chunk.css": "/react/build/static/css/25.b429c53f.chunk.css",
"./static/js/25.0ace860d.chunk.js": "/react/build/./static/js/25.0ace860d.chunk.js",
"./static/js/26.ceb11205.chunk.js": "/react/build/./static/js/26.ceb11205.chunk.js",
"./static/js/27.f0fd768f.chunk.js": "/react/build/./static/js/27.f0fd768f.chunk.js",
"./static/js/28.b543bca8.chunk.js": "/react/build/./static/js/28.b543bca8.chunk.js",
"./static/js/29.4c8eb963.chunk.js": "/react/build/./static/js/29.4c8eb963.chunk.js",
"./static/js/30.bedafd3c.chunk.js": "/react/build/./static/js/30.bedafd3c.chunk.js",
"static/css/31.bc037916.chunk.css": "/react/build/static/css/31.bc037916.chunk.css",
"./static/js/31.36586b2a.chunk.js": "/react/build/./static/js/31.36586b2a.chunk.js",
"./static/js/32.6fbdeff7.chunk.js": "/react/build/./static/js/32.6fbdeff7.chunk.js",
"static/css/33.c885231e.chunk.css": "/react/build/static/css/33.c885231e.chunk.css",
"./static/js/33.c77b63a4.chunk.js": "/react/build/./static/js/33.c77b63a4.chunk.js",
"static/css/34.566b8d53.chunk.css": "/react/build/static/css/34.566b8d53.chunk.css",
"./static/js/34.9d004750.chunk.js": "/react/build/./static/js/34.9d004750.chunk.js",
"static/css/35.462d47ca.chunk.css": "/react/build/static/css/35.462d47ca.chunk.css",
"./static/js/35.70d1eae5.chunk.js": "/react/build/./static/js/35.70d1eae5.chunk.js",
"./static/js/36.2285ed12.chunk.js": "/react/build/./static/js/36.2285ed12.chunk.js",
"static/css/37.ae672007.chunk.css": "/react/build/static/css/37.ae672007.chunk.css",
"./static/js/37.267a6e2d.chunk.js": "/react/build/./static/js/37.267a6e2d.chunk.js",
"static/css/38.4b65934e.chunk.css": "/react/build/static/css/38.4b65934e.chunk.css",
"./static/js/38.d93a770b.chunk.js": "/react/build/./static/js/38.d93a770b.chunk.js",
"static/css/39.b4ad1b94.chunk.css": "/react/build/static/css/39.b4ad1b94.chunk.css",
"./static/js/39.8b54f647.chunk.js": "/react/build/./static/js/39.8b54f647.chunk.js",
"static/css/40.bed95ceb.chunk.css": "/react/build/static/css/40.bed95ceb.chunk.css",
"./static/js/40.dd19e4ae.chunk.js": "/react/build/./static/js/40.dd19e4ae.chunk.js",
"static/css/41.2c4abcf7.chunk.css": "/react/build/static/css/41.2c4abcf7.chunk.css",
"./static/js/41.774262fc.chunk.js": "/react/build/./static/js/41.774262fc.chunk.js",
"static/css/42.daebe093.chunk.css": "/react/build/static/css/42.daebe093.chunk.css",
"./static/js/42.9115ac37.chunk.js": "/react/build/./static/js/42.9115ac37.chunk.js",
"./static/js/43.7c664a90.chunk.js": "/react/build/./static/js/43.7c664a90.chunk.js",
"static/css/44.363bccd5.chunk.css": "/react/build/static/css/44.363bccd5.chunk.css",
"./static/js/44.f6e98158.chunk.js": "/react/build/./static/js/44.f6e98158.chunk.js",
"static/css/45.488f8f98.chunk.css": "/react/build/static/css/45.488f8f98.chunk.css",
"./static/js/45.02283a3c.chunk.js": "/react/build/./static/js/45.02283a3c.chunk.js",
"static/css/46.674b3844.chunk.css": "/react/build/static/css/46.674b3844.chunk.css",
"./static/js/46.65563171.chunk.js": "/react/build/./static/js/46.65563171.chunk.js",
"static/css/47.76a4f152.chunk.css": "/react/build/static/css/47.76a4f152.chunk.css",
"./static/js/47.6b5142e5.chunk.js": "/react/build/./static/js/47.6b5142e5.chunk.js",
"static/css/48.123262a7.chunk.css": "/react/build/static/css/48.123262a7.chunk.css",
"./static/js/48.e6ab6be1.chunk.js": "/react/build/./static/js/48.e6ab6be1.chunk.js",
"static/css/49.78a1ba5d.chunk.css": "/react/build/static/css/49.78a1ba5d.chunk.css",
"./static/js/49.e30dc1b7.chunk.js": "/react/build/./static/js/49.e30dc1b7.chunk.js",
"static/css/50.aa1aedbe.chunk.css": "/react/build/static/css/50.aa1aedbe.chunk.css",
"./static/js/50.bb2ef122.chunk.js": "/react/build/./static/js/50.bb2ef122.chunk.js",
"static/css/51.50d793fd.chunk.css": "/react/build/static/css/51.50d793fd.chunk.css",
"./static/js/51.94e7724d.chunk.js": "/react/build/./static/js/51.94e7724d.chunk.js",
"static/css/52.9e20e1c7.chunk.css": "/react/build/static/css/52.9e20e1c7.chunk.css",
"./static/js/52.1cd5d532.chunk.js": "/react/build/./static/js/52.1cd5d532.chunk.js",
"static/css/53.60192dd6.chunk.css": "/react/build/static/css/53.60192dd6.chunk.css",
"./static/js/53.e8ee9f61.chunk.js": "/react/build/./static/js/53.e8ee9f61.chunk.js",
"static/css/54.1621eace.chunk.css": "/react/build/static/css/54.1621eace.chunk.css",
"./static/js/54.7bce5148.chunk.js": "/react/build/./static/js/54.7bce5148.chunk.js",
"static/css/55.1621eace.chunk.css": "/react/build/static/css/55.1621eace.chunk.css",
"./static/js/55.74bb51b5.chunk.js": "/react/build/./static/js/55.74bb51b5.chunk.js",
"static/css/56.4389a427.chunk.css": "/react/build/static/css/56.4389a427.chunk.css",
"./static/js/56.3dbf8fe3.chunk.js": "/react/build/./static/js/56.3dbf8fe3.chunk.js",
"static/css/57.4389a427.chunk.css": "/react/build/static/css/57.4389a427.chunk.css",
"./static/js/57.d2d63b0d.chunk.js": "/react/build/./static/js/57.d2d63b0d.chunk.js",
"static/css/58.fdfa3e58.chunk.css": "/react/build/static/css/58.fdfa3e58.chunk.css",
"./static/js/58.88f27d13.chunk.js": "/react/build/./static/js/58.88f27d13.chunk.js",
"static/css/59.77c696ba.chunk.css": "/react/build/static/css/59.77c696ba.chunk.css",
"./static/js/59.ea1635c9.chunk.js": "/react/build/./static/js/59.ea1635c9.chunk.js",
"./static/js/60.293e3852.chunk.js": "/react/build/./static/js/60.293e3852.chunk.js",
"static/css/61.21590e13.chunk.css": "/react/build/static/css/61.21590e13.chunk.css",
"./static/js/61.82c8e711.chunk.js": "/react/build/./static/js/61.82c8e711.chunk.js",
"static/css/62.f8577cd6.chunk.css": "/react/build/static/css/62.f8577cd6.chunk.css",
"./static/js/62.a4092a85.chunk.js": "/react/build/./static/js/62.a4092a85.chunk.js",
"static/css/63.86dd1e31.chunk.css": "/react/build/static/css/63.86dd1e31.chunk.css",
"./static/js/63.c508f1d6.chunk.js": "/react/build/./static/js/63.c508f1d6.chunk.js",
"static/css/64.f8ce57b7.chunk.css": "/react/build/static/css/64.f8ce57b7.chunk.css",
"./static/js/64.ede24cc4.chunk.js": "/react/build/./static/js/64.ede24cc4.chunk.js",
"static/css/65.9605d2fc.chunk.css": "/react/build/static/css/65.9605d2fc.chunk.css",
"./static/js/65.d7b3cf76.chunk.js": "/react/build/./static/js/65.d7b3cf76.chunk.js",
"static/css/66.deeb1b7c.chunk.css": "/react/build/static/css/66.deeb1b7c.chunk.css",
"./static/js/66.3e30971f.chunk.js": "/react/build/./static/js/66.3e30971f.chunk.js",
"static/css/67.72b1c501.chunk.css": "/react/build/static/css/67.72b1c501.chunk.css",
"./static/js/67.2c7f44d6.chunk.js": "/react/build/./static/js/67.2c7f44d6.chunk.js",
"static/css/68.6b9ba3cb.chunk.css": "/react/build/static/css/68.6b9ba3cb.chunk.css",
"./static/js/68.f243f03d.chunk.js": "/react/build/./static/js/68.f243f03d.chunk.js",
"static/css/69.8dd8260d.chunk.css": "/react/build/static/css/69.8dd8260d.chunk.css",
"./static/js/69.65a7a16c.chunk.js": "/react/build/./static/js/69.65a7a16c.chunk.js",
"./static/js/70.9fe954b9.chunk.js": "/react/build/./static/js/70.9fe954b9.chunk.js",
"./static/js/71.3b2374ed.chunk.js": "/react/build/./static/js/71.3b2374ed.chunk.js",
"static/css/72.593f5743.chunk.css": "/react/build/static/css/72.593f5743.chunk.css",
"./static/js/72.881f2d37.chunk.js": "/react/build/./static/js/72.881f2d37.chunk.js",
"static/css/73.daebe093.chunk.css": "/react/build/static/css/73.daebe093.chunk.css",
"./static/js/73.cd0b3742.chunk.js": "/react/build/./static/js/73.cd0b3742.chunk.js",
"./static/js/74.2fa01ba6.chunk.js": "/react/build/./static/js/74.2fa01ba6.chunk.js",
"static/css/75.9aa1849e.chunk.css": "/react/build/static/css/75.9aa1849e.chunk.css",
"./static/js/75.6e6bc06b.chunk.js": "/react/build/./static/js/75.6e6bc06b.chunk.js",
"static/css/76.cb568edc.chunk.css": "/react/build/static/css/76.cb568edc.chunk.css",
"./static/js/76.49c32c89.chunk.js": "/react/build/./static/js/76.49c32c89.chunk.js",
"./static/js/77.680e1c07.chunk.js": "/react/build/./static/js/77.680e1c07.chunk.js",
"./static/js/78.5bb6620f.chunk.js": "/react/build/./static/js/78.5bb6620f.chunk.js",
"static/css/79.520a4f34.chunk.css": "/react/build/static/css/79.520a4f34.chunk.css",
"./static/js/79.5a5cc25d.chunk.js": "/react/build/./static/js/79.5a5cc25d.chunk.js",
"./static/js/80.ac578db9.chunk.js": "/react/build/./static/js/80.ac578db9.chunk.js",
"static/css/81.daebe093.chunk.css": "/react/build/static/css/81.daebe093.chunk.css",
"./static/js/81.05ff896a.chunk.js": "/react/build/./static/js/81.05ff896a.chunk.js",
"./static/js/82.5351faae.chunk.js": "/react/build/./static/js/82.5351faae.chunk.js",
"static/css/83.18de873b.chunk.css": "/react/build/static/css/83.18de873b.chunk.css",
"./static/js/83.6bd70cb5.chunk.js": "/react/build/./static/js/83.6bd70cb5.chunk.js",
"./static/js/84.84caeccc.chunk.js": "/react/build/./static/js/84.84caeccc.chunk.js",
"static/css/85.f53df2f8.chunk.css": "/react/build/static/css/85.f53df2f8.chunk.css",
"./static/js/85.608fc360.chunk.js": "/react/build/./static/js/85.608fc360.chunk.js",
"static/css/86.f58774d5.chunk.css": "/react/build/static/css/86.f58774d5.chunk.css",
"./static/js/86.01c6ed27.chunk.js": "/react/build/./static/js/86.01c6ed27.chunk.js",
"static/css/87.2c6a4087.chunk.css": "/react/build/static/css/87.2c6a4087.chunk.css",
"./static/js/87.d34c1e8e.chunk.js": "/react/build/./static/js/87.d34c1e8e.chunk.js",
"./static/js/88.6610a21d.chunk.js": "/react/build/./static/js/88.6610a21d.chunk.js",
"static/css/89.a0937e98.chunk.css": "/react/build/static/css/89.a0937e98.chunk.css",
"./static/js/89.0437bddd.chunk.js": "/react/build/./static/js/89.0437bddd.chunk.js",
"static/css/90.632d7855.chunk.css": "/react/build/static/css/90.632d7855.chunk.css",
"./static/js/90.3a1c1cc1.chunk.js": "/react/build/./static/js/90.3a1c1cc1.chunk.js",
"static/css/91.d96248d9.chunk.css": "/react/build/static/css/91.d96248d9.chunk.css",
"./static/js/91.4d89d314.chunk.js": "/react/build/./static/js/91.4d89d314.chunk.js",
"static/css/92.a0937e98.chunk.css": "/react/build/static/css/92.a0937e98.chunk.css",
"./static/js/92.70698c25.chunk.js": "/react/build/./static/js/92.70698c25.chunk.js",
"static/css/93.3aeea5e9.chunk.css": "/react/build/static/css/93.3aeea5e9.chunk.css",
"./static/js/93.88f6877f.chunk.js": "/react/build/./static/js/93.88f6877f.chunk.js",
"./static/js/94.48ce348c.chunk.js": "/react/build/./static/js/94.48ce348c.chunk.js",
"static/css/95.6c04c9a8.chunk.css": "/react/build/static/css/95.6c04c9a8.chunk.css",
"./static/js/95.08b8f50b.chunk.js": "/react/build/./static/js/95.08b8f50b.chunk.js",
"static/css/96.adba6539.chunk.css": "/react/build/static/css/96.adba6539.chunk.css",
"./static/js/96.8c4f09ba.chunk.js": "/react/build/./static/js/96.8c4f09ba.chunk.js",
"static/css/97.182b79dd.chunk.css": "/react/build/static/css/97.182b79dd.chunk.css",
"./static/js/97.978190c1.chunk.js": "/react/build/./static/js/97.978190c1.chunk.js",
"static/css/98.11a04942.chunk.css": "/react/build/static/css/98.11a04942.chunk.css",
"./static/js/98.4147d385.chunk.js": "/react/build/./static/js/98.4147d385.chunk.js",
"static/css/99.541803c4.chunk.css": "/react/build/static/css/99.541803c4.chunk.css",
"./static/js/99.89288be1.chunk.js": "/react/build/./static/js/99.89288be1.chunk.js",
"static/css/100.d788cda5.chunk.css": "/react/build/static/css/100.d788cda5.chunk.css",
"./static/js/100.88a2a552.chunk.js": "/react/build/./static/js/100.88a2a552.chunk.js",
"static/css/101.41b8aabd.chunk.css": "/react/build/static/css/101.41b8aabd.chunk.css",
"./static/js/101.8fc5d397.chunk.js": "/react/build/./static/js/101.8fc5d397.chunk.js",
"./static/js/102.7a1110de.chunk.js": "/react/build/./static/js/102.7a1110de.chunk.js",
"./static/js/103.3902f083.chunk.js": "/react/build/./static/js/103.3902f083.chunk.js",
"static/css/104.fd76673e.chunk.css": "/react/build/static/css/104.fd76673e.chunk.css",
"./static/js/104.f32414c2.chunk.js": "/react/build/./static/js/104.f32414c2.chunk.js",
"static/css/105.2370fbe9.chunk.css": "/react/build/static/css/105.2370fbe9.chunk.css",
"./static/js/105.8aef3efb.chunk.js": "/react/build/./static/js/105.8aef3efb.chunk.js",
"static/css/106.9aa1849e.chunk.css": "/react/build/static/css/106.9aa1849e.chunk.css",
"./static/js/106.2d5e8a1e.chunk.js": "/react/build/./static/js/106.2d5e8a1e.chunk.js",
"./static/js/107.02a6f635.chunk.js": "/react/build/./static/js/107.02a6f635.chunk.js",
"static/css/108.610bb31e.chunk.css": "/react/build/static/css/108.610bb31e.chunk.css",
"./static/js/108.3446a228.chunk.js": "/react/build/./static/js/108.3446a228.chunk.js",
"static/css/109.ea97577b.chunk.css": "/react/build/static/css/109.ea97577b.chunk.css",
"./static/js/109.5167ae28.chunk.js": "/react/build/./static/js/109.5167ae28.chunk.js",
"static/css/110.4ec75158.chunk.css": "/react/build/static/css/110.4ec75158.chunk.css",
"./static/js/110.410378ca.chunk.js": "/react/build/./static/js/110.410378ca.chunk.js",
"static/css/111.22174394.chunk.css": "/react/build/static/css/111.22174394.chunk.css",
"./static/js/111.70599d77.chunk.js": "/react/build/./static/js/111.70599d77.chunk.js",
"./static/js/112.9b3218a2.chunk.js": "/react/build/./static/js/112.9b3218a2.chunk.js",
"./static/js/113.1fe18ffb.chunk.js": "/react/build/./static/js/113.1fe18ffb.chunk.js",
"static/css/114.9474d52b.chunk.css": "/react/build/static/css/114.9474d52b.chunk.css",
"./static/js/114.405be1c6.chunk.js": "/react/build/./static/js/114.405be1c6.chunk.js",
"./static/js/115.c3e24206.chunk.js": "/react/build/./static/js/115.c3e24206.chunk.js",
"static/css/116.3ce18db9.chunk.css": "/react/build/static/css/116.3ce18db9.chunk.css",
"./static/js/116.ef20fdf6.chunk.js": "/react/build/./static/js/116.ef20fdf6.chunk.js",
"./static/js/117.3648fd18.chunk.js": "/react/build/./static/js/117.3648fd18.chunk.js",
"static/css/118.a16009b1.chunk.css": "/react/build/static/css/118.a16009b1.chunk.css",
"./static/js/118.19c69854.chunk.js": "/react/build/./static/js/118.19c69854.chunk.js",
"static/css/119.ef7b39fb.chunk.css": "/react/build/static/css/119.ef7b39fb.chunk.css",
"./static/js/119.e9f65403.chunk.js": "/react/build/./static/js/119.e9f65403.chunk.js",
"static/css/120.56158b92.chunk.css": "/react/build/static/css/120.56158b92.chunk.css",
"./static/js/120.e1ea5400.chunk.js": "/react/build/./static/js/120.e1ea5400.chunk.js",
"static/css/121.a72d9adb.chunk.css": "/react/build/static/css/121.a72d9adb.chunk.css",
"./static/js/121.c951bfba.chunk.js": "/react/build/./static/js/121.c951bfba.chunk.js",
"static/css/122.84240787.chunk.css": "/react/build/static/css/122.84240787.chunk.css",
"./static/js/122.ae5cee82.chunk.js": "/react/build/./static/js/122.ae5cee82.chunk.js",
"static/css/123.831c5a69.chunk.css": "/react/build/static/css/123.831c5a69.chunk.css",
"./static/js/123.ae5b568c.chunk.js": "/react/build/./static/js/123.ae5b568c.chunk.js",
"static/css/124.78d24cb4.chunk.css": "/react/build/static/css/124.78d24cb4.chunk.css",
"./static/js/124.2e2aa126.chunk.js": "/react/build/./static/js/124.2e2aa126.chunk.js",
"./static/js/125.22089bf6.chunk.js": "/react/build/./static/js/125.22089bf6.chunk.js",
"static/css/126.4054f41b.chunk.css": "/react/build/static/css/126.4054f41b.chunk.css",
"./static/js/126.66fdb48d.chunk.js": "/react/build/./static/js/126.66fdb48d.chunk.js",
"./static/js/127.6437d17b.chunk.js": "/react/build/./static/js/127.6437d17b.chunk.js",
"static/css/128.f8577cd6.chunk.css": "/react/build/static/css/128.f8577cd6.chunk.css",
"./static/js/128.bdff3f0c.chunk.js": "/react/build/./static/js/128.bdff3f0c.chunk.js",
"static/css/129.15253a67.chunk.css": "/react/build/static/css/129.15253a67.chunk.css",
"./static/js/129.422a4b8c.chunk.js": "/react/build/./static/js/129.422a4b8c.chunk.js",
"./static/js/130.bbfd729c.chunk.js": "/react/build/./static/js/130.bbfd729c.chunk.js",
"static/css/131.bf681b66.chunk.css": "/react/build/static/css/131.bf681b66.chunk.css",
"./static/js/131.a4ec9bac.chunk.js": "/react/build/./static/js/131.a4ec9bac.chunk.js",
"static/css/132.3491f75f.chunk.css": "/react/build/static/css/132.3491f75f.chunk.css",
"./static/js/132.ca533c48.chunk.js": "/react/build/./static/js/132.ca533c48.chunk.js",
"./static/js/133.acd80a77.chunk.js": "/react/build/./static/js/133.acd80a77.chunk.js",
"./static/js/134.832850d3.chunk.js": "/react/build/./static/js/134.832850d3.chunk.js",
"static/css/135.6b9ba3cb.chunk.css": "/react/build/static/css/135.6b9ba3cb.chunk.css",
"./static/js/135.b489b40b.chunk.js": "/react/build/./static/js/135.b489b40b.chunk.js",
"./static/js/136.f836cf60.chunk.js": "/react/build/./static/js/136.f836cf60.chunk.js",
"static/css/137.fd083902.chunk.css": "/react/build/static/css/137.fd083902.chunk.css",
"./static/js/137.ec453c76.chunk.js": "/react/build/./static/js/137.ec453c76.chunk.js",
"static/css/138.77c696ba.chunk.css": "/react/build/static/css/138.77c696ba.chunk.css",
"./static/js/138.65f107dc.chunk.js": "/react/build/./static/js/138.65f107dc.chunk.js",
"static/css/139.77c696ba.chunk.css": "/react/build/static/css/139.77c696ba.chunk.css",
"./static/js/139.7a1d0135.chunk.js": "/react/build/./static/js/139.7a1d0135.chunk.js",
"./static/js/140.90aafcce.chunk.js": "/react/build/./static/js/140.90aafcce.chunk.js",
"./static/js/141.4f326aba.chunk.js": "/react/build/./static/js/141.4f326aba.chunk.js",
"static/css/142.41b8aabd.chunk.css": "/react/build/static/css/142.41b8aabd.chunk.css",
"./static/js/142.83b7ad4a.chunk.js": "/react/build/./static/js/142.83b7ad4a.chunk.js",
"static/css/143.4596ecd4.chunk.css": "/react/build/static/css/143.4596ecd4.chunk.css",
"./static/js/143.e1434bae.chunk.js": "/react/build/./static/js/143.e1434bae.chunk.js",
"static/css/144.b4b827b4.chunk.css": "/react/build/static/css/144.b4b827b4.chunk.css",
"./static/js/144.d741baa8.chunk.js": "/react/build/./static/js/144.d741baa8.chunk.js",
"static/css/145.82ba8135.chunk.css": "/react/build/static/css/145.82ba8135.chunk.css",
"./static/js/145.d871a9e5.chunk.js": "/react/build/./static/js/145.d871a9e5.chunk.js",
"static/css/146.f57601bb.chunk.css": "/react/build/static/css/146.f57601bb.chunk.css",
"./static/js/146.05b09083.chunk.js": "/react/build/./static/js/146.05b09083.chunk.js",
"static/css/147.924ff88a.chunk.css": "/react/build/static/css/147.924ff88a.chunk.css",
"./static/js/147.a82c2042.chunk.js": "/react/build/./static/js/147.a82c2042.chunk.js",
"static/css/148.42eb9df6.chunk.css": "/react/build/static/css/148.42eb9df6.chunk.css",
"./static/js/148.02f01a12.chunk.js": "/react/build/./static/js/148.02f01a12.chunk.js",
"./static/js/149.e5af9cd2.chunk.js": "/react/build/./static/js/149.e5af9cd2.chunk.js",
"./static/js/150.39aa2eb2.chunk.js": "/react/build/./static/js/150.39aa2eb2.chunk.js",
"./static/js/151.84c097d8.chunk.js": "/react/build/./static/js/151.84c097d8.chunk.js",
"static/css/152.080d6958.chunk.css": "/react/build/static/css/152.080d6958.chunk.css",
"./static/js/152.0bb03c62.chunk.js": "/react/build/./static/js/152.0bb03c62.chunk.js",
"static/css/153.71fa167b.chunk.css": "/react/build/static/css/153.71fa167b.chunk.css",
"./static/js/153.9bd9dade.chunk.js": "/react/build/./static/js/153.9bd9dade.chunk.js",
"./static/js/154.96a46461.chunk.js": "/react/build/./static/js/154.96a46461.chunk.js",
"./static/js/155.57d5991f.chunk.js": "/react/build/./static/js/155.57d5991f.chunk.js",
"static/css/156.9c03336a.chunk.css": "/react/build/static/css/156.9c03336a.chunk.css",
"./static/js/156.5eadc051.chunk.js": "/react/build/./static/js/156.5eadc051.chunk.js",
"static/css/157.bdb62d78.chunk.css": "/react/build/static/css/157.bdb62d78.chunk.css",
"./static/js/157.cf043aab.chunk.js": "/react/build/./static/js/157.cf043aab.chunk.js",
"static/css/158.cdd8f9b1.chunk.css": "/react/build/static/css/158.cdd8f9b1.chunk.css",
"./static/js/158.c88ecaaa.chunk.js": "/react/build/./static/js/158.c88ecaaa.chunk.js",
"./static/js/159.964fbd59.chunk.js": "/react/build/./static/js/159.964fbd59.chunk.js",
"./static/js/160.f48e8da4.chunk.js": "/react/build/./static/js/160.f48e8da4.chunk.js",
"static/css/161.41b8aabd.chunk.css": "/react/build/static/css/161.41b8aabd.chunk.css",
"./static/js/161.3c55ac9b.chunk.js": "/react/build/./static/js/161.3c55ac9b.chunk.js",
"static/css/162.41b8aabd.chunk.css": "/react/build/static/css/162.41b8aabd.chunk.css",
"./static/js/162.264b470b.chunk.js": "/react/build/./static/js/162.264b470b.chunk.js",
"static/css/163.33c664b5.chunk.css": "/react/build/static/css/163.33c664b5.chunk.css",
"./static/js/163.b2bc33b7.chunk.js": "/react/build/./static/js/163.b2bc33b7.chunk.js",
"static/css/164.b63edc63.chunk.css": "/react/build/static/css/164.b63edc63.chunk.css",
"./static/js/164.1b8b6c15.chunk.js": "/react/build/./static/js/164.1b8b6c15.chunk.js",
"./static/js/165.cc354439.chunk.js": "/react/build/./static/js/165.cc354439.chunk.js",
"./static/js/166.476231cd.chunk.js": "/react/build/./static/js/166.476231cd.chunk.js",
"./static/js/167.474bef1b.chunk.js": "/react/build/./static/js/167.474bef1b.chunk.js",
"./static/js/168.ee9b478d.chunk.js": "/react/build/./static/js/168.ee9b478d.chunk.js",
"static/css/169.c2265b39.chunk.css": "/react/build/static/css/169.c2265b39.chunk.css",
"./static/js/169.8d055a51.chunk.js": "/react/build/./static/js/169.8d055a51.chunk.js",
"static/css/170.c121ca6d.chunk.css": "/react/build/static/css/170.c121ca6d.chunk.css",
"./static/js/170.640fb40c.chunk.js": "/react/build/./static/js/170.640fb40c.chunk.js",
"./static/js/171.9c3720c4.chunk.js": "/react/build/./static/js/171.9c3720c4.chunk.js",
"./static/js/172.c6a26efb.chunk.js": "/react/build/./static/js/172.c6a26efb.chunk.js",
"./static/js/173.405def89.chunk.js": "/react/build/./static/js/173.405def89.chunk.js",
"static/css/174.15253a67.chunk.css": "/react/build/static/css/174.15253a67.chunk.css",
"./static/js/174.99b0cdea.chunk.js": "/react/build/./static/js/174.99b0cdea.chunk.js",
"static/css/175.8a2a0d50.chunk.css": "/react/build/static/css/175.8a2a0d50.chunk.css",
"./static/js/175.f1dfc709.chunk.js": "/react/build/./static/js/175.f1dfc709.chunk.js",
"./static/js/176.b9f0a967.chunk.js": "/react/build/./static/js/176.b9f0a967.chunk.js",
"./static/js/177.044852a0.chunk.js": "/react/build/./static/js/177.044852a0.chunk.js",
"static/css/178.d46d87fc.chunk.css": "/react/build/static/css/178.d46d87fc.chunk.css",
"./static/js/178.f35e38a6.chunk.js": "/react/build/./static/js/178.f35e38a6.chunk.js",
"static/css/179.adba6539.chunk.css": "/react/build/static/css/179.adba6539.chunk.css",
"./static/js/179.d66cbc3e.chunk.js": "/react/build/./static/js/179.d66cbc3e.chunk.js",
"./static/js/180.eb3855b7.chunk.js": "/react/build/./static/js/180.eb3855b7.chunk.js",
"./static/js/181.34396f77.chunk.js": "/react/build/./static/js/181.34396f77.chunk.js",
"static/css/182.fd5c069f.chunk.css": "/react/build/static/css/182.fd5c069f.chunk.css",
"./static/js/182.d2b86b16.chunk.js": "/react/build/./static/js/182.d2b86b16.chunk.js",
"static/css/183.3ce18db9.chunk.css": "/react/build/static/css/183.3ce18db9.chunk.css",
"./static/js/183.44327dbf.chunk.js": "/react/build/./static/js/183.44327dbf.chunk.js",
"static/css/184.f5828249.chunk.css": "/react/build/static/css/184.f5828249.chunk.css",
"./static/js/184.1f65602e.chunk.js": "/react/build/./static/js/184.1f65602e.chunk.js",
"static/css/185.7c56968f.chunk.css": "/react/build/static/css/185.7c56968f.chunk.css",
"./static/js/185.9a945c78.chunk.js": "/react/build/./static/js/185.9a945c78.chunk.js",
"./static/js/186.1e7707fd.chunk.js": "/react/build/./static/js/186.1e7707fd.chunk.js",
"./static/js/187.97db53cf.chunk.js": "/react/build/./static/js/187.97db53cf.chunk.js",
"./static/js/188.b7567c8f.chunk.js": "/react/build/./static/js/188.b7567c8f.chunk.js",
"./static/js/189.57640a15.chunk.js": "/react/build/./static/js/189.57640a15.chunk.js",
"static/css/190.c0242127.chunk.css": "/react/build/static/css/190.c0242127.chunk.css",
"./static/js/190.642b3283.chunk.js": "/react/build/./static/js/190.642b3283.chunk.js",
"static/css/191.873fe80e.chunk.css": "/react/build/static/css/191.873fe80e.chunk.css",
"./static/js/191.c930fe6d.chunk.js": "/react/build/./static/js/191.c930fe6d.chunk.js",
"static/css/192.e0db6c17.chunk.css": "/react/build/static/css/192.e0db6c17.chunk.css",
"./static/js/192.134dd21e.chunk.js": "/react/build/./static/js/192.134dd21e.chunk.js",
"static/css/193.f50a3cf0.chunk.css": "/react/build/static/css/193.f50a3cf0.chunk.css",
"./static/js/193.69126653.chunk.js": "/react/build/./static/js/193.69126653.chunk.js",
"static/css/194.9df86194.chunk.css": "/react/build/static/css/194.9df86194.chunk.css",
"./static/js/194.898dd689.chunk.js": "/react/build/./static/js/194.898dd689.chunk.js",
"static/css/195.6b9ba3cb.chunk.css": "/react/build/static/css/195.6b9ba3cb.chunk.css",
"./static/js/195.310c8eb3.chunk.js": "/react/build/./static/js/195.310c8eb3.chunk.js",
"static/css/196.f2060fe7.chunk.css": "/react/build/static/css/196.f2060fe7.chunk.css",
"./static/js/196.4ddc6032.chunk.js": "/react/build/./static/js/196.4ddc6032.chunk.js",
"static/css/197.f9d1b577.chunk.css": "/react/build/static/css/197.f9d1b577.chunk.css",
"./static/js/197.d034cea2.chunk.js": "/react/build/./static/js/197.d034cea2.chunk.js",
"./static/js/198.7a28b332.chunk.js": "/react/build/./static/js/198.7a28b332.chunk.js",
"./static/js/199.bdb3d4df.chunk.js": "/react/build/./static/js/199.bdb3d4df.chunk.js",
"static/css/200.b7a023bd.chunk.css": "/react/build/static/css/200.b7a023bd.chunk.css",
"./static/js/200.9ad61cf8.chunk.js": "/react/build/./static/js/200.9ad61cf8.chunk.js",
"static/css/201.4596ecd4.chunk.css": "/react/build/static/css/201.4596ecd4.chunk.css",
"./static/js/201.9aff36ed.chunk.js": "/react/build/./static/js/201.9aff36ed.chunk.js",
"./static/js/202.8a2f965f.chunk.js": "/react/build/./static/js/202.8a2f965f.chunk.js",
"static/css/203.41b8aabd.chunk.css": "/react/build/static/css/203.41b8aabd.chunk.css",
"./static/js/203.aa3eabfa.chunk.js": "/react/build/./static/js/203.aa3eabfa.chunk.js",
"./static/js/204.92ea5190.chunk.js": "/react/build/./static/js/204.92ea5190.chunk.js",
"./static/js/205.94116de6.chunk.js": "/react/build/./static/js/205.94116de6.chunk.js",
"./static/js/206.7fa0c08a.chunk.js": "/react/build/./static/js/206.7fa0c08a.chunk.js",
"./static/js/207.3b4e47f6.chunk.js": "/react/build/./static/js/207.3b4e47f6.chunk.js",
"./static/js/208.9eefe935.chunk.js": "/react/build/./static/js/208.9eefe935.chunk.js",
"./static/js/209.2d2cd769.chunk.js": "/react/build/./static/js/209.2d2cd769.chunk.js",
"./static/js/210.f401c117.chunk.js": "/react/build/./static/js/210.f401c117.chunk.js",
"./static/js/211.8f315a87.chunk.js": "/react/build/./static/js/211.8f315a87.chunk.js",
"./static/js/212.31965617.chunk.js": "/react/build/./static/js/212.31965617.chunk.js",
"./static/js/213.66fc8d7e.chunk.js": "/react/build/./static/js/213.66fc8d7e.chunk.js",
"./static/js/214.e4357ec0.chunk.js": "/react/build/./static/js/214.e4357ec0.chunk.js",
"./static/js/215.3726ca37.chunk.js": "/react/build/./static/js/215.3726ca37.chunk.js",
"./static/js/216.0ade2680.chunk.js": "/react/build/./static/js/216.0ade2680.chunk.js",
"./static/js/217.f4a3cb78.chunk.js": "/react/build/./static/js/217.f4a3cb78.chunk.js",
"./static/js/218.4bda13ac.chunk.js": "/react/build/./static/js/218.4bda13ac.chunk.js",
"./static/js/219.d42fdf24.chunk.js": "/react/build/./static/js/219.d42fdf24.chunk.js",
"./static/js/220.824723aa.chunk.js": "/react/build/./static/js/220.824723aa.chunk.js",
"./static/js/221.1cdc8bb9.chunk.js": "/react/build/./static/js/221.1cdc8bb9.chunk.js",
"./static/js/222.e58d1756.chunk.js": "/react/build/./static/js/222.e58d1756.chunk.js",
"./static/js/223.863582c5.chunk.js": "/react/build/./static/js/223.863582c5.chunk.js",
"./static/js/224.5b1945f6.chunk.js": "/react/build/./static/js/224.5b1945f6.chunk.js",
"./static/js/225.ed57abc6.chunk.js": "/react/build/./static/js/225.ed57abc6.chunk.js",
"./static/js/226.c35c4fe7.chunk.js": "/react/build/./static/js/226.c35c4fe7.chunk.js",
"./static/js/227.19c8a094.chunk.js": "/react/build/./static/js/227.19c8a094.chunk.js",
"./static/js/228.65c1debf.chunk.js": "/react/build/./static/js/228.65c1debf.chunk.js",
"./static/js/229.388be8ea.chunk.js": "/react/build/./static/js/229.388be8ea.chunk.js",
"./static/js/230.904df1f6.chunk.js": "/react/build/./static/js/230.904df1f6.chunk.js",
"./static/js/231.82f327eb.chunk.js": "/react/build/./static/js/231.82f327eb.chunk.js",
"./static/js/232.13edfb75.chunk.js": "/react/build/./static/js/232.13edfb75.chunk.js",
"./static/js/233.cb59f3f3.chunk.js": "/react/build/./static/js/233.cb59f3f3.chunk.js",
"./static/js/234.d09c8f51.chunk.js": "/react/build/./static/js/234.d09c8f51.chunk.js",
"./static/js/235.e087d241.chunk.js": "/react/build/./static/js/235.e087d241.chunk.js",
"./static/js/236.2094d8c0.chunk.js": "/react/build/./static/js/236.2094d8c0.chunk.js",
"./static/js/237.363401ef.chunk.js": "/react/build/./static/js/237.363401ef.chunk.js",
"./static/js/238.87e14df3.chunk.js": "/react/build/./static/js/238.87e14df3.chunk.js",
"./static/js/239.f2c1fc3c.chunk.js": "/react/build/./static/js/239.f2c1fc3c.chunk.js",
"./static/js/240.9753e4d5.chunk.js": "/react/build/./static/js/240.9753e4d5.chunk.js",
"./static/js/241.e7bd16fe.chunk.js": "/react/build/./static/js/241.e7bd16fe.chunk.js",
"./static/js/242.1e5dd721.chunk.js": "/react/build/./static/js/242.1e5dd721.chunk.js",
"./static/js/243.3e61fb73.chunk.js": "/react/build/./static/js/243.3e61fb73.chunk.js",
"./static/js/244.d8f259f9.chunk.js": "/react/build/./static/js/244.d8f259f9.chunk.js",
"./static/js/245.9fd4646d.chunk.js": "/react/build/./static/js/245.9fd4646d.chunk.js",
"./static/js/246.e15c89b8.chunk.js": "/react/build/./static/js/246.e15c89b8.chunk.js",
"./static/js/247.fec91160.chunk.js": "/react/build/./static/js/247.fec91160.chunk.js",
"./static/js/248.eecc2e3f.chunk.js": "/react/build/./static/js/248.eecc2e3f.chunk.js",
"./static/js/249.38aa7c42.chunk.js": "/react/build/./static/js/249.38aa7c42.chunk.js",
"./static/js/250.4c33cb08.chunk.js": "/react/build/./static/js/250.4c33cb08.chunk.js",
"./static/js/251.0a4aa5ea.chunk.js": "/react/build/./static/js/251.0a4aa5ea.chunk.js",
"./static/js/252.7bd621cb.chunk.js": "/react/build/./static/js/252.7bd621cb.chunk.js",
"./static/js/253.d1b514da.chunk.js": "/react/build/./static/js/253.d1b514da.chunk.js",
"./static/js/254.80b9e19f.chunk.js": "/react/build/./static/js/254.80b9e19f.chunk.js",
"./static/js/255.b10b3da1.chunk.js": "/react/build/./static/js/255.b10b3da1.chunk.js",
"./static/js/256.5c3bf32e.chunk.js": "/react/build/./static/js/256.5c3bf32e.chunk.js",
"./static/js/257.caadfa9b.chunk.js": "/react/build/./static/js/257.caadfa9b.chunk.js",
"./static/js/258.b1b0e01a.chunk.js": "/react/build/./static/js/258.b1b0e01a.chunk.js",
"./static/js/259.c1757545.chunk.js": "/react/build/./static/js/259.c1757545.chunk.js",
"./static/js/260.f1187346.chunk.js": "/react/build/./static/js/260.f1187346.chunk.js",
"./static/js/261.5ad799a0.chunk.js": "/react/build/./static/js/261.5ad799a0.chunk.js",
"./static/js/262.e1e50e22.chunk.js": "/react/build/./static/js/262.e1e50e22.chunk.js",
"./static/js/263.3d7f395c.chunk.js": "/react/build/./static/js/263.3d7f395c.chunk.js",
"./static/js/264.0711b6c2.chunk.js": "/react/build/./static/js/264.0711b6c2.chunk.js",
"./static/js/265.5d07b33a.chunk.js": "/react/build/./static/js/265.5d07b33a.chunk.js",
"./static/js/266.a8502de4.chunk.js": "/react/build/./static/js/266.a8502de4.chunk.js",
"./static/js/267.ffd4d545.chunk.js": "/react/build/./static/js/267.ffd4d545.chunk.js",
"./static/js/268.1b8b27a0.chunk.js": "/react/build/./static/js/268.1b8b27a0.chunk.js",
"./static/js/269.4db424a5.chunk.js": "/react/build/./static/js/269.4db424a5.chunk.js",
"main.css": "/react/build/static/css/main.9aa2753f.chunk.css",
"main.js": "/react/build/./static/js/main.bc84c346.chunk.js",
"runtime~main.js": "/react/build/./static/js/runtime~main.a3a13891.js",
"./static/js/10.e0a1c8da.chunk.js.LICENSE.txt": "/react/build/./static/js/10.e0a1c8da.chunk.js.LICENSE.txt",
"./static/js/18.b1a95570.chunk.js.LICENSE.txt": "/react/build/./static/js/18.b1a95570.chunk.js.LICENSE.txt",
"./static/js/2.a2657402.chunk.js.LICENSE.txt": "/react/build/./static/js/2.a2657402.chunk.js.LICENSE.txt",
"./static/js/221.1cdc8bb9.chunk.js.LICENSE.txt": "/react/build/./static/js/221.1cdc8bb9.chunk.js.LICENSE.txt",
"./static/js/23.0d819544.chunk.js.LICENSE.txt": "/react/build/./static/js/23.0d819544.chunk.js.LICENSE.txt",
"./static/js/264.0711b6c2.chunk.js.LICENSE.txt": "/react/build/./static/js/264.0711b6c2.chunk.js.LICENSE.txt",
"./static/js/35.70d1eae5.chunk.js.LICENSE.txt": "/react/build/./static/js/35.70d1eae5.chunk.js.LICENSE.txt",
"./static/js/40.dd19e4ae.chunk.js.LICENSE.txt": "/react/build/./static/js/40.dd19e4ae.chunk.js.LICENSE.txt",
"./static/js/44.f6e98158.chunk.js.LICENSE.txt": "/react/build/./static/js/44.f6e98158.chunk.js.LICENSE.txt",
"./static/js/45.02283a3c.chunk.js.LICENSE.txt": "/react/build/./static/js/45.02283a3c.chunk.js.LICENSE.txt",
"./static/js/46.65563171.chunk.js.LICENSE.txt": "/react/build/./static/js/46.65563171.chunk.js.LICENSE.txt",
"./static/js/63.c508f1d6.chunk.js.LICENSE.txt": "/react/build/./static/js/63.c508f1d6.chunk.js.LICENSE.txt",
"./static/js/7.ede75b8b.chunk.js.LICENSE.txt": "/react/build/./static/js/7.ede75b8b.chunk.js.LICENSE.txt",
"./static/js/main.bc84c346.chunk.js.LICENSE.txt": "/react/build/./static/js/main.bc84c346.chunk.js.LICENSE.txt",
"css.worker.js": "/react/build/css.worker.js",
"editor.worker.js": "/react/build/editor.worker.js",
"html.worker.js": "/react/build/html.worker.js",
"index.html": "/react/build/index.html",
"json.worker.js": "/react/build/json.worker.js",
"static/media/Index.scss": "/react/build/static/media/typebg.b2b0ea32.png",
"static/media/2-2-1.png": "/react/build/static/media/2-2-1.afd0f2f5.png",
"static/media/2-2-2.png": "/react/build/static/media/2-2-2.26bc3301.png",
"static/media/2-2-3.png": "/react/build/static/media/2-2-3.6d6ce99c.png",
"static/media/2-2-head.png": "/react/build/static/media/2-2-head.5e69dbb2.png",
"static/media/2-3-1.png": "/react/build/static/media/2-3-1.bcb33d47.png",
"static/media/2-3-2.png": "/react/build/static/media/2-3-2.57ef08ae.png",
"static/media/2-3-3.png": "/react/build/static/media/2-3-3.52733627.png",
"static/media/2-3-4.png": "/react/build/static/media/2-3-4.339b2f1c.png",
"static/media/2-6-1.png": "/react/build/static/media/2-6-1.302b729e.png",
"static/media/2-6-2.png": "/react/build/static/media/2-6-2.b262b91e.png",
"static/media/3-1.png": "/react/build/static/media/3-1.9fdda521.png",
"static/media/3-2.png": "/react/build/static/media/3-2.47050941.png",
"static/media/3-3.png": "/react/build/static/media/3-3.c767aae7.png",
"static/media/3-4.png": "/react/build/static/media/3-4.92820cbc.png",
"static/media/34@2x.png": "/react/build/static/media/34@2x.ed8e5910.png",
"static/media/35@2x.png": "/react/build/static/media/35@2x.33462edc.png",
"static/media/36@2x.png": "/react/build/static/media/36@2x.8f54f5ba.png",
"static/media/37@2x.png": "/react/build/static/media/37@2x.97a40a2a.png",
"static/media/38@2x.png": "/react/build/static/media/38@2x.f072fe68.png",
"static/media/39@2x.png": "/react/build/static/media/39@2x.ee1af05a.png",
"static/media/4-1.png": "/react/build/static/media/4-1.79fa159d.png",
"static/media/4-2.png": "/react/build/static/media/4-2.9c066e75.png",
"static/media/4-3.png": "/react/build/static/media/4-3.a1487a5b.png",
"static/media/4-4.png": "/react/build/static/media/4-4.5eb40734.png",
"static/media/40@2x.png": "/react/build/static/media/40@2x.f10a55e2.png",
"static/media/42@2x.png": "/react/build/static/media/42@2x.25d6b5fd.png",
"static/media/44@2x.png": "/react/build/static/media/44@2x.1374baf9.png",
"static/media/46@2x.png": "/react/build/static/media/46@2x.e272d43e.png",
"static/media/48@2x.png": "/react/build/static/media/48@2x.3bde4de9.png",
"static/media/49.png": "/react/build/static/media/49.b03e6efe.png",
"static/media/50@2x.png": "/react/build/static/media/50@2x.69b76634.png",
"static/media/52@2x.png": "/react/build/static/media/52@2x.41805cbb.png",
"static/media/55@2x.png": "/react/build/static/media/55@2x.83486b73.png",
"static/media/57@2x.png": "/react/build/static/media/57@2x.8dc6b0b8.png",
"static/media/59@2x.png": "/react/build/static/media/59@2x.b0884ef0.png",
"static/media/61@2x.png": "/react/build/static/media/61@2x.99d3cc3e.png",
"static/media/63@2x.png": "/react/build/static/media/63@2x.49f389b9.png",
"static/media/65@2x.png": "/react/build/static/media/65@2x.ef33e2f9.png",
"static/media/67@2x.png": "/react/build/static/media/67@2x.4a4f4b6c.png",
"static/media/69@2x.png": "/react/build/static/media/69@2x.379c6a82.png",
"static/media/70.png": "/react/build/static/media/70.df160b27.png",
"static/media/BJHKHT.png": "/react/build/static/media/BJHKHT.f065403a.png",
"static/media/CEC.png": "/react/build/static/media/CEC.3b748059.png",
"static/media/GFKJ.png": "/react/build/static/media/GFKJ.eb30c414.png",
"static/media/HSKY.png": "/react/build/static/media/HSKY.2e76ba44.png",
"static/media/ISCAS.png": "/react/build/static/media/ISCAS.851fcfda.png",
"static/media/KYRJLM.png": "/react/build/static/media/KYRJLM.2d659e5c.png",
"static/media/katex.min.css": "/react/build/static/media/KaTeX_Typewriter-Regular.d3c8e68f.woff",
"static/media/LC.png": "/react/build/static/media/LC.f247fdb8.png",
"static/media/LSLM.png": "/react/build/static/media/LSLM.99387946.png",
"static/media/ML.png": "/react/build/static/media/ML.08d278e2.png",
"static/media/NJDX.png": "/react/build/static/media/NJDX.bb34b326.png",
"static/media/QH.png": "/react/build/static/media/QH.b57a0131.png",
"static/media/SHJT.png": "/react/build/static/media/SHJT.426bf0c7.png",
"static/media/TX.png": "/react/build/static/media/TX.b703476c.png",
"static/media/WXYJY.png": "/react/build/static/media/WXYJY.21e40191.png",
"static/media/XH.png": "/react/build/static/media/XH.a0a88f17.png",
"static/media/XJY.png": "/react/build/static/media/XJY.b4c57bf1.png",
"static/media/YKD.png": "/react/build/static/media/YKD.4f7e2766.png",
"static/media/ZC.png": "/react/build/static/media/ZC.ad056aa5.png",
"static/media/achievements.png": "/react/build/static/media/achievements.f20b7e39.png",
"static/media/index.scss": "/react/build/static/media/visionBackActive.14814f28.png",
"static/media/back1.png": "/react/build/static/media/back1.1f20bd0a.png",
"static/media/back2.png": "/react/build/static/media/back2.0041bb9e.png",
"static/media/back3.png": "/react/build/static/media/back3.16134f64.png",
"static/media/ball.png": "/react/build/static/media/ball.24214b6e.png",
"static/media/banner-interim.png": "/react/build/static/media/banner-interim.c50ff667.png",
"static/media/banner-interim1.png": "/react/build/static/media/banner-interim1.bc583d0a.png",
"static/media/AboutUs.scss": "/react/build/static/media/teambanner.fad350dd.png",
"static/media/banner.png": "/react/build/static/media/banner.f7da2db1.png",
"static/media/banner2024.jpg": "/react/build/static/media/banner2024.65b24d59.jpg",
"static/media/banner_list.jpg": "/react/build/static/media/banner_list.e02c5e16.jpg",
"static/media/beijing.png": "/react/build/static/media/beijing.bfcd5b0e.png",
"static/media/LoginRegisterPage.scss": "/react/build/static/media/rightBg.55f14f0c.png",
"static/media/bgPng.png": "/react/build/static/media/bgPng.ed010245.png",
"static/media/ccf_logo.png": "/react/build/static/media/ccf_logo.a54fdc70.png",
"static/media/ccf_logo1.png": "/react/build/static/media/ccf_logo1.be10ead7.png",
"static/media/codeafter.png": "/react/build/static/media/codeafter.c3088c74.png",
"static/media/color1.png": "/react/build/static/media/color1.5ec57881.png",
"static/media/color2.png": "/react/build/static/media/color2.a71ab734.png",
"static/media/color3.png": "/react/build/static/media/color3.76d404ab.png",
"static/media/color4.png": "/react/build/static/media/color4.e0954f96.png",
"static/media/indexZone1.scss": "/react/build/static/media/vipTitleBg.64d456e6.png",
"static/media/computer.png": "/react/build/static/media/computer.4fe86b12.png",
"static/media/devops.png": "/react/build/static/media/devops.39983f5b.png",
"static/media/earth.png": "/react/build/static/media/earth.050b1435.png",
"static/media/educoder.png": "/react/build/static/media/educoder.c918f385.png",
"static/media/emp.png": "/react/build/static/media/emp.35f6c709.png",
"static/media/freeBanner.png": "/react/build/static/media/freeBanner.292dbf56.png",
"static/media/fun1.png": "/react/build/static/media/fun1.c99ffa49.png",
"static/media/fun2.png": "/react/build/static/media/fun2.12f22bca.png",
"static/media/fun3.png": "/react/build/static/media/fun3.75c280e6.png",
"static/media/fun4.png": "/react/build/static/media/fun4.f499794e.png",
"static/media/fun5.png": "/react/build/static/media/fun5.96b44942.png",
"static/media/gitee1.svg": "/react/build/static/media/gitee1.279a922b.svg",
"static/media/github2.svg": "/react/build/static/media/github2.95ea181b.svg",
"static/media/gitlink-gz.png": "/react/build/static/media/gitlink-gz.d351910b.png",
"static/media/gitlink-qq.png": "/react/build/static/media/gitlink-qq.90d5ac1b.png",
"static/media/gitlink1.png": "/react/build/static/media/gitlink1.4bf0ed96.png",
"static/media/gitlink2.png": "/react/build/static/media/gitlink2.0ec0ec22.png",
"static/media/green_nodata.png": "/react/build/static/media/green_nodata.be7b538b.png",
"static/media/head.png": "/react/build/static/media/head.52aa3fc8.png",
"static/media/help.png": "/react/build/static/media/help.0bfb2587.png",
"static/media/help_bg.png": "/react/build/static/media/help_bg.d2bb4c18.png",
"static/media/huake.png": "/react/build/static/media/huake.63b6a34d.png",
"static/media/huawei.png": "/react/build/static/media/huawei.73ec7c22.png",
"static/media/icon.svg": "/react/build/static/media/icon.1322725f.svg",
"static/media/ideLogo.svg": "/react/build/static/media/ideLogo.0dca8d76.svg",
"static/media/Teaching.scss": "/react/build/static/media/image22.6ff2b063.svg",
"static/media/img1.png": "/react/build/static/media/img1.fc155528.png",
"static/media/img10.png": "/react/build/static/media/img10.64149a3d.png",
"static/media/img15.png": "/react/build/static/media/img15.87a3556c.png",
"static/media/img16.png": "/react/build/static/media/img16.32badab9.png",
"static/media/img17.png": "/react/build/static/media/img17.c25d5edc.png",
"static/media/img18.png": "/react/build/static/media/img18.4963efc1.png",
"static/media/img2.png": "/react/build/static/media/img2.ae303051.png",
"static/media/img3.png": "/react/build/static/media/img3.cee3ac5b.png",
"static/media/img4.png": "/react/build/static/media/img4.53c937cb.png",
"static/media/img5.png": "/react/build/static/media/img5.ca3a2287.png",
"static/media/img6.png": "/react/build/static/media/img6.8f81bf78.png",
"static/media/img7.png": "/react/build/static/media/img7.e4a68e6e.png",
"static/media/img8.png": "/react/build/static/media/img8.10500e00.png",
"static/media/img9.png": "/react/build/static/media/img9.d25372ba.png",
"static/media/introduce.png": "/react/build/static/media/introduce.30b50cda.png",
"static/media/jijinhui.png": "/react/build/static/media/jijinhui.041fb524.png",
"static/media/lightspot1.png": "/react/build/static/media/lightspot1.9214f0ae.png",
"static/media/lightspot2.png": "/react/build/static/media/lightspot2.b7053786.png",
"static/media/lightspot3.png": "/react/build/static/media/lightspot3.2f8af8da.png",
"static/media/lightspot4.png": "/react/build/static/media/lightspot4.93769763.png",
"static/media/logo.png": "/react/build/static/media/logo.62af9fee.png",
"static/media/logo.svg": "/react/build/static/media/logo.f0d4927b.svg",
"static/media/logo1.png": "/react/build/static/media/logo1.ec3c2e67.png",
"static/media/logo2.png": "/react/build/static/media/logo2.b04c07f2.png",
"static/media/mainbanner.png": "/react/build/static/media/mainbanner.659efd27.png",
"static/media/mulan.png": "/react/build/static/media/mulan.690d2289.png",
"static/media/newsBg.png": "/react/build/static/media/newsBg.66918645.png",
"static/media/nodata.png": "/react/build/static/media/nodata.e34b5912.png",
"static/media/TPMIndex.css": "/react/build/static/media/nps2.d5d0b666.png",
"static/media/phone.svg": "/react/build/static/media/phone.14961064.svg",
"static/media/qqChat.png": "/react/build/static/media/qqChat.9e56cc22.png",
"static/media/resultBanner2.png": "/react/build/static/media/resultBanner2.c3095c5d.png",
"static/media/resultBanner3.png": "/react/build/static/media/resultBanner3.e11193de.png",
"static/media/resultBanner4.png": "/react/build/static/media/resultBanner4.6eda6ee5.png",
"static/media/slick-theme.css": "/react/build/static/media/slick.c94f7671.ttf",
"static/media/sponsor11.png": "/react/build/static/media/sponsor11.5e9da48d.png",
"static/media/sponsor21.png": "/react/build/static/media/sponsor21.8a655acc.png",
"static/media/sponsor22.png": "/react/build/static/media/sponsor22.96e2b643.png",
"static/media/sponsor31.png": "/react/build/static/media/sponsor31.0fd95bcb.png",
"static/media/sponsor33.png": "/react/build/static/media/sponsor33.27be3b2d.png",
"static/media/sponsor42.png": "/react/build/static/media/sponsor42.cac8770a.png",
"static/media/sponsor43.png": "/react/build/static/media/sponsor43.9e4a3afb.png",
"static/media/studentProject.png": "/react/build/static/media/studentProject.f5bd2481.png",
"static/media/studentProject2.png": "/react/build/static/media/studentProject2.78fd5476.png",
"static/media/subtitle.png": "/react/build/static/media/subtitle.5019e086.png",
"static/media/teacher1.png": "/react/build/static/media/teacher1.ee492a9b.png",
"static/media/teacher10.png": "/react/build/static/media/teacher10.9298db29.png",
"static/media/teacher11.png": "/react/build/static/media/teacher11.8a0d8669.png",
"static/media/teacher12.png": "/react/build/static/media/teacher12.47e02224.png",
"static/media/teacher13.png": "/react/build/static/media/teacher13.f7886e36.png",
"static/media/teacher14.png": "/react/build/static/media/teacher14.83b48396.png",
"static/media/teacher15.png": "/react/build/static/media/teacher15.5d777604.png",
"static/media/teacher2.png": "/react/build/static/media/teacher2.b2b9919d.png",
"static/media/teacher3.png": "/react/build/static/media/teacher3.20cb800b.png",
"static/media/teacher4.png": "/react/build/static/media/teacher4.c15a0bda.png",
"static/media/teacher5.png": "/react/build/static/media/teacher5.9397d078.png",
"static/media/teacher6.png": "/react/build/static/media/teacher6.06b6f465.png",
"static/media/teacher7.png": "/react/build/static/media/teacher7.4102dcc1.png",
"static/media/teacher8.png": "/react/build/static/media/teacher8.5d3f117e.png",
"static/media/teacher9.png": "/react/build/static/media/teacher9.69b0adae.png",
"static/media/title.png": "/react/build/static/media/title.132e93bf.png",
"static/media/vision-fw.png": "/react/build/static/media/vision-fw.feb9fd4c.png",
"static/media/vision-jz.png": "/react/build/static/media/vision-jz.a991d471.png",
"static/media/vision-yj.png": "/react/build/static/media/vision-yj.8ca7b113.png",
"static/media/vision-zy.png": "/react/build/static/media/vision-zy.e4ac356e.png",
"static/media/vision0.png": "/react/build/static/media/vision0.c7dbea1d.png",
"static/media/vision1.png": "/react/build/static/media/vision1.072e7be4.png",
"static/media/vision2.png": "/react/build/static/media/vision2.024daa92.png",
"static/media/vision3.png": "/react/build/static/media/vision3.fee43e80.png",
"static/media/xigongye.png": "/react/build/static/media/xigongye.d51231d3.png",
"static/media/xiuos.png": "/react/build/static/media/xiuos.67682257.png",
"static/media/xjy.png": "/react/build/static/media/xjy.6e62f4d6.png",
"static/media/浙江大学.png": "/react/build/static/media/浙江大学.3c545e69.png",
"ts.worker.js": "/react/build/ts.worker.js",
"ts.worker.js.LICENSE.txt": "/react/build/ts.worker.js.LICENSE.txt"
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,239 @@
/*******************************************************************************
* KindEditor - WYSIWYG HTML Editor for Internet
* Copyright (C) 2006-2011 kindsoft.net
*
* @author Roddy <luolonghao@gmail.com>
* @site http://www.kindsoft.net/
* @licence http://www.kindsoft.net/license.php
*******************************************************************************/
KindEditor.lang({
imagedirectupload:'本地图片',
more: '切换到更多功能',
less: '切换到简单功能',
source : 'HTML代码',
preview : '预览',
undo : '后退(Ctrl+Z)',
redo : '前进(Ctrl+Y)',
cut : '剪切(Ctrl+X)',
copy : '复制(Ctrl+C)',
paste : '粘贴(Ctrl+V)',
plainpaste : '粘贴为无格式文本',
wordpaste : '从Word粘贴',
selectall : '全选(Ctrl+A)',
justifyleft : '左对齐',
justifycenter : '居中',
justifyright : '右对齐',
justifyfull : '两端对齐',
insertorderedlist : '编号',
insertunorderedlist : '项目符号',
indent : '增加缩进',
outdent : '减少缩进',
subscript : '下标',
superscript : '上标',
formatblock : '段落',
fontname : '字体',
fontsize : '文字大小',
forecolor : '文字颜色',
hilitecolor : '文字背景',
bold : '粗体(Ctrl+B)',
italic : '斜体(Ctrl+I)',
underline : '下划线(Ctrl+U)',
strikethrough : '删除线',
removeformat : '删除格式',
image : '图片',
multiimage : '批量图片上传',
flash : 'Flash',
media : '视音频',
table : '表格',
tablecell : '单元格',
hr : '插入横线',
emoticons : '插入表情',
link : '超级链接',
unlink : '取消超级链接',
fullscreen : '全屏显示',
about : '关于',
print : '打印(Ctrl+P)',
filemanager : '文件空间',
code : '插入程序代码',
map : 'Google地图',
baidumap : '百度地图',
lineheight : '行距',
clearhtml : '清理HTML代码',
pagebreak : '插入分页符',
quickformat : '一键排版',
insertfile : '插入文件',
template : '插入模板',
anchor : '锚点',
yes : '确定',
no : '取消',
close : '关闭',
editImage : '图片属性',
deleteImage : '删除图片',
editFlash : 'Flash属性',
deleteFlash : '删除Flash',
editMedia : '视音频属性',
deleteMedia : '删除视音频',
editLink : '超级链接属性',
deleteLink : '取消超级链接',
editAnchor : '锚点属性',
deleteAnchor : '删除锚点',
tableprop : '表格属性',
tablecellprop : '单元格属性',
tableinsert : '插入表格',
tabledelete : '删除表格',
tablecolinsertleft : '左侧插入列',
tablecolinsertright : '右侧插入列',
tablerowinsertabove : '上方插入行',
tablerowinsertbelow : '下方插入行',
tablerowmerge : '向下合并单元格',
tablecolmerge : '向右合并单元格',
tablerowsplit : '拆分行',
tablecolsplit : '拆分列',
tablecoldelete : '删除列',
tablerowdelete : '删除行',
noColor : '无颜色',
pleaseSelectFile : '请选择文件。',
invalidImg : "请输入有效的URL地址。\n只允许jpg,gif,bmp,png格式。",
invalidMedia : "请输入有效的URL地址。\n只允许swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb格式。",
invalidWidth : "宽度必须为数字。",
invalidHeight : "高度必须为数字。",
invalidBorder : "边框必须为数字。",
invalidUrl : "请输入有效的URL地址。",
invalidRows : '行数为必选项只允许输入大于0的数字。',
invalidCols : '列数为必选项只允许输入大于0的数字。',
invalidPadding : '边距必须为数字。',
invalidSpacing : '间距必须为数字。',
invalidJson : '服务器发生故障。',
uploadSuccess : '上传成功。',
cutError : '您的浏览器安全设置不允许使用剪切操作,请使用快捷键(Ctrl+X)来完成。',
copyError : '您的浏览器安全设置不允许使用复制操作,请使用快捷键(Ctrl+C)来完成。',
pasteError : '您的浏览器安全设置不允许使用粘贴操作,请使用快捷键(Ctrl+V)来完成。',
ajaxLoading : '加载中,请稍候 ...',
uploadLoading : '上传中,请稍候 ...',
uploadError : '上传错误',
'plainpaste.comment' : '请使用快捷键(Ctrl+V)把内容粘贴到下面的方框里。',
'wordpaste.comment' : '请使用快捷键(Ctrl+V)把内容粘贴到下面的方框里。',
'code.pleaseInput' : '请输入程序代码。',
'link.url' : 'URL',
'link.linkType' : '打开类型',
'link.newWindow' : '新窗口',
'link.selfWindow' : '当前窗口',
'flash.url' : 'URL',
'flash.width' : '宽度',
'flash.height' : '高度',
'flash.upload' : '上传',
'flash.viewServer' : '文件空间',
'media.url' : 'URL',
'media.width' : '宽度',
'media.height' : '高度',
'media.autostart' : '自动播放',
'media.upload' : '上传',
'media.viewServer' : '文件空间',
'image.remoteImage' : '网络图片',
'image.localImage' : '本地上传',
'image.remoteUrl' : '图片地址',
'image.localUrl' : '上传文件',
'image.size' : '图片大小',
'image.width' : '宽',
'image.height' : '高',
'image.resetSize' : '重置大小',
'image.align' : '对齐方式',
'image.defaultAlign' : '默认方式',
'image.leftAlign' : '左对齐',
'image.rightAlign' : '右对齐',
'image.imgTitle' : '图片说明',
'image.upload' : '浏览...',
'image.viewServer' : '图片空间',
'multiimage.uploadDesc' : '允许用户同时上传<%=uploadLimit%>张图片,单张图片容量不超过<%=sizeLimit%>',
'multiimage.startUpload' : '开始上传',
'multiimage.clearAll' : '全部清空',
'multiimage.insertAll' : '全部插入',
'multiimage.queueLimitExceeded' : '文件数量超过限制。',
'multiimage.fileExceedsSizeLimit' : '文件大小超过限制。',
'multiimage.zeroByteFile' : '无法上传空文件。',
'multiimage.invalidFiletype' : '文件类型不正确。',
'multiimage.unknownError' : '发生异常,无法上传。',
'multiimage.pending' : '等待上传',
'multiimage.uploadError' : '上传失败',
'filemanager.emptyFolder' : '空文件夹',
'filemanager.moveup' : '移到上一级文件夹',
'filemanager.viewType' : '显示方式:',
'filemanager.viewImage' : '缩略图',
'filemanager.listImage' : '详细信息',
'filemanager.orderType' : '排序方式:',
'filemanager.fileName' : '名称',
'filemanager.fileSize' : '大小',
'filemanager.fileType' : '类型',
'insertfile.url' : 'URL',
'insertfile.title' : '文件说明',
'insertfile.upload' : '上传',
'insertfile.viewServer' : '文件空间',
'table.cells' : '单元格数',
'table.rows' : '行数',
'table.cols' : '列数',
'table.size' : '大小',
'table.width' : '宽度',
'table.height' : '高度',
'table.percent' : '%',
'table.px' : 'px',
'table.space' : '边距间距',
'table.padding' : '边距',
'table.spacing' : '间距',
'table.align' : '对齐方式',
'table.textAlign' : '水平对齐',
'table.verticalAlign' : '垂直对齐',
'table.alignDefault' : '默认',
'table.alignLeft' : '左对齐',
'table.alignCenter' : '居中',
'table.alignRight' : '右对齐',
'table.alignTop' : '顶部',
'table.alignMiddle' : '中部',
'table.alignBottom' : '底部',
'table.alignBaseline' : '基线',
'table.border' : '边框',
'table.borderWidth' : '边框',
'table.borderColor' : '颜色',
'table.backgroundColor' : '背景颜色',
'map.address' : '地址: ',
'map.search' : '搜索',
'baidumap.address' : '地址: ',
'baidumap.search' : '搜索',
'baidumap.insertDynamicMap' : '插入动态地图',
'anchor.name' : '锚点名称',
'formatblock.formatBlock' : {
h1 : '标题 1',
h2 : '标题 2',
h3 : '标题 3',
h4 : '标题 4',
p : '正 文'
},
'fontname.fontName' : {
'SimSun' : '宋体',
'NSimSun' : '新宋体',
'FangSong_GB2312' : '仿宋_GB2312',
'KaiTi_GB2312' : '楷体_GB2312',
'SimHei' : '黑体',
'Microsoft YaHei' : '微软雅黑',
'Arial' : 'Arial',
'Arial Black' : 'Arial Black',
'Times New Roman' : 'Times New Roman',
'Courier New' : 'Courier New',
'Tahoma' : 'Tahoma',
'Verdana' : 'Verdana'
},
'lineheight.lineHeight' : [
{'1' : '单倍行距'},
{'1.5' : '1.5倍行距'},
{'2' : '2倍行距'},
{'2.5' : '2.5倍行距'},
{'3' : '3倍行距'}
],
'template.selectTemplate' : '可选模板',
'template.replaceContent' : '替换当前内容',
'template.fileList' : {
'1.html' : '图片和文字',
'2.html' : '表格',
'3.html' : '项目编号'
}
}, 'zh_CN');

View File

@ -0,0 +1,71 @@
/*******************************************************************************
* KindEditor - WYSIWYG HTML Editor for Internet
* Copyright (C) 2006-2011 kindsoft.net
*
* @author Roddy <luolonghao@gmail.com>
* @site http://www.kindsoft.net/
* @licence http://www.kindsoft.net/license.php
*******************************************************************************/
KindEditor.plugin('autoheight', function(K) {
var self = this;
//self.autoHeightMode = true;
if (!self.autoHeightMode) {
return;
}
var minHeight;
function hideScroll() {
var edit = self.edit;
var body = edit.doc.body;
edit.iframe[0].scroll = 'no';
body.style.overflowY = 'hidden';
}
function resetHeight() {
var edit = self.edit;
var body = edit.doc.body;
edit.iframe.height(minHeight);
//最高418 超过用滚动条
self.resize(null, Math.max(
(K.IE ? body.scrollHeight : body.offsetHeight) > 385 ? 385+33 : (K.IE ? body.scrollHeight : body.offsetHeight)
+ 33, minHeight));
if( self.height == "418px" ){
edit.iframe[0].scroll = 'yes';
body.style.overflowY = 'auto';
}
else{
hideScroll();
}
}
function init() {
minHeight = K.removeUnit(self.height);
self.edit.afterChange(resetHeight);
hideScroll();
var edit = self.edit;
var body = edit.doc.body;
edit.iframe.height(minHeight);
self.resize(null, Math.max(
((K.IE ? body.scrollHeight : body.offsetHeight) > 250 ? 250 : (K.IE ? body.scrollHeight : body.offsetHeight)) //限制初始化太高的情况
+ 33, minHeight));
}
if (self.isCreated) {
init();
} else {
self.afterCreate(init);
}
});
/*
* 如何实现真正的自动高度
* 修改编辑器高度之后再次获取body内容高度时最小值只会是当前iframe的设置高度这样就导致高度只增不减
* 所以每次获取body内容高度之前先将iframe的高度重置为最小高度这样就能获取body的实际高度
* 由此就实现了真正的自动高度
* 测试chromefirefoxIE9IE8
* */

View File

@ -0,0 +1,56 @@
.ke-content {
font-family: "微软雅黑","宋体";
}
.ke-content pre {
font-size:9pt;
font-family:Courier New,Arial;
border:1px solid #ddd;
border-left:5px solid #6CE26C;
background:#f6f6f6;
padding:5px;
}
.ke-content code {
margin: 0 2px;
padding: 0 5px;
white-space: nowrap;
border: 1px solid #DDD;
background-color: #F6F6F6;
border-radius: 3px;
}
.ke-content pre>code {
margin: 0;
padding: 0;
white-space: pre;
border: none;
background: transparent;
}
.ke-content pre code {
background-color: transparent;
border: none;
}
.ke-content p {
/*margin: 0 0 15px 0;*/
/*margin-bottom:15pt;*/
line-height:1.5;
/*letter-spacing: 1px;*/
}
.ke-content div.ref {border:1px solid #ddd;margin:0 0 10px 0;padding:2px;font-size:9pt;background:#ffe;}
.ke-content div.ref h4 {margin:0;padding:1px 3px;background:#CC9966;color:#fff;font-size:9pt;font-weight:normal;}
.ke-content div.ref .ref_body {margin:0;padding:2px;line-height:20px;color:#666;font-size:9pt;}
.ke-content blockquote{background: none;border: none;padding: 0px;margin: 0 0 0 40px;}
span.at {color:#269ac9;}
span.at a{color:#269ac9;text-decoration: none;}
/*yk*/
.ke-content ol li{list-style-type: decimal;}
.ke-content ul li{list-style-type: disc;}
.ke-content ol,.ke-content ul,.ke-content h1,.ke-content h2,.ke-content h3,.ke-content h4{margin-top:0;margin-bottom: 0;}
.ke-content a{color: #136ec2;}
.ke-content a:link,.ke-content a:visited{text-decoration:none;}

View File

@ -0,0 +1,361 @@
// Generated by CoffeeScript 1.9.0
/*
paste.js is an interface to read data ( text / image ) from clipboard in different browsers. It also contains several hacks.
https://github.com/layerssss/paste.js
*/
(function() {
var $, Paste, createHiddenEditable, dataURLtoBlob;
$ = window.jQuery;
$.paste = function(pasteContainer) {
var pm;
if (typeof console !== "undefined" && console !== null) {
console.log("DEPRECATED: This method is deprecated. Please use $.fn.pastableNonInputable() instead.");
}
pm = Paste.mountNonInputable(pasteContainer);
return pm._container;
};
$.fn.pastableNonInputable = function() {
var el, _i, _len;
for (_i = 0, _len = this.length; _i < _len; _i++) {
el = this[_i];
Paste.mountNonInputable(el);
}
return this;
};
$.fn.pastableTextarea = function() {
var el, _i, _len;
for (_i = 0, _len = this.length; _i < _len; _i++) {
el = this[_i];
Paste.mountTextarea(el);
}
return this;
};
$.fn.pastableContenteditable = function() {
var el, _i, _len;
for (_i = 0, _len = this.length; _i < _len; _i++) {
el = this[_i];
Paste.mountContenteditable(el);
}
return this;
};
dataURLtoBlob = function(dataURL, sliceSize) {
var b64Data, byteArray, byteArrays, byteCharacters, byteNumbers, contentType, i, m, offset, slice, _ref;
if (sliceSize == null) {
sliceSize = 512;
}
if (!(m = dataURL.match(/^data\:([^\;]+)\;base64\,(.+)$/))) {
return null;
}
_ref = m, m = _ref[0], contentType = _ref[1], b64Data = _ref[2];
byteCharacters = atob(b64Data);
byteArrays = [];
offset = 0;
while (offset < byteCharacters.length) {
slice = byteCharacters.slice(offset, offset + sliceSize);
byteNumbers = new Array(slice.length);
i = 0;
while (i < slice.length) {
byteNumbers[i] = slice.charCodeAt(i);
i++;
}
byteArray = new Uint8Array(byteNumbers);
byteArrays.push(byteArray);
offset += sliceSize;
}
return new Blob(byteArrays, {
type: contentType
});
};
createHiddenEditable = function() {
return $(document.createElement('div')).attr('contenteditable', true).css({
width: 1,
height: 1,
position: 'fixed',
left: -100,
overflow: 'hidden'
});
};
Paste = (function() {
Paste.prototype._target = null;
Paste.prototype._container = null;
Paste.mountNonInputable = function(nonInputable) {
var paste;
paste = new Paste(createHiddenEditable().appendTo(nonInputable), nonInputable);
$(nonInputable).on('click', (function(_this) {
return function() {
return paste._container.focus();
};
})(this));
paste._container.on('focus', (function(_this) {
return function() {
return $(nonInputable).addClass('pastable-focus');
};
})(this));
return paste._container.on('blur', (function(_this) {
return function() {
return $(nonInputable).removeClass('pastable-focus');
};
})(this));
};
Paste.mountTextarea = function(textarea) {
var ctlDown, paste;
if (-1 !== navigator.userAgent.toLowerCase().indexOf('chrome')) {
return this.mountContenteditable(textarea);
}
paste = new Paste(createHiddenEditable().insertBefore(textarea), textarea);
ctlDown = false;
$(textarea).on('keyup', function(ev) {
var _ref;
if ((_ref = ev.keyCode) === 17 || _ref === 224) {
return ctlDown = false;
}
});
$(textarea).on('keydown', function(ev) {
var _ref;
if ((_ref = ev.keyCode) === 17 || _ref === 224) {
ctlDown = true;
}
if (ctlDown && ev.keyCode === 86) {
return paste._container.focus();
}
});
$(paste._target).on('pasteImage', (function(_this) {
return function() {
return $(textarea).focus();
};
})(this));
$(paste._target).on('pasteText', (function(_this) {
return function() {
return $(textarea).focus();
};
})(this));
$(textarea).on('focus', (function(_this) {
return function() {
return $(textarea).addClass('pastable-focus');
};
})(this));
return $(textarea).on('blur', (function(_this) {
return function() {
return $(textarea).removeClass('pastable-focus');
};
})(this));
};
Paste.mountContenteditable = function(contenteditable) {
var paste;
paste = new Paste(contenteditable, contenteditable);
$(contenteditable).on('focus', (function(_this) {
return function() {
return $(contenteditable).addClass('pastable-focus');
};
})(this));
return $(contenteditable).on('blur', (function(_this) {
return function() {
return $(contenteditable).removeClass('pastable-focus');
};
})(this));
};
function Paste(_at__container, _at__target) {
this._container = _at__container;
this._target = _at__target;
this._container = $(this._container);
this._target = $(this._target).addClass('pastable');
this._container.on('paste', (function(_this) {
return function(ev) {
var clipboardData, file, item, reader, text, _i, _j, _len, _len1, _ref, _ref1, _ref2, _ref3, _results;
if (((_ref = ev.originalEvent) != null ? _ref.clipboardData : void 0) != null) {
clipboardData = ev.originalEvent.clipboardData;
if (clipboardData.items) {
_ref1 = clipboardData.items;
for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
item = _ref1[_i];
if (item.type.match(/^image\//)) {
reader = new FileReader();
reader.onload = function(event) {
return _this._handleImage(event.target.result);
};
reader.readAsDataURL(item.getAsFile());
}
if (item.type === 'text/plain') {
item.getAsString(function(string) {
return _this._target.trigger('pasteText', {
text: string
});
});
}
}
} else {
if (-1 !== Array.prototype.indexOf.call(clipboardData.types, 'text/plain')) {
text = clipboardData.getData('Text');
_this._target.trigger('pasteText', {
text: text
});
}
_this._checkImagesInContainer(function(src) {
return _this._handleImage(src);
});
}
}
if (clipboardData = window.clipboardData) {
if ((_ref2 = (text = clipboardData.getData('Text'))) != null ? _ref2.length : void 0) {
return _this._target.trigger('pasteText', {
text: text
});
} else {
_ref3 = clipboardData.files;
_results = [];
for (_j = 0, _len1 = _ref3.length; _j < _len1; _j++) {
file = _ref3[_j];
_this._handleImage(URL.createObjectURL(file));
_results.push(_this._checkImagesInContainer(function() {}));
}
return _results;
}
}
};
})(this));
}
Paste.prototype._handleImage = function(src) {
var loader;
loader = new Image();
loader.onload = (function(_this) {
return function() {
var blob, canvas, ctx, dataURL;
canvas = document.createElement('canvas');
canvas.width = loader.width;
canvas.height = loader.height;
ctx = canvas.getContext('2d');
ctx.drawImage(loader, 0, 0, canvas.width, canvas.height);
dataURL = null;
try {
dataURL = canvas.toDataURL('image/png');
blob = dataURLtoBlob(dataURL);
} catch (_error) {}
if (dataURL) {
return _this._target.trigger('pasteImage', {
blob: blob,
dataURL: dataURL,
width: loader.width,
height: loader.height
});
}
};
})(this);
return loader.src = src;
};
Paste.prototype._checkImagesInContainer = function(cb) {
var img, timespan, _i, _len, _ref;
timespan = Math.floor(1000 * Math.random());
_ref = this._container.find('img');
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
img = _ref[_i];
img["_paste_marked_" + timespan] = true;
}
return setTimeout((function(_this) {
return function() {
var _j, _len1, _ref1, _results;
_ref1 = _this._container.find('img');
_results = [];
for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
img = _ref1[_j];
if (!img["_paste_marked_" + timespan]) {
cb(img.src);
}
//firefox问题处理因为采用了 pastableContenteditable 模式,故只需要删除默认的粘贴
if ($(img).attr('src').startsWith('data:image/')) {
_results.push($(img).remove());
};
}
return _results;
};
})(this), 1);
};
return Paste;
})();
}).call(this);
KindEditor.plugin('paste', function(K) {
var editor = this,
name = 'paste';
if(editor.edit == undefined || editor.edit.iframe == undefined){
return;
}
var contentWindow = editor.edit.iframe[0].contentWindow;
//var contentWindow = editor.iframeDoc;
//var contentWindow = document.getElementsByTagName('iframe')[0].contentWindow;
var nodeBody = contentWindow.document.getElementsByTagName('body')[0];
console.log(nodeBody);
$(nodeBody).pastableContenteditable();
dataURItoBlob = function(dataURI) {
// convert base64/URLEncoded data component to raw binary data held in a string
var byteString;
if (dataURI.split(',')[0].indexOf('base64') >= 0)
byteString = atob(dataURI.split(',')[1]);
else
byteString = unescape(dataURI.split(',')[1]);
// separate out the mime component
var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
// write the bytes of the string to a typed array
var ia = new Uint8Array(byteString.length);
for (var i = 0; i < byteString.length; i++) {
ia[i] = byteString.charCodeAt(i);
}
return new Blob([ia], {type:mimeString});
};
$(nodeBody).on('pasteImage', function(ev, data) {
console.log('pasteImage');
console.log("dataURL: " + data.dataURL);
console.log("width: " + data.width);
console.log("height: " + data.height);
var blob = dataURItoBlob(data.dataURL);
if (data.blob !== null) {
var data = new FormData();
// data.append("imgFile",blob, "imageFilename.png");
data.append("file",blob, "imageFilename.png");
console.log(data);
$.ajax({
url: '/kindeditor/upload?dir=image',
url: '/api/attachments.json',
contentType: false,
type: 'POST',
data: data,
processData: false,
success: function(data) {
console.log(data);
// editor.exec('insertimage', JSON.parse(data).url);
// /api/attachments/227362
editor.exec('insertimage', '/api/attachments/' + data.id);
}
});
}
});
return;
});

File diff suppressed because it is too large Load Diff

1
css.worker.js Normal file

File diff suppressed because one or more lines are too long

1
css/alex/alex.all.global.min.css vendored Normal file

File diff suppressed because one or more lines are too long

539
css/demo.css Normal file
View File

@ -0,0 +1,539 @@
/* Logo 字体 */
@font-face {
font-family: "iconfont logo";
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
}
.logo {
font-family: "iconfont logo";
font-size: 160px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* tabs */
.nav-tabs {
position: relative;
}
.nav-tabs .nav-more {
position: absolute;
right: 0;
bottom: 0;
height: 42px;
line-height: 42px;
color: #666;
}
#tabs {
border-bottom: 1px solid #eee;
}
#tabs li {
cursor: pointer;
width: 100px;
height: 40px;
line-height: 40px;
text-align: center;
font-size: 16px;
border-bottom: 2px solid transparent;
position: relative;
z-index: 1;
margin-bottom: -1px;
color: #666;
}
#tabs .active {
border-bottom-color: #f00;
color: #222;
}
.tab-container .content {
display: none;
}
/* 页面布局 */
.main {
padding: 30px 100px;
width: 960px;
margin: 0 auto;
}
.main .logo {
color: #333;
text-align: left;
margin-bottom: 30px;
line-height: 1;
height: 110px;
margin-top: -50px;
overflow: hidden;
*zoom: 1;
}
.main .logo a {
font-size: 160px;
color: #333;
}
.helps {
margin-top: 40px;
}
.helps pre {
padding: 20px;
margin: 10px 0;
border: solid 1px #e7e1cd;
background-color: #fffdef;
overflow: auto;
}
.icon_lists {
width: 100% !important;
overflow: hidden;
*zoom: 1;
}
.icon_lists li {
width: 100px;
margin-bottom: 10px;
margin-right: 20px;
text-align: center;
list-style: none !important;
cursor: default;
}
.icon_lists li .code-name {
line-height: 1.2;
}
.icon_lists .icon {
display: block;
height: 100px;
line-height: 100px;
font-size: 42px;
margin: 10px auto;
color: #333;
-webkit-transition: font-size 0.25s linear, width 0.25s linear;
-moz-transition: font-size 0.25s linear, width 0.25s linear;
transition: font-size 0.25s linear, width 0.25s linear;
}
.icon_lists .icon:hover {
font-size: 100px;
}
.icon_lists .svg-icon {
/* 通过设置 font-size 来改变图标大小 */
width: 1em;
/* 图标和文字相邻时,垂直对齐 */
vertical-align: -0.15em;
/* 通过设置 color 来改变 SVG 的颜色/fill */
fill: currentColor;
/* path stroke 溢出 viewBox 部分在 IE 下会显示
normalize.css 中也包含这行 */
overflow: hidden;
}
.icon_lists li .name,
.icon_lists li .code-name {
color: #666;
}
/* markdown 样式 */
.markdown {
color: #666;
font-size: 14px;
line-height: 1.8;
}
.highlight {
line-height: 1.5;
}
.markdown img {
vertical-align: middle;
max-width: 100%;
}
.markdown h1 {
color: #404040;
font-weight: 500;
line-height: 40px;
margin-bottom: 24px;
}
.markdown h2,
.markdown h3,
.markdown h4,
.markdown h5,
.markdown h6 {
color: #404040;
margin: 1.6em 0 0.6em 0;
font-weight: 500;
clear: both;
}
.markdown h1 {
font-size: 28px;
}
.markdown h2 {
font-size: 22px;
}
.markdown h3 {
font-size: 16px;
}
.markdown h4 {
font-size: 14px;
}
.markdown h5 {
font-size: 12px;
}
.markdown h6 {
font-size: 12px;
}
.markdown hr {
height: 1px;
border: 0;
background: #e9e9e9;
margin: 16px 0;
clear: both;
}
.markdown p {
margin: 1em 0;
}
.markdown>p,
.markdown>blockquote,
.markdown>.highlight,
.markdown>ol,
.markdown>ul {
width: 80%;
}
.markdown ul>li {
list-style: circle;
}
.markdown>ul li,
.markdown blockquote ul>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown>ul li p,
.markdown>ol li p {
margin: 0.6em 0;
}
.markdown ol>li {
list-style: decimal;
}
.markdown>ol li,
.markdown blockquote ol>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown code {
margin: 0 3px;
padding: 0 5px;
background: #eee;
border-radius: 3px;
}
.markdown strong,
.markdown b {
font-weight: 600;
}
.markdown>table {
border-collapse: collapse;
border-spacing: 0px;
empty-cells: show;
border: 1px solid #e9e9e9;
width: 95%;
margin-bottom: 24px;
}
.markdown>table th {
white-space: nowrap;
color: #333;
font-weight: 600;
}
.markdown>table th,
.markdown>table td {
border: 1px solid #e9e9e9;
padding: 8px 16px;
text-align: left;
}
.markdown>table th {
background: #F7F7F7;
}
.markdown blockquote {
font-size: 90%;
color: #999;
border-left: 4px solid #e9e9e9;
padding-left: 0.8em;
margin: 1em 0;
}
.markdown blockquote p {
margin: 0;
}
.markdown .anchor {
opacity: 0;
transition: opacity 0.3s ease;
margin-left: 8px;
}
.markdown .waiting {
color: #ccc;
}
.markdown h1:hover .anchor,
.markdown h2:hover .anchor,
.markdown h3:hover .anchor,
.markdown h4:hover .anchor,
.markdown h5:hover .anchor,
.markdown h6:hover .anchor {
opacity: 1;
display: inline-block;
}
.markdown>br,
.markdown>p>br {
clear: both;
}
.hljs {
display: block;
background: white;
padding: 0.5em;
color: #333333;
overflow-x: auto;
}
.hljs-comment,
.hljs-meta {
color: #969896;
}
.hljs-string,
.hljs-variable,
.hljs-template-variable,
.hljs-strong,
.hljs-emphasis,
.hljs-quote {
color: #df5000;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-type {
color: #a71d5d;
}
.hljs-literal,
.hljs-symbol,
.hljs-bullet,
.hljs-attribute {
color: #0086b3;
}
.hljs-section,
.hljs-name {
color: #63a35c;
}
.hljs-tag {
color: #333333;
}
.hljs-title,
.hljs-attr,
.hljs-selector-id,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo {
color: #795da3;
}
.hljs-addition {
color: #55a532;
background-color: #eaffea;
}
.hljs-deletion {
color: #bd2c00;
background-color: #ffecec;
}
.hljs-link {
text-decoration: underline;
}
/* 代码高亮 */
/* PrismJS 1.15.0
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
background: none;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre)>code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre)>code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #9a6e3a;
background: hsla(0, 0%, 100%, .5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function,
.token.class-name {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}

5
css/editormd.min.css vendored Executable file

File diff suppressed because one or more lines are too long

7877
css/edu-all.css Normal file

File diff suppressed because it is too large Load Diff

3511
css/edu-common.css Executable file

File diff suppressed because it is too large Load Diff

4215
css/edu-main.css Normal file

File diff suppressed because it is too large Load Diff

2411
css/edu-public.css Executable file

File diff suppressed because it is too large Load Diff

6675
css/edu-purge.css Normal file

File diff suppressed because it is too large Load Diff

1
css/gitlink.min.css vendored Normal file

File diff suppressed because one or more lines are too long

3551
css/iconfont.css Normal file

File diff suppressed because it is too large Load Diff

1
css/iconfont.js Normal file

File diff suppressed because one or more lines are too long

6197
css/iconfont.json Normal file

File diff suppressed because it is too large Load Diff

BIN
css/iconfont.ttf Normal file

Binary file not shown.

BIN
css/iconfont.woff Normal file

Binary file not shown.

BIN
css/iconfont.woff2 Normal file

Binary file not shown.

111
css/merge.css Executable file
View File

@ -0,0 +1,111 @@
.CodeMirror-merge {
position: relative;
white-space: pre;
}
.CodeMirror-merge, .CodeMirror-merge .CodeMirror {
min-height:50px;
}
.CodeMirror-merge-2pane .CodeMirror-merge-pane { width: 48%; }
.CodeMirror-merge-2pane .CodeMirror-merge-gap { width: 4%; }
.CodeMirror-merge-3pane .CodeMirror-merge-pane { width: 31%; }
.CodeMirror-merge-3pane .CodeMirror-merge-gap { width: 3.5%; }
.CodeMirror-merge-pane {
display: inline-block;
white-space: normal;
vertical-align: top;
}
.CodeMirror-merge-pane-rightmost {
position: absolute;
right: 0px;
z-index: 1;
}
.CodeMirror-merge-gap {
z-index: 2;
display: inline-block;
height: 100%;
-moz-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
position: relative;
background: #515151;
}
.CodeMirror-merge-scrolllock-wrap {
position: absolute;
bottom: 0; left: 50%;
}
.CodeMirror-merge-scrolllock {
position: relative;
left: -50%;
cursor: pointer;
color: #d8d8d8;
line-height: 1;
}
.CodeMirror-merge-copybuttons-left, .CodeMirror-merge-copybuttons-right {
position: absolute;
left: 0; top: 0;
right: 0; bottom: 0;
line-height: 1;
}
.CodeMirror-merge-copy {
position: absolute;
cursor: pointer;
color: #ce374b;
z-index: 3;
}
.CodeMirror-merge-copy-reverse {
position: absolute;
cursor: pointer;
color: #44c;
}
.CodeMirror-merge-copybuttons-left .CodeMirror-merge-copy { left: 2px; }
.CodeMirror-merge-copybuttons-right .CodeMirror-merge-copy { right: 2px; }
.CodeMirror-merge-r-inserted, .CodeMirror-merge-l-inserted {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAAGUlEQVQI12MwuCXy3+CWyH8GBgYGJgYkAABZbAQ9ELXurwAAAABJRU5ErkJggg==);
background-position: bottom left;
background-repeat: repeat-x;
}
.CodeMirror-merge-r-deleted, .CodeMirror-merge-l-deleted {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAAGUlEQVQI12M4Kyb2/6yY2H8GBgYGJgYkAABURgPz6Ks7wQAAAABJRU5ErkJggg==);
background-position: bottom left;
background-repeat: repeat-x;
}
.CodeMirror-merge-r-chunk { background: #9a6868; }
.CodeMirror-merge-r-chunk-start { /*border-top: 1px solid #ee8; */}
.CodeMirror-merge-r-chunk-end {/* border-bottom: 1px solid #ee8; */}
.CodeMirror-merge-r-connect { fill:#9a6868;}
.CodeMirror-merge-l-chunk { background: #eef; }
.CodeMirror-merge-l-chunk-start { border-top: 1px solid #88e; }
.CodeMirror-merge-l-chunk-end { border-bottom: 1px solid #88e; }
.CodeMirror-merge-l-connect { fill: #eef; stroke: #88e; stroke-width: 1px; }
.CodeMirror-merge-l-chunk.CodeMirror-merge-r-chunk { background: #dfd; }
.CodeMirror-merge-l-chunk-start.CodeMirror-merge-r-chunk-start { border-top: 1px solid #4e4; }
.CodeMirror-merge-l-chunk-end.CodeMirror-merge-r-chunk-end { border-bottom: 1px solid #4e4; }
.CodeMirror-merge-collapsed-widget:before {
content: "(...)";
}
.CodeMirror-merge-collapsed-widget {
cursor: pointer;
color: #88b;
background: #eef;
border: 1px solid #ddf;
font-size: 90%;
padding: 0 3px;
border-radius: 4px;
}
.CodeMirror-merge-collapsed-line .CodeMirror-gutter-elt { display: none; }

1
editor.worker.js Normal file

File diff suppressed because one or more lines are too long

BIN
favicon-.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

BIN
fonts/FontAwesome.otf Executable file

Binary file not shown.

BIN
fonts/fontawesome-webfont.eot Executable file

Binary file not shown.

2671
fonts/fontawesome-webfont.svg Executable file

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 434 KiB

BIN
fonts/fontawesome-webfont.ttf Executable file

Binary file not shown.

BIN
fonts/fontawesome-webfont.woff Executable file

Binary file not shown.

BIN
fonts/fontawesome-webfont.woff2 Executable file

Binary file not shown.

1
html.worker.js Normal file

File diff suppressed because one or more lines are too long

BIN
images/loading@2x.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
images/share_logo_icon.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
images/testPicture.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

1
index.html Normal file
View File

@ -0,0 +1 @@
<!doctype html><html lang="zh-hans-CN" class="notranslate translated-ltr" translate="no"><head><title>GitLink | 新一代开源创新服务平台</title><meta charset="utf-8"><meta name="Keywords" content="GitLink, git, 开源, 代码托管, 项目管理, 版本控制, 代码分享, 项目协作, 协同开发平台"><meta name="description" content="GitLink 是一个新一代的开源创新服务平台,提供分布式协作开发、流水线运维、代码分析等功能,基于 Git 打造分布式代码托管环境。"><meta property="og:title" content="GitLink | 确实开源"/><meta property="og:type" content="website"/><meta property="og:url" content="https://gitlink.org.cn/"/><meta property="og:image" content="https://www.gitlink.org.cn/images/logo.png"/><meta property="og:image:alt" content="GitLink | 确实开源"/><meta property="og:site_name" content="GitLink"/><meta property="og:description" content="GitLink 是一个新一代的开源创新服务平台,提供分布式协作开发、流水线运维、代码分析等功能,基于 Git 打造分布式代码托管环境。"/><meta name="hostname" content="gitlink.org.cn"><meta name="keyboard-shortcuts-preference" content="all"><meta name="expected-hostname" content="gitlink.org.cn"><meta name="go-import" content="gitlink.org.cn git https://gitlink.org.cn"><meta name="octolytics-dimension-user_login" content="GitLink"><meta name="octolytics-dimension-repository_nwo" content="GitLink"><meta name="octolytics-dimension-repository_network_root_nwo" content="GitLink"><meta name="theme-color" content="#000000"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="referrer" content="always"><link rel="canonical" href="https://gitlink.org.cn" data-turbo-transient=""><link rel="fluid-icon" href="https://www.gitlink.org.cn/images/logo.png" title="GitLink"><link rel="manifest" href="/react/build//manifest.json"><link rel="stylesheet" href="/react/build/css/alex/alex.all.global.min.css"><link rel="stylesheet" href="/react/build/css/iconfont.css"><link rel="stylesheet" href="/react/build/css/editormd.min.css"><link rel="stylesheet" href="/react/build/css/gitlink.min.css"><link href="/react/build/static/css/main.9aa2753f.chunk.css" rel="stylesheet"></head><body><div id="md_div" style="display:none"></div><div id="root" class="page -layout-v -fit widthunit"></div><div id="picture_display" style="display:none"></div><script src="https://gw.alipayobjects.com/os/lib/react/16.14.0/umd/react.production.min.js"></script><script src="https://gw.alipayobjects.com/os/lib/react-dom/16.14.0/umd/react-dom.production.min.js"></script><script src="/react/build/js/jquery-1.8.3.min.js"></script><script src="/react/build/js/js_min_all.js"></script><script src="/react/build/js/codemirror/codemirror.js"></script><script src="/react/build/js/editormd/editormd.min.js"></script><script src="/react/build/js/codemirror/merge/merge.js"></script><script src="/react/build/js/alex/moment.js"></script><script src="https://gw.alipayobjects.com/os/lib/alipay/alex/2.0.19/bundle/alex.all.global.min.js"></script><meta name="viewport" content=""><script src="/react/build/./static/js/runtime~main.a3a13891.js"></script><script src="/react/build/./static/js/main.bc84c346.chunk.js"></script><script>var _hmt=_hmt||[];!function(){var t=document.createElement("script");t.src="https://hm.baidu.com/hm.js?7e2def1fe918f15f9f1c5c061f69b256";var e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(t,e)}(),window.onload=function(){$(".newContainer").delegate("a.anchors","click",(function(){let t=$(this).offset().top-180;return $("html,body").animate({scrollTop:t},10),window.location.hash=$(this).attr("name"),!1}))}</script></body></html>

113
index.test.html Executable file
View File

@ -0,0 +1,113 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<!-- <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> -->
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="theme-color" content="#000000">
<!--
manifest.json provides metadata used when your web app is added to the
homescreen on Android. See https://developers.google.com/web/fundamentals/engage-and-retain/web-app-manifest/
-->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json">
<!-- <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">-->
<!--
Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build.
Only files inside the `public` folder can be referenced from the HTML.
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
<!-- <title>Educoder</title>-->
<!--react-ssr-head-->
<script type="text/javascript">
window.__isR = true;
</script>
<!-- <link rel="stylesheet" type="text/css" href="/css/edu-common.css">
<link rel="stylesheet" type="text/css" href="/css/edu-public.css">
<link rel="stylesheet" type="text/css" href="/css/taskstyle.css">
<link rel="stylesheet" type="text/css" href="/css/font-awesome.css">
<link rel="stylesheet" type="text/css" href="/css/editormd.min.css">
<link rel="stylesheet" type="text/css" href="/css/merge.css"> -->
<link rel="stylesheet" type="text/css" href="/css/css_min_all.css">
<link href="/stylesheets/educoder/edu-all.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="//at.alicdn.com/t/font_653600_qa9lwwv74z.css">
<!-- <link rel="stylesheet" type="text/css" href="https://www.educoder.net/stylesheets/css/font-awesome.css?1510652321"> -->
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<!--用于markdown转html -->
<div id="md_div" style="display: none;"></div>
<div id="root" class="page -layout-v -fit">
</div>
<div id="picture_display" style="display: none;"></div>
<!--
This HTML file is a template.
If you open it directly in the browser, you will see an empty page.
You can add webfonts, meta tags, or analytics to this file.
The build step will place the bundled scripts into the <body> tag.
To begin the development, run `npm start` or `yarn start`.
To create a production bundle, use `npm run build` or `yarn build`.
-->
<!-- js css合并 文件优先级的问题 -->
<!---->
<script type="text/javascript" src="/js/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="/js/editormd/lib/underscore.min.js"></script>
<script type="text/javascript" src="/js/editormd/lib/marked.min.js"></script>
<script type="text/javascript" src="/js/editormd/lib/prettify.min.js"></script>
<script type="text/javascript" src="/js/editormd/lib/raphael.min.js"></script>
<script type="text/javascript" src="/js/editormd/sequence-diagram.min.js"></script>
<script type="text/javascript" src="/js/editormd/flowchart.min.js"></script>
<script type="text/javascript" src="/js/editormd/jquery.flowchart.min.js"></script>
<script type="text/javascript" src="/js/editormd/editormd.min.js"></script>
<!-- codemirror addon -->
<script type="text/javascript" src="/js/codemirror/codemirror.js"></script>
<!--hint-->
<script type="text/javascript" src="/js/codemirror/lib/fuzzysort.js"></script>
<script type="text/javascript" src="/js/codemirror/addon/hint/show-hint.js"></script>
<!-- <script type="text/javascript" src="/js/codemirror/addon/hint/javascript-hint.js"></script> -->
<script type="text/javascript" src="/js/codemirror/addon/hint/anyword-hint.js"></script>
<script type="text/javascript" src="/js/codemirror/mode/javascript.js"></script>
<script type="text/javascript" src="/js/diff_match_patch.js"></script>
<script type="text/javascript" src="/js/merge.js"></script>
<script type="text/javascript" src="/js/edu_tpi.js"></script>
<script type="text/javascript" src="http://localhost:3000/javascripts/application.js"></script>
<script type="text/javascript" src="http://localhost:3000/assets/kindeditor/kindeditor.js"></script>
<!-- // <script type="text/javascript" src="http://localhost:3000/javascripts/create_kindeditor.js"></script> -->
<script type="text/javascript" src="/js/create_kindeditor.js"></script>
<script type="text/javascript" src="http://localhost:3000/javascripts/educoder/edu_application.js"></script>
</body>
</html>

5685
js/alex/moment.js Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

19833
js/applications.js Normal file

File diff suppressed because one or more lines are too long

70
js/codemirror/addon/active-line.js vendored Executable file
View File

@ -0,0 +1,70 @@
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
var WRAP_CLASS = "CodeMirror-activeline";
var BACK_CLASS = "CodeMirror-activeline-background";
var GUTT_CLASS = "CodeMirror-activeline-gutter";
CodeMirror.defineOption("styleActiveLine", false, function(cm, val, old) {
var prev = old == CodeMirror.Init ? false : old;
if (val == prev) return
if (prev) {
cm.off("beforeSelectionChange", selectionChange);
clearActiveLines(cm);
delete cm.state.activeLines;
}
if (val) {
cm.state.activeLines = [];
updateActiveLines(cm, cm.listSelections());
cm.on("beforeSelectionChange", selectionChange);
}
});
function clearActiveLines(cm) {
for (var i = 0; i < cm.state.activeLines.length; i++) {
cm.removeLineClass(cm.state.activeLines[i], "wrap", WRAP_CLASS);
cm.removeLineClass(cm.state.activeLines[i], "background", BACK_CLASS);
cm.removeLineClass(cm.state.activeLines[i], "gutter", GUTT_CLASS);
}
}
function sameArray(a, b) {
if (a.length != b.length) return false;
for (var i = 0; i < a.length; i++)
if (a[i] != b[i]) return false;
return true;
}
function updateActiveLines(cm, ranges) {
var active = [];
for (var i = 0; i < ranges.length; i++) {
var range = ranges[i];
var option = cm.getOption("styleActiveLine");
if (typeof option == "object" && option.nonEmpty ? range.anchor.line != range.head.line : !range.empty())
continue
var line = cm.getLineHandleVisualStart(range.head.line);
if (active[active.length - 1] != line) active.push(line);
}
if (sameArray(cm.state.activeLines, active)) return;
cm.operation(function() {
clearActiveLines(cm);
for (var i = 0; i < active.length; i++) {
cm.addLineClass(active[i], "wrap", WRAP_CLASS);
cm.addLineClass(active[i], "background", BACK_CLASS);
cm.addLineClass(active[i], "gutter", GUTT_CLASS);
}
cm.state.activeLines = active;
});
}
function selectionChange(cm, sel) {
updateActiveLines(cm, sel.ranges);
}
});

43
js/codemirror/addon/hint/anyword-hint.js vendored Executable file
View File

@ -0,0 +1,43 @@
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: http://codemirror.net/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
// var WORD = /[\w$]+/
var WORD = /[A-z]+/
, RANGE = 500;
CodeMirror.registerHelper("hint", "anyword", function(editor, options) {
var word = options && options.word || WORD;
var range = options && options.range || RANGE;
var cur = editor.getCursor(), curLine = editor.getLine(cur.line);
var end = cur.ch, start = end;
while (start && word.test(curLine.charAt(start - 1))) --start;
var curWord = start != end && curLine.slice(start, end);
var list = options && options.list || [], seen = {};
var re = new RegExp(word.source, "g");
for (var dir = -1; dir <= 1; dir += 2) {
var line = cur.line, endLine = Math.min(Math.max(line + dir * range, editor.firstLine()), editor.lastLine()) + dir;
for (; line != endLine; line += dir) {
var text = editor.getLine(line), m;
while (m = re.exec(text)) {
if (line == cur.line && m[0] === curWord) continue;
if ((!curWord || m[0].lastIndexOf(curWord, 0) == 0) && !Object.prototype.hasOwnProperty.call(seen, m[0])) {
seen[m[0]] = true;
list.push(m[0]);
}
}
}
}
return {list: list, from: CodeMirror.Pos(cur.line, start), to: CodeMirror.Pos(cur.line, end)};
});
});

188
js/codemirror/addon/hint/javascript-hint.js vendored Executable file
View File

@ -0,0 +1,188 @@
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: http://codemirror.net/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
var Pos = CodeMirror.Pos;
function forEach(arr, f) {
for (var i = 0, e = arr.length; i < e; ++i) f(arr[i]);
}
function arrayContains(arr, item) {
if (!Array.prototype.indexOf) {
var i = arr.length;
while (i--) {
if (arr[i] === item) {
return true;
}
}
return false;
}
return arr.indexOf(item) != -1;
}
function scriptHint(editor, keywords, getToken, options) {
// Find the token at the cursor
var cur = editor.getCursor(), token = getToken(editor, cur);
if (/\b(?:string|comment)\b/.test(token.type)) return;
token.state = CodeMirror.innerMode(editor.getMode(), token.state).state;
// If it's not a 'word-style' token, ignore the token.
if (!/^[\w$_]*$/.test(token.string)) {
token = {start: cur.ch, end: cur.ch, string: "", state: token.state,
type: token.string == "." ? "property" : null};
} else if (token.end > cur.ch) {
token.end = cur.ch;
token.string = token.string.slice(0, cur.ch - token.start);
}
var tprop = token;
// If it is a property, find out what it is a property of.
while (tprop.type == "property") {
tprop = getToken(editor, Pos(cur.line, tprop.start));
if (tprop.string != ".") return;
tprop = getToken(editor, Pos(cur.line, tprop.start));
if (!context) var context = [];
context.push(tprop);
}
// 发消息让其他组件注入 其他hint
CodeMirror.signal(editor, "hinting");
var myhints = editor.state.myhints
var needToClearJSHint = editor.state.needToClearJSHint
if (needToClearJSHint) { // 不使用js的hint可能注入了其他语言的hint
keywords = []
editor.state.needToClearJSHint = false;
}
myhints && myhints.forEach(function(item) {
if (!arrayContains(keywords, item)) keywords.push(item)
})
return {list: getCompletions(token, context, keywords, options),
from: Pos(cur.line, token.start),
to: Pos(cur.line, token.end)};
}
function javascriptHint(editor, options) {
return scriptHint(editor, javascriptKeywords,
function (e, cur) {return e.getTokenAt(cur);},
options);
};
CodeMirror.registerHelper("hint", "javascript", javascriptHint);
function getCoffeeScriptToken(editor, cur) {
// This getToken, it is for coffeescript, imitates the behavior of
// getTokenAt method in javascript.js, that is, returning "property"
// type and treat "." as indepenent token.
var token = editor.getTokenAt(cur);
if (cur.ch == token.start + 1 && token.string.charAt(0) == '.') {
token.end = token.start;
token.string = '.';
token.type = "property";
}
else if (/^\.[\w$_]*$/.test(token.string)) {
token.type = "property";
token.start++;
token.string = token.string.replace(/\./, '');
}
return token;
}
function coffeescriptHint(editor, options) {
return scriptHint(editor, coffeescriptKeywords, getCoffeeScriptToken, options);
}
CodeMirror.registerHelper("hint", "coffeescript", coffeescriptHint);
/* var stringProps = ("charAt charCodeAt indexOf lastIndexOf substring substr slice trim trimLeft trimRight " +
"toUpperCase toLowerCase split concat match replace search").split(" ");
var arrayProps = ("length concat join splice push pop shift unshift slice reverse sort indexOf " +
"lastIndexOf every some filter forEach map reduce reduceRight ").split(" ");
var funcProps = "prototype apply call bind".split(" ");*/
var javascriptKeywords = ("double float int long short null true false enum super this void auto for register static const friend mutable explicit virtual template typename printf " +
"break continue return do while if else for instanceof switch case default try catch finally throw throws assert import package boolean byte char delete private " +
"inline struct union signed unsigned export extern namespace using operator sizeof typedef typeid and del from not as elif or with pass except " +
"print exec raise is def lambda private protected public abstract class extends final implements interface native new static strictfp synchronized transient main " +
"String string System println vector bool boolean FALSE TRUE function").split(" ");
/*
var coffeescriptKeywords = ("and break catch class continue delete do else extends false finally for " +
"if in instanceof isnt new no not null of off on or return switch then throw true try typeof until void while with yes").split(" ");
*/
function forAllProps(obj, callback) {
if (!Object.getOwnPropertyNames || !Object.getPrototypeOf) {
for (var name in obj) callback(name)
} else {
for (var o = obj; o; o = Object.getPrototypeOf(o))
Object.getOwnPropertyNames(o).forEach(callback)
}
}
function getCompletions(token, context, keywords, options) {
var found = [], start = token.string, global = options && options.globalScope || window;
function maybeAdd(str) {
// var results = fuzzysort.go(start, [str])
// if ( results.total && !arrayContains(found, str) ) found.push(str);
if (fuzzysort && fuzzysort.single) {
// 使用模糊搜索
var results = fuzzysort.single(start, str)
if ( results && results.score <= 0 && !arrayContains(found, str)) found.push(str);
} else {
if (str.lastIndexOf(start, 0) == 0 && !arrayContains(found, str)) found.push(str);
}
}
function gatherCompletions(obj) {
if (typeof obj == "string") forEach(stringProps, maybeAdd);
else if (obj instanceof Array) forEach(arrayProps, maybeAdd);
else if (obj instanceof Function) forEach(funcProps, maybeAdd);
forAllProps(obj, maybeAdd)
}
// 不启用context context强制要求了lib的调用才提示比如Math.a 就会提示 Math.abs
if (false && context && context.length) {
// If this is a property, see if it belongs to some object we can
// find in the current environment.
var obj = context.pop(), base;
if (obj.type && obj.type.indexOf("variable") === 0) {
if (options && options.additionalContext)
base = options.additionalContext[obj.string];
if (!options || options.useGlobalScope !== false)
base = base || global[obj.string];
} else if (obj.type == "string") {
base = "";
} else if (obj.type == "atom") {
base = 1;
} else if (obj.type == "function") {
if (global.jQuery != null && (obj.string == '$' || obj.string == 'jQuery') &&
(typeof global.jQuery == 'function'))
base = global.jQuery();
else if (global._ != null && (obj.string == '_') && (typeof global._ == 'function'))
base = global._();
}
while (base != null && context.length)
base = base[context.pop().string];
if (base != null) gatherCompletions(base);
} else {
// If not, just look in the global object and any local scope
// (reading into JS mode internals to get at the local and global variables)
/* for (var v = token.state.localVars; v; v = v.next) maybeAdd(v.name);*/
/* for (var v = token.state.globalVars; v; v = v.next) maybeAdd(v.name);
if (!options || options.useGlobalScope !== false)
gatherCompletions(global);*/
// forEach(keywords, maybeAdd);
var result = fuzzysort.go(start, keywords)
result && result.forEach(function(item) {
found.push(item.target)
})
}
return found;
}
});

36
js/codemirror/addon/hint/show-hint.css vendored Executable file
View File

@ -0,0 +1,36 @@
.CodeMirror-hints {
position: absolute;
z-index: 10;
overflow: hidden;
list-style: none;
margin: 0;
padding: 2px;
-webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2);
-moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2);
box-shadow: 2px 3px 5px rgba(0,0,0,.2);
border-radius: 3px;
border: 1px solid silver;
background: white;
font-size: 90%;
font-family: monospace;
max-height: 20em;
overflow-y: auto;
}
.CodeMirror-hint {
margin: 0;
padding: 0 4px;
border-radius: 2px;
white-space: pre;
color: black;
cursor: pointer;
}
li.CodeMirror-hint-active {
background: #08f;
color: white;
}

458
js/codemirror/addon/hint/show-hint.js vendored Executable file
View File

@ -0,0 +1,458 @@
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: http://codemirror.net/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
var HINT_ELEMENT_CLASS = "CodeMirror-hint";
var ACTIVE_HINT_ELEMENT_CLASS = "CodeMirror-hint-active";
// This is the old interface, kept around for now to stay
// backwards-compatible.
CodeMirror.showHint = function(cm, getHints, options) {
if (!getHints) return cm.showHint(options);
if (options && options.async) getHints.async = true;
var newOpts = {hint: getHints};
if (options) for (var prop in options) newOpts[prop] = options[prop];
return cm.showHint(newOpts);
};
CodeMirror.defineExtension("showHint", function(options) {
options = parseOptions(this, this.getCursor("start"), options);
var selections = this.listSelections()
if (selections.length > 1) return;
// By default, don't allow completion when something is selected.
// A hint function can have a `supportsSelection` property to
// indicate that it can handle selections.
if (this.somethingSelected()) {
if (!options.hint.supportsSelection) return;
// Don't try with cross-line selections
for (var i = 0; i < selections.length; i++)
if (selections[i].head.line != selections[i].anchor.line) return;
}
if (this.state.completionActive) this.state.completionActive.close();
var completion = this.state.completionActive = new Completion(this, options);
if (!completion.options.hint) return;
CodeMirror.signal(this, "startCompletion", this);
completion.update(true);
});
function Completion(cm, options) {
this.cm = cm;
this.options = options;
this.widget = null;
this.debounce = 0;
this.tick = 0;
this.startPos = this.cm.getCursor("start");
this.startLen = this.cm.getLine(this.startPos.line).length - this.cm.getSelection().length;
var self = this;
cm.on("cursorActivity", this.activityFunc = function() { self.cursorActivity(); });
}
var requestAnimationFrame = window.requestAnimationFrame || function(fn) {
return setTimeout(fn, 1000/60);
};
var cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout;
Completion.prototype = {
close: function() {
if (!this.active()) return;
this.cm.state.completionActive = null;
this.tick = null;
this.cm.off("cursorActivity", this.activityFunc);
if (this.widget && this.data) CodeMirror.signal(this.data, "close");
if (this.widget) this.widget.close();
CodeMirror.signal(this.cm, "endCompletion", this.cm);
},
active: function() {
return this.cm.state.completionActive == this;
},
pick: function(data, i) {
var completion = data.list[i];
if (completion.hint) completion.hint(this.cm, data, completion);
else this.cm.replaceRange(getText(completion), completion.from || data.from,
completion.to || data.to, "complete");
CodeMirror.signal(data, "pick", completion);
this.close();
},
cursorActivity: function() {
if (this.debounce) {
cancelAnimationFrame(this.debounce);
this.debounce = 0;
}
var pos = this.cm.getCursor(), line = this.cm.getLine(pos.line);
if (pos.line != this.startPos.line || line.length - pos.ch != this.startLen - this.startPos.ch ||
pos.ch < this.startPos.ch || this.cm.somethingSelected() ||
(pos.ch && this.options.closeCharacters.test(line.charAt(pos.ch - 1)))) {
this.close();
} else {
var self = this;
this.debounce = requestAnimationFrame(function() {self.update();});
if (this.widget) this.widget.disable();
}
},
update: function(first) {
if (this.tick == null) return
var self = this, myTick = ++this.tick
fetchHints(this.options.hint, this.cm, this.options, function(data) {
if (self.tick == myTick) self.finishUpdate(data, first)
})
},
finishUpdate: function(data, first) {
if (this.data) CodeMirror.signal(this.data, "update");
var picked = (this.widget && this.widget.picked) // || (first && this.options.completeSingle);
if (this.widget) this.widget.close();
if (data && this.data && isNewCompletion(this.data, data)) return;
this.data = data;
if (data && data.list.length) {
if (picked && data.list.length == 1) {
this.pick(data, 0);
} else {
// 使得输入完后刚好输入和hint一样则不再显示hint
if (data.list.length == 1 && data.to.ch - data.from.ch === data.list[0].length) {
return;
}
this.widget = new Widget(this, data);
CodeMirror.signal(data, "shown");
}
}
}
};
function isNewCompletion(old, nw) {
var moved = CodeMirror.cmpPos(nw.from, old.from)
return moved > 0 && old.to.ch - old.from.ch != nw.to.ch - nw.from.ch
}
function parseOptions(cm, pos, options) {
var editor = cm.options.hintOptions;
var out = {};
for (var prop in defaultOptions) out[prop] = defaultOptions[prop];
if (editor) for (var prop in editor)
if (editor[prop] !== undefined) out[prop] = editor[prop];
if (options) for (var prop in options)
if (options[prop] !== undefined) out[prop] = options[prop];
if (out.hint.resolve) out.hint = out.hint.resolve(cm, pos)
return out;
}
function getText(completion) {
if (typeof completion == "string") return completion;
else return completion.text;
}
function buildKeyMap(completion, handle) {
var baseMap = {
Up: function() {handle.moveFocus(-1);},
Down: function() {handle.moveFocus(1);},
PageUp: function() {handle.moveFocus(-handle.menuSize() + 1, true);},
PageDown: function() {handle.moveFocus(handle.menuSize() - 1, true);},
Home: function() {handle.setFocus(0);},
End: function() {handle.setFocus(handle.length - 1);},
Enter: handle.pick,
Tab: handle.pick,
Esc: handle.close
};
var custom = completion.options.customKeys;
var ourMap = custom ? {} : baseMap;
function addBinding(key, val) {
var bound;
if (typeof val != "string")
bound = function(cm) { return val(cm, handle); };
// This mechanism is deprecated
else if (baseMap.hasOwnProperty(val))
bound = baseMap[val];
else
bound = val;
ourMap[key] = bound;
}
if (custom)
for (var key in custom) if (custom.hasOwnProperty(key))
addBinding(key, custom[key]);
var extra = completion.options.extraKeys;
if (extra)
for (var key in extra) if (extra.hasOwnProperty(key))
addBinding(key, extra[key]);
return ourMap;
}
function getHintElement(hintsElement, el) {
while (el && el != hintsElement) {
if (el.nodeName.toUpperCase() === "LI" && el.parentNode == hintsElement) return el;
el = el.parentNode;
}
}
function Widget(completion, data) {
this.completion = completion;
this.data = data;
this.picked = false;
var widget = this, cm = completion.cm;
var hints = this.hints = document.createElement("ul");
hints.className = "CodeMirror-hints";
this.selectedHint = data.selectedHint || 0;
var completions = data.list;
for (var i = 0; i < completions.length; ++i) {
var elt = hints.appendChild(document.createElement("li")), cur = completions[i];
var className = HINT_ELEMENT_CLASS + (i != this.selectedHint ? "" : " " + ACTIVE_HINT_ELEMENT_CLASS);
if (cur.className != null) className = cur.className + " " + className;
elt.className = className;
if (cur.render) cur.render(elt, data, cur);
else elt.appendChild(document.createTextNode(cur.displayText || getText(cur)));
elt.hintId = i;
}
var pos = cm.cursorCoords(completion.options.alignWithWord ? data.from : null);
var left = pos.left, top = pos.bottom, below = true;
hints.style.left = left + "px";
hints.style.top = top + "px";
// If we're at the edge of the screen, then we want the menu to appear on the left of the cursor.
var winW = window.innerWidth || Math.max(document.body.offsetWidth, document.documentElement.offsetWidth);
var winH = window.innerHeight || Math.max(document.body.offsetHeight, document.documentElement.offsetHeight);
(completion.options.container || document.body).appendChild(hints);
var box = hints.getBoundingClientRect(), overlapY = box.bottom - winH;
var scrolls = hints.scrollHeight > hints.clientHeight + 1
var startScroll = cm.getScrollInfo();
if (overlapY > 0) {
var height = box.bottom - box.top, curTop = pos.top - (pos.bottom - box.top);
if (curTop - height > 0) { // Fits above cursor
hints.style.top = (top = pos.top - height) + "px";
below = false;
} else if (height > winH) {
hints.style.height = (winH - 5) + "px";
hints.style.top = (top = pos.bottom - box.top) + "px";
var cursor = cm.getCursor();
if (data.from.ch != cursor.ch) {
pos = cm.cursorCoords(cursor);
hints.style.left = (left = pos.left) + "px";
box = hints.getBoundingClientRect();
}
}
}
var overlapX = box.right - winW;
if (overlapX > 0) {
if (box.right - box.left > winW) {
hints.style.width = (winW - 5) + "px";
overlapX -= (box.right - box.left) - winW;
}
hints.style.left = (left = pos.left - overlapX) + "px";
}
if (scrolls) for (var node = hints.firstChild; node; node = node.nextSibling)
node.style.paddingRight = cm.display.nativeBarWidth + "px"
cm.addKeyMap(this.keyMap = buildKeyMap(completion, {
moveFocus: function(n, avoidWrap) { widget.changeActive(widget.selectedHint + n, avoidWrap); },
setFocus: function(n) { widget.changeActive(n); },
menuSize: function() { return widget.screenAmount(); },
length: completions.length,
close: function() { completion.close(); },
pick: function() { widget.pick(); },
data: data
}));
if (completion.options.closeOnUnfocus) {
var closingOnBlur;
cm.on("blur", this.onBlur = function() { closingOnBlur = setTimeout(function() { completion.close(); }, 100); });
cm.on("focus", this.onFocus = function() { clearTimeout(closingOnBlur); });
}
cm.on("scroll", this.onScroll = function() {
var curScroll = cm.getScrollInfo(), editor = cm.getWrapperElement().getBoundingClientRect();
var newTop = top + startScroll.top - curScroll.top;
var point = newTop - (window.pageYOffset || (document.documentElement || document.body).scrollTop);
if (!below) point += hints.offsetHeight;
if (point <= editor.top || point >= editor.bottom) return completion.close();
hints.style.top = newTop + "px";
hints.style.left = (left + startScroll.left - curScroll.left) + "px";
});
CodeMirror.on(hints, "dblclick", function(e) {
var t = getHintElement(hints, e.target || e.srcElement);
if (t && t.hintId != null) {widget.changeActive(t.hintId); widget.pick();}
});
CodeMirror.on(hints, "click", function(e) {
var t = getHintElement(hints, e.target || e.srcElement);
if (t && t.hintId != null) {
widget.changeActive(t.hintId);
if (completion.options.completeOnSingleClick) widget.pick();
}
});
CodeMirror.on(hints, "mousedown", function() {
setTimeout(function(){cm.focus();}, 20);
});
CodeMirror.signal(data, "select", completions[0], hints.firstChild);
return true;
}
Widget.prototype = {
close: function() {
if (this.completion.widget != this) return;
this.completion.widget = null;
this.hints.parentNode.removeChild(this.hints);
this.completion.cm.removeKeyMap(this.keyMap);
var cm = this.completion.cm;
if (this.completion.options.closeOnUnfocus) {
cm.off("blur", this.onBlur);
cm.off("focus", this.onFocus);
}
cm.off("scroll", this.onScroll);
},
disable: function() {
this.completion.cm.removeKeyMap(this.keyMap);
var widget = this;
this.keyMap = {Enter: function() { widget.picked = true; }};
this.completion.cm.addKeyMap(this.keyMap);
},
pick: function() {
this.completion.pick(this.data, this.selectedHint);
},
changeActive: function(i, avoidWrap) {
if (i >= this.data.list.length)
i = avoidWrap ? this.data.list.length - 1 : 0;
else if (i < 0)
i = avoidWrap ? 0 : this.data.list.length - 1;
if (this.selectedHint == i) return;
var node = this.hints.childNodes[this.selectedHint];
node.className = node.className.replace(" " + ACTIVE_HINT_ELEMENT_CLASS, "");
node = this.hints.childNodes[this.selectedHint = i];
node.className += " " + ACTIVE_HINT_ELEMENT_CLASS;
if (node.offsetTop < this.hints.scrollTop)
this.hints.scrollTop = node.offsetTop - 3;
else if (node.offsetTop + node.offsetHeight > this.hints.scrollTop + this.hints.clientHeight)
this.hints.scrollTop = node.offsetTop + node.offsetHeight - this.hints.clientHeight + 3;
CodeMirror.signal(this.data, "select", this.data.list[this.selectedHint], node);
},
screenAmount: function() {
return Math.floor(this.hints.clientHeight / this.hints.firstChild.offsetHeight) || 1;
}
};
function applicableHelpers(cm, helpers) {
if (!cm.somethingSelected()) return helpers
var result = []
for (var i = 0; i < helpers.length; i++)
if (helpers[i].supportsSelection) result.push(helpers[i])
return result
}
function fetchHints(hint, cm, options, callback) {
if (hint.async) {
hint(cm, callback, options)
} else {
var result = hint(cm, options)
if (result && result.then) result.then(callback)
else callback(result)
}
}
function resolveAutoHints(cm, pos) {
var helpers = cm.getHelpers(pos, "hint"), words
if (helpers.length) {
var resolved = function(cm, callback, options) {
var app = applicableHelpers(cm, helpers);
function run(i) {
if (i == app.length) return callback(null)
fetchHints(app[i], cm, options, function(result) {
if (result && result.list.length > 0) callback(result)
else run(i + 1)
})
}
run(0)
}
resolved.async = true
resolved.supportsSelection = true
return resolved
} else if (words = cm.getHelper(cm.getCursor(), "hintWords")) {
// 发消息让其他组件注入 其他hint
CodeMirror.signal(cm, "hinting", words);
var myhints = cm.state.myhints
var wordsTemp = words.slice(0)
myhints && myhints.forEach(function(item) {
if (words.indexOf(item) === -1) wordsTemp.push(item)
})
return function(cm) {
return CodeMirror.hint.fromList(cm, {words: wordsTemp})
}
} else if (CodeMirror.hint.anyword) {
return function(cm, options) { return CodeMirror.hint.anyword(cm, options) }
} else {
return function() {}
}
}
CodeMirror.registerHelper("hint", "auto", {
resolve: resolveAutoHints
});
CodeMirror.registerHelper("hint", "fromList", function(cm, options) {
var cur = cm.getCursor(), token = cm.getTokenAt(cur);
var to = CodeMirror.Pos(cur.line, token.end);
if (token.string && /\w/.test(token.string[token.string.length - 1])) {
var term = token.string, from = CodeMirror.Pos(cur.line, token.start);
} else {
var term = "", from = to;
}
var found = [];
if (fuzzysort && fuzzysort.go) {
var result = fuzzysort.go(term, options.words)
result && result.forEach(function(item) {
found.push(item.target)
})
} else {
for (var i = 0; i < options.words.length; i++) {
var word = options.words[i];
if (word.slice(0, term.length) == term)
found.push(word);
}
}
if (found.length) return {list: found, from: from, to: to};
});
CodeMirror.commands.autocomplete = CodeMirror.showHint;
var defaultOptions = {
hint: CodeMirror.hint.auto,
completeSingle: true,
alignWithWord: true,
closeCharacters: /[\s()\[\]{};:>,]/,
closeOnUnfocus: true,
completeOnSingleClick: true,
container: null,
customKeys: null,
extraKeys: null
};
CodeMirror.defineOption("hintOptions", null);
});

9304
js/codemirror/codemirror.js Executable file

File diff suppressed because it is too large Load Diff

603
js/codemirror/lib/fuzzysort.js vendored Executable file
View File

@ -0,0 +1,603 @@
/*
WHAT: SublimeText-like Fuzzy Search
USAGE:
fuzzysort.single('fs', 'Fuzzy Search') // {score: -16}
fuzzysort.single('test', 'test') // {score: 0}
fuzzysort.single('doesnt exist', 'target') // null
fuzzysort.go('mr', ['Monitor.cpp', 'MeshRenderer.cpp'])
// [{score: -18, target: "MeshRenderer.cpp"}, {score: -6009, target: "Monitor.cpp"}]
fuzzysort.highlight(fuzzysort.single('fs', 'Fuzzy Search'), '<b>', '</b>')
// <b>F</b>uzzy <b>S</b>earch
https://github.com/farzher/fuzzysort
*/
// UMD (Universal Module Definition) for fuzzysort
;(function(root, UMD) {
if(typeof define === 'function' && define.amd) define([], UMD)
else if(typeof module === 'object' && module.exports) module.exports = UMD()
else root.fuzzysort = UMD()
})(this, function UMD() { function fuzzysortNew(instanceOptions) {
var fuzzysort = {
single: function(search, target, options) {
if(!search) return null
if(!isObj(search)) search = fuzzysort.getPreparedSearch(search)
if(!target) return null
if(!isObj(target)) target = fuzzysort.getPrepared(target)
var allowTypo = options && options.allowTypo!==undefined ? options.allowTypo
: instanceOptions && instanceOptions.allowTypo!==undefined ? instanceOptions.allowTypo
: true
var algorithm = allowTypo ? fuzzysort.algorithm : fuzzysort.algorithmNoTypo
return algorithm(search, target, search[0])
// var threshold = options && options.threshold || instanceOptions && instanceOptions.threshold || -9007199254740991
// var result = algorithm(search, target, search[0])
// if(result === null) return null
// if(result.score < threshold) return null
// return result
},
go: function(search, targets, options) {
if(!search) return noResults
search = fuzzysort.prepareSearch(search)
var searchLowerCode = search[0]
var threshold = options && options.threshold || instanceOptions && instanceOptions.threshold || -9007199254740991
var limit = options && options.limit || instanceOptions && instanceOptions.limit || 9007199254740991
var allowTypo = options && options.allowTypo!==undefined ? options.allowTypo
: instanceOptions && instanceOptions.allowTypo!==undefined ? instanceOptions.allowTypo
: true
var algorithm = allowTypo ? fuzzysort.algorithm : fuzzysort.algorithmNoTypo
var resultsLen = 0; var limitedCount = 0
var targetsLen = targets.length
// This code is copy/pasted 3 times for performance reasons [options.keys, options.key, no keys]
// options.keys
if(options && options.keys) {
var scoreFn = options.scoreFn || defaultScoreFn
var keys = options.keys
var keysLen = keys.length
for(var i = targetsLen - 1; i >= 0; --i) { var obj = targets[i]
var objResults = new Array(keysLen)
for (var keyI = keysLen - 1; keyI >= 0; --keyI) {
var key = keys[keyI]
var target = getValue(obj, key)
if(!target) { objResults[keyI] = null; continue }
if(!isObj(target)) target = fuzzysort.getPrepared(target)
objResults[keyI] = algorithm(search, target, searchLowerCode)
}
objResults.obj = obj // before scoreFn so scoreFn can use it
var score = scoreFn(objResults)
if(score === null) continue
if(score < threshold) continue
objResults.score = score
if(resultsLen < limit) { q.add(objResults); ++resultsLen }
else {
++limitedCount
if(score > q.peek().score) q.replaceTop(objResults)
}
}
// options.key
} else if(options && options.key) {
var key = options.key
for(var i = targetsLen - 1; i >= 0; --i) { var obj = targets[i]
var target = getValue(obj, key)
if(!target) continue
if(!isObj(target)) target = fuzzysort.getPrepared(target)
var result = algorithm(search, target, searchLowerCode)
if(result === null) continue
if(result.score < threshold) continue
// have to clone result so duplicate targets from different obj can each reference the correct obj
result = {target:result.target, _targetLowerCodes:null, _nextBeginningIndexes:null, score:result.score, indexes:result.indexes, obj:obj} // hidden
if(resultsLen < limit) { q.add(result); ++resultsLen }
else {
++limitedCount
if(result.score > q.peek().score) q.replaceTop(result)
}
}
// no keys
} else {
for(var i = targetsLen - 1; i >= 0; --i) { var target = targets[i]
if(!target) continue
if(!isObj(target)) target = fuzzysort.getPrepared(target)
var result = algorithm(search, target, searchLowerCode)
if(result === null) continue
if(result.score < threshold) continue
if(resultsLen < limit) { q.add(result); ++resultsLen }
else {
++limitedCount
if(result.score > q.peek().score) q.replaceTop(result)
}
}
}
if(resultsLen === 0) return noResults
var results = new Array(resultsLen)
for(var i = resultsLen - 1; i >= 0; --i) results[i] = q.poll()
results.total = resultsLen + limitedCount
return results
},
goAsync: function(search, targets, options) {
var canceled = false
var p = new Promise(function(resolve, reject) {
if(!search) return resolve(noResults)
search = fuzzysort.prepareSearch(search)
var searchLowerCode = search[0]
var q = fastpriorityqueue()
var iCurrent = targets.length - 1
var threshold = options && options.threshold || instanceOptions && instanceOptions.threshold || -9007199254740991
var limit = options && options.limit || instanceOptions && instanceOptions.limit || 9007199254740991
var allowTypo = options && options.allowTypo!==undefined ? options.allowTypo
: instanceOptions && instanceOptions.allowTypo!==undefined ? instanceOptions.allowTypo
: true
var algorithm = allowTypo ? fuzzysort.algorithm : fuzzysort.algorithmNoTypo
var resultsLen = 0; var limitedCount = 0
function step() {
if(canceled) return reject('canceled')
var startMs = Date.now()
// This code is copy/pasted 3 times for performance reasons [options.keys, options.key, no keys]
// options.keys
if(options && options.keys) {
var scoreFn = options.scoreFn || defaultScoreFn
var keys = options.keys
var keysLen = keys.length
for(; iCurrent >= 0; --iCurrent) { var obj = targets[iCurrent]
var objResults = new Array(keysLen)
for (var keyI = keysLen - 1; keyI >= 0; --keyI) {
var key = keys[keyI]
var target = getValue(obj, key)
if(!target) { objResults[keyI] = null; continue }
if(!isObj(target)) target = fuzzysort.getPrepared(target)
objResults[keyI] = algorithm(search, target, searchLowerCode)
}
objResults.obj = obj // before scoreFn so scoreFn can use it
var score = scoreFn(objResults)
if(score === null) continue
if(score < threshold) continue
objResults.score = score
if(resultsLen < limit) { q.add(objResults); ++resultsLen }
else {
++limitedCount
if(score > q.peek().score) q.replaceTop(objResults)
}
if(iCurrent%1000/*itemsPerCheck*/ === 0) {
if(Date.now() - startMs >= 10/*asyncInterval*/) {
isNode?setImmediate(step):setTimeout(step)
return
}
}
}
// options.key
} else if(options && options.key) {
var key = options.key
for(; iCurrent >= 0; --iCurrent) { var obj = targets[iCurrent]
var target = getValue(obj, key)
if(!target) continue
if(!isObj(target)) target = fuzzysort.getPrepared(target)
var result = algorithm(search, target, searchLowerCode)
if(result === null) continue
if(result.score < threshold) continue
// have to clone result so duplicate targets from different obj can each reference the correct obj
result = {target:result.target, _targetLowerCodes:null, _nextBeginningIndexes:null, score:result.score, indexes:result.indexes, obj:obj} // hidden
if(resultsLen < limit) { q.add(result); ++resultsLen }
else {
++limitedCount
if(result.score > q.peek().score) q.replaceTop(result)
}
if(iCurrent%1000/*itemsPerCheck*/ === 0) {
if(Date.now() - startMs >= 10/*asyncInterval*/) {
isNode?setImmediate(step):setTimeout(step)
return
}
}
}
// no keys
} else {
for(; iCurrent >= 0; --iCurrent) { var target = targets[iCurrent]
if(!target) continue
if(!isObj(target)) target = fuzzysort.getPrepared(target)
var result = algorithm(search, target, searchLowerCode)
if(result === null) continue
if(result.score < threshold) continue
if(resultsLen < limit) { q.add(result); ++resultsLen }
else {
++limitedCount
if(result.score > q.peek().score) q.replaceTop(result)
}
if(iCurrent%1000/*itemsPerCheck*/ === 0) {
if(Date.now() - startMs >= 10/*asyncInterval*/) {
isNode?setImmediate(step):setTimeout(step)
return
}
}
}
}
if(resultsLen === 0) return resolve(noResults)
var results = new Array(resultsLen)
for(var i = resultsLen - 1; i >= 0; --i) results[i] = q.poll()
results.total = resultsLen + limitedCount
resolve(results)
}
isNode?setImmediate(step):step()
})
p.cancel = function() { canceled = true }
return p
},
highlight: function(result, hOpen, hClose) {
if(result === null) return null
if(hOpen === undefined) hOpen = '<b>'
if(hClose === undefined) hClose = '</b>'
var highlighted = ''
var matchesIndex = 0
var opened = false
var target = result.target
var targetLen = target.length
var matchesBest = result.indexes
for(var i = 0; i < targetLen; ++i) { var char = target[i]
if(matchesBest[matchesIndex] === i) {
++matchesIndex
if(!opened) { opened = true
highlighted += hOpen
}
if(matchesIndex === matchesBest.length) {
highlighted += char + hClose + target.substr(i+1)
break
}
} else {
if(opened) { opened = false
highlighted += hClose
}
}
highlighted += char
}
return highlighted
},
prepare: function(target) {
if(!target) return
return {target:target, _targetLowerCodes:fuzzysort.prepareLowerCodes(target), _nextBeginningIndexes:null, score:null, indexes:null, obj:null} // hidden
},
prepareSlow: function(target) {
if(!target) return
return {target:target, _targetLowerCodes:fuzzysort.prepareLowerCodes(target), _nextBeginningIndexes:fuzzysort.prepareNextBeginningIndexes(target), score:null, indexes:null, obj:null} // hidden
},
prepareSearch: function(search) {
if(!search) return
return fuzzysort.prepareLowerCodes(search)
},
// Below this point is only internal code
// Below this point is only internal code
// Below this point is only internal code
// Below this point is only internal code
getPrepared: function(target) {
if(target.length > 999) return fuzzysort.prepare(target) // don't cache huge targets
var targetPrepared = preparedCache.get(target)
if(targetPrepared !== undefined) return targetPrepared
targetPrepared = fuzzysort.prepare(target)
preparedCache.set(target, targetPrepared)
return targetPrepared
},
getPreparedSearch: function(search) {
if(search.length > 999) return fuzzysort.prepareSearch(search) // don't cache huge searches
var searchPrepared = preparedSearchCache.get(search)
if(searchPrepared !== undefined) return searchPrepared
searchPrepared = fuzzysort.prepareSearch(search)
preparedSearchCache.set(search, searchPrepared)
return searchPrepared
},
algorithm: function(searchLowerCodes, prepared, searchLowerCode) {
var targetLowerCodes = prepared._targetLowerCodes
var searchLen = searchLowerCodes.length
var targetLen = targetLowerCodes.length
var searchI = 0 // where we at
var targetI = 0 // where you at
var typoSimpleI = 0
var matchesSimpleLen = 0
// very basic fuzzy match; to remove non-matching targets ASAP!
// walk through target. find sequential matches.
// if all chars aren't found then exit
for(;;) {
var isMatch = searchLowerCode === targetLowerCodes[targetI]
if(isMatch) {
matchesSimple[matchesSimpleLen++] = targetI
++searchI; if(searchI === searchLen) break
searchLowerCode = searchLowerCodes[typoSimpleI===0?searchI : (typoSimpleI===searchI?searchI+1 : (typoSimpleI===searchI-1?searchI-1 : searchI))]
}
++targetI; if(targetI >= targetLen) { // Failed to find searchI
// Check for typo or exit
// we go as far as possible before trying to transpose
// then we transpose backwards until we reach the beginning
for(;;) {
if(searchI <= 1) return null // not allowed to transpose first char
if(typoSimpleI === 0) { // we haven't tried to transpose yet
--searchI
var searchLowerCodeNew = searchLowerCodes[searchI]
if(searchLowerCode === searchLowerCodeNew) continue // doesn't make sense to transpose a repeat char
typoSimpleI = searchI
} else {
if(typoSimpleI === 1) return null // reached the end of the line for transposing
--typoSimpleI
searchI = typoSimpleI
searchLowerCode = searchLowerCodes[searchI + 1]
var searchLowerCodeNew = searchLowerCodes[searchI]
if(searchLowerCode === searchLowerCodeNew) continue // doesn't make sense to transpose a repeat char
}
matchesSimpleLen = searchI
targetI = matchesSimple[matchesSimpleLen - 1] + 1
break
}
}
}
var searchI = 0
var typoStrictI = 0
var successStrict = false
var matchesStrictLen = 0
var nextBeginningIndexes = prepared._nextBeginningIndexes
if(nextBeginningIndexes === null) nextBeginningIndexes = prepared._nextBeginningIndexes = fuzzysort.prepareNextBeginningIndexes(prepared.target)
var firstPossibleI = targetI = matchesSimple[0]===0 ? 0 : nextBeginningIndexes[matchesSimple[0]-1]
// Our target string successfully matched all characters in sequence!
// Let's try a more advanced and strict test to improve the score
// only count it as a match if it's consecutive or a beginning character!
if(targetI !== targetLen) for(;;) {
if(targetI >= targetLen) {
// We failed to find a good spot for this search char, go back to the previous search char and force it forward
if(searchI <= 0) { // We failed to push chars forward for a better match
// transpose, starting from the beginning
++typoStrictI; if(typoStrictI > searchLen-2) break
if(searchLowerCodes[typoStrictI] === searchLowerCodes[typoStrictI+1]) continue // doesn't make sense to transpose a repeat char
targetI = firstPossibleI
continue
}
--searchI
var lastMatch = matchesStrict[--matchesStrictLen]
targetI = nextBeginningIndexes[lastMatch]
} else {
var isMatch = searchLowerCodes[typoStrictI===0?searchI : (typoStrictI===searchI?searchI+1 : (typoStrictI===searchI-1?searchI-1 : searchI))] === targetLowerCodes[targetI]
if(isMatch) {
matchesStrict[matchesStrictLen++] = targetI
++searchI; if(searchI === searchLen) { successStrict = true; break }
++targetI
} else {
targetI = nextBeginningIndexes[targetI]
}
}
}
{ // tally up the score & keep track of matches for highlighting later
if(successStrict) { var matchesBest = matchesStrict; var matchesBestLen = matchesStrictLen }
else { var matchesBest = matchesSimple; var matchesBestLen = matchesSimpleLen }
var score = 0
var lastTargetI = -1
for(var i = 0; i < searchLen; ++i) { var targetI = matchesBest[i]
// score only goes down if they're not consecutive
if(lastTargetI !== targetI - 1) score -= targetI
lastTargetI = targetI
}
if(!successStrict) {
score *= 1000
if(typoSimpleI !== 0) score += -20/*typoPenalty*/
} else {
if(typoStrictI !== 0) score += -20/*typoPenalty*/
}
score -= targetLen - searchLen
prepared.score = score
prepared.indexes = new Array(matchesBestLen); for(var i = matchesBestLen - 1; i >= 0; --i) prepared.indexes[i] = matchesBest[i]
return prepared
}
},
algorithmNoTypo: function(searchLowerCodes, prepared, searchLowerCode) {
var targetLowerCodes = prepared._targetLowerCodes
var searchLen = searchLowerCodes.length
var targetLen = targetLowerCodes.length
var searchI = 0 // where we at
var targetI = 0 // where you at
var matchesSimpleLen = 0
// very basic fuzzy match; to remove non-matching targets ASAP!
// walk through target. find sequential matches.
// if all chars aren't found then exit
for(;;) {
var isMatch = searchLowerCode === targetLowerCodes[targetI]
if(isMatch) {
matchesSimple[matchesSimpleLen++] = targetI
++searchI; if(searchI === searchLen) break
searchLowerCode = searchLowerCodes[searchI]
}
++targetI; if(targetI >= targetLen) return null // Failed to find searchI
}
var searchI = 0
var successStrict = false
var matchesStrictLen = 0
var nextBeginningIndexes = prepared._nextBeginningIndexes
if(nextBeginningIndexes === null) nextBeginningIndexes = prepared._nextBeginningIndexes = fuzzysort.prepareNextBeginningIndexes(prepared.target)
var firstPossibleI = targetI = matchesSimple[0]===0 ? 0 : nextBeginningIndexes[matchesSimple[0]-1]
// Our target string successfully matched all characters in sequence!
// Let's try a more advanced and strict test to improve the score
// only count it as a match if it's consecutive or a beginning character!
if(targetI !== targetLen) for(;;) {
if(targetI >= targetLen) {
// We failed to find a good spot for this search char, go back to the previous search char and force it forward
if(searchI <= 0) break // We failed to push chars forward for a better match
--searchI
var lastMatch = matchesStrict[--matchesStrictLen]
targetI = nextBeginningIndexes[lastMatch]
} else {
var isMatch = searchLowerCodes[searchI] === targetLowerCodes[targetI]
if(isMatch) {
matchesStrict[matchesStrictLen++] = targetI
++searchI; if(searchI === searchLen) { successStrict = true; break }
++targetI
} else {
targetI = nextBeginningIndexes[targetI]
}
}
}
{ // tally up the score & keep track of matches for highlighting later
if(successStrict) { var matchesBest = matchesStrict; var matchesBestLen = matchesStrictLen }
else { var matchesBest = matchesSimple; var matchesBestLen = matchesSimpleLen }
var score = 0
var lastTargetI = -1
for(var i = 0; i < searchLen; ++i) { var targetI = matchesBest[i]
// score only goes down if they're not consecutive
if(lastTargetI !== targetI - 1) score -= targetI
lastTargetI = targetI
}
if(!successStrict) score *= 1000
score -= targetLen - searchLen
prepared.score = score
prepared.indexes = new Array(matchesBestLen); for(var i = matchesBestLen - 1; i >= 0; --i) prepared.indexes[i] = matchesBest[i]
return prepared
}
},
prepareLowerCodes: function(str) {
var strLen = str.length
var lowerCodes = [] // new Array(strLen) sparse array is too slow
var lower = str.toLowerCase()
for(var i = 0; i < strLen; ++i) lowerCodes[i] = lower.charCodeAt(i)
return lowerCodes
},
prepareBeginningIndexes: function(target) {
var targetLen = target.length
var beginningIndexes = []; var beginningIndexesLen = 0
var wasUpper = false
var wasAlphanum = false
for(var i = 0; i < targetLen; ++i) {
var targetCode = target.charCodeAt(i)
var isUpper = targetCode>=65&&targetCode<=90
var isAlphanum = isUpper || targetCode>=97&&targetCode<=122 || targetCode>=48&&targetCode<=57
var isBeginning = isUpper && !wasUpper || !wasAlphanum || !isAlphanum
wasUpper = isUpper
wasAlphanum = isAlphanum
if(isBeginning) beginningIndexes[beginningIndexesLen++] = i
}
return beginningIndexes
},
prepareNextBeginningIndexes: function(target) {
var targetLen = target.length
var beginningIndexes = fuzzysort.prepareBeginningIndexes(target)
var nextBeginningIndexes = [] // new Array(targetLen) sparse array is too slow
var lastIsBeginning = beginningIndexes[0]
var lastIsBeginningI = 0
for(var i = 0; i < targetLen; ++i) {
if(lastIsBeginning > i) {
nextBeginningIndexes[i] = lastIsBeginning
} else {
lastIsBeginning = beginningIndexes[++lastIsBeginningI]
nextBeginningIndexes[i] = lastIsBeginning===undefined ? targetLen : lastIsBeginning
}
}
return nextBeginningIndexes
},
cleanup: cleanup,
new: fuzzysortNew,
}
return fuzzysort
} // fuzzysortNew
// This stuff is outside fuzzysortNew, because it's shared with instances of fuzzysort.new()
var isNode = typeof require !== 'undefined' && typeof window === 'undefined'
// var MAX_INT = Number.MAX_SAFE_INTEGER
// var MIN_INT = Number.MIN_VALUE
var preparedCache = new Map()
var preparedSearchCache = new Map()
var noResults = []; noResults.total = 0
var matchesSimple = []; var matchesStrict = []
function cleanup() { preparedCache.clear(); preparedSearchCache.clear(); matchesSimple = []; matchesStrict = [] }
function defaultScoreFn(a) {
var max = -9007199254740991
for (var i = a.length - 1; i >= 0; --i) {
var result = a[i]; if(result === null) continue
var score = result.score
if(score > max) max = score
}
if(max === -9007199254740991) return null
return max
}
// prop = 'key' 2.5ms optimized for this case, seems to be about as fast as direct obj[prop]
// prop = 'key1.key2' 10ms
// prop = ['key1', 'key2'] 27ms
function getValue(obj, prop) {
var tmp = obj[prop]; if(tmp !== undefined) return tmp
var segs = prop
if(!Array.isArray(prop)) segs = prop.split('.')
var len = segs.length
var i = -1
while (obj && (++i < len)) obj = obj[segs[i]]
return obj
}
function isObj(x) { return typeof x === 'object' } // faster as a function
// Hacked version of https://github.com/lemire/FastPriorityQueue.js
var fastpriorityqueue=function(){var r=[],o=0,e={};function n(){for(var e=0,n=r[e],c=1;c<o;){var f=c+1;e=c,f<o&&r[f].score<r[c].score&&(e=f),r[e-1>>1]=r[e],c=1+(e<<1)}for(var a=e-1>>1;e>0&&n.score<r[a].score;a=(e=a)-1>>1)r[e]=r[a];r[e]=n}return e.add=function(e){var n=o;r[o++]=e;for(var c=n-1>>1;n>0&&e.score<r[c].score;c=(n=c)-1>>1)r[n]=r[c];r[n]=e},e.poll=function(){if(0!==o){var e=r[0];return r[0]=r[--o],n(),e}},e.peek=function(e){if(0!==o)return r[0]},e.replaceTop=function(o){r[0]=o,n()},e};
var q = fastpriorityqueue() // reuse this, except for async, it needs to make its own
return fuzzysortNew()
}) // UMD
// TODO: (performance) wasm version!?
// TODO: (performance) layout memory in an optimal way to go fast by avoiding cache misses
// TODO: (performance) preparedCache is a memory leak
// TODO: (like sublime) backslash === forwardslash
// TODO: (performance) i have no idea how well optizmied the allowing typos algorithm is

111
js/codemirror/merge/merge.css Executable file
View File

@ -0,0 +1,111 @@
.CodeMirror-merge {
position: relative;
white-space: pre;
}
.CodeMirror-merge, .CodeMirror-merge .CodeMirror {
min-height:50px;
}
.CodeMirror-merge-2pane .CodeMirror-merge-pane { width: 48%; }
.CodeMirror-merge-2pane .CodeMirror-merge-gap { width: 4%; }
.CodeMirror-merge-3pane .CodeMirror-merge-pane { width: 31%; }
.CodeMirror-merge-3pane .CodeMirror-merge-gap { width: 3.5%; }
.CodeMirror-merge-pane {
display: inline-block;
white-space: normal;
vertical-align: top;
}
.CodeMirror-merge-pane-rightmost {
position: absolute;
right: 0px;
z-index: 1;
}
.CodeMirror-merge-gap {
z-index: 2;
display: inline-block;
height: 100%;
-moz-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
position: relative;
background: #515151;
}
.CodeMirror-merge-scrolllock-wrap {
position: absolute;
bottom: 0; left: 50%;
}
.CodeMirror-merge-scrolllock {
position: relative;
left: -50%;
cursor: pointer;
color: #d8d8d8;
line-height: 1;
}
.CodeMirror-merge-copybuttons-left, .CodeMirror-merge-copybuttons-right {
position: absolute;
left: 0; top: 0;
right: 0; bottom: 0;
line-height: 1;
}
.CodeMirror-merge-copy {
position: absolute;
cursor: pointer;
color: #ce374b;
z-index: 3;
}
.CodeMirror-merge-copy-reverse {
position: absolute;
cursor: pointer;
color: #44c;
}
.CodeMirror-merge-copybuttons-left .CodeMirror-merge-copy { left: 2px; }
.CodeMirror-merge-copybuttons-right .CodeMirror-merge-copy { right: 2px; }
.CodeMirror-merge-r-inserted, .CodeMirror-merge-l-inserted {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAAGUlEQVQI12MwuCXy3+CWyH8GBgYGJgYkAABZbAQ9ELXurwAAAABJRU5ErkJggg==);
background-position: bottom left;
background-repeat: repeat-x;
}
.CodeMirror-merge-r-deleted, .CodeMirror-merge-l-deleted {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAAGUlEQVQI12M4Kyb2/6yY2H8GBgYGJgYkAABURgPz6Ks7wQAAAABJRU5ErkJggg==);
background-position: bottom left;
background-repeat: repeat-x;
}
.CodeMirror-merge-r-chunk { background: #9a6868; }
.CodeMirror-merge-r-chunk-start { /*border-top: 1px solid #ee8; */}
.CodeMirror-merge-r-chunk-end {/* border-bottom: 1px solid #ee8; */}
.CodeMirror-merge-r-connect { fill:#9a6868;}
.CodeMirror-merge-l-chunk { background: #eef; }
.CodeMirror-merge-l-chunk-start { border-top: 1px solid #88e; }
.CodeMirror-merge-l-chunk-end { border-bottom: 1px solid #88e; }
.CodeMirror-merge-l-connect { fill: #eef; stroke: #88e; stroke-width: 1px; }
.CodeMirror-merge-l-chunk.CodeMirror-merge-r-chunk { background: #dfd; }
.CodeMirror-merge-l-chunk-start.CodeMirror-merge-r-chunk-start { border-top: 1px solid #4e4; }
.CodeMirror-merge-l-chunk-end.CodeMirror-merge-r-chunk-end { border-bottom: 1px solid #4e4; }
.CodeMirror-merge-collapsed-widget:before {
content: "(...)";
}
.CodeMirror-merge-collapsed-widget {
cursor: pointer;
color: #88b;
background: #eef;
border: 1px solid #ddf;
font-size: 90%;
padding: 0 3px;
border-radius: 4px;
}
.CodeMirror-merge-collapsed-line .CodeMirror-gutter-elt { display: none; }

1040
js/codemirror/merge/merge.js Executable file

File diff suppressed because it is too large Load Diff

692
js/codemirror/mode/javascript.js vendored Executable file
View File

@ -0,0 +1,692 @@
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: http://codemirror.net/LICENSE
// mode javascript
// TODO actually recognize syntax of TypeScript constructs
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
CodeMirror.defineMode("javascript", function(config, parserConfig) {
var indentUnit = config.indentUnit;
var statementIndent = parserConfig.statementIndent;
var jsonldMode = parserConfig.jsonld;
var jsonMode = parserConfig.json || jsonldMode;
var isTS = parserConfig.typescript;
var wordRE = parserConfig.wordCharacters || /[\w$\xa1-\uffff]/;
// Tokenizer
var keywords = function(){
function kw(type) {return {type: type, style: "keyword"};}
var A = kw("keyword a"), B = kw("keyword b"), C = kw("keyword c");
var operator = kw("operator"), atom = {type: "atom", style: "atom"};
var jsKeywords = {
"if": kw("if"), "while": A, "with": A, "else": B, "do": B, "try": B, "finally": B,
"return": C, "break": C, "continue": C, "new": C, "delete": C, "throw": C, "debugger": C,
"var": kw("var"), "const": kw("var"), "let": kw("var"),
"function": kw("function"), "catch": kw("catch"),
"for": kw("for"), "switch": kw("switch"), "case": kw("case"), "default": kw("default"),
"in": operator, "typeof": operator, "instanceof": operator,
"true": atom, "false": atom, "null": atom, "undefined": atom, "NaN": atom, "Infinity": atom,
"this": kw("this"), "module": kw("module"), "class": kw("class"), "super": kw("atom"),
"yield": C, "export": kw("export"), "import": kw("import"), "extends": C
};
// Extend the 'normal' keywords with the TypeScript language extensions
if (isTS) {
var type = {type: "variable", style: "variable-3"};
var tsKeywords = {
// object-like things
"interface": kw("interface"),
"extends": kw("extends"),
"constructor": kw("constructor"),
// scope modifiers
"public": kw("public"),
"private": kw("private"),
"protected": kw("protected"),
"static": kw("static"),
// types
"string": type, "number": type, "bool": type, "any": type
};
for (var attr in tsKeywords) {
jsKeywords[attr] = tsKeywords[attr];
}
}
return jsKeywords;
}();
var isOperatorChar = /[+\-*&%=<>!?|~^]/;
var isJsonldKeyword = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;
function readRegexp(stream) {
var escaped = false, next, inSet = false;
while ((next = stream.next()) != null) {
if (!escaped) {
if (next == "/" && !inSet) return;
if (next == "[") inSet = true;
else if (inSet && next == "]") inSet = false;
}
escaped = !escaped && next == "\\";
}
}
// Used as scratch variables to communicate multiple values without
// consing up tons of objects.
var type, content;
function ret(tp, style, cont) {
type = tp; content = cont;
return style;
}
function tokenBase(stream, state) {
var ch = stream.next();
if (ch == '"' || ch == "'") {
state.tokenize = tokenString(ch);
return state.tokenize(stream, state);
} else if (ch == "." && stream.match(/^\d+(?:[eE][+\-]?\d+)?/)) {
return ret("number", "number");
} else if (ch == "." && stream.match("..")) {
return ret("spread", "meta");
} else if (/[\[\]{}\(\),;\:\.]/.test(ch)) {
return ret(ch);
} else if (ch == "=" && stream.eat(">")) {
return ret("=>", "operator");
} else if (ch == "0" && stream.eat(/x/i)) {
stream.eatWhile(/[\da-f]/i);
return ret("number", "number");
} else if (/\d/.test(ch)) {
stream.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/);
return ret("number", "number");
} else if (ch == "/") {
if (stream.eat("*")) {
state.tokenize = tokenComment;
return tokenComment(stream, state);
} else if (stream.eat("/")) {
stream.skipToEnd();
return ret("comment", "comment");
} else if (state.lastType == "operator" || state.lastType == "keyword c" ||
state.lastType == "sof" || /^[\[{}\(,;:]$/.test(state.lastType)) {
readRegexp(stream);
stream.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/);
return ret("regexp", "string-2");
} else {
stream.eatWhile(isOperatorChar);
return ret("operator", "operator", stream.current());
}
} else if (ch == "`") {
state.tokenize = tokenQuasi;
return tokenQuasi(stream, state);
} else if (ch == "#") {
stream.skipToEnd();
return ret("error", "error");
} else if (isOperatorChar.test(ch)) {
stream.eatWhile(isOperatorChar);
return ret("operator", "operator", stream.current());
} else if (wordRE.test(ch)) {
stream.eatWhile(wordRE);
var word = stream.current(), known = keywords.propertyIsEnumerable(word) && keywords[word];
return (known && state.lastType != ".") ? ret(known.type, known.style, word) :
ret("variable", "variable", word);
}
}
function tokenString(quote) {
return function(stream, state) {
var escaped = false, next;
if (jsonldMode && stream.peek() == "@" && stream.match(isJsonldKeyword)){
state.tokenize = tokenBase;
return ret("jsonld-keyword", "meta");
}
while ((next = stream.next()) != null) {
if (next == quote && !escaped) break;
escaped = !escaped && next == "\\";
}
if (!escaped) state.tokenize = tokenBase;
return ret("string", "string");
};
}
function tokenComment(stream, state) {
var maybeEnd = false, ch;
while (ch = stream.next()) {
if (ch == "/" && maybeEnd) {
state.tokenize = tokenBase;
break;
}
maybeEnd = (ch == "*");
}
return ret("comment", "comment");
}
function tokenQuasi(stream, state) {
var escaped = false, next;
while ((next = stream.next()) != null) {
if (!escaped && (next == "`" || next == "$" && stream.eat("{"))) {
state.tokenize = tokenBase;
break;
}
escaped = !escaped && next == "\\";
}
return ret("quasi", "string-2", stream.current());
}
var brackets = "([{}])";
// This is a crude lookahead trick to try and notice that we're
// parsing the argument patterns for a fat-arrow function before we
// actually hit the arrow token. It only works if the arrow is on
// the same line as the arguments and there's no strange noise
// (comments) in between. Fallback is to only notice when we hit the
// arrow, and not declare the arguments as locals for the arrow
// body.
function findFatArrow(stream, state) {
if (state.fatArrowAt) state.fatArrowAt = null;
var arrow = stream.string.indexOf("=>", stream.start);
if (arrow < 0) return;
var depth = 0, sawSomething = false;
for (var pos = arrow - 1; pos >= 0; --pos) {
var ch = stream.string.charAt(pos);
var bracket = brackets.indexOf(ch);
if (bracket >= 0 && bracket < 3) {
if (!depth) { ++pos; break; }
if (--depth == 0) break;
} else if (bracket >= 3 && bracket < 6) {
++depth;
} else if (wordRE.test(ch)) {
sawSomething = true;
} else if (/["'\/]/.test(ch)) {
return;
} else if (sawSomething && !depth) {
++pos;
break;
}
}
if (sawSomething && !depth) state.fatArrowAt = pos;
}
// Parser
var atomicTypes = {"atom": true, "number": true, "variable": true, "string": true, "regexp": true, "this": true, "jsonld-keyword": true};
function JSLexical(indented, column, type, align, prev, info) {
this.indented = indented;
this.column = column;
this.type = type;
this.prev = prev;
this.info = info;
if (align != null) this.align = align;
}
function inScope(state, varname) {
for (var v = state.localVars; v; v = v.next)
if (v.name == varname) return true;
for (var cx = state.context; cx; cx = cx.prev) {
for (var v = cx.vars; v; v = v.next)
if (v.name == varname) return true;
}
}
function parseJS(state, style, type, content, stream) {
var cc = state.cc;
// Communicate our context to the combinators.
// (Less wasteful than consing up a hundred closures on every call.)
cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc; cx.style = style;
if (!state.lexical.hasOwnProperty("align"))
state.lexical.align = true;
while(true) {
var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement;
if (combinator(type, content)) {
while(cc.length && cc[cc.length - 1].lex)
cc.pop()();
if (cx.marked) return cx.marked;
if (type == "variable" && inScope(state, content)) return "variable-2";
return style;
}
}
}
// Combinator utils
var cx = {state: null, column: null, marked: null, cc: null};
function pass() {
for (var i = arguments.length - 1; i >= 0; i--) cx.cc.push(arguments[i]);
}
function cont() {
pass.apply(null, arguments);
return true;
}
function register(varname) {
function inList(list) {
for (var v = list; v; v = v.next)
if (v.name == varname) return true;
return false;
}
var state = cx.state;
if (state.context) {
cx.marked = "def";
if (inList(state.localVars)) return;
state.localVars = {name: varname, next: state.localVars};
} else {
if (inList(state.globalVars)) return;
if (parserConfig.globalVars)
state.globalVars = {name: varname, next: state.globalVars};
}
}
// Combinators
var defaultVars = {name: "this", next: {name: "arguments"}};
function pushcontext() {
cx.state.context = {prev: cx.state.context, vars: cx.state.localVars};
cx.state.localVars = defaultVars;
}
function popcontext() {
cx.state.localVars = cx.state.context.vars;
cx.state.context = cx.state.context.prev;
}
function pushlex(type, info) {
var result = function() {
var state = cx.state, indent = state.indented;
if (state.lexical.type == "stat") indent = state.lexical.indented;
else for (var outer = state.lexical; outer && outer.type == ")" && outer.align; outer = outer.prev)
indent = outer.indented;
state.lexical = new JSLexical(indent, cx.stream.column(), type, null, state.lexical, info);
};
result.lex = true;
return result;
}
function poplex() {
var state = cx.state;
if (state.lexical.prev) {
if (state.lexical.type == ")")
state.indented = state.lexical.indented;
state.lexical = state.lexical.prev;
}
}
poplex.lex = true;
function expect(wanted) {
function exp(type) {
if (type == wanted) return cont();
else if (wanted == ";") return pass();
else return cont(exp);
};
return exp;
}
function statement(type, value) {
if (type == "var") return cont(pushlex("vardef", value.length), vardef, expect(";"), poplex);
if (type == "keyword a") return cont(pushlex("form"), expression, statement, poplex);
if (type == "keyword b") return cont(pushlex("form"), statement, poplex);
if (type == "{") return cont(pushlex("}"), block, poplex);
if (type == ";") return cont();
if (type == "if") {
if (cx.state.lexical.info == "else" && cx.state.cc[cx.state.cc.length - 1] == poplex)
cx.state.cc.pop()();
return cont(pushlex("form"), expression, statement, poplex, maybeelse);
}
if (type == "function") return cont(functiondef);
if (type == "for") return cont(pushlex("form"), forspec, statement, poplex);
if (type == "variable") return cont(pushlex("stat"), maybelabel);
if (type == "switch") return cont(pushlex("form"), expression, pushlex("}", "switch"), expect("{"),
block, poplex, poplex);
if (type == "case") return cont(expression, expect(":"));
if (type == "default") return cont(expect(":"));
if (type == "catch") return cont(pushlex("form"), pushcontext, expect("("), funarg, expect(")"),
statement, poplex, popcontext);
if (type == "module") return cont(pushlex("form"), pushcontext, afterModule, popcontext, poplex);
if (type == "class") return cont(pushlex("form"), className, poplex);
if (type == "export") return cont(pushlex("form"), afterExport, poplex);
if (type == "import") return cont(pushlex("form"), afterImport, poplex);
return pass(pushlex("stat"), expression, expect(";"), poplex);
}
function expression(type) {
return expressionInner(type, false);
}
function expressionNoComma(type) {
return expressionInner(type, true);
}
function expressionInner(type, noComma) {
if (cx.state.fatArrowAt == cx.stream.start) {
var body = noComma ? arrowBodyNoComma : arrowBody;
if (type == "(") return cont(pushcontext, pushlex(")"), commasep(pattern, ")"), poplex, expect("=>"), body, popcontext);
else if (type == "variable") return pass(pushcontext, pattern, expect("=>"), body, popcontext);
}
var maybeop = noComma ? maybeoperatorNoComma : maybeoperatorComma;
if (atomicTypes.hasOwnProperty(type)) return cont(maybeop);
if (type == "function") return cont(functiondef, maybeop);
if (type == "keyword c") return cont(noComma ? maybeexpressionNoComma : maybeexpression);
if (type == "(") return cont(pushlex(")"), maybeexpression, comprehension, expect(")"), poplex, maybeop);
if (type == "operator" || type == "spread") return cont(noComma ? expressionNoComma : expression);
if (type == "[") return cont(pushlex("]"), arrayLiteral, poplex, maybeop);
if (type == "{") return contCommasep(objprop, "}", null, maybeop);
if (type == "quasi") { return pass(quasi, maybeop); }
return cont();
}
function maybeexpression(type) {
if (type.match(/[;\}\)\],]/)) return pass();
return pass(expression);
}
function maybeexpressionNoComma(type) {
if (type.match(/[;\}\)\],]/)) return pass();
return pass(expressionNoComma);
}
function maybeoperatorComma(type, value) {
if (type == ",") return cont(expression);
return maybeoperatorNoComma(type, value, false);
}
function maybeoperatorNoComma(type, value, noComma) {
var me = noComma == false ? maybeoperatorComma : maybeoperatorNoComma;
var expr = noComma == false ? expression : expressionNoComma;
if (type == "=>") return cont(pushcontext, noComma ? arrowBodyNoComma : arrowBody, popcontext);
if (type == "operator") {
if (/\+\+|--/.test(value)) return cont(me);
if (value == "?") return cont(expression, expect(":"), expr);
return cont(expr);
}
if (type == "quasi") { return pass(quasi, me); }
if (type == ";") return;
if (type == "(") return contCommasep(expressionNoComma, ")", "call", me);
if (type == ".") return cont(property, me);
if (type == "[") return cont(pushlex("]"), maybeexpression, expect("]"), poplex, me);
}
function quasi(type, value) {
if (type != "quasi") return pass();
if (value.slice(value.length - 2) != "${") return cont(quasi);
return cont(expression, continueQuasi);
}
function continueQuasi(type) {
if (type == "}") {
cx.marked = "string-2";
cx.state.tokenize = tokenQuasi;
return cont(quasi);
}
}
function arrowBody(type) {
findFatArrow(cx.stream, cx.state);
return pass(type == "{" ? statement : expression);
}
function arrowBodyNoComma(type) {
findFatArrow(cx.stream, cx.state);
return pass(type == "{" ? statement : expressionNoComma);
}
function maybelabel(type) {
if (type == ":") return cont(poplex, statement);
return pass(maybeoperatorComma, expect(";"), poplex);
}
function property(type) {
if (type == "variable") {cx.marked = "property"; return cont();}
}
function objprop(type, value) {
if (type == "variable" || cx.style == "keyword") {
cx.marked = "property";
if (value == "get" || value == "set") return cont(getterSetter);
return cont(afterprop);
} else if (type == "number" || type == "string") {
cx.marked = jsonldMode ? "property" : (cx.style + " property");
return cont(afterprop);
} else if (type == "jsonld-keyword") {
return cont(afterprop);
} else if (type == "[") {
return cont(expression, expect("]"), afterprop);
}
}
function getterSetter(type) {
if (type != "variable") return pass(afterprop);
cx.marked = "property";
return cont(functiondef);
}
function afterprop(type) {
if (type == ":") return cont(expressionNoComma);
if (type == "(") return pass(functiondef);
}
function commasep(what, end) {
function proceed(type) {
if (type == ",") {
var lex = cx.state.lexical;
if (lex.info == "call") lex.pos = (lex.pos || 0) + 1;
return cont(what, proceed);
}
if (type == end) return cont();
return cont(expect(end));
}
return function(type) {
if (type == end) return cont();
return pass(what, proceed);
};
}
function contCommasep(what, end, info) {
for (var i = 3; i < arguments.length; i++)
cx.cc.push(arguments[i]);
return cont(pushlex(end, info), commasep(what, end), poplex);
}
function block(type) {
if (type == "}") return cont();
return pass(statement, block);
}
function maybetype(type) {
if (isTS && type == ":") return cont(typedef);
}
function typedef(type) {
if (type == "variable"){cx.marked = "variable-3"; return cont();}
}
function vardef() {
return pass(pattern, maybetype, maybeAssign, vardefCont);
}
function pattern(type, value) {
if (type == "variable") { register(value); return cont(); }
if (type == "[") return contCommasep(pattern, "]");
if (type == "{") return contCommasep(proppattern, "}");
}
function proppattern(type, value) {
if (type == "variable" && !cx.stream.match(/^\s*:/, false)) {
register(value);
return cont(maybeAssign);
}
if (type == "variable") cx.marked = "property";
return cont(expect(":"), pattern, maybeAssign);
}
function maybeAssign(_type, value) {
if (value == "=") return cont(expressionNoComma);
}
function vardefCont(type) {
if (type == ",") return cont(vardef);
}
function maybeelse(type, value) {
if (type == "keyword b" && value == "else") return cont(pushlex("form", "else"), statement, poplex);
}
function forspec(type) {
if (type == "(") return cont(pushlex(")"), forspec1, expect(")"), poplex);
}
function forspec1(type) {
if (type == "var") return cont(vardef, expect(";"), forspec2);
if (type == ";") return cont(forspec2);
if (type == "variable") return cont(formaybeinof);
return pass(expression, expect(";"), forspec2);
}
function formaybeinof(_type, value) {
if (value == "in" || value == "of") { cx.marked = "keyword"; return cont(expression); }
return cont(maybeoperatorComma, forspec2);
}
function forspec2(type, value) {
if (type == ";") return cont(forspec3);
if (value == "in" || value == "of") { cx.marked = "keyword"; return cont(expression); }
return pass(expression, expect(";"), forspec3);
}
function forspec3(type) {
if (type != ")") cont(expression);
}
function functiondef(type, value) {
if (value == "*") {cx.marked = "keyword"; return cont(functiondef);}
if (type == "variable") {register(value); return cont(functiondef);}
if (type == "(") return cont(pushcontext, pushlex(")"), commasep(funarg, ")"), poplex, statement, popcontext);
}
function funarg(type) {
if (type == "spread") return cont(funarg);
return pass(pattern, maybetype);
}
function className(type, value) {
if (type == "variable") {register(value); return cont(classNameAfter);}
}
function classNameAfter(type, value) {
if (value == "extends") return cont(expression, classNameAfter);
if (type == "{") return cont(pushlex("}"), classBody, poplex);
}
function classBody(type, value) {
if (type == "variable" || cx.style == "keyword") {
cx.marked = "property";
if (value == "get" || value == "set") return cont(classGetterSetter, functiondef, classBody);
return cont(functiondef, classBody);
}
if (value == "*") {
cx.marked = "keyword";
return cont(classBody);
}
if (type == ";") return cont(classBody);
if (type == "}") return cont();
}
function classGetterSetter(type) {
if (type != "variable") return pass();
cx.marked = "property";
return cont();
}
function afterModule(type, value) {
if (type == "string") return cont(statement);
if (type == "variable") { register(value); return cont(maybeFrom); }
}
function afterExport(_type, value) {
if (value == "*") { cx.marked = "keyword"; return cont(maybeFrom, expect(";")); }
if (value == "default") { cx.marked = "keyword"; return cont(expression, expect(";")); }
return pass(statement);
}
function afterImport(type) {
if (type == "string") return cont();
return pass(importSpec, maybeFrom);
}
function importSpec(type, value) {
if (type == "{") return contCommasep(importSpec, "}");
if (type == "variable") register(value);
return cont();
}
function maybeFrom(_type, value) {
if (value == "from") { cx.marked = "keyword"; return cont(expression); }
}
function arrayLiteral(type) {
if (type == "]") return cont();
return pass(expressionNoComma, maybeArrayComprehension);
}
function maybeArrayComprehension(type) {
if (type == "for") return pass(comprehension, expect("]"));
if (type == ",") return cont(commasep(maybeexpressionNoComma, "]"));
return pass(commasep(expressionNoComma, "]"));
}
function comprehension(type) {
if (type == "for") return cont(forspec, comprehension);
if (type == "if") return cont(expression, comprehension);
}
function isContinuedStatement(state, textAfter) {
return state.lastType == "operator" || state.lastType == "," ||
isOperatorChar.test(textAfter.charAt(0)) ||
/[,.]/.test(textAfter.charAt(0));
}
// Interface
return {
startState: function(basecolumn) {
var state = {
tokenize: tokenBase,
lastType: "sof",
cc: [],
lexical: new JSLexical((basecolumn || 0) - indentUnit, 0, "block", false),
localVars: parserConfig.localVars,
context: parserConfig.localVars && {vars: parserConfig.localVars},
indented: 0
};
if (parserConfig.globalVars && typeof parserConfig.globalVars == "object")
state.globalVars = parserConfig.globalVars;
return state;
},
token: function(stream, state) {
if (stream.sol()) {
if (!state.lexical.hasOwnProperty("align"))
state.lexical.align = false;
state.indented = stream.indentation();
findFatArrow(stream, state);
}
if (state.tokenize != tokenComment && stream.eatSpace()) return null;
var style = state.tokenize(stream, state);
if (type == "comment") return style;
state.lastType = type == "operator" && (content == "++" || content == "--") ? "incdec" : type;
return parseJS(state, style, type, content, stream);
},
indent: function(state, textAfter) {
if (state.tokenize == tokenComment) return CodeMirror.Pass;
if (state.tokenize != tokenBase) return 0;
var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical;
// Kludge to prevent 'maybelse' from blocking lexical scope pops
if (!/^\s*else\b/.test(textAfter)) for (var i = state.cc.length - 1; i >= 0; --i) {
var c = state.cc[i];
if (c == poplex) lexical = lexical.prev;
else if (c != maybeelse) break;
}
if (lexical.type == "stat" && firstChar == "}") lexical = lexical.prev;
if (statementIndent && lexical.type == ")" && lexical.prev.type == "stat")
lexical = lexical.prev;
var type = lexical.type, closing = firstChar == type;
if (type == "vardef") return lexical.indented + (state.lastType == "operator" || state.lastType == "," ? lexical.info + 1 : 0);
else if (type == "form" && firstChar == "{") return lexical.indented;
else if (type == "form") return lexical.indented + indentUnit;
else if (type == "stat")
return lexical.indented + (isContinuedStatement(state, textAfter) ? statementIndent || indentUnit : 0);
else if (lexical.info == "switch" && !closing && parserConfig.doubleIndentSwitch != false)
return lexical.indented + (/^(?:case|default)\b/.test(textAfter) ? indentUnit : 2 * indentUnit);
else if (lexical.align) return lexical.column + (closing ? 0 : 1);
else return lexical.indented + (closing ? 0 : indentUnit);
},
electricInput: /^\s*(?:case .*?:|default:|\{|\})$/,
blockCommentStart: jsonMode ? null : "/*",
blockCommentEnd: jsonMode ? null : "*/",
lineComment: jsonMode ? null : "//",
fold: "brace",
helperType: jsonMode ? "json" : "javascript",
jsonldMode: jsonldMode,
jsonMode: jsonMode
};
});
CodeMirror.registerHelper("wordChars", "javascript", /[\w$]/);
CodeMirror.defineMIME("text/javascript", "javascript");
CodeMirror.defineMIME("text/ecmascript", "javascript");
CodeMirror.defineMIME("application/javascript", "javascript");
CodeMirror.defineMIME("application/x-javascript", "javascript");
CodeMirror.defineMIME("application/ecmascript", "javascript");
CodeMirror.defineMIME("application/json", {name: "javascript", json: true});
CodeMirror.defineMIME("application/x-json", {name: "javascript", json: true});
CodeMirror.defineMIME("application/ld+json", {name: "javascript", jsonld: true});
CodeMirror.defineMIME("text/typescript", { name: "javascript", typescript: true });
CodeMirror.defineMIME("application/typescript", { name: "javascript", typescript: true });
});

427
js/create_kindeditor.js Normal file
View File

@ -0,0 +1,427 @@
//需求:表情栏可以隐藏显示,高度只要一点高
function sd_create_editor(params) {
// var minHeight; //最小高度
var paramsHeight = params.height; //设定的高度
var id = arguments[1] ? arguments[1] : undefined;
var type = arguments[2] ? arguments[2] : '';
var paramsWidth = params.width == undefined ? "100%" : params.width;
var editor = params.kindutil.create(params.textarea, {
resizeType: 1, minWidth: "1px", width: "94%",
height: "33px",// == undefined ? "30px":paramsHeight+"px",
minHeight: "33px",// == undefined ? "30px":paramsHeight+"px",
width: params.width,
/*
items:['emoticons','fontname',
'forecolor', 'hilitecolor', 'bold', '|', 'justifyleft', 'justifycenter', 'insertorderedlist','insertunorderedlist', '|',
'formatblock', 'fontsize', '|','indent', 'outdent',
'|','imagedirectupload','more'],*/
items: ['code', 'emoticons', 'fontname',
'forecolor', 'hilitecolor', 'bold', '|', 'justifyleft', 'justifycenter', 'insertorderedlist', 'insertunorderedlist', '|',
'formatblock', 'fontsize', '|', 'indent', 'outdent',
'|', 'imagedirectupload', 'table', 'media', 'preview', "more"
],
afterChange: function () {//按键事件
var edit = this.edit;
var body = edit.doc.body;
edit.iframe.height(paramsHeight);
this.resize(null, Math.max((params.kindutil.IE ? body.scrollHeight : (params.kindutil.GECKO ? body.offsetHeight + 26 : body.offsetHeight + 7)), paramsHeight));
},
afterBlur: function () {
//params.toolbar_container.hide();
params.textarea.blur();
sd_check_editor_form_field({ content: this, contentmsg: params.contentmsg, textarea: params.textarea });
if (this.isEmpty()) {
this.edit.html("<span id='hint' style='color:#999999;font-size:12px;'>我要回复</span>");
}
//params.toolbar_container.hide();
$('#reply_image_' + id).addClass('imageFuzzy');
if (/^\s*<\w*\s*\w*\=\"\w*\"\s*\w*\=\"\w*\:\s*\#\d*\;\s*\w*\-\w*\:\s*\w*\;\"\>[\u4e00-\u9fa5]*<\/\w*\>\s*$/.test(this.edit.html())) {
params.submit_btn.hide();
params.toolbar_container.hide();
this.resize("100%", null);
} else if (this.edit.html().trim() != "") {
params.submit_btn.show();
params.toolbar_container.show();
}
//params.submit_btn.css("display","none");
},
afterFocus: function () {
var edit = this.edit;
var body = edit.doc.body;
if (/^\s*<\w*\s*\w*\=\"\w*\"\s*\w*\=\"\w*\:\s*\#\d*\;\s*\w*\-\w*\:\s*\w*\;\"\>[\u4e00-\u9fa5]*<\/\w*\>\s*$/.test(edit.html())) {
edit.html('');
}
params.submit_btn.show();
params.contentmsg.hide();
params.toolbar_container.show();
// params.toolbar_container.show();
$('#reply_image_' + id).removeClass('imageFuzzy');
//edit.iframe.width(paramsWidth);
this.resize("100%", null);
this.resize(paramsWidth, null);
//params.submit_btn.show();
},
afterCreate: function () {
//params.submit_btn.hide();
var toolbar = $("div[class='ke-toolbar']", params.div_form);
toolbar.css('display', 'inline');
toolbar.css('padding', 0);
$(".ke-outline>.ke-toolbar-icon", toolbar).append('表情');
params.toolbar_container.append(toolbar);
params.toolbar_container.hide();
params.submit_btn.hide();
//init
var edit = this.edit;
var body = edit.doc.body;
edit.iframe[0].scroll = 'no';
body.style.overflowY = 'hidden';
//reset height
paramsHeight = paramsHeight == undefined ? params.kindutil.removeUnit(this.height) : paramsHeight;
edit.iframe.height(paramsHeight);
edit.html("<span id='hint' style='color:#999999;font-size:12px;'>我要回复</span>");
this.resize(null, paramsHeight);// Math.max((params.kindutil.IE ? body.scrollHeight : body.offsetHeight)+ paramsHeight , paramsHeight)
// params.toolbar_container.hide();
if (typeof enableAt === 'function') {
enableAt(this, id, type);
}
}
}).loadPlugin('paste');
return editor;
}
function sd_create_shixun_editor(params) {
// var minHeight; //最小高度
var paramsHeight = params.height; //设定的高度
var id = arguments[1] ? arguments[1] : undefined;
var type = arguments[2] ? arguments[2] : '';
var paramsWidth = params.width == undefined ? "100%" : params.width;
var editor = params.kindutil.create(params.textarea, {
resizeType: 1, minWidth: "1px", width: "94%",
height: "33px",// == undefined ? "30px":paramsHeight+"px",
minHeight: "33px",// == undefined ? "30px":paramsHeight+"px",
width: params.width,
/*
items:['emoticons','fontname',
'forecolor', 'hilitecolor', 'bold', '|', 'justifyleft', 'justifycenter', 'insertorderedlist','insertunorderedlist', '|',
'formatblock', 'fontsize', '|','indent', 'outdent',
'|','imagedirectupload','more'],*/
items: ['imagedirectupload'],
afterChange: function () {//按键事件
if (this.isEmpty() || this.edit.doc.body.innerText == '说点什么') {
$('#mini_comment_section').height('auto')
} else {
var edit = this.edit;
var body = edit.doc.body;
var newHeight = 0;
var FF = !(window.mozInnerScreenX == null);
if (FF) { // 火狐下处理方式不一样
newHeight = $(body).height()
} else {
$(body).children().each(function () { newHeight += $(this).height() });
}
// var newHeight = $(body).height()
var maxHeight = 357 // $(window).height() - 150 - 57; // 150 上部距离 57 下部距离
newHeight = newHeight <= maxHeight ? newHeight : maxHeight
if (newHeight > 150) {
if (FF) { // 火狐下处理方式不一样
this.resize("100%", (newHeight + 20) + 'px');
} else {
this.resize("100%", newHeight + 'px');
}
$('#mini_comment_section').height(newHeight + 57)
} else {
this.resize("100%", '150px');
$('#mini_comment_section').height('auto')
}
}
//edit.iframe.height(paramsHeight);
//this.resize(null, Math.max((params.kindutil.IE ? body.scrollHeight : (params.kindutil.GECKO ? body.offsetHeight+26:body.offsetHeight+7)) , 15));
},
afterBlur: function () {
//params.toolbar_container.hide();
params.textarea.blur();
sd_check_editor_form_field({ content: this, contentmsg: params.contentmsg, textarea: params.textarea });
if (this.isEmpty()) {
$('#mini_comment_section').height('auto')
this.edit.html("<span id='hint' style='color:#999999;font-size:14px;'>说点什么</span>");
params.submit_btn.hide();
params.toolbar_container.hide();
this.resize("100%", "30px");
$("#dis_reply_id").val("");
if ($("#editor_panel").length > 0) {
$("#editor_panel").attr("style", "margin-top:9px;flex: 1;");
$("#editor_panel").parents("form").addClass("df")
}
}
//params.toolbar_container.hide();
/*$('#reply_image_' + id).addClass('imageFuzzy');
if(/^\s*<\w*\s*\w*\=\"\w*\"\s*\w*\=\"\w*\:\s*\#\d*\;\s*\w*\-\w*\:\s*\w*\;\"\>[\u4e00-\u9fa5]*<\/\w*\>\s*$/.test(this.edit.html())){
params.submit_btn.hide();
params.toolbar_container.hide();
this.resize("100%", "30px");
}else if(this.edit.html().trim() != ""){
params.submit_btn.show();
params.toolbar_container.show();
}*/
//params.submit_btn.css("display","none");
// $('#mini_comment_section').height('auto')
},
afterFocus: function () {
var edit = this.edit;
var body = edit.doc.body;
if (/^\s*<\w*\s*\w*\=\"\w*\"\s*\w*\=\"\w*\:\s*\#\d*\;\s*\w*\-\w*\:\s*\w*\;\"\>[\u4e00-\u9fa5]*<\/\w*\>\s*$/.test(edit.html())) {
edit.html("");
}
params.submit_btn.show();
params.contentmsg.hide();
params.toolbar_container.show();
// params.toolbar_container.show();
$('#reply_image_' + id).removeClass('imageFuzzy');
//edit.iframe.width(paramsWidth);
var newHeight = $(body).height()
if (newHeight < 150) {
this.resize("100%", "150px");
this.resize(paramsWidth, "150px");
}
if ($("#editor_panel").length > 0) {
$("#editor_panel").attr("style", "width:100%;margin-top:9px;");
$("#editor_panel").parents("form").removeClass("df")
}
//params.submit_btn.show();
// $('#mini_comment_section').height('244px')
},
afterCreate: function () {
//params.submit_btn.hide();
var toolbar = $("div[class='ke-toolbar']", params.div_form);
toolbar.css('display', 'inline');
toolbar.css('padding', 0);
$(".ke-outline>.ke-toolbar-icon", toolbar).append('表情');
params.toolbar_container.append(toolbar);
params.toolbar_container.hide();
params.submit_btn.hide();
//init
var edit = this.edit;
var body = edit.doc.body;
edit.iframe[0].scroll = 'no';
// body.style.overflowY = 'hidden';
body.style['padding-top'] = '2px';
body.style['padding-left'] = '5px';
// <style type='text/css'>body{padding-top: 2px;padding-left: 5px;}</style>
//reset height
paramsHeight = paramsHeight == undefined ? params.kindutil.removeUnit(this.height) : paramsHeight;
edit.iframe.height(paramsHeight);
edit.html("<span id='hint' style='color:#999999;font-size:14px;'>说点什么</span>");
this.resize(null, paramsHeight);// Math.max((params.kindutil.IE ? body.scrollHeight : body.offsetHeight)+ paramsHeight , paramsHeight)
// params.toolbar_container.hide();
if (typeof enableAt === 'function') {
enableAt(this, id, type);
}
var iframe = edit.iframe[0]
$(iframe.contentDocument.head).append(
$("<style type='text/css'>::-webkit-scrollbar{height: 10px;width: 6px !important;background: rgba(0,0,0,.1) !important;} ::-webkit-scrollbar-thumb {border-radius: 6px;background: #ADADAD;};</style>"));
}
}).loadPlugin('paste');
return editor;
}
function sd_check_editor_form_field(params) {
var result = true;
if (params.content != undefined) {
if (params.content.isEmpty()) {
result = false;
}
if (params.content.html() != params.textarea.html() || params.issubmit == true) {
params.textarea.html(params.content.html());
params.content.sync();
if (params.content.isEmpty() || /^\s*<\w*\s*\w*\=\"\w*\"\s*\w*\=\"\w*\:\s*\#\d*\;\s*\w*\-\w*\:\s*\w*\;\"\>[\u4e00-\u9fa5]*<\/\w*\>\s*$/.test(params.textarea.html())) {
params.contentmsg.html('内容不能为空');
params.contentmsg.css({ color: '#ff0000' });
} else {
params.contentmsg.html('填写正确');
params.contentmsg.css({ color: '#008000' });
}
params.contentmsg.show();
}
}
return result;
}
function sd_create_form(params) {
params.form.submit(function () {
var flag = false;
if (params.form.attr('data-remote') != undefined) {
flag = true
}
var is_checked = sd_check_editor_form_field({
issubmit: true,
content: params.editor,
contentmsg: params.contentmsg,
textarea: params.textarea
});
if (is_checked) {
if (flag) {
return true;
} else {
$(this)[0].submit();
return false;
}
}
return false;
});
}
function sd_reset_editor_form(params) {
params.form[0].reset();
params.textarea.empty();
if (params.editor != undefined) {
params.editor.html(params.textarea.html());
}
params.contentmsg.hide();
}
//第二个参数是高度,可以传,可以不传
function sd_create_editor_from_data(id) {
var height = arguments[1] ? arguments[1] : undefined;
var width = arguments[2] ? arguments[2] : undefined;
var type = arguments[3] ? arguments[3] : undefined;
var K = KindEditor;
$("div[nhname='new_message_" + id + "']").each(function () {
var params = {};
params.kindutil = K;
params.div_form = $(this);
params.form = $("form", params.div_form);
if (params.form == undefined || params.form.length == 0) {
return;
}
params.textarea = $("textarea[nhname='new_message_textarea_" + id + "']", params.div_form);
params.contentmsg = $("span[nhname='contentmsg_" + id + "']", params.div_form);
params.toolbar_container = $("div[nhname='toolbar_container_" + id + "']", params.div_form);
params.cancel_btn = $("#new_message_cancel_btn_" + id);
params.submit_btn = $("#new_message_submit_btn_" + id);
params.height = height;
params.width = width;
if (params.textarea.data('init') == undefined) {
params.editor = sd_create_editor(params, id, type);
sd_create_form(params);
params.cancel_btn.click(function () {
sd_reset_editor_form(params);
});
params.submit_btn.click(function () {
var tContents = $("#comment_news_" + id).val();
if (tContents != undefined) {
var beforeImage = tContents.split("<img");
var afterImage = tContents.split("/>");
if (beforeImage[0] == "" && afterImage[1] == "") {
notice_box('不支持纯图片评论<br/>请在评论中增加文字信息');
return;
}
if (tContents.startsWith('<') && tContents.endsWith('>')
&& (tContents.indexOf('<link') != -1 || tContents.indexOf('<script') != -1)) {
notice_box('不支持包含link或script标签的html内容');
return;
}
}
// react环境下发消息给react组件
if (window['__isR'] === true) {
$(document).trigger("onReply", { commentContent: tContents, id: id, editor: params.editor });
} else {
params.form.submit();
}
});
params.textarea.focus(function () {
params.editor.focus();
});
params.textarea.data('init', 1);
$(this).show();
__editor = params.editor
}
});
// });
div_form = $("div[nhname='new_message_" + id + "']");
$(".ke-edit", div_form).css("height", "33px");
$(".ke-edit-iframe", div_form).css("height", "33px");
return __editor;
}
//第二个参数是高度,可以传,可以不传
function sd_create_editor_from_shixun_data(id) {
var height = arguments[1] ? arguments[1] : undefined;
var width = arguments[2] ? arguments[2] : undefined;
var type = arguments[3] ? arguments[3] : undefined;
// KindEditor.ready(function (K) {
// react 环境不需要ready方法页面已经加载完了才执行sd_create_editor_from_data
var K = KindEditor;
$("div[nhname='new_message_" + id + "']").each(function () {
var params = {};
params.kindutil = K;
params.div_form = $(this);
params.form = $("form", params.div_form);
if (params.form == undefined || params.form.length == 0) {
return;
}
params.textarea = $("textarea[nhname='new_message_textarea_" + id + "']", params.div_form);
params.contentmsg = $("span[nhname='contentmsg_" + id + "']", params.div_form);
params.toolbar_container = $("div[nhname='toolbar_container_" + id + "']", params.div_form);
params.cancel_btn = $("#new_message_cancel_btn_" + id);
params.submit_btn = $("#new_message_submit_btn_" + id);
params.height = height;
params.width = width;
if (params.textarea.data('init') == undefined) {
params.editor = sd_create_shixun_editor(params, id, type);
window._commentInput = params.editor;
sd_create_form(params);
params.cancel_btn.click(function () {
sd_reset_editor_form(params);
});
// 在react组件中hide
// params.submit_btn.click(function () {
// $(this).hide()
// });
// 非react环境才监听这个click
!window['__isR'] && params.submit_btn.click(function () {
var tContents = $("#comment_news_" + id).val();
if (tContents != undefined) {
var beforeImage = tContents.split("<img");
var afterImage = tContents.split("/>");
if (beforeImage[0] == "" && afterImage[1] == "") {
notice_box('不支持纯图片评论<br/>请在评论中增加文字信息');
return;
}
}
params.form.submit();
});
params.textarea.focus(function () {
params.editor.focus();
});
params.textarea.data('init', 1);
$(this).show();
}
});
// });
div_form = $("div[nhname='new_message_" + id + "']");
$(".ke-edit", div_form).css("height", "33px");
$(".ke-edit-iframe", div_form).css("height", "33px");
}

3549
js/cropper/cropper.js Normal file

File diff suppressed because it is too large Load Diff

9
js/cropper/cropper.min.css vendored Normal file
View File

@ -0,0 +1,9 @@
/*!
* Cropper.js v1.5.2
* https://fengyuanchen.github.io/cropperjs
*
* Copyright 2015-present Chen Fengyuan
* Released under the MIT license
*
* Date: 2019-06-30T06:01:02.389Z
*/.cropper-container{direction:ltr;font-size:0;line-height:0;position:relative;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cropper-container img{display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-canvas,.cropper-crop-box,.cropper-drag-box,.cropper-modal,.cropper-wrap-box{bottom:0;left:0;position:absolute;right:0;top:0}.cropper-canvas,.cropper-wrap-box{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:rgba(51,153,255,.75);overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:33.33333%;left:0;top:33.33333%;width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:33.33333%;top:0;width:33.33333%}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:after,.cropper-center:before{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media (min-width:768px){.cropper-point.point-se{height:15px;width:15px}}@media (min-width:992px){.cropper-point.point-se{height:10px;width:10px}}@media (min-width:1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC")}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}

20
js/cropper/html2canvas.min.js vendored Normal file

File diff suppressed because one or more lines are too long

49
js/diff_match_patch.js Executable file
View File

@ -0,0 +1,49 @@
(function(){function diff_match_patch(){this.Diff_Timeout=1;this.Diff_EditCost=4;this.Match_Threshold=0.5;this.Match_Distance=1E3;this.Patch_DeleteThreshold=0.5;this.Patch_Margin=4;this.Match_MaxBits=32}
diff_match_patch.prototype.diff_main=function(a,b,c,d){"undefined"==typeof d&&(d=0>=this.Diff_Timeout?Number.MAX_VALUE:(new Date).getTime()+1E3*this.Diff_Timeout);if(null==a||null==b)throw Error("Null input. (diff_main)");if(a==b)return a?[[0,a]]:[];"undefined"==typeof c&&(c=!0);var e=c,f=this.diff_commonPrefix(a,b);c=a.substring(0,f);a=a.substring(f);b=b.substring(f);var f=this.diff_commonSuffix(a,b),g=a.substring(a.length-f);a=a.substring(0,a.length-f);b=b.substring(0,b.length-f);a=this.diff_compute_(a,
b,e,d);c&&a.unshift([0,c]);g&&a.push([0,g]);this.diff_cleanupMerge(a);return a};
diff_match_patch.prototype.diff_compute_=function(a,b,c,d){if(!a)return[[1,b]];if(!b)return[[-1,a]];var e=a.length>b.length?a:b,f=a.length>b.length?b:a,g=e.indexOf(f);return-1!=g?(c=[[1,e.substring(0,g)],[0,f],[1,e.substring(g+f.length)]],a.length>b.length&&(c[0][0]=c[2][0]=-1),c):1==f.length?[[-1,a],[1,b]]:(e=this.diff_halfMatch_(a,b))?(f=e[0],a=e[1],g=e[2],b=e[3],e=e[4],f=this.diff_main(f,g,c,d),c=this.diff_main(a,b,c,d),f.concat([[0,e]],c)):c&&100<a.length&&100<b.length?this.diff_lineMode_(a,b,
d):this.diff_bisect_(a,b,d)};
diff_match_patch.prototype.diff_lineMode_=function(a,b,c){var d=this.diff_linesToChars_(a,b);a=d.chars1;b=d.chars2;d=d.lineArray;a=this.diff_main(a,b,!1,c);this.diff_charsToLines_(a,d);this.diff_cleanupSemantic(a);a.push([0,""]);for(var e=d=b=0,f="",g="";b<a.length;){switch(a[b][0]){case 1:e++;g+=a[b][1];break;case -1:d++;f+=a[b][1];break;case 0:if(1<=d&&1<=e){a.splice(b-d-e,d+e);b=b-d-e;d=this.diff_main(f,g,!1,c);for(e=d.length-1;0<=e;e--)a.splice(b,0,d[e]);b+=d.length}d=e=0;g=f=""}b++}a.pop();return a};
diff_match_patch.prototype.diff_bisect_=function(a,b,c){for(var d=a.length,e=b.length,f=Math.ceil((d+e)/2),g=f,h=2*f,j=Array(h),i=Array(h),k=0;k<h;k++)j[k]=-1,i[k]=-1;j[g+1]=0;i[g+1]=0;for(var k=d-e,q=0!=k%2,r=0,t=0,p=0,w=0,v=0;v<f&&!((new Date).getTime()>c);v++){for(var n=-v+r;n<=v-t;n+=2){var l=g+n,m;m=n==-v||n!=v&&j[l-1]<j[l+1]?j[l+1]:j[l-1]+1;for(var s=m-n;m<d&&s<e&&a.charAt(m)==b.charAt(s);)m++,s++;j[l]=m;if(m>d)t+=2;else if(s>e)r+=2;else if(q&&(l=g+k-n,0<=l&&l<h&&-1!=i[l])){var u=d-i[l];if(m>=
u)return this.diff_bisectSplit_(a,b,m,s,c)}}for(n=-v+p;n<=v-w;n+=2){l=g+n;u=n==-v||n!=v&&i[l-1]<i[l+1]?i[l+1]:i[l-1]+1;for(m=u-n;u<d&&m<e&&a.charAt(d-u-1)==b.charAt(e-m-1);)u++,m++;i[l]=u;if(u>d)w+=2;else if(m>e)p+=2;else if(!q&&(l=g+k-n,0<=l&&(l<h&&-1!=j[l])&&(m=j[l],s=g+m-l,u=d-u,m>=u)))return this.diff_bisectSplit_(a,b,m,s,c)}}return[[-1,a],[1,b]]};
diff_match_patch.prototype.diff_bisectSplit_=function(a,b,c,d,e){var f=a.substring(0,c),g=b.substring(0,d);a=a.substring(c);b=b.substring(d);f=this.diff_main(f,g,!1,e);e=this.diff_main(a,b,!1,e);return f.concat(e)};
diff_match_patch.prototype.diff_linesToChars_=function(a,b){function c(a){for(var b="",c=0,f=-1,g=d.length;f<a.length-1;){f=a.indexOf("\n",c);-1==f&&(f=a.length-1);var r=a.substring(c,f+1),c=f+1;(e.hasOwnProperty?e.hasOwnProperty(r):void 0!==e[r])?b+=String.fromCharCode(e[r]):(b+=String.fromCharCode(g),e[r]=g,d[g++]=r)}return b}var d=[],e={};d[0]="";var f=c(a),g=c(b);return{chars1:f,chars2:g,lineArray:d}};
diff_match_patch.prototype.diff_charsToLines_=function(a,b){for(var c=0;c<a.length;c++){for(var d=a[c][1],e=[],f=0;f<d.length;f++)e[f]=b[d.charCodeAt(f)];a[c][1]=e.join("")}};diff_match_patch.prototype.diff_commonPrefix=function(a,b){if(!a||!b||a.charAt(0)!=b.charAt(0))return 0;for(var c=0,d=Math.min(a.length,b.length),e=d,f=0;c<e;)a.substring(f,e)==b.substring(f,e)?f=c=e:d=e,e=Math.floor((d-c)/2+c);return e};
diff_match_patch.prototype.diff_commonSuffix=function(a,b){if(!a||!b||a.charAt(a.length-1)!=b.charAt(b.length-1))return 0;for(var c=0,d=Math.min(a.length,b.length),e=d,f=0;c<e;)a.substring(a.length-e,a.length-f)==b.substring(b.length-e,b.length-f)?f=c=e:d=e,e=Math.floor((d-c)/2+c);return e};
diff_match_patch.prototype.diff_commonOverlap_=function(a,b){var c=a.length,d=b.length;if(0==c||0==d)return 0;c>d?a=a.substring(c-d):c<d&&(b=b.substring(0,c));c=Math.min(c,d);if(a==b)return c;for(var d=0,e=1;;){var f=a.substring(c-e),f=b.indexOf(f);if(-1==f)return d;e+=f;if(0==f||a.substring(c-e)==b.substring(0,e))d=e,e++}};
diff_match_patch.prototype.diff_halfMatch_=function(a,b){function c(a,b,c){for(var d=a.substring(c,c+Math.floor(a.length/4)),e=-1,g="",h,j,n,l;-1!=(e=b.indexOf(d,e+1));){var m=f.diff_commonPrefix(a.substring(c),b.substring(e)),s=f.diff_commonSuffix(a.substring(0,c),b.substring(0,e));g.length<s+m&&(g=b.substring(e-s,e)+b.substring(e,e+m),h=a.substring(0,c-s),j=a.substring(c+m),n=b.substring(0,e-s),l=b.substring(e+m))}return 2*g.length>=a.length?[h,j,n,l,g]:null}if(0>=this.Diff_Timeout)return null;
var d=a.length>b.length?a:b,e=a.length>b.length?b:a;if(4>d.length||2*e.length<d.length)return null;var f=this,g=c(d,e,Math.ceil(d.length/4)),d=c(d,e,Math.ceil(d.length/2)),h;if(!g&&!d)return null;h=d?g?g[4].length>d[4].length?g:d:d:g;var j;a.length>b.length?(g=h[0],d=h[1],e=h[2],j=h[3]):(e=h[0],j=h[1],g=h[2],d=h[3]);h=h[4];return[g,d,e,j,h]};
diff_match_patch.prototype.diff_cleanupSemantic=function(a){for(var b=!1,c=[],d=0,e=null,f=0,g=0,h=0,j=0,i=0;f<a.length;)0==a[f][0]?(c[d++]=f,g=j,h=i,i=j=0,e=a[f][1]):(1==a[f][0]?j+=a[f][1].length:i+=a[f][1].length,e&&(e.length<=Math.max(g,h)&&e.length<=Math.max(j,i))&&(a.splice(c[d-1],0,[-1,e]),a[c[d-1]+1][0]=1,d--,d--,f=0<d?c[d-1]:-1,i=j=h=g=0,e=null,b=!0)),f++;b&&this.diff_cleanupMerge(a);this.diff_cleanupSemanticLossless(a);for(f=1;f<a.length;){if(-1==a[f-1][0]&&1==a[f][0]){b=a[f-1][1];c=a[f][1];
d=this.diff_commonOverlap_(b,c);e=this.diff_commonOverlap_(c,b);if(d>=e){if(d>=b.length/2||d>=c.length/2)a.splice(f,0,[0,c.substring(0,d)]),a[f-1][1]=b.substring(0,b.length-d),a[f+1][1]=c.substring(d),f++}else if(e>=b.length/2||e>=c.length/2)a.splice(f,0,[0,b.substring(0,e)]),a[f-1][0]=1,a[f-1][1]=c.substring(0,c.length-e),a[f+1][0]=-1,a[f+1][1]=b.substring(e),f++;f++}f++}};
diff_match_patch.prototype.diff_cleanupSemanticLossless=function(a){function b(a,b){if(!a||!b)return 6;var c=a.charAt(a.length-1),d=b.charAt(0),e=c.match(diff_match_patch.nonAlphaNumericRegex_),f=d.match(diff_match_patch.nonAlphaNumericRegex_),g=e&&c.match(diff_match_patch.whitespaceRegex_),h=f&&d.match(diff_match_patch.whitespaceRegex_),c=g&&c.match(diff_match_patch.linebreakRegex_),d=h&&d.match(diff_match_patch.linebreakRegex_),i=c&&a.match(diff_match_patch.blanklineEndRegex_),j=d&&b.match(diff_match_patch.blanklineStartRegex_);
return i||j?5:c||d?4:e&&!g&&h?3:g||h?2:e||f?1:0}for(var c=1;c<a.length-1;){if(0==a[c-1][0]&&0==a[c+1][0]){var d=a[c-1][1],e=a[c][1],f=a[c+1][1],g=this.diff_commonSuffix(d,e);if(g)var h=e.substring(e.length-g),d=d.substring(0,d.length-g),e=h+e.substring(0,e.length-g),f=h+f;for(var g=d,h=e,j=f,i=b(d,e)+b(e,f);e.charAt(0)===f.charAt(0);){var d=d+e.charAt(0),e=e.substring(1)+f.charAt(0),f=f.substring(1),k=b(d,e)+b(e,f);k>=i&&(i=k,g=d,h=e,j=f)}a[c-1][1]!=g&&(g?a[c-1][1]=g:(a.splice(c-1,1),c--),a[c][1]=
h,j?a[c+1][1]=j:(a.splice(c+1,1),c--))}c++}};diff_match_patch.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;diff_match_patch.whitespaceRegex_=/\s/;diff_match_patch.linebreakRegex_=/[\r\n]/;diff_match_patch.blanklineEndRegex_=/\n\r?\n$/;diff_match_patch.blanklineStartRegex_=/^\r?\n\r?\n/;
diff_match_patch.prototype.diff_cleanupEfficiency=function(a){for(var b=!1,c=[],d=0,e=null,f=0,g=!1,h=!1,j=!1,i=!1;f<a.length;){if(0==a[f][0])a[f][1].length<this.Diff_EditCost&&(j||i)?(c[d++]=f,g=j,h=i,e=a[f][1]):(d=0,e=null),j=i=!1;else if(-1==a[f][0]?i=!0:j=!0,e&&(g&&h&&j&&i||e.length<this.Diff_EditCost/2&&3==g+h+j+i))a.splice(c[d-1],0,[-1,e]),a[c[d-1]+1][0]=1,d--,e=null,g&&h?(j=i=!0,d=0):(d--,f=0<d?c[d-1]:-1,j=i=!1),b=!0;f++}b&&this.diff_cleanupMerge(a)};
diff_match_patch.prototype.diff_cleanupMerge=function(a){a.push([0,""]);for(var b=0,c=0,d=0,e="",f="",g;b<a.length;)switch(a[b][0]){case 1:d++;f+=a[b][1];b++;break;case -1:c++;e+=a[b][1];b++;break;case 0:1<c+d?(0!==c&&0!==d&&(g=this.diff_commonPrefix(f,e),0!==g&&(0<b-c-d&&0==a[b-c-d-1][0]?a[b-c-d-1][1]+=f.substring(0,g):(a.splice(0,0,[0,f.substring(0,g)]),b++),f=f.substring(g),e=e.substring(g)),g=this.diff_commonSuffix(f,e),0!==g&&(a[b][1]=f.substring(f.length-g)+a[b][1],f=f.substring(0,f.length-
g),e=e.substring(0,e.length-g))),0===c?a.splice(b-d,c+d,[1,f]):0===d?a.splice(b-c,c+d,[-1,e]):a.splice(b-c-d,c+d,[-1,e],[1,f]),b=b-c-d+(c?1:0)+(d?1:0)+1):0!==b&&0==a[b-1][0]?(a[b-1][1]+=a[b][1],a.splice(b,1)):b++,c=d=0,f=e=""}""===a[a.length-1][1]&&a.pop();c=!1;for(b=1;b<a.length-1;)0==a[b-1][0]&&0==a[b+1][0]&&(a[b][1].substring(a[b][1].length-a[b-1][1].length)==a[b-1][1]?(a[b][1]=a[b-1][1]+a[b][1].substring(0,a[b][1].length-a[b-1][1].length),a[b+1][1]=a[b-1][1]+a[b+1][1],a.splice(b-1,1),c=!0):a[b][1].substring(0,
a[b+1][1].length)==a[b+1][1]&&(a[b-1][1]+=a[b+1][1],a[b][1]=a[b][1].substring(a[b+1][1].length)+a[b+1][1],a.splice(b+1,1),c=!0)),b++;c&&this.diff_cleanupMerge(a)};diff_match_patch.prototype.diff_xIndex=function(a,b){var c=0,d=0,e=0,f=0,g;for(g=0;g<a.length;g++){1!==a[g][0]&&(c+=a[g][1].length);-1!==a[g][0]&&(d+=a[g][1].length);if(c>b)break;e=c;f=d}return a.length!=g&&-1===a[g][0]?f:f+(b-e)};
diff_match_patch.prototype.diff_prettyHtml=function(a){for(var b=[],c=/&/g,d=/</g,e=/>/g,f=/\n/g,g=0;g<a.length;g++){var h=a[g][0],j=a[g][1],j=j.replace(c,"&amp;").replace(d,"&lt;").replace(e,"&gt;").replace(f,"&para;<br>");switch(h){case 1:b[g]='<ins style="background:#e6ffe6;">'+j+"</ins>";break;case -1:b[g]='<del style="background:#ffe6e6;">'+j+"</del>";break;case 0:b[g]="<span>"+j+"</span>"}}return b.join("")};
diff_match_patch.prototype.diff_text1=function(a){for(var b=[],c=0;c<a.length;c++)1!==a[c][0]&&(b[c]=a[c][1]);return b.join("")};diff_match_patch.prototype.diff_text2=function(a){for(var b=[],c=0;c<a.length;c++)-1!==a[c][0]&&(b[c]=a[c][1]);return b.join("")};diff_match_patch.prototype.diff_levenshtein=function(a){for(var b=0,c=0,d=0,e=0;e<a.length;e++){var f=a[e][0],g=a[e][1];switch(f){case 1:c+=g.length;break;case -1:d+=g.length;break;case 0:b+=Math.max(c,d),d=c=0}}return b+=Math.max(c,d)};
diff_match_patch.prototype.diff_toDelta=function(a){for(var b=[],c=0;c<a.length;c++)switch(a[c][0]){case 1:b[c]="+"+encodeURI(a[c][1]);break;case -1:b[c]="-"+a[c][1].length;break;case 0:b[c]="="+a[c][1].length}return b.join("\t").replace(/%20/g," ")};
diff_match_patch.prototype.diff_fromDelta=function(a,b){for(var c=[],d=0,e=0,f=b.split(/\t/g),g=0;g<f.length;g++){var h=f[g].substring(1);switch(f[g].charAt(0)){case "+":try{c[d++]=[1,decodeURI(h)]}catch(j){throw Error("Illegal escape in diff_fromDelta: "+h);}break;case "-":case "=":var i=parseInt(h,10);if(isNaN(i)||0>i)throw Error("Invalid number in diff_fromDelta: "+h);h=a.substring(e,e+=i);"="==f[g].charAt(0)?c[d++]=[0,h]:c[d++]=[-1,h];break;default:if(f[g])throw Error("Invalid diff operation in diff_fromDelta: "+
f[g]);}}if(e!=a.length)throw Error("Delta length ("+e+") does not equal source text length ("+a.length+").");return c};diff_match_patch.prototype.match_main=function(a,b,c){if(null==a||null==b||null==c)throw Error("Null input. (match_main)");c=Math.max(0,Math.min(c,a.length));return a==b?0:a.length?a.substring(c,c+b.length)==b?c:this.match_bitap_(a,b,c):-1};
diff_match_patch.prototype.match_bitap_=function(a,b,c){function d(a,d){var e=a/b.length,g=Math.abs(c-d);return!f.Match_Distance?g?1:e:e+g/f.Match_Distance}if(b.length>this.Match_MaxBits)throw Error("Pattern too long for this browser.");var e=this.match_alphabet_(b),f=this,g=this.Match_Threshold,h=a.indexOf(b,c);-1!=h&&(g=Math.min(d(0,h),g),h=a.lastIndexOf(b,c+b.length),-1!=h&&(g=Math.min(d(0,h),g)));for(var j=1<<b.length-1,h=-1,i,k,q=b.length+a.length,r,t=0;t<b.length;t++){i=0;for(k=q;i<k;)d(t,c+
k)<=g?i=k:q=k,k=Math.floor((q-i)/2+i);q=k;i=Math.max(1,c-k+1);var p=Math.min(c+k,a.length)+b.length;k=Array(p+2);for(k[p+1]=(1<<t)-1;p>=i;p--){var w=e[a.charAt(p-1)];k[p]=0===t?(k[p+1]<<1|1)&w:(k[p+1]<<1|1)&w|((r[p+1]|r[p])<<1|1)|r[p+1];if(k[p]&j&&(w=d(t,p-1),w<=g))if(g=w,h=p-1,h>c)i=Math.max(1,2*c-h);else break}if(d(t+1,c)>g)break;r=k}return h};
diff_match_patch.prototype.match_alphabet_=function(a){for(var b={},c=0;c<a.length;c++)b[a.charAt(c)]=0;for(c=0;c<a.length;c++)b[a.charAt(c)]|=1<<a.length-c-1;return b};
diff_match_patch.prototype.patch_addContext_=function(a,b){if(0!=b.length){for(var c=b.substring(a.start2,a.start2+a.length1),d=0;b.indexOf(c)!=b.lastIndexOf(c)&&c.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)d+=this.Patch_Margin,c=b.substring(a.start2-d,a.start2+a.length1+d);d+=this.Patch_Margin;(c=b.substring(a.start2-d,a.start2))&&a.diffs.unshift([0,c]);(d=b.substring(a.start2+a.length1,a.start2+a.length1+d))&&a.diffs.push([0,d]);a.start1-=c.length;a.start2-=c.length;a.length1+=
c.length+d.length;a.length2+=c.length+d.length}};
diff_match_patch.prototype.patch_make=function(a,b,c){var d;if("string"==typeof a&&"string"==typeof b&&"undefined"==typeof c)d=a,b=this.diff_main(d,b,!0),2<b.length&&(this.diff_cleanupSemantic(b),this.diff_cleanupEfficiency(b));else if(a&&"object"==typeof a&&"undefined"==typeof b&&"undefined"==typeof c)b=a,d=this.diff_text1(b);else if("string"==typeof a&&b&&"object"==typeof b&&"undefined"==typeof c)d=a;else if("string"==typeof a&&"string"==typeof b&&c&&"object"==typeof c)d=a,b=c;else throw Error("Unknown call format to patch_make.");
if(0===b.length)return[];c=[];a=new diff_match_patch.patch_obj;for(var e=0,f=0,g=0,h=d,j=0;j<b.length;j++){var i=b[j][0],k=b[j][1];!e&&0!==i&&(a.start1=f,a.start2=g);switch(i){case 1:a.diffs[e++]=b[j];a.length2+=k.length;d=d.substring(0,g)+k+d.substring(g);break;case -1:a.length1+=k.length;a.diffs[e++]=b[j];d=d.substring(0,g)+d.substring(g+k.length);break;case 0:k.length<=2*this.Patch_Margin&&e&&b.length!=j+1?(a.diffs[e++]=b[j],a.length1+=k.length,a.length2+=k.length):k.length>=2*this.Patch_Margin&&
e&&(this.patch_addContext_(a,h),c.push(a),a=new diff_match_patch.patch_obj,e=0,h=d,f=g)}1!==i&&(f+=k.length);-1!==i&&(g+=k.length)}e&&(this.patch_addContext_(a,h),c.push(a));return c};diff_match_patch.prototype.patch_deepCopy=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c],e=new diff_match_patch.patch_obj;e.diffs=[];for(var f=0;f<d.diffs.length;f++)e.diffs[f]=d.diffs[f].slice();e.start1=d.start1;e.start2=d.start2;e.length1=d.length1;e.length2=d.length2;b[c]=e}return b};
diff_match_patch.prototype.patch_apply=function(a,b){if(0==a.length)return[b,[]];a=this.patch_deepCopy(a);var c=this.patch_addPadding(a);b=c+b+c;this.patch_splitMax(a);for(var d=0,e=[],f=0;f<a.length;f++){var g=a[f].start2+d,h=this.diff_text1(a[f].diffs),j,i=-1;if(h.length>this.Match_MaxBits){if(j=this.match_main(b,h.substring(0,this.Match_MaxBits),g),-1!=j&&(i=this.match_main(b,h.substring(h.length-this.Match_MaxBits),g+h.length-this.Match_MaxBits),-1==i||j>=i))j=-1}else j=this.match_main(b,h,g);
if(-1==j)e[f]=!1,d-=a[f].length2-a[f].length1;else if(e[f]=!0,d=j-g,g=-1==i?b.substring(j,j+h.length):b.substring(j,i+this.Match_MaxBits),h==g)b=b.substring(0,j)+this.diff_text2(a[f].diffs)+b.substring(j+h.length);else if(g=this.diff_main(h,g,!1),h.length>this.Match_MaxBits&&this.diff_levenshtein(g)/h.length>this.Patch_DeleteThreshold)e[f]=!1;else{this.diff_cleanupSemanticLossless(g);for(var h=0,k,i=0;i<a[f].diffs.length;i++){var q=a[f].diffs[i];0!==q[0]&&(k=this.diff_xIndex(g,h));1===q[0]?b=b.substring(0,
j+k)+q[1]+b.substring(j+k):-1===q[0]&&(b=b.substring(0,j+k)+b.substring(j+this.diff_xIndex(g,h+q[1].length)));-1!==q[0]&&(h+=q[1].length)}}}b=b.substring(c.length,b.length-c.length);return[b,e]};
diff_match_patch.prototype.patch_addPadding=function(a){for(var b=this.Patch_Margin,c="",d=1;d<=b;d++)c+=String.fromCharCode(d);for(d=0;d<a.length;d++)a[d].start1+=b,a[d].start2+=b;var d=a[0],e=d.diffs;if(0==e.length||0!=e[0][0])e.unshift([0,c]),d.start1-=b,d.start2-=b,d.length1+=b,d.length2+=b;else if(b>e[0][1].length){var f=b-e[0][1].length;e[0][1]=c.substring(e[0][1].length)+e[0][1];d.start1-=f;d.start2-=f;d.length1+=f;d.length2+=f}d=a[a.length-1];e=d.diffs;0==e.length||0!=e[e.length-1][0]?(e.push([0,
c]),d.length1+=b,d.length2+=b):b>e[e.length-1][1].length&&(f=b-e[e.length-1][1].length,e[e.length-1][1]+=c.substring(0,f),d.length1+=f,d.length2+=f);return c};
diff_match_patch.prototype.patch_splitMax=function(a){for(var b=this.Match_MaxBits,c=0;c<a.length;c++)if(!(a[c].length1<=b)){var d=a[c];a.splice(c--,1);for(var e=d.start1,f=d.start2,g="";0!==d.diffs.length;){var h=new diff_match_patch.patch_obj,j=!0;h.start1=e-g.length;h.start2=f-g.length;""!==g&&(h.length1=h.length2=g.length,h.diffs.push([0,g]));for(;0!==d.diffs.length&&h.length1<b-this.Patch_Margin;){var g=d.diffs[0][0],i=d.diffs[0][1];1===g?(h.length2+=i.length,f+=i.length,h.diffs.push(d.diffs.shift()),
j=!1):-1===g&&1==h.diffs.length&&0==h.diffs[0][0]&&i.length>2*b?(h.length1+=i.length,e+=i.length,j=!1,h.diffs.push([g,i]),d.diffs.shift()):(i=i.substring(0,b-h.length1-this.Patch_Margin),h.length1+=i.length,e+=i.length,0===g?(h.length2+=i.length,f+=i.length):j=!1,h.diffs.push([g,i]),i==d.diffs[0][1]?d.diffs.shift():d.diffs[0][1]=d.diffs[0][1].substring(i.length))}g=this.diff_text2(h.diffs);g=g.substring(g.length-this.Patch_Margin);i=this.diff_text1(d.diffs).substring(0,this.Patch_Margin);""!==i&&
(h.length1+=i.length,h.length2+=i.length,0!==h.diffs.length&&0===h.diffs[h.diffs.length-1][0]?h.diffs[h.diffs.length-1][1]+=i:h.diffs.push([0,i]));j||a.splice(++c,0,h)}}};diff_match_patch.prototype.patch_toText=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=a[c];return b.join("")};
diff_match_patch.prototype.patch_fromText=function(a){var b=[];if(!a)return b;a=a.split("\n");for(var c=0,d=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;c<a.length;){var e=a[c].match(d);if(!e)throw Error("Invalid patch string: "+a[c]);var f=new diff_match_patch.patch_obj;b.push(f);f.start1=parseInt(e[1],10);""===e[2]?(f.start1--,f.length1=1):"0"==e[2]?f.length1=0:(f.start1--,f.length1=parseInt(e[2],10));f.start2=parseInt(e[3],10);""===e[4]?(f.start2--,f.length2=1):"0"==e[4]?f.length2=0:(f.start2--,f.length2=
parseInt(e[4],10));for(c++;c<a.length;){e=a[c].charAt(0);try{var g=decodeURI(a[c].substring(1))}catch(h){throw Error("Illegal escape in patch_fromText: "+g);}if("-"==e)f.diffs.push([-1,g]);else if("+"==e)f.diffs.push([1,g]);else if(" "==e)f.diffs.push([0,g]);else if("@"==e)break;else if(""!==e)throw Error('Invalid patch mode "'+e+'" in: '+g);c++}}return b};diff_match_patch.patch_obj=function(){this.diffs=[];this.start2=this.start1=null;this.length2=this.length1=0};
diff_match_patch.patch_obj.prototype.toString=function(){var a,b;a=0===this.length1?this.start1+",0":1==this.length1?this.start1+1:this.start1+1+","+this.length1;b=0===this.length2?this.start2+",0":1==this.length2?this.start2+1:this.start2+1+","+this.length2;a=["@@ -"+a+" +"+b+" @@\n"];var c;for(b=0;b<this.diffs.length;b++){switch(this.diffs[b][0]){case 1:c="+";break;case -1:c="-";break;case 0:c=" "}a[b+1]=c+encodeURI(this.diffs[b][1])+"\n"}return a.join("").replace(/%20/g," ")};
this.diff_match_patch=diff_match_patch;this.DIFF_DELETE=-1;this.DIFF_INSERT=1;this.DIFF_EQUAL=0;})();

4436
js/editormd/editormd.min.js vendored Executable file

File diff suppressed because it is too large Load Diff

5
js/editormd/flowchart.min.js vendored Executable file

File diff suppressed because one or more lines are too long

2
js/editormd/jquery.flowchart.min.js vendored Executable file
View File

@ -0,0 +1,2 @@
/*! jQuery.flowchart.js v1.1.0 | jquery.flowchart.min.js | jQuery plugin for flowchart.js. | MIT License | By: Pandao | https://github.com/pandao/jquery.flowchart.js | 2015-03-09 */
(function(factory){if(typeof require==="function"&&typeof exports==="object"&&typeof module==="object"){module.exports=factory}else{if(typeof define==="function"){factory(jQuery,flowchart)}else{factory($,flowchart)}}}(function(jQuery,flowchart){(function($){$.fn.flowChart=function(options){options=options||{};var defaults={"x":0,"y":0,"line-width":2,"line-length":50,"text-margin":10,"font-size":14,"font-color":"black","line-color":"black","element-color":"black","fill":"white","yes-text":"yes","no-text":"no","arrow-end":"block","symbols":{"start":{"font-color":"black","element-color":"black","fill":"white"},"end":{"class":"end-element"}},"flowstate":{"past":{"fill":"#CCCCCC","font-size":12},"current":{"fill":"black","font-color":"white","font-weight":"bold"},"future":{"fill":"white"},"request":{"fill":"blue"},"invalid":{"fill":"#444444"},"approved":{"fill":"#58C4A3","font-size":12,"yes-text":"APPROVED","no-text":"n/a"},"rejected":{"fill":"#C45879","font-size":12,"yes-text":"n/a","no-text":"REJECTED"}}};return this.each(function(){var $this=$(this);var diagram=flowchart.parse($this.text());var settings=$.extend(true,defaults,options);$this.html("");diagram.drawSVG(this,settings)})}})(jQuery)}));

4
js/editormd/lib/codemirror/addons.min.js vendored Executable file

File diff suppressed because one or more lines are too long

10
js/editormd/lib/codemirror/modes.min.js vendored Executable file

File diff suppressed because one or more lines are too long

6
js/editormd/lib/marked.min.js vendored Executable file

File diff suppressed because one or more lines are too long

15
js/editormd/lib/prettify.min.js vendored Executable file

File diff suppressed because one or more lines are too long

11
js/editormd/lib/raphael.min.js vendored Executable file

File diff suppressed because one or more lines are too long

5
js/editormd/lib/underscore.min.js vendored Executable file

File diff suppressed because one or more lines are too long

6
js/editormd/marked.min.js vendored Executable file

File diff suppressed because one or more lines are too long

15
js/editormd/prettify.min.js vendored Executable file

File diff suppressed because one or more lines are too long

7
js/editormd/sequence-diagram.min.js vendored Executable file

File diff suppressed because one or more lines are too long

726
js/edu_tpi.js Executable file

File diff suppressed because one or more lines are too long

7
js/flv.min.js vendored Normal file

File diff suppressed because one or more lines are too long

2
js/jquery-1.8.3.min.js vendored Executable file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,103 @@
function Base64() {
// private property
_keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
// public method for encoding
this.encode = function (input) {
var output = "";
var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
var i = 0;
input = _utf8_encode(input);
while (i < input.length) {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}
output = output +
_keyStr.charAt(enc1) + _keyStr.charAt(enc2) +
_keyStr.charAt(enc3) + _keyStr.charAt(enc4);
}
return output;
}
// public method for decoding
this.decode = function (input) {
var output = "";
var chr1, chr2, chr3;
var enc1, enc2, enc3, enc4;
var i = 0;
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
while (i < input.length) {
enc1 = _keyStr.indexOf(input.charAt(i++));
enc2 = _keyStr.indexOf(input.charAt(i++));
enc3 = _keyStr.indexOf(input.charAt(i++));
enc4 = _keyStr.indexOf(input.charAt(i++));
chr1 = (enc1 << 2) | (enc2 >> 4);
chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
chr3 = ((enc3 & 3) << 6) | enc4;
output = output + String.fromCharCode(chr1);
if (enc3 != 64) {
output = output + String.fromCharCode(chr2);
}
if (enc4 != 64) {
output = output + String.fromCharCode(chr3);
}
}
output = _utf8_decode(output);
return output;
}
// private method for UTF-8 encoding
_utf8_encode = function (string) {
string = string.replace(/\r\n/g,"\n");
var utftext = "";
for (var n = 0; n < string.length; n++) {
var c = string.charCodeAt(n);
if (c < 128) {
utftext += String.fromCharCode(c);
} else if((c > 127) && (c < 2048)) {
utftext += String.fromCharCode((c >> 6) | 192);
utftext += String.fromCharCode((c & 63) | 128);
} else {
utftext += String.fromCharCode((c >> 12) | 224);
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
utftext += String.fromCharCode((c & 63) | 128);
}
}
return utftext;
}
// private method for UTF-8 decoding
_utf8_decode = function (utftext) {
var string = "";
var i = 0;
var c = c1 = c2 = 0;
while ( i < utftext.length ) {
c = utftext.charCodeAt(i);
if (c < 128) {
string += String.fromCharCode(c);
i++;
} else if((c > 191) && (c < 224)) {
c2 = utftext.charCodeAt(i+1);
string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
i += 2;
} else {
c2 = utftext.charCodeAt(i+1);
c3 = utftext.charCodeAt(i+2);
string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
i += 3;
}
}
return string;
}
}

234
js/jsFromMiddleLayer/formvalid.js Executable file
View File

@ -0,0 +1,234 @@
/*
Jquery
janchie 2010.1
1.02
*/
var validResult = {};
var errorMsg = {};
(function ($) {
$.fn.extend({
valid: function () {
if (!$(this).is("form")) return;
var items = $.isArray(arguments[0]) ? arguments[0] : [],
isBindSubmit = typeof arguments[1] === "boolean" ? arguments[1] : true,
isAlert = typeof arguments[2] === "boolean" ? arguments[2] : false,
rule = {
"eng": /^[A-Za-z]+$/,
"chn": /^[\u0391-\uFFE5]+$/,
"mail": /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/,
"url": /^http[s]?:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/,
"currency": /^\d+(\.\d+)?$/,
"number": /^\d+$/,
"int": /^[0-9]{1,30}$/,
"double": /^[-\+]?\d+(\.\d+)?$/,
"username": /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){3,19}$/,
"password": /^[\w\W]{6,20}$/,
"safe": />|<|,|\[|\]|\{|\}|\?|\/|\+|=|\||\'|\\|\"|:|;|\~|\!|\@|\#|\*|\$|\%|\^|\&|\(|\)|`/i,
"dbc": /[---9!@#¥%^&*()_+{}[]|:"';.,/?<>`~ ]/,
"qq": /[1-9][0-9]{4,}/,
"date": /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$/,
"year": /^(19|20)[0-9]{2}$/,
"month": /^(0?[1-9]|1[0-2])$/,
"day": /^((0?[1-9])|((1|2)[0-9])|30|31)$/,
"hour": /^((0?[1-9])|((1|2)[0-3]))$/,
"minute": /^((0?[1-9])|((1|5)[0-9]))$/,
"second": /^((0?[1-9])|((1|5)[0-9]))$/,
"mobile": /^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/,
"phone": /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/,
"zipcode": /^[1-9]\d{5}$/,
"IDcard": /^((1[1-5])|(2[1-3])|(3[1-7])|(4[1-6])|(5[0-4])|(6[1-5])|71|(8[12])|91)\d{4}((19\d{2}(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(19\d{2}(0[13578]|1[02])31)|(19\d{2}02(0[1-9]|1\d|2[0-8]))|(19([13579][26]|[2468][048]|0[48])0229))\d{3}(\d|X|x)?$/,
"ip": /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/,
"file": /^[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/,
"image": /.+\.(jpg|gif|png|bmp)$/i,
"word": /.+\.(doc|rtf|pdf)$/i,
"port": function (port) {
return (!isNaN(port) && port > 0 && port < 65536) ? true : false;
},
"eq": function (arg1, arg2) {
return arg1 == arg2 ? true : false;
},
"gt": function (arg1, arg2) {
return arg1 > arg2 ? true : false;
},
"gte": function (arg1, arg2) {
return arg1 >= arg2 ? true : false;
},
"lt": function (arg1, arg2) {
return arg1 < arg2 ? true : false;
},
"lte": function (arg1, arg2) {
return arg1 <= arg2 ? true : false;
}
},
msgSuffix = {
"eng": "only english welcomed",
"chn": "only chinese welcomed",
"mail": "invalid email format",
"url": "invalid url format",
"currency": "invalid number format",
"number": "only number welcomed",
"int": "only integer welcomed",
"double": "only float welcomed",
"username": "invalid username format,4-20 characters",
"password": "warning, you'd better use 6-20 characters",
"safe": "forbidden special characters",
"dbc": "forbidden full width characters",
"qq": "invalid qq format",
"date": "invalid date format",
"year": "invalid year format",
"month": "invalid month format",
"day": "invalid day format",
"hour": "invalid hour format",
"minute": "invalid minute format",
"second": "invalid second format",
"mobile": "invalid mobile format",
"phone": "invalid phone format",
"zipcode": "invalid zipcode format",
"IDcard": "invalid identity format",
"ip": "invalid ip format",
"port": "invalid port format",
"file": "invalid file format",
"image": "invalid image format",
"word": "invalid word file format",
"eq": "not equal",
"gt": "no greater than",
"gte": "no greater than or equal",
"lt": "no smaller than",
"lte": "no smaller than or equal"
},
msg = "", formObj = $(this), checkRet = true, isAll,
tipname = function (namestr) {
return "tip_" + namestr.replace(/([a-zA-Z0-9])/g, "-$1");
},
typeTest = function () {
var result = true, args = arguments;
if (rule.hasOwnProperty(args[0])) {
var t = rule[args[0]], v = args[1];
result = args.length > 2 ? t.apply(arguments, [].slice.call(args, 1)) : ($.isFunction(t) ? t(v) : t.test(v));
}
return result;
},
showError = function (fieldObj, filedName, warnInfo) {
checkRet = false;
var tipObj = $("#" + tipname(filedName));
if (tipObj.length > 0) tipObj.remove();
var tipPosition = fieldObj.next().length > 0 ? fieldObj.nextAll().eq(this.length - 1) : fieldObj.eq(this.length - 1);
//tipPosition.after("<span class='tooltip' id='" + tipname(filedName) + "'> " + warnInfo + " </span>");
validResult[filedName] = false;
errorMsg[filedName] = warnInfo;
if (isAlert && isAll) msg = warnInfo;
},
showRight = function (fieldObj, filedName) {
var tipObj = $("#" + tipname(filedName));
if (tipObj.length > 0) tipObj.remove();
var tipPosition = fieldObj.next().length > 0 ? fieldObj.nextAll().eq(this.length - 1) : fieldObj.eq(this.length - 1);
//tipPosition.after("<span class='tooltip' id='" + tipname(filedName) + "'>correct</span>");
validResult[filedName] = true;
},
findTo = function (objName) {
var find;
$.each(items, function () {
if (this.name == objName && this.simple) {
find = this.simple;
return false;
}
});
if (!find) find = $("[name='" + objName + "']")[0].name;
return find;
},
fieldCheck = function (item) {
var i = item, field = $("[name='" + i.name + "']", formObj[0]);
if (!field[0]) return;
var warnMsg, fv = $.trim(field.val()), isRq = typeof i.require === "boolean" ? i.require : true;
if (isRq && ((field.is(":radio") || field.is(":checkbox")) && !field.is(":checked"))) {
warnMsg = i.message || "choice needed";
showError(field, i.name, warnMsg);
} else if (isRq && fv == "") {
warnMsg = i.message || ( field.is("select") ? "choice needed" : "not none" );
showError(field, i.name, warnMsg);
} else if (fv != "") {
if (i.min || i.max) {
var len = fv.length, min = i.min || 0, max = i.max;
warnMsg = i.message || (max ? "range" + min + "~" + max + "" : "min length" + min);
if ((max && (len > max || len < min)) || (!max && len < min)) {
showError(field, i.name, warnMsg);
return;
}
}
if (i.type) {
var matchVal = i.to ? $.trim($("[name='" + i.to + "']").val()) : i.value;
var matchRet = matchVal ? typeTest(i.type, fv, matchVal) : typeTest(i.type, fv);
warnMsg = i.message || msgSuffix[i.type];
if (matchVal) warnMsg += (i.to ? findTo(i.to) + "value" : i.value);
if (!matchRet) showError(field, i.name, warnMsg);
else showRight(field, i.name);
} else {
showRight(field, i.name);
}
} else if (isRq) {
showRight(field, i.name);
}
},
validate = function () {
$.each(items, function () {
isAll = true;
fieldCheck(this);
});
if (isAlert && msg != "") {
alert(msg);
msg = "";
}
return checkRet;
};
$.each(items, function () {
var field = $("[name='" + this.name + "']", formObj[0]);
if (field.is(":hidden")) return;
var obj = this, toCheck = function () {
isAll = false;
fieldCheck(obj);
};
if (field.is(":file") || field.is("select")) {
field.change(toCheck);
} else {
field.blur(toCheck);
}
});
if (isBindSubmit) {
$(this).submit(validate);
} else {
return validate();
}
}
});
})(jQuery);

201
js/jsFromMiddleLayer/main.js Executable file
View File

@ -0,0 +1,201 @@
/**
这里是非iframe版本的openTerminal
TODO 换一个消息机制替代iframe情况下使用的postMessage
消息得种类有
发送
1postMessage({tp: 'sshWorking'}, "*"); ssh正在被使用
2window.parent.postMessage({tp: 'setSSHConnectStatus', tab: options.tab}, "*");
接收
1 if(event.data.tp === 'resize'){ 改变命令行窗体大小
2 } else if (event.data.tp === 'reload') { 异常中断后重连
3 } else if (event.data.tp === 'close_ssh_cocket') { 中断命令行websocket
*/
function openTerminal(options) {
// 为了多个实例能同时存在
(function () {
var heartBeatInterval;
var force_close_socket = false;
//var CONNECT_TIME = 0; // 请求连接次数
Rows = parseInt(options.rows);
var parentDomId = options.parentDomId || ''
var client = new WSSHClient();
var base64 = new Base64();
var term = new Terminal({
cols: options.columns, rows: Rows, screenKeys: true, useStyle: true
// TODO 默认是canvas可能被其他样式影响了 canvas用不了
, rendererType: 'dom'
, fontSize: 16
});
term.on('data', function (data) {
console.log("xterm data: ");
console.log(data);
client.sendClientData(data);
window.parent.postMessage({ tp: 'sshWorking' }, "*");
});
term.open();
$('body>.terminal').detach().appendTo(parentDomId + ' #term');
$(parentDomId + " #term").show();
term.write("Connecting...");
console.log(options)
console.debug(options);
//var interTime = setInterval(client_connect, 1000)
setTimeout(client_connect, 3000);
heartBeatInterval = setInterval(function () {
client.sendHeartBeat()
}, 30 * 1000)
/**
* 重新设置窗口大小
* @param o
*/
var resizeTerminal = function (o) {
if (typeof term === 'object') {
var rows = term.rows;
var cols = term.cols;
if (o.rows > 0) {
rows = o.rows;
}
if (o.cols > 0) {
cols = o.cols;
}
term.resize(cols, rows);
}
};
window.addEventListener("message", function (event) {
console.log("post message: ");
console.log(event.data);
if (event.data.tp === 'resize') {
resizeTerminal(event.data);
} else if (event.data.tp === 'reload') {
window.location.reload()
} else if (event.data.tp === 'close_ssh_cocket') {
force_close_socket = true; // 强制关闭socket用于不开启自动重连
client && client.close();
}
}, false);
var intervalId = null;
function client_connect() {
var CONNECTED = false; // 是否连接成功过
console.log("连接中....");
console.log(options);
client.connect({
onError: function (error) {
term.write('Error: ' + error + '\r\n');
console.log('error happened');
},
onConnect: function () {
console.log('connection established');
client.sendInitData(options);
term.focus();
},
onClose: function () {
clearInterval(heartBeatInterval);
console.log("连接关闭");
term.write("\r\nconnection closed");
if (CONNECTED) {
console.log('connection reset by peer');
$('term').hide();
}
if (force_close_socket === false) {
// $(window).trigger('setSSHConnectStatus');
window.parent.postMessage({ tp: 'setSSHConnectStatus', tab: options.tab }, "*");
} else {
// 主动关闭连接时,不自动重连
force_close_socket = false;
}
},
onData: function (data) {
if (!CONNECTED) {
console.log("first connected.");
// 问题重现的实训 带代码tab的 命令行实训 https://www.educoder.net/tasks/83hflni9es7tl
setTimeout(function () {
// TODO canvas模式下没有body
if (term && term.body && term.body.innerText
&& term.body.innerText.indexOf('Connecting') != -1) {
term.clear(); // 有的连上后还出现了“Connecting。。。”
}
}, 1000)
term.write("\r"); //换行
term.focus(); //焦点移动到框上
}
/*if(interTime){
clearInterval(interTime);
}*/
CONNECTED = true;
data = base64.decode(data);
/* TIMEINIT = 0;*/
term.write(data);
console.log('get data:' + data);
}
})
}
}());
}
var charWidth = 6.2;
var charHeight = 15.2;
/**
* for full screen
* @returns {{w: number, h: number}}
*/
function getTerminalSize() {
var width = window.innerWidth;
var height = window.innerHeight;
return {
w: Math.floor(width / charWidth),
h: Math.floor(height / charHeight)
};
}
function store(options) {
window.localStorage.host = options.host
window.localStorage.port = options.port
window.localStorage.username = options.username
window.localStorage.ispwd = options.ispwd;
window.localStorage.secret = options.secret
}
function check() {
return validResult["host"] && validResult["port"] && validResult["username"];
}
function connect() {
var remember = $("#remember").is(":checked")
var options = {
host: $("#host").val(),
port: $("#port").val(),
username: $("#username").val(),
secret: $("#password").val(),
gameid: $("#gameid").val(),
rows: parseInt($("#terminalRow").val()),
columns: parseInt($("#terminalColumn").val()),
width: parseInt($("#terminalWidth").val()),
height: parseInt($("#terminalHeight").val()),
tab: $("#terminalTab").val(),
}
if (remember) {
store(options)
}
if (true) {
openTerminal(options)
} else {
for (var key in validResult) {
if (!validResult[key]) {
alert(errorMsg[key]);
break;
}
}
}
}

67
js/jsFromMiddleLayer/ws.js Executable file
View File

@ -0,0 +1,67 @@
function WSSHClient() {
};
WSSHClient.prototype._generateEndpoint = function () {
return g_websocket_url;
};
WSSHClient.prototype.connect = function (options) {
var endpoint = this._generateEndpoint();
if (window.WebSocket) {
this._connection = new WebSocket(endpoint);
}
else if (window.MozWebSocket) {
this._connection = MozWebSocket(endpoint);
}
else {
options.onError('WebSocket Not Supported');
return;
}
this._connection.onopen = function () {
options.onConnect();
};
this._connection.onmessage = function (evt) {
var data = evt.data.toString()
options.onData(data);
};
this._connection.onclose = function (evt) {
options.onClose();
};
};
WSSHClient.prototype.close = function () {
this._connection.close();
};
WSSHClient.prototype.send = function (data) {
this._connection.send(JSON.stringify(data));
};
WSSHClient.prototype.sendInitData = function (options) {
var data = {
hostname: options.host,
port: options.port,
username: options.username,
ispwd: options.ispwd,
secret: options.secret
};
this._connection.send(JSON.stringify({"tp": "init", "data": options}))
console.log("发送初始化数据:" + options)
}
WSSHClient.prototype.sendClientData = function (data) {
this._connection.send(JSON.stringify({"tp": "client", "data": data}))
console.log("发送客户端数据:" + data)
}
WSSHClient.prototype.sendHeartBeat = function (data) {
this._connection.send(JSON.stringify({"tp": "h"}))
console.log("发送客户端数据:" + data)
}
var client = new WSSHClient();

323
js/js_min_add.js Executable file
View File

@ -0,0 +1,323 @@
// 记录手动加到js_min_all.js中的脚本
// js_min_all_2是js_min_all的混淆后版本
// codemirror 已经加载了codemirror会有插件重复加载会使得之前加载的插件失效
// editormd.loadScript(loadPath + "codemirror/codemirror.min", function() {
// codemirror 已经加载了
// editormd.loadCSS(loadPath + "codemirror/codemirror.min");
// active-line application.js部分 弹框 ke自动保存等
// ----------------------------- ----------------------------- active-line.js
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
var WRAP_CLASS = "CodeMirror-activeline";
var BACK_CLASS = "CodeMirror-activeline-background";
var GUTT_CLASS = "CodeMirror-activeline-gutter";
CodeMirror.defineOption("styleActiveLine", false, function(cm, val, old) {
var prev = old == CodeMirror.Init ? false : old;
if (val == prev) return
if (prev) {
cm.off("beforeSelectionChange", selectionChange);
clearActiveLines(cm);
delete cm.state.activeLines;
}
if (val) {
cm.state.activeLines = [];
updateActiveLines(cm, cm.listSelections());
cm.on("beforeSelectionChange", selectionChange);
}
});
function clearActiveLines(cm) {
for (var i = 0; i < cm.state.activeLines.length; i++) {
cm.removeLineClass(cm.state.activeLines[i], "wrap", WRAP_CLASS);
cm.removeLineClass(cm.state.activeLines[i], "background", BACK_CLASS);
cm.removeLineClass(cm.state.activeLines[i], "gutter", GUTT_CLASS);
}
}
function sameArray(a, b) {
if (a.length != b.length) return false;
for (var i = 0; i < a.length; i++)
if (a[i] != b[i]) return false;
return true;
}
function updateActiveLines(cm, ranges) {
var active = [];
for (var i = 0; i < ranges.length; i++) {
var range = ranges[i];
var option = cm.getOption("styleActiveLine");
if (typeof option == "object" && option.nonEmpty ? range.anchor.line != range.head.line : !range.empty())
continue
var line = cm.getLineHandleVisualStart(range.head.line);
if (active[active.length - 1] != line) active.push(line);
}
if (sameArray(cm.state.activeLines, active)) return;
cm.operation(function() {
clearActiveLines(cm);
for (var i = 0; i < active.length; i++) {
cm.addLineClass(active[i], "wrap", WRAP_CLASS);
cm.addLineClass(active[i], "background", BACK_CLASS);
cm.addLineClass(active[i], "gutter", GUTT_CLASS);
}
cm.state.activeLines = active;
});
}
function selectionChange(cm, sel) {
updateActiveLines(cm, sel.ranges);
}
});
// --------------------------------------------------------------------------------------
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: http://codemirror.net/LICENSE
// ----------------------------- ----------------------------- active-line.js END
// ------------------------------------------- application.js到最底部
//自动保存草稿
var editor2;
function elocalStorage(editor,mdu,id){
if (window.sessionStorage){
editor2 = editor;
var oc = window.sessionStorage.getItem('content'+mdu);
if(oc !== null ){
var h = '您上次有已保存的数据,是否<a style="cursor: pointer;" class="color-orange05" onclick="rec_data(\'content\',\''+ mdu + '\',\'' + id + '\')">恢复</a> ? / <a style="cursor: pointer;" class="color-orange05" onclick="clear_data(\'content\',\''+ mdu + '\',\'' + id + '\')">不恢复</a>';
$("#e_tips_"+id).html(h);
}
setInterval(function() {
d = new Date();
var h = d.getHours();
var m = d.getMinutes();
var s = d.getSeconds();
h = h < 10 ? '0' + h : h;
m = m < 10 ? '0' + m : m;
s = s < 10 ? '0' + s : s;
editor.sync();
if(!editor.isEmpty()){
add_data("content",mdu,editor.html());
var id1 = "#e_tip_"+id;
var id2 = "#e_tips_"+id;
$(id1).html(" 数据已于 " + h + ':' + m + ':' + s +" 保存 ");
$(id2).html("");
}
},10000);
}else{
$('.ke-edit').after('您的浏览器不支持localStorage.无法开启自动保存草稿服务,请升级浏览器!');
}
}
function add_data(k,mdu,d){
window.sessionStorage.setItem(k+mdu,d);
}
// 公共弹框样式
// 建议左右栏的Width460Height190
// 建议宽屏对应值Width760Height500
function pop_box_new(value, Width, Height){
if($("#popupAll").length > 0){
$("#popupAll").remove();
}
w = ($(window).width() - Width)/2;
h = ($(window).height() - Height)/2;
var html="<div class=\"popupAll none\" id='popupAll'><div class=\"pr\"><div id=\"popupWrap\"></div></div></div>";
$(document.body).append(html);
$("#popupWrap").html(value);
$('#popupWrap').css({"top": h+"px","left": w+"px","padding":"0","border":"none","position":"fixed","z-index":"99999","background-color":"#fff","border-radius":"10px"});
$("#popupWrap").parent().parent().show();
$('#popupWrap').find("a[class*='pop_close']").click(function(){
$("#popupAll").hide();
});
// w = ($(window).width() - Width)/2;
// h = ($(window).height() - Height)/2;
// $("#ajax-modal").html(value);
// showModal('ajax-modal', Width + 'px');
// $('#ajax-modal').siblings().remove();
// $('#ajax-modal').parent().css({"top": h+"px","left": w+"px","padding":"0","border":"none","position":"fixed"});
// $('#ajax-modal').parent().removeClass("resourceUploadPopup popbox_polls popbox");
// $('#ajax-modal').css({"padding":"0","overflow":"hidden"});
// $('#ajax-modal').parent().attr("id","popupWrap");
//拖拽
function Drag(id) {
this.div = document.getElementById(id);
if (this.div) {
this.div.style.cursor = "move";
this.div.style.position = "fixed";
}
this.disX = 0;
this.disY = 0;
var _this = this;
this.div.onmousedown = function (evt) {
_this.getDistance(evt);
document.onmousemove = function (evt) {
_this.setPosition(evt);
};
_this.div.onmouseup = function () {
_this.clearEvent();
}
}
}
Drag.prototype.getDistance = function (evt) {
var oEvent = evt || event;
this.disX = oEvent.clientX - this.div.offsetLeft;
this.disY = oEvent.clientY - this.div.offsetTop;
};
Drag.prototype.setPosition = function (evt) {
var oEvent = evt || event;
var l = oEvent.clientX - this.disX;
var t = oEvent.clientY - this.disY;
if (l <= 0) {
l = 0;
}
else if (l >= document.documentElement.clientWidth - this.div.offsetWidth) {
l = document.documentElement.clientWidth - this.div.offsetWidth;
}
if (t <= 0) {
t = 0;
}
else if (t >= document.documentElement.clientHeight - this.div.offsetHeight) {
t = document.documentElement.clientHeight - this.div.offsetHeight;
}
this.div.style.left = l + "px";
this.div.style.top = t + "px";
};
Drag.prototype.clearEvent = function () {
this.div.onmouseup = null;
document.onmousemove = null;
};
new Drag("popupWrap");
$("#popupWrap input, #popupWrap textarea, #popupWrap ul, #popupWrap a").mousedown(function(event){
event.stopPropagation();
new Drag("popupWrap");
});
}
function sure_box_redirect_btn(url, str,btnstr){
var htmlvalue = '<div class="task-popup" style="width:480px;"><div class="task-popup-title clearfix"><h3 class="fl color-grey3">提示</h3></div>'+
'<div class="task-popup-content"><p class="task-popup-text-center font-16">' + str + '</p></div><div class="task-popup-OK clearfix">'+
'<a href="'+ url +'" class="task-btn task-btn-orange" onclick="hideModal();" target="_blank">'+btnstr+'</a></div></div>';
pop_box_new(htmlvalue, 480, 160);
}
function sure_box_redirect_btn2(url, str, btnstr){
var htmlvalue = '<div class="task-popup" style="width:500px;"><div class="task-popup-title clearfix"><h3 class="fl color-grey3">提示</h3><a href="javascript:void(0);" class="pop_close"><i class="fa fa-times-circle font-18 link-color-grey fr mt5"></i></a></div>'+
'<div class="task-popup-content"><p class="task-popup-text-center font-16">' + str + '</p></div><div class="task-popup-submit clearfix" style="width: 150px"><a href="javascript:void(0);" onclick="hideModal();" class="task-btn fl">取消</a>'+
'<a href="'+ url +'" class="task-btn task-btn-orange fr" target="_blank" onclick="hideModal();">'+btnstr+'</a></div></div>';
pop_box_new(htmlvalue, 578, 205);
}
function op_confirm_box_loading(url, str){
var htmlvalue = '<div class="task-popup" style="width:578px;"><div class="task-popup-title clearfix"><h3 class="fl color-grey3">提示</h3><a href="javascript:void(0);" class="pop_close"><i class="fa fa-times-circle font-18 link-color-grey fr mt5"></i></a></div>'+
'<div class="task-popup-content"><p class="task-popup-text-center font-16 pt15">' + str + '</p></div><div class="task-popup-submit clearfix"><a href="javascript:void(0);" onclick="hideModal();" class="task-btn fl">取消</a>'+
'<a href="'+ url +'" class="task-btn task-btn-orange fr" onclick="hideModal();$(\'.loading_all\').show();">确定</a></div></div>';
pop_box_new(htmlvalue, 578, 205);
}
//点击删除时的确认弹框: 走destroy方法,remote为true
function delete_confirm_box_2(url, str){
var htmlvalue = '<div class="task-popup" style="width:480px;"><div class="task-popup-title clearfix"><h3 class="fl color-grey3">提示</h3><a href="javascript:void(0);" class="pop_close"><i class="fa fa-times-circle font-18 link-color-grey fr mt5"></i></a></div>'+
'<div class="task-popup-content"><p class="task-popup-text-center font-16">' + str + '</p></div><div class="task-popup-submit clearfix"><a href="javascript:void(0);" onclick="hideModal();" class="task-btn fl">取消</a>'+
'<a href="'+ url +'" class="task-btn task-btn-orange fr pop_close" data-method="delete" data-remote="true">确定</a></div></div>';
pop_box_new(htmlvalue, 480, 160);
}
//提示框:只有一个确定按钮,点击关闭弹框
//<a href="javascript:void(0);" class="pop_close"><i class="fa fa-times-circle font-18 link-color-grey fr mt5"></i></a>
function notice_box(str){
var htmlvalue = '<div class="task-popup" style="width:480px;"><div class="task-popup-title clearfix"><h3 class="fl color-grey3">提示</h3></div>'+
'<div class="task-popup-content"><p class="task-popup-text-center font-16">' + str + '</p></div><div class="task-popup-sure clearfix">'+
'<a href="javascript:void(0);" class="task-btn task-btn-orange" onclick="hideModal();">确定</a></div></div>';
pop_box_new(htmlvalue, 480, 160);
}
function hideModal(el) {
if($("#popupAll").length > 0){
$("#popupAll").remove();
}
else{
var modal;
if (el) {
modal = $(el).parents('.ui-dialog-content');
} else {
modal = $('#ajax-modal');
}
modal.dialog("close");
}
}
// --------------------------------------------
function is_cdn_link(contents){
if(contents.indexOf("http") != -1
|| contents.indexOf("com") != -1
|| contents.indexOf("net") != -1
|| contents.indexOf("org") != -1
|| contents.indexOf("cdn") != -1){
return true;
}else{
return false;
}
}
// 渲染用户的HTML的CODE。
function tpi_html_show(){
//$($(".blacktab_con")[0]).trigger("click");
var contents = editor_CodeMirror.getValue();
var $htmlForm = $("#html_form");
var src = contents;
var arrCSS =[];
var arrSript = [];
var patternLink = /<link(?:.*?)href=[\"\](.+?)[\"\](?!<)(?:.*)\>(?:[\n\r\s]*?)(?:<\/link>)*/im;
var patternScript = /<script(?:.*?)src=[\"\](.+?)[\"\](?!<)(?:.*)\>(?:[\n\r\s]*?)(?:<\/script>)*/im;
var arrayMatchesLink = patternLink.exec(src);
var arrayMatchesScript = patternScript.exec(src);
// css部分
while(arrayMatchesLink != null){
if(is_cdn_link(arrayMatchesLink[1])){
src = src.replace(arrayMatchesLink[0], arrayMatchesLink[0].replace(/link/, "edulink"));
}else{
src = src.replace(patternLink, "EDUCODERCSS");
arrCSS.push(arrayMatchesLink[1]);
}
arrayMatchesLink = patternLink.exec(src);
}
// js部分
while(arrayMatchesScript != null){
if(is_cdn_link(arrayMatchesScript[1])){
src = src.replace(arrayMatchesScript[0], arrayMatchesScript[0].replace(/script/g,"w3scrw3ipttag"));
}else{
src = src.replace(patternScript, "EDUCODERJS");
arrSript.push(arrayMatchesScript[1]);
}
arrayMatchesScript = patternScript.exec(src);
}
// html部分 为了防止xss攻击先将敏感字符转换
src = src.replace(/=/gi,"w3equalsign").replace(/script/gi,"w3scrw3ipttag");
$("#data_param").val(src);
$("#data_css_param").val(arrCSS);
$("#data_js_param").val(arrSript);
$htmlForm.attr("action", "/iframes/html_content?gpid="+ __myshixun.gpid );
$htmlForm.submit();
}
// 渲染用户的HTML的CODE。--------------------------------------------END

673
js/js_min_all.js Executable file

File diff suppressed because one or more lines are too long

34
js/js_min_cm.js Executable file

File diff suppressed because one or more lines are too long

35
js/jupyter.js Normal file
View File

@ -0,0 +1,35 @@
/*
* @Author: your name
* @Date: 2019-12-20 11:40:56
* @LastEditTime : 2019-12-20 13:38:49
* @LastEditors : Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /notebook/Users/yangshuming/Desktop/new__educode/educoder/public/react/public/js/jupyter.js
*/
window.onload=function(){
require(["base/js/namespace"],function(Jupyter) {
Jupyter.notebook.save_checkpoint();
});
}
// //子目标父窗口接收子窗口发送的消息
// let message = {type: 'open', link:'需要发送的消息'};
//子窗口向父窗口发送消息,消息中包含我们想跳转的链接
window.parent.postMessage('jupytermessage','需要发送的消息');
// //目标父窗口接收子窗口发送的消息
// window.addEventListener('message', (e)=>{
// let origin = event.origin || event.originalEvent.origin;
// if (origin !== '需要发送的消息') {
// return;
// }else {
// //更换iframe的src,实现iframe页面跳转
// 执行方法
// }
// },false);

1040
js/merge.js Executable file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,140 @@
/*!-----------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.14.6(6c8f02b41db9ae5c4d15df767d47755e5c73b9d5)
* Released under the MIT license
* https://github.com/Microsoft/vscode/blob/master/LICENSE.txt
*-----------------------------------------------------------*/
(function(){var e=["exports","require","vs/editor/common/core/position","vs/base/common/winjs.base","vs/base/common/platform","vs/editor/common/core/uint","vs/base/common/errors","vs/editor/common/core/range","vs/base/common/lifecycle","vs/base/common/cancellation","vs/base/common/event","vs/base/common/uri","vs/base/common/diff/diff","vs/base/common/async","vs/base/common/strings","vs/base/common/keyCodes","vs/editor/common/model/mirrorTextModel","vs/base/common/diff/diffChange","vs/base/common/linkedList","vs/editor/common/core/selection","vs/editor/common/core/token","vs/base/common/functional","vs/editor/common/core/characterClassifier","vs/editor/common/diff/diffComputer","vs/editor/common/model/wordHelper","vs/editor/common/modes/linkComputer","vs/editor/common/modes/supports/inplaceReplaceSupport","vs/editor/common/standalone/standaloneBase","vs/editor/common/viewModel/prefixSumComputer","vs/base/common/worker/simpleWorker","vs/editor/common/services/editorSimpleWorker"],t=function(t){
for(var n=[],r=0,i=t.length;r<i;r++)n[r]=e[t[r]];return n},n=this;!function(e){e.global=n;var t=function(){function t(){this._detected=!1,this._isWindows=!1,this._isNode=!1,this._isElectronRenderer=!1,this._isWebWorker=!1}return Object.defineProperty(t.prototype,"isWindows",{get:function(){return this._detect(),this._isWindows},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isNode",{get:function(){return this._detect(),this._isNode},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isElectronRenderer",{get:function(){return this._detect(),this._isElectronRenderer},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isWebWorker",{get:function(){return this._detect(),this._isWebWorker},enumerable:!0,configurable:!0}),t.prototype._detect=function(){this._detected||(this._detected=!0,this._isWindows=t._isWindows(),this._isNode="undefined"!=typeof module&&!!module.exports,
this._isElectronRenderer="undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.electron&&"renderer"===process.type,this._isWebWorker="function"==typeof e.global.importScripts)},t._isWindows=function(){return!!("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.indexOf("Windows")>=0)||"undefined"!=typeof process&&"win32"===process.platform},t}();e.Environment=t}(i||(i={}));!function(e){var t=function(){return function(e,t,n){this.type=e,this.detail=t,this.timestamp=n}}();e.LoaderEvent=t;var n=function(){function n(e){this._events=[new t(1,"",e)]}return n.prototype.record=function(n,r){this._events.push(new t(n,r,e.Utilities.getHighPerformanceTimestamp()))},n.prototype.getEvents=function(){return this._events},n}();e.LoaderEventRecorder=n;var r=function(){function e(){}return e.prototype.record=function(e,t){},e.prototype.getEvents=function(){return[]},e.INSTANCE=new e,e}();e.NullLoaderEventRecorder=r}(i||(i={}));!function(e){var t=function(){function t(){}
return t.fileUriToFilePath=function(e,t){if(t=decodeURI(t),e){if(/^file:\/\/\//.test(t))return t.substr(8);if(/^file:\/\//.test(t))return t.substr(5)}else if(/^file:\/\//.test(t))return t.substr(7);return t},t.startsWith=function(e,t){return e.length>=t.length&&e.substr(0,t.length)===t},t.endsWith=function(e,t){return e.length>=t.length&&e.substr(e.length-t.length)===t},t.containsQueryString=function(e){return/^[^\#]*\?/gi.test(e)},t.isAbsolutePath=function(e){return/^((http:\/\/)|(https:\/\/)|(file:\/\/)|(\/))/.test(e)},t.forEachProperty=function(e,t){if(e){var n=void 0;for(n in e)e.hasOwnProperty(n)&&t(n,e[n])}},t.isEmpty=function(e){var n=!0;return t.forEachProperty(e,function(){n=!1}),n},t.recursiveClone=function(e){if(!e||"object"!=typeof e)return e;var n=Array.isArray(e)?[]:{};return t.forEachProperty(e,function(e,r){n[e]=r&&"object"==typeof r?t.recursiveClone(r):r}),n},t.generateAnonymousModule=function(){return"===anonymous"+t.NEXT_ANONYMOUS_ID+++"==="},t.isAnonymousModule=function(e){
return t.startsWith(e,"===anonymous")},t.getHighPerformanceTimestamp=function(){return this.PERFORMANCE_NOW_PROBED||(this.PERFORMANCE_NOW_PROBED=!0,this.HAS_PERFORMANCE_NOW=e.global.performance&&"function"==typeof e.global.performance.now),this.HAS_PERFORMANCE_NOW?e.global.performance.now():Date.now()},t.NEXT_ANONYMOUS_ID=1,t.PERFORMANCE_NOW_PROBED=!1,t.HAS_PERFORMANCE_NOW=!1,t}();e.Utilities=t}(i||(i={}));!function(e){var t=function(){function t(){}return t.validateConfigurationOptions=function(t){function n(e){return"load"===e.errorCode?(console.error('Loading "'+e.moduleId+'" failed'),console.error("Detail: ",e.detail),e.detail&&e.detail.stack&&console.error(e.detail.stack),console.error("Here are the modules that depend on it:"),void console.error(e.neededBy)):"factory"===e.errorCode?(console.error('The factory method of "'+e.moduleId+'" has thrown an exception'),console.error(e.detail),void(e.detail&&e.detail.stack&&console.error(e.detail.stack))):void 0}
return"string"!=typeof(t=t||{}).baseUrl&&(t.baseUrl=""),"boolean"!=typeof t.isBuild&&(t.isBuild=!1),"object"!=typeof t.paths&&(t.paths={}),"object"!=typeof t.config&&(t.config={}),void 0===t.catchError&&(t.catchError=!1),"string"!=typeof t.urlArgs&&(t.urlArgs=""),"function"!=typeof t.onError&&(t.onError=n),"object"==typeof t.ignoreDuplicateModules&&Array.isArray(t.ignoreDuplicateModules)||(t.ignoreDuplicateModules=[]),t.baseUrl.length>0&&(e.Utilities.endsWith(t.baseUrl,"/")||(t.baseUrl+="/")),Array.isArray(t.nodeModules)||(t.nodeModules=[]),("number"!=typeof t.nodeCachedDataWriteDelay||t.nodeCachedDataWriteDelay<0)&&(t.nodeCachedDataWriteDelay=7e3),"function"!=typeof t.onNodeCachedData&&(t.onNodeCachedData=function(e,t){e&&("cachedDataRejected"===e.errorCode?console.warn("Rejected cached data from file: "+e.path):"unlink"===e.errorCode||"writeFile"===e.errorCode?(console.error("Problems writing cached data file: "+e.path),console.error(e.detail)):console.error(e))}),t},
t.mergeConfigurationOptions=function(n,r){void 0===n&&(n=null),void 0===r&&(r=null);var i=e.Utilities.recursiveClone(r||{});return e.Utilities.forEachProperty(n,function(t,n){"ignoreDuplicateModules"===t&&void 0!==i.ignoreDuplicateModules?i.ignoreDuplicateModules=i.ignoreDuplicateModules.concat(n):"paths"===t&&void 0!==i.paths?e.Utilities.forEachProperty(n,function(e,t){return i.paths[e]=t}):"config"===t&&void 0!==i.config?e.Utilities.forEachProperty(n,function(e,t){return i.config[e]=t}):i[t]=e.Utilities.recursiveClone(n)}),t.validateConfigurationOptions(i)},t}();e.ConfigurationOptionsUtil=t;var n=function(){function n(e,n){if(this._env=e,this.options=t.mergeConfigurationOptions(n),this._createIgnoreDuplicateModulesMap(),this._createNodeModulesMap(),this._createSortedPathsRules(),""===this.options.baseUrl){if(this.options.nodeRequire&&this.options.nodeRequire.main&&this.options.nodeRequire.main.filename&&this._env.isNode){
var r=this.options.nodeRequire.main.filename,i=Math.max(r.lastIndexOf("/"),r.lastIndexOf("\\"));this.options.baseUrl=r.substring(0,i+1)}if(this.options.nodeMain&&this._env.isNode){var r=this.options.nodeMain,i=Math.max(r.lastIndexOf("/"),r.lastIndexOf("\\"));this.options.baseUrl=r.substring(0,i+1)}}}return n.prototype._createIgnoreDuplicateModulesMap=function(){this.ignoreDuplicateModulesMap={};for(var e=0;e<this.options.ignoreDuplicateModules.length;e++)this.ignoreDuplicateModulesMap[this.options.ignoreDuplicateModules[e]]=!0},n.prototype._createNodeModulesMap=function(){this.nodeModulesMap=Object.create(null);for(var e=0,t=this.options.nodeModules;e<t.length;e++){var n=t[e];this.nodeModulesMap[n]=!0}},n.prototype._createSortedPathsRules=function(){var t=this;this.sortedPathsRules=[],e.Utilities.forEachProperty(this.options.paths,function(e,n){Array.isArray(n)?t.sortedPathsRules.push({from:e,to:n}):t.sortedPathsRules.push({from:e,to:[n]})}),this.sortedPathsRules.sort(function(e,t){
return t.from.length-e.from.length})},n.prototype.cloneAndMerge=function(e){return new n(this._env,t.mergeConfigurationOptions(e,this.options))},n.prototype.getOptionsLiteral=function(){return this.options},n.prototype._applyPaths=function(t){for(var n,r=0,i=this.sortedPathsRules.length;r<i;r++)if(n=this.sortedPathsRules[r],e.Utilities.startsWith(t,n.from)){for(var o=[],s=0,u=n.to.length;s<u;s++)o.push(n.to[s]+t.substr(n.from.length));return o}return[t]},n.prototype._addUrlArgsToUrl=function(t){return e.Utilities.containsQueryString(t)?t+"&"+this.options.urlArgs:t+"?"+this.options.urlArgs},n.prototype._addUrlArgsIfNecessaryToUrl=function(e){return this.options.urlArgs?this._addUrlArgsToUrl(e):e},n.prototype._addUrlArgsIfNecessaryToUrls=function(e){if(this.options.urlArgs)for(var t=0,n=e.length;t<n;t++)e[t]=this._addUrlArgsToUrl(e[t]);return e},n.prototype.moduleIdToPaths=function(t){if(!0===this.nodeModulesMap[t])return this.isBuild()?["empty:"]:["node|"+t];var n,r=t
;if(e.Utilities.endsWith(r,".js")||e.Utilities.isAbsolutePath(r))e.Utilities.endsWith(r,".js")||e.Utilities.containsQueryString(r)||(r+=".js"),n=[r];else for(var i=0,o=(n=this._applyPaths(r)).length;i<o;i++)this.isBuild()&&"empty:"===n[i]||(e.Utilities.isAbsolutePath(n[i])||(n[i]=this.options.baseUrl+n[i]),e.Utilities.endsWith(n[i],".js")||e.Utilities.containsQueryString(n[i])||(n[i]=n[i]+".js"));return this._addUrlArgsIfNecessaryToUrls(n)},n.prototype.requireToUrl=function(t){var n=t;return e.Utilities.isAbsolutePath(n)||(n=this._applyPaths(n)[0],e.Utilities.isAbsolutePath(n)||(n=this.options.baseUrl+n)),this._addUrlArgsIfNecessaryToUrl(n)},n.prototype.isBuild=function(){return this.options.isBuild},n.prototype.isDuplicateMessageIgnoredFor=function(e){return this.ignoreDuplicateModulesMap.hasOwnProperty(e)},n.prototype.getConfigForModule=function(e){if(this.options.config)return this.options.config[e]},n.prototype.shouldCatchError=function(){return this.options.catchError},
n.prototype.shouldRecordStats=function(){return this.options.recordStats},n.prototype.onError=function(e){this.options.onError(e)},n}();e.Configuration=n}(i||(i={}));!function(e){var t=function(){function e(e){this._env=e,this._scriptLoader=null,this._callbackMap={}}return e.prototype.load=function(e,t,o,s){var u=this;this._scriptLoader||(this._scriptLoader=this._env.isWebWorker?new r:this._env.isNode?new i(this._env):new n);var a={callback:o,errorback:s};this._callbackMap.hasOwnProperty(t)?this._callbackMap[t].push(a):(this._callbackMap[t]=[a],this._scriptLoader.load(e,t,function(){return u.triggerCallback(t)},function(e){return u.triggerErrorback(t,e)}))},e.prototype.triggerCallback=function(e){var t=this._callbackMap[e];delete this._callbackMap[e];for(var n=0;n<t.length;n++)t[n].callback()},e.prototype.triggerErrorback=function(e,t){var n=this._callbackMap[e];delete this._callbackMap[e];for(var r=0;r<n.length;r++)n[r].errorback(t)},e}(),n=function(){function e(){}
return e.prototype.attachListeners=function(e,t,n){var r=function(){e.removeEventListener("load",i),e.removeEventListener("error",o)},i=function(e){r(),t()},o=function(e){r(),n(e)};e.addEventListener("load",i),e.addEventListener("error",o)},e.prototype.load=function(e,t,n,r){var i=document.createElement("script");i.setAttribute("async","async"),i.setAttribute("type","text/javascript"),this.attachListeners(i,n,r),i.setAttribute("src",t),document.getElementsByTagName("head")[0].appendChild(i)},e}(),r=function(){function e(){}return e.prototype.load=function(e,t,n,r){try{importScripts(t),n()}catch(e){r(e)}},e}(),i=function(){function t(e){this._env=e,this._didInitialize=!1,this._didPatchNodeRequire=!1}return t.prototype._init=function(e){if(!this._didInitialize){this._didInitialize=!0,this._fs=e("fs"),this._vm=e("vm"),this._path=e("path"),this._crypto=e("crypto"),this._jsflags="";for(var t=0,n=process.argv;t<n.length;t++){var r=n[t];if(0===r.indexOf("--js-flags=")){this._jsflags=r;break}}}},
t.prototype._initNodeRequire=function(t,n){var r=n.getConfig().getOptionsLiteral().nodeCachedDataDir;if(r&&!this._didPatchNodeRequire){this._didPatchNodeRequire=!0;var i=this,o=t("module");o.prototype._compile=function(t,s){t=t.replace(/^#!.*/,"");var u=o.wrap(t),a=i._getCachedDataPath(r,s),l={filename:s};try{l.cachedData=i._fs.readFileSync(a)}catch(e){l.produceCachedData=!0}var c=new i._vm.Script(u,l),d=c.runInThisContext(l),f=i._path.dirname(s),h=function(e){var t=e.constructor,n=function(t){try{return e.require(t)}finally{}};return n.resolve=function(n){return t._resolveFilename(n,e)},n.main=process.mainModule,n.extensions=t._extensions,n.cache=t._cache,n}(this),p=[this.exports,h,this,s,f,process,e.global,Buffer],m=d.apply(this.exports,p);return i._processCachedData(n,c,a),m}}},t.prototype.load=function(n,r,i,o){var s=this,u=n.getConfig().getOptionsLiteral(),a=u.nodeRequire||e.global.nodeRequire,l=u.nodeInstrumenter||function(e){return e};this._init(a),this._initNodeRequire(a,n);var c=n.getRecorder()
;if(/^node\|/.test(r)){var d=r.split("|"),f=null;try{f=a(d[1])}catch(e){return void o(e)}n.enqueueDefineAnonymousModule([],function(){return f}),i()}else r=e.Utilities.fileUriToFilePath(this._env.isWindows,r),this._fs.readFile(r,{encoding:"utf8"},function(e,a){if(e)o(e);else{var d=s._path.normalize(r),f=d;if(s._env.isElectronRenderer){var h=f.match(/^([a-z])\:(.*)/i);f=h?"file:///"+(h[1].toUpperCase()+":"+h[2]).replace(/\\/g,"/"):"file://"+f}var p,m="(function (require, define, __filename, __dirname) { ";if(p=a.charCodeAt(0)===t._BOM?m+a.substring(1)+"\n});":m+a+"\n});",p=l(p,d),u.nodeCachedDataDir){var g=s._getCachedDataPath(u.nodeCachedDataDir,r);s._fs.readFile(g,function(e,t){var o={filename:f,produceCachedData:void 0===t,cachedData:t},u=s._loadAndEvalScript(n,r,f,p,o,c);i(),s._processCachedData(n,u,g)})}else s._loadAndEvalScript(n,r,f,p,{filename:f},c),i()}})},t.prototype._loadAndEvalScript=function(t,n,r,i,o,s){s.record(31,n);var u=new this._vm.Script(i,o)
;return u.runInThisContext(o).call(e.global,t.getGlobalAMDRequireFunc(),t.getGlobalAMDDefineFunc(),r,this._path.dirname(n)),s.record(32,n),u},t.prototype._getCachedDataPath=function(e,t){var n=this._crypto.createHash("md5").update(t,"utf8").update(this._jsflags,"utf8").digest("hex"),r=this._path.basename(t).replace(/\.js$/,"");return this._path.join(e,r+"-"+n+".code")},t.prototype._processCachedData=function(e,n,r){var i=this;n.cachedDataRejected?(e.getConfig().getOptionsLiteral().onNodeCachedData({errorCode:"cachedDataRejected",path:r}),t._runSoon(function(){return i._fs.unlink(r,function(t){t&&e.getConfig().getOptionsLiteral().onNodeCachedData({errorCode:"unlink",path:r,detail:t})})},e.getConfig().getOptionsLiteral().nodeCachedDataWriteDelay)):n.cachedDataProduced&&(e.getConfig().getOptionsLiteral().onNodeCachedData(void 0,{path:r,length:n.cachedData.length}),t._runSoon(function(){return i._fs.writeFile(r,n.cachedData,function(t){t&&e.getConfig().getOptionsLiteral().onNodeCachedData({errorCode:"writeFile",
path:r,detail:t})})},e.getConfig().getOptionsLiteral().nodeCachedDataWriteDelay))},t._runSoon=function(e,t){var n=t+Math.ceil(Math.random()*t);setTimeout(e,n)},t._BOM=65279,t}();e.createScriptLoader=function(e){return new t(e)}}(i||(i={}));!function(e){var t=function(){function t(e){var t=e.lastIndexOf("/");this.fromModulePath=-1!==t?e.substr(0,t+1):""}return t._normalizeModuleId=function(e){var t,n=e;for(t=/\/\.\//;t.test(n);)n=n.replace(t,"/");for(n=n.replace(/^\.\//g,""),t=/\/(([^\/])|([^\/][^\/\.])|([^\/\.][^\/])|([^\/][^\/][^\/]+))\/\.\.\//;t.test(n);)n=n.replace(t,"/");return n=n.replace(/^(([^\/])|([^\/][^\/\.])|([^\/\.][^\/])|([^\/][^\/][^\/]+))\/\.\.\//,"")},t.prototype.resolveModule=function(n){var r=n;return e.Utilities.isAbsolutePath(r)||(e.Utilities.startsWith(r,"./")||e.Utilities.startsWith(r,"../"))&&(r=t._normalizeModuleId(this.fromModulePath+r)),r},t.ROOT=new t(""),t}();e.ModuleIdResolver=t;var n=function(){function t(e,t,n,r,i,o){this.id=e,this.strId=t,this.dependencies=n,this._callback=r,
this._errorback=i,this.moduleIdResolver=o,this.exports={},this.exportsPassedIn=!1,this.unresolvedDependenciesCount=this.dependencies.length,this._isComplete=!1}return t._safeInvokeFunction=function(t,n){try{return{returnedValue:t.apply(e.global,n),producedError:null}}catch(e){return{returnedValue:null,producedError:e}}},t._invokeFactory=function(t,n,r,i){return t.isBuild()&&!e.Utilities.isAnonymousModule(n)?{returnedValue:null,producedError:null}:t.shouldCatchError()?this._safeInvokeFunction(r,i):{returnedValue:r.apply(e.global,i),producedError:null}},t.prototype.complete=function(n,r,i){this._isComplete=!0;var o=null;if(this._callback)if("function"==typeof this._callback){n.record(21,this.strId);var s=t._invokeFactory(r,this.strId,this._callback,i);o=s.producedError,n.record(22,this.strId),o||void 0===s.returnedValue||this.exportsPassedIn&&!e.Utilities.isEmpty(this.exports)||(this.exports=s.returnedValue)}else this.exports=this._callback;o&&r.onError({errorCode:"factory",moduleId:this.strId,detail:o}),
this.dependencies=null,this._callback=null,this._errorback=null,this.moduleIdResolver=null},t.prototype.onDependencyError=function(e){return!!this._errorback&&(this._errorback(e),!0)},t.prototype.isComplete=function(){return this._isComplete},t}();e.Module=n;var r=function(){function e(){this._nextId=0,this._strModuleIdToIntModuleId=new Map,this._intModuleIdToStrModuleId=[],this.getModuleId("exports"),this.getModuleId("module"),this.getModuleId("require")}return e.prototype.getMaxModuleId=function(){return this._nextId},e.prototype.getModuleId=function(e){var t=this._strModuleIdToIntModuleId.get(e);return void 0===t&&(t=this._nextId++,this._strModuleIdToIntModuleId.set(e,t),this._intModuleIdToStrModuleId[t]=e),t},e.prototype.getStrModuleId=function(e){return this._intModuleIdToStrModuleId[e]},e}(),i=function(){function e(e){this.id=e}return e.EXPORTS=new e(0),e.MODULE=new e(1),e.REQUIRE=new e(2),e}();e.RegularDependency=i;var o=function(){return function(e,t,n){this.id=e,this.pluginId=t,this.pluginParam=n}}()
;e.PluginDependency=o;var s=function(){function s(t,n,i,o,s){void 0===s&&(s=0),this._env=t,this._scriptLoader=n,this._loaderAvailableTimestamp=s,this._defineFunc=i,this._requireFunc=o,this._moduleIdProvider=new r,this._config=new e.Configuration(this._env),this._modules2=[],this._knownModules2=[],this._inverseDependencies2=[],this._inversePluginDependencies2=new Map,this._currentAnnonymousDefineCall=null,this._recorder=null,this._buildInfoPath=[],this._buildInfoDefineStack=[],this._buildInfoDependencies=[]}return s.prototype.reset=function(){return new s(this._env,this._scriptLoader,this._defineFunc,this._requireFunc,this._loaderAvailableTimestamp)},s.prototype.getGlobalAMDDefineFunc=function(){return this._defineFunc},s.prototype.getGlobalAMDRequireFunc=function(){return this._requireFunc},s._findRelevantLocationInStack=function(e,t){for(var n=function(e){return e.replace(/\\/g,"/")},r=n(e),i=t.split(/\n/),o=0;o<i.length;o++){var s=i[o].match(/(.*):(\d+):(\d+)\)?$/);if(s){
var u=s[1],a=s[2],l=s[3],c=Math.max(u.lastIndexOf(" ")+1,u.lastIndexOf("(")+1);if(u=u.substr(c),(u=n(u))===r){var d={line:parseInt(a,10),col:parseInt(l,10)};return 1===d.line&&(d.col-="(function (require, define, __filename, __dirname) { ".length),d}}}throw new Error("Could not correlate define call site for needle "+e)},s.prototype.getBuildInfo=function(){if(!this._config.isBuild())return null;for(var e=[],t=0,n=0,r=this._modules2.length;n<r;n++){var i=this._modules2[n];if(i){var o=this._buildInfoPath[i.id]||null,u=this._buildInfoDefineStack[i.id]||null,a=this._buildInfoDependencies[i.id];e[t++]={id:i.strId,path:o,defineLocation:o&&u?s._findRelevantLocationInStack(o,u):null,dependencies:a,shim:null,exports:i.exports}}}return e},s.prototype.getRecorder=function(){return this._recorder||(this._config.shouldRecordStats()?this._recorder=new e.LoaderEventRecorder(this._loaderAvailableTimestamp):this._recorder=e.NullLoaderEventRecorder.INSTANCE),this._recorder},s.prototype.getLoaderEvents=function(){
return this.getRecorder().getEvents()},s.prototype.enqueueDefineAnonymousModule=function(e,t){if(null!==this._currentAnnonymousDefineCall)throw new Error("Can only have one anonymous define call per script file");var n=null;this._config.isBuild()&&(n=new Error("StackLocation").stack),this._currentAnnonymousDefineCall={stack:n,dependencies:e,callback:t}},s.prototype.defineModule=function(e,r,i,o,s,u){var a=this;void 0===u&&(u=new t(e));var l=this._moduleIdProvider.getModuleId(e);if(this._modules2[l])this._config.isDuplicateMessageIgnoredFor(e)||console.warn("Duplicate definition of module '"+e+"'");else{var c=new n(l,e,this._normalizeDependencies(r,u),i,o,u);this._modules2[l]=c,this._config.isBuild()&&(this._buildInfoDefineStack[l]=s,this._buildInfoDependencies[l]=c.dependencies.map(function(e){return a._moduleIdProvider.getStrModuleId(e.id)})),this._resolve(c)}},s.prototype._normalizeDependency=function(e,t){if("exports"===e)return i.EXPORTS;if("module"===e)return i.MODULE;if("require"===e)return i.REQUIRE
;var n=e.indexOf("!");if(n>=0){var r=t.resolveModule(e.substr(0,n)),s=t.resolveModule(e.substr(n+1)),u=this._moduleIdProvider.getModuleId(r+"!"+s),a=this._moduleIdProvider.getModuleId(r);return new o(u,a,s)}return new i(this._moduleIdProvider.getModuleId(t.resolveModule(e)))},s.prototype._normalizeDependencies=function(e,t){for(var n=[],r=0,i=0,o=e.length;i<o;i++)n[r++]=this._normalizeDependency(e[i],t);return n},s.prototype._relativeRequire=function(t,n,r,i){if("string"==typeof n)return this.synchronousRequire(n,t);this.defineModule(e.Utilities.generateAnonymousModule(),n,r,i,null,t)},s.prototype.synchronousRequire=function(e,n){void 0===n&&(n=new t(e));var r=this._normalizeDependency(e,n),i=this._modules2[r.id];if(!i)throw new Error("Check dependency list! Synchronous require cannot resolve module '"+e+"'. This is the first mention of this module!")
;if(!i.isComplete())throw new Error("Check dependency list! Synchronous require cannot resolve module '"+e+"'. This module has not been resolved completely yet.");return i.exports},s.prototype.configure=function(t,n){var r=this._config.shouldRecordStats();this._config=n?new e.Configuration(this._env,t):this._config.cloneAndMerge(t),this._config.shouldRecordStats()&&!r&&(this._recorder=null)},s.prototype.getConfig=function(){return this._config},s.prototype._onLoad=function(e){if(null!==this._currentAnnonymousDefineCall){var t=this._currentAnnonymousDefineCall;this._currentAnnonymousDefineCall=null,this.defineModule(this._moduleIdProvider.getStrModuleId(e),t.dependencies,t.callback,null,t.stack)}},s.prototype._createLoadError=function(e,t){var n=this;return{errorCode:"load",moduleId:this._moduleIdProvider.getStrModuleId(e),neededBy:(this._inverseDependencies2[e]||[]).map(function(e){return n._moduleIdProvider.getStrModuleId(e)}),detail:t}},s.prototype._onLoadError=function(e,t){
for(var n=this._createLoadError(e,t),r=[],i=0,o=this._moduleIdProvider.getMaxModuleId();i<o;i++)r[i]=!1;var s=!1,u=[];for(u.push(e),r[e]=!0;u.length>0;){var a=u.shift(),l=this._modules2[a];l&&(s=l.onDependencyError(n)||s);var c=this._inverseDependencies2[a];if(c)for(var i=0,o=c.length;i<o;i++){var d=c[i];r[d]||(u.push(d),r[d]=!0)}}s||this._config.onError(n)},s.prototype._hasDependencyPath=function(e,t){var n=this._modules2[e];if(!n)return!1;for(var r=[],i=0,o=this._moduleIdProvider.getMaxModuleId();i<o;i++)r[i]=!1;var s=[];for(s.push(n),r[e]=!0;s.length>0;){var u=s.shift().dependencies;if(u)for(var i=0,o=u.length;i<o;i++){var a=u[i];if(a.id===t)return!0;var l=this._modules2[a.id];l&&!r[a.id]&&(r[a.id]=!0,s.push(l))}}return!1},s.prototype._findCyclePath=function(e,t,n){if(e===t||50===n)return[e];var r=this._modules2[e];if(!r)return null;for(var i=r.dependencies,o=0,s=i.length;o<s;o++){var u=this._findCyclePath(i[o].id,t,n+1);if(null!==u)return u.push(e),u}return null},s.prototype._createRequire=function(t){
var n=this,r=function(e,r,i){return n._relativeRequire(t,e,r,i)};return r.toUrl=function(e){return n._config.requireToUrl(t.resolveModule(e))},r.getStats=function(){return n.getLoaderEvents()},r.__$__nodeRequire=e.global.nodeRequire,r},s.prototype._loadModule=function(e){var t=this;if(!this._modules2[e]&&!this._knownModules2[e]){this._knownModules2[e]=!0;var n=this._moduleIdProvider.getStrModuleId(e),r=this._config.moduleIdToPaths(n);this._env.isNode&&(-1===n.indexOf("/")||/^@[^\/]+\/[^\/]+$/.test(n))&&r.push("node|"+n);var i=-1,o=function(n){if(++i>=r.length)t._onLoadError(e,n);else{var s=r[i],u=t.getRecorder();if(t._config.isBuild()&&"empty:"===s)return t._buildInfoPath[e]=s,t.defineModule(t._moduleIdProvider.getStrModuleId(e),[],null,null,null),void t._onLoad(e);u.record(10,s),t._scriptLoader.load(t,s,function(){t._config.isBuild()&&(t._buildInfoPath[e]=s),u.record(11,s),t._onLoad(e)},function(e){u.record(12,s),o(e)})}};o(null)}},s.prototype._loadPluginDependency=function(e,n){var r=this
;if(!this._modules2[n.id]&&!this._knownModules2[n.id]){this._knownModules2[n.id]=!0;var i=function(e){r.defineModule(r._moduleIdProvider.getStrModuleId(n.id),[],e,null,null)};i.error=function(e){r._config.onError(r._createLoadError(n.id,e))},e.load(n.pluginParam,this._createRequire(t.ROOT),i,this._config.getOptionsLiteral())}},s.prototype._resolve=function(e){for(var t=this,n=e.dependencies,r=0,s=n.length;r<s;r++){var u=n[r];if(u!==i.EXPORTS)if(u!==i.MODULE)if(u!==i.REQUIRE){var a=this._modules2[u.id];if(a&&a.isComplete())e.unresolvedDependenciesCount--;else if(this._hasDependencyPath(u.id,e.id)){console.warn("There is a dependency cycle between '"+this._moduleIdProvider.getStrModuleId(u.id)+"' and '"+this._moduleIdProvider.getStrModuleId(e.id)+"'. The cyclic path follows:");var l=this._findCyclePath(u.id,e.id,0);l.reverse(),l.push(u.id),console.warn(l.map(function(e){return t._moduleIdProvider.getStrModuleId(e)}).join(" => \n")),e.unresolvedDependenciesCount--
}else if(this._inverseDependencies2[u.id]=this._inverseDependencies2[u.id]||[],this._inverseDependencies2[u.id].push(e.id),u instanceof o){var c=this._modules2[u.pluginId];if(c&&c.isComplete()){this._loadPluginDependency(c.exports,u);continue}var d=this._inversePluginDependencies2.get(u.pluginId);d||(d=[],this._inversePluginDependencies2.set(u.pluginId,d)),d.push(u),this._loadModule(u.pluginId)}else this._loadModule(u.id)}else e.unresolvedDependenciesCount--;else e.unresolvedDependenciesCount--;else e.exportsPassedIn=!0,e.unresolvedDependenciesCount--}0===e.unresolvedDependenciesCount&&this._onModuleComplete(e)},s.prototype._onModuleComplete=function(e){var t=this,n=this.getRecorder();if(!e.isComplete()){for(var r=e.dependencies,o=[],s=0,u=r.length;s<u;s++){var a=r[s];if(a!==i.EXPORTS)if(a!==i.MODULE)if(a!==i.REQUIRE){var l=this._modules2[a.id];o[s]=l?l.exports:null}else o[s]=this._createRequire(e.moduleIdResolver);else o[s]={id:e.strId,config:function(){return t._config.getConfigForModule(e.strId)}
};else o[s]=e.exports}e.complete(n,this._config,o);var c=this._inverseDependencies2[e.id];if(this._inverseDependencies2[e.id]=null,c)for(var s=0,u=c.length;s<u;s++){var d=c[s],f=this._modules2[d];f.unresolvedDependenciesCount--,0===f.unresolvedDependenciesCount&&this._onModuleComplete(f)}var h=this._inversePluginDependencies2.get(e.id);if(h){this._inversePluginDependencies2.delete(e.id);for(var s=0,u=h.length;s<u;s++)this._loadPluginDependency(e.exports,h[s])}}},s}();e.ModuleManager=s}(i||(i={}));var r,i;!function(e){function t(){if(void 0!==e.global.require||"undefined"!=typeof require){var t=e.global.require||require;if("function"==typeof t&&"function"==typeof t.resolve){var r=function(e){i.getRecorder().record(33,e);try{return t(e)}finally{i.getRecorder().record(34,e)}};e.global.nodeRequire=r,u.nodeRequire=r,u.__$__nodeRequire=r}}n.isNode&&!n.isElectronRenderer?(module.exports=u,require=u):(n.isElectronRenderer||(e.global.define=o),e.global.require=u)}var n=new e.Environment,i=null,o=function(e,t,n){
"string"!=typeof e&&(n=t,t=e,e=null),"object"==typeof t&&Array.isArray(t)||(n=t,t=null),t||(t=["require","exports","module"]),e?i.defineModule(e,t,n,null,null):i.enqueueDefineAnonymousModule(t,n)};o.amd={jQuery:!0};var s=function(e,t){void 0===t&&(t=!1),i.configure(e,t)},u=function(){if(1===arguments.length){if(arguments[0]instanceof Object&&!Array.isArray(arguments[0]))return void s(arguments[0]);if("string"==typeof arguments[0])return i.synchronousRequire(arguments[0])}if(2!==arguments.length&&3!==arguments.length||!Array.isArray(arguments[0]))throw new Error("Unrecognized require call");i.defineModule(e.Utilities.generateAnonymousModule(),arguments[0],arguments[1],arguments[2],null)};u.config=s,u.getConfig=function(){return i.getConfig().getOptionsLiteral()},u.reset=function(){i=i.reset()},u.getBuildInfo=function(){return i.getBuildInfo()},u.getStats=function(){return i.getLoaderEvents()},u.define=function(){return o.apply(null,arguments)},e.init=t,
"function"==typeof e.global.define&&e.global.define.amd||(i=new e.ModuleManager(n,e.createScriptLoader(n),o,u,e.Utilities.getHighPerformanceTimestamp()),void 0!==e.global.require&&"function"!=typeof e.global.require&&u.config(e.global.require),(r=function(){return o.apply(null,arguments)}).amd=o.amd,"undefined"==typeof doNotInitLoader&&t())}(i||(i={})),r(e[17],t([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t,n,r){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=r}return e.prototype.getOriginalEnd=function(){return this.originalStart+this.originalLength},e.prototype.getModifiedEnd=function(){return this.modifiedStart+this.modifiedLength},e}();t.DiffChange=n}),r(e[12],t([1,0,17]),function(e,t,n){"use strict";function r(e){return{getLength:function(){return e.length},getElementAtIndex:function(t){return e.charCodeAt(t)}}}Object.defineProperty(t,"__esModule",{value:!0}),t.stringDiff=function(e,t,n){
return new u(r(e),r(t)).ComputeDiff(n)};var i=function(){function e(){}return e.Assert=function(e,t){if(!e)throw new Error(t)},e}();t.Debug=i;var o=function(){function e(){}return e.Copy=function(e,t,n,r,i){for(var o=0;o<i;o++)n[r+o]=e[t+o]},e}();t.MyArray=o;var s=function(){function e(){this.m_changes=[],this.m_originalStart=Number.MAX_VALUE,this.m_modifiedStart=Number.MAX_VALUE,this.m_originalCount=0,this.m_modifiedCount=0}return e.prototype.MarkNextChange=function(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new n.DiffChange(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=Number.MAX_VALUE,this.m_modifiedStart=Number.MAX_VALUE},e.prototype.AddOriginalElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++},e.prototype.AddModifiedElement=function(e,t){
this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++},e.prototype.getChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes},e.prototype.getReverseChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes},e}(),u=function(){function e(e,t,n){void 0===n&&(n=null),this.OriginalSequence=e,this.ModifiedSequence=t,this.ContinueProcessingPredicate=n,this.m_forwardHistory=[],this.m_reverseHistory=[]}return e.prototype.ElementsAreEqual=function(e,t){return this.OriginalSequence.getElementAtIndex(e)===this.ModifiedSequence.getElementAtIndex(t)},e.prototype.OriginalElementsAreEqual=function(e,t){return this.OriginalSequence.getElementAtIndex(e)===this.OriginalSequence.getElementAtIndex(t)},e.prototype.ModifiedElementsAreEqual=function(e,t){
return this.ModifiedSequence.getElementAtIndex(e)===this.ModifiedSequence.getElementAtIndex(t)},e.prototype.ComputeDiff=function(e){return this._ComputeDiff(0,this.OriginalSequence.getLength()-1,0,this.ModifiedSequence.getLength()-1,e)},e.prototype._ComputeDiff=function(e,t,n,r,i){var o=this.ComputeDiffRecursive(e,t,n,r,[!1]);return i?this.ShiftChanges(o):o},e.prototype.ComputeDiffRecursive=function(e,t,r,o,s){for(s[0]=!1;e<=t&&r<=o&&this.ElementsAreEqual(e,r);)e++,r++;for(;t>=e&&o>=r&&this.ElementsAreEqual(t,o);)t--,o--;if(e>t||r>o){var u=void 0;return r<=o?(i.Assert(e===t+1,"originalStart should only be one more than originalEnd"),u=[new n.DiffChange(e,0,r,o-r+1)]):e<=t?(i.Assert(r===o+1,"modifiedStart should only be one more than modifiedEnd"),u=[new n.DiffChange(e,t-e+1,r,0)]):(i.Assert(e===t+1,"originalStart should only be one more than originalEnd"),i.Assert(r===o+1,"modifiedStart should only be one more than modifiedEnd"),u=[]),u}var a=[0],l=[0],c=this.ComputeRecursionPoint(e,t,r,o,a,l,s),d=a[0],f=l[0]
;if(null!==c)return c;if(!s[0]){var h=this.ComputeDiffRecursive(e,d,r,f,s),p=[];return p=s[0]?[new n.DiffChange(d+1,t-(d+1)+1,f+1,o-(f+1)+1)]:this.ComputeDiffRecursive(d+1,t,f+1,o,s),this.ConcatenateChanges(h,p)}return[new n.DiffChange(e,t-e+1,r,o-r+1)]},e.prototype.WALKTRACE=function(e,t,r,i,o,u,a,l,c,d,f,h,p,m,g,_,v,y){var b,C=null,S=null,E=new s,L=t,N=r,P=p[0]-_[0]-i,A=Number.MIN_VALUE,M=this.m_forwardHistory.length-1;do{(b=P+e)===L||b<N&&c[b-1]<c[b+1]?(m=(f=c[b+1])-P-i,f<A&&E.MarkNextChange(),A=f,E.AddModifiedElement(f+1,m),P=b+1-e):(m=(f=c[b-1]+1)-P-i,f<A&&E.MarkNextChange(),A=f-1,E.AddOriginalElement(f,m+1),P=b-1-e),M>=0&&(e=(c=this.m_forwardHistory[M])[0],L=1,N=c.length-1)}while(--M>=-1);if(C=E.getReverseChanges(),y[0]){var w=p[0]+1,D=_[0]+1;if(null!==C&&C.length>0){var I=C[C.length-1];w=Math.max(w,I.getOriginalEnd()),D=Math.max(D,I.getModifiedEnd())}S=[new n.DiffChange(w,h-w+1,D,g-D+1)]}else{E=new s,L=u,N=a,P=p[0]-_[0]-l,A=Number.MAX_VALUE,
M=v?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{(b=P+o)===L||b<N&&d[b-1]>=d[b+1]?(m=(f=d[b+1]-1)-P-l,f>A&&E.MarkNextChange(),A=f+1,E.AddOriginalElement(f+1,m+1),P=b+1-o):(m=(f=d[b-1])-P-l,f>A&&E.MarkNextChange(),A=f,E.AddModifiedElement(f+1,m+1),P=b-1-o),M>=0&&(o=(d=this.m_reverseHistory[M])[0],L=1,N=d.length-1)}while(--M>=-1);S=E.getChanges()}return this.ConcatenateChanges(C,S)},e.prototype.ComputeRecursionPoint=function(e,t,r,i,s,u,a){var l,c,d,f=0,h=0,p=0,m=0;e--,r--,s[0]=0,u[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];var g=t-e+(i-r),_=g+1,v=new Array(_),y=new Array(_),b=i-r,C=t-e,S=e-r,E=t-i,L=(C-b)%2==0;v[b]=e,y[C]=t,a[0]=!1;var N,P;for(d=1;d<=g/2+1;d++){var A=0,M=0;for(f=this.ClipDiagonalBound(b-d,d,b,_),h=this.ClipDiagonalBound(b+d,d,b,_),N=f;N<=h;N+=2){for(c=(l=N===f||N<h&&v[N-1]<v[N+1]?v[N+1]:v[N-1]+1)-(N-b)-S,P=l;l<t&&c<i&&this.ElementsAreEqual(l+1,c+1);)l++,c++;if(v[N]=l,l+c>A+M&&(A=l,M=c),!L&&Math.abs(N-C)<=d-1&&l>=y[N])return s[0]=l,u[0]=c,
P<=y[N]&&d<=1448?this.WALKTRACE(b,f,h,S,C,p,m,E,v,y,l,t,s,c,i,u,L,a):null}var w=(A-e+(M-r)-d)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(A,this.OriginalSequence,w))return a[0]=!0,s[0]=A,u[0]=M,w>0&&d<=1448?this.WALKTRACE(b,f,h,S,C,p,m,E,v,y,l,t,s,c,i,u,L,a):(e++,r++,[new n.DiffChange(e,t-e+1,r,i-r+1)]);for(p=this.ClipDiagonalBound(C-d,d,C,_),m=this.ClipDiagonalBound(C+d,d,C,_),N=p;N<=m;N+=2){for(c=(l=N===p||N<m&&y[N-1]>=y[N+1]?y[N+1]-1:y[N-1])-(N-C)-E,P=l;l>e&&c>r&&this.ElementsAreEqual(l,c);)l--,c--;if(y[N]=l,L&&Math.abs(N-b)<=d&&l<=v[N])return s[0]=l,u[0]=c,P>=v[N]&&d<=1448?this.WALKTRACE(b,f,h,S,C,p,m,E,v,y,l,t,s,c,i,u,L,a):null}if(d<=1447){var D=new Array(h-f+2);D[0]=b-f+1,o.Copy(v,f,D,1,h-f+1),this.m_forwardHistory.push(D),(D=new Array(m-p+2))[0]=C-p+1,o.Copy(y,p,D,1,m-p+1),this.m_reverseHistory.push(D)}}return this.WALKTRACE(b,f,h,S,C,p,m,E,v,y,l,t,s,c,i,u,L,a)},e.prototype.ShiftChanges=function(e){var t;do{t=!1
;for(l=0;l<e.length;l++)for(var n=e[l],r=l<e.length-1?e[l+1].originalStart:this.OriginalSequence.getLength(),i=l<e.length-1?e[l+1].modifiedStart:this.ModifiedSequence.getLength(),o=n.originalLength>0,s=n.modifiedLength>0;n.originalStart+n.originalLength<r&&n.modifiedStart+n.modifiedLength<i&&(!o||this.OriginalElementsAreEqual(n.originalStart,n.originalStart+n.originalLength))&&(!s||this.ModifiedElementsAreEqual(n.modifiedStart,n.modifiedStart+n.modifiedLength));)n.originalStart++,n.modifiedStart++;for(var u=new Array,a=[null],l=0;l<e.length;l++)l<e.length-1&&this.ChangesOverlap(e[l],e[l+1],a)?(t=!0,u.push(a[0]),l++):u.push(e[l]);e=u}while(t);for(l=e.length-1;l>=0;l--){var n=e[l],r=0,i=0;if(l>0){var c=e[l-1];c.originalLength>0&&(r=c.originalStart+c.originalLength),c.modifiedLength>0&&(i=c.modifiedStart+c.modifiedLength)}for(var o=n.originalLength>0,s=n.modifiedLength>0,d=0,f=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength),h=1;;h++){
var p=n.originalStart-h,m=n.modifiedStart-h;if(p<r||m<i)break;if(o&&!this.OriginalElementsAreEqual(p,p+n.originalLength))break;if(s&&!this.ModifiedElementsAreEqual(m,m+n.modifiedLength))break;var g=this._boundaryScore(p,n.originalLength,m,n.modifiedLength);g>f&&(f=g,d=h)}n.originalStart-=d,n.modifiedStart-=d}return e},e.prototype._OriginalIsBoundary=function(e){if(e<=0||e>=this.OriginalSequence.getLength()-1)return!0;var t=this.OriginalSequence.getElementAtIndex(e);return"string"==typeof t&&/^\s*$/.test(t)},e.prototype._OriginalRegionIsBoundary=function(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){var n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1},e.prototype._ModifiedIsBoundary=function(e){if(e<=0||e>=this.ModifiedSequence.getLength()-1)return!0;var t=this.ModifiedSequence.getElementAtIndex(e);return"string"==typeof t&&/^\s*$/.test(t)},e.prototype._ModifiedRegionIsBoundary=function(e,t){
if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){var n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1},e.prototype._boundaryScore=function(e,t,n,r){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,r)?1:0)},e.prototype.ConcatenateChanges=function(e,t){var n=[],r=null;return 0===e.length||0===t.length?t.length>0?t:e:this.ChangesOverlap(e[e.length-1],t[0],n)?(r=new Array(e.length+t.length-1),o.Copy(e,0,r,0,e.length-1),r[e.length-1]=n[0],o.Copy(t,1,r,e.length,t.length-1),r):(r=new Array(e.length+t.length),o.Copy(e,0,r,0,e.length),o.Copy(t,0,r,e.length,t.length),r)},e.prototype.ChangesOverlap=function(e,t,r){if(i.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),i.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){
var o=e.originalStart,s=e.originalLength,u=e.modifiedStart,a=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(s=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(a=t.modifiedStart+t.modifiedLength-e.modifiedStart),r[0]=new n.DiffChange(o,s,u,a),!0}return r[0]=null,!1},e.prototype.ClipDiagonalBound=function(e,t,n,r){if(e>=0&&e<r)return e;var i=r-n-1,o=t%2==0;if(e<0){return o===(n%2==0)?0:1}return o===(i%2==0)?r-1:r-2},e}();t.LcsDiff=u}),r(e[21],t([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.once=function(e){var t,n=this,r=!1;return function(){return r?t:(r=!0,t=e.apply(n,arguments))}}}),r(e[15],t([1,0]),function(e,t){"use strict";function n(e,t){var n=!!(2048&e),r=!!(256&e);return new u(2===t?r:n,!!(1024&e),!!(512&e),2===t?n:r,255&e)}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}
return e.prototype.define=function(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e},e.prototype.keyCodeToStr=function(e){return this._keyCodeToStr[e]},e.prototype.strToKeyCode=function(e){return this._strToKeyCode[e.toLowerCase()]||0},e}(),i=new r,o=new r,s=new r;!function(){function e(e,t,n,r){void 0===n&&(n=t),void 0===r&&(r=n),i.define(e,t),o.define(e,n),s.define(e,r)}e(0,"unknown"),e(1,"Backspace"),e(2,"Tab"),e(3,"Enter"),e(4,"Shift"),e(5,"Ctrl"),e(6,"Alt"),e(7,"PauseBreak"),e(8,"CapsLock"),e(9,"Escape"),e(10,"Space"),e(11,"PageUp"),e(12,"PageDown"),e(13,"End"),e(14,"Home"),e(15,"LeftArrow","Left"),e(16,"UpArrow","Up"),e(17,"RightArrow","Right"),e(18,"DownArrow","Down"),e(19,"Insert"),e(20,"Delete"),e(21,"0"),e(22,"1"),e(23,"2"),e(24,"3"),e(25,"4"),e(26,"5"),e(27,"6"),e(28,"7"),e(29,"8"),e(30,"9"),e(31,"A"),e(32,"B"),e(33,"C"),e(34,"D"),e(35,"E"),e(36,"F"),e(37,"G"),e(38,"H"),e(39,"I"),e(40,"J"),e(41,"K"),e(42,"L"),e(43,"M"),e(44,"N"),e(45,"O"),e(46,"P"),e(47,"Q"),e(48,"R"),e(49,"S"),
e(50,"T"),e(51,"U"),e(52,"V"),e(53,"W"),e(54,"X"),e(55,"Y"),e(56,"Z"),e(57,"Meta"),e(58,"ContextMenu"),e(59,"F1"),e(60,"F2"),e(61,"F3"),e(62,"F4"),e(63,"F5"),e(64,"F6"),e(65,"F7"),e(66,"F8"),e(67,"F9"),e(68,"F10"),e(69,"F11"),e(70,"F12"),e(71,"F13"),e(72,"F14"),e(73,"F15"),e(74,"F16"),e(75,"F17"),e(76,"F18"),e(77,"F19"),e(78,"NumLock"),e(79,"ScrollLock"),e(80,";",";","OEM_1"),e(81,"=","=","OEM_PLUS"),e(82,",",",","OEM_COMMA"),e(83,"-","-","OEM_MINUS"),e(84,".",".","OEM_PERIOD"),e(85,"/","/","OEM_2"),e(86,"`","`","OEM_3"),e(110,"ABNT_C1"),e(111,"ABNT_C2"),e(87,"[","[","OEM_4"),e(88,"\\","\\","OEM_5"),e(89,"]","]","OEM_6"),e(90,"'","'","OEM_7"),e(91,"OEM_8"),e(92,"OEM_102"),e(93,"NumPad0"),e(94,"NumPad1"),e(95,"NumPad2"),e(96,"NumPad3"),e(97,"NumPad4"),e(98,"NumPad5"),e(99,"NumPad6"),e(100,"NumPad7"),e(101,"NumPad8"),e(102,"NumPad9"),e(103,"NumPad_Multiply"),e(104,"NumPad_Add"),e(105,"NumPad_Separator"),e(106,"NumPad_Subtract"),e(107,"NumPad_Decimal"),e(108,"NumPad_Divide")}();!function(e){
e.toString=function(e){return i.keyCodeToStr(e)},e.fromString=function(e){return i.strToKeyCode(e)},e.toUserSettingsUS=function(e){return o.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return s.keyCodeToStr(e)},e.fromUserSettings=function(e){return o.strToKeyCode(e)||s.strToKeyCode(e)}}(t.KeyCodeUtils||(t.KeyCodeUtils={})),t.KeyChord=function(e,t){return(e|(65535&t)<<16>>>0)>>>0},t.createKeybinding=function(e,t){if(0===e)return null;var r=(65535&e)>>>0,i=(4294901760&e)>>>16;return 0!==i?new a(n(r,t),n(i,t)):n(r,t)},t.createSimpleKeybinding=n;var u=function(){function e(e,t,n,r,i){this.type=1,this.ctrlKey=e,this.shiftKey=t,this.altKey=n,this.metaKey=r,this.keyCode=i}return e.prototype.equals=function(e){return 1===e.type&&(this.ctrlKey===e.ctrlKey&&this.shiftKey===e.shiftKey&&this.altKey===e.altKey&&this.metaKey===e.metaKey&&this.keyCode===e.keyCode)},e.prototype.isModifierKey=function(){return 0===this.keyCode||5===this.keyCode||57===this.keyCode||6===this.keyCode||4===this.keyCode},
e.prototype.isDuplicateModifierCase=function(){return this.ctrlKey&&5===this.keyCode||this.shiftKey&&4===this.keyCode||this.altKey&&6===this.keyCode||this.metaKey&&57===this.keyCode},e}();t.SimpleKeybinding=u;var a=function(){return function(e,t){this.type=2,this.firstPart=e,this.chordPart=t}}();t.ChordKeybinding=a;var l=function(){return function(e,t,n,r,i,o){this.ctrlKey=e,this.shiftKey=t,this.altKey=n,this.metaKey=r,this.keyLabel=i,this.keyAriaLabel=o}}();t.ResolvedKeybindingPart=l;var c=function(){return function(){}}();t.ResolvedKeybinding=c}),r(e[8],t([1,0]),function(e,t){"use strict";function n(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return Array.isArray(e)?(e.forEach(function(e){return e&&e.dispose()}),[]):0!==t.length?(n(e),n(t),[]):e?(e.dispose(),e):void 0}Object.defineProperty(t,"__esModule",{value:!0}),t.isDisposable=function(e){return"function"==typeof e.dispose&&0===e.dispose.length},t.dispose=n,t.combinedDisposable=function(e){return{dispose:function(){return n(e)}}},
t.toDisposable=function(e){return{dispose:function(){e()}}};var r=function(){function e(){this._toDispose=[]}return Object.defineProperty(e.prototype,"toDispose",{get:function(){return this._toDispose},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._toDispose=n(this._toDispose)},e.prototype._register=function(e){return this._toDispose.push(e),e},e.None=Object.freeze({dispose:function(){}}),e}();t.Disposable=r;var i=function(){function e(e){this.object=e}return e.prototype.dispose=function(){},e}();t.ImmortalReference=i}),r(e[18],t([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){return function(e){this.element=e}}(),r=function(){function e(){}return e.prototype.isEmpty=function(){return!this._first},e.prototype.unshift=function(e){return this.insert(e,!1)},e.prototype.push=function(e){return this.insert(e,!0)},e.prototype.insert=function(e,t){var r=this,i=new n(e);if(this._first)if(t){var o=this._last;this._last=i,i.prev=o,o.next=i}else{
var s=this._first;this._first=i,i.next=s,s.prev=i}else this._first=i,this._last=i;return function(){for(var e=r._first;e instanceof n;e=e.next)if(e===i){if(e.prev&&e.next){var t=e.prev;t.next=e.next,e.next.prev=t}else e.prev||e.next?e.next?e.prev||(r._first=r._first.next,r._first.prev=void 0):(r._last=r._last.prev,r._last.next=void 0):(r._first=void 0,r._last=void 0);break}}},e.prototype.iterator=function(){var e={done:void 0,value:void 0},t=this._first;return{next:function(){return t?(e.done=!1,e.value=t.element,t=t.next):(e.done=!0,e.value=void 0),e}}},e}();t.LinkedList=r}),r(e[4],t([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=!1,r=!1,i=!1,o=!1,s=!1;if(t.LANGUAGE_DEFAULT="en","object"==typeof process&&"function"==typeof process.nextTick&&"string"==typeof process.platform){n="win32"===process.platform,r="darwin"===process.platform,i="linux"===process.platform,t.LANGUAGE_DEFAULT,t.LANGUAGE_DEFAULT;var u=process.env.VSCODE_NLS_CONFIG;if(u)try{
var a=JSON.parse(u),l=a.availableLanguages["*"];a.locale,l||t.LANGUAGE_DEFAULT,a._translationsConfigFile}catch(e){}o=!0}else if("object"==typeof navigator){var c=navigator.userAgent;n=c.indexOf("Windows")>=0,r=c.indexOf("Macintosh")>=0,i=c.indexOf("Linux")>=0,s=!0,navigator.language}var d;!function(e){e[e.Web=0]="Web",e[e.Mac=1]="Mac",e[e.Linux=2]="Linux",e[e.Windows=3]="Windows"}(d=t.Platform||(t.Platform={}));t.isWindows=n,t.isMacintosh=r,t.isLinux=i,t.isNative=o,t.isWeb=s;var f="object"==typeof self?self:"object"==typeof global?global:{};t.globals=f;var h=null;t.setImmediate=function(e){return null===h&&(h=t.globals.setImmediate?t.globals.setImmediate.bind(t.globals):"undefined"!=typeof process&&"function"==typeof process.nextTick?process.nextTick.bind(process):t.globals.setTimeout.bind(t.globals)),h(e)},t.OS=r?2:n?1:3}),r(e[14],t([1,0]),function(e,t){"use strict";function n(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\[\]\(\)\#]/g,"\\$&")}function r(e,t){if(!e||!t)return e;var n=t.length
;if(0===n||0===e.length)return e;for(var r=0;e.indexOf(t,r)===r;)r+=n;return e.substring(r)}function i(e,t){if(!e||!t)return e;var n=t.length,r=e.length;if(0===n||0===r)return e;for(var i=r,o=-1;;){if(-1===(o=e.lastIndexOf(t,i-1))||o+n!==i)break;if(0===o)return"";i=o}return e.substring(0,i)}function o(e,t){return e<t?-1:e>t?1:0}function s(e){return e>=97&&e<=122}function u(e){return e>=65&&e<=90}function a(e){return s(e)||u(e)}function l(e,t,n){if(void 0===n&&(n=e.length),"string"!=typeof e||"string"!=typeof t)return!1;for(var r=0;r<n;r++){var i=e.charCodeAt(r),o=t.charCodeAt(r);if(i!==o)if(a(i)&&a(o)){var s=Math.abs(i-o);if(0!==s&&32!==s)return!1}else if(String.fromCharCode(i).toLowerCase()!==String.fromCharCode(o).toLowerCase())return!1}return!0}function c(e){return(e=+e)>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}Object.defineProperty(t,"__esModule",{value:!0}),t.empty="",t.isFalsyOrWhitespace=function(e){return!e||"string"!=typeof e||0===e.trim().length},t.pad=function(e,t,n){
void 0===n&&(n="0");for(var r=""+e,i=[r],o=r.length;o<t;o++)i.push(n);return i.reverse().join("")};var d=/{(\d+)}/g;t.format=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return 0===t.length?e:e.replace(d,function(e,n){var r=parseInt(n,10);return isNaN(r)||r<0||r>=t.length?e:t[r]})},t.escape=function(e){return e.replace(/[<|>|&]/g,function(e){switch(e){case"<":return"&lt;";case">":return"&gt;";case"&":return"&amp;";default:return e}})},t.escapeRegExpCharacters=n,t.trim=function(e,t){return void 0===t&&(t=" "),i(r(e,t),t)},t.ltrim=r,t.rtrim=i,t.convertSimple2RegExpPattern=function(e){return e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")},t.startsWith=function(e,t){if(e.length<t.length)return!1;if(e===t)return!0;for(var n=0;n<t.length;n++)if(e[n]!==t[n])return!1;return!0},t.endsWith=function(e,t){var n=e.length-t.length;return n>0?e.indexOf(t,n)===n:0===n&&e===t},t.createRegExp=function(e,t,r){if(void 0===r&&(r={}),
!e)throw new Error("Cannot create regex from empty string");t||(e=n(e)),r.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));var i="";return r.global&&(i+="g"),r.matchCase||(i+="i"),r.multiline&&(i+="m"),new RegExp(e,i)},t.regExpLeadsToEndlessLoop=function(e){return"^"!==e.source&&"^$"!==e.source&&"$"!==e.source&&"^\\s*$"!==e.source&&e.exec("")&&0===e.lastIndex},t.firstNonWhitespaceIndex=function(e){for(var t=0,n=e.length;t<n;t++){var r=e.charCodeAt(t);if(32!==r&&9!==r)return t}return-1},t.getLeadingWhitespace=function(e,t,n){void 0===t&&(t=0),void 0===n&&(n=e.length);for(var r=t;r<n;r++){var i=e.charCodeAt(r);if(32!==i&&9!==i)return e.substring(t,r)}return e.substring(t,n)},t.lastNonWhitespaceIndex=function(e,t){void 0===t&&(t=e.length-1);for(var n=t;n>=0;n--){var r=e.charCodeAt(n);if(32!==r&&9!==r)return n}return-1},t.compare=o,t.compareIgnoreCase=function(e,t){for(var n=Math.min(e.length,t.length),r=0;r<n;r++){var i=e.charCodeAt(r),a=t.charCodeAt(r);if(i!==a){
u(i)&&(i+=32),u(a)&&(a+=32);var l=i-a;if(0!==l)return s(i)&&s(a)?l:o(e.toLowerCase(),t.toLowerCase())}}return e.length<t.length?-1:e.length>t.length?1:0},t.isLowerAsciiLetter=s,t.isUpperAsciiLetter=u,t.equalsIgnoreCase=function(e,t){return(e?e.length:0)===(t?t.length:0)&&l(e,t)},t.startsWithIgnoreCase=function(e,t){var n=t.length;return!(t.length>e.length)&&l(e,t,n)},t.commonPrefixLength=function(e,t){var n,r=Math.min(e.length,t.length);for(n=0;n<r;n++)if(e.charCodeAt(n)!==t.charCodeAt(n))return n;return r},t.commonSuffixLength=function(e,t){var n,r=Math.min(e.length,t.length),i=e.length-1,o=t.length-1;for(n=0;n<r;n++)if(e.charCodeAt(i-n)!==t.charCodeAt(o-n))return n;return r},t.isHighSurrogate=function(e){return 55296<=e&&e<=56319},t.isLowSurrogate=function(e){return 56320<=e&&e<=57343}
;var f=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u08BD\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE33\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDCFF]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD50-\uDFFF]|\uD83B[\uDC00-\uDEBB])/;t.containsRTL=function(e){return f.test(e)};var h=/(?:[\u231A\u231B\u23F0\u23F3\u2600-\u27BF\u2B50\u2B55]|\uD83C[\uDDE6-\uDDFF\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F\uDE80-\uDEF8]|\uD83E[\uDD00-\uDDE6])/;t.containsEmoji=function(e){return h.test(e)};var p=/^[\t\n\r\x20-\x7E]*$/;t.isBasicASCII=function(e){return p.test(e)},t.containsFullWidthCharacter=function(e){for(var t=0,n=e.length;t<n;t++)if(c(e.charCodeAt(t)))return!0;return!1},t.isFullWidthCharacter=c,t.UTF8_BOM_CHARACTER=String.fromCharCode(65279),
t.startsWithUTF8BOM=function(e){return e&&e.length>0&&65279===e.charCodeAt(0)},t.safeBtoa=function(e){return btoa(encodeURIComponent(e))},t.repeat=function(e,t){for(var n="",r=0;r<t;r++)n+=e;return n}});var o=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();r(e[11],t([1,0,4]),function(e,t,n){"use strict";function r(e,t){for(var n=void 0,r=-1,i=0;i<e.length;i++){var o=e.charCodeAt(i);if(o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||t&&47===o)-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),void 0!==n&&(n+=e.charAt(i));else{void 0===n&&(n=e.substr(0,i));var s=g[o];void 0!==s?(-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),n+=s):-1===r&&(r=i)}}return-1!==r&&(n+=encodeURIComponent(e.substring(r))),
void 0!==n?n:e}function i(e){var t;return t=e.authority&&e.path.length>1&&"file"===e.scheme?"//"+e.authority+e.path:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?e.path[1].toLowerCase()+e.path.substr(2):e.path,n.isWindows&&(t=t.replace(/\//g,"\\")),t}function s(e,t){var n=t?function(e){for(var t=void 0,n=0;n<e.length;n++){var r=e.charCodeAt(n);35===r||63===r?(void 0===t&&(t=e.substr(0,n)),t+=g[r]):void 0!==t&&(t+=e[n])}return void 0!==t?t:e}:r,i="",o=e.scheme,s=e.authority,u=e.path,a=e.query,l=e.fragment;if(o&&(i+=o,i+=":"),(s||"file"===o)&&(i+=f,i+=f),s){var c=s.indexOf("@");if(-1!==c){var d=s.substr(0,c);s=s.substr(c+1),-1===(c=d.indexOf(":"))?i+=n(d,!1):(i+=n(d.substr(0,c),!1),i+=":",i+=n(d.substr(c+1),!1)),i+="@"}-1===(c=(s=s.toLowerCase()).indexOf(":"))?i+=n(s,!1):(i+=n(s.substr(0,c),!1),i+=s.substr(c))}if(u){if(u.length>=3&&47===u.charCodeAt(0)&&58===u.charCodeAt(2)){
(h=u.charCodeAt(1))>=65&&h<=90&&(u="/"+String.fromCharCode(h+32)+":"+u.substr(3))}else if(u.length>=2&&58===u.charCodeAt(1)){var h=u.charCodeAt(0);h>=65&&h<=90&&(u=String.fromCharCode(h+32)+":"+u.substr(2))}i+=n(u,!0)}return a&&(i+="?",i+=n(a,!1)),l&&(i+="#",i+=t?l:r(l,!1)),i}Object.defineProperty(t,"__esModule",{value:!0});var u,a=/^\w[\w\d+.-]*$/,l=/^\//,c=/^\/\//,d="",f="/",h=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,p=function(){function e(e,t,n,r,i){"object"==typeof e?(this.scheme=e.scheme||d,this.authority=e.authority||d,this.path=e.path||d,this.query=e.query||d,this.fragment=e.fragment||d):(this.scheme=e||d,this.authority=t||d,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==f&&(t=f+t):t=f}return t}(this.scheme,n||d),this.query=r||d,this.fragment=i||d,function(e){if(e.scheme&&!a.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){
if(!l.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(c.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this))}return e.isUri=function(t){return t instanceof e||!!t&&("string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme)},Object.defineProperty(e.prototype,"fsPath",{get:function(){return i(this)},enumerable:!0,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,n=e.authority,r=e.path,i=e.query,o=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=d),void 0===n?n=this.authority:null===n&&(n=d),void 0===r?r=this.path:null===r&&(r=d),void 0===i?i=this.query:null===i&&(i=d),void 0===o?o=this.fragment:null===o&&(o=d),
t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&o===this.fragment?this:new m(t,n,r,i,o)},e.parse=function(e){var t=h.exec(e);return t?new m(t[2]||d,decodeURIComponent(t[4]||d),decodeURIComponent(t[5]||d),decodeURIComponent(t[7]||d),decodeURIComponent(t[9]||d)):new m(d,d,d,d,d)},e.file=function(e){var t=d;if(n.isWindows&&(e=e.replace(/\\/g,f)),e[0]===f&&e[1]===f){var r=e.indexOf(f,2);-1===r?(t=e.substring(2),e=f):(t=e.substring(2,r),e=e.substring(r)||f)}return new m("file",t,e,d,d)},e.from=function(e){return new m(e.scheme,e.authority,e.path,e.query,e.fragment)},e.prototype.toString=function(e){return void 0===e&&(e=!1),s(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new m(t);return n._fsPath=t.fsPath,n._formatted=t.external,n}return t},e}();t.default=p;var m=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return o(t,e),
Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=i(this)),this._fsPath},enumerable:!0,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?s(this,!0):(this._formatted||(this._formatted=s(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(p),g=(u={},u[58]="%3A",u[47]="%2F",u[63]="%3F",u[35]="%23",u[91]="%5B",u[93]="%5D",u[64]="%40",u[33]="%21",u[36]="%24",u[38]="%26",u[39]="%27",u[40]="%28",u[41]="%29",u[42]="%2A",u[43]="%2B",u[44]="%2C",u[59]="%3B",u[61]="%3D",u[32]="%20",u)});var s;!function(){var e=Object.create(null);e["WinJS/Core/_WinJS"]={};var t=function(t,n,r){var i={},o=!1,s=n.map(function(t){return"exports"===t?(o=!0,i):e[t]
}),u=r.apply({},s);e[t]=o?i:u};t("WinJS/Core/_Global",[],function(){"use strict";return"undefined"!=typeof window?window:"undefined"!=typeof self?self:"undefined"!=typeof global?global:{}}),t("WinJS/Core/_BaseCoreUtils",["WinJS/Core/_Global"],function(e){"use strict";var t=null;return{hasWinRT:!!e.Windows,markSupportedForProcessing:function(e){return e.supportedForProcessing=!0,e},_setImmediate:function(n){null===t&&(t=e.setImmediate?e.setImmediate.bind(e):"undefined"!=typeof process&&"function"==typeof process.nextTick?process.nextTick.bind(process):e.setTimeout.bind(e)),t(n)}}}),t("WinJS/Core/_WriteProfilerMark",["WinJS/Core/_Global"],function(e){"use strict";return e.msWriteProfilerMark||function(){}}),t("WinJS/Core/_Base",["WinJS/Core/_WinJS","WinJS/Core/_Global","WinJS/Core/_BaseCoreUtils","WinJS/Core/_WriteProfilerMark"],function(e,t,n,r){"use strict";function i(e,t,n){var r,i,o,s=Object.keys(t),u=Array.isArray(e);for(i=0,o=s.length;i<o;i++){var a=s[i],l=95!==a.charCodeAt(0),c=t[a]
;!c||"object"!=typeof c||void 0===c.value&&"function"!=typeof c.get&&"function"!=typeof c.set?l?u?e.forEach(function(e){e[a]=c}):e[a]=c:(r=r||{})[a]={value:c,enumerable:l,configurable:!0,writable:!0}:(void 0===c.enumerable&&(c.enumerable=l),n&&c.setName&&"function"==typeof c.setName&&c.setName(n+"."+a),(r=r||{})[a]=c)}r&&(u?e.forEach(function(e){Object.defineProperties(e,r)}):Object.defineProperties(e,r))}return function(){function n(n,r){var i=n||{};if(r){var o=r.split(".");i===t&&"WinJS"===o[0]&&(i=e,o.splice(0,1));for(var s=0,u=o.length;s<u;s++){var a=o[s];i[a]||Object.defineProperty(i,a,{value:{},writable:!1,enumerable:!0,configurable:!0}),i=i[a]}}return i}function o(e,t,r){var o=n(e,t);return r&&i(o,r,t||"<ANONYMOUS>"),o}var s=e;s.Namespace||(s.Namespace=Object.create(Object.prototype));var u={uninitialized:1,working:2,initialized:3};Object.defineProperties(s.Namespace,{defineWithParent:{value:o,writable:!0,enumerable:!0,configurable:!0},define:{value:function(e,n){return o(t,e,n)},writable:!0,
enumerable:!0,configurable:!0},_lazy:{value:function(e){var t,n,i=u.uninitialized;return{setName:function(e){t=e},get:function(){switch(i){case u.initialized:return n;case u.uninitialized:i=u.working;try{r("WinJS.Namespace._lazy:"+t+",StartTM"),n=e()}finally{r("WinJS.Namespace._lazy:"+t+",StopTM"),i=u.uninitialized}return e=null,i=u.initialized,n;case u.working:throw"Illegal: reentrancy on initialization";default:throw"Illegal"}},set:function(e){switch(i){case u.working:throw"Illegal: reentrancy on initialization";default:i=u.initialized,n=e}},enumerable:!0,configurable:!0}},writable:!0,enumerable:!0,configurable:!0},_moduleDefine:{value:function(e,r,o){var s=[e],u=null;return r&&(u=n(t,r),s.push(u)),i(s,o,r||"<ANONYMOUS>"),u},writable:!0,enumerable:!0,configurable:!0}})}(),function(){function t(e,t,r){return e=e||function(){},n.markSupportedForProcessing(e),t&&i(e.prototype,t),r&&i(e,r),e}e.Namespace.define("WinJS.Class",{define:t,derive:function(e,r,o,s){if(e){r=r||function(){};var u=e.prototype
;return r.prototype=Object.create(u),n.markSupportedForProcessing(r),Object.defineProperty(r.prototype,"constructor",{value:r,writable:!0,configurable:!0,enumerable:!0}),o&&i(r.prototype,o),s&&i(r,s),r}return t(r,o,s)},mix:function(e){e=e||function(){};var t,n;for(t=1,n=arguments.length;t<n;t++)i(e.prototype,arguments[t]);return e}})}(),{Namespace:e.Namespace,Class:e.Class}}),t("WinJS/Core/_ErrorFromName",["WinJS/Core/_Base"],function(e){"use strict";var t=e.Class.derive(Error,function(e,t){this.name=e,this.message=t||e},{},{supportedForProcessing:!1});return e.Namespace.define("WinJS",{ErrorFromName:t}),t}),t("WinJS/Core/_Events",["exports","WinJS/Core/_Base"],function(e,t){"use strict";function n(e){var t="_on"+e+"state";return{get:function(){var e=this[t];return e&&e.userHandler},set:function(n){var r=this[t];n?(r||(r={wrapper:function(e){return r.userHandler(e)},userHandler:n},Object.defineProperty(this,t,{value:r,enumerable:!1,writable:!0,configurable:!0}),this.addEventListener(e,r.wrapper,!1)),
r.userHandler=n):r&&(this.removeEventListener(e,r.wrapper,!1),this[t]=null)},enumerable:!0}}var r=t.Class.define(function(e,t,n){this.detail=t,this.target=n,this.timeStamp=Date.now(),this.type=e},{bubbles:{value:!1,writable:!1},cancelable:{value:!1,writable:!1},currentTarget:{get:function(){return this.target}},defaultPrevented:{get:function(){return this._preventDefaultCalled}},trusted:{value:!1,writable:!1},eventPhase:{value:0,writable:!1},target:null,timeStamp:null,type:null,preventDefault:function(){this._preventDefaultCalled=!0},stopImmediatePropagation:function(){this._stopImmediatePropagationCalled=!0},stopPropagation:function(){}},{supportedForProcessing:!1}),i={_listeners:null,addEventListener:function(e,t,n){n=n||!1,this._listeners=this._listeners||{};for(var r=this._listeners[e]=this._listeners[e]||[],i=0,o=r.length;i<o;i++){var s=r[i];if(s.useCapture===n&&s.listener===t)return}r.push({listener:t,useCapture:n})},dispatchEvent:function(e,t){var n=this._listeners&&this._listeners[e];if(n){
for(var i=new r(e,t,this),o=0,s=(n=n.slice(0,n.length)).length;o<s&&!i._stopImmediatePropagationCalled;o++)n[o].listener(i);return i.defaultPrevented||!1}return!1},removeEventListener:function(e,t,n){n=n||!1;var r=this._listeners&&this._listeners[e];if(r)for(var i=0,o=r.length;i<o;i++){var s=r[i];if(s.listener===t&&s.useCapture===n){r.splice(i,1),0===r.length&&delete this._listeners[e];break}}}};t.Namespace._moduleDefine(e,"WinJS.Utilities",{_createEventProperty:n,createEventProperties:function(){for(var e={},t=0,r=arguments.length;t<r;t++){var i=arguments[t];e["on"+i]=n(i)}return e},eventMixin:i})}),t("WinJS/Core/_Trace",["WinJS/Core/_Global"],function(e){"use strict";function t(e){return e}return{_traceAsyncOperationStarting:e.Debug&&e.Debug.msTraceAsyncOperationStarting&&e.Debug.msTraceAsyncOperationStarting.bind(e.Debug)||t,_traceAsyncOperationCompleted:e.Debug&&e.Debug.msTraceAsyncOperationCompleted&&e.Debug.msTraceAsyncOperationCompleted.bind(e.Debug)||t,
_traceAsyncCallbackStarting:e.Debug&&e.Debug.msTraceAsyncCallbackStarting&&e.Debug.msTraceAsyncCallbackStarting.bind(e.Debug)||t,_traceAsyncCallbackCompleted:e.Debug&&e.Debug.msTraceAsyncCallbackCompleted&&e.Debug.msTraceAsyncCallbackCompleted.bind(e.Debug)||t}}),t("WinJS/Promise/_StateMachine",["WinJS/Core/_Global","WinJS/Core/_BaseCoreUtils","WinJS/Core/_Base","WinJS/Core/_ErrorFromName","WinJS/Core/_Events","WinJS/Core/_Trace"],function(e,t,n,r,i,o){"use strict";function s(){}function u(e,t){var n;n=t&&"object"==typeof t&&"function"==typeof t.then?I:T,e._value=t,e._setState(n)}function a(e,t,n,r,i,o){return{exception:e,error:t,promise:n,handler:o,id:r,parent:i}}function l(e,t,n,r){var i=n._isException,o=n._errorId;return a(i?t:null,i?null:t,e,o,n,r)}function c(e,t,n){var r=n._isException,i=n._errorId;return b(e,i,r),a(r?t:null,r?null:t,e,i,n)}function d(e,t){var n=++W;return b(e,n),a(null,t,e,n)}function f(e,t){var n=++W;return b(e,n,!0),a(t,null,e,n)}function h(e,t,n,r){y(e,{c:t,e:n,p:r,
asyncOpID:o._traceAsyncOperationStarting("WinJS.Promise.done")})}function p(e,t,n,r){e._value=t,_(e,t,n,r),e._setState(U)}function m(t,n){var r=t._value,i=t._listeners;if(i){t._listeners=null;var s,u;for(s=0,u=Array.isArray(i)?i.length:1;s<u;s++){var a=1===u?i:i[s],l=a.c,c=a.promise;if(o._traceAsyncOperationCompleted(a.asyncOpID,e.Debug&&e.Debug.MS_ASYNC_OP_STATUS_SUCCESS),c){o._traceAsyncCallbackStarting(a.asyncOpID);try{c._setCompleteValue(l?l(r):r)}catch(e){c._setExceptionValue(e)}finally{o._traceAsyncCallbackCompleted()}c._state!==I&&c._listeners&&n.push(c)}else Y.prototype.done.call(t,l)}}}function g(t,n){var r=t._value,i=t._listeners;if(i){t._listeners=null;var s,u;for(s=0,u=Array.isArray(i)?i.length:1;s<u;s++){var a=1===u?i:i[s],c=a.e,d=a.promise,f=e.Debug&&(r&&r.name===P?e.Debug.MS_ASYNC_OP_STATUS_CANCELED:e.Debug.MS_ASYNC_OP_STATUS_ERROR);if(o._traceAsyncOperationCompleted(a.asyncOpID,f),d){var h=!1;try{c?(o._traceAsyncCallbackStarting(a.asyncOpID),h=!0,c.handlesOnError||_(d,r,l,t,c),
d._setCompleteValue(c(r))):d._setChainedErrorValue(r,t)}catch(e){d._setExceptionValue(e)}finally{h&&o._traceAsyncCallbackCompleted()}d._state!==I&&d._listeners&&n.push(d)}else B.prototype.done.call(t,null,c)}}}function _(e,t,n,r,i){if(L._listeners[N]){if(t instanceof Error&&t.message===P)return;L.dispatchEvent(N,n(e,t,r,i))}}function v(e,t){var n=e._listeners;if(n){var r,i;for(r=0,i=Array.isArray(n)?n.length:1;r<i;r++){var o=1===i?n:n[r],s=o.p;if(s)try{s(t)}catch(e){}o.c||o.e||!o.promise||o.promise._progress(t)}}}function y(e,t){var n=e._listeners;n?(n=Array.isArray(n)?n:[n]).push(t):n=t,e._listeners=n}function b(e,t,n){e._isException=n||!1,e._errorId=t}function C(e,t,n,r){e._value=t,_(e,t,n,r),e._setState(F)}function S(e,t){var n;n=t&&"object"==typeof t&&"function"==typeof t.then?I:R,e._value=t,e._setState(n)}function E(e,t,n,r){var i=new j(e);return y(e,{promise:i,c:t,e:n,p:r,asyncOpID:o._traceAsyncOperationStarting("WinJS.Promise.then")}),i}e.Debug&&(e.Debug.setNonUserCodeExceptions=!0)
;var L=new(n.Class.mix(n.Class.define(null,{},{supportedForProcessing:!1}),i.eventMixin));L._listeners={};var N="error",P="Canceled",A=!1,M={promise:1,thenPromise:2,errorPromise:4,exceptionPromise:8,completePromise:16};M.all=M.promise|M.thenPromise|M.errorPromise|M.exceptionPromise|M.completePromise;var w,D,I,k,x,O,T,R,U,F,W=1;w={name:"created",enter:function(e){e._setState(D)},cancel:s,done:s,then:s,_completed:s,_error:s,_notify:s,_progress:s,_setCompleteValue:s,_setErrorValue:s},D={name:"working",enter:s,cancel:function(e){e._setState(x)},done:h,then:E,_completed:u,_error:p,_notify:s,_progress:v,_setCompleteValue:S,_setErrorValue:C},I={name:"waiting",enter:function(e){var t=e._value;if(t instanceof j&&t._state!==F&&t._state!==R)y(t,{promise:e});else{var n=function(r){t._errorId?e._chainedError(r,t):(_(e,r,l,t,n),e._error(r))};n.handlesOnError=!0,t.then(e._completed.bind(e),n,e._progress.bind(e))}},cancel:function(e){e._setState(k)},done:h,then:E,_completed:u,_error:p,_notify:s,_progress:v,
_setCompleteValue:S,_setErrorValue:C},k={name:"waiting_canceled",enter:function(e){e._setState(O);var t=e._value;t.cancel&&t.cancel()},cancel:s,done:h,then:E,_completed:u,_error:p,_notify:s,_progress:v,_setCompleteValue:S,_setErrorValue:C},x={name:"canceled",enter:function(e){e._setState(O),e._cancelAction()},cancel:s,done:h,then:E,_completed:u,_error:p,_notify:s,_progress:v,_setCompleteValue:S,_setErrorValue:C},O={name:"canceling",enter:function(e){var t=new Error(P);t.name=t.message,e._value=t,e._setState(U)},cancel:s,done:s,then:s,_completed:s,_error:s,_notify:s,_progress:s,_setCompleteValue:s,_setErrorValue:s},T={name:"complete_notify",enter:function(e){if(e.done=Y.prototype.done,e.then=Y.prototype.then,e._listeners)for(var t,n=[e];n.length;)(t=n.shift())._state._notify(t,n);e._setState(R)},cancel:s,done:null,then:null,_completed:s,_error:s,_notify:m,_progress:s,_setCompleteValue:s,_setErrorValue:s},R={name:"success",enter:function(e){e.done=Y.prototype.done,e.then=Y.prototype.then,e._cleanupAction()},
cancel:s,done:null,then:null,_completed:s,_error:s,_notify:m,_progress:s,_setCompleteValue:s,_setErrorValue:s},U={name:"error_notify",enter:function(e){if(e.done=B.prototype.done,e.then=B.prototype.then,e._listeners)for(var t,n=[e];n.length;)(t=n.shift())._state._notify(t,n);e._setState(F)},cancel:s,done:null,then:null,_completed:s,_error:s,_notify:g,_progress:s,_setCompleteValue:s,_setErrorValue:s},F={name:"error",enter:function(e){e.done=B.prototype.done,e.then=B.prototype.then,e._cleanupAction()},cancel:s,done:null,then:null,_completed:s,_error:s,_notify:g,_progress:s,_setCompleteValue:s,_setErrorValue:s};var q,K=n.Class.define(null,{_listeners:null,_nextState:null,_state:null,_value:null,cancel:function(){this._state.cancel(this),this._run()},done:function(e,t,n){this._state.done(this,e,t,n)},then:function e(t,n,r){if(this.then===e)return this._state.then(this,t,n,r);this.then(t,n,r)},_chainedError:function(e,t){var n=this._state._error(this,e,c,t);return this._run(),n},_completed:function(e){
var t=this._state._completed(this,e);return this._run(),t},_error:function(e){var t=this._state._error(this,e,d);return this._run(),t},_progress:function(e){this._state._progress(this,e)},_setState:function(e){this._nextState=e},_setCompleteValue:function(e){this._state._setCompleteValue(this,e),this._run()},_setChainedErrorValue:function(e,t){var n=this._state._setErrorValue(this,e,c,t);return this._run(),n},_setExceptionValue:function(e){var t=this._state._setErrorValue(this,e,f);return this._run(),t},_run:function(){for(;this._nextState;)this._state=this._nextState,this._nextState=null,this._state.enter(this)}},{supportedForProcessing:!1}),j=n.Class.derive(K,function(e){A&&(!0===A||A&M.thenPromise)&&(this._stack=H._getStack()),this._creator=e,this._setState(w),this._run()},{_creator:null,_cancelAction:function(){this._creator&&this._creator.cancel()},_cleanupAction:function(){this._creator=null}},{supportedForProcessing:!1}),B=n.Class.define(function(e){
A&&(!0===A||A&M.errorPromise)&&(this._stack=H._getStack()),this._value=e,_(this,e,d)},{cancel:function(){},done:function(e,t){var n=this._value;if(t)try{t.handlesOnError||_(null,n,l,this,t);var r=t(n);return void(r&&"object"==typeof r&&"function"==typeof r.done&&r.done())}catch(e){n=e}n instanceof Error&&n.message===P||H._doneHandler(n)},then:function(e,t){if(!t)return this;var n,r=this._value;try{t.handlesOnError||_(null,r,l,this,t),n=new Y(t(r))}catch(e){n=e===r?this:new V(e)}return n}},{supportedForProcessing:!1}),V=n.Class.derive(B,function(e){A&&(!0===A||A&M.exceptionPromise)&&(this._stack=H._getStack()),this._value=e,_(this,e,f)},{},{supportedForProcessing:!1}),Y=n.Class.define(function(e){if(A&&(!0===A||A&M.completePromise)&&(this._stack=H._getStack()),e&&"object"==typeof e&&"function"==typeof e.then){var t=new j(null);return t._setCompleteValue(e),t}this._value=e},{cancel:function(){},done:function(e){if(e)try{var t=e(this._value);t&&"object"==typeof t&&"function"==typeof t.done&&t.done()}catch(e){
H._doneHandler(e)}},then:function(e){try{var t=e?e(this._value):this._value;return t===this._value?this:new Y(t)}catch(e){return new V(e)}}},{supportedForProcessing:!1}),H=n.Class.derive(K,function(e,t){A&&(!0===A||A&M.promise)&&(this._stack=H._getStack()),this._oncancel=t,this._setState(w),this._run();try{e(this._completed.bind(this),this._error.bind(this),this._progress.bind(this))}catch(e){this._setExceptionValue(e)}},{_oncancel:null,_cancelAction:function(){try{if(!this._oncancel)throw new Error("Promise did not implement oncancel");this._oncancel()}catch(e){e.message,e.stack;L.dispatchEvent("error",e)}},_cleanupAction:function(){this._oncancel=null}},{addEventListener:function(e,t,n){L.addEventListener(e,t,n)},any:function(e){return new H(function(t,n){var r=Object.keys(e);0===r.length&&t();var i=0;r.forEach(function(o){H.as(e[o]).then(function(){t({key:o,value:e[o]})},function(s){s instanceof Error&&s.name===P?++i===r.length&&t(H.cancel):n({key:o,value:e[o]})})})},function(){
Object.keys(e).forEach(function(t){var n=H.as(e[t]);"function"==typeof n.cancel&&n.cancel()})})},as:function(e){return e&&"object"==typeof e&&"function"==typeof e.then?e:new Y(e)},cancel:{get:function(){return q=q||new B(new r(P))}},dispatchEvent:function(e,t){return L.dispatchEvent(e,t)},is:function(e){return e&&"object"==typeof e&&"function"==typeof e.then},join:function(e){return new H(function(t,n,r){var i=Object.keys(e),o=Array.isArray(e)?[]:{},s=Array.isArray(e)?[]:{},u=0,a=i.length,l=function(e){if(0==--a){var u=Object.keys(o).length;if(0===u)t(s);else{var l=0;i.forEach(function(e){var t=o[e];t instanceof Error&&t.name===P&&l++}),l===u?t(H.cancel):n(o)}}else r({Key:e,Done:!0})};i.forEach(function(t){var n=e[t];void 0===n?u++:H.then(n,function(e){s[t]=e,l(t)},function(e){o[t]=e,l(t)})}),0!==(a-=u)||t(s)},function(){Object.keys(e).forEach(function(t){var n=H.as(e[t]);"function"==typeof n.cancel&&n.cancel()})})},removeEventListener:function(e,t,n){L.removeEventListener(e,t,n)},supportedForProcessing:!1,
then:function(e,t,n,r){return H.as(e).then(t,n,r)},thenEach:function(e,t,n,r){var i=Array.isArray(e)?[]:{};return Object.keys(e).forEach(function(o){i[o]=H.as(e[o]).then(t,n,r)}),H.join(i)},timeout:function(n,r){var i=function(n){var r;return new H(function(i){n?r=e.setTimeout(i,n):t._setImmediate(i)},function(){r&&e.clearTimeout(r)})}(n);return r?function(e,t){var n=function(){e.cancel()};return e.then(function(){t.cancel()}),t.then(n,n),t}(i,r):i},wrap:function(e){return new Y(e)},wrapError:function(e){return new B(e)},_veryExpensiveTagWithStack:{get:function(){return A},set:function(e){A=e}},_veryExpensiveTagWithStack_tag:M,_getStack:function(){if(e.Debug&&e.Debug.debuggerEnabled)try{throw new Error}catch(e){return e.stack}},_cancelBlocker:function(e,t){if(!H.is(e))return H.wrap(e);var n,r,i=new H(function(e,t){n=e,r=t},function(){n=null,r=null,t&&t()});return e.then(function(e){n&&n(e)},function(e){r&&r(e)}),i}});return Object.defineProperties(H,i.createEventProperties(N)),H._doneHandler=function(e){
t._setImmediate(function(){throw e})},{PromiseStateMachine:K,Promise:H,state_created:w}}),t("WinJS/Promise",["WinJS/Core/_Base","WinJS/Promise/_StateMachine"],function(e,t){"use strict";return e.Namespace.define("WinJS",{Promise:t.Promise}),t.Promise}),(s=e["WinJS/Core/_WinJS"]).TPromise=s.Promise,s.PPromise=s.Promise,"undefined"==typeof exports&&"function"==typeof r&&r.amd?r("vs/base/common/winjs.base",[],s):module.exports=s}(),r(e[6],t([1,0,3]),function(e,t,n){"use strict";function r(e){i(e)||t.errorHandler.onUnexpectedError(e)}function i(e){return e instanceof Error&&e.name===u&&e.message===u}Object.defineProperty(t,"__esModule",{value:!0});var o={};n.TPromise.addEventListener("error",function(e){var t=e.detail,n=t.id;t.parent?t.handler&&o&&delete o[n]:(o[n]=t,1===Object.keys(o).length&&setTimeout(function(){var e=o;o={},Object.keys(e).forEach(function(t){var n=e[t];n.exception?r(n.exception):n.error&&r(n.error),console.log("WARNING: Promise with no error callback:"+n.id),console.log(n),
n.exception&&console.log(n.exception.stack)})},0))});var s=function(){function e(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(function(){if(e.stack)throw new Error(e.message+"\n\n"+e.stack);throw e},0)}}return e.prototype.emit=function(e){this.listeners.forEach(function(t){t(e)})},e.prototype.onUnexpectedError=function(e){this.unexpectedErrorHandler(e),this.emit(e)},e.prototype.onUnexpectedExternalError=function(e){this.unexpectedErrorHandler(e)},e}();t.ErrorHandler=s,t.errorHandler=new s,t.onUnexpectedError=r,t.onUnexpectedExternalError=function(e){i(e)||t.errorHandler.onUnexpectedExternalError(e)},t.transformErrorForSerialization=function(e){if(e instanceof Error)return{$isError:!0,name:e.name,message:e.message,stack:e.stacktrace||e.stack};return e};var u="Canceled";t.isPromiseCanceledError=i,t.canceled=function(){var e=new Error(u);return e.name=e.message,e},t.illegalArgument=function(e){return e?new Error("Illegal argument: "+e):new Error("Illegal argument")},
t.illegalState=function(e){return e?new Error("Illegal state: "+e):new Error("Illegal state")}}),r(e[10],t([1,0,6,21,8,18]),function(e,t,n,r,i,o){"use strict";function s(e,t){return function(n,r,i){return void 0===r&&(r=null),e(function(e){return n.call(r,t(e))},null,i)}}function u(e,t){return function(n,r,i){return void 0===r&&(r=null),e(function(e){return t(e)&&n.call(r,e)},null,i)}}Object.defineProperty(t,"__esModule",{value:!0});!function(e){var t={dispose:function(){}};e.None=function(){return t}}(t.Event||(t.Event={}));var a=function(){function e(e){this._options=e}return Object.defineProperty(e.prototype,"event",{get:function(){var t=this;return this._event||(this._event=function(n,r,i){t._listeners||(t._listeners=new o.LinkedList);var s=t._listeners.isEmpty();s&&t._options&&t._options.onFirstListenerAdd&&t._options.onFirstListenerAdd(t);var u=t._listeners.push(r?[n,r]:n);s&&t._options&&t._options.onFirstListenerDidAdd&&t._options.onFirstListenerDidAdd(t),
t._options&&t._options.onListenerDidAdd&&t._options.onListenerDidAdd(t,n,r);var a;return a={dispose:function(){a.dispose=e._noop,t._disposed||(u(),t._options&&t._options.onLastListenerRemove&&t._listeners.isEmpty()&&t._options.onLastListenerRemove(t))}},Array.isArray(i)&&i.push(a),a}),this._event},enumerable:!0,configurable:!0}),e.prototype.fire=function(e){if(this._listeners){this._deliveryQueue||(this._deliveryQueue=[]);for(var t=this._listeners.iterator(),r=t.next();!r.done;r=t.next())this._deliveryQueue.push([r.value,e]);for(;this._deliveryQueue.length>0;){var i=this._deliveryQueue.shift(),o=i[0],s=i[1];try{"function"==typeof o?o.call(void 0,s):o[0].call(o[1],s)}catch(r){n.onUnexpectedError(r)}}}},e.prototype.dispose=function(){this._listeners&&(this._listeners=void 0),this._deliveryQueue&&(this._deliveryQueue.length=0),this._disposed=!0},e._noop=function(){},e}();t.Emitter=a;var l=function(){function e(){var e=this;this.hasListeners=!1,this.events=[],this.emitter=new a({onFirstListenerAdd:function(){
return e.onFirstListenerAdd()},onLastListenerRemove:function(){return e.onLastListenerRemove()}})}return Object.defineProperty(e.prototype,"event",{get:function(){return this.emitter.event},enumerable:!0,configurable:!0}),e.prototype.add=function(e){var t=this,n={event:e,listener:null};this.events.push(n),this.hasListeners&&this.hook(n);return i.toDisposable(r.once(function(){t.hasListeners&&t.unhook(n);var e=t.events.indexOf(n);t.events.splice(e,1)}))},e.prototype.onFirstListenerAdd=function(){var e=this;this.hasListeners=!0,this.events.forEach(function(t){return e.hook(t)})},e.prototype.onLastListenerRemove=function(){var e=this;this.hasListeners=!1,this.events.forEach(function(t){return e.unhook(t)})},e.prototype.hook=function(e){var t=this;e.listener=e.event(function(e){return t.emitter.fire(e)})},e.prototype.unhook=function(e){e.listener.dispose(),e.listener=null},e.prototype.dispose=function(){this.emitter.dispose()},e}();t.EventMultiplexer=l,t.once=function(e){return function(t,n,r){
void 0===n&&(n=null);var i=e(function(e){return i.dispose(),t.call(n,e)},null,r);return i}},t.anyEvent=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t,n,r){return void 0===n&&(n=null),i.combinedDisposable(e.map(function(e){return e(function(e){return t.call(n,e)},null,r)}))}},t.debounceEvent=function(e,t,n,r){void 0===n&&(n=100),void 0===r&&(r=!1);var i,o=void 0,s=void 0,u=0,l=new a({onFirstListenerAdd:function(){i=e(function(e){u++,o=t(o,e),r&&!s&&l.fire(o),clearTimeout(s),s=setTimeout(function(){var e=o;o=void 0,s=void 0,(!r||u>1)&&l.fire(e),u=0},n)})},onLastListenerRemove:function(){i.dispose()}});return l.event};var c=function(){function e(){this.buffers=[]}return e.prototype.wrapEvent=function(e){var t=this;return function(n,r,i){return e(function(e){var i=t.buffers[t.buffers.length-1];i?i.push(function(){return n.call(r,e)}):n.call(r,e)},void 0,i)}},e.prototype.bufferEvents=function(e){var t=[];this.buffers.push(t),e(),this.buffers.pop(),t.forEach(function(e){
return e()})},e}();t.EventBufferer=c,t.mapEvent=s,t.filterEvent=u;var d=function(){function e(e){this._event=e}return Object.defineProperty(e.prototype,"event",{get:function(){return this._event},enumerable:!0,configurable:!0}),e.prototype.map=function(t){return new e(s(this._event,t))},e.prototype.filter=function(t){return new e(u(this._event,t))},e.prototype.on=function(e,t,n){return this._event(e,t,n)},e}();t.chain=function(e){return new d(e)};var f=function(){function e(){this.emitter=new a,this.event=this.emitter.event,this.disposable=i.Disposable.None}return Object.defineProperty(e.prototype,"input",{set:function(e){this.disposable.dispose(),this.disposable=e(this.emitter.fire,this.emitter)},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.disposable.dispose(),this.emitter.dispose()},e}();t.Relay=f}),r(e[9],t([1,0,10]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=Object.freeze(function(e,t){var n=setTimeout(e.bind(t),0);return{
dispose:function(){clearTimeout(n)}}});!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:i})}(r=t.CancellationToken||(t.CancellationToken={}));var o=function(){function e(){this._isCancelled=!1}return e.prototype.cancel=function(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))},Object.defineProperty(e.prototype,"isCancellationRequested",{get:function(){return this._isCancelled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onCancellationRequested",{get:function(){return this._isCancelled?i:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)},e}(),s=function(){function e(){}return Object.defineProperty(e.prototype,"token",{get:function(){
return this._token||(this._token=new o),this._token},enumerable:!0,configurable:!0}),e.prototype.cancel=function(){this._token?this._token instanceof o&&this._token.cancel():this._token=r.Cancelled},e.prototype.dispose=function(){this._token?this._token instanceof o&&this._token.dispose():this._token=r.None},e}();t.CancellationTokenSource=s}),r(e[13],t([1,0,6,3,9,8]),function(e,t,n,r,i,s){"use strict";function u(e){return e&&"function"==typeof e.then}function a(e){var t=new i.CancellationTokenSource,r=e(t.token),o=new Promise(function(e,i){t.token.onCancellationRequested(function(){i(n.canceled())}),Promise.resolve(r).then(function(n){t.dispose(),e(n)},function(e){t.dispose(),i(e)})});return new(function(){function e(){}return e.prototype.cancel=function(){t.cancel()},e.prototype.then=function(e,t){return o.then(e,t)},e.prototype.catch=function(e){return this.then(void 0,e)},e}())}function l(e,t){return function(e){return r.TPromise.is(e)&&"function"==typeof e.done}(e)?new r.TPromise(function(r,i,o){
e.done(function(e){try{t(e)}catch(e){n.onUnexpectedError(e)}r(e)},function(e){try{t(e)}catch(e){n.onUnexpectedError(e)}i(e)},function(e){o(e)})},function(){e.cancel()}):(e.then(function(e){return t()},function(e){return t()}),e)}Object.defineProperty(t,"__esModule",{value:!0}),t.isThenable=u,t.toThenable=function(e){return u(e)?e:r.TPromise.as(e)},t.createCancelablePromise=a,t.asWinJsPromise=function(e){var t=new i.CancellationTokenSource;return new r.TPromise(function(n,i,o){var s=e(t.token);s instanceof r.TPromise?s.then(function(e){t.dispose(),n(e)},function(e){t.dispose(),i(e)},o):u(s)?s.then(function(e){t.dispose(),n(e)},function(e){t.dispose(),i(e)}):(t.dispose(),n(s))},function(){t.cancel()})},t.wireCancellationToken=function(e,t,i){var o=e.onCancellationRequested(function(){return t.cancel()});return i&&(t=t.then(void 0,function(e){if(!n.isPromiseCanceledError(e))return r.TPromise.wrapError(e)})),l(t,function(){return o.dispose()})};var c=function(){function e(){this.activePromise=null,
this.queuedPromise=null,this.queuedPromiseFactory=null}return e.prototype.queue=function(e){var t=this;if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){var n=function(){t.queuedPromise=null;var e=t.queue(t.queuedPromiseFactory);return t.queuedPromiseFactory=null,e};this.queuedPromise=new r.TPromise(function(e,r,i){t.activePromise.then(n,n,i).done(e)},function(){t.activePromise.cancel()})}return new r.TPromise(function(e,n,r){t.queuedPromise.then(e,n,r)},function(){})}return this.activePromise=e(),new r.TPromise(function(e,n,r){t.activePromise.done(function(n){t.activePromise=null,e(n)},function(e){t.activePromise=null,n(e)},r)},function(){t.activePromise.cancel()})},e}();t.Throttler=c;var d=function(){function e(e){this.defaultDelay=e,this.timeout=null,this.completionPromise=null,this.onSuccess=null,this.task=null}return e.prototype.trigger=function(e,t){var n=this;return void 0===t&&(t=this.defaultDelay),this.task=e,this.cancelTimeout(),
this.completionPromise||(this.completionPromise=new r.TPromise(function(e){n.onSuccess=e},function(){}).then(function(){n.completionPromise=null,n.onSuccess=null;var e=n.task;return n.task=null,e()})),this.timeout=setTimeout(function(){n.timeout=null,n.onSuccess(null)},t),this.completionPromise},e.prototype.cancel=function(){this.cancelTimeout(),this.completionPromise&&(this.completionPromise.cancel(),this.completionPromise=null)},e.prototype.cancelTimeout=function(){null!==this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},e}();t.Delayer=d;var f=function(e){function t(t){var r,i,o,s=this;return s=e.call(this,function(e,t,n){r=e,i=t,o=n},function(){i(n.canceled())})||this,t.then(r,i,o),s}return o(t,e),t}(r.TPromise);t.ShallowCancelThenPromise=f,t.timeout=function(e){return a(function(t){return new Promise(function(r,i){var o=setTimeout(r,e);t.onCancellationRequested(function(e){clearTimeout(o),i(n.canceled())})})})},t.always=l,t.first2=function(e,t,n){void 0===t&&(t=function(e){return!!e}),
void 0===n&&(n=null);var r=0,i=e.length,o=function(){return r>=i?Promise.resolve(n):(0,e[r++])().then(function(e){return t(e)?Promise.resolve(e):o()})};return o()},t.first=function(e,t,n){void 0===t&&(t=function(e){return!!e}),void 0===n&&(n=null);var i=0,o=e.length,s=function(){return i>=o?r.TPromise.as(n):(0,e[i++])().then(function(e){return t(e)?r.TPromise.as(e):s()})};return s()},t.setDisposableTimeout=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=setTimeout.apply(void 0,[e,t].concat(n));return{dispose:function(){clearTimeout(i)}}};var h=function(e){function t(){var t=e.call(this)||this;return t._token=-1,t}return o(t,e),t.prototype.dispose=function(){this.cancel(),e.prototype.dispose.call(this)},t.prototype.cancel=function(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)},t.prototype.cancelAndSet=function(e,t){var n=this;this.cancel(),this._token=setTimeout(function(){n._token=-1,e()},t)},t.prototype.setIfNotSet=function(e,t){var n=this
;-1===this._token&&(this._token=setTimeout(function(){n._token=-1,e()},t))},t}(s.Disposable);t.TimeoutTimer=h;var p=function(e){function t(){var t=e.call(this)||this;return t._token=-1,t}return o(t,e),t.prototype.dispose=function(){this.cancel(),e.prototype.dispose.call(this)},t.prototype.cancel=function(){-1!==this._token&&(clearInterval(this._token),this._token=-1)},t.prototype.cancelAndSet=function(e,t){this.cancel(),this._token=setInterval(function(){e()},t)},t}(s.Disposable);t.IntervalTimer=p;var m=function(){function e(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}return e.prototype.dispose=function(){this.cancel(),this.runner=null},e.prototype.cancel=function(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)},e.prototype.schedule=function(e){void 0===e&&(e=this.timeout),this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)},e.prototype.isScheduled=function(){return-1!==this.timeoutToken},
e.prototype.onTimeout=function(){this.timeoutToken=-1,this.runner&&this.doRun()},e.prototype.doRun=function(){this.runner()},e}();t.RunOnceScheduler=m}),r(e[29],t([1,0,6,8,3,13,4]),function(e,t,n,r,i,s,u){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a="$initialize",l=!1;t.logOnceWebWorkerWarning=function(e){u.isWeb&&(l||(l=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/Microsoft/monaco-editor#faq")),console.warn(e.message))};var c=function(){function e(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null)}return e.prototype.setWorkerId=function(e){this._workerId=e},e.prototype.sendMessage=function(e,t){var n=String(++this._lastSentReq),r={c:null,e:null},o=new i.TPromise(function(e,t){r.c=e,r.e=t},function(){});return this._pendingReplies[n]=r,this._send({vsWorker:this._workerId,req:n,method:e,args:t}),o},
e.prototype.handleMessage=function(e){var t;try{t=JSON.parse(e)}catch(e){}t&&t.vsWorker&&(-1!==this._workerId&&t.vsWorker!==this._workerId||this._handleMessage(t))},e.prototype._handleMessage=function(e){var t=this;if(e.seq){var r=e;if(!this._pendingReplies[r.seq])return void console.warn("Got reply to unknown seq");var i=this._pendingReplies[r.seq];if(delete this._pendingReplies[r.seq],r.err){var o=r.err;return r.err.$isError&&((o=new Error).name=r.err.name,o.message=r.err.message,o.stack=r.err.stack),void i.e(o)}i.c(r.res)}else{var s=e,u=s.req;this._handler.handleMessage(s.method,s.args).then(function(e){t._send({vsWorker:t._workerId,seq:u,res:e,err:void 0})},function(e){e.detail instanceof Error&&(e.detail=n.transformErrorForSerialization(e.detail)),t._send({vsWorker:t._workerId,seq:u,res:void 0,err:n.transformErrorForSerialization(e)})})}},e.prototype._send=function(e){var t=JSON.stringify(e);this._handler.sendMessage(t)},e}(),d=function(e){function t(t,n){var r=e.call(this)||this,o=null,s=null
;r._worker=r._register(t.create("vs/base/common/worker/simpleWorker",function(e){r._protocol.handleMessage(e)},function(e){s(e)})),r._protocol=new c({sendMessage:function(e){r._worker.postMessage(e)},handleMessage:function(e,t){return i.TPromise.as(null)}}),r._protocol.setWorkerId(r._worker.getId());var u=null;void 0!==self.require&&"function"==typeof self.require.getConfig?u=self.require.getConfig():void 0!==self.requirejs&&(u=self.requirejs.s.contexts._.config),r._lazyProxy=new i.TPromise(function(e,t){o=e,s=t},function(){}),r._onModuleLoaded=r._protocol.sendMessage(a,[r._worker.getId(),n,u]),r._onModuleLoaded.then(function(e){for(var t={},n=0;n<e.length;n++)t[e[n]]=d(e[n],l);o(t)},function(e){s(e),r._onError("Worker failed to load "+n,e)});var l=function(e,t){return r._request(e,t)},d=function(e,t){return function(){var n=Array.prototype.slice.call(arguments,0);return t(e,n)}};return r}return o(t,e),t.prototype.getProxyObject=function(){return new s.ShallowCancelThenPromise(this._lazyProxy)},
t.prototype._request=function(e,t){var n=this;return new i.TPromise(function(r,i){n._onModuleLoaded.then(function(){n._protocol.sendMessage(e,t).then(r,i)},i)},function(){})},t.prototype._onError=function(e,t){console.error(e),console.info(t)},t}(r.Disposable);t.SimpleWorkerClient=d;var f=function(){function e(e,t){var n=this;this._requestHandler=t,this._protocol=new c({sendMessage:function(t){e(t)},handleMessage:function(e,t){return n._handleMessage(e,t)}})}return e.prototype.onmessage=function(e){this._protocol.handleMessage(e)},e.prototype._handleMessage=function(e,t){if(e===a)return this.initialize(t[0],t[1],t[2]);if(!this._requestHandler||"function"!=typeof this._requestHandler[e])return i.TPromise.wrapError(new Error("Missing requestHandler or method: "+e));try{return i.TPromise.as(this._requestHandler[e].apply(this._requestHandler,t))}catch(e){return i.TPromise.wrapError(e)}},e.prototype.initialize=function(e,t,n){var r=this;if(this._protocol.setWorkerId(e),this._requestHandler){var o=[]
;for(var s in this._requestHandler)"function"==typeof this._requestHandler[s]&&o.push(s);return i.TPromise.as(o)}n&&(void 0!==n.baseUrl&&delete n.baseUrl,void 0!==n.paths&&void 0!==n.paths.vs&&delete n.paths.vs,n.catchError=!0,self.require.config(n));var u,a,l=new i.TPromise(function(e,t){u=e,a=t});return self.require([t],function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=e[0];r._requestHandler=n.create();var i=[];for(var o in r._requestHandler)"function"==typeof r._requestHandler[o]&&i.push(o);u(i)},a),l},e}();t.SimpleWorkerServer=f,t.create=function(e){return new f(e,null)}}),r(e[2],t([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){this.lineNumber=e,this.column=t}return e.prototype.equals=function(t){return e.equals(this,t)},e.equals=function(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column},e.prototype.isBefore=function(t){return e.isBefore(this,t)},e.isBefore=function(e,t){
return e.lineNumber<t.lineNumber||!(t.lineNumber<e.lineNumber)&&e.column<t.column},e.prototype.isBeforeOrEqual=function(t){return e.isBeforeOrEqual(this,t)},e.isBeforeOrEqual=function(e,t){return e.lineNumber<t.lineNumber||!(t.lineNumber<e.lineNumber)&&e.column<=t.column},e.compare=function(e,t){var n=0|e.lineNumber,r=0|t.lineNumber;if(n===r){return(0|e.column)-(0|t.column)}return n-r},e.prototype.clone=function(){return new e(this.lineNumber,this.column)},e.prototype.toString=function(){return"("+this.lineNumber+","+this.column+")"},e.lift=function(t){return new e(t.lineNumber,t.column)},e.isIPosition=function(e){return e&&"number"==typeof e.lineNumber&&"number"==typeof e.column},e}();t.Position=n}),r(e[7],t([1,0,2]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n,r){e>n||e===n&&t>r?(this.startLineNumber=n,this.startColumn=r,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=r)}
return e.prototype.isEmpty=function(){return e.isEmpty(this)},e.isEmpty=function(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn},e.prototype.containsPosition=function(t){return e.containsPosition(this,t)},e.containsPosition=function(e,t){return!(t.lineNumber<e.startLineNumber||t.lineNumber>e.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.column<e.startColumn)&&!(t.lineNumber===e.endLineNumber&&t.column>e.endColumn))},e.prototype.containsRange=function(t){return e.containsRange(this,t)},e.containsRange=function(e,t){return!(t.startLineNumber<e.startLineNumber||t.endLineNumber<e.startLineNumber)&&(!(t.startLineNumber>e.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumn<e.startColumn)&&!(t.endLineNumber===e.endLineNumber&&t.endColumn>e.endColumn)))},e.prototype.plusRange=function(t){return e.plusRange(this,t)},e.plusRange=function(t,n){var r,i,o,s;return n.startLineNumber<t.startLineNumber?(r=n.startLineNumber,
i=n.startColumn):n.startLineNumber===t.startLineNumber?(r=n.startLineNumber,i=Math.min(n.startColumn,t.startColumn)):(r=t.startLineNumber,i=t.startColumn),n.endLineNumber>t.endLineNumber?(o=n.endLineNumber,s=n.endColumn):n.endLineNumber===t.endLineNumber?(o=n.endLineNumber,s=Math.max(n.endColumn,t.endColumn)):(o=t.endLineNumber,s=t.endColumn),new e(r,i,o,s)},e.prototype.intersectRanges=function(t){return e.intersectRanges(this,t)},e.intersectRanges=function(t,n){var r=t.startLineNumber,i=t.startColumn,o=t.endLineNumber,s=t.endColumn,u=n.startLineNumber,a=n.startColumn,l=n.endLineNumber,c=n.endColumn;return r<u?(r=u,i=a):r===u&&(i=Math.max(i,a)),o>l?(o=l,s=c):o===l&&(s=Math.min(s,c)),r>o?null:r===o&&i>s?null:new e(r,i,o,s)},e.prototype.equalsRange=function(t){return e.equalsRange(this,t)},e.equalsRange=function(e,t){return!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn},e.prototype.getEndPosition=function(){
return new n.Position(this.endLineNumber,this.endColumn)},e.prototype.getStartPosition=function(){return new n.Position(this.startLineNumber,this.startColumn)},e.prototype.toString=function(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"},e.prototype.setEndPosition=function(t,n){return new e(this.startLineNumber,this.startColumn,t,n)},e.prototype.setStartPosition=function(t,n){return new e(t,n,this.endLineNumber,this.endColumn)},e.prototype.collapseToStart=function(){return e.collapseToStart(this)},e.collapseToStart=function(t){return new e(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)},e.fromPositions=function(t,n){return void 0===n&&(n=t),new e(t.lineNumber,t.column,n.lineNumber,n.column)},e.lift=function(t){return t?new e(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null},e.isIRange=function(e){
return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn},e.areIntersectingOrTouching=function(e,t){return!(e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<t.startColumn)&&!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<e.startColumn)},e.areIntersecting=function(e,t){return!(e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<=t.startColumn)&&!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<=e.startColumn)},e.compareRangesUsingStarts=function(e,t){var n=0|e.startLineNumber,r=0|t.startLineNumber;if(n===r){var i=0|e.startColumn,o=0|t.startColumn;if(i===o){var s=0|e.endLineNumber,u=0|t.endLineNumber;if(s===u){return(0|e.endColumn)-(0|t.endColumn)}return s-u}return i-o}return n-r},e.compareRangesUsingEnds=function(e,t){
return e.endLineNumber===t.endLineNumber?e.endColumn===t.endColumn?e.startLineNumber===t.startLineNumber?e.startColumn-t.startColumn:e.startLineNumber-t.startLineNumber:e.endColumn-t.endColumn:e.endLineNumber-t.endLineNumber},e.spansMultipleLines=function(e){return e.endLineNumber>e.startLineNumber},e}();t.Range=r}),r(e[19],t([1,0,7,2]),function(e,t,n,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i;!function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(i=t.SelectionDirection||(t.SelectionDirection={}));var s=function(e){function t(t,n,r,i){var o=e.call(this,t,n,r,i)||this;return o.selectionStartLineNumber=t,o.selectionStartColumn=n,o.positionLineNumber=r,o.positionColumn=i,o}return o(t,e),t.prototype.clone=function(){return new t(this.selectionStartLineNumber,this.selectionStartColumn,this.positionLineNumber,this.positionColumn)},t.prototype.toString=function(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"},
t.prototype.equalsSelection=function(e){return t.selectionsEqual(this,e)},t.selectionsEqual=function(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn},t.prototype.getDirection=function(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?i.LTR:i.RTL},t.prototype.setEndPosition=function(e,n){return this.getDirection()===i.LTR?new t(this.startLineNumber,this.startColumn,e,n):new t(e,n,this.startLineNumber,this.startColumn)},t.prototype.getPosition=function(){return new r.Position(this.positionLineNumber,this.positionColumn)},t.prototype.setStartPosition=function(e,n){return this.getDirection()===i.LTR?new t(e,n,this.endLineNumber,this.endColumn):new t(this.endLineNumber,this.endColumn,e,n)},t.fromPositions=function(e,n){return void 0===n&&(n=e),new t(e.lineNumber,e.column,n.lineNumber,n.column)},
t.liftSelection=function(e){return new t(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)},t.selectionsArrEqual=function(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(var n=0,r=e.length;n<r;n++)if(!this.selectionsEqual(e[n],t[n]))return!1;return!0},t.isISelection=function(e){return e&&"number"==typeof e.selectionStartLineNumber&&"number"==typeof e.selectionStartColumn&&"number"==typeof e.positionLineNumber&&"number"==typeof e.positionColumn},t.createWithDirection=function(e,n,r,o,s){return s===i.LTR?new t(e,n,r,o):new t(r,o,e,n)},t}(n.Range);t.Selection=s}),r(e[20],t([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t,n){this.offset=0|e,this.type=t,this.language=n}return e.prototype.toString=function(){return"("+this.offset+", "+this.type+")"},e}();t.Token=n;var r=function(){return function(e,t){this.tokens=e,this.endState=t}}();t.TokenizationResult=r;var i=function(){
return function(e,t){this.tokens=e,this.endState=t}}();t.TokenizationResult2=i}),r(e[5],t([1,0]),function(e,t){"use strict";function n(e){return e<0?0:e>4294967295?4294967295:0|e}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n){for(var r=new Uint8Array(e*t),i=0,o=e*t;i<o;i++)r[i]=n;this._data=r,this.rows=e,this.cols=t}return e.prototype.get=function(e,t){return this._data[e*this.cols+t]},e.prototype.set=function(e,t,n){this._data[e*this.cols+t]=n},e}();t.Uint8Matrix=r,t.toUint8=function(e){return e<0?0:e>255?255:0|e},t.toUint32=n,t.toUint32Array=function(e){for(var t=e.length,r=new Uint32Array(t),i=0;i<t;i++)r[i]=n(e[i]);return r}}),r(e[22],t([1,0,5]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(t){var r=n.toUint8(t);this._defaultValue=r,this._asciiMap=e._createAsciiMap(r),this._map=new Map}return e._createAsciiMap=function(e){for(var t=new Uint8Array(256),n=0;n<256;n++)t[n]=e;return t},
e.prototype.set=function(e,t){var r=n.toUint8(t);e>=0&&e<256?this._asciiMap[e]=r:this._map.set(e,r)},e.prototype.get=function(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue},e}();t.CharacterClassifier=r;var i=function(){function e(){this._actual=new r(0)}return e.prototype.add=function(e){this._actual.set(e,1)},e.prototype.has=function(e){return 1===this._actual.get(e)},e}();t.CharacterSet=i}),r(e[23],t([1,0,12,14]),function(e,t,n,r){"use strict";function i(e,t,r,i){return new n.LcsDiff(e,t,r).ComputeDiff(i)}Object.defineProperty(t,"__esModule",{value:!0});var o=5e3,s=3,u=function(){function e(t){for(var n=[],r=[],i=0,o=t.length;i<o;i++)n[i]=e._getFirstNonBlankColumn(t[i],1),r[i]=e._getLastNonBlankColumn(t[i],1);this._lines=t,this._startColumns=n,this._endColumns=r}return e.prototype.getLength=function(){return this._lines.length},e.prototype.getElementAtIndex=function(e){return this._lines[e].substring(this._startColumns[e]-1,this._endColumns[e]-1)},
e.prototype.getStartLineNumber=function(e){return e+1},e.prototype.getEndLineNumber=function(e){return e+1},e._getFirstNonBlankColumn=function(e,t){var n=r.firstNonWhitespaceIndex(e);return-1===n?t:n+1},e._getLastNonBlankColumn=function(e,t){var n=r.lastNonWhitespaceIndex(e);return-1===n?t:n+2},e.prototype.getCharSequence=function(e,t,n){for(var r=[],i=[],o=[],s=0,u=t;u<=n;u++)for(var l=this._lines[u],c=e?this._startColumns[u]:1,d=e?this._endColumns[u]:l.length+1,f=c;f<d;f++)r[s]=l.charCodeAt(f-1),i[s]=u+1,o[s]=f,s++;return new a(r,i,o)},e}(),a=function(){function e(e,t,n){this._charCodes=e,this._lineNumbers=t,this._columns=n}return e.prototype.getLength=function(){return this._charCodes.length},e.prototype.getElementAtIndex=function(e){return this._charCodes[e]},e.prototype.getStartLineNumber=function(e){return this._lineNumbers[e]},e.prototype.getStartColumn=function(e){return this._columns[e]},e.prototype.getEndLineNumber=function(e){return this._lineNumbers[e]},e.prototype.getEndColumn=function(e){
return this._columns[e]+1},e}(),l=function(){function e(e,t,n,r,i,o,s,u){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=n,this.originalEndColumn=r,this.modifiedStartLineNumber=i,this.modifiedStartColumn=o,this.modifiedEndLineNumber=s,this.modifiedEndColumn=u}return e.createFromDiffChange=function(t,n,r){var i,o,s,u,a,l,c,d;return 0===t.originalLength?(i=0,o=0,s=0,u=0):(i=n.getStartLineNumber(t.originalStart),o=n.getStartColumn(t.originalStart),s=n.getEndLineNumber(t.originalStart+t.originalLength-1),u=n.getEndColumn(t.originalStart+t.originalLength-1)),0===t.modifiedLength?(a=0,l=0,c=0,d=0):(a=r.getStartLineNumber(t.modifiedStart),l=r.getStartColumn(t.modifiedStart),c=r.getEndLineNumber(t.modifiedStart+t.modifiedLength-1),d=r.getEndColumn(t.modifiedStart+t.modifiedLength-1)),new e(i,o,s,u,a,l,c,d)},e}(),c=function(){function e(e,t,n,r,i){this.originalStartLineNumber=e,this.originalEndLineNumber=t,this.modifiedStartLineNumber=n,this.modifiedEndLineNumber=r,
this.charChanges=i}return e.createFromDiffResult=function(t,n,r,o,u,a,c){var d,f,h,p,m;if(0===n.originalLength?(d=r.getStartLineNumber(n.originalStart)-1,f=0):(d=r.getStartLineNumber(n.originalStart),f=r.getEndLineNumber(n.originalStart+n.originalLength-1)),0===n.modifiedLength?(h=o.getStartLineNumber(n.modifiedStart)-1,p=0):(h=o.getStartLineNumber(n.modifiedStart),p=o.getEndLineNumber(n.modifiedStart+n.modifiedLength-1)),a&&0!==n.originalLength&&0!==n.modifiedLength&&u()){var g=r.getCharSequence(t,n.originalStart,n.originalStart+n.originalLength-1),_=o.getCharSequence(t,n.modifiedStart,n.modifiedStart+n.modifiedLength-1),v=i(g,_,u,!0);c&&(v=function(e){if(e.length<=1)return e;for(var t=[e[0]],n=t[0],r=1,i=e.length;r<i;r++){var o=e[r],u=o.originalStart-(n.originalStart+n.originalLength),a=o.modifiedStart-(n.modifiedStart+n.modifiedLength);Math.min(u,a)<s?(n.originalLength=o.originalStart+o.originalLength-n.originalStart,n.modifiedLength=o.modifiedStart+o.modifiedLength-n.modifiedStart):(t.push(o),n=o)}
return t}(v)),m=[];for(var y=0,b=v.length;y<b;y++)m.push(l.createFromDiffChange(v[y],g,_))}return new e(d,f,h,p,m)},e}(),d=function(){function e(e,t,n){this.shouldComputeCharChanges=n.shouldComputeCharChanges,this.shouldPostProcessCharChanges=n.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=n.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=n.shouldMakePrettyDiff,this.maximumRunTimeMs=o,this.originalLines=e,this.modifiedLines=t,this.original=new u(e),this.modified=new u(t)}return e.prototype.computeDiff=function(){if(1===this.original.getLength()&&0===this.original.getElementAtIndex(0).length)return[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.getLength(),charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}]
;if(1===this.modified.getLength()&&0===this.modified.getElementAtIndex(0).length)return[{originalStartLineNumber:1,originalEndLineNumber:this.original.getLength(),modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}];this.computationStartTime=(new Date).getTime();var e=i(this.original,this.modified,this._continueProcessingPredicate.bind(this),this.shouldMakePrettyDiff);if(this.shouldIgnoreTrimWhitespace){for(var t=[],n=0,r=e.length;n<r;n++)t.push(c.createFromDiffResult(this.shouldIgnoreTrimWhitespace,e[n],this.original,this.modified,this._continueProcessingPredicate.bind(this),this.shouldComputeCharChanges,this.shouldPostProcessCharChanges));return t}for(var o=[],s=0,a=0,n=-1,l=e.length;n<l;n++){
for(var d=n+1<l?e[n+1]:null,f=d?d.originalStart:this.originalLines.length,h=d?d.modifiedStart:this.modifiedLines.length;s<f&&a<h;){var p=this.originalLines[s],m=this.modifiedLines[a];if(p!==m){for(var g=u._getFirstNonBlankColumn(p,1),_=u._getFirstNonBlankColumn(m,1);g>1&&_>1;){if((S=p.charCodeAt(g-2))!==(E=m.charCodeAt(_-2)))break;g--,_--}(g>1||_>1)&&this._pushTrimWhitespaceCharChange(o,s+1,1,g,a+1,1,_);for(var v=u._getLastNonBlankColumn(p,1),y=u._getLastNonBlankColumn(m,1),b=p.length+1,C=m.length+1;v<b&&y<C;){var S=p.charCodeAt(v-1),E=p.charCodeAt(y-1);if(S!==E)break;v++,y++}(v<b||y<C)&&this._pushTrimWhitespaceCharChange(o,s+1,v,b,a+1,y,C)}s++,a++}d&&(o.push(c.createFromDiffResult(this.shouldIgnoreTrimWhitespace,d,this.original,this.modified,this._continueProcessingPredicate.bind(this),this.shouldComputeCharChanges,this.shouldPostProcessCharChanges)),s+=d.originalLength,a+=d.modifiedLength)}return o},e.prototype._pushTrimWhitespaceCharChange=function(e,t,n,r,i,o,s){
if(!this._mergeTrimWhitespaceCharChange(e,t,n,r,i,o,s)){var u;this.shouldComputeCharChanges&&(u=[new l(t,n,t,r,i,o,i,s)]),e.push(new c(t,t,i,i,u))}},e.prototype._mergeTrimWhitespaceCharChange=function(e,t,n,r,i,o,s){var u=e.length;if(0===u)return!1;var a=e[u-1];return 0!==a.originalEndLineNumber&&0!==a.modifiedEndLineNumber&&(a.originalEndLineNumber+1===t&&a.modifiedEndLineNumber+1===i&&(a.originalEndLineNumber=t,a.modifiedEndLineNumber=i,this.shouldComputeCharChanges&&a.charChanges.push(new l(t,n,t,r,i,o,i,s)),!0))},e.prototype._continueProcessingPredicate=function(){if(0===this.maximumRunTimeMs)return!0;return(new Date).getTime()-this.computationStartTime<this.maximumRunTimeMs},e}();t.DiffComputer=d}),r(e[24],t([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.USUAL_WORD_SEPARATORS="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?",t.DEFAULT_WORD_REGEXP=function(e){void 0===e&&(e="")
;for(var n="(-?\\d*\\.\\d\\w*)|([^",r=0;r<t.USUAL_WORD_SEPARATORS.length;r++)e.indexOf(t.USUAL_WORD_SEPARATORS[r])>=0||(n+="\\"+t.USUAL_WORD_SEPARATORS[r]);return n+="\\s]+)",new RegExp(n,"g")}(),t.ensureValidWordDefinition=function(e){var n=t.DEFAULT_WORD_REGEXP;if(e&&e instanceof RegExp)if(e.global)n=e;else{var r="g";e.ignoreCase&&(r+="i"),e.multiline&&(r+="m"),n=new RegExp(e.source,r)}return n.lastIndex=0,n},t.getWordAtText=function(e,t,n,r){t.lastIndex=0;var i=t.exec(n);if(!i)return null;var o=i[0].indexOf(" ")>=0?function(e,t,n,r){var i=e-1-r;t.lastIndex=0;for(var o;o=t.exec(n);){if(o.index>i)return null;if(t.lastIndex>=i)return{word:o[0],startColumn:r+1+o.index,endColumn:r+1+t.lastIndex}}return null}(e,t,n,r):function(e,t,n,r){var i=e-1-r,o=n.lastIndexOf(" ",i-1)+1,s=n.indexOf(" ",i);-1===s&&(s=n.length),t.lastIndex=o;for(var u;u=t.exec(n);)if(u.index<=i&&t.lastIndex>=i)return{word:u[0],startColumn:r+1+u.index,endColumn:r+1+t.lastIndex};return null}(e,t,n,r);return t.lastIndex=0,o}}),
r(e[25],t([1,0,22,5]),function(e,t,n,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e){for(var t=0,n=0,i=0,o=e.length;i<o;i++){var s=e[i],u=s[0],a=s[1],l=s[2];a>t&&(t=a),u>n&&(n=u),l>n&&(n=l)}t++,n++;for(var c=new r.Uint8Matrix(n,t,0),i=0,o=e.length;i<o;i++){var d=e[i],u=d[0],a=d[1],l=d[2];c.set(u,a,l)}this._states=c,this._maxCharCode=t}return e.prototype.nextState=function(e,t){return t<0||t>=this._maxCharCode?0:this._states.get(e,t)},e}(),o=null,s=null,u=function(){function e(){}return e._createLink=function(e,t,n,r,i){var o=i-1;do{var s=t.charCodeAt(o);if(2!==e.get(s))break;o--}while(o>r);if(r>0){var u=t.charCodeAt(r-1),a=t.charCodeAt(o);(40===u&&41===a||91===u&&93===a||123===u&&125===a)&&o--}return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:o+2},url:t.substring(r,o+1)}},e.computeLinks=function(t){
for(var r=(null===o&&(o=new i([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),o),u=function(){if(null===s){for(s=new n.CharacterClassifier(0),e=0;e<" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".length;e++)s.set(" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".charCodeAt(e),1);for(var e=0;e<".,;".length;e++)s.set(".,;".charCodeAt(e),2)}return s}(),a=[],l=1,c=t.getLineCount();l<=c;l++){for(var d=t.getLineContent(l),f=d.length,h=0,p=0,m=0,g=1,_=!1,v=!1,y=!1;h<f;){var b=!1,C=d.charCodeAt(h);if(13===g){S=void 0;switch(C){case 40:_=!0,S=0;break;case 41:S=_?0:1;break;case 91:v=!0,S=0;break;case 93:S=v?0:1;break;case 123:y=!0,S=0;break;case 125:S=y?0:1;break;case 39:S=34===m||96===m?0:1;break;case 34:S=39===m||96===m?0:1;break;case 96:S=39===m||34===m?0:1;break;default:S=u.get(C)}1===S&&(a.push(e._createLink(u,d,l,p,h)),b=!0)
}else if(12===g){var S;1===(S=u.get(C))?b=!0:g=13}else 0===(g=r.nextState(g,C))&&(b=!0);b&&(g=1,_=!1,v=!1,y=!1,p=h+1,m=C),h++}13===g&&a.push(e._createLink(u,d,l,p,f))}return a},e}();t.computeLinks=function(e){return e&&"function"==typeof e.getLineCount&&"function"==typeof e.getLineContent?u.computeLinks(e):[]}}),r(e[26],t([1,0]),function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){this._defaultValueSet=[["true","false"],["True","False"],["Private","Public","Friend","ReadOnly","Partial","Protected","WriteOnly"],["public","protected","private"]]}return e.prototype.navigateValueSet=function(e,t,n,r,i){if(e&&t){if(o=this.doNavigateValueSet(t,i))return{range:e,value:o}}if(n&&r){var o=this.doNavigateValueSet(r,i);if(o)return{range:n,value:o}}return null},e.prototype.doNavigateValueSet=function(e,t){var n=this.numberReplace(e,t);return null!==n?n:this.textReplace(e,t)},e.prototype.numberReplace=function(e,t){
var n=Math.pow(10,e.length-(e.lastIndexOf(".")+1)),r=Number(e),i=parseFloat(e);return isNaN(r)||isNaN(i)||r!==i?null:0!==r||t?(r=Math.floor(r*n),r+=t?n:-n,String(r/n)):null},e.prototype.textReplace=function(e,t){return this.valueSetsReplace(this._defaultValueSet,e,t)},e.prototype.valueSetsReplace=function(e,t,n){for(var r=null,i=0,o=e.length;null===r&&i<o;i++)r=this.valueSetReplace(e[i],t,n);return r},e.prototype.valueSetReplace=function(e,t,n){var r=e.indexOf(t);return r>=0?((r+=n?1:-1)<0?r=e.length-1:r%=e.length,e[r]):null},e.INSTANCE=new e,e}();t.BasicInplaceReplace=n}),r(e[27],t([1,0,10,15,2,7,19,3,9,20,11]),function(e,t,n,r,i,o,s,u,a,l,c){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var d;!function(e){e[e.Unnecessary=1]="Unnecessary"}(d=t.MarkerTag||(t.MarkerTag={}));var f;!function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(f=t.MarkerSeverity||(t.MarkerSeverity={}));var h=function(){function e(){}return e.chord=function(e,t){
return r.KeyChord(e,t)},e.CtrlCmd=2048,e.Shift=1024,e.Alt=512,e.WinCtrl=256,e}();t.KeyMod=h;var p;!function(e){e[e.Unknown=0]="Unknown",e[e.Backspace=1]="Backspace",e[e.Tab=2]="Tab",e[e.Enter=3]="Enter",e[e.Shift=4]="Shift",e[e.Ctrl=5]="Ctrl",e[e.Alt=6]="Alt",e[e.PauseBreak=7]="PauseBreak",e[e.CapsLock=8]="CapsLock",e[e.Escape=9]="Escape",e[e.Space=10]="Space",e[e.PageUp=11]="PageUp",e[e.PageDown=12]="PageDown",e[e.End=13]="End",e[e.Home=14]="Home",e[e.LeftArrow=15]="LeftArrow",e[e.UpArrow=16]="UpArrow",e[e.RightArrow=17]="RightArrow",e[e.DownArrow=18]="DownArrow",e[e.Insert=19]="Insert",e[e.Delete=20]="Delete",e[e.KEY_0=21]="KEY_0",e[e.KEY_1=22]="KEY_1",e[e.KEY_2=23]="KEY_2",e[e.KEY_3=24]="KEY_3",e[e.KEY_4=25]="KEY_4",e[e.KEY_5=26]="KEY_5",e[e.KEY_6=27]="KEY_6",e[e.KEY_7=28]="KEY_7",e[e.KEY_8=29]="KEY_8",e[e.KEY_9=30]="KEY_9",e[e.KEY_A=31]="KEY_A",e[e.KEY_B=32]="KEY_B",e[e.KEY_C=33]="KEY_C",e[e.KEY_D=34]="KEY_D",e[e.KEY_E=35]="KEY_E",e[e.KEY_F=36]="KEY_F",e[e.KEY_G=37]="KEY_G",e[e.KEY_H=38]="KEY_H",
e[e.KEY_I=39]="KEY_I",e[e.KEY_J=40]="KEY_J",e[e.KEY_K=41]="KEY_K",e[e.KEY_L=42]="KEY_L",e[e.KEY_M=43]="KEY_M",e[e.KEY_N=44]="KEY_N",e[e.KEY_O=45]="KEY_O",e[e.KEY_P=46]="KEY_P",e[e.KEY_Q=47]="KEY_Q",e[e.KEY_R=48]="KEY_R",e[e.KEY_S=49]="KEY_S",e[e.KEY_T=50]="KEY_T",e[e.KEY_U=51]="KEY_U",e[e.KEY_V=52]="KEY_V",e[e.KEY_W=53]="KEY_W",e[e.KEY_X=54]="KEY_X",e[e.KEY_Y=55]="KEY_Y",e[e.KEY_Z=56]="KEY_Z",e[e.Meta=57]="Meta",e[e.ContextMenu=58]="ContextMenu",e[e.F1=59]="F1",e[e.F2=60]="F2",e[e.F3=61]="F3",e[e.F4=62]="F4",e[e.F5=63]="F5",e[e.F6=64]="F6",e[e.F7=65]="F7",e[e.F8=66]="F8",e[e.F9=67]="F9",e[e.F10=68]="F10",e[e.F11=69]="F11",e[e.F12=70]="F12",e[e.F13=71]="F13",e[e.F14=72]="F14",e[e.F15=73]="F15",e[e.F16=74]="F16",e[e.F17=75]="F17",e[e.F18=76]="F18",e[e.F19=77]="F19",e[e.NumLock=78]="NumLock",e[e.ScrollLock=79]="ScrollLock",e[e.US_SEMICOLON=80]="US_SEMICOLON",e[e.US_EQUAL=81]="US_EQUAL",e[e.US_COMMA=82]="US_COMMA",e[e.US_MINUS=83]="US_MINUS",e[e.US_DOT=84]="US_DOT",e[e.US_SLASH=85]="US_SLASH",
e[e.US_BACKTICK=86]="US_BACKTICK",e[e.US_OPEN_SQUARE_BRACKET=87]="US_OPEN_SQUARE_BRACKET",e[e.US_BACKSLASH=88]="US_BACKSLASH",e[e.US_CLOSE_SQUARE_BRACKET=89]="US_CLOSE_SQUARE_BRACKET",e[e.US_QUOTE=90]="US_QUOTE",e[e.OEM_8=91]="OEM_8",e[e.OEM_102=92]="OEM_102",e[e.NUMPAD_0=93]="NUMPAD_0",e[e.NUMPAD_1=94]="NUMPAD_1",e[e.NUMPAD_2=95]="NUMPAD_2",e[e.NUMPAD_3=96]="NUMPAD_3",e[e.NUMPAD_4=97]="NUMPAD_4",e[e.NUMPAD_5=98]="NUMPAD_5",e[e.NUMPAD_6=99]="NUMPAD_6",e[e.NUMPAD_7=100]="NUMPAD_7",e[e.NUMPAD_8=101]="NUMPAD_8",e[e.NUMPAD_9=102]="NUMPAD_9",e[e.NUMPAD_MULTIPLY=103]="NUMPAD_MULTIPLY",e[e.NUMPAD_ADD=104]="NUMPAD_ADD",e[e.NUMPAD_SEPARATOR=105]="NUMPAD_SEPARATOR",e[e.NUMPAD_SUBTRACT=106]="NUMPAD_SUBTRACT",e[e.NUMPAD_DECIMAL=107]="NUMPAD_DECIMAL",e[e.NUMPAD_DIVIDE=108]="NUMPAD_DIVIDE",e[e.KEY_IN_COMPOSITION=109]="KEY_IN_COMPOSITION",e[e.ABNT_C1=110]="ABNT_C1",e[e.ABNT_C2=111]="ABNT_C2",e[e.MAX_VALUE=112]="MAX_VALUE"}(p=t.KeyCode||(t.KeyCode={})),t.createMonacoBaseAPI=function(){return{editor:void 0,languages:void 0,
CancellationTokenSource:a.CancellationTokenSource,Emitter:n.Emitter,KeyCode:p,KeyMod:h,Position:i.Position,Range:o.Range,Selection:s.Selection,SelectionDirection:s.SelectionDirection,MarkerSeverity:f,MarkerTag:d,Promise:u.TPromise,Uri:c.default,Token:l.Token}}}),r(e[28],t([1,0,5]),function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.index=e,this.remainder=t}}();t.PrefixSumIndexOfResult=r;var i=function(){function e(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}return e.prototype.getCount=function(){return this.values.length},e.prototype.insertValues=function(e,t){e=n.toUint32(e);var r=this.values,i=this.prefixSum,o=t.length;return 0!==o&&(this.values=new Uint32Array(r.length+o),this.values.set(r.subarray(0,e),0),this.values.set(r.subarray(e),e+o),this.values.set(t,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),
this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.changeValue=function(e,t){return e=n.toUint32(e),t=n.toUint32(t),this.values[e]!==t&&(this.values[e]=t,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)},e.prototype.removeValues=function(e,t){e=n.toUint32(e),t=n.toUint32(t);var r=this.values,i=this.prefixSum;if(e>=r.length)return!1;var o=r.length-e;return t>=o&&(t=o),0!==t&&(this.values=new Uint32Array(r.length-t),this.values.set(r.subarray(0,e),0),this.values.set(r.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.getTotalValue=function(){return 0===this.values.length?0:this._getAccumulatedValue(this.values.length-1)},e.prototype.getAccumulatedValue=function(e){
return e<0?0:(e=n.toUint32(e),this._getAccumulatedValue(e))},e.prototype._getAccumulatedValue=function(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];var t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(var n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]},e.prototype.getIndexOf=function(e){e=Math.floor(e),this.getTotalValue();for(var t,n,i,o=0,s=this.values.length-1;o<=s;)if(t=o+(s-o)/2|0,n=this.prefixSum[t],i=n-this.values[t],e<i)s=t-1;else{if(!(e>=n))break;o=t+1}return new r(t,e-i)},e}();t.PrefixSumComputer=i;var o=function(){function e(e){this._cacheAccumulatedValueStart=0,this._cache=null,this._actual=new i(e),this._bustCache()}return e.prototype._bustCache=function(){this._cacheAccumulatedValueStart=0,this._cache=null},e.prototype.insertValues=function(e,t){
this._actual.insertValues(e,t)&&this._bustCache()},e.prototype.changeValue=function(e,t){this._actual.changeValue(e,t)&&this._bustCache()},e.prototype.removeValues=function(e,t){this._actual.removeValues(e,t)&&this._bustCache()},e.prototype.getTotalValue=function(){return this._actual.getTotalValue()},e.prototype.getAccumulatedValue=function(e){return this._actual.getAccumulatedValue(e)},e.prototype.getIndexOf=function(e){if(e=Math.floor(e),null!==this._cache){var t=e-this._cacheAccumulatedValueStart;if(t>=0&&t<this._cache.length)return this._cache[t]}return this._actual.getIndexOf(e)},e.prototype.warmUpCache=function(e,t){for(var n=[],r=e;r<=t;r++)n[r-e]=this.getIndexOf(r);this._cache=n,this._cacheAccumulatedValueStart=e},e}();t.PrefixSumComputerWithCache=o}),r(e[16],t([1,0,28,2]),function(e,t,n,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,n,r){this._uri=e,this._lines=t,this._eol=n,this._versionId=r}return e.prototype.dispose=function(){this._lines.length=0
},e.prototype.getText=function(){return this._lines.join(this._eol)},e.prototype.onEvents=function(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);for(var t=e.changes,n=0,i=t.length;n<i;n++){var o=t[n];this._acceptDeleteRange(o.range),this._acceptInsertText(new r.Position(o.range.startLineNumber,o.range.startColumn),o.text)}this._versionId=e.versionId},e.prototype._ensureLineStarts=function(){if(!this._lineStarts){for(var e=this._eol.length,t=this._lines.length,r=new Uint32Array(t),i=0;i<t;i++)r[i]=this._lines[i].length+e;this._lineStarts=new n.PrefixSumComputer(r)}},e.prototype._setLineText=function(e,t){this._lines[e]=t,this._lineStarts&&this._lineStarts.changeValue(e,this._lines[e].length+this._eol.length)},e.prototype._acceptDeleteRange=function(e){if(e.startLineNumber!==e.endLineNumber)this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.endLineNumber-1].substring(e.endColumn-1)),
this._lines.splice(e.startLineNumber,e.endLineNumber-e.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(e.startLineNumber,e.endLineNumber-e.startLineNumber);else{if(e.startColumn===e.endColumn)return;this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.startLineNumber-1].substring(e.endColumn-1))}},e.prototype._acceptInsertText=function(e,t){if(0!==t.length){var n=t.split(/\r\n|\r|\n/);if(1!==n.length){n[n.length-1]+=this._lines[e.lineNumber-1].substring(e.column-1),this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]);for(var r=new Uint32Array(n.length-1),i=1;i<n.length;i++)this._lines.splice(e.lineNumber+i-1,0,n[i]),r[i-1]=n[i].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,r)}else this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]+this._lines[e.lineNumber-1].substring(e.column-1))}},e}();t.MirrorTextModel=i}),
r(e[30],t([1,0,11,3,7,23,12,2,16,25,26,24,27,4]),function(e,t,n,r,i,s,u,a,l,c,d,f,h,p){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o(t,e),Object.defineProperty(t.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"version",{get:function(){return this._versionId},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"eol",{get:function(){return this._eol},enumerable:!0,configurable:!0}),t.prototype.getValue=function(){return this.getText()},t.prototype.getLinesContent=function(){return this._lines.slice(0)},t.prototype.getLineCount=function(){return this._lines.length},t.prototype.getLineContent=function(e){return this._lines[e-1]},t.prototype.getWordAtPosition=function(e,t){var n=f.getWordAtText(e.column,f.ensureValidWordDefinition(t),this._lines[e.lineNumber-1],0)
;return n?new i.Range(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null},t.prototype.getWordUntilPosition=function(e,t){var n=this.getWordAtPosition(e,t);return n?{word:this._lines[e.lineNumber-1].substring(n.startColumn-1,e.column-1),startColumn:n.startColumn,endColumn:e.column}:{word:"",startColumn:e.column,endColumn:e.column}},t.prototype.createWordIterator=function(e){var t,n=this,r={done:!1,value:""},i=0,o=0,s=[],u=function(){if(o<s.length)r.done=!1,r.value=t.substring(s[o].start,s[o].end),o+=1;else{if(!(i>=n._lines.length))return t=n._lines[i],s=n._wordenize(t,e),o=0,i+=1,u();r.done=!0,r.value=void 0}return r};return{next:u}},t.prototype._wordenize=function(e,t){var n,r=[];for(t.lastIndex=0;(n=t.exec(e))&&0!==n[0].length;)r.push({start:n.index,end:n.index+n[0].length});return r},t.prototype.getValueInRange=function(e){if((e=this._validateRange(e)).startLineNumber===e.endLineNumber)return this._lines[e.startLineNumber-1].substring(e.startColumn-1,e.endColumn-1)
;var t=this._eol,n=e.startLineNumber-1,r=e.endLineNumber-1,i=[];i.push(this._lines[n].substring(e.startColumn-1));for(var o=n+1;o<r;o++)i.push(this._lines[o]);return i.push(this._lines[r].substring(0,e.endColumn-1)),i.join(t)},t.prototype.offsetAt=function(e){return e=this._validatePosition(e),this._ensureLineStarts(),this._lineStarts.getAccumulatedValue(e.lineNumber-2)+(e.column-1)},t.prototype.positionAt=function(e){e=Math.floor(e),e=Math.max(0,e),this._ensureLineStarts();var t=this._lineStarts.getIndexOf(e),n=this._lines[t.index].length;return{lineNumber:1+t.index,column:1+Math.min(t.remainder,n)}},t.prototype._validateRange=function(e){var t=this._validatePosition({lineNumber:e.startLineNumber,column:e.startColumn}),n=this._validatePosition({lineNumber:e.endLineNumber,column:e.endColumn});return t.lineNumber!==e.startLineNumber||t.column!==e.startColumn||n.lineNumber!==e.endLineNumber||n.column!==e.endColumn?{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column
}:e},t.prototype._validatePosition=function(e){if(!a.Position.isIPosition(e))throw new Error("bad position");var t=e.lineNumber,n=e.column,r=!1;if(t<1)t=1,n=1,r=!0;else if(t>this._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{var i=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>i&&(n=i,r=!0)}return r?{lineNumber:t,column:n}:e},t}(l.MirrorTextModel),g=function(){function t(e){this._foreignModuleFactory=e,this._foreignModule=null}return t.prototype.computeDiff=function(e,t,n){var i=this._getModel(e),o=this._getModel(t);if(!i||!o)return null;var u=i.getLinesContent(),a=o.getLinesContent(),l=new s.DiffComputer(u,a,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0});return r.TPromise.as(l.computeDiff())},t.prototype.computeMoreMinimalEdits=function(e,n){var o=this._getModel(e);if(!o)return r.TPromise.as(n);for(var s,a=[],l=0,c=n;l<c.length;l++){var d=c[l],f=d.range,h=d.text,p=d.eol;if("number"==typeof p&&(s=p),f){
var m=o.getValueInRange(f);if(h=h.replace(/\r\n|\n|\r/g,o.eol),m!==h)if(Math.max(h.length,m.length)>t._diffLimit)a.push({range:f,text:h});else for(var g=u.stringDiff(m,h,!1),_=o.offsetAt(i.Range.lift(f).getStartPosition()),v=0,y=g;v<y.length;v++){var b=y[v],C=o.positionAt(_+b.originalStart),S=o.positionAt(_+b.originalStart+b.originalLength),E={text:h.substr(b.modifiedStart,b.modifiedLength),range:{startLineNumber:C.lineNumber,startColumn:C.column,endLineNumber:S.lineNumber,endColumn:S.column}};o.getValueInRange(E.range)!==E.text&&a.push(E)}}}return"number"==typeof s&&a.push({eol:s,text:void 0,range:void 0}),r.TPromise.as(a)},t.prototype.computeLinks=function(e){var t=this._getModel(e);return t?r.TPromise.as(c.computeLinks(t)):null},t.prototype.textualSuggest=function(e,n,i,o){var s=this._getModel(e);if(s){var u=[],a=new RegExp(i,o),l=s.getWordUntilPosition(n,a).word,c=Object.create(null);c[l]=!0;for(var d=s.createWordIterator(a),f=d.next();!f.done&&u.length<=t._suggestionsLimit;f=d.next()){var h=f.value
;c[h]||(c[h]=!0,isNaN(Number(h))&&u.push({type:"text",label:h,insertText:h,noAutoAccept:!0,overwriteBefore:l.length}))}return r.TPromise.as({suggestions:u})}},t.prototype.navigateValueSet=function(e,t,n,i,o){var s=this._getModel(e);if(!s)return null;var u=new RegExp(i,o);t.startColumn===t.endColumn&&(t={startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn+1});var a=s.getValueInRange(t),l=s.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn},u),c=null;null!==l&&(c=s.getValueInRange(l));var f=d.BasicInplaceReplace.INSTANCE.navigateValueSet(t,a,l,c,n);return r.TPromise.as(f)},t.prototype.loadForeignModule=function(t,n){var i=this,o={getMirrorModels:function(){return i._getModels()}};if(this._foreignModuleFactory){this._foreignModule=this._foreignModuleFactory(o,n);var s=[];for(var u in this._foreignModule)"function"==typeof this._foreignModule[u]&&s.push(u);return r.TPromise.as(s)}return new r.TPromise(function(r,s){e([t],function(e){
i._foreignModule=e.create(o,n);var t=[];for(var s in i._foreignModule)"function"==typeof i._foreignModule[s]&&t.push(s);r(t)},s)})},t.prototype.fmr=function(e,t){if(!this._foreignModule||"function"!=typeof this._foreignModule[e])return r.TPromise.wrapError(new Error("Missing requestHandler or method: "+e));try{return r.TPromise.as(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return r.TPromise.wrapError(e)}},t._diffLimit=1e4,t._suggestionsLimit=1e4,t}();t.BaseEditorSimpleWorker=g;var _=function(e){function t(t){var n=e.call(this,t)||this;return n._models=Object.create(null),n}return o(t,e),t.prototype.dispose=function(){this._models=Object.create(null)},t.prototype._getModel=function(e){return this._models[e]},t.prototype._getModels=function(){var e=this,t=[];return Object.keys(this._models).forEach(function(n){return t.push(e._models[n])}),t},t.prototype.acceptNewModel=function(e){this._models[e.url]=new m(n.default.parse(e.url),e.lines,e.EOL,e.versionId)},
t.prototype.acceptModelChanged=function(e,t){if(this._models[e]){this._models[e].onEvents(t)}},t.prototype.acceptRemovedModel=function(e){this._models[e]&&delete this._models[e]},t}(g);t.EditorSimpleWorkerImpl=_,t.create=function(){return new _(null)},"function"==typeof importScripts&&(p.globals.monaco=h.createMonacoBaseAPI())}),function(){"use strict";var e=self.MonacoEnvironment,t=e&&e.baseUrl?e.baseUrl:"../../../";"function"==typeof self.define&&self.define.amd||importScripts(t+"vs/loader.js"),require.config({baseUrl:t,catchError:!0});var n=!0,r=[];self.onmessage=function(e){n?(n=!1,function(e){require([e],function(e){setTimeout(function(){var t=e.create(function(e){self.postMessage(e)},null);for(self.onmessage=function(e){return t.onmessage(e.data)};r.length>0;)self.onmessage(r.shift())},0)})}(e.data)):r.push(e)}}()}).call(this);
//# sourceMappingURL=../../../../min-maps/vs/base/worker/workerMain.js.map

View File

@ -0,0 +1,7 @@
/*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* monaco-languages version: 1.5.1(d085b3bad82f8b59df390ce976adef0c83a9289e)
* Released under the MIT license
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
*-----------------------------------------------------------------------------*/
define("vs/basic-languages/apex/apex",["require","exports"],function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),end:new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")}}};var s=[];["abstract","activate","and","any","array","as","asc","assert","autonomous","begin","bigdecimal","blob","boolean","break","bulk","by","case","cast","catch","char","class","collect","commit","const","continue","convertcurrency","decimal","default","delete","desc","do","double","else","end","enum","exception","exit","export","extends","false","final","finally","float","for","from","future","get","global","goto","group","having","hint","if","implements","import","in","inner","insert","instanceof","int","interface","into","join","last_90_days","last_month","last_n_days","last_week","like","limit","list","long","loop","map","merge","native","new","next_90_days","next_month","next_n_days","next_week","not","null","nulls","number","object","of","on","or","outer","override","package","parallel","pragma","private","protected","public","retrieve","return","returning","rollback","savepoint","search","select","set","short","sort","stat","static","strictfp","super","switch","synchronized","system","testmethod","then","this","this_month","this_week","throw","throws","today","tolabel","tomorrow","transaction","transient","trigger","true","try","type","undelete","update","upsert","using","virtual","void","volatile","webservice","when","where","while","yesterday"].forEach(function(e){var t;s.push(e),s.push(e.toUpperCase()),s.push((t=e).charAt(0).toUpperCase()+t.substr(1))}),t.language={defaultToken:"",tokenPostfix:".apex",keywords:s,operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[a-z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@apexdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],apexdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}}});

View File

@ -0,0 +1,7 @@
/*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* monaco-languages version: 1.5.1(d085b3bad82f8b59df390ce976adef0c83a9289e)
* Released under the MIT license
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
*-----------------------------------------------------------------------------*/
define("vs/basic-languages/azcli/azcli",["require","exports"],function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={comments:{lineComment:"#"}},t.language={defaultToken:"keyword",ignoreCase:!0,tokenPostfix:".azcli",str:/[^#\s]/,tokenizer:{root:[{include:"@comment"},[/\s-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}]],type:[{include:"@comment"},[/-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":"key.identifier"}}],[/@str+\s*/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}]],comment:[[/#.*$/,{cases:{"@eos":{token:"comment",next:"@popall"}}}]]}}});

View File

@ -0,0 +1,7 @@
/*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* monaco-languages version: 1.5.1(d085b3bad82f8b59df390ce976adef0c83a9289e)
* Released under the MIT license
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
*-----------------------------------------------------------------------------*/
define("vs/basic-languages/bat/bat",["require","exports"],function(e,s){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.conf={comments:{lineComment:"REM"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*(::\\s*|REM\\s+)#region"),end:new RegExp("^\\s*(::\\s*|REM\\s+)#endregion")}}},s.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".bat",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=><!~?&|+\-*\/\^;\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)(rem(?:\s.*|))$/,["","comment"]],[/(\@?)(@keywords)(?!\w)/,[{token:"keyword"},{token:"keyword.$2"}]],[/[ \t\r\n]+/,""],[/setlocal(?!\w)/,"keyword.tag-setlocal"],[/endlocal(?!\w)/,"keyword.tag-setlocal"],[/[a-zA-Z_]\w*/,""],[/:\w*/,"metatag"],[/%[^%]+%/,"variable"],[/%%[\w]+(?!\w)/,"variable"],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],string:[[/[^\\"'%]+/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/%[\w ]+%/,"variable"],[/%%[\w]+(?!\w)/,"variable"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/$/,"string","@popall"]]}}});

View File

@ -0,0 +1,7 @@
/*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* monaco-languages version: 1.5.1(d085b3bad82f8b59df390ce976adef0c83a9289e)
* Released under the MIT license
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
*-----------------------------------------------------------------------------*/
define("vs/basic-languages/clojure/clojure",["require","exports"],function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.conf={comments:{lineComment:";;"},brackets:[["(",")"],["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]},n.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".clj",brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],keywords:["ns","ns-unmap","create-ns","in-ns","fn","def","defn","defmacro","defmulti","defonce","require","import","new","refer","pos","pos?","filter","map","reduce","repeat","key","rest","concat","into","reverse","iterate","range","drop","drop-while","take","take-while","neg","neg?","bound-fn","if","if-not","if-let","case,","contains","conj","disj","sort","get","assoc","merge","keys","vals","nth","first","last","count","contains?","cond","condp","cond->","cond->>","when","while","when-not","when-let","when-first","do","future","comment","doto","locking","proxy","println","type","meta","var","as->","reify","deftype","defrecord","defprotocol","extend","extend-protocol","extend-type","specify","specify!","try","catch","finally","let","letfn","binding","loop","for","seq","doseq","dotimes","when-let","if-let","when-some","if-some","this-as","defmethod","testing","deftest","are","use-fixtures","use","remove","run","run*","fresh","alt!","alt!!","go","go-loop","thread","boolean","str"],constants:["true","false","nil"],operators:["=","not=","<","<=",">",">=","and","or","not","inc","dec","max","min","rem","bit-and","bit-or","bit-xor","bit-not"],tokenizer:{root:[[/0[xX][0-9a-fA-F]+/,"number.hex"],[/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?/,"number.float"],[/(?:\b(?:(ns|def|defn|defn-|defmacro|defmulti|defonce|ns|ns-unmap|fn))(?![\w-]))(\s+)((?:\w|\-|\!|\?)*)/,["keyword","white","variable"]],[/[a-zA-Z_#][a-zA-Z0-9_\-\?\!\*]*/,{cases:{"@keywords":"keyword","@constants":"constant","@operators":"operators","@default":"identifier"}}],[/\/#"(?:\.|(?:\")|[^""\n])*"\/g/,"regexp"],{include:"@whitespace"},{include:"@strings"}],whitespace:[[/[ \t\r\n]+/,"white"],[/;;.*$/,"comment"]],strings:[[/"$/,"string","@popall"],[/"(?=.)/,"string","@multiLineString"]],multiLineString:[[/\\./,"string.escape"],[/"/,"string","@popall"],[/.(?=.*")/,"string"],[/.*\\$/,"string"],[/.*$/,"string","@popall"]]}}});

View File

@ -0,0 +1,7 @@
/*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* monaco-languages version: 1.5.1(d085b3bad82f8b59df390ce976adef0c83a9289e)
* Released under the MIT license
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
*-----------------------------------------------------------------------------*/
define("vs/basic-languages/coffee/coffee",["require","exports"],function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:["###","###"],lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},r.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".coffee",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:["and","or","is","isnt","not","on","yes","@","no","off","true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","if","else","switch","for","while","do","try","catch","finally","class","extends","super","undefined","then","unless","until","loop","of","by","when"],symbols:/[=><!~?&%|+\-*\/\^\.,\:]+/,escapes:/\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\@[a-zA-Z_]\w*/,"variable.predefined"],[/[a-zA-Z_]\w*/,{cases:{this:"variable.predefined","@keywords":{token:"keyword.$0"},"@default":""}}],[/[ \t\r\n]+/,""],[/###/,"comment","@comment"],[/#.*$/,"comment"],["///",{token:"regexp",next:"@hereregexp"}],[/^(\s*)(@regEx)/,["","regexp"]],[/(\()(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\,)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\=)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\:)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\[)(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\!)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\&)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\|)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\?)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\{)(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\;)(\s*)(@regEx)/,["","","regexp"]],[/}/,{cases:{"$S2==interpolatedstring":{token:"string",next:"@pop"},"@default":"@brackets"}}],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/0[0-7]+(?!\d)/,"number.octal"],[/\d+/,"number"],[/[,.]/,"delimiter"],[/"""/,"string",'@herestring."""'],[/'''/,"string","@herestring.'''"],[/"/,{cases:{"@eos":"string","@default":{token:"string",next:'@string."'}}}],[/'/,{cases:{"@eos":"string","@default":{token:"string",next:"@string.'"}}}]],string:[[/[^"'\#\\]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/\./,"string.escape.invalid"],[/#{/,{cases:{'$S2=="':{token:"string",next:"root.interpolatedstring"},"@default":"string"}}],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/#/,"string"]],herestring:[[/("""|''')/,{cases:{"$1==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/[^#\\'"]+/,"string"],[/['"]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/#{/,{token:"string.quote",next:"root.interpolatedstring"}],[/#/,"string"]],comment:[[/[^#]+/,"comment"],[/###/,"comment","@pop"],[/#/,"comment"]],hereregexp:[[/[^\\\/#]+/,"regexp"],[/\\./,"regexp"],[/#.*$/,"comment"],["///[igm]*",{token:"regexp",next:"@pop"}],[/\//,"regexp"]]}}});

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,7 @@
/*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* monaco-languages version: 1.5.1(d085b3bad82f8b59df390ce976adef0c83a9289e)
* Released under the MIT license
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
*-----------------------------------------------------------------------------*/
define("vs/basic-languages/csharp/csharp",["require","exports"],function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\$\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},t.language={defaultToken:"",tokenPostfix:".cs",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["extern","alias","using","bool","decimal","sbyte","byte","short","ushort","int","uint","long","ulong","char","float","double","object","dynamic","string","assembly","is","as","ref","out","this","base","new","typeof","void","checked","unchecked","default","delegate","var","const","if","else","switch","case","while","do","for","foreach","in","break","continue","goto","return","throw","try","catch","finally","lock","yield","from","let","where","join","on","equals","into","orderby","ascending","descending","select","group","by","namespace","partial","class","field","event","method","param","property","public","protected","internal","private","abstract","sealed","static","struct","readonly","volatile","virtual","override","params","get","set","add","remove","operator","true","false","implicit","explicit","interface","enum","null","async","await","fixed","sizeof","stackalloc","unsafe","nameof","when"],namespaceFollows:["namespace","using"],parenFollows:["if","for","while","switch","foreach","using","catch","when"],operators:["=","??","||","&&","|","^","&","==","!=","<=",">=","<<","+","-","*","/","%","!","~","++","--","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=",">>","=>"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\@?[a-zA-Z_]\w*/,{cases:{"@namespaceFollows":{token:"keyword.$0",next:"@namespace"},"@keywords":{token:"keyword.$0",next:"@qualified"},"@default":{token:"identifier",next:"@qualified"}}}],{include:"@whitespace"},[/}/,{cases:{"$S2==interpolatedstring":{token:"string.quote",next:"@pop"},"$S2==litinterpstring":{token:"string.quote",next:"@pop"},"@default":"@brackets"}}],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?[fFdD]?/,"number.float"],[/0[xX][0-9a-fA-F_]+/,"number.hex"],[/0[bB][01_]+/,"number.hex"],[/[0-9_]+/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",next:"@string"}],[/\$\@"/,{token:"string.quote",next:"@litinterpstring"}],[/\@"/,{token:"string.quote",next:"@litstring"}],[/\$"/,{token:"string.quote",next:"@interpolatedstring"}],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],qualified:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/\./,"delimiter"],["","","@pop"]],namespace:[{include:"@whitespace"},[/[A-Z]\w*/,"namespace"],[/[\.=]/,"delimiter"],["","","@pop"]],comment:[[/[^\/*]+/,"comment"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",next:"@pop"}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]],litinterpstring:[[/[^"{]+/,"string"],[/""/,"string.escape"],[/{{/,"string.escape"],[/}}/,"string.escape"],[/{/,{token:"string.quote",next:"root.litinterpstring"}],[/"/,{token:"string.quote",next:"@pop"}]],interpolatedstring:[[/[^\\"{]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/{{/,"string.escape"],[/}}/,"string.escape"],[/{/,{token:"string.quote",next:"root.interpolatedstring"}],[/"/,{token:"string.quote",next:"@pop"}]],whitespace:[[/^[ \t\v\f]*#((r)|(load))(?=\s)/,"directive.csx"],[/^[ \t\v\f]*#\w.*$/,"namespace.cpp"],[/[ \t\v\f\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}});

View File

@ -0,0 +1,7 @@
/*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* monaco-languages version: 1.5.1(d085b3bad82f8b59df390ce976adef0c83a9289e)
* Released under the MIT license
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
*-----------------------------------------------------------------------------*/
define("vs/basic-languages/csp/csp",["require","exports"],function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.conf={brackets:[],autoClosingPairs:[],surroundingPairs:[]},e.language={keywords:[],typeKeywords:[],tokenPostfix:".csp",operators:[],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/child-src/,"string.quote"],[/connect-src/,"string.quote"],[/default-src/,"string.quote"],[/font-src/,"string.quote"],[/frame-src/,"string.quote"],[/img-src/,"string.quote"],[/manifest-src/,"string.quote"],[/media-src/,"string.quote"],[/object-src/,"string.quote"],[/script-src/,"string.quote"],[/style-src/,"string.quote"],[/worker-src/,"string.quote"],[/base-uri/,"string.quote"],[/plugin-types/,"string.quote"],[/sandbox/,"string.quote"],[/disown-opener/,"string.quote"],[/form-action/,"string.quote"],[/frame-ancestors/,"string.quote"],[/report-uri/,"string.quote"],[/report-to/,"string.quote"],[/upgrade-insecure-requests/,"string.quote"],[/block-all-mixed-content/,"string.quote"],[/require-sri-for/,"string.quote"],[/reflected-xss/,"string.quote"],[/referrer/,"string.quote"],[/policy-uri/,"string.quote"],[/'self'/,"string.quote"],[/'unsafe-inline'/,"string.quote"],[/'unsafe-eval'/,"string.quote"],[/'strict-dynamic'/,"string.quote"],[/'unsafe-hashed-attributes'/,"string.quote"]]}}});

View File

@ -0,0 +1,7 @@
/*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* monaco-languages version: 1.5.1(d085b3bad82f8b59df390ce976adef0c83a9289e)
* Released under the MIT license
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
*-----------------------------------------------------------------------------*/
define("vs/basic-languages/css/css",["require","exports"],function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={wordPattern:/(#?-?\d*\.\d\w*%?)|((::|[@#.!:])?[\w-?]+%?)|::|[@#.!:]/g,comments:{blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},t.language={defaultToken:"",tokenPostfix:".css",ws:"[ \t\n\r\f]*",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.bracket"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@strings"},["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@selectorname"},["[\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.bracket",next:"@selectorbody"}]],selectorbody:[{include:"@comments"},["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],["}",{token:"delimiter.bracket",next:"@pop"}]],selectorname:[["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@functioninvocation"},{include:"@numbers"},{include:"@name"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","delimiter"],[",","delimiter"]],rulevalue:[{include:"@comments"},{include:"@strings"},{include:"@term"},["!important","keyword"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[/[^*/]+/,"comment"],[/./,"comment"]],name:[["@identifier","attribute.value"]],numbers:[["-?(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],keyframedeclaration:[["@identifier","attribute.value"],["{",{token:"delimiter.bracket",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.bracket",next:"@selectorbody"}],["}",{token:"delimiter.bracket",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"attribute.value",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"attribute.value",next:"@pop"}]],strings:[['~?"',{token:"string",next:"@stringenddoublequote"}],["~?'",{token:"string",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string",next:"@pop"}],[/[^\\"]+/,"string"],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string",next:"@pop"}],[/[^\\']+/,"string"],[".","string"]]}}});

View File

@ -0,0 +1,7 @@
/*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* monaco-languages version: 1.5.1(d085b3bad82f8b59df390ce976adef0c83a9289e)
* Released under the MIT license
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
*-----------------------------------------------------------------------------*/
define("vs/basic-languages/dockerfile/dockerfile",["require","exports"],function(e,s){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.conf={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},s.language={defaultToken:"",tokenPostfix:".dockerfile",instructions:/FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT/,instructionAfter:/ONBUILD/,variableAfter:/ENV/,variable:/\${?[\w]+}?/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/(@instructionAfter)(\s+)/,["keyword",{token:"",next:"@instructions"}]],["","keyword","@instructions"]],instructions:[[/(@variableAfter)(\s+)([\w]+)/,["keyword","",{token:"variable",next:"@arguments"}]],[/(@instructions)/,"keyword","@arguments"]],arguments:[{include:"@whitespace"},{include:"@strings"},[/(@variable)/,{cases:{"@eos":{token:"variable",next:"@popall"},"@default":"variable"}}],[/\\/,{cases:{"@eos":"","@default":""}}],[/./,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],whitespace:[[/\s+/,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],comment:[[/(^#.*$)/,"comment","@popall"]],strings:[[/'$/,"string","@popall"],[/'/,"string","@stringBody"],[/"$/,"string","@popall"],[/"/,"string","@dblStringBody"]],stringBody:[[/[^\\\$']/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/'$/,"string","@popall"],[/'/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]],dblStringBody:[[/[^\\\$"]/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/"$/,"string","@popall"],[/"/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]]}}});

View File

@ -0,0 +1,7 @@
/*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* monaco-languages version: 1.5.1(d085b3bad82f8b59df390ce976adef0c83a9289e)
* Released under the MIT license
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
*-----------------------------------------------------------------------------*/
define("vs/basic-languages/fsharp/fsharp",["require","exports"],function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.conf={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)"),end:new RegExp("^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)")}}},n.language={defaultToken:"",tokenPostfix:".fs",keywords:["abstract","and","atomic","as","assert","asr","base","begin","break","checked","component","const","constraint","constructor","continue","class","default","delegate","do","done","downcast","downto","elif","else","end","exception","eager","event","external","extern","false","finally","for","fun","function","fixed","functor","global","if","in","include","inherit","inline","interface","internal","land","lor","lsl","lsr","lxor","lazy","let","match","member","mod","module","mutable","namespace","method","mixin","new","not","null","of","open","or","object","override","private","parallel","process","protected","pure","public","rec","return","static","sealed","struct","sig","then","to","true","tailcall","trait","try","type","upcast","use","val","void","virtual","volatile","when","while","with","yield"],symbols:/[=><!~?:&|+\-*\^%;\.,\/]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,integersuffix:/[uU]?[yslnLI]?/,floatsuffix:/[fFmM]?/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/\[<.*>\]/,"annotation"],[/^#(if|else|endif)/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0x[0-9a-fA-F]+LF/,"number.float"],[/0x[0-9a-fA-F]+(@integersuffix)/,"number.hex"],[/0b[0-1]+(@integersuffix)/,"number.bin"],[/\d+(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string",'@string."""'],[/"/,"string",'@string."'],[/\@"/,{token:"string.quote",next:"@litstring"}],[/'[^\\']'B?/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\(\*(?!\))/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\*]+/,"comment"],[/\*\)/,"comment","@pop"],[/\*/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/("""|"B?)/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]]}}});

View File

@ -0,0 +1,7 @@
/*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* monaco-languages version: 1.5.1(d085b3bad82f8b59df390ce976adef0c83a9289e)
* Released under the MIT license
* https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
*-----------------------------------------------------------------------------*/
define("vs/basic-languages/go/go",["require","exports"],function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`"},{open:'"',close:'"'},{open:"'",close:"'"}]},n.language={defaultToken:"",tokenPostfix:".go",keywords:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var","bool","true","false","uint8","uint16","uint32","uint64","int8","int16","int32","int64","float32","float64","complex64","complex128","byte","rune","uint","int","uintptr","string","nil"],operators:["+","-","*","/","%","&","|","^","<<",">>","&^","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=","&^=","&&","||","<-","++","--","==","<",">","=","!","!=","<=",">=",":=","...","(",")","","]","{","}",",",";",".",":"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/\[\[.*\]\]/,"annotation"],[/^\s*#\w+/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex"],[/0[0-7']*[0-7]/,"number.octal"],[/0[bB][0-1']*[0-1]/,"number.binary"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/`/,"string","@rawstring"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],rawstring:[[/[^\`]/,"string"],[/`/,"string","@pop"]]}}});

Some files were not shown because too many files have changed in this diff Show More