mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-09 11:56:15 -08:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40fcda6a37 | ||
|
|
bb82f899ff | ||
|
|
59d3c9f50c | ||
|
|
37cbb6f600 | ||
|
|
72cf3551e2 | ||
|
|
cb69e4ad66 | ||
|
|
42c4ca735d | ||
|
|
0f47e11d63 | ||
|
|
0b9c31a8cf | ||
|
|
02d1ded7b8 | ||
|
|
014b21566c | ||
|
|
4c7d0aa9fa | ||
|
|
fc90d4a0df | ||
|
|
26841c5b1c | ||
|
|
d6c1e5d25b | ||
|
|
63c8966ed7 | ||
|
|
23c8f46878 | ||
|
|
4b75df286a | ||
|
|
7e0b84ba7c | ||
|
|
6aa6f9ad53 | ||
|
|
4501ec2907 | ||
|
|
6c79148da5 | ||
|
|
65e51751cd | ||
|
|
daf133b226 | ||
|
|
740ac4cb24 | ||
|
|
b11f0eb99a | ||
|
|
89a28e91fe | ||
|
|
92f09a4290 | ||
|
|
3adff76edf | ||
|
|
562cfe18db | ||
|
|
5ce29ac190 | ||
|
|
39a1fb1abd | ||
|
|
bd43b6638d | ||
|
|
dc850dd2d2 | ||
|
|
9f5070b523 | ||
|
|
1c75731ca9 | ||
|
|
78e9cc74f8 | ||
|
|
1dc8e9a4ff | ||
|
|
1e60637b74 | ||
|
|
2622b2c6ae | ||
|
|
9cb7d6dc9f | ||
|
|
0f752260a4 | ||
|
|
7bfee6c6dc | ||
|
|
5cc8d14454 | ||
|
|
3bf0707faa | ||
|
|
699bf09577 | ||
|
|
ddb78cf850 | ||
|
|
3ae89ab349 | ||
|
|
e112b33f97 | ||
|
|
bad7892660 | ||
|
|
88de2ae9e6 | ||
|
|
9c819676bd | ||
|
|
7a4b429672 | ||
|
|
f07e51c071 | ||
|
|
9a73b85fc7 | ||
|
|
150d14907e | ||
|
|
d2e59f7d6b | ||
|
|
1f0ffbfa17 | ||
|
|
0c00074f6a | ||
|
|
6b66029c54 | ||
|
|
9db9cd1f1e | ||
|
|
14ce165f50 | ||
|
|
edc2b6c9f9 | ||
|
|
cea2859b40 | ||
|
|
f28b809a67 | ||
|
|
f750e77e4f | ||
|
|
1841f754dc | ||
|
|
0bdc59e446 | ||
|
|
cfaaea6a5c | ||
|
|
687a34c6b3 | ||
|
|
14807e2633 | ||
|
|
210eb94b75 | ||
|
|
17042867fc | ||
|
|
7dffd99cfd | ||
|
|
07a5b0c0f0 | ||
|
|
8b5b366da3 | ||
|
|
441909f8ac | ||
|
|
486231f04b | ||
|
|
4a980971f7 | ||
|
|
a3416fcb33 | ||
|
|
9378aa21ee | ||
|
|
23a20d5d6d | ||
|
|
ece55c5747 | ||
|
|
ca34b47180 | ||
|
|
c321d40cc3 | ||
|
|
b36f88db5f | ||
|
|
6370f607f8 | ||
|
|
d9ac20b3f1 | ||
|
|
c655f073ae | ||
|
|
c88aa97c0a | ||
|
|
24352e01c4 | ||
|
|
cf01186977 | ||
|
|
fb7eddf433 | ||
|
|
b69d020c5a | ||
|
|
0d032f685b | ||
|
|
f4d99eb09e | ||
|
|
c977790602 | ||
|
|
fa2c69e83d | ||
|
|
62b4be9d82 | ||
|
|
e559d3bc6f | ||
|
|
a8d36a38ad | ||
|
|
ae03670f9a | ||
|
|
ce35026cb4 | ||
|
|
7968495416 | ||
|
|
fce3b33909 | ||
|
|
0bb4e1acdb | ||
|
|
4a0fbda3c4 | ||
|
|
d892685a25 | ||
|
|
9d760a2f59 | ||
|
|
be44c1f8dd | ||
|
|
59e9a32ecb | ||
|
|
51d49f857a | ||
|
|
a93967d518 | ||
|
|
8cb9cd480c | ||
|
|
911c88d95f | ||
|
|
7d8034ca18 | ||
|
|
e45bc1ef20 | ||
|
|
bd6ce34420 | ||
|
|
dbeaba78e6 | ||
|
|
01d8dc680c | ||
|
|
ef537ecfbf | ||
|
|
b7d94558b2 | ||
|
|
efa757ca2d | ||
|
|
e27581b800 | ||
|
|
48b3f76151 | ||
|
|
b84b0af2ec | ||
|
|
99ad0d7b93 | ||
|
|
529ade25d5 | ||
|
|
04b955f455 | ||
|
|
7b4ca85844 | ||
|
|
2f42f85f90 | ||
|
|
140674b511 | ||
|
|
a3fd5d9343 | ||
|
|
86bbc95722 | ||
|
|
47085d1275 | ||
|
|
4681a8bc7a | ||
|
|
f5f3800449 | ||
|
|
3f47356d2c | ||
|
|
b6d0c07f8c | ||
|
|
0044053348 | ||
|
|
a516c0b204 | ||
|
|
0a9aadf543 | ||
|
|
987795503b | ||
|
|
b5b52bbf17 | ||
|
|
8041de8411 | ||
|
|
e28be64026 | ||
|
|
630b6b9d93 | ||
|
|
12d6781bf5 | ||
|
|
714c81e6c3 | ||
|
|
8d1ebc4393 | ||
|
|
eb015c7fac | ||
|
|
92ff80d285 | ||
|
|
23da290357 | ||
|
|
5b1cebb334 | ||
|
|
18475f08fd | ||
|
|
fd9aeddbed | ||
|
|
811d83f463 | ||
|
|
736a6c1973 | ||
|
|
6be0ea9542 | ||
|
|
474383853b | ||
|
|
649963f07c | ||
|
|
013fa21e7c | ||
|
|
ea903dcf4c | ||
|
|
cc7e7576ab | ||
|
|
14451c7221 | ||
|
|
2a69147c8b | ||
|
|
9bfd535e57 | ||
|
|
cb3d391c34 | ||
|
|
06c00906c2 | ||
|
|
ddbcdbd459 | ||
|
|
745d2b4848 | ||
|
|
cf5057fa89 | ||
|
|
fb8975272c | ||
|
|
68b40de93c | ||
|
|
eccea444b0 | ||
|
|
e8b01c357f | ||
|
|
40b66b4b68 | ||
|
|
9e73b0aec9 | ||
|
|
79358663eb | ||
|
|
043947c9af | ||
|
|
1b856ae681 | ||
|
|
48b78d0ad7 | ||
|
|
e7633ed49d | ||
|
|
abbecff472 | ||
|
|
50320bad5d | ||
|
|
241b4f3ee3 | ||
|
|
5cc6724f54 | ||
|
|
0eed9c114b | ||
|
|
4b55b97e9e | ||
|
|
0c0bcecb9e | ||
|
|
09aab497ac | ||
|
|
41040e5ac1 | ||
|
|
c911928166 | ||
|
|
012dde8da4 | ||
|
|
8b32f050a0 | ||
|
|
ea34eda07b | ||
|
|
6344a0bef9 | ||
|
|
ada6afca69 | ||
|
|
52b38a48b2 | ||
|
|
34fe45fa2d | ||
|
|
fa0961a9f9 | ||
|
|
e834246641 | ||
|
|
3a2dcdb226 | ||
|
|
3cfc1c031c | ||
|
|
8af6f7c322 | ||
|
|
abd64e11f2 | ||
|
|
84c118855d | ||
|
|
1f142ced9f | ||
|
|
596269bf3f | ||
|
|
657dd7e77c | ||
|
|
a7d77f4f70 | ||
|
|
571a4c8e1d | ||
|
|
7d4175efbc | ||
|
|
c23520a4a6 | ||
|
|
bd071b2d63 | ||
|
|
f1fcbd75fe | ||
|
|
4fa1730242 | ||
|
|
8460959a7f | ||
|
|
d9c84d2dbc | ||
|
|
8a87de6df3 | ||
|
|
6f3363014f | ||
|
|
fa755b5f61 | ||
|
|
3540cd0cce | ||
|
|
e947be8a8e | ||
|
|
9d966bf696 | ||
|
|
f3c0a9a77d | ||
|
|
35ad9883af | ||
|
|
532dd67cfd | ||
|
|
46ad399b2f | ||
|
|
05ce97c6fd | ||
|
|
603151af84 | ||
|
|
412b8e7fa7 | ||
|
|
8d912c6c99 | ||
|
|
ea392e0d60 | ||
|
|
5337f9b075 | ||
|
|
c1fe0e2b03 | ||
|
|
11b59da2cf | ||
|
|
9932551352 | ||
|
|
84bc5a85bc | ||
|
|
6d640062c9 | ||
|
|
012c73c202 | ||
|
|
e8a7e050c4 | ||
|
|
e2e8e83e63 | ||
|
|
1374d530a4 | ||
|
|
7e7bd8c0ad | ||
|
|
da94223721 | ||
|
|
3715a36cde | ||
|
|
68d00e0166 | ||
|
|
c81b1ec83b | ||
|
|
bf5a186375 | ||
|
|
20b62ad3e3 | ||
|
|
1941da46d9 | ||
|
|
078b595819 | ||
|
|
169c6a318a | ||
|
|
77eaba8de9 | ||
|
|
db58d759b5 | ||
|
|
1ae4d17372 | ||
|
|
e773e2c44f | ||
|
|
19756e8224 | ||
|
|
826abd8c7d | ||
|
|
d02740bd94 | ||
|
|
5602ac315c | ||
|
|
b2f88cdd94 | ||
|
|
15067279e3 | ||
|
|
0d0a6f5516 | ||
|
|
10337ddb1d | ||
|
|
62835bb042 | ||
|
|
3f0a1bd433 | ||
|
|
1ece90c582 | ||
|
|
4bdad1675b | ||
|
|
9fdbdabd7c | ||
|
|
5d7710979d | ||
|
|
6c4e9f7e78 | ||
|
|
dd57cc2a03 | ||
|
|
ab06749c15 | ||
|
|
c3343ad74f | ||
|
|
2a7e3d5e03 | ||
|
|
a64e13c9c1 | ||
|
|
674c6420e9 | ||
|
|
9bdaaa3b7d | ||
|
|
0aabb42db3 | ||
|
|
17ece4c0c8 | ||
|
|
2aaef7db45 | ||
|
|
bc401159b6 | ||
|
|
36865f1e7e | ||
|
|
dd0fba6eb4 | ||
|
|
db5e9fc810 | ||
|
|
4987579d92 | ||
|
|
b4e5c712f5 | ||
|
|
518bc45af0 | ||
|
|
b52ea6b146 | ||
|
|
ff10f4f0a6 | ||
|
|
a8458b050b | ||
|
|
4b4973eeb3 | ||
|
|
c89b9e7871 | ||
|
|
fae71811db | ||
|
|
e7c31e55b3 | ||
|
|
38ef03d31f | ||
|
|
ad0395fa37 | ||
|
|
58b7eeb6e6 | ||
|
|
9f4e6c3a1b | ||
|
|
eb8cc22bf2 | ||
|
|
3a052a60e3 | ||
|
|
57d6f25e5b | ||
|
|
13d4fc9210 | ||
|
|
38054536ed | ||
|
|
07de29c304 | ||
|
|
f685e1a7db | ||
|
|
625f96534b | ||
|
|
d3c66d8c44 | ||
|
|
d33d59720f | ||
|
|
5e8047e33b | ||
|
|
a7c45588fb | ||
|
|
11742b82dd | ||
|
|
cebbb6ec29 | ||
|
|
bb3fc27427 | ||
|
|
a01782732d | ||
|
|
0b75f1d132 | ||
|
|
dcd6e081d8 | ||
|
|
cc13b9cc0f | ||
|
|
2eb4be2bbe | ||
|
|
af1c769150 | ||
|
|
5dcb3e11c1 | ||
|
|
395747f88f | ||
|
|
945ff841d5 | ||
|
|
c82e381aa1 | ||
|
|
ed88c73ab2 | ||
|
|
2db49bdede | ||
|
|
c526b45820 | ||
|
|
d87e120282 | ||
|
|
477331b0e2 | ||
|
|
0d5757b51c | ||
|
|
8566df6336 | ||
|
|
3cece10f9e | ||
|
|
b6df6a6148 | ||
|
|
0ddb7751a1 | ||
|
|
fbfee926ca | ||
|
|
d678378119 | ||
|
|
b949fedc06 | ||
|
|
191c7736c4 | ||
|
|
c84157e30b | ||
|
|
1d191fe658 | ||
|
|
bae22338dc | ||
|
|
6cf85b2f39 | ||
|
|
5e09d2e513 | ||
|
|
49704ffc29 | ||
|
|
e8c317051a | ||
|
|
b16a845875 | ||
|
|
885bbf5a6d | ||
|
|
5e38f2d3b5 | ||
|
|
74915ebf9f | ||
|
|
f62640e6e9 | ||
|
|
9221d42964 | ||
|
|
5a4598f846 | ||
|
|
5dfe50c719 | ||
|
|
406d71b53c | ||
|
|
8481bddba1 | ||
|
|
edc33bb32f | ||
|
|
252c226473 | ||
|
|
b8c29f29dc | ||
|
|
ffe4dd0d37 | ||
|
|
a7599c41b5 | ||
|
|
e9d544f416 | ||
|
|
7a1240b889 | ||
|
|
fdfc44806c | ||
|
|
bdecbffeeb | ||
|
|
56b71879e8 | ||
|
|
fed73a9409 | ||
|
|
ef56482911 | ||
|
|
d9bdc9bdeb | ||
|
|
a6f0dc50e5 | ||
|
|
c9d2d6c194 | ||
|
|
1e63b8dc83 | ||
|
|
c0c5a12010 | ||
|
|
8ea85476e0 | ||
|
|
3d33458efc | ||
|
|
6b93dc95b0 | ||
|
|
e3db4125b0 | ||
|
|
b9878e43e0 | ||
|
|
31bd66a33e | ||
|
|
ef964c4bc0 | ||
|
|
4a172377b5 | ||
|
|
666d1d8585 | ||
|
|
610e1e6139 | ||
|
|
57725e8e27 | ||
|
|
1605df2943 | ||
|
|
92654e911f | ||
|
|
faa621c5be | ||
|
|
157d28a647 | ||
|
|
51e558dc50 | ||
|
|
8f4dab5005 | ||
|
|
4f631a0d7f | ||
|
|
c0a280a6e8 | ||
|
|
2a864ad97d | ||
|
|
2ba1b7d77a | ||
|
|
a74e7bbff4 | ||
|
|
710f9477f8 | ||
|
|
22dce779d1 | ||
|
|
400ab2f9c4 | ||
|
|
278119068c | ||
|
|
d4a868621f | ||
|
|
f867a97032 | ||
|
|
211e9d22a2 | ||
|
|
36fb27d7a1 | ||
|
|
9b87f9661d | ||
|
|
36b2c80666 | ||
|
|
2b11d897ff | ||
|
|
a0b6af32d0 | ||
|
|
c81364ca9a | ||
|
|
c8b5282af9 | ||
|
|
7bf8a00a7d | ||
|
|
a4be7b0ee6 | ||
|
|
813528f916 | ||
|
|
0f60ea53ae | ||
|
|
c984034234 | ||
|
|
9f1ba901bb | ||
|
|
afcfebe01e | ||
|
|
910c22391f | ||
|
|
69133015e9 | ||
|
|
4e2d68854a | ||
|
|
a33df191a4 | ||
|
|
c44ec85ed2 | ||
|
|
44171beb3a | ||
|
|
c7299b926e | ||
|
|
3fdc11cf40 | ||
|
|
63223c8202 | ||
|
|
2fe7a09aaf | ||
|
|
9a4ebf7917 | ||
|
|
4d43fffa87 | ||
|
|
87b0506f51 | ||
|
|
f9192ff852 | ||
|
|
d2de5297d6 | ||
|
|
17b2268ce0 | ||
|
|
27f161be40 | ||
|
|
1ee80cf012 | ||
|
|
5764344aaf | ||
|
|
3a2e7addd9 | ||
|
|
b2e54d6969 | ||
|
|
6f6d49bbae | ||
|
|
84986d384a | ||
|
|
1d0139ee35 | ||
|
|
71a1126aae | ||
|
|
77a3438e2d | ||
|
|
ce3503cc3a | ||
|
|
52e424ad52 | ||
|
|
5bbbaa398e | ||
|
|
b711291aee | ||
|
|
5e37979e8f | ||
|
|
ced8fb4fb1 | ||
|
|
984755b442 | ||
|
|
0374046606 | ||
|
|
796f25cea2 | ||
|
|
0a7d3ca5aa | ||
|
|
8613164368 | ||
|
|
6dc6be5b9e | ||
|
|
4fd012c20c | ||
|
|
883762ed42 | ||
|
|
7f6c9c8ee1 | ||
|
|
7fa69a7de8 | ||
|
|
66010cb376 | ||
|
|
5d6b94afa6 | ||
|
|
219956cabd | ||
|
|
e9a488792c | ||
|
|
65b0b2c53f | ||
|
|
3e3b38fe07 | ||
|
|
69168750f5 | ||
|
|
52d9064c8b | ||
|
|
5655db4b20 | ||
|
|
adff473f71 | ||
|
|
2e646ab4e1 | ||
|
|
0bb99184ca | ||
|
|
245ce6c6b7 | ||
|
|
0dd25d73c6 | ||
|
|
00f0501c0e | ||
|
|
7414f4a86a | ||
|
|
a86664b3db | ||
|
|
e71e6ad0dd | ||
|
|
caddb2091e | ||
|
|
b2796a1f6c | ||
|
|
5a0b80b03e | ||
|
|
cf0c3d9b09 | ||
|
|
85bf3ea0d3 | ||
|
|
c6b6e13799 | ||
|
|
0cee288097 | ||
|
|
74460a765e | ||
|
|
e2f27e8ea5 | ||
|
|
b4e3121917 | ||
|
|
685241de57 | ||
|
|
ef3a1f7064 | ||
|
|
665348ad55 | ||
|
|
744913b0bf | ||
|
|
e2a40e67a0 | ||
|
|
73bafc988a | ||
|
|
1192f18de6 | ||
|
|
232b8a3e17 | ||
|
|
2721f61b41 | ||
|
|
a7f4b0bc84 | ||
|
|
f4c9f1f639 | ||
|
|
c4fd5b1a5d | ||
|
|
7c52a30833 | ||
|
|
1ee0342f11 | ||
|
|
9973cdc4da | ||
|
|
403be5dc6b | ||
|
|
8aea92f40a | ||
|
|
0e269c2f41 | ||
|
|
2d44d602e4 | ||
|
|
390be821d6 | ||
|
|
69d99cc478 | ||
|
|
d57a13a2bd | ||
|
|
e58285f2dd | ||
|
|
999988465c | ||
|
|
e11a2da806 | ||
|
|
586375eeb0 | ||
|
|
c8d3e5b5a6 | ||
|
|
5160dcabca | ||
|
|
f3db438d6b | ||
|
|
d8ff61acf7 | ||
|
|
5edf5af672 | ||
|
|
bc5761ecdb | ||
|
|
2e72e0cec2 | ||
|
|
94e34320e0 | ||
|
|
e8d7ae91f0 | ||
|
|
d99fa9447a | ||
|
|
aaa5ef310e | ||
|
|
0e58ce8cd9 | ||
|
|
570c1611d3 | ||
|
|
17ab163e91 | ||
|
|
41cdde4b79 | ||
|
|
2326628b86 | ||
|
|
0804d1790b | ||
|
|
33eba49a3b | ||
|
|
3e3e355e34 | ||
|
|
a59942ca58 | ||
|
|
0fce9f5ffe | ||
|
|
eef1d675df | ||
|
|
502865ef65 | ||
|
|
924c3513e8 | ||
|
|
0f7a3ce02c | ||
|
|
fac7d15726 | ||
|
|
b398749ef8 | ||
|
|
551eb64ea7 | ||
|
|
994f9e4b04 | ||
|
|
32078b9669 | ||
|
|
77fb5c6d12 | ||
|
|
0ffd7980d2 | ||
|
|
4f66533021 | ||
|
|
80aa030aaa | ||
|
|
794ab9ec29 | ||
|
|
31125ac790 | ||
|
|
67fdb31717 | ||
|
|
cb87252bbd | ||
|
|
e7727c0fa1 | ||
|
|
9d20cb75f7 | ||
|
|
cc64281bb8 | ||
|
|
4dc1e9164a | ||
|
|
c1de88c3f4 | ||
|
|
34b7018e3d | ||
|
|
d86840749b | ||
|
|
574bb14643 | ||
|
|
2c7430d524 | ||
|
|
fab977711e | ||
|
|
495083aba1 | ||
|
|
a8151ba4fb | ||
|
|
f260f3a9ec | ||
|
|
bddaf178d9 | ||
|
|
82d263bc6c | ||
|
|
0d830e04d8 | ||
|
|
6d1f8e1c7f | ||
|
|
20752bc170 | ||
|
|
0af549189a | ||
|
|
f62bd0558a | ||
|
|
63e7b1a9e6 | ||
|
|
58846384c8 | ||
|
|
5cee83817a | ||
|
|
6d74b32b33 | ||
|
|
0ae3b05d0a | ||
|
|
eb5af00d82 | ||
|
|
1ee87c8c2b | ||
|
|
fcef233746 | ||
|
|
4971eaa17c | ||
|
|
d0f1f4a76c | ||
|
|
034444d77d | ||
|
|
b2bf084fbc | ||
|
|
54b20cdfcb | ||
|
|
d932aa95ff | ||
|
|
5f0b7ffc77 | ||
|
|
c1edb1ac6e | ||
|
|
7464cfa80f | ||
|
|
bc4e8ec3f7 | ||
|
|
67a5025d9e | ||
|
|
264ad16790 | ||
|
|
6719f516a5 | ||
|
|
a158c5ebdc | ||
|
|
e91bcff3a8 | ||
|
|
313b6ae54d | ||
|
|
9ca560fd05 | ||
|
|
0661848f64 | ||
|
|
8366b0673a | ||
|
|
ab109a1acd | ||
|
|
f4396308fe | ||
|
|
7ed2f58e6a | ||
|
|
27284099d7 | ||
|
|
24e51b96e2 | ||
|
|
f79538d259 | ||
|
|
6c74db3a06 | ||
|
|
c1457dd9ae | ||
|
|
774ca866d2 | ||
|
|
c7e91e3c8f | ||
|
|
b2f2251c63 | ||
|
|
e53c051166 | ||
|
|
43309b72cf | ||
|
|
fb700fa988 | ||
|
|
e3a337d9ab | ||
|
|
45c122027a | ||
|
|
c3ea0bdeec | ||
|
|
eb5369573d | ||
|
|
a1569b9ddf | ||
|
|
8a9132ea91 | ||
|
|
2c618bc7b4 | ||
|
|
2f9604c44a | ||
|
|
bc1554d240 | ||
|
|
5bb44b4998 | ||
|
|
e01f49821c | ||
|
|
12b1c1d347 | ||
|
|
c08798fb05 | ||
|
|
2b8c1e2d32 | ||
|
|
2665177532 | ||
|
|
bf7629e1d7 | ||
|
|
699135afcf | ||
|
|
dfd1cf968d | ||
|
|
9daa14e32d | ||
|
|
3ca3a3b781 | ||
|
|
aa5dbd0418 | ||
|
|
8f8b69cc25 | ||
|
|
00f780a7dc | ||
|
|
c47c39d13b | ||
|
|
5f694a7299 | ||
|
|
76a6c59e12 | ||
|
|
5f0e41ad40 | ||
|
|
5ae86a407f | ||
|
|
1210eb8a98 | ||
|
|
8038397185 | ||
|
|
d982f4d3b1 | ||
|
|
fb6179e2be | ||
|
|
7f295a5c84 | ||
|
|
5e155770f6 | ||
|
|
04905ff44f | ||
|
|
c9dd163ab5 | ||
|
|
781b93523c | ||
|
|
83ab3419e0 | ||
|
|
346bb0adf2 | ||
|
|
3aa30de771 | ||
|
|
a1063c20ed | ||
|
|
50ba902df5 | ||
|
|
0dee1ef446 | ||
|
|
434aa3d57d | ||
|
|
0a0b1593ae | ||
|
|
c1d86cc029 | ||
|
|
8d4749c839 | ||
|
|
d3d8229496 | ||
|
|
aa88683cbf | ||
|
|
4e7480fffc | ||
|
|
52be176830 | ||
|
|
144ab64421 | ||
|
|
52e4564776 | ||
|
|
773618a177 | ||
|
|
b2bffa8079 | ||
|
|
4360c1e695 | ||
|
|
d8720d3bcf | ||
|
|
b235f9bbac | ||
|
|
5a166f421d | ||
|
|
a2b57495a2 | ||
|
|
a2d3e20479 | ||
|
|
b6a62f8dc5 | ||
|
|
69197312cc | ||
|
|
7df74e227a | ||
|
|
bbbeca6e4c | ||
|
|
73fb04737a | ||
|
|
24601dd18c | ||
|
|
2b18452644 | ||
|
|
a2591533f3 | ||
|
|
21a735f86b | ||
|
|
d579e7e86d | ||
|
|
7ba3098212 | ||
|
|
780124d84b | ||
|
|
29ff487547 | ||
|
|
53b5c4165c | ||
|
|
783bf1cac3 | ||
|
|
89b8525f2f | ||
|
|
3db53c425e | ||
|
|
ce99b73d04 | ||
|
|
3d8d22a98a | ||
|
|
08ec5716f9 | ||
|
|
cf8cea8283 | ||
|
|
4e139ab6f0 | ||
|
|
9de1d74b7a | ||
|
|
c1780c3137 | ||
|
|
ea4ec61fd7 | ||
|
|
9efdab28b9 | ||
|
|
adc837e225 | ||
|
|
59794f32c6 | ||
|
|
95ba1810b6 | ||
|
|
cafff9b155 | ||
|
|
1fe653e3c3 | ||
|
|
ce012c1626 | ||
|
|
a2034e643d | ||
|
|
2fc9d4d3e9 | ||
|
|
45ec17798f | ||
|
|
c930bafd67 | ||
|
|
e71a683dfd | ||
|
|
9ba838aa52 | ||
|
|
6fc1532ada | ||
|
|
482d074ae2 | ||
|
|
894a9db1d7 | ||
|
|
3179d1241e | ||
|
|
eac37379d3 | ||
|
|
6c7daa8dc7 | ||
|
|
16994e446e | ||
|
|
7fc369d210 | ||
|
|
2dae9ed679 | ||
|
|
382b451bb9 | ||
|
|
4a088aebc4 | ||
|
|
ac7667df29 | ||
|
|
04be7f346c | ||
|
|
f330081916 | ||
|
|
7bb6af0731 | ||
|
|
f26db31777 | ||
|
|
e243d8b230 | ||
|
|
6ab5aec6d1 | ||
|
|
e3e42eb399 | ||
|
|
84c84e4cda | ||
|
|
39452167c3 | ||
|
|
4902322808 | ||
|
|
2faffecc00 | ||
|
|
6c5393b691 | ||
|
|
8582259dd4 | ||
|
|
0141129c74 | ||
|
|
f8e07c4d25 | ||
|
|
1beff2c7fa | ||
|
|
550aa0e7f2 | ||
|
|
2749d50209 | ||
|
|
e095e45791 | ||
|
|
7cd91b8375 | ||
|
|
edc99269bc | ||
|
|
cf6670bc53 | ||
|
|
f6d6113423 | ||
|
|
8670175910 | ||
|
|
782a828758 | ||
|
|
a6a9e93517 | ||
|
|
37dc0a8203 | ||
|
|
c301844a87 | ||
|
|
601836c05c | ||
|
|
8ff35b5f6f | ||
|
|
5959eb4669 | ||
|
|
283861b198 | ||
|
|
7dd21df106 | ||
|
|
0ad47e4cf1 | ||
|
|
88ae6d202c | ||
|
|
9ea091856b | ||
|
|
ebc915e3ab | ||
|
|
85b3743a9f | ||
|
|
4ff176c1bd | ||
|
|
272a98ada9 | ||
|
|
4d1a2acb51 | ||
|
|
56af4ca4a4 | ||
|
|
db5a7d3567 | ||
|
|
ab4000d4f2 | ||
|
|
4d9db7d1b5 | ||
|
|
e3658aed6f | ||
|
|
5ba1569f67 | ||
|
|
17f6d46fe0 | ||
|
|
ab57157371 | ||
|
|
6264a54f93 | ||
|
|
2de2b991d5 | ||
|
|
217e83eac5 | ||
|
|
336627cae3 | ||
|
|
ddfce350ec | ||
|
|
90a5f6d045 | ||
|
|
7b65b414ff | ||
|
|
b2084633db | ||
|
|
45c076bc3b | ||
|
|
12c8b97af4 | ||
|
|
77b96112fb | ||
|
|
4583136d1f | ||
|
|
93fe9a98f4 | ||
|
|
59f8e984e2 | ||
|
|
ac127bda77 | ||
|
|
08ff3dd19d | ||
|
|
71199d7d0e | ||
|
|
2824b69174 | ||
|
|
868af2b230 | ||
|
|
708fabbe61 | ||
|
|
2371760d77 | ||
|
|
55ca351b60 | ||
|
|
3f1e033152 | ||
|
|
ee49a0435e | ||
|
|
c8c08137c4 | ||
|
|
37d2ae1d01 | ||
|
|
3b57470957 | ||
|
|
7c8a3c2c7d | ||
|
|
7fe80943a9 | ||
|
|
a801cd5613 | ||
|
|
d34a6ba268 | ||
|
|
a3b767f15d | ||
|
|
71fad99a6a | ||
|
|
51bee25800 | ||
|
|
81edd00afc | ||
|
|
8904130837 | ||
|
|
4035135a69 | ||
|
|
609ccb4c46 | ||
|
|
6743144f44 | ||
|
|
b44394a3d8 | ||
|
|
bac74f6202 | ||
|
|
232b12effb | ||
|
|
ad8c50ddd7 | ||
|
|
61cf68f0bc | ||
|
|
c7a6e67940 | ||
|
|
274205a180 | ||
|
|
641b0abd64 | ||
|
|
909f9cab59 | ||
|
|
a8f0ea12c0 | ||
|
|
fb445bf669 | ||
|
|
4244b085dc | ||
|
|
a490a0f5d9 | ||
|
|
a6ab0aa276 | ||
|
|
572788a9ab | ||
|
|
48268ef091 | ||
|
|
89206e3924 | ||
|
|
4848b9e48c | ||
|
|
677c99aa38 | ||
|
|
90915652aa | ||
|
|
3c8cb0e2e2 | ||
|
|
e23e828b3d | ||
|
|
70f551b878 | ||
|
|
d1156a40b1 | ||
|
|
13f3398765 | ||
|
|
645e2e2ec3 | ||
|
|
cd28cc795f | ||
|
|
776a02a221 | ||
|
|
6d81287de9 | ||
|
|
6b6fca8b74 | ||
|
|
4ba822fdf2 | ||
|
|
058325d3cc | ||
|
|
4b9e8dfc9d | ||
|
|
7d6b7f2070 | ||
|
|
3ab2e96144 | ||
|
|
455bd807a7 | ||
|
|
5354917b5a | ||
|
|
c283504f0a | ||
|
|
cf95177ad6 | ||
|
|
27cf18a997 | ||
|
|
443afeb496 | ||
|
|
339034d30d | ||
|
|
49e1ed15b8 | ||
|
|
f013f8604e | ||
|
|
c4252b21b5 | ||
|
|
d531c41735 | ||
|
|
e9e1e08de5 | ||
|
|
18b4bae2fa | ||
|
|
7b53de941d | ||
|
|
af12bd9634 | ||
|
|
a7e7c2ea06 | ||
|
|
7e9f30bfe1 | ||
|
|
ec38a16be0 | ||
|
|
9700b2dff9 | ||
|
|
9433cbc2bb | ||
|
|
a3425da515 | ||
|
|
f43a2921b7 | ||
|
|
2011c77df4 | ||
|
|
f73e00fde2 | ||
|
|
fee92a9247 | ||
|
|
e0fcc50055 | ||
|
|
4b9c7fd4cf | ||
|
|
f472410a3b | ||
|
|
3f399e4b41 | ||
|
|
3391ca1fed | ||
|
|
d3862db0f3 | ||
|
|
35d2028bcc | ||
|
|
e2582dc185 | ||
|
|
43fda18f18 | ||
|
|
1d56947e16 | ||
|
|
c733375d75 | ||
|
|
827be6ee02 | ||
|
|
5898dad3d7 | ||
|
|
ff54b34275 | ||
|
|
38ad57192d | ||
|
|
181121a36d | ||
|
|
b97184bf48 | ||
|
|
d5844af7ae | ||
|
|
5414fbfd81 | ||
|
|
07f4b808b8 | ||
|
|
2229c0a348 | ||
|
|
ccd026a4d5 | ||
|
|
d696e817cf | ||
|
|
8b515906f5 | ||
|
|
fe18fce0d8 | ||
|
|
4028a46195 | ||
|
|
20a4252955 | ||
|
|
b924ed48d7 | ||
|
|
bd7585bcb4 | ||
|
|
3e0a35e080 | ||
|
|
92706a04cf | ||
|
|
4365bacbad | ||
|
|
37f4b1868c | ||
|
|
a07b2ecfbf | ||
|
|
15519a6929 | ||
|
|
99190ef88c | ||
|
|
9a1078aed7 | ||
|
|
9b4eb62453 | ||
|
|
d295952d60 | ||
|
|
4125e3385b | ||
|
|
fa7954de0d | ||
|
|
6a866f88c3 | ||
|
|
e971df5c18 | ||
|
|
78d22e4e54 | ||
|
|
ac490964eb | ||
|
|
46af8a32d7 | ||
|
|
5421ccc9d6 | ||
|
|
692a43e4ec | ||
|
|
0da181faae | ||
|
|
b5c61a25a2 | ||
|
|
1b4d9815a3 | ||
|
|
c941f01650 | ||
|
|
fd63a64539 | ||
|
|
42f2087b66 | ||
|
|
b39b5c9eda | ||
|
|
a52d5c92c0 | ||
|
|
7aad1936c2 | ||
|
|
bfec31bc5f | ||
|
|
1df2bd1def | ||
|
|
054ee3f3f6 | ||
|
|
aafa046a9f | ||
|
|
6b791be35a | ||
|
|
4dcde5a539 | ||
|
|
c18739387a | ||
|
|
4158136809 | ||
|
|
a7a820d9f1 | ||
|
|
7167173d87 | ||
|
|
417964d183 | ||
|
|
bffa21364c | ||
|
|
a6c204908e | ||
|
|
bf88d47ff3 | ||
|
|
920600c29f | ||
|
|
2fb895349f | ||
|
|
678e409a3f | ||
|
|
5fc659b454 | ||
|
|
09e6942c01 | ||
|
|
02904faddb | ||
|
|
6250936443 | ||
|
|
aab4a1caaf | ||
|
|
aef5083fcb | ||
|
|
9a08306c10 | ||
|
|
364060bd8a | ||
|
|
1e2d1a23a8 | ||
|
|
ecc54b7428 | ||
|
|
d6e4cf01a6 | ||
|
|
7890b01c4d | ||
|
|
5edeb39b07 | ||
|
|
c2d61beb40 | ||
|
|
ea74b5fc5f | ||
|
|
f8af7c88c3 | ||
|
|
2a4b271d5f | ||
|
|
2d0560157a | ||
|
|
9a58cd7a71 | ||
|
|
795ef1f136 | ||
|
|
824baca8b4 | ||
|
|
e0b351831e | ||
|
|
6c4d6bf6c8 | ||
|
|
7912559c17 | ||
|
|
463884b50a | ||
|
|
4f223885bf | ||
|
|
1593a4a528 | ||
|
|
4092b51c4e | ||
|
|
1ca9ffa832 | ||
|
|
9c90ed86f4 | ||
|
|
3d72f2d95f | ||
|
|
6f94ebade3 | ||
|
|
cb51568f7f | ||
|
|
fbf1039681 | ||
|
|
004a764b28 | ||
|
|
39627bdd82 | ||
|
|
6715bc457a | ||
|
|
efc9cf7362 | ||
|
|
7210653334 | ||
|
|
bb21e129b8 | ||
|
|
309fb7bf95 | ||
|
|
c245d7faa1 | ||
|
|
2aa95fd3a8 | ||
|
|
46de63b86e | ||
|
|
97c73c1115 | ||
|
|
431a8642f6 | ||
|
|
b86cc3870e | ||
|
|
3e640c1d33 | ||
|
|
c96120a0eb | ||
|
|
45fd1777c4 | ||
|
|
f0e856093e | ||
|
|
31a2a29871 | ||
|
|
fed80dcca4 | ||
|
|
08f284a64b | ||
|
|
fb96049de9 | ||
|
|
8dcaada8cf | ||
|
|
96781698ba | ||
|
|
d055eb3e60 | ||
|
|
b5727b60a2 | ||
|
|
c74b86b367 | ||
|
|
9af64c0968 | ||
|
|
68bb6e0a58 | ||
|
|
1e9a5e21ab | ||
|
|
0da0b55a1b | ||
|
|
8ccab4d756 | ||
|
|
38a424c10b | ||
|
|
ba1dd88050 | ||
|
|
c6cbba717c | ||
|
|
5e330a59cc | ||
|
|
1d5197ab07 | ||
|
|
e0351a7b93 | ||
|
|
26c2a63b55 | ||
|
|
84e8c23ad0 | ||
|
|
55587c32c7 | ||
|
|
572c9db7f7 | ||
|
|
ce97ac7f2d | ||
|
|
07c206ab89 | ||
|
|
2cf2a464b9 | ||
|
|
0e2644c8e7 | ||
|
|
e57be9ff2e | ||
|
|
bd7de49585 | ||
|
|
0736b7e4d2 | ||
|
|
57f5c44d17 | ||
|
|
d2d0e2d8db | ||
|
|
05b6dba336 | ||
|
|
02953257f7 | ||
|
|
e4196f53d9 | ||
|
|
95c09d17ec | ||
|
|
ebb6f84358 | ||
|
|
167bbbd5e8 | ||
|
|
500acc2444 | ||
|
|
eda1fab811 | ||
|
|
a9af217408 | ||
|
|
2346bf1271 | ||
|
|
ac4ea205cb | ||
|
|
c355468f99 | ||
|
|
30d6eb93b0 | ||
|
|
37bfafb174 | ||
|
|
783b973fb2 | ||
|
|
4d1a695f33 | ||
|
|
067a0fc0c8 | ||
|
|
af6e936854 | ||
|
|
1cbef4c6f4 | ||
|
|
28e85ea490 | ||
|
|
86d083dcc2 | ||
|
|
0f99168529 | ||
|
|
95407c1f75 | ||
|
|
6c5f1c8433 | ||
|
|
2d48f247ad | ||
|
|
8b8d58dd66 | ||
|
|
4c40dbf8d8 | ||
|
|
241bca703c | ||
|
|
ac11b68667 | ||
|
|
e155f20593 | ||
|
|
f69ef95b80 | ||
|
|
1a18ce0b9b | ||
|
|
92ad45b976 | ||
|
|
2ba636f3c7 | ||
|
|
01fd77c835 | ||
|
|
3ab7427b74 | ||
|
|
650f81b8fb | ||
|
|
273b75d07d | ||
|
|
0b0aad78a5 | ||
|
|
2ca2eb88a0 | ||
|
|
7b2bf35bdb | ||
|
|
c043498280 | ||
|
|
0a6ef6214e | ||
|
|
f0ca2c0ca4 | ||
|
|
6a93517674 | ||
|
|
6d93e581b7 | ||
|
|
cc65c58e4f | ||
|
|
918d300e2a | ||
|
|
14ac231e08 | ||
|
|
a5b035e031 | ||
|
|
8d057080f1 | ||
|
|
1e460de2e8 | ||
|
|
489b81bb43 | ||
|
|
ce2184f016 | ||
|
|
978ce9a4ed | ||
|
|
815556b69a | ||
|
|
2a32703868 | ||
|
|
4bd67b5b87 | ||
|
|
0aa9189d17 | ||
|
|
e2e15994c6 | ||
|
|
673c15670c | ||
|
|
eb1466288b | ||
|
|
8c9db3f302 | ||
|
|
326a292e27 | ||
|
|
2cbacb2704 | ||
|
|
e394b73553 | ||
|
|
66c6bc667c | ||
|
|
4a481a898b | ||
|
|
cccb9dfcf9 | ||
|
|
95e0e18ecc | ||
|
|
6a602f4054 | ||
|
|
41c39284c5 | ||
|
|
62988f04e0 | ||
|
|
ec09bcdc92 | ||
|
|
bcd8010ade | ||
|
|
e793fea93e | ||
|
|
e6b4669ae9 | ||
|
|
6c8df95f56 | ||
|
|
fab5afed28 | ||
|
|
9f1971f7d6 | ||
|
|
856ab536fb | ||
|
|
7e65d486bc | ||
|
|
60b61dd7b1 | ||
|
|
d8b0477cdc | ||
|
|
99bae1fab2 | ||
|
|
2294620436 | ||
|
|
a39a2a19da | ||
|
|
5758d4c93e | ||
|
|
fbd1d2170a | ||
|
|
55c7560ce2 | ||
|
|
bff84f9cb6 | ||
|
|
19d9e5cea9 | ||
|
|
b6c274b2cf | ||
|
|
f665cf9b92 | ||
|
|
ace7540b9c | ||
|
|
1d5ff8adf0 | ||
|
|
c09713d50f | ||
|
|
0971aba7f9 | ||
|
|
d29f821338 | ||
|
|
1db287fb24 | ||
|
|
eb9e42c8f5 | ||
|
|
e48c50956d | ||
|
|
691202ace4 | ||
|
|
1d4b2d58ac | ||
|
|
d81f9d4f65 | ||
|
|
7a2fb8302d | ||
|
|
dbac833a26 | ||
|
|
d148e7d9e5 | ||
|
|
8d04f11048 | ||
|
|
829d3a4b42 | ||
|
|
a831975f4f | ||
|
|
25d2319287 | ||
|
|
d1ead6c543 | ||
|
|
0149a6e557 | ||
|
|
35856b745f | ||
|
|
667b7f16e1 | ||
|
|
910c020488 | ||
|
|
463e05fcc0 | ||
|
|
9a2fd6d9fd | ||
|
|
0535b798b2 | ||
|
|
199c15ff3f | ||
|
|
830720790e | ||
|
|
3dea070ade | ||
|
|
9716f97a51 | ||
|
|
ff1f38aeb7 | ||
|
|
640360abd7 | ||
|
|
0c70663345 | ||
|
|
a4d7ff721b | ||
|
|
13ace1b8a8 | ||
|
|
7bbe1ed0be | ||
|
|
92f751250e | ||
|
|
422728844a | ||
|
|
107d884274 | ||
|
|
102037dd42 | ||
|
|
dce698a648 | ||
|
|
7cbf28e134 | ||
|
|
1a638c490a | ||
|
|
47c2fab768 | ||
|
|
064841f555 | ||
|
|
530448c3b4 | ||
|
|
19061122b2 | ||
|
|
edfc95e4c3 | ||
|
|
8cedc12387 | ||
|
|
e2558dafc0 | ||
|
|
d644d322c3 | ||
|
|
3d4f8ce3aa | ||
|
|
a10a9f9507 | ||
|
|
b6254f41bc | ||
|
|
86d7b380d5 | ||
|
|
d6b36b49fa | ||
|
|
49f4ac5ca9 | ||
|
|
b43522263e | ||
|
|
d716c31af5 | ||
|
|
ea2c3dc289 | ||
|
|
3d47813f12 | ||
|
|
c8a4958883 | ||
|
|
dee47af58f | ||
|
|
2c625d72fa | ||
|
|
ede78ea7cf | ||
|
|
f1c180ddeb | ||
|
|
5255061db3 | ||
|
|
8aba96a9bd | ||
|
|
6d638b3983 | ||
|
|
85c6eddcf0 | ||
|
|
d554e4b6f7 | ||
|
|
596a3d24f3 | ||
|
|
361c0b5eba | ||
|
|
8a5910b530 | ||
|
|
d3fbe7c288 | ||
|
|
823c7b0b6f | ||
|
|
b0c6005a2e | ||
|
|
f682321d25 | ||
|
|
70fd29429e | ||
|
|
e528465a6e | ||
|
|
a0175e845f | ||
|
|
2f9e0d49ee | ||
|
|
5dbac4897b | ||
|
|
f160d8eb61 | ||
|
|
e225966202 | ||
|
|
aa4d8d0211 | ||
|
|
ad7022b599 | ||
|
|
0eb07c22f2 | ||
|
|
72a314590c | ||
|
|
ab5ab9b85a | ||
|
|
f83e8a01fc | ||
|
|
7330c0224c | ||
|
|
0fac6ba017 | ||
|
|
e34e186085 | ||
|
|
a754f6181d | ||
|
|
f656116ac6 | ||
|
|
9728032922 | ||
|
|
a6188f0fe2 | ||
|
|
9b054d195a | ||
|
|
876989a572 | ||
|
|
7379df3f00 | ||
|
|
7909571e70 | ||
|
|
f020c30f56 | ||
|
|
0531717000 | ||
|
|
5eff6bccd9 | ||
|
|
83322860e0 | ||
|
|
40b76e1b74 | ||
|
|
3b3b469b9b | ||
|
|
1aeb2a93f8 | ||
|
|
893f77ba08 | ||
|
|
2cb73141fb | ||
|
|
93a517eaf8 | ||
|
|
d0f6d643a4 | ||
|
|
a989de98e5 | ||
|
|
7410a5be98 | ||
|
|
2c5ba00521 | ||
|
|
2189a41334 | ||
|
|
112256ddd7 | ||
|
|
42d43dfd15 | ||
|
|
ffb74b9717 | ||
|
|
c3f092dc2a | ||
|
|
e8d721f92f | ||
|
|
3f4ceefbc7 | ||
|
|
fc978e9d85 | ||
|
|
4c12972101 | ||
|
|
ddbb580fca | ||
|
|
92348f004d | ||
|
|
7558d98116 | ||
|
|
a5cda09e3c | ||
|
|
2b934ab988 | ||
|
|
3741f876d5 | ||
|
|
9c623b7fd7 | ||
|
|
c568076b6b | ||
|
|
1ba6898705 | ||
|
|
c1f34caa2e | ||
|
|
e85f14e1b5 | ||
|
|
c46a8b86f7 | ||
|
|
8bcc020627 | ||
|
|
e690af2de4 | ||
|
|
1ec4719806 | ||
|
|
31eacefa97 | ||
|
|
ddac5fd0f2 | ||
|
|
d50e22ea9b | ||
|
|
887792c853 | ||
|
|
642a2ac1a9 | ||
|
|
59f7a88e51 | ||
|
|
8c9e1e3446 | ||
|
|
a043a55b38 | ||
|
|
fd40fa71f6 | ||
|
|
a3889236be | ||
|
|
31bd26a813 | ||
|
|
c964f8e0fc | ||
|
|
ae682b0525 | ||
|
|
89a3b02ff5 | ||
|
|
0aeb1262db | ||
|
|
737b667c1b | ||
|
|
a6d144d555 | ||
|
|
0c1e8f0305 | ||
|
|
a18152b483 | ||
|
|
2f51e3d546 | ||
|
|
d540b7f32e | ||
|
|
de9005cf20 | ||
|
|
7ff42596ef | ||
|
|
e069101c99 | ||
|
|
c1acf27cd0 | ||
|
|
62ce58330e | ||
|
|
b5148d5f2f | ||
|
|
1a7cc79bb6 | ||
|
|
a1167f64e1 | ||
|
|
25ed8303f2 | ||
|
|
68c2c4058b | ||
|
|
628cc0633b | ||
|
|
8b862abb40 | ||
|
|
3775f5972b | ||
|
|
9e3389f8c0 | ||
|
|
e30aa833db | ||
|
|
f07ea0796a | ||
|
|
3c7d76954e | ||
|
|
fd51264bb8 | ||
|
|
33bb679046 | ||
|
|
d88a992efb | ||
|
|
194c65778b | ||
|
|
481d8fefbb | ||
|
|
611c6eb6f0 | ||
|
|
af9f9b3263 | ||
|
|
b78ff00d3a | ||
|
|
316f798709 | ||
|
|
8a5c96f8bf | ||
|
|
8b8ac80d72 | ||
|
|
4181109ec6 | ||
|
|
9e83d738b6 | ||
|
|
955dbc0ac2 | ||
|
|
13ffb722a1 | ||
|
|
c9e8d891e1 | ||
|
|
a39a64b3b1 | ||
|
|
145d6b7a96 | ||
|
|
d73e1efaf1 | ||
|
|
f74a2633b3 | ||
|
|
2df5d7dc6d | ||
|
|
185830e7a1 | ||
|
|
a01a587ca0 | ||
|
|
58c16a737c | ||
|
|
0d7725aabb | ||
|
|
0ed7f87794 | ||
|
|
26fba8e2a6 | ||
|
|
fa3c70e99f | ||
|
|
c366813c12 | ||
|
|
22af442720 | ||
|
|
3c4e4845e3 | ||
|
|
d8b4479f5d | ||
|
|
288e29af3a | ||
|
|
b2280d8b58 | ||
|
|
b2278c91b8 | ||
|
|
d27f43adfe | ||
|
|
9d31e8d6e0 | ||
|
|
c9cafbb55f | ||
|
|
21d4a50c54 | ||
|
|
c3e5afe4d3 | ||
|
|
703f881019 | ||
|
|
8fa763b9c7 | ||
|
|
9b723947e6 | ||
|
|
277dc9129d | ||
|
|
66700e0dff | ||
|
|
f8d0bae5d5 | ||
|
|
7efa43d5d5 | ||
|
|
7ce17f90c4 | ||
|
|
3e97b05a73 | ||
|
|
67fd787128 | ||
|
|
e5753e8f82 | ||
|
|
526096bef3 | ||
|
|
e9aadad873 | ||
|
|
992803e10c | ||
|
|
e437cb7a84 | ||
|
|
91c3370fdd | ||
|
|
5e05f9e4c2 | ||
|
|
7bcc296fc2 | ||
|
|
5ff4a8f70b | ||
|
|
09d1c2ed08 | ||
|
|
57f22a2fcb | ||
|
|
b26b522d8b | ||
|
|
611fd68575 | ||
|
|
49337a3e3f | ||
|
|
f2ca05758c | ||
|
|
de8d7ec999 | ||
|
|
c84acbc39b | ||
|
|
73695722cf | ||
|
|
38d87bf213 | ||
|
|
9b153ff0dd | ||
|
|
f840edf899 | ||
|
|
77641f4aa3 | ||
|
|
54b64418be | ||
|
|
b195d93e63 | ||
|
|
bd9d0a436c | ||
|
|
13e56aed01 | ||
|
|
5508660c19 | ||
|
|
cba10856da | ||
|
|
755c6dc36a | ||
|
|
632e88ae0b | ||
|
|
8087a93534 | ||
|
|
43fb02c4cc | ||
|
|
235b235245 | ||
|
|
99dce8c673 | ||
|
|
3761ff4979 | ||
|
|
2dfa895ba2 | ||
|
|
2e1c5fdc18 | ||
|
|
de70e41590 | ||
|
|
659b4e965a | ||
|
|
14c1240671 | ||
|
|
617ac9e893 | ||
|
|
98b7f33fab | ||
|
|
1502212085 | ||
|
|
7585f9895c | ||
|
|
def8c6df46 | ||
|
|
8ea10853ad | ||
|
|
9cefead73e | ||
|
|
2ffdaa6175 | ||
|
|
22765b27dd | ||
|
|
2979fc49bc | ||
|
|
bc838bf0f2 | ||
|
|
8a1546f9dd | ||
|
|
4dcdda0089 | ||
|
|
544eaa0ecc | ||
|
|
58e18c1d60 | ||
|
|
5667235d8d | ||
|
|
ef66416389 | ||
|
|
763d5c0788 | ||
|
|
fce810092f | ||
|
|
e141163350 | ||
|
|
e34d09a99c | ||
|
|
facf8876b5 | ||
|
|
227268ecda | ||
|
|
b53deb5ad8 | ||
|
|
3fe822253a | ||
|
|
06782590b7 | ||
|
|
e7c23f359a | ||
|
|
2ac14e96b9 | ||
|
|
46fbccd267 | ||
|
|
93d049e18c | ||
|
|
79d4ef3d36 | ||
|
|
744a6496c7 | ||
|
|
32e73ab588 | ||
|
|
208096f3c7 | ||
|
|
e2d016c28f | ||
|
|
6799b6b337 | ||
|
|
5486bc31d6 | ||
|
|
4f4b52e423 | ||
|
|
f47138112a | ||
|
|
cc6151d0bd | ||
|
|
f2b755ef35 | ||
|
|
6e302d4b76 | ||
|
|
6f2b9bd6d0 | ||
|
|
fd0bcf4b5c | ||
|
|
4310fdbc21 | ||
|
|
b5a71650ea | ||
|
|
ac6a6c8136 | ||
|
|
c551231edc | ||
|
|
352c027bb5 | ||
|
|
db66272555 | ||
|
|
dd8ba4c64d | ||
|
|
9cb8c56e4d | ||
|
|
c2ea7d0ce0 | ||
|
|
7d728556c8 | ||
|
|
ec54a0519d | ||
|
|
526f6ea8ca | ||
|
|
810266c44e | ||
|
|
bf342975db | ||
|
|
3fc4b99841 | ||
|
|
c4b4d4e7a8 | ||
|
|
5001490210 | ||
|
|
7397a0d18d | ||
|
|
28a487777f | ||
|
|
f95384b41a | ||
|
|
d05ec2095d | ||
|
|
7ca0cd5529 | ||
|
|
78d042b33b | ||
|
|
be507d05e9 | ||
|
|
9c5b1cdc4a | ||
|
|
64015fcec2 | ||
|
|
cf5099f259 | ||
|
|
e4f815e24f | ||
|
|
f4ade95551 | ||
|
|
ec6b439d39 | ||
|
|
07a58c0a38 | ||
|
|
178c044070 | ||
|
|
c5ed370c8b | ||
|
|
8c7edbb83a | ||
|
|
cbc8b7a808 | ||
|
|
a87d2df05e | ||
|
|
14de0c6a01 | ||
|
|
3b63e1a59b | ||
|
|
17262ff63d | ||
|
|
a891ccd7d1 | ||
|
|
26fedfa3d1 | ||
|
|
b60326491e | ||
|
|
9611bc8a0c | ||
|
|
fc3abd7d1d | ||
|
|
57a14f63ac | ||
|
|
99ba0f6131 | ||
|
|
d4c67a8a7d | ||
|
|
69d97f4d77 | ||
|
|
e862f8d56c | ||
|
|
8549661327 | ||
|
|
3a3c21e059 | ||
|
|
49aedb0026 | ||
|
|
b86fb446b0 | ||
|
|
b292b769bd | ||
|
|
4539a46a82 | ||
|
|
df375808d9 | ||
|
|
7e58717e07 | ||
|
|
be88f55657 | ||
|
|
9aae64d5cf | ||
|
|
c9e45567ab | ||
|
|
3d37b5e056 | ||
|
|
e0ddedaff5 | ||
|
|
65fcc3d128 | ||
|
|
9a68d13e1c | ||
|
|
c134be8c75 | ||
|
|
e490c65f99 | ||
|
|
429753aa6e | ||
|
|
b46dacd353 | ||
|
|
59d19b67c7 | ||
|
|
07edda2e22 | ||
|
|
d08ceb3855 | ||
|
|
f8abfabe17 | ||
|
|
7014cc8e4d | ||
|
|
e4e05eb4b3 | ||
|
|
8e995dd2b6 | ||
|
|
a9bdf0729f | ||
|
|
b0a5c2df1c | ||
|
|
87e7b87a1f | ||
|
|
6972cd49af | ||
|
|
13bccc4cbf | ||
|
|
a58e0139b5 | ||
|
|
aaeaf87bc2 | ||
|
|
b22906e0fa | ||
|
|
f08c4767c2 | ||
|
|
4a9d98ac4d | ||
|
|
c4c89ac2b2 | ||
|
|
39a16f8c36 | ||
|
|
f1310a3148 | ||
|
|
0ed695a899 | ||
|
|
9e90028be6 | ||
|
|
03fcc89abf | ||
|
|
92393357c7 | ||
|
|
225eea4158 | ||
|
|
9697a61526 | ||
|
|
6ad6e8fddc | ||
|
|
c709b5d7db | ||
|
|
1191909961 | ||
|
|
54882b4e25 | ||
|
|
2a5913c658 | ||
|
|
b3e3d2fe62 | ||
|
|
d43057c8af | ||
|
|
cc39bed24d | ||
|
|
146a8c0256 | ||
|
|
c0321f660c | ||
|
|
3b365b7933 | ||
|
|
7db6cb7ef4 | ||
|
|
fbe6df0939 | ||
|
|
b88e3be378 | ||
|
|
4f10486987 | ||
|
|
b284381534 | ||
|
|
5471464dae | ||
|
|
0f388c5173 | ||
|
|
8898ab0078 | ||
|
|
56df5ad1e7 | ||
|
|
3a3246ee3f | ||
|
|
b4500e701f | ||
|
|
5defc28505 | ||
|
|
30a0dff4e8 | ||
|
|
4bc97c5d37 | ||
|
|
1684c2c7e6 | ||
|
|
d43e4540fb | ||
|
|
08a29d5cb0 | ||
|
|
da5e4de861 | ||
|
|
fccfd63022 | ||
|
|
a65596de3e | ||
|
|
060bed6e72 | ||
|
|
67565203bb | ||
|
|
3bf4db8529 | ||
|
|
5a6a92806c | ||
|
|
ce677ef602 | ||
|
|
222f786b88 | ||
|
|
4420bcaf9b | ||
|
|
32361e62f5 | ||
|
|
62c2e42940 | ||
|
|
e79d96f8f8 | ||
|
|
c9040e5eec | ||
|
|
1de2d2aaed | ||
|
|
81ba45adf9 | ||
|
|
018b556d6b | ||
|
|
5bd2de4179 | ||
|
|
fd836ec10f | ||
|
|
12047d90ef | ||
|
|
0616d944c5 | ||
|
|
7976cc42fe | ||
|
|
36f295aebb | ||
|
|
97b5d52a89 | ||
|
|
c0ed71881b | ||
|
|
7b0dd9618d | ||
|
|
ad382b1569 | ||
|
|
a56553c6f6 | ||
|
|
292516ab89 | ||
|
|
f7f4899926 | ||
|
|
936617707f | ||
|
|
aac95549cb | ||
|
|
8833c310e2 | ||
|
|
81e107d7ef | ||
|
|
fe88ab30d3 | ||
|
|
d9cad3ef85 | ||
|
|
d9f23c40c6 | ||
|
|
6c2c2529ce | ||
|
|
7bb8c3d0e5 | ||
|
|
17f79d0b22 | ||
|
|
4d66a8538d | ||
|
|
5e9057f060 | ||
|
|
b80a30bcc0 | ||
|
|
a2b02f44cc | ||
|
|
646e7401b7 | ||
|
|
fd8e763ae6 | ||
|
|
2d57f6d6d1 | ||
|
|
5d97a622bb | ||
|
|
8398305d6a | ||
|
|
c7a60b1084 | ||
|
|
80085a1671 | ||
|
|
9b10020ba0 | ||
|
|
946ca45202 | ||
|
|
030913dc48 | ||
|
|
eaeb74ef7a | ||
|
|
54ad5c04bb | ||
|
|
96839016ba | ||
|
|
bc0df8e60c | ||
|
|
598ec8410d | ||
|
|
fedbf3b6f7 | ||
|
|
dabfb2b8c8 | ||
|
|
814a02d14a | ||
|
|
21228216f9 | ||
|
|
548334eb0b | ||
|
|
8e9ff63493 | ||
|
|
7d01ce5506 | ||
|
|
fa0f049a4e | ||
|
|
a3cdd42920 | ||
|
|
1101ce0ba9 | ||
|
|
aaa5934790 | ||
|
|
fc37573482 | ||
|
|
bc778a4d07 | ||
|
|
a35eeab85b | ||
|
|
e0ec28a2a8 | ||
|
|
58123a902c | ||
|
|
33eb4c14ae | ||
|
|
7edde5ce61 | ||
|
|
f7df500186 | ||
|
|
ef3e0dfe56 | ||
|
|
40f4121c7d | ||
|
|
3df69608d4 | ||
|
|
0d3afc0e44 | ||
|
|
529f949470 | ||
|
|
31367d839e | ||
|
|
48269aa553 | ||
|
|
92cd112aa2 | ||
|
|
ae3ffc8105 | ||
|
|
4ddc9494aa | ||
|
|
2684c9f229 | ||
|
|
b3208934f4 | ||
|
|
c8cec10869 |
No files matched your search
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"presets": [
|
||||
[
|
||||
"@babel/env",
|
||||
{
|
||||
"modules": false
|
||||
}
|
||||
]
|
||||
],
|
||||
"plugins": [
|
||||
"@babel/plugin-external-helpers",
|
||||
"@babel/plugin-transform-runtime"
|
||||
]
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
/docs
|
||||
/dist
|
||||
/test
|
||||
/scripts
|
||||
/node_modules
|
||||
/packages/**/node_modules
|
||||
/packages/**/dist
|
||||
@@ -1,36 +0,0 @@
|
||||
{
|
||||
"parser": "@babel/eslint-parser",
|
||||
"extends": ["standard", "prettier"],
|
||||
"env": {
|
||||
"browser": true,
|
||||
"es6": true
|
||||
},
|
||||
"globals": {
|
||||
"Artplayer": false
|
||||
},
|
||||
"rules": {
|
||||
"no-shadow": 0,
|
||||
"no-param-reassign": 0,
|
||||
"no-restricted-exports": 0,
|
||||
"no-loss-of-precision": 0,
|
||||
"no-promise-executor-return": 0,
|
||||
"no-unreachable-loop": 0,
|
||||
"no-unsafe-optional-chaining": 0,
|
||||
"no-useless-backreference": 0,
|
||||
"default-case-last": 0,
|
||||
"no-nonoctal-decimal-escape": 0,
|
||||
"prefer-object-spread": 0,
|
||||
"prefer-destructuring": 0,
|
||||
"arrow-body-style": 0,
|
||||
"accessor-pairs": 0,
|
||||
"import/named": 0
|
||||
},
|
||||
"parserOptions": {
|
||||
"sourceType": "module",
|
||||
"ecmaVersion": 8,
|
||||
"requireConfigFile": false,
|
||||
"babelOptions": {
|
||||
"presets": ["@babel/preset-react"]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,3 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
patreon: artplayer
|
||||
custom: https://paypal.me/harveyzack
|
||||
@@ -1,20 +0,0 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: npm
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: daily
|
||||
time: "19:00"
|
||||
open-pull-requests-limit: 10
|
||||
ignore:
|
||||
- dependency-name: cssnano
|
||||
versions:
|
||||
- 5.0.0
|
||||
- 5.0.1
|
||||
- dependency-name: autoprefixer
|
||||
versions:
|
||||
- 10.2.4
|
||||
- 10.2.5
|
||||
- dependency-name: eslint-config-prettier
|
||||
versions:
|
||||
- 8.0.0
|
||||
@@ -4,11 +4,6 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
- 'docs/**'
|
||||
- 'dist/**'
|
||||
- 'images/**'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -17,26 +12,32 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [16.x]
|
||||
node-version: [20.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: npm install, lint, build, and test
|
||||
run: |
|
||||
npm install
|
||||
npx lerna bootstrap --hoist
|
||||
npm run lint
|
||||
npm run build:all
|
||||
cd packages/artplayer-document && ls
|
||||
npm install
|
||||
npm run build
|
||||
cd ../../ && ls
|
||||
npm run test:create
|
||||
npm run test
|
||||
npm run sizereport
|
||||
env:
|
||||
CI: true
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: install, lint, build, and test
|
||||
run: |
|
||||
yarn
|
||||
yarn test:playback
|
||||
yarn lint
|
||||
yarn build:all
|
||||
yarn test:dash-control
|
||||
env:
|
||||
CI: true
|
||||
|
||||
- name: Deploy to GitHub Pages
|
||||
if: success()
|
||||
run: |
|
||||
git config --global user.name 'github-actions[bot]'
|
||||
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
|
||||
git add -f docs
|
||||
git commit -m 'Deploy to GitHub Pages'
|
||||
git subtree split --prefix docs master -b gh-pages-temp
|
||||
git push origin gh-pages-temp:refs/heads/gh-pages --force
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
+3
-4
@@ -1,8 +1,7 @@
|
||||
node_modules
|
||||
.env
|
||||
.vscode
|
||||
.DS_Store
|
||||
*.log
|
||||
commit.json
|
||||
node_modules
|
||||
package-lock.json
|
||||
.size-snapshot.json
|
||||
lerna-debug.log
|
||||
yarn.lock
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"useTabs": false,
|
||||
"tabWidth": 4,
|
||||
"singleQuote": true,
|
||||
"trailingComma": "all",
|
||||
"printWidth": 120
|
||||
}
|
||||
@@ -0,0 +1,287 @@
|
||||
# AGENTS.md
|
||||
|
||||
## Project Summary
|
||||
|
||||
ArtPlayer is a monorepo for a modern HTML5 video player and its ecosystem packages.
|
||||
|
||||
- Homepage: `https://artplayer.org`
|
||||
- Local dev site: `http://localhost:8082`
|
||||
- API docs: `https://artplayer.org/document`
|
||||
- Packaging model: workspace monorepo with per-package versioning and per-package build output
|
||||
|
||||
The repository contains:
|
||||
|
||||
- `packages/artplayer`: the core player
|
||||
- `packages/artplayer-plugin-*`: UI and playback plugins
|
||||
- `packages/artplayer-proxy-*`: proxy renderers and playback adapters
|
||||
- `packages/artplayer-tool-*`: helper tools
|
||||
- `packages/artplayer-vitepress`: docs site package
|
||||
- `docs/`: local demo site, examples, compiled assets, generated docs
|
||||
- `scripts/`: custom build/dev/doc tooling
|
||||
|
||||
## Working Style For This Repo
|
||||
|
||||
- Verify the real implementation before editing docs or examples.
|
||||
- Prefer changing the source package first, then regenerate build artifacts only when needed.
|
||||
- Keep package APIs small and consistent with existing ArtPlayer plugin conventions.
|
||||
- Preserve the existing visual and API style of sibling packages instead of inventing a new pattern.
|
||||
- When touching demo examples, make sure the example still works in `http://localhost:8082`.
|
||||
- Do not hand-edit `dist/`, `docs/compiled/`, or `docs/uncompiled/` unless a build step generated them.
|
||||
|
||||
## Primary Commands
|
||||
|
||||
Use the repo scripts rather than ad hoc bundler commands.
|
||||
|
||||
### Development
|
||||
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
Starts the local dev site on port `8082` and interactively selects a package to watch. The selected package is built into:
|
||||
|
||||
- `docs/uncompiled/<package>/`
|
||||
|
||||
### Production Build
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
Interactive build for one package. Outputs:
|
||||
|
||||
- `packages/<name>/dist/*.js|*.legacy.js|*.mjs`
|
||||
- copied artifacts into `docs/compiled/`
|
||||
|
||||
Build all packages:
|
||||
|
||||
```bash
|
||||
npm run build all
|
||||
```
|
||||
|
||||
### Other Project Scripts
|
||||
|
||||
```bash
|
||||
npm run build:i18n
|
||||
npm run build:ts
|
||||
npm run build:docs
|
||||
npm run build:llm
|
||||
npm run build:test
|
||||
npm run lint
|
||||
npm run build:all
|
||||
```
|
||||
|
||||
Notes:
|
||||
|
||||
- `npm run lint` targets package source/types plus scripts and TypeScript demo assets.
|
||||
- `npm run build:all` is expensive; use it when a change truly spans builds/docs/types/lint together.
|
||||
|
||||
## Useful Local URLs
|
||||
|
||||
- Root demo index: `http://localhost:8082`
|
||||
- Demo by package/example:
|
||||
- `http://localhost:8082/?libs=./uncompiled/<package>/index.js&example=<example>`
|
||||
- Docs: `http://localhost:8082/document/`
|
||||
|
||||
For proxy/plugin work, prefer validating on the local demo page rather than reasoning only from source.
|
||||
|
||||
## Repository Layout
|
||||
|
||||
### Core package
|
||||
|
||||
- `packages/artplayer/src/index.js`: player entry
|
||||
- `packages/artplayer/src/player/`: playback mixins and player-facing behavior
|
||||
- `packages/artplayer/src/control/`: bottom controls
|
||||
- `packages/artplayer/src/setting/`: settings panel
|
||||
- `packages/artplayer/src/contextmenu/`: context menu items
|
||||
- `packages/artplayer/src/plugins/`: built-in plugins
|
||||
- `packages/artplayer/src/utils/`: shared helpers, component base classes, DOM utilities
|
||||
- `packages/artplayer/types/`: public TS declarations
|
||||
|
||||
### Ecosystem packages
|
||||
|
||||
Most ecosystem packages follow this pattern:
|
||||
|
||||
```text
|
||||
packages/<package>/
|
||||
src/index.js
|
||||
src/*.less # optional
|
||||
types/*.d.ts # optional but preferred for public APIs
|
||||
README.md
|
||||
package.json
|
||||
dist/*
|
||||
```
|
||||
|
||||
### Demo and docs assets
|
||||
|
||||
- `docs/assets/example/*.js`: runnable browser examples
|
||||
- `docs/assets/ts/*.js`: TypeScript demo assets targeted by lint/docs flows
|
||||
- `docs/uncompiled/`: dev output
|
||||
- `docs/compiled/`: production-copied output
|
||||
- `docs/document/`: generated docs content
|
||||
|
||||
## Architecture Notes
|
||||
|
||||
### Core player
|
||||
|
||||
ArtPlayer composes many subsystems during construction. Common integration points:
|
||||
|
||||
- `art.template`
|
||||
- `art.events`
|
||||
- `art.controls`
|
||||
- `art.setting`
|
||||
- `art.contextmenu`
|
||||
- `art.layers`
|
||||
- `art.plugins`
|
||||
- `art.player`
|
||||
|
||||
When extending behavior, prefer integrating with these existing systems rather than bypassing them.
|
||||
|
||||
### Control and setting components
|
||||
|
||||
Controls and setting entries are managed through component registries.
|
||||
|
||||
Relevant implementation:
|
||||
|
||||
- `packages/artplayer/src/control/index.js`
|
||||
- `packages/artplayer/src/setting/index.js`
|
||||
- `packages/artplayer/src/utils/component.js`
|
||||
|
||||
Important behavior:
|
||||
|
||||
- `art.controls.update(...)` and `art.setting.update(...)` replace existing entries by `name`
|
||||
- `art.controls.remove(name)` and `art.setting.remove(name)` are the correct cleanup APIs
|
||||
- selector-style controls rely on `default` flags to determine highlighted items
|
||||
|
||||
If a plugin conditionally shows UI, it must also clean that UI up when the condition no longer holds.
|
||||
|
||||
### Plugin shape
|
||||
|
||||
Standard plugin/export shape:
|
||||
|
||||
```js
|
||||
export default function somePlugin(option = {}) {
|
||||
return (art) => {
|
||||
return {
|
||||
name: 'somePlugin',
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Naming conventions:
|
||||
|
||||
- package: `artplayer-plugin-<name>`
|
||||
- global: `artplayerPlugin<Name>`
|
||||
- exported function name should match the global naming convention
|
||||
|
||||
### Proxy packages
|
||||
|
||||
Proxy packages usually return a non-video element or video-like shim and emulate media element behavior for ArtPlayer.
|
||||
|
||||
Examples:
|
||||
|
||||
- `packages/artplayer-proxy-canvas`
|
||||
- `packages/artplayer-proxy-mediabunny`
|
||||
|
||||
When editing proxy packages:
|
||||
|
||||
- keep the HTMLMediaElement-like surface coherent
|
||||
- keep event ordering stable
|
||||
- treat `loadedmetadata`, `loadeddata`, `canplay`, `seeked`, `waiting`, and `pause/play` semantics carefully
|
||||
- ensure UI state is updated and cleaned up when source topology changes
|
||||
|
||||
### HLS / adaptive playback controls
|
||||
|
||||
The reference implementation for adaptive selector UI is:
|
||||
|
||||
- `packages/artplayer-plugin-hls-control/src/index.js`
|
||||
|
||||
If adding HLS-like quality/audio selection elsewhere:
|
||||
|
||||
- follow the selector format used there
|
||||
- derive highlighted items from actual current tracks, not only from mode flags
|
||||
- avoid stale selectors when changing to streams without the same topology
|
||||
|
||||
## Build and Artifact Rules
|
||||
|
||||
- Always edit `src/` and `types/` first.
|
||||
- Rebuild package artifacts after source changes that should ship.
|
||||
- Do not treat `dist/` as source of truth.
|
||||
- If a change affects demo behavior, also verify the matching file in `docs/assets/example/`.
|
||||
|
||||
For package-specific builds, the normal flow is:
|
||||
|
||||
1. `npm run dev` and pick the package for fast local iteration
|
||||
2. validate in `http://localhost:8082`
|
||||
3. `npm run build` and pick the package when ready to update shippable artifacts
|
||||
|
||||
## Documentation Expectations
|
||||
|
||||
If a public package API changes, check whether these also need updates:
|
||||
|
||||
- the package `README.md`
|
||||
- `docs/assets/example/<name>.js`
|
||||
- `types/<name>.d.ts`
|
||||
- any generated compiled outputs if you built the package
|
||||
|
||||
Keep examples realistic and runnable. Prefer local demo URLs or stable public sample streams.
|
||||
|
||||
## Code Quality Expectations
|
||||
|
||||
- Follow existing plain JavaScript style in the repo.
|
||||
- Use ASCII unless a file already requires otherwise.
|
||||
- Match the minimal-comment style of neighboring files.
|
||||
- Avoid unnecessary abstraction; this codebase generally prefers direct implementation.
|
||||
- Respect current browser targets:
|
||||
- modern build: `es2020`
|
||||
- legacy build: `es2015`
|
||||
|
||||
## Validation Checklist
|
||||
|
||||
For most package changes, validate as many of these as apply:
|
||||
|
||||
- source file lint passes
|
||||
- local demo page loads
|
||||
- expected events fire once and in the correct order
|
||||
- controls/settings render correctly
|
||||
- cleanup works after restart, source switch, or destroy
|
||||
- package build succeeds
|
||||
|
||||
For playback/proxy changes specifically:
|
||||
|
||||
- test initial load
|
||||
- test play/pause
|
||||
- test seek
|
||||
- test switching source or track topology
|
||||
- test whether UI reflects the actual selected track/quality
|
||||
|
||||
## Notes Specific To `artplayer-proxy-mediabunny`
|
||||
|
||||
This package now depends on modern `mediabunny` and supports HLS through `mediabunny` input handling.
|
||||
|
||||
Files to understand first:
|
||||
|
||||
- `packages/artplayer-proxy-mediabunny/src/index.js`
|
||||
- `packages/artplayer-proxy-mediabunny/src/VideoShim.js`
|
||||
- `packages/artplayer-proxy-mediabunny/src/MediaBunnyEngine.js`
|
||||
- `packages/artplayer-proxy-mediabunny/src/input.js`
|
||||
- `packages/artplayer-proxy-mediabunny/src/m3u8.js`
|
||||
|
||||
Key expectations:
|
||||
|
||||
- HLS source detection should happen in `input.js`
|
||||
- track selection should use actual pairable audio/video relationships
|
||||
- selector UI should mirror the behavior of `artplayer-plugin-hls-control`
|
||||
- selector cleanup is required when a later source no longer supports the same controls
|
||||
- avoid duplicate readiness events during load and track switches
|
||||
|
||||
## When Unsure
|
||||
|
||||
Start with the nearest sibling implementation instead of inventing a new pattern:
|
||||
|
||||
- control/setting UI: `artplayer-plugin-hls-control`, `artplayer-plugin-dash-control`
|
||||
- proxy behavior: `artplayer-proxy-canvas`, `artplayer-proxy-mediabunny`
|
||||
- component lifecycle: `packages/artplayer/src/utils/component.js`
|
||||
|
||||
If a change spans source, examples, and packaging, make all three consistent in the same pass.
|
||||
+435
@@ -0,0 +1,435 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
- Fix safe area issue when enter web fullscreen [#1033](https://github.com/zhw2590582/ArtPlayer/issues/1033)
|
||||
|
||||
## [5.4.0] - 2026-03-12
|
||||
|
||||
- Refactor `Parcel` to `Vite`
|
||||
- Change `Artplayer.FULLSCREEN_WEB_IN_BODY` defaults to `true`
|
||||
- The `reset` method is used to reset video request
|
||||
- Fix [#1014](https://github.com/zhw2590582/ArtPlayer/issues/1014)
|
||||
- Fix [#1023](https://github.com/zhw2590582/ArtPlayer/issues/1023)
|
||||
- Fix [#1028](https://github.com/zhw2590582/ArtPlayer/issues/1028)
|
||||
- Add `artplayer-plugin-jassub` plugin
|
||||
- Add `artplayer-proxy-mediabunny` plugin
|
||||
- Add `artplayer-plugin-audio-track` plugin
|
||||
- Add `artplayer-plugin-asr` plugin
|
||||
- Add `artplayer-plugin-danmuku-mask` plugin
|
||||
- Deprecate `artplayer-plugin-libass` plugin
|
||||
- Prevent `Hint.css` from polluting global styles
|
||||
|
||||
## [5.3.0] - 2025-09-06
|
||||
|
||||
- Rename `.esm.js` to `.mjs`
|
||||
- Remove the default `fill` color value of `svg`
|
||||
- Optimize the `autoOrientation` logic
|
||||
- Add `Artplayer.REMOVE_SRC_WHEN_DESTROY`
|
||||
- Add `artplayer-plugin-document-pip` plugin
|
||||
- Add `art.events.bindGlobalEvents` method for rebinding global methods
|
||||
- Optimize `artplayer.d.ts`, now you can directly import `Option`
|
||||
|
||||
```ts
|
||||
import type { Option } from 'artplayer'
|
||||
|
||||
const option: Option = {
|
||||
container: '.artplayer-app',
|
||||
url: './assets/sample/video.mp4',
|
||||
}
|
||||
```
|
||||
|
||||
- Simplify `i18n` import
|
||||
|
||||
```ts
|
||||
import fr from 'artplayer/i18n/fr'
|
||||
import id from 'artplayer/i18n/id'
|
||||
|
||||
const option = {
|
||||
container: '.artplayer-app',
|
||||
url: './assets/sample/video.mp4',
|
||||
i18n: { id, fr },
|
||||
lang: 'fr',
|
||||
}
|
||||
```
|
||||
|
||||
## [5.2.5] - 2025-08-01
|
||||
|
||||
- Add `ESM` version for all packages, such as `artplayer/dist/artplayer.esm.js`
|
||||
- Recognize `globalThis.CUSTOM_USER_AGENT` global variable for customizing `navigator.userAgent`
|
||||
- Fix missing `mount` parameter when initializing `artplayer-plugin-danmuku`
|
||||
|
||||
## [5.2.3] - 2025-04-20
|
||||
|
||||
- Add Vietnamese `vi`
|
||||
- Clear the `video.src` property on destroy
|
||||
- Add `onClick` option for `Setting`
|
||||
- Fix style loading failure of danmuku and chapter plugins when the page has no head tag
|
||||
- Add `gesture` option to enable or disable gesture events on mobile `video` element
|
||||
|
||||
## [5.2.2] - 2025-01-19
|
||||
|
||||
- Fix thumbnail crossover issue
|
||||
- Fix style loading failure when the page has no head tag
|
||||
- Add slider support in subtitle plugin settings panel for mobile dragging
|
||||
- Fix positioning error of settings panel when rotating screen
|
||||
- Fix classname switching error when fullscreen state changes
|
||||
|
||||
## [5.2.1] - 2024-10-26
|
||||
|
||||
- Refactor `Setting` component, fix state loss issue
|
||||
- For `Setting` of type `range`, callback now returns an array of numbers instead of a single number
|
||||
- Remove `isStringOrNumber` utility function
|
||||
- Fix inconsistent state issue in `artplayer-plugin-hls-control`
|
||||
- Deprecate `artplayer-plugin-dash-quality` plugin
|
||||
- Add new `artplayer-plugin-dash-control` plugin
|
||||
- Use `code` instead of deprecated `keyCode` for keyboard events
|
||||
- Add `keydown` event to listen for `keydown` from `document`
|
||||
|
||||
## [5.2.0] - 2024-10-19
|
||||
|
||||
- Add `option.proxy` for proxying third-party `video` and `canvas`
|
||||
- Add `artplayer-proxy-canvas` proxy, enabling video playback via `canvas`
|
||||
- Add `option.thumbnails.scale` for preview image scaling
|
||||
- Fix bug where changing `art.url` didn’t trigger `autoPlayback`: [#797](https://github.com/zhw2590582/ArtPlayer/issues/797)
|
||||
- Add `art.subtitle.cues` property for retrieving all subtitle list
|
||||
- Add `art.subtitle.activeCues` property for retrieving active subtitles
|
||||
- Add `subtitleBeforeUpdate` event triggered before subtitle element rendering
|
||||
- Change `subtitleUpdate` event to `subtitleAfterUpdate`, triggered after subtitle element rendering
|
||||
- Optimize trigger timing and callback parameters of `subtitleLoad` event
|
||||
- Remove `subtitleSwitch` event; use `subtitleLoad` instead
|
||||
- Upgrade `artplayer-plugin-hls-quality` to `artplayer-plugin-hls-control`
|
||||
- Add `artplayer-plugin-ambilight` plugin
|
||||
- Fix `thumbnails` display bug
|
||||
|
||||
## [5.1.7] - 2024-08-15
|
||||
|
||||
- Add `Artplayer.STYLE` property to return player style text
|
||||
- `art.screenshot('your-name')` now supports custom file names
|
||||
- When `Artplayer.CONTEXTMENU` is `false`, default context menu is no longer hidden
|
||||
- Add `art.thumbnails` property for dynamically setting `thumbnails`
|
||||
|
||||
## [5.1.6] - 2024-06-15
|
||||
|
||||
- Optimize `setBar` event
|
||||
- Add `artplayerPluginChapter` plugin
|
||||
- Add `art.plugins.artplayerPluginDanmuku.load(target)` parameter for appending danmuku library
|
||||
- Add `width` option to danmuku plugin; when player width is smaller than this, danmuku sender is placed at the bottom
|
||||
- Fix `artplayerPluginVttThumbnail` not displaying on mobile
|
||||
- Fix danmuku plugin style and percentage font-size bug
|
||||
- `thumbnails` are now visible on mobile too
|
||||
- Restore `screen.orientation.lock` functionality
|
||||
|
||||
## [5.1.5] - 2024-06-01
|
||||
|
||||
- Refactor `artplayerPluginDanmuku` plugin
|
||||
- Add `artplayerPluginChromecast` plugin
|
||||
- Add `fullscreenError` event
|
||||
- Optimize double-click event: [#728](https://github.com/zhw2590582/ArtPlayer/pull/728)
|
||||
- Fix delayed display of `thumbnails`
|
||||
- Add `art.plugins.lock.state = true/false` for manually controlling `lock` state
|
||||
- Control bar no longer auto-hides when mouse is on it or when settings panel is open
|
||||
- Remove `screen.orientation.lock` due to compatibility issues
|
||||
- Fix `fullscreen` bug on mobile
|
||||
|
||||
## [5.1.1] - 2024-01-11
|
||||
|
||||
- Plugin functions now support both synchronous and asynchronous returns
|
||||
|
||||
## [5.1.0] - 2023-12-23
|
||||
|
||||
- Plugin functions now support async return
|
||||
- Player will no longer be destroyed after reaching error limit for playback address
|
||||
- Split language files, core no longer bundles multiple languages [Language Settings](https://artplayer.org/document/start/i18n.html)
|
||||
- Updating components now supports updating only specified fields [pull/549](https://github.com/zhw2590582/ArtPlayer/pull/549)
|
||||
- Add `muted` event triggered when mute state changes
|
||||
- Add `Artplayer.LOG_VERSION` global config to control whether to print player version (default `true`)
|
||||
- Add `Artplayer.USE_RAF` global config to control whether to use `requestAnimationFrame` (default `false`), currently for smooth progress bar effect
|
||||
- Remove default styles `margin:0;padding:0;` to avoid conflicts with third-party libraries
|
||||
- Subtitle line changed from `p` to `div` tag, with classname `art-subtitle-line`
|
||||
- On mobile, tapping video toggles control bar display
|
||||
- Remove `art.loop` interval playback feature (not commonly used)
|
||||
- Subtitle track now has `label` attribute to display subtitle names on mobile
|
||||
- Add utility functions `unescape`, `isBrowser`, `setStyleText`
|
||||
- Add `artplayerPluginMultipleSubtitles` plugin for merged subtitle files: [demo](https://www.artplayer.org/?libs=./uncompiled/artplayer-plugin-multiple-subtitles/index.js&example=multiple.subtitles)
|
||||
- Modify mini progress bar display
|
||||
|
||||
## [5.0.9] - 2023-05-14
|
||||
|
||||
- Fix `art.autoOrientation` style bug
|
||||
- Remove animation effect of player container
|
||||
|
||||
## [5.0.8] - 2023-05-13
|
||||
|
||||
- Fix conflict of `art.mini`
|
||||
- Fix animation bug of `art.aspectRatio`
|
||||
|
||||
## [5.0.7] - 2023-05-13
|
||||
|
||||
- Switching via `switchUrl` or `switchQuality` preserves existing adjustments such as `aspectRatio`, `playbackRate`, `flip`, `autoSize`
|
||||
- Remove the second `name` parameter from `switchUrl` and `switchQuality`
|
||||
- Add `isIOS13` utility to fix inaccurate `isMobile` detection on iOS 13+
|
||||
- `art.autoSize` and `art.autoHeight` are now methods: `art.autoSize()` and `art.autoHeight()`
|
||||
- Add new property `art.quality` for dynamically updating quality list
|
||||
- Fix incorrect `art.aspectRatio` property
|
||||
- Add `art.switch` setter property, same as `art.switchUrl` method
|
||||
|
||||
## [5.0.6] - 2023-05-03
|
||||
|
||||
- Fix style bug of settings panel
|
||||
|
||||
## [5.0.5] - 2023-05-03
|
||||
|
||||
- Add `heatmap` option to danmuku plugin for enabling heatmap (default: off)
|
||||
- Fix English subtitle line break style bug
|
||||
- Fix settings panel style bug
|
||||
- Remove unnecessary global properties
|
||||
- Remove `title` option (not useful now)
|
||||
- Remove `whitelist` option (not useful now)
|
||||
|
||||
## [5.0.4] - 2023-04-27
|
||||
|
||||
- Fix controller dropdown list style bug
|
||||
|
||||
## [5.0.3] - 2023-04-26
|
||||
|
||||
- Fix `event.pageY` value error in volume controller
|
||||
- Update build config, `artplayer.legacy.js` now compatible with IE 11
|
||||
|
||||
## [5.0.2] - 2023-04-24
|
||||
|
||||
- Fix style compatibility issue of control bar position
|
||||
|
||||
## [5.0.1] - 2023-04-24
|
||||
|
||||
- Fix web fullscreen style bug
|
||||
- Fix built-in settings text error
|
||||
|
||||
## [5.0.0] - 2023-04-23
|
||||
|
||||
- Rewrite volume controller
|
||||
- Fix incorrect progress drag angle on mobile
|
||||
- Rewrite `mini` mode, now video detaches from original container
|
||||
- All components (layers, controller, contextmenu, settings panel) support dynamic deletion and updating
|
||||
- Subtitle option adds `onVttLoad` for modifying vtt text before output
|
||||
- Rewrite all styles, add many `css` variables
|
||||
- Add `cssVar` option for initializing `css` variables
|
||||
- Add `cssVar` method for getting/setting `css` variables
|
||||
- `artplayer-plugin-hls-quality` adds `getResolution` function option for getting resolution text from level
|
||||
- Add `artplayer-plugin-dash-quality` plugin for adding Dash quality list to player
|
||||
- Fix `lock` and `loop` event issues
|
||||
- Add Russian `ru` and Indonesian `id` languages
|
||||
- Update `artplayer-plugin-control` for `artplayer@5.0.0`
|
||||
- Update `artplayer-plugin-dash-quality` for `artplayer@5.0.0`
|
||||
- Update `artplayer-plugin-hls-quality` for `artplayer@5.0.0`
|
||||
- Update `artplayer-plugin-danmuku` for `artplayer@5.0.0`
|
||||
|
||||
## [4.6.2] - 2023-01-26
|
||||
|
||||
- Default `Artplayer.PROGRESS_HEIGHT` changed to `6`
|
||||
- Add `artplayer-plugin-vtt-thumbnail` to generate video preview images from vtt subtitle files
|
||||
- Add `Artplayer.FULLSCREEN_WEB_IN_BODY` for whether to mount player to `document.body` in web fullscreen (default `false`)
|
||||
- Change subtitle offset adjustment to slider
|
||||
- Subtitle option adds `escape` (default `true`) for HTML escaping
|
||||
|
||||
## [4.6.1] - 2023-01-11
|
||||
|
||||
- Write brand new docs
|
||||
- Optimize `d.ts`
|
||||
- Remove redundant events
|
||||
- Optimize some styles
|
||||
- Add `i18n` option
|
||||
|
||||
## [4.6.0] - 2022-12-31
|
||||
|
||||
- Optimize style effects of control bar icons
|
||||
- Optimize style effects of settings panel
|
||||
- Fix incorrect `art.fullscreen` state detection
|
||||
- Add `artplayer-plugin-control` plugin to change control bar style
|
||||
|
||||
## [4.5.12] - 2022-11-20
|
||||
|
||||
- Fix `art.loop = []` display bug
|
||||
|
||||
## [4.5.11] - 2022-11-06
|
||||
|
||||
- Add `Artplayer.CONTEXTMENU` for controlling whether to show contextmenu (default `true`)
|
||||
- Whitelist function default `true` on mobile, all devices use player UI
|
||||
|
||||
## [4.5.10] - 2022-11-05
|
||||
|
||||
- Fix subtitle not showing in Firefox: [#pull/415](https://github.com/zhw2590582/ArtPlayer/pull/415)
|
||||
- Info popup supports clicking to select video property text
|
||||
|
||||
## [4.5.9] - 2022-11-05
|
||||
|
||||
- Add `art.type` property to get/set video type
|
||||
- Add `art.video` property to get video element
|
||||
- Add `artplayer-tool-iframe` plugin to control player inside iframe
|
||||
- Add `artplayer-plugin-hls-quality` plugin for adding Hls quality list
|
||||
- Add `Artplayer.PLAYBACK_RATE` for default playback rates `[0.5, 0.75, 1, 1.25, 1.5, 2]`
|
||||
- Add `Artplayer.ASPECT_RATIO` for default ratios `['default','4:3','16:9']`
|
||||
- Add `Artplayer.FLIP` for default flip options `['normal','horizontal','vertical']`
|
||||
- Add `Artplayer.PROGRESS_HEIGHT` (default: `4`)
|
||||
- Add `legacy.js` version for older browsers (larger size)
|
||||
- Remove `examples` dir, no longer provide Vue/React examples
|
||||
|
||||
## [4.5.8] - 2022-10-09
|
||||
|
||||
- Add Farsi language
|
||||
- Add `Artplayer.DEBUG` (default `false`) for debug logs
|
||||
- Add `art.setting.update()` for dynamic settings update
|
||||
- Optimize `artplayer.d.ts`
|
||||
|
||||
## [4.5.7] - 2022-09-28
|
||||
|
||||
- Add `Artplayer.VOLUME_STEP` for controlling volume step (default `0.1`)
|
||||
- Add `Artplayer.SEEK_STEP` for controlling seek step (default `5s`)
|
||||
- Fix some svg icons not showing on mobile
|
||||
- Fix desktop progress bar cannot click+drag simultaneously
|
||||
- Fix mobile progress bar cannot click+drag
|
||||
- Add `art.isRotate` property for detecting auto fullscreen rotation
|
||||
- Settings panel `range` adds `onChange` option for real-time values
|
||||
|
||||
```js
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
setting: true,
|
||||
settings: [
|
||||
{
|
||||
html: 'Slider',
|
||||
tooltip: '5x',
|
||||
range: [5, 1, 10, 0.1],
|
||||
onChange: function (item) {
|
||||
return item.range + 'x';
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
```
|
||||
|
||||
## [4.5.6] - 2022-09-19
|
||||
|
||||
- Fix hls.js not working in Safari
|
||||
|
||||
## [4.5.5] - 2022-09-19
|
||||
|
||||
- Ad plugin adds `option.muted` for autoplay muted ads
|
||||
- Danmuku plugin exposes `art.plugins.artplayerPluginDanmuku.reset()` to clear display
|
||||
- Danmuku plugin exposes `art.plugins.artplayerPluginDanmuku.option` for current config
|
||||
- Fix subtitle bug in iOS fullscreen
|
||||
- Add Spanish `es`
|
||||
|
||||
## [4.5.4] - 2022-08-01
|
||||
|
||||
### Added
|
||||
|
||||
- Add `Artplayer.AUTO_PLAYBACK_MIN` for min playback memory value (default `5s`)
|
||||
- Add `Artplayer.TOUCH_MOVE_RATIO` for mobile progress drag ratio (default `0.5`)
|
||||
- `option.thumbnails` adds optional `width`/`height`
|
||||
- Add `option.id` for unique playback memory identifier
|
||||
|
||||
## [4.5.3] - 2022-07-13
|
||||
|
||||
### Added
|
||||
|
||||
- `url` option allows empty string for async `art.url`
|
||||
|
||||
```js
|
||||
const art = new Artplayer({
|
||||
url: '',
|
||||
container: '.artplayer-app',
|
||||
});
|
||||
|
||||
setTimeout(() => {
|
||||
art.url = '/assets/sample/video.mp4';
|
||||
}, 1000);
|
||||
```
|
||||
|
||||
- `art.play()` always returns Promise; `play` event is async
|
||||
|
||||
```js
|
||||
const art = new Artplayer({
|
||||
url: '/assets/sample/video.mp4',
|
||||
container: '.artplayer-app',
|
||||
});
|
||||
|
||||
art.on('ready', async () => {
|
||||
try {
|
||||
await art.play();
|
||||
console.log('Play success');
|
||||
} catch (error) {
|
||||
console.log('Play failed', error.message);
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
- Add `airplay` (only Safari)
|
||||
|
||||
```js
|
||||
const art = new Artplayer({
|
||||
url: '/assets/sample/video.mp4',
|
||||
container: '.artplayer-app',
|
||||
airplay: true,
|
||||
});
|
||||
```
|
||||
|
||||
## [4.5.2] - 2022-06-22
|
||||
|
||||
- Optimize auto-playback to allow user choice
|
||||
|
||||
## [4.5.0] - 2022-06-21
|
||||
|
||||
- Remove built-in ads
|
||||
- Add ad plugin
|
||||
|
||||
## [4.4.7] - 2022-06-13
|
||||
|
||||
- Support danmuku lib d.ts
|
||||
- Update deps
|
||||
|
||||
## [4.4.6] - 2022-06-11
|
||||
|
||||
- Add danmuku lib d.ts
|
||||
- Adjust subtitle font-size param
|
||||
- Optimize regex parsing of xml danmuku
|
||||
|
||||
## [4.4.5] - 2022-06-02
|
||||
|
||||
- Fix theme color missing in mini mode
|
||||
|
||||
## [4.4.3] - 2022-05-26
|
||||
|
||||
- Fix custom mounted input residual on danmuku destroy
|
||||
- Fix mini mode size calculation error
|
||||
|
||||
## [4.4.2] - 2022-05-20
|
||||
|
||||
- Remove UI init `video:loadedmetadata` event
|
||||
- Danmuku exposes `load` for switching sources
|
||||
- Add error icon after video load error limit
|
||||
- Fix multiple init of setting panel bug
|
||||
|
||||
## [4.4.1] - 2022-05-17
|
||||
|
||||
- Add `art.isInput`, when true control bar won’t auto-hide (e.g. typing danmuku)
|
||||
- Add `art.isLock`, when true on mobile prevents seek/play/pause
|
||||
- Fix fixed width bug of danmuku input box
|
||||
- Settings panel supports `range` and `onRange`
|
||||
- Add `isAndroid` and `isIOS` utils
|
||||
- Danmuku adds `lockTime`, `maxLength`, `minWidth`, `maxWidth`, `mount`, `beforeEmit`, `theme`
|
||||
|
||||
## [4.4.0] - 2022-05-15
|
||||
|
||||
- Settings panel supports `switch` and `onSwitch`
|
||||
- Danmuku plugin adds settings panel and send
|
||||
- Danmuku adds default mode and font-size
|
||||
- Danmuku font-size supports percentage of player
|
||||
- Fix flip icon missing
|
||||
- Player with focus won’t auto-hide control bar
|
||||
- Remove subtitle toggle button (manual config required)
|
||||
@@ -0,0 +1,202 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||
|
||||
## Project Overview
|
||||
|
||||
ArtPlayer.js is a modern, full-featured HTML5 video player. It's organized as a monorepo using Lerna with independent versioning.
|
||||
|
||||
- **Homepage**: https://artplayer.org
|
||||
- **Online Editor**: https://artplayer.org (for testing examples)
|
||||
- **API Docs**: https://artplayer.org/document
|
||||
|
||||
## Repository Structure
|
||||
|
||||
```
|
||||
packages/
|
||||
artplayer/ # Core player package
|
||||
artplayer-plugin-*/ # 17+ plugins (danmuku, ads, chromecast, etc.)
|
||||
artplayer-proxy-*/ # Canvas, Mediabunny proxies
|
||||
artplayer-tool-*/ # iframe, thumbnail tools
|
||||
artplayer-vitepress/ # Documentation site
|
||||
|
||||
docs/ # Documentation and demo site
|
||||
assets/ # Example assets and TypeScript demos
|
||||
compiled/ # Built packages output
|
||||
document/ # Generated API documentation
|
||||
uncompiled/ # Development build output
|
||||
test/ # Browser test files
|
||||
|
||||
scripts/ # Build tooling
|
||||
build.js # Production build
|
||||
dev.js # Development server
|
||||
build-i18n.js # I18n bundle builder
|
||||
build-docs.js # Documentation generator
|
||||
build-llm.js # LLMs.txt generator
|
||||
plugin/create.js # New plugin scaffolding
|
||||
```
|
||||
|
||||
## Common Commands
|
||||
|
||||
### Development
|
||||
```bash
|
||||
# Start dev server on port 8082 with hot reload
|
||||
npm run dev
|
||||
|
||||
# Build for production (interactive prompt to select package)
|
||||
npm run build
|
||||
|
||||
# Build all packages
|
||||
npm run build all
|
||||
|
||||
# Build everything (packages, i18n, types, docs) + lint
|
||||
npm run build:all
|
||||
```
|
||||
|
||||
### Code Quality
|
||||
```bash
|
||||
# Lint with auto-fix (covers packages, scripts, tests, docs assets)
|
||||
npm run lint
|
||||
```
|
||||
|
||||
### Plugin Development
|
||||
```bash
|
||||
# Create new plugin from template
|
||||
npm run create:plugin <kebab-case-name>
|
||||
|
||||
# Example:
|
||||
npm run create:plugin my-feature
|
||||
```
|
||||
|
||||
### I18n
|
||||
```bash
|
||||
# Build i18n bundles for all languages
|
||||
npm run build:i18n
|
||||
```
|
||||
|
||||
### TypeScript
|
||||
```bash
|
||||
# Generate TypeScript declaration files
|
||||
npm run build:ts
|
||||
```
|
||||
|
||||
## Architecture
|
||||
|
||||
### Core Player (`packages/artplayer`)
|
||||
|
||||
The main `Artplayer` class extends `Emitter` and initializes sub-components:
|
||||
|
||||
```javascript
|
||||
// Key components instantiated in constructor:
|
||||
this.template = new Template(this) // DOM structure
|
||||
this.events = new Events(this) // Event handling
|
||||
this.player = new Player(this) // Video playback
|
||||
this.controls = new Control(this) // Control bar
|
||||
this.layers = new Layer(this) // Custom layers
|
||||
this.contextmenu = new Contextmenu(this)
|
||||
this.subtitle = new Subtitle(this)
|
||||
this.setting = new Setting(this)
|
||||
this.plugins = new Plugins(this) // Plugin manager
|
||||
// ... and more
|
||||
```
|
||||
|
||||
Source organization in `src/`:
|
||||
- `config/` - Default configuration values
|
||||
- `control/` - UI controls (play, progress, volume, etc.)
|
||||
- `events/` - Event handling (click, hover, resize, etc.)
|
||||
- `i18n/` - Localization files
|
||||
- `icons/` - SVG icons
|
||||
- `player/` - Video playback logic (hls, flv, dash, etc.)
|
||||
- `plugins/` - Built-in plugins
|
||||
- `setting/` - Settings panel components
|
||||
- `style/` - LESS stylesheets
|
||||
- `template.js` - HTML template generation
|
||||
- `utils/` - Utility functions
|
||||
|
||||
### Plugin Architecture
|
||||
|
||||
Plugins are functions that receive the player instance and options:
|
||||
|
||||
```javascript
|
||||
// Template from scripts/plugin/template/src/index.js
|
||||
export default function artplayerPluginTemplate(option = {}) {
|
||||
return (art) => {
|
||||
// Plugin initialization
|
||||
// Access: art.player, art.controls, art.template, etc.
|
||||
|
||||
return {
|
||||
name: 'artplayerPluginTemplate',
|
||||
// Expose methods to art.plugins['artplayerPluginTemplate']
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Plugin naming convention:
|
||||
- Package: `artplayer-plugin-<name>`
|
||||
- Global variable: `artplayerPlugin<Name>` (camelCase)
|
||||
- Exported function uses same name as global
|
||||
|
||||
### Styling
|
||||
|
||||
Uses LESS with inline imports:
|
||||
```javascript
|
||||
import style from './style/index.less?inline'
|
||||
```
|
||||
|
||||
Styles are injected at runtime via `utils.setStyleText()`.
|
||||
|
||||
### Build System
|
||||
|
||||
Uses Vite via custom Node.js scripts:
|
||||
|
||||
**Development** (`scripts/dev.js`):
|
||||
- Builds IIFE bundle to `docs/uncompiled/<package>/`
|
||||
- Serves `docs/` directory on port 8082
|
||||
- Watches source files for changes
|
||||
|
||||
**Production** (`scripts/build.js`):
|
||||
- Builds 3 formats: UMD (`.js`), UMD legacy (`.legacy.js`), ESM (`.mjs`)
|
||||
- Outputs to `packages/<name>/dist/`
|
||||
- Copies to `docs/compiled/`
|
||||
|
||||
### I18n System
|
||||
|
||||
Language files in `packages/artplayer/src/i18n/`:
|
||||
- Base language: `zh-cn.js`
|
||||
- Additional languages: `en.js`, `fr.js`, etc.
|
||||
- Built as separate UMD/ESM bundles via `build-i18n.js`
|
||||
- Global naming: `artplayerI18n<Language>` (e.g., `artplayerI18nEn`)
|
||||
|
||||
### Creating New Plugins
|
||||
|
||||
The `npm run create:plugin <name>` command:
|
||||
1. Copies `scripts/plugin/template/` to `packages/artplayer-plugin-<name>/`
|
||||
2. Replaces placeholders in filenames and content
|
||||
3. Creates example file at `docs/assets/example/<name>.js`
|
||||
|
||||
Plugin template structure:
|
||||
```
|
||||
src/
|
||||
index.js # Main plugin code
|
||||
style.less # Plugin styles
|
||||
package.json
|
||||
README.md
|
||||
types/
|
||||
<name>.d.ts # TypeScript declarations (optional)
|
||||
```
|
||||
|
||||
### Utility Functions
|
||||
|
||||
Core utilities in `packages/artplayer/src/utils/`:
|
||||
- `utils.js` - Common helpers (isMobile, isSafari, query, etc.)
|
||||
- `emitter.js` - Event emitter base class
|
||||
- `scheme.js` - Option validation schema
|
||||
|
||||
## Development Notes
|
||||
|
||||
- **Package manager**: Uses Yarn with Lerna
|
||||
- **Node version**: >= 20.0.0
|
||||
- **ESLint**: Uses @antfu/eslint-config
|
||||
- **Browser support**: Last 1 Chrome version (ES2020), legacy builds target ES2015
|
||||
- **UMD builds**: Always expose global even in AMD/RequireJS environments
|
||||
@@ -0,0 +1,35 @@
|
||||
This project uses `vite` as a development and packaging tool, so there are few overall configuration options
|
||||
|
||||
## 1. Install dependencies
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```bash
|
||||
yarn
|
||||
```
|
||||
|
||||
## 2. Develop the project and open the demo page
|
||||
|
||||
```base
|
||||
npm run dev
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```bash
|
||||
yarn dev
|
||||
```
|
||||
|
||||
## 3. Package the project
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
```bash
|
||||
yarn build
|
||||
```
|
||||
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2018 Harvey Zack
|
||||
Copyright (c) 2018 Harvey Zhao
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -8,10 +8,13 @@
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<img src="https://img.shields.io/bundlephobia/minzip/artplayer" alt="Size">
|
||||
<img src="https://img.shields.io/npm/dm/artplayer.svg?sanitize=true" alt="Downloads">
|
||||
<img src="https://img.shields.io/npm/v/artplayer.svg?sanitize=true" alt="Version">
|
||||
<img src="https://img.shields.io/npm/l/artplayer.svg?sanitize=true" alt="License">
|
||||
<a href="https://www.npmjs.com/package/artplayer">
|
||||
<img src="https://img.shields.io/bundlephobia/minzip/artplayer" alt="Size">
|
||||
<img src="https://img.shields.io/npm/dm/artplayer.svg?sanitize=true" alt="Downloads">
|
||||
<img src="https://img.shields.io/npm/v/artplayer.svg?sanitize=true" alt="Version">
|
||||
<img src="https://img.shields.io/npm/l/artplayer.svg?sanitize=true" alt="License">
|
||||
<img src="https://data.jsdelivr.com/v1/package/npm/artplayer/badge?style=rounded" alt="jsdelivr">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
@@ -20,16 +23,28 @@
|
||||
<span>・</span>
|
||||
<a href="https://artplayer.org/document">API Document</a>
|
||||
<span>・</span>
|
||||
<a href="https://artplayer.org/?libs=.%2Funcompiled%2Fartplayer-plugin-danmuku.js&example=danmuku">弹幕演示</a>
|
||||
<a href="https://artplayer.org/?libs=./uncompiled/artplayer-plugin-danmuku/index.js&example=danmuku">Danmuku</a>
|
||||
<span>・</span>
|
||||
<a href="./CHANGELOG.md">Changelog</a>
|
||||
<span>・</span>
|
||||
<a href="https://artplayer.org/llms.txt">🤖LLMs</a>
|
||||
<span>・</span>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://artplayer.org">
|
||||
<img src="./images/screenshot.png" alt="screenshot">
|
||||
<img src="./images/screenshot.png" alt="screenshot" width="720">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
## Home Page
|
||||
|
||||
[https://artplayer.org](https://artplayer.org)
|
||||
|
||||
## Mobile Demo
|
||||
|
||||
<img src="./images/qrcode.png" width="250">
|
||||
|
||||
## Features
|
||||
|
||||
[ArtPlayer.js](https://artplayer.org) is an easy-to-use and feature-rich HTML5 video player, and most of the player's functional controls support customization, which makes it easy to connect with your business logic. In addition, it directly supports `.vtt`, `.ass` and `.srt` subtitle formats. Integration with other dependencies such as `flv.js`, `hls.js`, `dash.js`, etc. is also very simple. The code is highly decoupled, the structure and logic are clear, and it is easy to track errors and add new features.
|
||||
@@ -48,8 +63,20 @@ Or install with `yarn`:
|
||||
$ yarn add artplayer
|
||||
```
|
||||
|
||||
Or install with `pnpm`:
|
||||
|
||||
```bash
|
||||
$ pnpm add artplayer
|
||||
```
|
||||
|
||||
Or install with `bun`:
|
||||
|
||||
```bash
|
||||
$ bun add artplayer
|
||||
```
|
||||
|
||||
```js
|
||||
import Artplayer from 'artplayer';
|
||||
import Artplayer from 'artplayer'
|
||||
```
|
||||
|
||||
Or umd build also available:
|
||||
@@ -77,20 +104,66 @@ Will expose the global variable to `window.Artplayer`.
|
||||
```
|
||||
|
||||
```js
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: 'path/to/video.mp4',
|
||||
});
|
||||
let art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: 'path/to/video.mp4',
|
||||
})
|
||||
```
|
||||
|
||||
## Plugins
|
||||
|
||||
| Name | Describe | State |
|
||||
| :--- | :--- | :--- |
|
||||
| [artplayer-plugin-danmuku](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-danmuku/index.js&example=danmuku) | Danmuku (bullet comment) system | <img src="https://img.shields.io/npm/v/artplayer-plugin-danmuku.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/artplayer-plugin-danmuku.svg?sanitize=true"> |
|
||||
| [artplayer-plugin-hls-control](https://artplayer.org/?libs=https://cdnjs.cloudflare.com/ajax/libs/hls.js/1.5.17/hls.min.js%0A./uncompiled/artplayer-plugin-hls-control/index.js&example=hls.control) | HLS quality control | <img src="https://img.shields.io/npm/v/artplayer-plugin-hls-control.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/artplayer-plugin-hls-control.svg?sanitize=true"> |
|
||||
| [artplayer-plugin-dash-control](https://artplayer.org/?libs=https://cdnjs.cloudflare.com/ajax/libs/dashjs/5.2.1/modern/umd/dash.all.min.js%0A./uncompiled/artplayer-plugin-dash-control/index.js&example=dash.control) | DASH quality control | <img src="https://img.shields.io/npm/v/artplayer-plugin-dash-control.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/artplayer-plugin-dash-control.svg?sanitize=true"> |
|
||||
| [artplayer-plugin-vtt-thumbnail](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-vtt-thumbnail/index.js&example=vtt.thumbnail) | VTT thumbnail preview | <img src="https://img.shields.io/npm/v/artplayer-plugin-vtt-thumbnail.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/artplayer-plugin-vtt-thumbnail.svg?sanitize=true"> |
|
||||
| [artplayer-plugin-multiple-subtitles](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-multiple-subtitles/index.js&example=multiple.subtitles) | Multiple subtitles support | <img src="https://img.shields.io/npm/v/artplayer-plugin-multiple-subtitles.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/artplayer-plugin-multiple-subtitles.svg?sanitize=true"> |
|
||||
| [artplayer-plugin-chromecast](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-chromecast/index.js&example=chromecast) | Google Chromecast support | <img src="https://img.shields.io/npm/v/artplayer-plugin-chromecast.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/artplayer-plugin-chromecast.svg?sanitize=true"> |
|
||||
| [artplayer-plugin-vast](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-vast/index.js&example=vast) | VAST/VPAID advertising | <img src="https://img.shields.io/npm/v/artplayer-plugin-vast.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/artplayer-plugin-vast.svg?sanitize=true"> |
|
||||
| [artplayer-plugin-chapter](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-chapter/index.js&example=chapter) | Video chapters support | <img src="https://img.shields.io/npm/v/artplayer-plugin-chapter.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/artplayer-plugin-chapter.svg?sanitize=true"> |
|
||||
| [artplayer-plugin-auto-thumbnail](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-auto-thumbnail/index.js&example=auto.thumbnail) | Auto-generated thumbnails | <img src="https://img.shields.io/npm/v/artplayer-plugin-auto-thumbnail.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/artplayer-plugin-auto-thumbnail.svg?sanitize=true"> |
|
||||
| [artplayer-plugin-ambilight](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-ambilight/index.js&example=ambilight) | Ambilight effect | <img src="https://img.shields.io/npm/v/artplayer-plugin-ambilight.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/artplayer-plugin-ambilight.svg?sanitize=true"> |
|
||||
| [artplayer-plugin-document-pip](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-document-pip/index.js&example=document.pip) | Document Picture-in-Picture | <img src="https://img.shields.io/npm/v/artplayer-plugin-document-pip.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/artplayer-plugin-document-pip.svg?sanitize=true"> |
|
||||
| [artplayer-plugin-audio-track](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-audio-track/index.js&example=audio.track) | Independent audio track playback | <img src="https://img.shields.io/npm/v/artplayer-plugin-audio-track.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/artplayer-plugin-audio-track.svg?sanitize=true"> |
|
||||
| [artplayer-plugin-jassub](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-jassub/index.js&example=jassub) | ASS/SSA subtitle support | <img src="https://img.shields.io/npm/v/artplayer-plugin-jassub.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/artplayer-plugin-jassub.svg?sanitize=true"> |
|
||||
| [artplayer-plugin-danmuku-mask](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-danmuku/index.js%0A./uncompiled/artplayer-plugin-danmuku-mask/index.js&example=danmuku.mask) | Danmuku masking (smart blocking) | <img src="https://img.shields.io/npm/v/artplayer-plugin-danmuku-mask.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/artplayer-plugin-danmuku-mask.svg?sanitize=true"> |
|
||||
| [artplayer-plugin-asr](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-asr/index.js&example=asr) | Automatic Speech Recognition | <img src="https://img.shields.io/npm/v/artplayer-plugin-asr.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/artplayer-plugin-asr.svg?sanitize=true"> |
|
||||
| [artplayer-plugin-ads](https://artplayer.org/?libs=./uncompiled/artplayer-plugin-ads/index.js&example=ads) | Video advertising plugin | WIP |
|
||||
|
||||
## Libraries
|
||||
|
||||
| Name | Describe | State |
|
||||
| :--- | :--- | :--- |
|
||||
| [hls.js](https://artplayer.org/?libs=https://cdnjs.cloudflare.com/ajax/libs/hls.js/1.5.17/hls.min.js&example=hls) | HLS client | <img src="https://img.shields.io/npm/v/hls.js.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/hls.js.svg?sanitize=true"> |
|
||||
| [dash.js](https://artplayer.org/?libs=https://cdnjs.cloudflare.com/ajax/libs/dashjs/5.2.1/modern/umd/dash.all.min.js&example=dash) | MPEG DASH player | <img src="https://img.shields.io/npm/v/dashjs.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/dashjs.svg?sanitize=true"> |
|
||||
| [flv.js](https://artplayer.org/?libs=https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.6.2/flv.min.js&example=flv) | HTML5 FLV Player | <img src="https://img.shields.io/npm/v/flv.js.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/flv.js.svg?sanitize=true"> |
|
||||
| [mpegts.js](https://artplayer.org/?libs=https://cdn.jsdelivr.net/npm/mpegts.js@1.7.3/dist/mpegts.min.js&example=mpegts) | MPEG-TS/FLV Player | <img src="https://img.shields.io/npm/v/mpegts.js.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/mpegts.js.svg?sanitize=true"> |
|
||||
| [webtorrent.js](https://artplayer.org/?libs=https://cdn.jsdelivr.net/npm/webtorrent@1/webtorrent.min.js&example=webtorrent) | Streaming torrent client | <img src="https://img.shields.io/npm/v/webtorrent.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/webtorrent.svg?sanitize=true"> |
|
||||
|
||||
## Proxys
|
||||
|
||||
| Name | Describe | State |
|
||||
| :--- | :--- | :--- |
|
||||
| [Canvas](https://artplayer.org/?libs=./uncompiled/artplayer-proxy-canvas/index.js&example=canvas) | Proxy video to canvas | <img src="https://img.shields.io/npm/v/artplayer-proxy-canvas.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/artplayer-proxy-canvas.svg?sanitize=true"> |
|
||||
| [Mediabunny](https://artplayer.org/?libs=./uncompiled/artplayer-proxy-mediabunny/index.js&example=mediabunny) | Mediabunny proxy | <img src="https://img.shields.io/npm/v/artplayer-proxy-mediabunny.svg?sanitize=true"><br><img src="https://img.shields.io/npm/dm/artplayer-proxy-mediabunny.svg?sanitize=true"> |
|
||||
|
||||
## Changelog
|
||||
|
||||
[CHANGELOG.md](./CHANGELOG.md)
|
||||
|
||||
## Contributing
|
||||
|
||||
[CONTRIBUTING.md](./CONTRIBUTING.md)
|
||||
|
||||
## Donations
|
||||
|
||||
We accept donations through these channels:
|
||||
|
||||

|
||||
|
||||
- [Patreon](https://www.patreon.com/artplayer)
|
||||
- [Paypal](https://www.paypal.me/harveyzack)
|
||||
- [Patreon](https://www.patreon.com/artplayer)
|
||||
- [Paypal](https://www.paypal.me/harveyzack)
|
||||
|
||||
## QQ Group
|
||||
|
||||
@@ -98,4 +171,4 @@ We accept donations through these channels:
|
||||
|
||||
## License
|
||||
|
||||
MIT © Harvey Zack
|
||||
MIT © Harvey Zhao
|
||||
Vendored
-8
@@ -1,8 +0,0 @@
|
||||
/*!
|
||||
* artplayer-plugin-danmuku.js v4.1.0
|
||||
* Github: https://github.com/zhw2590582/ArtPlayer#readme
|
||||
* (c) 2017-2022 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
|
||||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).artplayerPluginDanmuku=e()}(this,(function(){"use strict";function t(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function e(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var n={"zh-cn":{"Danmu opacity":"弹幕透明度","Danmu speed":"弹幕速度","Danmu size":"弹幕大小","Danmu text cannot be empty":"弹幕文本不能为空","The length of the danmu does not exceed":"弹幕文本字数不能超过","Danmu speed synchronous playback multiple":"弹幕速度同步播放倍数"},"zh-tw":{"Danmu opacity":"彈幕透明度","Danmu speed":"彈幕速度","Danmu size":"弹幕大小","Danmu text cannot be empty":"彈幕文本不能為空","The length of the danmu does not exceed":"彈幕文本字數不能超過","Danmu speed synchronous playback multiple":"彈幕速度同步播放倍數"}};function r(t){var e=t.i18n,n=t.events.proxy;return{name:"danmuku-opacity",index:10,html:'<div class="art-setting-header">'.concat(e.get("Danmu opacity"),': <span class="art-value">100</span>%</div><div class="art-setting-range"><input type="range" value="1" min="0.1" max="1" step="0.1"></div>'),mounted:function(e){var r=e.querySelector("input[type=range]"),i=e.querySelector(".art-value");n(r,"change",(function(){var e=r.value;i.innerText=100*Number(e),t.plugins.artplayerPluginDanmuku.config({opacity:Number(e)})})),t.on("artplayerPluginDanmuku:config",(function(t){r.value!==t.opacity&&(r.value=t.opacity,i.innerText=100*t.opacity)}))}}}function i(t){var e=t.i18n,n=t.events.proxy;return{name:"danmuku-size",index:11,html:'<div class="art-setting-header">'.concat(e.get("Danmu size"),': <span class="art-value">25</span>px</div><div class="art-setting-range"><input type="range" value="25" min="14" max="30" step="1"></div>'),mounted:function(e){var r=e.querySelector("input[type=range]"),i=e.querySelector(".art-value");n(r,"change",(function(){var e=r.value;i.innerText=e,t.plugins.artplayerPluginDanmuku.config({fontSize:Number(e)})})),t.on("artplayerPluginDanmuku:config",(function(t){r.value!==t.fontSize&&(r.value=t.fontSize,i.innerText=t.fontSize)}))}}}function a(t){var e=t.i18n,n=t.events.proxy;return{name:"danmuku-speed",index:12,html:'<div class="art-setting-header">'.concat(e.get("Danmu speed"),': <span class="art-value">5</span>s</div><div class="art-setting-range"><input type="range" value="5" min="1" max="10" step="1"></div>'),mounted:function(e){var r=e.querySelector("input[type=range]"),i=e.querySelector(".art-value");n(r,"change",(function(){var e=r.value;i.innerText=e,t.plugins.artplayerPluginDanmuku.config({speed:Number(e)})})),t.on("artplayerPluginDanmuku:config",(function(t){r.value!==t.speed&&(r.value=t.speed,i.innerText=t.speed)}))}}}function o(t){var e=t.i18n,n=t.events.proxy;return{name:"danmuku-synchronousPlayback",index:13,html:'<label class="art-setting-checkbox"><input type="checkbox"/>'.concat(e.get("Danmu speed synchronous playback multiple"),"</label>"),mounted:function(e){var r=e.querySelector("input[type=checkbox]");n(r,"change",(function(){t.plugins.artplayerPluginDanmuku.config({synchronousPlayback:r.checked})})),t.on("artplayerPluginDanmuku:config",(function(t){r.checked!==t.synchronousPlayback&&(r.checked=t.synchronousPlayback)}))}}}function u(t,e,n){return t.filter((function(t){return t.$state===e})).map(n)}function s(t,e){var n=t.getBoundingClientRect();return e?n[e]:n}function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function c(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,i,a=[],o=!0,u=!1;try{for(n=n.call(t);!(o=(r=n.next()).done)&&(a.push(r.value),!e||a.length!==e);o=!0);}catch(t){u=!0,i=t}finally{try{o||null==n.return||n.return()}finally{if(u)throw i}}return a}}(t,e)||function(t,e){if(t){if("string"==typeof t)return l(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(t){switch(t){case 1:case 2:case 3:default:return 0;case 4:case 5:return 1}}function f(t){return fetch(t).then((function(t){return t.text()})).then((function(t){return function(t){if("string"!=typeof t)return[];var e=t.match(/<d([\S ]*?>[\S ]*?)<\/d>/gi);return e&&e.length?e.map((function(t){var e=c(t.match(/<d p="(.+)">(.+)<\/d>/)Line truncated
|
||||
Vendored
-8
@@ -1,8 +0,0 @@
|
||||
/*!
|
||||
* artplayer-tool-thumbnail.js v4.0.0
|
||||
* Github: https://github.com/zhw2590582/ArtPlayer#readme
|
||||
* (c) 2017-2022 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
|
||||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).ArtplayerToolThumbnail=e()}(this,(function(){"use strict";function t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function n(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function i(t,e){return i=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},i(t,e)}function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function r(t,e){if(e&&("object"===o(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return n(t)}function a(t){return a=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},a(t)}var s={exports:{}};function u(){}function h(t){return new Promise((function(e){return setTimeout(e,t)}))}function l(t,e,n){return Math.max(Math.min(t,Math.max(e,n)),Math.min(e,n))}function c(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,i=a(t);if(e){var o=a(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return r(this,n)}}u.prototype={on:function(t,e,n){var i=this.e||(this.e={});return(i[t]||(i[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var i=this;function o(){i.off(t,o),e.apply(n,arguments)}return o._=e,this.on(t,o,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),i=0,o=n.length;i<o;i++)n[i].fn.apply(n[i].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),i=n[t],o=[];if(i&&e)for(var r=0,a=i.length;r<a;r++)i[r].fn!==e&&i[r].fn._!==e&&o.push(i[r]);return o.length?n[t]=o:delete n[t],this}},s.exports=u,s.exports.TinyEmitter=u;var f=function(o){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&i(t,e)}(f,o);var r,a,s,u=c(f);function f(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t(this,f),(e=u.call(this)).processing=!1,e.option={},e.setup(Object.assign({},f.DEFAULTS,i)),e.video=f.creatVideo(),e.duration=0,e.inputChange=e.inputChange.bind(n(e)),e.ondrop=e.ondrop.bind(n(e)),e.option.fileInput.addEventListener("change",e.inputChange),e.option.fileInput.addEventListener("dragover",f.ondragover),e.option.fileInput.addEventListener("drop",f.ondrop),e}return r=f,a=[{key:"ondrop",value:function(t){t.preventDefault();var e=t.dataTransfer.files[0];this.loadVideo(e)}},{key:"setup",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.option=Object.assign({},this.option,e);var n=this.option,i=n.fileInput,o=n.delay,r=n.number,a=n.width,s=n.height,u=n.column;if(this.errorHandle(i instanceof Element,"The 'fileInput' is not a Element"),"INPUT"!==i.tagName||"file"!==i.type){i.style.position="relative";var h=document.createElement("input");h.type="file",h.style.position="absolute",h.style.width="100%",h.style.height="100%",h.style.left="0",h.style.top="0",h.style.right="0",h.style.bottom="0",h.style.opacity="0",i.appendChild(h),this.option.fileInput=h}return["delay","number","width","height","column","begin","end"].forEach((function(e){t.errorHandle("number"==typeof t.option[e],"The '".concat(e,"' is not a number"))})),this.option.delay=l(o,10,1e3),this.option.number=l(r,10,1e3),this.option.width=l(a,10,1e3),this.option.height=l(s,10,1e3),this.option.column=l(u,1,1e3),this}},{key:"inputChange",value:function(){var t=this.option.fileInput.files[0];this.loadVideo(t)}},{key:"loadVideo",value:function(t){var e=this,n=this.option.delay;if(t){var i=this.video.canPlayType(t.type);this.errorHandle("maybe"===i||"probably"===i,"Playback of this file format is not supported: ".concat(t.type));var o=URL.createObjectURL(t);this.videoUrl=o,this.file=t,this.emit("file",this.file),this.video.src=o,h(n).then((function(){e.emit("video",e.video)})).catch((function(t){throw e.emit("error",t.message),t}))}}},{key:"start",value:function(){var t=this;if(!this.video.duration)return h(1e3).then(this.start);var e=this.option,n=e.width,i=e.height,o=e.number,r=e.delay,a=e.begin,s=e.end;this.option.begin=l(a,0,this.video.duration),this.optionLine truncated
|
||||
Vendored
-8
@@ -1,8 +0,0 @@
|
||||
/*!
|
||||
* artplayer.js v4.2.3
|
||||
* Github: https://github.com/zhw2590582/ArtPlayer#readme
|
||||
* (c) 2017-2022 Harvey Zack
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
|
||||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Artplayer=e()}(this,(function(){"use strict";function t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function r(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}function n(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function o(t,e){return o=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},o(t,e)}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&o(t,e)}function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}function c(t,e){if(e&&("object"===a(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return n(t)}function s(t){return s=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},s(t)}!function(t,e){void 0===e&&(e={});var r=e.insertAt;if(t&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===r&&n.firstChild?n.insertBefore(o,n.firstChild):n.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}('.art-video-player{zoom:1;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-high-contrast-adjust:none;background-color:#000;color:#eee;direction:ltr;display:flex;font-family:Roboto,Arial,Helvetica,sans-serif;font-size:14px;height:100%;line-height:1.3;margin:0 auto;outline:0;position:relative;text-align:left;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%;z-index:20}.art-video-player *{box-sizing:border-box;margin:0;padding:0}.art-video-player ::-webkit-scrollbar{height:5px;width:5px}.art-video-player ::-webkit-scrollbar-thumb{background-color:#666}.art-video-player ::-webkit-scrollbar-thumb:hover{background-color:#ccc}.art-video-player .art-icon{align-items:center;display:inline-flex;justify-content:center;line-height:1.5}.art-video-player .art-icon svg{fill:#fff}.art-video-player img{max-width:100%;vertical-align:top}@supports ((-webkit-backdrop-filter:initial) or (backdrop-filter:initial)){.art-video-player .art-backdrop-filter{-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);background-color:rgba(0,0,0,.7)!important}}.art-video-player .art-video{background-color:#000;cursor:pointer;z-index:10}.art-video-player .art-poster,.art-video-player .art-video{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.art-video-player .art-poster{background-position:50%;background-repeat:no-repeat;background-size:cover;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:11}.art-video-player .art-subtitle{bottom:10px;color:#fff;display:none;font-size:20px;padding:0 20px;pointer-events:none;position:absolute;text-align:center;text-shadow:.5px .5px .5px rgba(0,0,0,.5);width:100%;z-index:20}.art-video-player .art-subtitle p{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;line-height:1.2;margin:5px 0 0;word-break:break-all}.art-video-player .art-bilingual p:nth-child(n+2){transform:scale(.6);transform-origin:center top}.art-video-player.art-subtitle-show .art-subtitle{display:block}.art-video-player.art-control-show .art-subtitle{bottom:50px}.art-video-player .art-danmuku{z-index:30}.art-video-player .art-danmuku,.art-video-player .art-layers{bottom:0;height:100%;left:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;width:100%}.art-video-player .art-layers{display:none;z-index:40}.art-video-player .art-layers .art-layer{pointer-events:auto}.art-video-player.art-layer-show .art-layers{display:block}.art-video-player .art-mask{align-items:center;bottom:0;display:none;height:100%;justify-content:center;left:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;width:100%;z-index:50}.art-video-player .art-mask .art-state{align-items:center;bottom:65px;display:flex;height:60px;justify-content:center;opacity:.6;position:absolute;right:30px;width:60px}.art-video-player.art-mask-show .art-mask{display:flex}.art-video-player .art-loading{align-items:center;bottom:0;display:none;height:100%;justify-content:center;left:0;pointer-events:nonLine truncated
|
||||
+1
-1
@@ -1 +1 @@
|
||||
artplayer.org
|
||||
github.artplayer.org
|
||||
@@ -0,0 +1 @@
|
||||
google.com, pub-8579453810848662, DIRECT, f08c47fec0942fa0
|
||||
@@ -0,0 +1,10 @@
|
||||
# MediaPipe JavaScript Solutions
|
||||
|
||||
MediaPipe offers out of the box solutions to use our ML technology with live and streaming media.
|
||||
|
||||
Visit us as [mediapipe.dev]()
|
||||
|
||||
See live demos of our JavaScript solutions at [code.mediapipe.dev/codepen]()
|
||||
|
||||
For more information on each of the solutions and how to use them, visit https://google.github.io/mediapipe/getting_started/javascript.
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
/**
|
||||
* @fileoverview Declarations for the face tracking API.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Version number of this package.
|
||||
*/
|
||||
export const VERSION: string;
|
||||
|
||||
/**
|
||||
* We support several ways to get image inputs.
|
||||
*/
|
||||
export type InputImage = HTMLVideoElement | HTMLImageElement | HTMLCanvasElement;
|
||||
|
||||
/**
|
||||
* Legal inputs.
|
||||
*/
|
||||
export interface InputMap {
|
||||
image: InputImage;
|
||||
}
|
||||
|
||||
/**
|
||||
* GpuBuffers should all be compatible with Canvas' `drawImage`
|
||||
*/
|
||||
type GpuBuffer = HTMLCanvasElement | HTMLImageElement | ImageBitmap;
|
||||
|
||||
/**
|
||||
* Possible results from SelfieSegmentation.
|
||||
*/
|
||||
export interface Results {
|
||||
image: GpuBuffer;
|
||||
segmentationMask: GpuBuffer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Configurable options for SelfieSegmentation.
|
||||
*/
|
||||
export interface Options {
|
||||
selfieMode?: boolean;
|
||||
modelSelection?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* Listener for any results from SelfieSegmentation.
|
||||
*/
|
||||
export type ResultsListener = (results: Results) => (Promise<void>|void);
|
||||
|
||||
/**
|
||||
* Contains all of the setup options to drive the face solution.
|
||||
*/
|
||||
export interface SelfieSegmentationConfig {
|
||||
locateFile?: (path: string, prefix?: string) => string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Declares the interface of SelfieSegmentation.
|
||||
*/
|
||||
declare interface SelfieSegmentationInterface {
|
||||
close(): Promise<void>;
|
||||
onResults(listener: ResultsListener): void;
|
||||
initialize(): Promise<void>;
|
||||
reset(): void;
|
||||
send(inputs: InputMap): Promise<void>;
|
||||
setOptions(options: Options): void;
|
||||
}
|
||||
|
||||
/**
|
||||
* Encapsulates the entire SelfieSegmentation solution. All that is needed from the
|
||||
* developer is the source of the image data. The user will call `send`
|
||||
* repeatedly and if a face is detected, then the user can receive callbacks
|
||||
* with this metadata.
|
||||
*/
|
||||
export declare class SelfieSegmentation implements SelfieSegmentationInterface {
|
||||
constructor(config?: SelfieSegmentationConfig);
|
||||
|
||||
/**
|
||||
* Shuts down the object. Call before creating a new instance.
|
||||
*/
|
||||
close(): Promise<void>;
|
||||
|
||||
/**
|
||||
* Registers a single callback that will carry any results that occur
|
||||
* after calling Send().
|
||||
*/
|
||||
onResults(listener: ResultsListener): void;
|
||||
|
||||
/**
|
||||
* Initializes the solution. This includes loading ML models and mediapipe
|
||||
* configurations, as well as setting up potential listeners for metadata. If
|
||||
* `initialize` is not called manually, then it will be called the first time
|
||||
* the developer calls `send`.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
|
||||
/**
|
||||
* Tells the graph to restart before the next frame is sent.
|
||||
*/
|
||||
reset(): void;
|
||||
|
||||
/**
|
||||
* Processes a single frame of data, which depends on the options sent to the
|
||||
* constructor.
|
||||
*/
|
||||
send(inputs: InputMap): Promise<void>;
|
||||
|
||||
/**
|
||||
* Adjusts options in the solution. This may trigger a graph reload the next
|
||||
* time the graph tries to run.
|
||||
*/
|
||||
setOptions(options: Options): void;
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"name": "@mediapipe/selfie_segmentation",
|
||||
"version": "0.1.1675465747",
|
||||
"description": "Mediapipe Selfie Segmentation Solution",
|
||||
"main": "selfie_segmentation.js",
|
||||
"module": "selfie_segmentation.js",
|
||||
"jsdelivr": "selfie_segmentation.js",
|
||||
"unpkg": "selfie_segmentation.js",
|
||||
"types": "index.d.ts",
|
||||
"author": "mhays@google.com",
|
||||
"license": "Apache-2.0",
|
||||
"homepage": "https://google.github.io/mediapipe/solutions/selfie_segmentation",
|
||||
"keywords": [ "AR", "ML", "Augmented" ],
|
||||
"devDependencies": {
|
||||
},
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"dependencies": {
|
||||
},
|
||||
"browser": {
|
||||
"node-fetch": false,
|
||||
"util": false,
|
||||
"crypto": false
|
||||
},
|
||||
"sideEffects" : []
|
||||
}
|
||||
Binary file not shown.
@@ -0,0 +1,93 @@
|
||||
(function(){/*
|
||||
|
||||
Copyright The Closure Library Authors.
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
'use strict';var x;function aa(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}}var ba="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};
|
||||
function ca(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error("Cannot find global object");}var y=ca(this);function z(a,b){if(b)a:{var c=y;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];if(!(e in c))break a;c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&ba(c,a,{configurable:!0,writable:!0,value:b})}}
|
||||
z("Symbol",function(a){function b(g){if(this instanceof b)throw new TypeError("Symbol is not a constructor");return new c(d+(g||"")+"_"+e++,g)}function c(g,f){this.h=g;ba(this,"description",{configurable:!0,writable:!0,value:f})}if(a)return a;c.prototype.toString=function(){return this.h};var d="jscomp_symbol_"+(1E9*Math.random()>>>0)+"_",e=0;return b});
|
||||
z("Symbol.iterator",function(a){if(a)return a;a=Symbol("Symbol.iterator");for(var b="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),c=0;c<b.length;c++){var d=y[b[c]];"function"===typeof d&&"function"!=typeof d.prototype[a]&&ba(d.prototype,a,{configurable:!0,writable:!0,value:function(){return da(aa(this))}})}return a});function da(a){a={next:a};a[Symbol.iterator]=function(){return this};return a}
|
||||
function A(a){var b="undefined"!=typeof Symbol&&Symbol.iterator&&a[Symbol.iterator];return b?b.call(a):{next:aa(a)}}function ea(a){if(!(a instanceof Array)){a=A(a);for(var b,c=[];!(b=a.next()).done;)c.push(b.value);a=c}return a}var fa="function"==typeof Object.assign?Object.assign:function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)Object.prototype.hasOwnProperty.call(d,e)&&(a[e]=d[e])}return a};z("Object.assign",function(a){return a||fa});
|
||||
var ha="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},ia;if("function"==typeof Object.setPrototypeOf)ia=Object.setPrototypeOf;else{var ja;a:{var ka={a:!0},la={};try{la.__proto__=ka;ja=la.a;break a}catch(a){}ja=!1}ia=ja?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var ma=ia;
|
||||
function na(a,b){a.prototype=ha(b.prototype);a.prototype.constructor=a;if(ma)ma(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.za=b.prototype}function oa(){this.m=!1;this.j=null;this.i=void 0;this.h=1;this.v=this.s=0;this.l=null}function pa(a){if(a.m)throw new TypeError("Generator is already running");a.m=!0}oa.prototype.u=function(a){this.i=a};
|
||||
function qa(a,b){a.l={ma:b,na:!0};a.h=a.s||a.v}oa.prototype.return=function(a){this.l={return:a};this.h=this.v};function D(a,b,c){a.h=c;return{value:b}}function ra(a){this.h=new oa;this.i=a}function sa(a,b){pa(a.h);var c=a.h.j;if(c)return ta(a,"return"in c?c["return"]:function(d){return{value:d,done:!0}},b,a.h.return);a.h.return(b);return ua(a)}
|
||||
function ta(a,b,c,d){try{var e=b.call(a.h.j,c);if(!(e instanceof Object))throw new TypeError("Iterator result "+e+" is not an object");if(!e.done)return a.h.m=!1,e;var g=e.value}catch(f){return a.h.j=null,qa(a.h,f),ua(a)}a.h.j=null;d.call(a.h,g);return ua(a)}function ua(a){for(;a.h.h;)try{var b=a.i(a.h);if(b)return a.h.m=!1,{value:b.value,done:!1}}catch(c){a.h.i=void 0,qa(a.h,c)}a.h.m=!1;if(a.h.l){b=a.h.l;a.h.l=null;if(b.na)throw b.ma;return{value:b.return,done:!0}}return{value:void 0,done:!0}}
|
||||
function va(a){this.next=function(b){pa(a.h);a.h.j?b=ta(a,a.h.j.next,b,a.h.u):(a.h.u(b),b=ua(a));return b};this.throw=function(b){pa(a.h);a.h.j?b=ta(a,a.h.j["throw"],b,a.h.u):(qa(a.h,b),b=ua(a));return b};this.return=function(b){return sa(a,b)};this[Symbol.iterator]=function(){return this}}function wa(a){function b(d){return a.next(d)}function c(d){return a.throw(d)}return new Promise(function(d,e){function g(f){f.done?d(f.value):Promise.resolve(f.value).then(b,c).then(g,e)}g(a.next())})}
|
||||
function E(a){return wa(new va(new ra(a)))}
|
||||
z("Promise",function(a){function b(f){this.i=0;this.j=void 0;this.h=[];this.u=!1;var h=this.l();try{f(h.resolve,h.reject)}catch(k){h.reject(k)}}function c(){this.h=null}function d(f){return f instanceof b?f:new b(function(h){h(f)})}if(a)return a;c.prototype.i=function(f){if(null==this.h){this.h=[];var h=this;this.j(function(){h.m()})}this.h.push(f)};var e=y.setTimeout;c.prototype.j=function(f){e(f,0)};c.prototype.m=function(){for(;this.h&&this.h.length;){var f=this.h;this.h=[];for(var h=0;h<f.length;++h){var k=
|
||||
f[h];f[h]=null;try{k()}catch(l){this.l(l)}}}this.h=null};c.prototype.l=function(f){this.j(function(){throw f;})};b.prototype.l=function(){function f(l){return function(m){k||(k=!0,l.call(h,m))}}var h=this,k=!1;return{resolve:f(this.I),reject:f(this.m)}};b.prototype.I=function(f){if(f===this)this.m(new TypeError("A Promise cannot resolve to itself"));else if(f instanceof b)this.L(f);else{a:switch(typeof f){case "object":var h=null!=f;break a;case "function":h=!0;break a;default:h=!1}h?this.F(f):this.s(f)}};
|
||||
b.prototype.F=function(f){var h=void 0;try{h=f.then}catch(k){this.m(k);return}"function"==typeof h?this.M(h,f):this.s(f)};b.prototype.m=function(f){this.v(2,f)};b.prototype.s=function(f){this.v(1,f)};b.prototype.v=function(f,h){if(0!=this.i)throw Error("Cannot settle("+f+", "+h+"): Promise already settled in state"+this.i);this.i=f;this.j=h;2===this.i&&this.K();this.H()};b.prototype.K=function(){var f=this;e(function(){if(f.D()){var h=y.console;"undefined"!==typeof h&&h.error(f.j)}},1)};b.prototype.D=
|
||||
function(){if(this.u)return!1;var f=y.CustomEvent,h=y.Event,k=y.dispatchEvent;if("undefined"===typeof k)return!0;"function"===typeof f?f=new f("unhandledrejection",{cancelable:!0}):"function"===typeof h?f=new h("unhandledrejection",{cancelable:!0}):(f=y.document.createEvent("CustomEvent"),f.initCustomEvent("unhandledrejection",!1,!0,f));f.promise=this;f.reason=this.j;return k(f)};b.prototype.H=function(){if(null!=this.h){for(var f=0;f<this.h.length;++f)g.i(this.h[f]);this.h=null}};var g=new c;b.prototype.L=
|
||||
function(f){var h=this.l();f.T(h.resolve,h.reject)};b.prototype.M=function(f,h){var k=this.l();try{f.call(h,k.resolve,k.reject)}catch(l){k.reject(l)}};b.prototype.then=function(f,h){function k(p,n){return"function"==typeof p?function(q){try{l(p(q))}catch(t){m(t)}}:n}var l,m,r=new b(function(p,n){l=p;m=n});this.T(k(f,l),k(h,m));return r};b.prototype.catch=function(f){return this.then(void 0,f)};b.prototype.T=function(f,h){function k(){switch(l.i){case 1:f(l.j);break;case 2:h(l.j);break;default:throw Error("Unexpected state: "+
|
||||
l.i);}}var l=this;null==this.h?g.i(k):this.h.push(k);this.u=!0};b.resolve=d;b.reject=function(f){return new b(function(h,k){k(f)})};b.race=function(f){return new b(function(h,k){for(var l=A(f),m=l.next();!m.done;m=l.next())d(m.value).T(h,k)})};b.all=function(f){var h=A(f),k=h.next();return k.done?d([]):new b(function(l,m){function r(q){return function(t){p[q]=t;n--;0==n&&l(p)}}var p=[],n=0;do p.push(void 0),n++,d(k.value).T(r(p.length-1),m),k=h.next();while(!k.done)})};return b});
|
||||
function xa(a,b){a instanceof String&&(a+="");var c=0,d=!1,e={next:function(){if(!d&&c<a.length){var g=c++;return{value:b(g,a[g]),done:!1}}d=!0;return{done:!0,value:void 0}}};e[Symbol.iterator]=function(){return e};return e}z("Array.prototype.keys",function(a){return a?a:function(){return xa(this,function(b){return b})}});
|
||||
z("Array.prototype.fill",function(a){return a?a:function(b,c,d){var e=this.length||0;0>c&&(c=Math.max(0,e+c));if(null==d||d>e)d=e;d=Number(d);0>d&&(d=Math.max(0,e+d));for(c=Number(c||0);c<d;c++)this[c]=b;return this}});function F(a){return a?a:Array.prototype.fill}z("Int8Array.prototype.fill",F);z("Uint8Array.prototype.fill",F);z("Uint8ClampedArray.prototype.fill",F);z("Int16Array.prototype.fill",F);z("Uint16Array.prototype.fill",F);z("Int32Array.prototype.fill",F);
|
||||
z("Uint32Array.prototype.fill",F);z("Float32Array.prototype.fill",F);z("Float64Array.prototype.fill",F);z("Object.is",function(a){return a?a:function(b,c){return b===c?0!==b||1/b===1/c:b!==b&&c!==c}});z("Array.prototype.includes",function(a){return a?a:function(b,c){var d=this;d instanceof String&&(d=String(d));var e=d.length;c=c||0;for(0>c&&(c=Math.max(c+e,0));c<e;c++){var g=d[c];if(g===b||Object.is(g,b))return!0}return!1}});
|
||||
z("String.prototype.includes",function(a){return a?a:function(b,c){if(null==this)throw new TypeError("The 'this' value for String.prototype.includes must not be null or undefined");if(b instanceof RegExp)throw new TypeError("First argument to String.prototype.includes must not be a regular expression");return-1!==this.indexOf(b,c||0)}});var ya=this||self;
|
||||
function Aa(a,b){a=a.split(".");var c=ya;a[0]in c||"undefined"==typeof c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)a.length||void 0===b?c[d]&&c[d]!==Object.prototype[d]?c=c[d]:c=c[d]={}:c[d]=b};function Ba(a){var b;a:{if(b=ya.navigator)if(b=b.userAgent)break a;b=""}return-1!=b.indexOf(a)};var Ca=Array.prototype.map?function(a,b){return Array.prototype.map.call(a,b,void 0)}:function(a,b){for(var c=a.length,d=Array(c),e="string"===typeof a?a.split(""):a,g=0;g<c;g++)g in e&&(d[g]=b.call(void 0,e[g],g,a));return d};var Da={},Ea=null;function Fa(a){var b=a.length,c=3*b/4;c%3?c=Math.floor(c):-1!="=.".indexOf(a[b-1])&&(c=-1!="=.".indexOf(a[b-2])?c-2:c-1);var d=new Uint8Array(c),e=0;Ga(a,function(g){d[e++]=g});return e!==c?d.subarray(0,e):d}
|
||||
function Ga(a,b){function c(k){for(;d<a.length;){var l=a.charAt(d++),m=Ea[l];if(null!=m)return m;if(!/^[\s\xa0]*$/.test(l))throw Error("Unknown base64 encoding at char: "+l);}return k}Ha();for(var d=0;;){var e=c(-1),g=c(0),f=c(64),h=c(64);if(64===h&&-1===e)break;b(e<<2|g>>4);64!=f&&(b(g<<4&240|f>>2),64!=h&&b(f<<6&192|h))}}
|
||||
function Ha(){if(!Ea){Ea={};for(var a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),b=["+/=","+/","-_=","-_.","-_"],c=0;5>c;c++){var d=a.concat(b[c].split(""));Da[c]=d;for(var e=0;e<d.length;e++){var g=d[e];void 0===Ea[g]&&(Ea[g]=e)}}}};var Ia="undefined"!==typeof Uint8Array,Ja=!(Ba("Trident")||Ba("MSIE"))&&"function"===typeof ya.btoa;
|
||||
function Ka(a){if(!Ja){var b;void 0===b&&(b=0);Ha();b=Da[b];for(var c=Array(Math.floor(a.length/3)),d=b[64]||"",e=0,g=0;e<a.length-2;e+=3){var f=a[e],h=a[e+1],k=a[e+2],l=b[f>>2];f=b[(f&3)<<4|h>>4];h=b[(h&15)<<2|k>>6];k=b[k&63];c[g++]=l+f+h+k}l=0;k=d;switch(a.length-e){case 2:l=a[e+1],k=b[(l&15)<<2]||d;case 1:a=a[e],c[g]=b[a>>2]+b[(a&3)<<4|l>>4]+k+d}return c.join("")}for(b="";10240<a.length;)b+=String.fromCharCode.apply(null,a.subarray(0,10240)),a=a.subarray(10240);b+=String.fromCharCode.apply(null,
|
||||
a);return btoa(b)}var La=RegExp("[-_.]","g");function Ma(a){switch(a){case "-":return"+";case "_":return"/";case ".":return"=";default:return""}}function Na(a){if(!Ja)return Fa(a);La.test(a)&&(a=a.replace(La,Ma));a=atob(a);for(var b=new Uint8Array(a.length),c=0;c<a.length;c++)b[c]=a.charCodeAt(c);return b}var Oa;function Pa(){return Oa||(Oa=new Uint8Array(0))}var Qa={};var Ra="function"===typeof Uint8Array.prototype.slice,G=0,H=0;function Sa(a){var b=0>a;a=Math.abs(a);var c=a>>>0;a=Math.floor((a-c)/4294967296);b&&(c=A(Ta(c,a)),b=c.next().value,a=c.next().value,c=b);G=c>>>0;H=a>>>0}var Ua="function"===typeof BigInt;function Ta(a,b){b=~b;a?a=~a+1:b+=1;return[a,b]};function Va(a,b){this.i=a>>>0;this.h=b>>>0}
|
||||
function Wa(a){if(!a)return Xa||(Xa=new Va(0,0));if(!/^-?\d+$/.test(a))return null;if(16>a.length)Sa(Number(a));else if(Ua)a=BigInt(a),G=Number(a&BigInt(4294967295))>>>0,H=Number(a>>BigInt(32)&BigInt(4294967295));else{var b=+("-"===a[0]);H=G=0;for(var c=a.length,d=b,e=(c-b)%6+b;e<=c;d=e,e+=6)d=Number(a.slice(d,e)),H*=1E6,G=1E6*G+d,4294967296<=G&&(H+=G/4294967296|0,G%=4294967296);b&&(b=A(Ta(G,H)),a=b.next().value,b=b.next().value,G=a,H=b)}return new Va(G,H)}var Xa;function Ya(a,b){return Error("Invalid wire type: "+a+" (at position "+b+")")}function Za(){return Error("Failed to read varint, encoding is invalid.")}function $a(a,b){return Error("Tried to read past the end of the data "+b+" > "+a)};function K(){throw Error("Invalid UTF8");}function ab(a,b){b=String.fromCharCode.apply(null,b);return null==a?b:a+b}var bb=void 0,cb,db="undefined"!==typeof TextDecoder,eb,fb="undefined"!==typeof TextEncoder;var gb;function hb(a){if(a!==Qa)throw Error("illegal external caller");}function ib(a,b){hb(b);this.V=a;if(null!=a&&0===a.length)throw Error("ByteString should be constructed with non-empty values");}function jb(){return gb||(gb=new ib(null,Qa))}function kb(a){hb(Qa);var b=a.V;b=null==b||Ia&&null!=b&&b instanceof Uint8Array?b:"string"===typeof b?Na(b):null;return null==b?b:a.V=b};function lb(a){if("string"===typeof a)return{buffer:Na(a),C:!1};if(Array.isArray(a))return{buffer:new Uint8Array(a),C:!1};if(a.constructor===Uint8Array)return{buffer:a,C:!1};if(a.constructor===ArrayBuffer)return{buffer:new Uint8Array(a),C:!1};if(a.constructor===ib)return{buffer:kb(a)||Pa(),C:!0};if(a instanceof Uint8Array)return{buffer:new Uint8Array(a.buffer,a.byteOffset,a.byteLength),C:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers");
|
||||
};function mb(a,b){this.i=null;this.m=!1;this.h=this.j=this.l=0;nb(this,a,b)}function nb(a,b,c){c=void 0===c?{}:c;a.S=void 0===c.S?!1:c.S;b&&(b=lb(b),a.i=b.buffer,a.m=b.C,a.l=0,a.j=a.i.length,a.h=a.l)}mb.prototype.reset=function(){this.h=this.l};function L(a,b){a.h=b;if(b>a.j)throw $a(a.j,b);}
|
||||
function ob(a){var b=a.i,c=a.h,d=b[c++],e=d&127;if(d&128&&(d=b[c++],e|=(d&127)<<7,d&128&&(d=b[c++],e|=(d&127)<<14,d&128&&(d=b[c++],e|=(d&127)<<21,d&128&&(d=b[c++],e|=d<<28,d&128&&b[c++]&128&&b[c++]&128&&b[c++]&128&&b[c++]&128&&b[c++]&128)))))throw Za();L(a,c);return e}function pb(a,b){if(0>b)throw Error("Tried to read a negative byte length: "+b);var c=a.h,d=c+b;if(d>a.j)throw $a(b,a.j-c);a.h=d;return c}var qb=[];function rb(){this.h=[]}rb.prototype.length=function(){return this.h.length};rb.prototype.end=function(){var a=this.h;this.h=[];return a};function sb(a,b,c){for(;0<c||127<b;)a.h.push(b&127|128),b=(b>>>7|c<<25)>>>0,c>>>=7;a.h.push(b)}function M(a,b){for(;127<b;)a.h.push(b&127|128),b>>>=7;a.h.push(b)};function tb(a,b){if(qb.length){var c=qb.pop();nb(c,a,b);a=c}else a=new mb(a,b);this.h=a;this.j=this.h.h;this.i=this.l=-1;this.setOptions(b)}tb.prototype.setOptions=function(a){a=void 0===a?{}:a;this.ca=void 0===a.ca?!1:a.ca};tb.prototype.reset=function(){this.h.reset();this.j=this.h.h;this.i=this.l=-1};
|
||||
function ub(a){var b=a.h;if(b.h==b.j)return!1;a.j=a.h.h;var c=ob(a.h)>>>0;b=c>>>3;c&=7;if(!(0<=c&&5>=c))throw Ya(c,a.j);if(1>b)throw Error("Invalid field number: "+b+" (at position "+a.j+")");a.l=b;a.i=c;return!0}
|
||||
function vb(a){switch(a.i){case 0:if(0!=a.i)vb(a);else a:{a=a.h;for(var b=a.h,c=b+10,d=a.i;b<c;)if(0===(d[b++]&128)){L(a,b);break a}throw Za();}break;case 1:a=a.h;L(a,a.h+8);break;case 2:2!=a.i?vb(a):(b=ob(a.h)>>>0,a=a.h,L(a,a.h+b));break;case 5:a=a.h;L(a,a.h+4);break;case 3:b=a.l;do{if(!ub(a))throw Error("Unmatched start-group tag: stream EOF");if(4==a.i){if(a.l!=b)throw Error("Unmatched end-group tag");break}vb(a)}while(1);break;default:throw Ya(a.i,a.j);}}var wb=[];function xb(){this.j=[];this.i=0;this.h=new rb}function N(a,b){0!==b.length&&(a.j.push(b),a.i+=b.length)}function yb(a,b){if(b=b.R){N(a,a.h.end());for(var c=0;c<b.length;c++)N(a,kb(b[c])||Pa())}};var O="function"===typeof Symbol&&"symbol"===typeof Symbol()?Symbol():void 0;function P(a,b){if(O)return a[O]|=b;if(void 0!==a.A)return a.A|=b;Object.defineProperties(a,{A:{value:b,configurable:!0,writable:!0,enumerable:!1}});return b}function zb(a,b){O?a[O]&&(a[O]&=~b):void 0!==a.A&&(a.A&=~b)}function Q(a){var b;O?b=a[O]:b=a.A;return null==b?0:b}function R(a,b){O?a[O]=b:void 0!==a.A?a.A=b:Object.defineProperties(a,{A:{value:b,configurable:!0,writable:!0,enumerable:!1}})}
|
||||
function Ab(a){P(a,1);return a}function Bb(a,b){R(b,(a|0)&-51)}function Cb(a,b){R(b,(a|18)&-41)};var Db={};function Eb(a){return null!==a&&"object"===typeof a&&!Array.isArray(a)&&a.constructor===Object}var Fb,Gb=[];R(Gb,23);Fb=Object.freeze(Gb);function Hb(a){if(Q(a.o)&2)throw Error("Cannot mutate an immutable Message");}function Ib(a){var b=a.length;(b=b?a[b-1]:void 0)&&Eb(b)?b.g=1:(b={},a.push((b.g=1,b)))};function Jb(a){var b=a.i+a.G;return a.B||(a.B=a.o[b]={})}function S(a,b){return-1===b?null:b>=a.i?a.B?a.B[b]:void 0:a.o[b+a.G]}function U(a,b,c,d){Hb(a);Kb(a,b,c,d)}function Kb(a,b,c,d){a.j&&(a.j=void 0);b>=a.i||d?Jb(a)[b]=c:(a.o[b+a.G]=c,(a=a.B)&&b in a&&delete a[b])}function Lb(a,b,c,d){var e=S(a,b);Array.isArray(e)||(e=Fb);var g=Q(e);g&1||Ab(e);if(d)g&2||P(e,2),c&1||Object.freeze(e);else{d=!(c&2);var f=g&2;c&1||!f?d&&g&16&&!f&&zb(e,16):(e=Ab(Array.prototype.slice.call(e)),Kb(a,b,e))}return e}
|
||||
function Mb(a,b){var c=S(a,b);var d=null==c?c:"number"===typeof c||"NaN"===c||"Infinity"===c||"-Infinity"===c?Number(c):void 0;null!=d&&d!==c&&Kb(a,b,d);return d}
|
||||
function Nb(a,b,c,d,e){a.h||(a.h={});var g=a.h[c],f=Lb(a,c,3,e);if(!g){var h=f;g=[];var k=!!(Q(a.o)&16);f=!!(Q(h)&2);var l=h;!e&&f&&(h=Array.prototype.slice.call(h));for(var m=f,r=0;r<h.length;r++){var p=h[r];var n=b,q=!1;q=void 0===q?!1:q;p=Array.isArray(p)?new n(p):q?new n:void 0;if(void 0!==p){n=p.o;var t=q=Q(n);f&&(t|=2);k&&(t|=16);t!=q&&R(n,t);n=t;m=m||!!(2&n);g.push(p)}}a.h[c]=g;k=Q(h);b=k|33;b=m?b&-9:b|8;k!=b&&(m=h,Object.isFrozen(m)&&(m=Array.prototype.slice.call(m)),R(m,b),h=m);l!==h&&Kb(a,
|
||||
c,h);(e||d&&f)&&P(g,2);d&&Object.freeze(g);return g}e||(e=Object.isFrozen(g),d&&!e?Object.freeze(g):!d&&e&&(g=Array.prototype.slice.call(g),a.h[c]=g));return g}function Ob(a,b,c){var d=!!(Q(a.o)&2);b=Nb(a,b,c,d,d);a=Lb(a,c,3,d);if(!(d||Q(a)&8)){for(d=0;d<b.length;d++){c=b[d];if(Q(c.o)&2){var e=Pb(c,!1);e.j=c}else e=c;c!==e&&(b[d]=e,a[d]=e.o)}P(a,8)}return b}
|
||||
function V(a,b,c){if(null!=c&&"number"!==typeof c)throw Error("Value of float/double field must be a number|null|undefined, found "+typeof c+": "+c);U(a,b,c)}function Qb(a,b,c,d,e){Hb(a);var g=Nb(a,c,b,!1,!1);c=null!=d?d:new c;a=Lb(a,b,2,!1);void 0!=e?(g.splice(e,0,c),a.splice(e,0,c.o)):(g.push(c),a.push(c.o));c.C()&&zb(a,8);return c}function Rb(a,b){return null==a?b:a}function W(a,b,c){c=void 0===c?0:c;return Rb(Mb(a,b),c)};var Sb;function Tb(a){switch(typeof a){case "number":return isFinite(a)?a:String(a);case "object":if(a)if(Array.isArray(a)){if(0!==(Q(a)&128))return a=Array.prototype.slice.call(a),Ib(a),a}else{if(Ia&&null!=a&&a instanceof Uint8Array)return Ka(a);if(a instanceof ib){var b=a.V;return null==b?"":"string"===typeof b?b:a.V=Ka(b)}}}return a};function Ub(a,b,c,d){if(null!=a){if(Array.isArray(a))a=Vb(a,b,c,void 0!==d);else if(Eb(a)){var e={},g;for(g in a)e[g]=Ub(a[g],b,c,d);a=e}else a=b(a,d);return a}}function Vb(a,b,c,d){var e=Q(a);d=d?!!(e&16):void 0;a=Array.prototype.slice.call(a);for(var g=0;g<a.length;g++)a[g]=Ub(a[g],b,c,d);c(e,a);return a}function Wb(a){return a.ja===Db?a.toJSON():Tb(a)}function Xb(a,b){a&128&&Ib(b)};function Yb(a,b,c){c=void 0===c?Cb:c;if(null!=a){if(Ia&&a instanceof Uint8Array)return a.length?new ib(new Uint8Array(a),Qa):jb();if(Array.isArray(a)){var d=Q(a);if(d&2)return a;if(b&&!(d&32)&&(d&16||0===d))return R(a,d|2),a;a=Vb(a,Yb,d&4?Cb:c,!0);b=Q(a);b&4&&b&2&&Object.freeze(a);return a}return a.ja===Db?Zb(a):a}}
|
||||
function $b(a,b,c,d,e,g,f){if(a=a.h&&a.h[c]){d=Q(a);d&2?d=a:(g=Ca(a,Zb),Cb(d,g),Object.freeze(g),d=g);Hb(b);f=null==d?Fb:Ab([]);if(null!=d){g=!!d.length;for(a=0;a<d.length;a++){var h=d[a];g=g&&!(Q(h.o)&2);f[a]=h.o}g=(g?8:0)|1;a=Q(f);(a&g)!==g&&(Object.isFrozen(f)&&(f=Array.prototype.slice.call(f)),R(f,a|g));b.h||(b.h={});b.h[c]=d}else b.h&&(b.h[c]=void 0);Kb(b,c,f,e)}else U(b,c,Yb(d,g,f),e)}function Zb(a){if(Q(a.o)&2)return a;a=Pb(a,!0);P(a.o,2);return a}
|
||||
function Pb(a,b){var c=a.o,d=[];P(d,16);var e=a.constructor.h;e&&d.push(e);e=a.B;if(e){d.length=c.length;d.fill(void 0,d.length,c.length);var g={};d[d.length-1]=g}0!==(Q(c)&128)&&Ib(d);b=b||a.C()?Cb:Bb;g=a.constructor;Sb=d;d=new g(d);Sb=void 0;a.R&&(d.R=a.R.slice());g=!!(Q(c)&16);for(var f=e?c.length-1:c.length,h=0;h<f;h++)$b(a,d,h-a.G,c[h],!1,g,b);if(e)for(var k in e)$b(a,d,+k,e[k],!0,g,b);return d};function X(a,b,c){null==a&&(a=Sb);Sb=void 0;var d=this.constructor.i||0,e=0<d,g=this.constructor.h,f=!1;if(null==a){a=g?[g]:[];var h=48;var k=!0;e&&(d=0,h|=128);R(a,h)}else{if(!Array.isArray(a))throw Error();if(g&&g!==a[0])throw Error();var l=h=P(a,0);if(k=0!==(16&l))(f=0!==(32&l))||(l|=32);if(e)if(128&l)d=0;else{if(0<a.length){var m=a[a.length-1];if(Eb(m)&&"g"in m){d=0;l|=128;delete m.g;var r=!0,p;for(p in m){r=!1;break}r&&a.pop()}}}else if(128&l)throw Error();h!==l&&R(a,l)}this.G=(g?0:-1)-d;this.h=
|
||||
void 0;this.o=a;a:{g=this.o.length;d=g-1;if(g&&(g=this.o[d],Eb(g))){this.B=g;this.i=d-this.G;break a}void 0!==b&&-1<b?(this.i=Math.max(b,d+1-this.G),this.B=void 0):this.i=Number.MAX_VALUE}if(!e&&this.B&&"g"in this.B)throw Error('Unexpected "g" flag in sparse object of message that is not a group type.');if(c){b=k&&!f&&!0;e=this.i;var n;for(k=0;k<c.length;k++)f=c[k],f<e?(f+=this.G,(d=a[f])?ac(d,b):a[f]=Fb):(n||(n=Jb(this)),(d=n[f])?ac(d,b):n[f]=Fb)}}
|
||||
X.prototype.toJSON=function(){return Vb(this.o,Wb,Xb)};X.prototype.C=function(){return!!(Q(this.o)&2)};function ac(a,b){if(Array.isArray(a)){var c=Q(a),d=1;!b||c&2||(d|=16);(c&d)!==d&&R(a,c|d)}}X.prototype.ja=Db;X.prototype.toString=function(){return this.o.toString()};function bc(a,b,c){if(c){var d={},e;for(e in c){var g=c[e],f=g.ra;f||(d.J=g.xa||g.oa.W,g.ia?(d.aa=cc(g.ia),f=function(h){return function(k,l,m){return h.J(k,l,m,h.aa)}}(d)):g.ka?(d.Z=dc(g.da.P,g.ka),f=function(h){return function(k,l,m){return h.J(k,l,m,h.Z)}}(d)):f=d.J,g.ra=f);f(b,a,g.da);d={J:d.J,aa:d.aa,Z:d.Z}}}yb(b,a)}var ec=Symbol();function fc(a,b,c){return a[ec]||(a[ec]=function(d,e){return b(d,e,c)})}
|
||||
function gc(a){var b=a[ec];if(!b){var c=hc(a);b=function(d,e){return ic(d,e,c)};a[ec]=b}return b}function jc(a){var b=a.ia;if(b)return gc(b);if(b=a.wa)return fc(a.da.P,b,a.ka)}function kc(a){var b=jc(a),c=a.da,d=a.oa.U;return b?function(e,g){return d(e,g,c,b)}:function(e,g){return d(e,g,c)}}function lc(a,b){var c=a[b];"function"==typeof c&&0===c.length&&(c=c(),a[b]=c);return Array.isArray(c)&&(mc in c||nc in c||0<c.length&&"function"==typeof c[0])?c:void 0}
|
||||
function oc(a,b,c,d,e,g){b.P=a[0];var f=1;if(a.length>f&&"number"!==typeof a[f]){var h=a[f++];c(b,h)}for(;f<a.length;){c=a[f++];for(var k=f+1;k<a.length&&"number"!==typeof a[k];)k++;h=a[f++];k-=f;switch(k){case 0:d(b,c,h);break;case 1:(k=lc(a,f))?(f++,e(b,c,h,k)):d(b,c,h,a[f++]);break;case 2:k=f++;k=lc(a,k);e(b,c,h,k,a[f++]);break;case 3:g(b,c,h,a[f++],a[f++],a[f++]);break;case 4:g(b,c,h,a[f++],a[f++],a[f++],a[f++]);break;default:throw Error("unexpected number of binary field arguments: "+k);}}return b}
|
||||
var pc=Symbol();function cc(a){var b=a[pc];if(!b){var c=qc(a);b=function(d,e){return rc(d,e,c)};a[pc]=b}return b}function dc(a,b){var c=a[pc];c||(c=function(d,e){return bc(d,e,b)},a[pc]=c);return c}var nc=Symbol();function sc(a,b){a.push(b)}function tc(a,b,c){a.push(b,c.W)}function uc(a,b,c,d){var e=cc(d),g=qc(d).P,f=c.W;a.push(b,function(h,k,l){return f(h,k,l,g,e)})}function vc(a,b,c,d,e,g){var f=dc(d,g),h=c.W;a.push(b,function(k,l,m){return h(k,l,m,d,f)})}
|
||||
function qc(a){var b=a[nc];if(b)return b;b=oc(a,a[nc]=[],sc,tc,uc,vc);mc in a&&nc in a&&(a.length=0);return b}var mc=Symbol();function wc(a,b){a[0]=b}function xc(a,b,c,d){var e=c.U;a[b]=d?function(g,f,h){return e(g,f,h,d)}:e}function yc(a,b,c,d,e){var g=c.U,f=gc(d),h=hc(d).P;a[b]=function(k,l,m){return g(k,l,m,h,f,e)}}function zc(a,b,c,d,e,g,f){var h=c.U,k=fc(d,e,g);a[b]=function(l,m,r){return h(l,m,r,d,k,f)}}
|
||||
function hc(a){var b=a[mc];if(b)return b;b=oc(a,a[mc]={},wc,xc,yc,zc);mc in a&&nc in a&&(a.length=0);return b}
|
||||
function ic(a,b,c){for(;ub(b)&&4!=b.i;){var d=b.l,e=c[d];if(!e){var g=c[0];g&&(g=g[d])&&(e=c[d]=kc(g))}if(!e||!e(b,a,d)){e=b;d=a;g=e.j;vb(e);var f=e;if(!f.ca){e=f.h.h-g;f.h.h=g;f=f.h;if(0==e)e=jb();else{g=pb(f,e);if(f.S&&f.m)e=f.i.subarray(g,g+e);else{f=f.i;var h=g;e=g+e;e=h===e?Pa():Ra?f.slice(h,e):new Uint8Array(f.subarray(h,e))}e=0==e.length?jb():new ib(e,Qa)}(g=d.R)?g.push(e):d.R=[e]}}}return a}
|
||||
function rc(a,b,c){for(var d=c.length,e=1==d%2,g=e?1:0;g<d;g+=2)(0,c[g+1])(b,a,c[g]);bc(a,b,e?c[0]:void 0)}function Ac(a,b){return{U:a,W:b}}
|
||||
var Y=Ac(function(a,b,c){if(5!==a.i)return!1;a=a.h;var d=a.i,e=a.h,g=d[e];var f=d[e+1];var h=d[e+2];d=d[e+3];L(a,a.h+4);f=(g<<0|f<<8|h<<16|d<<24)>>>0;a=2*(f>>31)+1;g=f>>>23&255;f&=8388607;U(b,c,255==g?f?NaN:Infinity*a:0==g?a*Math.pow(2,-149)*f:a*Math.pow(2,g-150)*(f+Math.pow(2,23)));return!0},function(a,b,c){b=Mb(b,c);if(null!=b){M(a.h,8*c+5);a=a.h;var d=+b;0===d?0<1/d?G=H=0:(H=0,G=2147483648):isNaN(d)?(H=0,G=2147483647):(d=(c=0>d?-2147483648:0)?-d:d,3.4028234663852886E38<d?(H=0,G=(c|2139095040)>>>
|
||||
0):1.1754943508222875E-38>d?(d=Math.round(d/Math.pow(2,-149)),H=0,G=(c|d)>>>0):(b=Math.floor(Math.log(d)/Math.LN2),d*=Math.pow(2,-b),d=Math.round(8388608*d),16777216<=d&&++b,H=0,G=(c|b+127<<23|d&8388607)>>>0));c=G;a.h.push(c>>>0&255);a.h.push(c>>>8&255);a.h.push(c>>>16&255);a.h.push(c>>>24&255)}}),Bc=Ac(function(a,b,c){if(0!==a.i)return!1;var d=a.h,e=0,g=a=0,f=d.i,h=d.h;do{var k=f[h++];e|=(k&127)<<g;g+=7}while(32>g&&k&128);32<g&&(a|=(k&127)>>4);for(g=3;32>g&&k&128;g+=7)k=f[h++],a|=(k&127)<<g;L(d,
|
||||
h);if(128>k){d=e>>>0;k=a>>>0;if(a=k&2147483648)d=~d+1>>>0,k=~k>>>0,0==d&&(k=k+1>>>0);d=4294967296*k+(d>>>0)}else throw Za();U(b,c,a?-d:d);return!0},function(a,b,c){b=S(b,c);null!=b&&("string"===typeof b&&Wa(b),null!=b&&(M(a.h,8*c),"number"===typeof b?(a=a.h,Sa(b),sb(a,G,H)):(c=Wa(b),sb(a.h,c.i,c.h))))}),Cc=Ac(function(a,b,c){if(0!==a.i)return!1;U(b,c,ob(a.h));return!0},function(a,b,c){b=S(b,c);if(null!=b&&null!=b)if(M(a.h,8*c),a=a.h,c=b,0<=c)M(a,c);else{for(b=0;9>b;b++)a.h.push(c&127|128),c>>=7;a.h.push(1)}}),
|
||||
Dc=Ac(function(a,b,c){if(2!==a.i)return!1;var d=ob(a.h)>>>0;a=a.h;var e=pb(a,d);a=a.i;if(db){var g=a,f;(f=cb)||(f=cb=new TextDecoder("utf-8",{fatal:!0}));a=e+d;g=0===e&&a===g.length?g:g.subarray(e,a);try{var h=f.decode(g)}catch(r){if(void 0===bb){try{f.decode(new Uint8Array([128]))}catch(p){}try{f.decode(new Uint8Array([97])),bb=!0}catch(p){bb=!1}}!bb&&(cb=void 0);throw r;}}else{h=e;d=h+d;e=[];for(var k=null,l,m;h<d;)l=a[h++],128>l?e.push(l):224>l?h>=d?K():(m=a[h++],194>l||128!==(m&192)?(h--,K()):
|
||||
e.push((l&31)<<6|m&63)):240>l?h>=d-1?K():(m=a[h++],128!==(m&192)||224===l&&160>m||237===l&&160<=m||128!==((g=a[h++])&192)?(h--,K()):e.push((l&15)<<12|(m&63)<<6|g&63)):244>=l?h>=d-2?K():(m=a[h++],128!==(m&192)||0!==(l<<28)+(m-144)>>30||128!==((g=a[h++])&192)||128!==((f=a[h++])&192)?(h--,K()):(l=(l&7)<<18|(m&63)<<12|(g&63)<<6|f&63,l-=65536,e.push((l>>10&1023)+55296,(l&1023)+56320))):K(),8192<=e.length&&(k=ab(k,e),e.length=0);h=ab(k,e)}U(b,c,h);return!0},function(a,b,c){b=S(b,c);if(null!=b){var d=!1;
|
||||
d=void 0===d?!1:d;if(fb){if(d&&/(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])/.test(b))throw Error("Found an unpaired surrogate");b=(eb||(eb=new TextEncoder)).encode(b)}else{for(var e=0,g=new Uint8Array(3*b.length),f=0;f<b.length;f++){var h=b.charCodeAt(f);if(128>h)g[e++]=h;else{if(2048>h)g[e++]=h>>6|192;else{if(55296<=h&&57343>=h){if(56319>=h&&f<b.length){var k=b.charCodeAt(++f);if(56320<=k&&57343>=k){h=1024*(h-55296)+k-56320+65536;g[e++]=h>>18|240;g[e++]=h>>12&63|128;
|
||||
g[e++]=h>>6&63|128;g[e++]=h&63|128;continue}else f--}if(d)throw Error("Found an unpaired surrogate");h=65533}g[e++]=h>>12|224;g[e++]=h>>6&63|128}g[e++]=h&63|128}}b=e===g.length?g:g.subarray(0,e)}M(a.h,8*c+2);M(a.h,b.length);N(a,a.h.end());N(a,b)}}),Ec=Ac(function(a,b,c,d,e){if(2!==a.i)return!1;b=Qb(b,c,d);c=a.h.j;d=ob(a.h)>>>0;var g=a.h.h+d,f=g-c;0>=f&&(a.h.j=g,e(b,a,void 0,void 0,void 0),f=g-a.h.h);if(f)throw Error("Message parsing ended unexpectedly. Expected to read "+(d+" bytes, instead read "+
|
||||
(d-f)+" bytes, either the data ended unexpectedly or the message misreported its own length"));a.h.h=g;a.h.j=c;return!0},function(a,b,c,d,e){b=Ob(b,d,c);if(null!=b)for(d=0;d<b.length;d++){var g=a;M(g.h,8*c+2);var f=g.h.end();N(g,f);f.push(g.i);g=f;e(b[d],a);f=a;var h=g.pop();for(h=f.i+f.h.length()-h;127<h;)g.push(h&127|128),h>>>=7,f.i++;g.push(h);f.i++}});function Fc(a){return function(b,c){a:{if(wb.length){var d=wb.pop();d.setOptions(c);nb(d.h,b,c);b=d}else b=new tb(b,c);try{var e=hc(a);var g=ic(new e.P,b,e);break a}finally{e=b.h,e.i=null,e.m=!1,e.l=0,e.j=0,e.h=0,e.S=!1,b.l=-1,b.i=-1,100>wb.length&&wb.push(b)}g=void 0}return g}}function Gc(a){return function(){var b=new xb;rc(this,b,qc(a));N(b,b.h.end());for(var c=new Uint8Array(b.i),d=b.j,e=d.length,g=0,f=0;f<e;f++){var h=d[f];c.set(h,g);g+=h.length}b.j=[c];return c}};function Z(a){X.call(this,a)}na(Z,X);var Hc=[Z,1,Cc,2,Y,3,Dc,4,Dc];Z.prototype.l=Gc(Hc);function Ic(a){X.call(this,a,-1,Jc)}na(Ic,X);Ic.prototype.addClassification=function(a,b){Qb(this,1,Z,a,b);return this};var Jc=[1],Kc=Fc([Ic,1,Ec,Hc]);function Lc(a){X.call(this,a)}na(Lc,X);var Mc=[Lc,1,Y,2,Y,3,Y,4,Y,5,Y];Lc.prototype.l=Gc(Mc);function Nc(a){X.call(this,a,-1,Oc)}na(Nc,X);var Oc=[1],Pc=Fc([Nc,1,Ec,Mc]);function Qc(a){X.call(this,a)}na(Qc,X);var Rc=[Qc,1,Y,2,Y,3,Y,4,Y,5,Y,6,Bc],Sc=Fc(Rc);Qc.prototype.l=Gc(Rc);function Tc(a,b,c){c=a.createShader(0===c?a.VERTEX_SHADER:a.FRAGMENT_SHADER);a.shaderSource(c,b);a.compileShader(c);if(!a.getShaderParameter(c,a.COMPILE_STATUS))throw Error("Could not compile WebGL shader.\n\n"+a.getShaderInfoLog(c));return c};function Uc(a){return Ob(a,Z,1).map(function(b){var c=S(b,1);return{index:null==c?0:c,qa:W(b,2),label:null!=S(b,3)?Rb(S(b,3),""):void 0,displayName:null!=S(b,4)?Rb(S(b,4),""):void 0}})};function Vc(a){return{x:W(a,1),y:W(a,2),z:W(a,3),visibility:null!=Mb(a,4)?W(a,4):void 0}};function Wc(a,b){this.i=a;this.h=b;this.m=0}
|
||||
function Xc(a,b,c){Yc(a,b);if("function"===typeof a.h.canvas.transferToImageBitmap)return Promise.resolve(a.h.canvas.transferToImageBitmap());if(c)return Promise.resolve(a.h.canvas);if("function"===typeof createImageBitmap)return createImageBitmap(a.h.canvas);void 0===a.j&&(a.j=document.createElement("canvas"));return new Promise(function(d){a.j.height=a.h.canvas.height;a.j.width=a.h.canvas.width;a.j.getContext("2d",{}).drawImage(a.h.canvas,0,0,a.h.canvas.width,a.h.canvas.height);d(a.j)})}
|
||||
function Yc(a,b){var c=a.h;if(void 0===a.s){var d=Tc(c,"\n attribute vec2 aVertex;\n attribute vec2 aTex;\n varying vec2 vTex;\n void main(void) {\n gl_Position = vec4(aVertex, 0.0, 1.0);\n vTex = aTex;\n }",0),e=Tc(c,"\n precision mediump float;\n varying vec2 vTex;\n uniform sampler2D sampler0;\n void main(){\n gl_FragColor = texture2D(sampler0, vTex);\n }",1),g=c.createProgram();c.attachShader(g,d);c.attachShader(g,e);c.linkProgram(g);if(!c.getProgramParameter(g,c.LINK_STATUS))throw Error("Could not compile WebGL program.\n\n"+
|
||||
c.getProgramInfoLog(g));d=a.s=g;c.useProgram(d);e=c.getUniformLocation(d,"sampler0");a.l={O:c.getAttribLocation(d,"aVertex"),N:c.getAttribLocation(d,"aTex"),ya:e};a.v=c.createBuffer();c.bindBuffer(c.ARRAY_BUFFER,a.v);c.enableVertexAttribArray(a.l.O);c.vertexAttribPointer(a.l.O,2,c.FLOAT,!1,0,0);c.bufferData(c.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),c.STATIC_DRAW);c.bindBuffer(c.ARRAY_BUFFER,null);a.u=c.createBuffer();c.bindBuffer(c.ARRAY_BUFFER,a.u);c.enableVertexAttribArray(a.l.N);c.vertexAttribPointer(a.l.N,
|
||||
2,c.FLOAT,!1,0,0);c.bufferData(c.ARRAY_BUFFER,new Float32Array([0,1,0,0,1,0,1,1]),c.STATIC_DRAW);c.bindBuffer(c.ARRAY_BUFFER,null);c.uniform1i(e,0)}d=a.l;c.useProgram(a.s);c.canvas.width=b.width;c.canvas.height=b.height;c.viewport(0,0,b.width,b.height);c.activeTexture(c.TEXTURE0);a.i.bindTexture2d(b.glName);c.enableVertexAttribArray(d.O);c.bindBuffer(c.ARRAY_BUFFER,a.v);c.vertexAttribPointer(d.O,2,c.FLOAT,!1,0,0);c.enableVertexAttribArray(d.N);c.bindBuffer(c.ARRAY_BUFFER,a.u);c.vertexAttribPointer(d.N,
|
||||
2,c.FLOAT,!1,0,0);c.bindFramebuffer(c.DRAW_FRAMEBUFFER?c.DRAW_FRAMEBUFFER:c.FRAMEBUFFER,null);c.clearColor(0,0,0,0);c.clear(c.COLOR_BUFFER_BIT);c.colorMask(!0,!0,!0,!0);c.drawArrays(c.TRIANGLE_FAN,0,4);c.disableVertexAttribArray(d.O);c.disableVertexAttribArray(d.N);c.bindBuffer(c.ARRAY_BUFFER,null);a.i.bindTexture2d(0)}function Zc(a){this.h=a};var $c=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,9,1,7,0,65,0,253,15,26,11]);function ad(a,b){return b+a}function bd(a,b){window[a]=b}function cd(a){var b=document.createElement("script");b.setAttribute("src",a);b.setAttribute("crossorigin","anonymous");return new Promise(function(c){b.addEventListener("load",function(){c()},!1);b.addEventListener("error",function(){c()},!1);document.body.appendChild(b)})}
|
||||
function dd(){return E(function(a){switch(a.h){case 1:return a.s=2,D(a,WebAssembly.instantiate($c),4);case 4:a.h=3;a.s=0;break;case 2:return a.s=0,a.l=null,a.return(!1);case 3:return a.return(!0)}})}
|
||||
function ed(a){this.h=a;this.listeners={};this.l={};this.L={};this.s={};this.v={};this.M=this.u=this.ga=!0;this.I=Promise.resolve();this.fa="";this.D={};this.locateFile=a&&a.locateFile||ad;if("object"===typeof window)var b=window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/";else if("undefined"!==typeof location)b=location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/";else throw Error("solutions can only be loaded on a web page or in a web worker");
|
||||
this.ha=b;if(a.options){b=A(Object.keys(a.options));for(var c=b.next();!c.done;c=b.next()){c=c.value;var d=a.options[c].default;void 0!==d&&(this.l[c]="function"===typeof d?d():d)}}}x=ed.prototype;x.close=function(){this.j&&this.j.delete();return Promise.resolve()};
|
||||
function fd(a){var b,c,d,e,g,f,h,k,l,m,r;return E(function(p){switch(p.h){case 1:if(!a.ga)return p.return();b=void 0===a.h.files?[]:"function"===typeof a.h.files?a.h.files(a.l):a.h.files;return D(p,dd(),2);case 2:c=p.i;if("object"===typeof window)return bd("createMediapipeSolutionsWasm",{locateFile:a.locateFile}),bd("createMediapipeSolutionsPackedAssets",{locateFile:a.locateFile}),f=b.filter(function(n){return void 0!==n.data}),h=b.filter(function(n){return void 0===n.data}),k=Promise.all(f.map(function(n){var q=
|
||||
gd(a,n.url);if(void 0!==n.path){var t=n.path;q=q.then(function(w){a.overrideFile(t,w);return Promise.resolve(w)})}return q})),l=Promise.all(h.map(function(n){return void 0===n.simd||n.simd&&c||!n.simd&&!c?cd(a.locateFile(n.url,a.ha)):Promise.resolve()})).then(function(){var n,q,t;return E(function(w){if(1==w.h)return n=window.createMediapipeSolutionsWasm,q=window.createMediapipeSolutionsPackedAssets,t=a,D(w,n(q),2);t.i=w.i;w.h=0})}),m=function(){return E(function(n){a.h.graph&&a.h.graph.url?n=D(n,
|
||||
gd(a,a.h.graph.url),0):(n.h=0,n=void 0);return n})}(),D(p,Promise.all([l,k,m]),7);if("function"!==typeof importScripts)throw Error("solutions can only be loaded on a web page or in a web worker");d=b.filter(function(n){return void 0===n.simd||n.simd&&c||!n.simd&&!c}).map(function(n){return a.locateFile(n.url,a.ha)});importScripts.apply(null,ea(d));e=a;return D(p,createMediapipeSolutionsWasm(Module),6);case 6:e.i=p.i;a.m=new OffscreenCanvas(1,1);a.i.canvas=a.m;g=a.i.GL.createContext(a.m,{antialias:!1,
|
||||
alpha:!1,va:"undefined"!==typeof WebGL2RenderingContext?2:1});a.i.GL.makeContextCurrent(g);p.h=4;break;case 7:a.m=document.createElement("canvas");r=a.m.getContext("webgl2",{});if(!r&&(r=a.m.getContext("webgl",{}),!r))return alert("Failed to create WebGL canvas context when passing video frame."),p.return();a.K=r;a.i.canvas=a.m;a.i.createContext(a.m,!0,!0,{});case 4:a.j=new a.i.SolutionWasm,a.ga=!1,p.h=0}})}
|
||||
function hd(a){var b,c,d,e,g,f,h,k;return E(function(l){if(1==l.h){if(a.h.graph&&a.h.graph.url&&a.fa===a.h.graph.url)return l.return();a.u=!0;if(!a.h.graph||!a.h.graph.url){l.h=2;return}a.fa=a.h.graph.url;return D(l,gd(a,a.h.graph.url),3)}2!=l.h&&(b=l.i,a.j.loadGraph(b));c=A(Object.keys(a.D));for(d=c.next();!d.done;d=c.next())e=d.value,a.j.overrideFile(e,a.D[e]);a.D={};if(a.h.listeners)for(g=A(a.h.listeners),f=g.next();!f.done;f=g.next())h=f.value,id(a,h);k=a.l;a.l={};a.setOptions(k);l.h=0})}
|
||||
x.reset=function(){var a=this;return E(function(b){a.j&&(a.j.reset(),a.s={},a.v={});b.h=0})};
|
||||
x.setOptions=function(a,b){var c=this;if(b=b||this.h.options){for(var d=[],e=[],g={},f=A(Object.keys(a)),h=f.next();!h.done;g={X:g.X,Y:g.Y},h=f.next())if(h=h.value,!(h in this.l&&this.l[h]===a[h])){this.l[h]=a[h];var k=b[h];void 0!==k&&(k.onChange&&(g.X=k.onChange,g.Y=a[h],d.push(function(l){return function(){var m;return E(function(r){if(1==r.h)return D(r,l.X(l.Y),2);m=r.i;!0===m&&(c.u=!0);r.h=0})}}(g))),k.graphOptionXref&&(h=Object.assign({},{calculatorName:"",calculatorIndex:0},k.graphOptionXref,
|
||||
{valueNumber:1===k.type?a[h]:0,valueBoolean:0===k.type?a[h]:!1,valueString:2===k.type?a[h]:""}),e.push(h)))}if(0!==d.length||0!==e.length)this.u=!0,this.H=(void 0===this.H?[]:this.H).concat(e),this.F=(void 0===this.F?[]:this.F).concat(d)}};
|
||||
function jd(a){var b,c,d,e,g,f,h;return E(function(k){switch(k.h){case 1:if(!a.u)return k.return();if(!a.F){k.h=2;break}b=A(a.F);c=b.next();case 3:if(c.done){k.h=5;break}d=c.value;return D(k,d(),4);case 4:c=b.next();k.h=3;break;case 5:a.F=void 0;case 2:if(a.H){e=new a.i.GraphOptionChangeRequestList;g=A(a.H);for(f=g.next();!f.done;f=g.next())h=f.value,e.push_back(h);a.j.changeOptions(e);e.delete();a.H=void 0}a.u=!1;k.h=0}})}
|
||||
x.initialize=function(){var a=this;return E(function(b){return 1==b.h?D(b,fd(a),2):3!=b.h?D(b,hd(a),3):D(b,jd(a),0)})};function gd(a,b){var c,d;return E(function(e){if(b in a.L)return e.return(a.L[b]);c=a.locateFile(b,"");d=fetch(c).then(function(g){return g.arrayBuffer()});a.L[b]=d;return e.return(d)})}x.overrideFile=function(a,b){this.j?this.j.overrideFile(a,b):this.D[a]=b};x.clearOverriddenFiles=function(){this.D={};this.j&&this.j.clearOverriddenFiles()};
|
||||
x.send=function(a,b){var c=this,d,e,g,f,h,k,l,m,r;return E(function(p){switch(p.h){case 1:if(!c.h.inputs)return p.return();d=1E3*(void 0===b||null===b?performance.now():b);return D(p,c.I,2);case 2:return D(p,c.initialize(),3);case 3:e=new c.i.PacketDataList;g=A(Object.keys(a));for(f=g.next();!f.done;f=g.next())if(h=f.value,k=c.h.inputs[h]){a:{var n=a[h];switch(k.type){case "video":var q=c.s[k.stream];q||(q=new Wc(c.i,c.K),c.s[k.stream]=q);0===q.m&&(q.m=q.i.createTexture());if("undefined"!==typeof HTMLVideoElement&&
|
||||
n instanceof HTMLVideoElement){var t=n.videoWidth;var w=n.videoHeight}else"undefined"!==typeof HTMLImageElement&&n instanceof HTMLImageElement?(t=n.naturalWidth,w=n.naturalHeight):(t=n.width,w=n.height);w={glName:q.m,width:t,height:w};t=q.h;t.canvas.width=w.width;t.canvas.height=w.height;t.activeTexture(t.TEXTURE0);q.i.bindTexture2d(q.m);t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n);q.i.bindTexture2d(0);q=w;break a;case "detections":q=c.s[k.stream];q||(q=new Zc(c.i),c.s[k.stream]=q);
|
||||
q.data||(q.data=new q.h.DetectionListData);q.data.reset(n.length);for(w=0;w<n.length;++w){t=n[w];var v=q.data,B=v.setBoundingBox,J=w;var I=t.la;var u=new Qc;V(u,1,I.sa);V(u,2,I.ta);V(u,3,I.height);V(u,4,I.width);V(u,5,I.rotation);U(u,6,I.pa);I=u.l();B.call(v,J,I);if(t.ea)for(v=0;v<t.ea.length;++v){u=t.ea[v];B=q.data;J=B.addNormalizedLandmark;I=w;u=Object.assign({},u,{visibility:u.visibility?u.visibility:0});var C=new Lc;V(C,1,u.x);V(C,2,u.y);V(C,3,u.z);u.visibility&&V(C,4,u.visibility);u=C.l();J.call(B,
|
||||
I,u)}if(t.ba)for(v=0;v<t.ba.length;++v)B=q.data,J=B.addClassification,I=w,u=t.ba[v],C=new Z,V(C,2,u.qa),u.index&&U(C,1,u.index),u.label&&U(C,3,u.label),u.displayName&&U(C,4,u.displayName),u=C.l(),J.call(B,I,u)}q=q.data;break a;default:q={}}}l=q;m=k.stream;switch(k.type){case "video":e.pushTexture2d(Object.assign({},l,{stream:m,timestamp:d}));break;case "detections":r=l;r.stream=m;r.timestamp=d;e.pushDetectionList(r);break;default:throw Error("Unknown input config type: '"+k.type+"'");}}c.j.send(e);
|
||||
return D(p,c.I,4);case 4:e.delete(),p.h=0}})};
|
||||
function kd(a,b,c){var d,e,g,f,h,k,l,m,r,p,n,q,t,w;return E(function(v){switch(v.h){case 1:if(!c)return v.return(b);d={};e=0;g=A(Object.keys(c));for(f=g.next();!f.done;f=g.next())h=f.value,k=c[h],"string"!==typeof k&&"texture"===k.type&&void 0!==b[k.stream]&&++e;1<e&&(a.M=!1);l=A(Object.keys(c));f=l.next();case 2:if(f.done){v.h=4;break}m=f.value;r=c[m];if("string"===typeof r)return t=d,w=m,D(v,ld(a,m,b[r]),14);p=b[r.stream];if("detection_list"===r.type){if(p){var B=p.getRectList();for(var J=p.getLandmarksList(),
|
||||
I=p.getClassificationsList(),u=[],C=0;C<B.size();++C){var T=Sc(B.get(C)),od=W(T,1),pd=W(T,2),qd=W(T,3),rd=W(T,4),sd=W(T,5,0),za=void 0;za=void 0===za?0:za;T={la:{sa:od,ta:pd,height:qd,width:rd,rotation:sd,pa:Rb(S(T,6),za)},ea:Ob(Pc(J.get(C)),Lc,1).map(Vc),ba:Uc(Kc(I.get(C)))};u.push(T)}B=u}else B=[];d[m]=B;v.h=7;break}if("proto_list"===r.type){if(p){B=Array(p.size());for(J=0;J<p.size();J++)B[J]=p.get(J);p.delete()}else B=[];d[m]=B;v.h=7;break}if(void 0===p){v.h=3;break}if("float_list"===r.type){d[m]=
|
||||
p;v.h=7;break}if("proto"===r.type){d[m]=p;v.h=7;break}if("texture"!==r.type)throw Error("Unknown output config type: '"+r.type+"'");n=a.v[m];n||(n=new Wc(a.i,a.K),a.v[m]=n);return D(v,Xc(n,p,a.M),13);case 13:q=v.i,d[m]=q;case 7:r.transform&&d[m]&&(d[m]=r.transform(d[m]));v.h=3;break;case 14:t[w]=v.i;case 3:f=l.next();v.h=2;break;case 4:return v.return(d)}})}
|
||||
function ld(a,b,c){var d;return E(function(e){return"number"===typeof c||c instanceof Uint8Array||c instanceof a.i.Uint8BlobList?e.return(c):c instanceof a.i.Texture2dDataOut?(d=a.v[b],d||(d=new Wc(a.i,a.K),a.v[b]=d),e.return(Xc(d,c,a.M))):e.return(void 0)})}
|
||||
function id(a,b){for(var c=b.name||"$",d=[].concat(ea(b.wants)),e=new a.i.StringList,g=A(b.wants),f=g.next();!f.done;f=g.next())e.push_back(f.value);g=a.i.PacketListener.implement({onResults:function(h){for(var k={},l=0;l<b.wants.length;++l)k[d[l]]=h.get(l);var m=a.listeners[c];m&&(a.I=kd(a,k,b.outs).then(function(r){r=m(r);for(var p=0;p<b.wants.length;++p){var n=k[d[p]];"object"===typeof n&&n.hasOwnProperty&&n.hasOwnProperty("delete")&&n.delete()}r&&(a.I=r)}))}});a.j.attachMultiListener(e,g);e.delete()}
|
||||
x.onResults=function(a,b){this.listeners[b||"$"]=a};Aa("Solution",ed);Aa("OptionType",{BOOL:0,NUMBER:1,ua:2,0:"BOOL",1:"NUMBER",2:"STRING"});function md(a){void 0===a&&(a=0);switch(a){case 1:return"selfie_segmentation_landscape.tflite";default:return"selfie_segmentation.tflite"}}
|
||||
function nd(a){var b=this;a=a||{};this.h=new ed({locateFile:a.locateFile,files:function(c){return[{simd:!0,url:"selfie_segmentation_solution_simd_wasm_bin.js"},{simd:!1,url:"selfie_segmentation_solution_wasm_bin.js"},{data:!0,url:md(c.modelSelection)}]},graph:{url:"selfie_segmentation.binarypb"},listeners:[{wants:["segmentation_mask","image_transformed"],outs:{image:{type:"texture",stream:"image_transformed"},segmentationMask:{type:"texture",stream:"segmentation_mask"}}}],inputs:{image:{type:"video",
|
||||
stream:"input_frames_gpu"}},options:{useCpuInference:{type:0,graphOptionXref:{calculatorType:"InferenceCalculator",fieldName:"use_cpu_inference"},default:"object"!==typeof window||void 0===window.navigator?!1:"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document},selfieMode:{type:0,graphOptionXref:{calculatorType:"GlScalerCalculator",calculatorIndex:1,fieldName:"flip_horizontal"}},modelSelection:{type:1,
|
||||
graphOptionXref:{calculatorType:"ConstantSidePacketCalculator",calculatorName:"ConstantSidePacketCalculatorModelSelection",fieldName:"int_value"},onChange:function(c){var d,e,g;return E(function(f){if(1==f.h)return d=md(c),e="third_party/mediapipe/modules/selfie_segmentation/"+d,D(f,gd(b.h,d),2);g=f.i;b.h.overrideFile(e,g);return f.return(!0)})}}}})}x=nd.prototype;x.close=function(){this.h.close();return Promise.resolve()};x.onResults=function(a){this.h.onResults(a)};
|
||||
x.initialize=function(){var a=this;return E(function(b){return D(b,a.h.initialize(),0)})};x.reset=function(){this.h.reset()};x.send=function(a){var b=this;return E(function(c){return D(c,b.h.send(a),0)})};x.setOptions=function(a){this.h.setOptions(a)};Aa("SelfieSegmentation",nd);Aa("VERSION","0.1.1675465747");}).call(this);
|
||||
Binary file not shown.
BIN
Binary file not shown.
Regular → Executable
File renamed without changes.
+21
@@ -0,0 +1,21 @@
|
||||
|
||||
var createMediapipeSolutionsWasm = (() => {
|
||||
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
|
||||
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
|
||||
return (
|
||||
function(createMediapipeSolutionsWasm) {
|
||||
createMediapipeSolutionsWasm = createMediapipeSolutionsWasm || {};
|
||||
|
||||
var Module=typeof createMediapipeSolutionsWasm!="undefined"?createMediapipeSolutionsWasm:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});["_main","_fflush","___getTypeName","__embind_initialize_bindings","onRuntimeInitialized"].forEach(prop=>{if(!Object.getOwnPropertyDescriptor(Module["ready"],prop)){Object.defineProperty(Module["ready"],prop,{get:()=>abort("You are getting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>abort("You are setting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})}});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)")}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;if(e&&typeof e=="object"&&e.stack){toLog=[e,e.stack]}err("exiting due to exception: "+toLog)}if(ENVIRONMENT_IS_NODE){if(typeof process=="undefined"||!process.release||process.release.name!=="node")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};readAsync=(filename,onload,onerror)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",function(reason){throw reason});quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof process=="object"&&typeof require==="function"||typeof window=="object"||typeof importScripts=="function")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){let data;if(typeof readbuffer=="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data=="object");return data};readAsync=function readAsync(f,onload,onerror){setTimeout(()=>onload(readBinary(f)),0)};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit=="function"){quit_=(status,toThrow)=>{logExceptionOnExit(toThrow);quit(status)}}if(typeof print!="undefined"){if(typeof console=="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}if(!(typeof window=="object"||typeof importScripts=="function"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - anLine truncated
|
||||
|
||||
|
||||
return createMediapipeSolutionsWasm.ready
|
||||
}
|
||||
);
|
||||
})();
|
||||
if (typeof exports === 'object' && typeof module === 'object')
|
||||
module.exports = createMediapipeSolutionsWasm;
|
||||
else if (typeof define === 'function' && define['amd'])
|
||||
define([], function() { return createMediapipeSolutionsWasm; });
|
||||
else if (typeof exports === 'object')
|
||||
exports["createMediapipeSolutionsWasm"] = createMediapipeSolutionsWasm;
|
||||
Executable
BIN
Binary file not shown.
+21
@@ -0,0 +1,21 @@
|
||||
|
||||
var createMediapipeSolutionsWasm = (() => {
|
||||
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
|
||||
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
|
||||
return (
|
||||
function(createMediapipeSolutionsWasm) {
|
||||
createMediapipeSolutionsWasm = createMediapipeSolutionsWasm || {};
|
||||
|
||||
var Module=typeof createMediapipeSolutionsWasm!="undefined"?createMediapipeSolutionsWasm:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});["_main","_fflush","___getTypeName","__embind_initialize_bindings","onRuntimeInitialized"].forEach(prop=>{if(!Object.getOwnPropertyDescriptor(Module["ready"],prop)){Object.defineProperty(Module["ready"],prop,{get:()=>abort("You are getting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>abort("You are setting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})}});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)")}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;if(e&&typeof e=="object"&&e.stack){toLog=[e,e.stack]}err("exiting due to exception: "+toLog)}if(ENVIRONMENT_IS_NODE){if(typeof process=="undefined"||!process.release||process.release.name!=="node")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};readAsync=(filename,onload,onerror)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",function(reason){throw reason});quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof process=="object"&&typeof require==="function"||typeof window=="object"||typeof importScripts=="function")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){let data;if(typeof readbuffer=="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data=="object");return data};readAsync=function readAsync(f,onload,onerror){setTimeout(()=>onload(readBinary(f)),0)};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit=="function"){quit_=(status,toThrow)=>{logExceptionOnExit(toThrow);quit(status)}}if(typeof print!="undefined"){if(typeof console=="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}if(!(typeof window=="object"||typeof importScripts=="function"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - anLine truncated
|
||||
|
||||
|
||||
return createMediapipeSolutionsWasm.ready
|
||||
}
|
||||
);
|
||||
})();
|
||||
if (typeof exports === 'object' && typeof module === 'object')
|
||||
module.exports = createMediapipeSolutionsWasm;
|
||||
else if (typeof define === 'function' && define['amd'])
|
||||
define([], function() { return createMediapipeSolutionsWasm; });
|
||||
else if (typeof exports === 'object')
|
||||
exports["createMediapipeSolutionsWasm"] = createMediapipeSolutionsWasm;
|
||||
BIN
Binary file not shown.
@@ -1,18 +0,0 @@
|
||||
html, body {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.container {
|
||||
height: 100%;
|
||||
padding: 10px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.artplayer-app {
|
||||
width: 100%;
|
||||
height: 50%;
|
||||
}
|
||||
|
||||
.tip {
|
||||
text-align: center;
|
||||
}
|
||||
+91
-16
@@ -14,6 +14,9 @@ body {
|
||||
padding: 0;
|
||||
color: #ccc;
|
||||
background: rgb(16, 17, 19);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
*,
|
||||
@@ -36,6 +39,10 @@ img {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
input[type="file"] {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
@@ -53,9 +60,10 @@ img {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
font-size: 13px;
|
||||
font-size: 14px;
|
||||
height: 48px;
|
||||
width: 100%;
|
||||
flex-shrink: 0;
|
||||
padding: 0 0 0 20px;
|
||||
border-bottom: 1px solid rgb(17, 21, 24);
|
||||
background-color: rgb(28, 32, 34);
|
||||
@@ -65,30 +73,48 @@ img {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-right: 30px;
|
||||
}
|
||||
|
||||
.header .logo img {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.header .tool {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
height: 100%;
|
||||
line-height: 1;
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.header .checkbox {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.header .checkbox input {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.header .menus {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex: 1;
|
||||
height: 100%;
|
||||
gap: 30px;
|
||||
}
|
||||
|
||||
.header .menus .item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-left: 20px;
|
||||
height: 100%;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.header .menus .has-sub-menu {
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.header .menus .has-sub-menu:hover .sub-menu {
|
||||
@@ -98,36 +124,44 @@ img {
|
||||
.header .menus .has-sub-menu .sub-menu {
|
||||
display: none;
|
||||
position: absolute;
|
||||
z-index: 9;
|
||||
top: 45px;
|
||||
z-index: 9999;
|
||||
top: 40px;
|
||||
left: 0;
|
||||
width: 200px;
|
||||
width: 280px;
|
||||
padding: 0 10px;
|
||||
background: #2b2b2b;
|
||||
background: #1b1b1b;
|
||||
border-radius: 3px;
|
||||
border: 1px solid rgb(255, 255, 255, 0.05);
|
||||
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.header .menus .has-sub-menu .sub-menu ul {
|
||||
padding: 0;
|
||||
margin-bottom: 15px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.header .menus .has-sub-menu .sub-menu li {
|
||||
display: block;
|
||||
list-style: none;
|
||||
margin-bottom: 15px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.header .menus .has-sub-menu .sub-menu li.title {
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
margin-bottom: 15px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.header .menus .has-sub-menu .sub-menu li a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.header .run {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100px;
|
||||
padding: 0 15px;
|
||||
height: 100%;
|
||||
line-height: 1;
|
||||
cursor: pointer;
|
||||
@@ -144,6 +178,7 @@ img {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.main .part-left {
|
||||
@@ -154,55 +189,84 @@ img {
|
||||
}
|
||||
|
||||
.main .part-left .libs {
|
||||
height: 55px;
|
||||
display: flex;
|
||||
height: 50px;
|
||||
border-bottom: 1px solid rgb(17, 21, 24);
|
||||
}
|
||||
|
||||
.main .part-left .upload {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 0 15px;
|
||||
height: 100%;
|
||||
font-size: 13px;
|
||||
color: #f1fa8c;
|
||||
border-right: 1px solid rgb(17, 21, 24);
|
||||
background-color: rgb(39, 41, 54);
|
||||
}
|
||||
|
||||
.main .part-left #file {
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.main .part-left .libsInput {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
flex: 1;
|
||||
padding: 10px;
|
||||
outline: none;
|
||||
resize: none;
|
||||
border: none;
|
||||
font-size: 13px;
|
||||
color: #ccc;
|
||||
border-bottom: 1px solid rgb(17, 21, 24);
|
||||
background-color: rgb(28, 32, 34);
|
||||
}
|
||||
|
||||
.main .part-left .code {
|
||||
flex: 1;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.main .part-left .code .codeMirrorWrap {
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.main .part-right {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.part-right .video-wrap {
|
||||
display: flex;
|
||||
height: 70%;
|
||||
flex: 1;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
border-bottom: 1px solid rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
.part-right .video-wrap .artplayer-app {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 20px;
|
||||
width: 90%;
|
||||
height: 65%;
|
||||
margin-bottom: 10px;
|
||||
background-color: rgb(0 0 0 / 20%);
|
||||
border: 1px dashed rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
.part-right .video-wrap .artplayer-danmuku {
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
.part-right .console {
|
||||
position: relative;
|
||||
z-index: 8;
|
||||
@@ -237,3 +301,14 @@ img {
|
||||
background-position: center center;
|
||||
background-size: contain;
|
||||
}
|
||||
|
||||
.fullscreenWeb {
|
||||
position: fixed;
|
||||
z-index: 9999;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
// npm i artplayer-plugin-ads
|
||||
// import artplayerPluginAds from 'artplayer-plugin-ads';
|
||||
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
autoSize: true,
|
||||
fullscreen: true,
|
||||
fullscreenWeb: true,
|
||||
plugins: [
|
||||
artplayerPluginAds({
|
||||
// html广告,假如是视频广告则忽略该值
|
||||
html: '<img src="/assets/sample/poster.jpg">',
|
||||
|
||||
// 视频广告的地址
|
||||
video: '/assets/sample/test1.mp4',
|
||||
|
||||
// 广告跳转网址,为空则不跳转
|
||||
url: 'http://artplayer.org',
|
||||
|
||||
// 必须观看的时长,期间不能被跳过,单位为秒
|
||||
// 当该值大于或等于totalDuration时,不能提前关闭广告
|
||||
// 当该值等于或小于0时,则随时都可以关闭广告
|
||||
playDuration: 5,
|
||||
|
||||
// 广告总时长,单位为秒
|
||||
totalDuration: 10,
|
||||
|
||||
// 多语言支持
|
||||
i18n: {
|
||||
close: '关闭广告',
|
||||
countdown: '%s秒',
|
||||
detail: '查看详情',
|
||||
canBeClosed: '%s秒后可关闭广告',
|
||||
},
|
||||
}),
|
||||
],
|
||||
})
|
||||
|
||||
// 广告被点击
|
||||
art.on('artplayerPluginAds:click', (ads) => {
|
||||
console.info('广告被点击', ads)
|
||||
})
|
||||
|
||||
// 广告被跳过
|
||||
art.on('artplayerPluginAds:skip', (ads) => {
|
||||
console.info('广告被跳过', ads)
|
||||
})
|
||||
@@ -0,0 +1,16 @@
|
||||
// npm i artplayer-plugin-ambilight
|
||||
// import artplayerPluginAmbilight from 'artplayer-plugin-ambilight';
|
||||
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
autoSize: true,
|
||||
plugins: [
|
||||
artplayerPluginAmbilight({
|
||||
blur: '50px',
|
||||
opacity: 1,
|
||||
frequency: 10,
|
||||
duration: 0.3,
|
||||
}),
|
||||
],
|
||||
})
|
||||
@@ -0,0 +1,61 @@
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/steve-jobs.mp4',
|
||||
autoSize: true,
|
||||
fullscreen: true,
|
||||
fullscreenWeb: true,
|
||||
moreVideoAttr: {
|
||||
// crossOrigin: 'anonymous',
|
||||
},
|
||||
plugins: [
|
||||
artplayerPluginAsr({
|
||||
length: 2,
|
||||
interval: 40,
|
||||
sampleRate: 16000,
|
||||
autoHideTimeout: 10000,
|
||||
// Use your AI tool to convert pcm into subtitles
|
||||
onAudioChunk: ({ pcm }) => startAsr(pcm),
|
||||
}),
|
||||
],
|
||||
})
|
||||
|
||||
let ws = null
|
||||
let loading = false
|
||||
|
||||
function stopAsr() {
|
||||
try {
|
||||
ws.send(JSON.stringify({ type: 'end' }))
|
||||
ws.close()
|
||||
}
|
||||
catch {}
|
||||
ws = null
|
||||
loading = false
|
||||
}
|
||||
|
||||
async function startAsr(buffer) {
|
||||
if (loading)
|
||||
return
|
||||
if (!ws) {
|
||||
loading = true
|
||||
const api = 'https://api.aimu.app/asr/tencent?engine_model_type=16k_en'
|
||||
const { url } = await (await fetch(api)).json()
|
||||
ws = new WebSocket(url)
|
||||
ws.binaryType = 'arraybuffer'
|
||||
ws.onmessage = (event) => {
|
||||
const { code, result, message } = JSON.parse(event.data)
|
||||
if (code === 0) {
|
||||
art.plugins.artplayerPluginAsr.append(result?.voice_text_str)
|
||||
}
|
||||
else {
|
||||
console.error(code, message)
|
||||
stopAsr()
|
||||
}
|
||||
}
|
||||
loading = false
|
||||
}
|
||||
if (ws?.readyState === WebSocket.OPEN) {
|
||||
ws.send(buffer)
|
||||
}
|
||||
}
|
||||
|
||||
art.on('destroy', stopAsr)
|
||||
@@ -0,0 +1,14 @@
|
||||
// npm i artplayer-plugin-audio-track
|
||||
// import artplayerPluginAudioTrack from 'artplayer-plugin-audio-track';
|
||||
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/sprite-fight.mp4',
|
||||
plugins: [
|
||||
artplayerPluginAudioTrack({
|
||||
url: '/assets/sample/sprite-fight.aac',
|
||||
offset: 0,
|
||||
sync: 0.3,
|
||||
}),
|
||||
],
|
||||
});
|
||||
@@ -0,0 +1,12 @@
|
||||
// npm i artplayer-plugin-auto-thumbnail
|
||||
// import artplayerPluginAutoThumbnail from 'artplayer-plugin-auto-thumbnail';
|
||||
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
plugins: [
|
||||
artplayerPluginAutoThumbnail({
|
||||
//
|
||||
}),
|
||||
],
|
||||
})
|
||||
@@ -0,0 +1,30 @@
|
||||
// npm i artplayer-proxy-canvas
|
||||
// import artplayerProxyCanvas from 'artplayer-proxy-canvas';
|
||||
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
poster: '/assets/sample/poster.jpg',
|
||||
volume: 0.5,
|
||||
autoplay: false,
|
||||
autoSize: false,
|
||||
screenshot: true,
|
||||
setting: true,
|
||||
loop: true,
|
||||
flip: true,
|
||||
pip: true,
|
||||
playbackRate: true,
|
||||
aspectRatio: true,
|
||||
fullscreen: true,
|
||||
fullscreenWeb: true,
|
||||
miniProgressBar: true,
|
||||
autoPlayback: true,
|
||||
autoOrientation: true,
|
||||
thumbnails: {
|
||||
url: '/assets/sample/thumbnails.png',
|
||||
number: 60,
|
||||
column: 10,
|
||||
scale: 0.85,
|
||||
},
|
||||
proxy: artplayerProxyCanvas(),
|
||||
})
|
||||
@@ -0,0 +1,28 @@
|
||||
// npm i artplayer-plugin-chapter
|
||||
// import artplayerPluginChapter from 'artplayer-plugin-chapter';
|
||||
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
autoSize: true,
|
||||
fullscreen: true,
|
||||
fullscreenWeb: true,
|
||||
miniProgressBar: true,
|
||||
autoOrientation: true,
|
||||
thumbnails: {
|
||||
url: '/assets/sample/thumbnails.png',
|
||||
number: 60,
|
||||
column: 10,
|
||||
},
|
||||
plugins: [
|
||||
artplayerPluginChapter({
|
||||
chapters: [
|
||||
{ start: 0, end: 18, title: 'One more chance' },
|
||||
{ start: 18, end: 36, title: '谁でもいいはずなのに' },
|
||||
{ start: 36, end: 54, title: '夏の想い出がまわる' },
|
||||
{ start: 54, end: 72, title: 'こんなとこにあるはずもないのに' },
|
||||
{ start: 72, end: Infinity, title: '终わり' },
|
||||
],
|
||||
}),
|
||||
],
|
||||
})
|
||||
@@ -0,0 +1,15 @@
|
||||
// npm i artplayer-plugin-chromecast
|
||||
// import artplayerPluginChromecast from 'artplayer-plugin-chromecast';
|
||||
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
fullscreen: true,
|
||||
fullscreenWeb: true,
|
||||
plugins: [
|
||||
artplayerPluginChromecast({
|
||||
// sdk: '', // The URL of the Cast SDK
|
||||
// mimeType: '', // The MIME type of the media
|
||||
}),
|
||||
],
|
||||
})
|
||||
@@ -1,48 +1,54 @@
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: 'https://artplayer.org/assets/sample/video.mp4',
|
||||
autoSize: true,
|
||||
setting: true,
|
||||
playbackRate: true,
|
||||
fullscreenWeb: true,
|
||||
plugins: [
|
||||
artplayerPluginDanmuku({
|
||||
danmuku: '/assets/sample/danmuku.xml',
|
||||
speed: 5,
|
||||
maxlength: 50,
|
||||
margin: [10, 100],
|
||||
opacity: 1,
|
||||
fontSize: 25,
|
||||
synchronousPlayback: false,
|
||||
}),
|
||||
],
|
||||
controls: [
|
||||
{
|
||||
position: 'right',
|
||||
html: '隐藏弹幕',
|
||||
click: function (_, event) {
|
||||
if (art.plugins.artplayerPluginDanmuku.isHide) {
|
||||
art.plugins.artplayerPluginDanmuku.show();
|
||||
event.target.innerText = '隐藏弹幕';
|
||||
} else {
|
||||
art.plugins.artplayerPluginDanmuku.hide();
|
||||
event.target.innerText = '显示弹幕';
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
position: 'right',
|
||||
html: '发送弹幕',
|
||||
click: function () {
|
||||
var text = prompt('请输入弹幕文本', '弹幕测试文本');
|
||||
if (!text || !text.trim()) return;
|
||||
var color = '#' + Math.floor(Math.random() * 0xffffff).toString(16);
|
||||
art.plugins.artplayerPluginDanmuku.emit({
|
||||
text: text,
|
||||
color: color,
|
||||
border: true,
|
||||
});
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
// npm i artplayer-plugin-danmuku
|
||||
// import artplayerPluginDanmuku from 'artplayer-plugin-danmuku';
|
||||
// 使用文档 https://artplayer.org/document/plugin/danmuku.html
|
||||
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
autoSize: true,
|
||||
fullscreen: true,
|
||||
fullscreenWeb: true,
|
||||
autoOrientation: true,
|
||||
plugins: [
|
||||
artplayerPluginDanmuku({
|
||||
danmuku: '/assets/sample/danmuku.xml',
|
||||
|
||||
// 以下为非必填
|
||||
speed: 5, // 弹幕持续时间,范围在[1 ~ 10]
|
||||
margin: [10, '25%'], // 弹幕上下边距,支持像素数字和百分比
|
||||
opacity: 1, // 弹幕透明度,范围在[0 ~ 1]
|
||||
color: '#FFFFFF', // 默认弹幕颜色,可以被单独弹幕项覆盖
|
||||
mode: 0, // 默认弹幕模式: 0: 滚动,1: 顶部,2: 底部
|
||||
modes: [0, 1, 2], // 弹幕可见的模式
|
||||
fontSize: 25, // 弹幕字体大小,支持像素数字和百分比
|
||||
antiOverlap: true, // 弹幕是否防重叠
|
||||
synchronousPlayback: false, // 是否同步播放速度
|
||||
mount: undefined, // 弹幕发射器挂载点, 默认为播放器控制栏中部
|
||||
heatmap: true, // 是否开启热力图
|
||||
width: 512, // 当播放器宽度小于此值时,弹幕发射器置于播放器底部
|
||||
points: [], // 热力图数据
|
||||
filter: danmu => danmu.text.length <= 100, // 弹幕载入前的过滤器
|
||||
beforeVisible: () => true, // 弹幕显示前的过滤器,返回 true 则可以发送
|
||||
visible: true, // 弹幕层是否可见
|
||||
emitter: true, // 是否开启弹幕发射器
|
||||
maxLength: 200, // 弹幕输入框最大长度, 范围在[1 ~ 1000]
|
||||
lockTime: 5, // 输入框锁定时间,范围在[1 ~ 60]
|
||||
theme: 'dark', // 弹幕主题,支持 dark 和 light,只在自定义挂载时生效
|
||||
OPACITY: {}, // 不透明度配置项
|
||||
FONT_SIZE: {}, // 弹幕字号配置项
|
||||
MARGIN: {}, // 显示区域配置项
|
||||
SPEED: {}, // 弹幕速度配置项
|
||||
COLOR: [], // 颜色列表配置项
|
||||
|
||||
// 手动发送弹幕前的过滤器,返回 true 则可以发送,可以做存库处理
|
||||
beforeEmit(danmu) {
|
||||
return new Promise((resolve) => {
|
||||
console.log(danmu)
|
||||
setTimeout(() => {
|
||||
resolve(true)
|
||||
}, 1000)
|
||||
})
|
||||
},
|
||||
}),
|
||||
],
|
||||
})
|
||||
@@ -0,0 +1,22 @@
|
||||
// npm i artplayer-plugin-danmuku-mask
|
||||
// import artplayerPluginDanmukuMask from 'artplayer-plugin-danmuku-mask';
|
||||
|
||||
// npm i @mediapipe/selfie_segmentation
|
||||
// 把 node_modules/@mediapipe/selfie_segmentation 目录复制到你的项目下
|
||||
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/steve-jobs.mp4',
|
||||
autoSize: true,
|
||||
fullscreen: true,
|
||||
fullscreenWeb: true,
|
||||
autoOrientation: true,
|
||||
plugins: [
|
||||
artplayerPluginDanmuku({
|
||||
danmuku: '/assets/sample/danmuku.xml',
|
||||
}),
|
||||
artplayerPluginDanmukuMask({
|
||||
solutionPath: '/assets/@mediapipe/selfie_segmentation',
|
||||
}),
|
||||
],
|
||||
})
|
||||
@@ -0,0 +1,52 @@
|
||||
// npm i dashjs
|
||||
// npm i artplayer-plugin-dash-control
|
||||
|
||||
// import dashjs from 'dashjs';
|
||||
// import artplayerPluginDashControl from 'artplayer-plugin-dash-control';
|
||||
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: 'https://media.axprod.net/TestVectors/v7-Clear/Manifest_1080p.mpd',
|
||||
setting: true,
|
||||
plugins: [
|
||||
artplayerPluginDashControl({
|
||||
quality: {
|
||||
// Show qualitys in control
|
||||
control: true,
|
||||
// Show qualitys in setting
|
||||
setting: true,
|
||||
// Get the quality name from level
|
||||
getName: level => `${level.height}P`,
|
||||
// I18n
|
||||
title: 'Quality',
|
||||
auto: 'Auto',
|
||||
},
|
||||
audio: {
|
||||
// Show audios in control
|
||||
control: true,
|
||||
// Show audios in setting
|
||||
setting: true,
|
||||
// Get the audio name from track
|
||||
getName: track => track.lang.toUpperCase(),
|
||||
// I18n
|
||||
title: 'Audio',
|
||||
auto: 'Auto',
|
||||
},
|
||||
}),
|
||||
],
|
||||
customType: {
|
||||
mpd: function playMpd(video, url, art) {
|
||||
if (dashjs.supportsMediaSource()) {
|
||||
if (art.dash)
|
||||
art.dash.destroy()
|
||||
const dash = dashjs.MediaPlayer().create()
|
||||
dash.initialize(video, url, art.option.autoplay)
|
||||
art.dash = dash
|
||||
art.on('destroy', () => dash.destroy())
|
||||
}
|
||||
else {
|
||||
art.notice.show = 'Unsupported playback format: mpd'
|
||||
}
|
||||
},
|
||||
},
|
||||
})
|
||||
@@ -0,0 +1,29 @@
|
||||
// npm i dashjs
|
||||
// import dashjs from 'dashjs';
|
||||
|
||||
function playMpd(video, url, art) {
|
||||
if (dashjs.supportsMediaSource()) {
|
||||
if (art.dash)
|
||||
art.dash.destroy()
|
||||
const dash = dashjs.MediaPlayer().create()
|
||||
dash.initialize(video, url, art.option.autoplay)
|
||||
art.dash = dash
|
||||
art.on('destroy', () => dash.destroy())
|
||||
}
|
||||
else {
|
||||
art.notice.show = 'Unsupported playback format: mpd'
|
||||
}
|
||||
}
|
||||
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: 'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd',
|
||||
type: 'mpd',
|
||||
customType: {
|
||||
mpd: playMpd,
|
||||
},
|
||||
})
|
||||
|
||||
art.on('ready', () => {
|
||||
console.info(art.dash)
|
||||
})
|
||||
@@ -0,0 +1,19 @@
|
||||
// npm i artplayer-plugin-document-pip
|
||||
// import artplayerPluginDocumentPip from 'artplayer-plugin-document-pip';
|
||||
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
plugins: [
|
||||
artplayerPluginDocumentPip({
|
||||
width: 480,
|
||||
height: 270,
|
||||
fallbackToVideoPiP: true,
|
||||
placeholder: `Playing in Document Picture-in-Picture`,
|
||||
}),
|
||||
],
|
||||
})
|
||||
|
||||
art.on('document-pip', (state) => {
|
||||
console.log('Document Picture-in-Picture', state)
|
||||
})
|
||||
@@ -0,0 +1,30 @@
|
||||
// npm i flv.js
|
||||
// import flvjs from 'flv.js';
|
||||
|
||||
function playFlv(video, url, art) {
|
||||
if (flvjs.isSupported()) {
|
||||
if (art.flv)
|
||||
art.flv.destroy()
|
||||
const flv = flvjs.createPlayer({ type: 'flv', url })
|
||||
flv.attachMediaElement(video)
|
||||
flv.load()
|
||||
art.flv = flv
|
||||
art.on('destroy', () => flv.destroy())
|
||||
}
|
||||
else {
|
||||
art.notice.show = 'Unsupported playback format: flv'
|
||||
}
|
||||
}
|
||||
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.flv',
|
||||
type: 'flv',
|
||||
customType: {
|
||||
flv: playFlv,
|
||||
},
|
||||
})
|
||||
|
||||
art.on('ready', () => {
|
||||
console.info(art.flv)
|
||||
})
|
||||
@@ -0,0 +1,56 @@
|
||||
// npm i hls.js
|
||||
// npm i artplayer-plugin-hls-control
|
||||
|
||||
// import Hls from 'hls.js';
|
||||
// import artplayerPluginHlsControl from 'artplayer-plugin-hls-control';
|
||||
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: 'https://playertest.longtailvideo.com/adaptive/elephants_dream_v4/index.m3u8',
|
||||
setting: true,
|
||||
plugins: [
|
||||
artplayerPluginHlsControl({
|
||||
quality: {
|
||||
// Show qualitys in control
|
||||
control: true,
|
||||
// Show qualitys in setting
|
||||
setting: true,
|
||||
// Get the quality name from level
|
||||
getName: level => `${level.height}P`,
|
||||
// I18n
|
||||
title: 'Quality',
|
||||
auto: 'Auto',
|
||||
},
|
||||
audio: {
|
||||
// Show audios in control
|
||||
control: true,
|
||||
// Show audios in setting
|
||||
setting: true,
|
||||
// Get the audio name from track
|
||||
getName: track => track.name,
|
||||
// I18n
|
||||
title: 'Audio',
|
||||
auto: 'Auto',
|
||||
},
|
||||
}),
|
||||
],
|
||||
customType: {
|
||||
m3u8: function playM3u8(video, url, art) {
|
||||
if (Hls.isSupported()) {
|
||||
if (art.hls)
|
||||
art.hls.destroy()
|
||||
const hls = new Hls()
|
||||
hls.loadSource(url)
|
||||
hls.attachMedia(video)
|
||||
art.hls = hls
|
||||
art.on('destroy', () => hls.destroy())
|
||||
}
|
||||
else if (video.canPlayType('application/vnd.apple.mpegurl')) {
|
||||
video.src = url
|
||||
}
|
||||
else {
|
||||
art.notice.show = 'Unsupported playback format: m3u8'
|
||||
}
|
||||
},
|
||||
},
|
||||
})
|
||||
@@ -0,0 +1,33 @@
|
||||
// npm i hls.js
|
||||
// import Hls from 'hls.js';
|
||||
|
||||
function playM3u8(video, url, art) {
|
||||
if (Hls.isSupported()) {
|
||||
if (art.hls)
|
||||
art.hls.destroy()
|
||||
const hls = new Hls()
|
||||
hls.loadSource(url)
|
||||
hls.attachMedia(video)
|
||||
art.hls = hls
|
||||
art.on('destroy', () => hls.destroy())
|
||||
}
|
||||
else if (video.canPlayType('application/vnd.apple.mpegurl')) {
|
||||
video.src = url
|
||||
}
|
||||
else {
|
||||
art.notice.show = 'Unsupported playback format: m3u8'
|
||||
}
|
||||
}
|
||||
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: 'https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8',
|
||||
type: 'm3u8',
|
||||
customType: {
|
||||
m3u8: playM3u8,
|
||||
},
|
||||
})
|
||||
|
||||
art.on('ready', () => {
|
||||
console.info(art.hls)
|
||||
})
|
||||
@@ -0,0 +1,47 @@
|
||||
// npm i artplayer-tool-iframe
|
||||
// import ArtplayerToolIframe from 'artplayer-tool-iframe';
|
||||
|
||||
const $iframe = document.createElement('iframe')
|
||||
$iframe.allowFullscreen = true
|
||||
$iframe.width = '100%'
|
||||
$iframe.height = '100%'
|
||||
|
||||
const $container = document.querySelector('.artplayer-app')
|
||||
$container.innerHTML = ''
|
||||
$container.appendChild($iframe)
|
||||
|
||||
const iframe = new ArtplayerToolIframe({
|
||||
iframe: $iframe,
|
||||
url: '/iframe.html',
|
||||
})
|
||||
|
||||
iframe.message(({ type, data }) => {
|
||||
switch (type) {
|
||||
case 'fullscreenWeb':
|
||||
if (data) {
|
||||
$iframe.classList.add('fullscreenWeb')
|
||||
}
|
||||
else {
|
||||
$iframe.classList.remove('fullscreenWeb')
|
||||
}
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
})
|
||||
|
||||
iframe.commit(() => {
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
fullscreen: true,
|
||||
fullscreenWeb: true,
|
||||
})
|
||||
|
||||
art.on('fullscreenWeb', (state) => {
|
||||
ArtplayerToolIframe.postMessage({
|
||||
type: 'fullscreenWeb',
|
||||
data: state,
|
||||
})
|
||||
})
|
||||
})
|
||||
+185
-122
@@ -1,127 +1,190 @@
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: 'https://artplayer.org/assets/sample/video.mp4',
|
||||
title: 'One More Time One More Chance',
|
||||
poster: '/assets/sample/poster.jpg',
|
||||
volume: 0.5,
|
||||
isLive: false,
|
||||
muted: false,
|
||||
autoplay: false,
|
||||
pip: true,
|
||||
autoSize: true,
|
||||
autoMini: true,
|
||||
screenshot: true,
|
||||
setting: true,
|
||||
loop: true,
|
||||
flip: true,
|
||||
rotate: true,
|
||||
playbackRate: true,
|
||||
aspectRatio: true,
|
||||
fullscreen: true,
|
||||
fullscreenWeb: true,
|
||||
subtitleOffset: true,
|
||||
miniProgressBar: true,
|
||||
localVideo: true,
|
||||
localSubtitle: true,
|
||||
mutex: true,
|
||||
backdrop: true,
|
||||
theme: '#23ade5',
|
||||
lang: navigator.language.toLowerCase(),
|
||||
moreVideoAttr: {
|
||||
crossOrigin: 'anonymous',
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
poster: '/assets/sample/poster.jpg',
|
||||
volume: 0.5,
|
||||
isLive: false,
|
||||
muted: false,
|
||||
autoplay: false,
|
||||
pip: true,
|
||||
autoSize: true,
|
||||
autoMini: true,
|
||||
screenshot: true,
|
||||
setting: true,
|
||||
loop: true,
|
||||
flip: true,
|
||||
playbackRate: true,
|
||||
aspectRatio: true,
|
||||
fullscreen: true,
|
||||
fullscreenWeb: true,
|
||||
subtitleOffset: true,
|
||||
miniProgressBar: true,
|
||||
mutex: true,
|
||||
backdrop: true,
|
||||
playsInline: true,
|
||||
autoPlayback: true,
|
||||
airplay: true,
|
||||
theme: '#23ade5',
|
||||
lang: navigator.language.toLowerCase(),
|
||||
moreVideoAttr: {
|
||||
crossOrigin: 'anonymous',
|
||||
},
|
||||
settings: [
|
||||
{
|
||||
width: 200,
|
||||
html: 'Subtitle',
|
||||
tooltip: 'Bilingual',
|
||||
icon: '<img width="22" height="22" src="/assets/img/subtitle.svg">',
|
||||
selector: [
|
||||
{
|
||||
html: 'Display',
|
||||
tooltip: 'Show',
|
||||
switch: true,
|
||||
onSwitch(item) {
|
||||
item.tooltip = item.switch ? 'Hide' : 'Show'
|
||||
art.subtitle.show = !item.switch
|
||||
return !item.switch
|
||||
},
|
||||
},
|
||||
{
|
||||
default: true,
|
||||
html: 'Bilingual',
|
||||
url: '/assets/sample/subtitle.srt',
|
||||
},
|
||||
{
|
||||
html: 'Chinese',
|
||||
url: '/assets/sample/subtitle.cn.srt',
|
||||
},
|
||||
{
|
||||
html: 'Japanese',
|
||||
url: '/assets/sample/subtitle.jp.srt',
|
||||
},
|
||||
],
|
||||
onSelect(item) {
|
||||
art.subtitle.switch(item.url, {
|
||||
name: item.html,
|
||||
})
|
||||
return item.html
|
||||
},
|
||||
},
|
||||
settings: [
|
||||
{
|
||||
index: 1,
|
||||
html: 'Custom setting',
|
||||
click: function (setting) {
|
||||
console.info('You clicked on the custom setting');
|
||||
setting.show = false;
|
||||
},
|
||||
},
|
||||
],
|
||||
contextmenu: [
|
||||
{
|
||||
html: 'Custom menu',
|
||||
click: function (contextmenu) {
|
||||
console.info('You clicked on the custom menu');
|
||||
contextmenu.show = false;
|
||||
},
|
||||
},
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
html: '<img style="width: 100px" src="/assets/sample/layer.png">',
|
||||
click: function () {
|
||||
console.info('You clicked on the custom layer');
|
||||
},
|
||||
style: {
|
||||
position: 'absolute',
|
||||
top: '20px',
|
||||
right: '20px',
|
||||
opacity: '.9',
|
||||
},
|
||||
},
|
||||
],
|
||||
quality: [
|
||||
{
|
||||
default: true,
|
||||
html: 'SD 480P',
|
||||
url: '/assets/sample/video.mp4',
|
||||
},
|
||||
{
|
||||
html: 'HD 720P',
|
||||
url: '/assets/sample/video.mp4',
|
||||
},
|
||||
],
|
||||
thumbnails: {
|
||||
url: '/assets/sample/thumbnails.png',
|
||||
number: 100,
|
||||
column: 10,
|
||||
{
|
||||
html: 'Switcher',
|
||||
icon: '<img width="22" height="22" src="/assets/img/state.svg">',
|
||||
tooltip: 'OFF',
|
||||
switch: false,
|
||||
onSwitch(item) {
|
||||
item.tooltip = item.switch ? 'OFF' : 'ON'
|
||||
console.info('You clicked on the custom switch', item.switch)
|
||||
return !item.switch
|
||||
},
|
||||
},
|
||||
subtitle: {
|
||||
url: '/assets/sample/subtitle.srt',
|
||||
type: 'srt',
|
||||
style: {
|
||||
color: '#03A9F4',
|
||||
},
|
||||
encoding: 'utf-8',
|
||||
bilingual: true,
|
||||
{
|
||||
html: 'Slider',
|
||||
icon: '<img width="22" height="22" src="/assets/img/state.svg">',
|
||||
tooltip: '5x',
|
||||
range: [5, 1, 10, 0.1],
|
||||
onRange(item) {
|
||||
return `${item.range[0]}x`
|
||||
},
|
||||
},
|
||||
highlight: [
|
||||
{
|
||||
time: 60,
|
||||
text: 'One more chance',
|
||||
},
|
||||
{
|
||||
time: 120,
|
||||
text: '谁でもいいはずなのに',
|
||||
},
|
||||
{
|
||||
time: 180,
|
||||
text: '夏の想い出がまわる',
|
||||
},
|
||||
{
|
||||
time: 240,
|
||||
text: 'こんなとこにあるはずもないのに',
|
||||
},
|
||||
{
|
||||
time: 300,
|
||||
text: '终わり',
|
||||
},
|
||||
],
|
||||
controls: [
|
||||
{
|
||||
position: 'right',
|
||||
html: 'Control',
|
||||
click: function () {
|
||||
console.info('You clicked on the custom control');
|
||||
},
|
||||
},
|
||||
],
|
||||
icons: {
|
||||
indicator: '<img width="16" heigth="16" src="/assets/img/indicator.svg">',
|
||||
loading: '<img src="/assets/img/ploading.gif">',
|
||||
state: '<img width="150" heigth="150" src="/assets/img/state.svg">',
|
||||
{
|
||||
html: 'Button',
|
||||
icon: '<img width="22" height="22" src="/assets/img/state.svg">',
|
||||
tooltip: 'tooltip',
|
||||
onClick() {
|
||||
return 'Button clicked'
|
||||
},
|
||||
},
|
||||
});
|
||||
],
|
||||
contextmenu: [
|
||||
{
|
||||
html: 'Custom menu',
|
||||
click(contextmenu) {
|
||||
console.info('You clicked on the custom menu')
|
||||
contextmenu.show = false
|
||||
},
|
||||
},
|
||||
],
|
||||
layers: [
|
||||
{
|
||||
html: '<img width="100" src="/assets/sample/layer.png">',
|
||||
click() {
|
||||
window.open('https://aimu.app')
|
||||
console.info('You clicked on the custom layer')
|
||||
},
|
||||
style: {
|
||||
position: 'absolute',
|
||||
top: '20px',
|
||||
right: '20px',
|
||||
opacity: '.9',
|
||||
},
|
||||
},
|
||||
],
|
||||
quality: [
|
||||
{
|
||||
default: true,
|
||||
html: 'SD 480P',
|
||||
url: '/assets/sample/video.mp4?q=480',
|
||||
},
|
||||
{
|
||||
html: 'HD 720P',
|
||||
url: '/assets/sample/video.mp4?q=720',
|
||||
},
|
||||
],
|
||||
thumbnails: {
|
||||
url: '/assets/sample/thumbnails.png',
|
||||
number: 60,
|
||||
column: 10,
|
||||
scale: 0.85,
|
||||
},
|
||||
subtitle: {
|
||||
url: '/assets/sample/subtitle.srt',
|
||||
type: 'srt',
|
||||
style: {
|
||||
color: '#fe9200',
|
||||
fontSize: '20px',
|
||||
},
|
||||
encoding: 'utf-8',
|
||||
},
|
||||
highlight: [
|
||||
{
|
||||
time: 15,
|
||||
text: 'One more chance',
|
||||
},
|
||||
{
|
||||
time: 30,
|
||||
text: '谁でもいいはずなのに',
|
||||
},
|
||||
{
|
||||
time: 45,
|
||||
text: '夏の想い出がまわる',
|
||||
},
|
||||
{
|
||||
time: 60,
|
||||
text: 'こんなとこにあるはずもないのに',
|
||||
},
|
||||
{
|
||||
time: 75,
|
||||
text: '终わり',
|
||||
},
|
||||
],
|
||||
controls: [
|
||||
{
|
||||
position: 'right',
|
||||
html: 'Control',
|
||||
index: 1,
|
||||
tooltip: 'Control Tooltip',
|
||||
style: {
|
||||
marginRight: '20px',
|
||||
},
|
||||
click() {
|
||||
console.info('You clicked on the custom control')
|
||||
},
|
||||
},
|
||||
],
|
||||
icons: {
|
||||
loading: '<img src="/assets/img/ploading.gif">',
|
||||
state: '<img width="150" height="150" src="/assets/img/state.svg">',
|
||||
indicator: '<img width="16" height="16" src="/assets/img/indicator.svg">',
|
||||
},
|
||||
})
|
||||
@@ -0,0 +1,28 @@
|
||||
// https://github.com/ThaUnknown/jassub
|
||||
// npm i artplayer-plugin-jassub
|
||||
// import artplayerPluginJassub from 'artplayer-plugin-jassub';
|
||||
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/jassub/FGOBD.mp4',
|
||||
autoSize: true,
|
||||
fullscreen: true,
|
||||
fullscreenWeb: true,
|
||||
plugins: [
|
||||
artplayerPluginJassub({
|
||||
subUrl: '/assets/jassub/FGOBD.ass',
|
||||
workerUrl: '/assets/jassub/jassub-worker.js',
|
||||
wasmUrl: '/assets/jassub/jassub-worker.wasm',
|
||||
modernWasmUrl: '/assets/jassub/jassub-worker-modern.wasm',
|
||||
availableFonts: {
|
||||
'liberation sans': '/assets/jassub/default.woff2'
|
||||
},
|
||||
fonts: [
|
||||
'/assets/jassub/fonts/Averia Sans Libre Light.ttf',
|
||||
'/assets/jassub/fonts/Averia Serif Simple Light.ttf',
|
||||
'/assets/jassub/fonts/Gramond.ttf'
|
||||
],
|
||||
timeOffset: -0.041
|
||||
}),
|
||||
],
|
||||
});
|
||||
@@ -0,0 +1,35 @@
|
||||
// npm i artplayer-proxy-mediabunny
|
||||
// import artplayerProxyMediabunny from 'artplayer-proxy-mediabunny';
|
||||
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: 'https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8',
|
||||
autoSize: true,
|
||||
setting: true,
|
||||
loop: true,
|
||||
flip: true,
|
||||
playbackRate: true,
|
||||
fullscreen: true,
|
||||
fullscreenWeb: true,
|
||||
miniProgressBar: true,
|
||||
autoPlayback: true,
|
||||
autoOrientation: true,
|
||||
proxy: artplayerProxyMediabunny({
|
||||
m3u8: {
|
||||
quality: {
|
||||
control: true,
|
||||
setting: true,
|
||||
getName: level => level.height ? `${level.height}P` : level.name,
|
||||
title: 'Quality',
|
||||
auto: 'Auto',
|
||||
},
|
||||
audio: {
|
||||
control: true,
|
||||
setting: true,
|
||||
getName: track => track.name || track.language,
|
||||
title: 'Audio',
|
||||
auto: 'Auto',
|
||||
},
|
||||
},
|
||||
}),
|
||||
})
|
||||
@@ -0,0 +1,98 @@
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
poster: '/assets/sample/poster.jpg',
|
||||
autoSize: true,
|
||||
loop: true,
|
||||
mutex: true,
|
||||
setting: true,
|
||||
flip: true,
|
||||
lock: true,
|
||||
fastForward: true,
|
||||
playbackRate: true,
|
||||
aspectRatio: true,
|
||||
theme: '#ff0057',
|
||||
fullscreen: true,
|
||||
fullscreenWeb: true,
|
||||
miniProgressBar: true,
|
||||
autoOrientation: true,
|
||||
airplay: true,
|
||||
moreVideoAttr: {
|
||||
'x5-video-player-type': 'h5',
|
||||
'x5-video-player-fullscreen': false,
|
||||
'x5-video-orientation': 'portraint',
|
||||
'preload': 'metadata',
|
||||
},
|
||||
thumbnails: {
|
||||
url: '/assets/sample/thumbnails.png',
|
||||
number: 60,
|
||||
column: 10,
|
||||
scale: 0.6,
|
||||
},
|
||||
subtitle: {
|
||||
name: '中日双语',
|
||||
url: '/assets/sample/subtitle.srt',
|
||||
style: {
|
||||
color: '#48aff0',
|
||||
fontSize: '16px',
|
||||
},
|
||||
},
|
||||
layers: [
|
||||
{
|
||||
html: `<img width="50" src="/assets/sample/layer.png">`,
|
||||
click() {
|
||||
art.notice.show = '你点击了自定义层'
|
||||
},
|
||||
style: {
|
||||
position: 'absolute',
|
||||
top: '10px',
|
||||
right: '10px',
|
||||
opacity: '.9',
|
||||
},
|
||||
},
|
||||
],
|
||||
icons: {
|
||||
loading: '<img src="/assets/img/ploading.gif">',
|
||||
state: '<img width="150" height="150" src="/assets/img/state.svg">',
|
||||
indicator: '<img width="16" height="16" src="/assets/img/indicator.svg">',
|
||||
},
|
||||
settings: [
|
||||
{
|
||||
width: 200,
|
||||
html: '切换字幕',
|
||||
tooltip: '双语',
|
||||
icon: '<img width="22" height="22" src="/assets/img/subtitle.svg">',
|
||||
selector: [
|
||||
{
|
||||
html: '开关',
|
||||
switch: true,
|
||||
tooltip: '显示',
|
||||
onSwitch(item) {
|
||||
item.tooltip = item.switch ? '隐藏' : '显示'
|
||||
art.subtitle.show = !item.switch
|
||||
return !item.switch
|
||||
},
|
||||
},
|
||||
{
|
||||
default: true,
|
||||
html: '双语',
|
||||
url: '/assets/sample/subtitle.srt',
|
||||
},
|
||||
{
|
||||
html: '中文',
|
||||
url: '/assets/sample/subtitle.cn.srt',
|
||||
},
|
||||
{
|
||||
html: '日文',
|
||||
url: '/assets/sample/subtitle.jp.srt',
|
||||
},
|
||||
],
|
||||
onSelect(item) {
|
||||
art.subtitle.switch(item.url, {
|
||||
name: item.html,
|
||||
})
|
||||
return item.html
|
||||
},
|
||||
},
|
||||
],
|
||||
})
|
||||
@@ -0,0 +1,36 @@
|
||||
// npm i mpegts
|
||||
// import mpegts from 'mpegts';
|
||||
|
||||
function playFlv(video, url, art) {
|
||||
if (mpegts.isSupported()) {
|
||||
if (art.flv)
|
||||
art.flv.destroy()
|
||||
|
||||
const flv = mpegts.createPlayer({
|
||||
type: 'flv',
|
||||
url,
|
||||
})
|
||||
flv.attachMediaElement(video)
|
||||
flv.load()
|
||||
flv.play()
|
||||
|
||||
art.flv = flv
|
||||
art.on('destroy', () => flv.destroy())
|
||||
}
|
||||
else {
|
||||
art.notice.show = 'Unsupported playback format: flv'
|
||||
}
|
||||
}
|
||||
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.flv',
|
||||
type: 'flv',
|
||||
customType: {
|
||||
flv: playFlv,
|
||||
},
|
||||
})
|
||||
|
||||
art.on('ready', () => {
|
||||
console.info(art.flv)
|
||||
})
|
||||
@@ -0,0 +1,113 @@
|
||||
// npm i artplayer-plugin-multiple-subtitles
|
||||
// import artplayerPluginMultipleSubtitles from 'artplayer-plugin-multiple-subtitles';
|
||||
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
setting: true,
|
||||
plugins: [
|
||||
artplayerPluginMultipleSubtitles({
|
||||
subtitles: [
|
||||
{
|
||||
name: 'chinese',
|
||||
url: '/assets/sample/subtitle.cn.srt',
|
||||
},
|
||||
{
|
||||
name: 'japanese',
|
||||
url: '/assets/sample/subtitle.jp.srt',
|
||||
},
|
||||
],
|
||||
}),
|
||||
],
|
||||
settings: [
|
||||
{
|
||||
width: 200,
|
||||
html: 'Subtitle',
|
||||
tooltip: 'Double',
|
||||
icon: '<img width="22" height="22" src="/assets/img/subtitle.svg">',
|
||||
selector: [
|
||||
{
|
||||
html: 'Display',
|
||||
tooltip: 'Show',
|
||||
switch: true,
|
||||
onSwitch(item) {
|
||||
item.tooltip = item.switch ? 'Hide' : 'Show'
|
||||
// 显示/隐藏字幕
|
||||
// Show/hide subtitles
|
||||
art.subtitle.show = !item.switch
|
||||
return !item.switch
|
||||
},
|
||||
},
|
||||
{
|
||||
html: 'Reverse',
|
||||
tooltip: 'Off',
|
||||
switch: false,
|
||||
onSwitch(item) {
|
||||
item.tooltip = item.switch ? 'Off' : 'On'
|
||||
// 修改字幕顺序
|
||||
// Change the order of subtitles
|
||||
if (item.switch) {
|
||||
art.plugins.multipleSubtitles.tracks(['chinese', 'japanese'])
|
||||
}
|
||||
else {
|
||||
art.plugins.multipleSubtitles.tracks(['japanese', 'chinese'])
|
||||
}
|
||||
return !item.switch
|
||||
},
|
||||
},
|
||||
{
|
||||
default: true,
|
||||
html: 'Double',
|
||||
name: 'double',
|
||||
},
|
||||
{
|
||||
html: 'Chinese',
|
||||
name: 'chinese',
|
||||
},
|
||||
{
|
||||
html: 'Japanese',
|
||||
name: 'japanese',
|
||||
},
|
||||
],
|
||||
onSelect(item) {
|
||||
if (item.name === 'double') {
|
||||
// 重置字幕
|
||||
// Reset subtitles
|
||||
art.plugins.multipleSubtitles.reset()
|
||||
}
|
||||
else {
|
||||
// 显示单个字幕
|
||||
// Show single subtitle
|
||||
art.plugins.multipleSubtitles.tracks([item.name])
|
||||
}
|
||||
return item.html
|
||||
},
|
||||
},
|
||||
],
|
||||
})
|
||||
|
||||
// 自定义你自己的样式,请勿复制以下代码
|
||||
// Customize your own style, please do not copy the following code
|
||||
|
||||
const style = `
|
||||
.art-subtitle-chinese {
|
||||
color: red;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.art-subtitle-japanese {
|
||||
color: yellow;
|
||||
font-size: 12px;
|
||||
}
|
||||
`
|
||||
|
||||
const $style = document.getElementById('artplayer-subtitle-style')
|
||||
if ($style) {
|
||||
$style.textContent = style
|
||||
}
|
||||
else {
|
||||
const $style = document.createElement('style')
|
||||
$style.id = 'artplayer-subtitle-style'
|
||||
$style.textContent = style
|
||||
document.head.appendChild($style)
|
||||
}
|
||||
@@ -0,0 +1,140 @@
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
setting: true,
|
||||
flip: true,
|
||||
playbackRate: true,
|
||||
aspectRatio: true,
|
||||
subtitleOffset: true,
|
||||
settings: [
|
||||
{
|
||||
width: 200,
|
||||
html: 'Subtitle',
|
||||
name: 'subtitle',
|
||||
tooltip: 'Bilingual',
|
||||
icon: '<img width="22" height="22" src="/assets/img/subtitle.svg">',
|
||||
selector: [
|
||||
{
|
||||
html: 'Display',
|
||||
tooltip: 'Show',
|
||||
switch: true,
|
||||
onSwitch(item) {
|
||||
item.tooltip = item.switch ? 'Hide' : 'Show'
|
||||
art.subtitle.show = !item.switch
|
||||
return !item.switch
|
||||
},
|
||||
},
|
||||
{
|
||||
default: true,
|
||||
html: 'Bilingual',
|
||||
url: '/assets/sample/subtitle.srt',
|
||||
},
|
||||
{
|
||||
html: 'Chinese',
|
||||
url: '/assets/sample/subtitle.cn.srt',
|
||||
},
|
||||
{
|
||||
html: 'Japanese',
|
||||
url: '/assets/sample/subtitle.jp.srt',
|
||||
},
|
||||
],
|
||||
onSelect(item) {
|
||||
art.subtitle.switch(item.url, {
|
||||
name: item.html,
|
||||
})
|
||||
return item.html
|
||||
},
|
||||
mounted(...args) {
|
||||
console.info(args)
|
||||
},
|
||||
},
|
||||
{
|
||||
html: 'Switcher',
|
||||
icon: '<img width="22" height="22" src="/assets/img/state.svg">',
|
||||
tooltip: 'OFF',
|
||||
switch: false,
|
||||
onSwitch(item) {
|
||||
item.tooltip = item.switch ? 'OFF' : 'ON'
|
||||
console.info('You clicked on the custom switch', item.switch)
|
||||
return !item.switch
|
||||
},
|
||||
mounted(...args) {
|
||||
console.info(args)
|
||||
},
|
||||
},
|
||||
{
|
||||
html: 'Slider',
|
||||
icon: '<img width="22" height="22" src="/assets/img/state.svg">',
|
||||
tooltip: '5x',
|
||||
range: [5, 1, 10, 0.1],
|
||||
onRange(item) {
|
||||
return `${item.range[0]}x`
|
||||
},
|
||||
mounted(...args) {
|
||||
console.info(args)
|
||||
},
|
||||
},
|
||||
],
|
||||
}, async () => {
|
||||
const { sleep } = Artplayer.utils
|
||||
art.setting.show = true
|
||||
console.log(art.setting.builtin)
|
||||
console.log(art.setting.find('aspect-ratio'))
|
||||
console.log(art.setting.find('aspect-ratio2'))
|
||||
await sleep(1000)
|
||||
art.setting.resize()
|
||||
await sleep(1000)
|
||||
art.setting.inactivate(art.setting.find('subtitle'))
|
||||
art.setting.remove('aspect-ratio')
|
||||
try {
|
||||
art.setting.remove('aspect-ratio2')
|
||||
}
|
||||
catch (error) {
|
||||
console.log(error.message)
|
||||
}
|
||||
await sleep(1000)
|
||||
art.setting.update({
|
||||
name: 'subtitle-offset',
|
||||
html: 'new offset',
|
||||
range: [5, -11, 11, 1],
|
||||
})
|
||||
await sleep(1000)
|
||||
art.setting.find('subtitle-offset').range = [0, -0, 10, 1]
|
||||
await sleep(1000)
|
||||
art.setting.update({
|
||||
name: 'subtitle-offset2',
|
||||
html: 'new offset 2',
|
||||
range: [5, -11, 11, 1],
|
||||
onChange(item) {
|
||||
return `${item.range[0]}s`
|
||||
},
|
||||
})
|
||||
await sleep(1000)
|
||||
art.setting.update({
|
||||
name: 'flip',
|
||||
html: 'new flip',
|
||||
tooltip: 'OFF',
|
||||
switch: false,
|
||||
})
|
||||
await sleep(1000)
|
||||
art.setting.find('flip').switch = true
|
||||
await sleep(1000)
|
||||
art.setting.update({
|
||||
name: 'flip2',
|
||||
html: 'new flip2',
|
||||
tooltip: 'OFF',
|
||||
switch: true,
|
||||
})
|
||||
await sleep(1000)
|
||||
try {
|
||||
art.setting.add({
|
||||
name: 'flip2',
|
||||
html: 'new flip2',
|
||||
tooltip: 'OFF',
|
||||
switch: true,
|
||||
})
|
||||
}
|
||||
catch (error) {
|
||||
console.log(error.message)
|
||||
}
|
||||
})
|
||||
@@ -1,69 +1,14 @@
|
||||
if (window.lastThumbnail) {
|
||||
window.lastThumbnail.destroy();
|
||||
}
|
||||
// npm i artplayer-plugin-thumbnail
|
||||
// import artplayerPluginThumbnail from 'artplayer-plugin-thumbnail';
|
||||
|
||||
var $popups = document.querySelector('.popups');
|
||||
var $popinner = document.querySelector('.popinner');
|
||||
var $artplayer = document.querySelector('.artplayer-app');
|
||||
|
||||
$artplayer.innerHTML = 'Drop video file here or click to upload.';
|
||||
var thumbnail = new ArtplayerToolThumbnail({
|
||||
fileInput: $artplayer,
|
||||
number: 60, // 数量
|
||||
width: 160, // 宽度
|
||||
column: 10, // 列数
|
||||
begin: 0, // 开始
|
||||
end: NaN, // 结束
|
||||
});
|
||||
|
||||
window.lastThumbnail = thumbnail;
|
||||
|
||||
thumbnail.on('file', function (file) {
|
||||
console.log('Read video successfully: ' + file.name);
|
||||
});
|
||||
|
||||
thumbnail.on('video', function (video) {
|
||||
console.log('Video size: ' + video.videoWidth + ' x ' + video.videoHeight);
|
||||
console.log('Video duration: ' + video.duration + 's');
|
||||
thumbnail.start();
|
||||
});
|
||||
|
||||
thumbnail.on('canvas', function (canvas) {
|
||||
console.log('Build canvas successfully');
|
||||
console.log('Canvas size: ' + canvas.width + ' x ' + canvas.height);
|
||||
console.log('Preview density: ' + thumbnail.density + ' p/s');
|
||||
});
|
||||
|
||||
thumbnail.on('update', function (url, percentage) {
|
||||
console.log('Processing: ' + Math.floor(percentage.toFixed(2) * 100) + '%');
|
||||
$popups.style.display = 'flex';
|
||||
$popinner.style.backgroundImage = 'url(' + url + ')';
|
||||
});
|
||||
|
||||
thumbnail.on('download', function (name) {
|
||||
console.log('Start download preview: ' + name);
|
||||
});
|
||||
|
||||
thumbnail.on('done', function () {
|
||||
$popups.style.display = 'none';
|
||||
thumbnail.download();
|
||||
console.log('Build preview image complete');
|
||||
|
||||
[...Artplayer.instances].forEach(function (art) {
|
||||
art.destroy(true);
|
||||
});
|
||||
|
||||
new Artplayer({
|
||||
container: $artplayer,
|
||||
url: thumbnail.videoUrl,
|
||||
autoSize: true,
|
||||
poster: thumbnail.thumbnailUrl,
|
||||
thumbnails: {
|
||||
url: thumbnail.thumbnailUrl,
|
||||
number: thumbnail.option.number,
|
||||
column: thumbnail.option.column,
|
||||
},
|
||||
});
|
||||
|
||||
console.log('Build player complete');
|
||||
});
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
plugins: [
|
||||
artplayerPluginThumbnail({
|
||||
width: 160,
|
||||
number: 100,
|
||||
scale: 1,
|
||||
}),
|
||||
],
|
||||
})
|
||||
@@ -0,0 +1,69 @@
|
||||
if (window.lastThumbnail) {
|
||||
window.lastThumbnail.destroy();
|
||||
}
|
||||
|
||||
var $popups = document.querySelector('.popups');
|
||||
var $popinner = document.querySelector('.popinner');
|
||||
var $artplayer = document.querySelector('.artplayer-app');
|
||||
|
||||
$artplayer.innerHTML = 'Drop video file here or click to upload.';
|
||||
var thumbnail = new ArtplayerToolThumbnail({
|
||||
fileInput: $artplayer,
|
||||
number: 60, // 数量
|
||||
width: 160, // 宽度
|
||||
column: 10, // 列数
|
||||
begin: 0, // 开始
|
||||
end: NaN, // 结束
|
||||
});
|
||||
|
||||
window.lastThumbnail = thumbnail;
|
||||
|
||||
thumbnail.on('file', function (file) {
|
||||
console.log('Read video successfully: ' + file.name);
|
||||
});
|
||||
|
||||
thumbnail.on('video', function (video) {
|
||||
console.log('Video size: ' + video.videoWidth + ' x ' + video.videoHeight);
|
||||
console.log('Video duration: ' + video.duration + 's');
|
||||
thumbnail.start();
|
||||
});
|
||||
|
||||
thumbnail.on('canvas', function (canvas) {
|
||||
console.log('Build canvas successfully');
|
||||
console.log('Canvas size: ' + canvas.width + ' x ' + canvas.height);
|
||||
console.log('Preview density: ' + thumbnail.density + ' p/s');
|
||||
});
|
||||
|
||||
thumbnail.on('update', function (url, percentage) {
|
||||
console.log('Processing: ' + Math.floor(percentage.toFixed(2) * 100) + '%');
|
||||
$popups.style.display = 'flex';
|
||||
$popinner.style.backgroundImage = 'url(' + url + ')';
|
||||
});
|
||||
|
||||
thumbnail.on('download', function (name) {
|
||||
console.log('Start download preview: ' + name);
|
||||
});
|
||||
|
||||
thumbnail.on('done', function () {
|
||||
$popups.style.display = 'none';
|
||||
thumbnail.download();
|
||||
console.log('Build preview image complete');
|
||||
|
||||
[...Artplayer.instances].forEach(function (art) {
|
||||
art.destroy(true);
|
||||
});
|
||||
|
||||
new Artplayer({
|
||||
container: $artplayer,
|
||||
url: thumbnail.videoUrl,
|
||||
autoSize: true,
|
||||
poster: thumbnail.thumbnailUrl,
|
||||
thumbnails: {
|
||||
url: thumbnail.thumbnailUrl,
|
||||
number: thumbnail.option.number,
|
||||
column: thumbnail.option.column,
|
||||
},
|
||||
});
|
||||
|
||||
console.log('Build player complete');
|
||||
});
|
||||
@@ -0,0 +1,24 @@
|
||||
// Depends on:
|
||||
// https://glomex.github.io/vast-ima-player/
|
||||
// https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side
|
||||
|
||||
// Google's IMA SDK are blocked by your Ad blocker.
|
||||
// Please Turn Off Your Ad Blocker.
|
||||
|
||||
// npm i artplayer-plugin-vast
|
||||
// import artplayerPluginVast from 'artplayer-plugin-vast';
|
||||
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/video.mp4',
|
||||
fullscreen: true,
|
||||
fullscreenWeb: true,
|
||||
plugins: [
|
||||
artplayerPluginVast(({ playUrl, imaPlayer, ima }) => {
|
||||
// Play the ad when the video is played
|
||||
art.once('play', () => {
|
||||
playUrl('https://artplayer.org/assets/vast/linear-ad.xml')
|
||||
})
|
||||
}),
|
||||
],
|
||||
})
|
||||
@@ -0,0 +1,12 @@
|
||||
// npm i artplayer-plugin-vtt-thumbnail
|
||||
// import artplayerPluginVttThumbnail from 'artplayer-plugin-vtt-thumbnail';
|
||||
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: '/assets/sample/bbb-video.mp4',
|
||||
plugins: [
|
||||
artplayerPluginVttThumbnail({
|
||||
vtt: '/assets/sample/bbb-thumbnails.vtt',
|
||||
}),
|
||||
],
|
||||
})
|
||||
@@ -0,0 +1,38 @@
|
||||
// npm i webtorrent
|
||||
// import WebTorrent from 'webtorrent';
|
||||
|
||||
async function playTorrent(video, url, art) {
|
||||
if (WebTorrent.WEBRTC_SUPPORT) {
|
||||
if (art.torrent)
|
||||
art.torrent.destroy()
|
||||
art.torrent = new WebTorrent()
|
||||
|
||||
await navigator.serviceWorker.register('/webtorrent.sw.min.js')
|
||||
art.torrent.loadWorker(navigator.serviceWorker.controller)
|
||||
|
||||
art.torrent.add(url, (torrent) => {
|
||||
const file = torrent.files.find((file) => {
|
||||
return file.name.endsWith('.mp4')
|
||||
})
|
||||
file.streamTo(video)
|
||||
})
|
||||
|
||||
art.on('destroy', () => art.torrent.destroy())
|
||||
}
|
||||
else {
|
||||
art.notice.show = 'Unsupported playback format: torrent'
|
||||
}
|
||||
}
|
||||
|
||||
const art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: 'magnet:?xt=urn:btih:08ada5a7a6183aae1e09d831df6748d566095a10&dn=Sintel&tr=udp%3A%2F%2Fexplodie.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.empire-js.us%3A1337&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2F&xs=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fsintel.torrent',
|
||||
type: 'torrent',
|
||||
customType: {
|
||||
torrent: playTorrent,
|
||||
},
|
||||
})
|
||||
|
||||
art.on('ready', () => {
|
||||
console.info(art.torrent)
|
||||
})
|
||||
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg viewBox="0 0 80 80" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<defs>
|
||||
<polygon id="dcacc03d-ebe2-486b-86c6-02f40070ed49" points="0 0 80 0 80 80 0 80"></polygon>
|
||||
<path d="M52.5463795,8.01403034 C54.5470371,7.84763808 56.3253994,9.18911826 56.7676959,11.0911381 C56.8718466,11.5365362 56.8612939,11.8985083 56.8069245,12.2287648 C56.7500316,12.556723 56.6424397,12.8481393 56.4951605,13.110368 C56.4219797,13.2418271 56.3354933,13.3636336 56.2494657,13.4856699 L56.2494657,13.4856699 L55.9916124,13.8522385 L55.4708587,14.5816985 C54.7716265,15.5508645 54.0556475,16.50762 53.3171867,17.4480581 C53.3121398,17.4544931 53.3068634,17.4606984 53.3020459,17.4671334 C54.2015503,17.5075824 55.1010548,17.5517085 56.0005592,17.6022697 C57.096436,17.6624835 58.1918539,17.7339586 59.2877307,17.8093407 L59.2877307,17.8093407 L60.9309723,17.9320665 L61.7527078,17.9980259 L62.1635756,18.0324994 L62.3688948,18.0495064 L62.471669,18.0580098 L62.5872901,18.0699607 C63.8533868,18.1864812 65.1027368,18.520185 66.2644533,19.0451021 C67.4263993,19.5697893 68.5000236,20.2872985 69.4304979,21.1587894 C70.3609723,22.0295909 71.1487556,23.0543742 71.7511781,24.1807396 C72.3552065,25.3059558 72.7702036,26.5343627 72.9750639,27.7944854 C73.0051162,27.9514549 73.0214041,28.1100331 73.0429684,28.2681518 L73.0429684,28.2681518 L73.0581092,28.3867407 L73.0714148,28.4988946 L73.0927497,28.7045867 L73.178089,29.5271253 L73.3366092,31.1733515 C73.4377777,32.2714485 73.5267875,33.3709245 73.6061623,34.4713197 C73.9220556,38.8708323 74.0704819,43.2995325 73.9677076,47.7257047 C73.8695214,52.1475102 73.5717513,56.5518491 73.123949,60.9389512 C73.1124787,61.0662734 73.0904556,61.2356534 73.070956,61.3930826 C73.0530623,61.5521205 73.0269099,61.7104689 72.9989223,61.8683577 L72.9583172,62.1053058 L72.9083065,62.3406451 C72.8745837,62.4976146 72.8410903,62.6543543 72.7979618,62.8092554 C72.638524,63.4309282 72.4281579,64.0401904 72.1691575,64.6280791 C71.6523038,65.8043162 70.9393071,66.8927606 70.0700844,67.8368758 C69.2020087,68.7819103 68.1783951,69.5837648 67.0510896,70.1990025 C65.9240135,70.8153893 64.6934749,71.2433208 63.4282958,71.4609637 C63.2697757,71.485325 63.1117143,71.5129038 62.9525059,71.5331283 L62.9525059,71.5331283 L62.4762572,71.5859877 L61.6545217,71.6574628 L60.0108212,71.7907605 C58.9151739,71.8769444 57.8190677,71.9509475 56.723191,72.0210437 C54.5309786,72.1573291 52.3383075,72.2648865 50.1451775,72.3455546 C41.3733459,72.6696058 32.5989908,72.5652659 23.8315179,72.0442559 C22.7356412,71.9799053 21.6402232,71.9031442 20.5445759,71.8238551 L20.5445759,71.8238551 L18.9015636,71.6951539 L18.0802869,71.6264367 L17.6696486,71.5910438 L17.4643294,71.5731176 C17.3957368,71.5671422 17.3305852,71.5620861 17.2461635,71.5522036 C15.9706611,71.433155 14.7132819,71.091867 13.5460596,70.5609746 C12.3779196,70.0296225 11.3006248,69.3040695 10.368774,68.4252242 C9.4371526,67.5466086 8.64822227,66.5163096 8.04901145,65.3832794 C7.4486536,64.2513983 7.03686821,63.0188545 6.83407251,61.7557442 C6.80952597,61.5978554 6.78268537,61.4401964 6.7670857,61.2811585 L6.7670857,61.2811585 L6.7407039,61.0428314 L6.72762771,60.9240127 L6.71868084,60.8210517 L6.6475647,59.9978237 L6.51565574,58.3504483 C6.43283985,57.2518916 6.35942964,56.1524157 6.29565452,55.0522503 C6.03986583,50.6529675 5.93755035,46.2348392 6.03825998,41.8194687 C6.13667554,37.4068562 6.41012856,33.0075734 6.82604327,28.6223099 C6.94441723,27.3608083 7.26696333,26.1147049 7.78312886,24.9545555 C8.29814735,23.7937167 9.0047206,22.7195213 9.86476706,21.7871271 C10.7243547,20.8542732 11.7390214,20.0655187 12.8543978,19.4603933 C13.9695447,18.8548081 15.1865483,18.43561 16.4368159,18.2241723 C16.5935008,18.2007303 16.7494975,18.1726918 16.9068707,18.1540761 L16.9068707,18.1540761 L17.3762372,18.1030552 L18.1975139,18.0336485 L19.8398379,17.9037982 C20.9350264,17.8199126 22.0302149,17.7482077 23.1254035,17.6801799 C24.2455974,17.6123819 25.3662501,17.552398 26.4866734,17.4993087 C26.4731384,17.4823018 26.459374,17.465065 26.4458389,17.4480581 C25.7073781,16.50762 24.9911698,15.5508645 24.2919376,14.5816985 L24.2919376,14.5816985 L23.7714133,13.8522385 L23.51356,13.4856699 C23.4275324,13.3636336 23.3408166,13.2418271 23.2678652,13.110368 C23.1203565,12.8481393 23.0129941,12.556723 22.9558718,12.2287648 C22.9017318,11.8985083 22.8909496,11.5365362 22.9953298,11.0911381 C23.4527671,9.13281148 25.2740285,7.85039596 27.2166461,8.01403034 C27.6717894,8.05195123 28.0122293,8.1735279 28.3093112,8.32682022 C28.6031814,8.48195113 28.8468116,8.67408363 29.0507543,8.89540373 C29.1530698,9.00548922 29.2418502,9.12568695 29.3313189,9.24519521 L29.3313189,9.24519521 L29.6001838,9.60371998 L30.1328666,10.3244467 C30.8380634,11.289246 31.5265136,12.266226 32.1922524,13.2595235 C32.8575324,14.2532806 33.5042304,15.2605973 34.1217938,16.2890578 C34.3094487,16.6025372 34.4950388,16.9178551 34.6778761,17.2350116 C37.4016243,17.1878978 40.125143,17.1791645 42.8488911,17.1968609 C43.5962988,17.2026065 44.3441653,17.2120293 45.0918023,17.2232906 C45.2723456,16.9100411 45.4558711,16.59886 45.6410025,16.2890578 C46.2587952,15.2605973 46.9054933,14.2532806 47.5707733,1Line truncated
|
||||
<filter x="-15.4%" y="-16.3%" width="130.9%" height="132.5%" filterUnits="objectBoundingBox" id="6229a4d6-d7ef-4db2-a990-2e5a9a80e5fb">
|
||||
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
|
||||
<feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
||||
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0" type="matrix" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix>
|
||||
<feOffset dx="0" dy="0" in="SourceAlpha" result="shadowOffsetOuter2"></feOffset>
|
||||
<feGaussianBlur stdDeviation="3.5" in="shadowOffsetOuter2" result="shadowBlurOuter2"></feGaussianBlur>
|
||||
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0" type="matrix" in="shadowBlurOuter2" result="shadowMatrixOuter2"></feColorMatrix>
|
||||
<feMerge>
|
||||
<feMergeNode in="shadowMatrixOuter1"></feMergeNode>
|
||||
<feMergeNode in="shadowMatrixOuter2"></feMergeNode>
|
||||
</feMerge>
|
||||
</filter>
|
||||
</defs>
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" opacity="0.800000012">
|
||||
<g transform="translate(-674.000000, -832.000000)">
|
||||
<g transform="translate(514.000000, 759.000000)">
|
||||
<g transform="translate(160.000000, 73.000000)">
|
||||
<mask id="6571edcb-5f96-450a-80cd-4185b762ee4d" fill="white">
|
||||
<use xlink:href="#dcacc03d-ebe2-486b-86c6-02f40070ed49"></use>
|
||||
</mask>
|
||||
<g mask="url(#6571edcb-5f96-450a-80cd-4185b762ee4d)">
|
||||
<use fill="black" fill-opacity="1" filter="url(#6229a4d6-d7ef-4db2-a990-2e5a9a80e5fb)" xlink:href="#271c2bc0-87b1-41ff-8ceb-2ef24f2896fe"></use>
|
||||
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#271c2bc0-87b1-41ff-8ceb-2ef24f2896fe"></use>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8.7 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.1 MiB |
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 48 48">
|
||||
<path d="M0 0h48v48H0z" fill="none"/>
|
||||
<path fill="#ffffff" d="M40 8H8c-2.21 0-4 1.79-4 4v24c0 2.21 1.79 4 4 4h32c2.21 0 4-1.79 4-4V12c0-2.21-1.79-4-4-4zM8 24h8v4H8v-4zm20 12H8v-4h20v4zm12 0h-8v-4h8v4zm0-8H20v-4h20v4z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 318 B |
File diff suppressed because it is too large.
Load diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,11 @@
|
||||
"use strict";async function Module(i={}){var g,v=i,y=(...t)=>console.log(...t),h=(...t)=>console.error(...t);function T(){j?.(v)}G=(t=>()=>{t(),self.wasmMemory=B,self.HEAPU8C=new Uint8ClampedArray(B.buffer),self.HEAPU8=new Uint8Array(B.buffer)})(G);function P(t){throw t}var j,w,C,A,M,E,O,ie,oe,le=!1;function G(){var t=B.buffer;w=new Int8Array(t),A=new Int16Array(t),C=new Uint8Array(t),M=new Uint16Array(t),E=new Int32Array(t),O=new Uint32Array(t),ie=new Float32Array(t),oe=new Float64Array(t)}function $e(){{var t=62914560;B=new WebAssembly.Memory({initial:t/65536,maximum:32768})}G()}$e();var X=t=>Xe(t),Q=()=>Qe(),B,fe=new TextDecoder,Z=(t,r,n,s)=>{var o=r+n;if(s)return o;for(;t[r]&&!(r>=o);)++r;return r},q=(t,r,n)=>{if(!t)return"";var s=Z(C,t,r,n);return fe.decode(C.subarray(t,s))},Ce=(t,r,n,s)=>P(`Assertion failed: ${q(t)}, at: `+[r?q(r):"unknown filename",n,s?q(s):"unknown function"]);function _e(t,r,n){return 0}var we=(t,r,n)=>{};function tr(t,r,n){return 0}function nr(t,r,n,s){}var ar=()=>P(""),sr=(t,r,n,s,o)=>{},U=t=>{for(var r="";;){var n=C[t++];if(!n)return r;r+=String.fromCharCode(n)}},J={},K={},ue={},N=class extends Error{constructor(r){super(r),this.name="BindingError"}},$=t=>{throw new N(t)};function ir(t,r,n={}){var s=r.name;if(t||$(`type "${s}" must have a positive integer typeid pointer`),K.hasOwnProperty(t)){if(n.ignoreDuplicateRegistrations)return;$(`Cannot register type '${s}' twice`)}if(K[t]=r,delete ue[t],J.hasOwnProperty(t)){var o=J[t];delete J[t],o.forEach(l=>l())}}function L(t,r,n={}){return ir(t,r,n)}var or=(t,r,n,s)=>{r=U(r),L(t,{name:r,fromWireType:function(o){return!!o},toWireType:function(o,l){return l?n:s},readValueFromPointer:function(o){return this.fromWireType(C[o])},destructorFunction:null})},lr=t=>({count:t.count,deleteScheduled:t.deleteScheduled,preservePointerOnDelete:t.preservePointerOnDelete,ptr:t.ptr,ptrType:t.ptrType,smartPtr:t.smartPtr,smartPtrType:t.smartPtrType}),Te=t=>{function r(n){return n.$$.ptrType.registeredClass.name}$(r(t)+" instance already deleted")},Pe=!1,Me=t=>{},fr=t=>{t.smartPtr?t.smartPtrType.rawDestructor(t.smartPtr):t.ptrType.registeredClass.rawDestructor(t.ptr)},Re=t=>{t.count.value-=1;var r=t.count.value===0;r&&fr(t)},ee=t=>globalThis.FinalizationRegistry?(Pe=new FinalizationRegistry(r=>{Re(r.$$)}),ee=r=>{var n=r.$$,s=!!n.smartPtr;if(s){var o={$$:n};Pe.register(r,o,r)}return r},Me=r=>Pe.unregister(r),ee(t)):(ee=r=>r,t),ce=[],ur=()=>{for(;ce.length;){var t=ce.pop();t.$$.deleteScheduled=!1,t.delete()}},Ee,cr=()=>{let t=de.prototype;Object.assign(t,{isAliasOf(n){if(!(this instanceof de)||!(n instanceof de))return!1;var s=this.$$.ptrType.registeredClass,o=this.$$.ptr;n.$$=n.$$;for(var l=n.$$.ptrType.registeredClass,u=n.$$.ptr;s.baseClass;)o=s.upcast(o),s=s.baseClass;for(;l.baseClass;)u=l.upcast(u),l=l.baseClass;return s===l&&o===u},clone(){if(this.$$.ptr||Te(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var n=ee(Object.create(Object.getPrototypeOf(this),{$$:{value:lr(this.$$)}}));return n.$$.count.value+=1,n.$$.deleteScheduled=!1,n},delete(){this.$$.ptr||Te(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&$("Object already scheduled for deletion"),Me(this),Re(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Te(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&$("Object already scheduled for deletion"),ce.push(this),ce.length===1&&Ee&&Ee(ur),this.$$.deleteScheduled=!0,this}});const r=Symbol.dispose;r&&(t[r]=t.delete)};function de(){}var ke=(t,r)=>Object.defineProperty(r,"name",{value:t}),We={},Ue=(t,r,n)=>{if(t[r].overloadTable===void 0){var s=t[r];t[r]=function(...o){return t[r].overloadTable.hasOwnProperty(o.length)||$(`Function '${n}' called with an invalid number of arguments (${o.length}) - expects one of (${t[r].overloadTable})!`),t[r].overloadTable[o.length].apply(this,o)},t[r].overloadTable=[],t[r].overloadTable[s.argCount]=s}},dr=(t,r,n)=>{v.hasOwnProperty(t)?((n===void 0||v[t].overloadTable!==void 0&&v[t].overloadTable[n]!==void 0)&&$(`Cannot register public name '${t}' twice`),Ue(v,t,t),v[t].overloadTable.hasOwnProperty(n)&&$(`Cannot register multiple overloads of a function with the same number of arguments (${n})!`),v[t].overloadTable[n]=r):(v[t]=r,v[t].argCount=n)},vr=48,pr=57,gr=t=>{t=t.replace(/[^a-zA-Z0-9_]/g,"$");var r=t.charCodeAt(0);return r>=vr&&r<=pr?`_${t}`:t};function br(t,r,n,s,o,l,u,f){this.name=t,this.constructor=r,this.instancePrototype=n,this.rawDestructor=s,this.baseClass=o,this.getActualType=l,this.upcast=u,this.downcast=f,this.pureVirtualFunctions=[]}var ve=(t,r,n)=>{for(;r!==n;)r.upcast||$(`Expected null or instance of ${n.name}, got an instance of ${r.name}`),t=r.upcast(t),r=r.baseClass;return t},je=t=>{if(t===null)return"null";var r=typeof t;return r==="object"||r==="array"||r==="function"?t.toString():""+t};function hr(t,r){if(r===null)return this.isReferencLine truncated
|
||||
`;o&&(m+=`var destructors = [];
|
||||
`);var _=o?"destructors":"null",S=["humanName","throwBindingError","invoker","fn","runDestructors","fromRetWire","toClassParamWire"];r&&(m+=`var thisWired = toClassParamWire(${_}, this);
|
||||
`);for(var p=0;p<l;++p){var R=`toArg${p}Wire`;m+=`var arg${p}Wired = ${R}(${_}, arg${p});
|
||||
`,S.push(R)}if(m+=(n||s?"var rv = ":"")+`invoker(${f});
|
||||
`,o)m+=`runDestructors(destructors);
|
||||
`;else for(var p=r?1:2;p<t.length;++p){var F=p===1?"thisWired":"arg"+(p-2)+"Wired";t[p].destructorFunction!==null&&(m+=`${F}_dtor(${F});
|
||||
`,S.push(`${F}_dtor`))}return n&&(m+=`var ret = fromRetWire(rv);
|
||||
return ret;
|
||||
`),m+=`}
|
||||
`,new Function(S,m)}function He(t,r,n,s,o,l){var u=r.length;u<2&&$("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var f=r[1]!==null&&n!==null,p=xe(r),m=!r[0].isVoid,_=r[0],S=r[1],R=[t,$,s,o,Le,_.fromWireType.bind(_),S?.toWireType.bind(S)],F=2;F<u;++F){var k=r[F];R.push(k.toWireType.bind(k))}if(!p)for(var F=f?1:2;F<r.length;++F)r[F].destructorFunction!==null&&R.push(r[F].destructorFunction);var x=Er(r,f,m,l)(...R);return ke(t,x)}var kr=(t,r,n,s,o,l)=>{var u=Be(r,n);o=H(s,o),z([],[t],f=>{f=f[0];var p=`constructor ${f.name}`;if(f.registeredClass.constructor_body===void 0&&(f.registeredClass.constructor_body=[]),f.registeredClass.constructor_body[r-1]!==void 0)throw new N(`Cannot register multiple constructors with identical number of parameters (${r-1}) for class '${f.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return f.registeredClass.constructor_body[r-1]=()=>{te(`Cannot construct ${f.name} due to unbound types`,u)},z([],u,m=>(m.splice(1,0,null),f.registeredClass.constructor_body[r-1]=He(p,m,null,o,l),[])),[]})},Wr=t=>{t=t.trim();const r=t.indexOf("(");return r===-1?t:t.slice(0,r)},Ur=(t,r,n,s,o,l,u,f,p,m)=>{var _=Be(n,s);r=U(r),r=Wr(r),l=H(o,l,p),z([],[t],S=>{S=S[0];var R=`${S.name}.${r}`;r.startsWith("@@")&&(r=Symbol[r.substring(2)]),f&&S.registeredClass.pureVirtualFunctions.push(r);function F(){te(`Cannot call ${R} due to unbound types`,_)}var k=S.registeredClass.instancePrototype,D=k[r];return D===void 0||D.overloadTable===void 0&&D.className!==S.name&&D.argCount===n-2?(F.argCount=n-2,F.className=S.name,k[r]=F):(Ue(k,r,R),k[r].overloadTable[n-2]=F),z([],_,x=>{var I=He(R,x,S,l,u,p);return k[r].overloadTable===void 0?(I.argCount=n-2,k[r]=I):k[r].overloadTable[n-2]=I,[]}),[]})},Ve=(t,r,n)=>(t instanceof Object||$(`${n} with invalid "this": ${t}`),t instanceof r.registeredClass.constructor||$(`${n} incompatible with "this" of type ${t.constructor.name}`),t.$$.ptr||$(`cannot call emscripten binding method ${n} on deleted object`),ve(t.$$.ptr,t.$$.ptrType.registeredClass,r.registeredClass)),Dr=(t,r,n,s,o,l,u,f,p,m)=>{r=U(r),o=H(s,o),z([],[t],_=>{_=_[0];var S=`${_.name}.${r}`,R={get(){te(`Cannot access ${S} due to unbound types`,[n,u])},enumerable:!0,configurable:!0};return p?R.set=()=>te(`Cannot access ${S} due to unbound types`,[n,u]):R.set=F=>$(S+" is a read-only property"),Object.defineProperty(_.registeredClass.instancePrototype,r,R),z([],p?[n,u]:[n],F=>{var k=F[0],D={get(){var I=Ve(this,_,S+" getter");return k.fromWireType(o(l,I))},enumerable:!0};if(p){p=H(f,p);var x=F[1];D.set=function(I){var se=Ve(this,_,S+" setter"),W=[];p(m,se,x.toWireType(W,I)),Le(W)}}return Object.defineProperty(_.registeredClass.instancePrototype,r,D),[]}),[]})},ze=[],Y=[0,1,,1,null,1,!0,1,!1,1],Ir=t=>{t>9&&--Y[t+1]===0&&(Y[t]=void 0,ze.push(t))},Fe={toValue:t=>(t||$(`Cannot use deleted val. handle = ${t}`),Y[t]),toHandle:t=>{switch(t){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const r=ze.pop()||Y.length;return Y[r]=t,Y[r+1]=1,r}}}},Br={name:"emscripten::val",fromWireType:t=>{var r=Fe.toValue(t);return Ir(t),r},toWireType:(t,r)=>Fe.toHandle(r),readValueFromPointer:pe,destructorFunction:null},Lr=t=>L(t,Br),xr=(t,r)=>{switch(r){case 4:return function(n){return this.fromWireType(ie[n>>2])};case 8:return function(n){return this.fromWireType(oe[n>>3])};default:throw new TypeError(`invalid float width (${r}): ${t}`)}},Hr=(t,r,n)=>{r=U(r),L(t,{name:r,fromWireType:s=>s,toWireType:(s,o)=>o,readValueFromPointer:xr(r,n),destructorFunction:null})},Vr=(t,r,n)=>{switch(r){case 1:return n?s=>w[s]:s=>C[s];case 2:return n?s=>A[s>>1]:s=>M[s>>1];case 4:return n?s=>E[s>>2]:s=>O[s>>2];default:throw new TypeError(`invalid integer width (${r}): ${t}`)}},zr=(t,r,n,s,o)=>{r=U(r);const l=s===0;let u=p=>p;if(l){var f=32-8*n;u=p=>p<<f>>>f,o=u(o)}L(t,{name:r,fromWireType:u,toWireType:(p,m)=>m,readValueFromPointer:Vr(r,n,s!==0),destructorFunction:null})},Gr=(t,r,n)=>{var s=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],o=s[r];function l(u){var f=O[u>>2],p=O[u+4>>2];return new o(w.buffer,p,f)}n=U(n),L(t,{name:n,fromWireType:l,readValueFromPointer:l},{ignoreDuplicateRegistrations:!0})},qr=(t,r,n,s)=>{if(!(s>0))return 0;for(var o=n,l=n+s-1,u=0;u<t.length;++u){var f=t.codePointAt(u);if(f<=127){if(n>=l)break;r[n++]=f}else if(f<=2047){if(n+1>=l)break;r[n++]=192|f>>6,r[n++]=128|f&63}else if(f<=65535){if(n+2>=l)break;r[n++]=224|f>>12,r[n++]=128|f>>6&63,r[n++]=128|f&63}else{if(n+3>=l)break;r[n++]=240|f>>18,r[n++]=128|f>>12&63,r[n++]=128|f>>6&63,r[n++]=128|f&63,u++}}return r[n]=0,n-o},Ge=(t,r,n)=>qr(t,C,r,n),qe=t=>{for(var r=0,n=0;n<t.length;++n){var s=t.charCodeAt(n);s<=127?r++:s<=2047?r+=2:s>=55296&&s<=57343?(r+=4,++n):r+=3}return r},Jr=(t,r)=>{r=U(r),L(t,{name:r,fromWireType(n){var s=O[n>>2],o=n+4,l;return l=q(o,s,!0),V(n),l},toWireType(n,s){s instanceof ArrayBuffer&&(s=new Uint8Arr
Line truncated
|
||||
Binary file not shown.
+290
-215
@@ -1,237 +1,312 @@
|
||||
(function () {
|
||||
var userAgent = window.navigator.userAgent;
|
||||
var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);
|
||||
var isIE = /MSIE|Trident/.test(userAgent);
|
||||
Artplayer.DEBUG = true
|
||||
|
||||
if (isMobile || isIE) {
|
||||
window.location.href = './mobile.html';
|
||||
return;
|
||||
if (Artplayer.utils.isMobile) {
|
||||
window.location.href = `./mobile.html${location.search}`
|
||||
}
|
||||
|
||||
let $codeMirror = document.querySelector('.codeMirrorWrap')
|
||||
let $lib = document.querySelector('.libsInput')
|
||||
let $run = document.querySelector('.run')
|
||||
let $popups = document.querySelector('.popups')
|
||||
let $console = document.querySelector('.console')
|
||||
let $prod = document.querySelector('#prod')
|
||||
let $ts = document.querySelector('#ts')
|
||||
let $code = document.querySelector('#code')
|
||||
let $log = document.querySelector('#log')
|
||||
let $file = document.querySelector('#file')
|
||||
let $editor = document.querySelector('#editor')
|
||||
|
||||
window.consoleLog($console)
|
||||
|
||||
// Helper functions for localStorage
|
||||
const getStorageBoolean = (key) => localStorage.getItem(key) === 'true'
|
||||
const setStorageBoolean = (key, value) => localStorage.setItem(key, value ? 'true' : 'false')
|
||||
|
||||
$prod.checked = getStorageBoolean('prod')
|
||||
$ts.checked = getStorageBoolean('ts')
|
||||
$code.checked = getStorageBoolean('code')
|
||||
$log.checked = getStorageBoolean('log')
|
||||
|
||||
if ($code.checked) {
|
||||
$editor.style.display = 'none'
|
||||
}
|
||||
|
||||
if ($log.checked) {
|
||||
$console.style.display = 'none'
|
||||
}
|
||||
|
||||
let editor = null
|
||||
let loadedLibs = []
|
||||
require.config({ paths: { vs: './assets/js/vs' } })
|
||||
require(['vs/editor/editor.main'], async () => {
|
||||
monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({
|
||||
noSemanticValidation: true,
|
||||
noSyntaxValidation: false,
|
||||
})
|
||||
|
||||
monaco.languages.typescript.javascriptDefaults.setCompilerOptions({
|
||||
target: monaco.languages.typescript.ScriptTarget.ES6,
|
||||
allowNonTsExtensions: true,
|
||||
})
|
||||
|
||||
let libUris = [
|
||||
'./assets/ts/artplayer-plugin-ads.d.ts',
|
||||
'./assets/ts/artplayer-plugin-ambilight.d.ts',
|
||||
'./assets/ts/artplayer-plugin-asr.d.ts',
|
||||
'./assets/ts/artplayer-plugin-audio-track.d.ts',
|
||||
'./assets/ts/artplayer-plugin-auto-thumbnail.d.ts',
|
||||
'./assets/ts/artplayer-plugin-chapter.d.ts',
|
||||
'./assets/ts/artplayer-plugin-chromecast.d.ts',
|
||||
'./assets/ts/artplayer-plugin-danmuku-mask.d.ts',
|
||||
'./assets/ts/artplayer-plugin-danmuku.d.ts',
|
||||
'./assets/ts/artplayer-plugin-dash-control.d.ts',
|
||||
'./assets/ts/artplayer-plugin-document-pip.d.ts',
|
||||
'./assets/ts/artplayer-plugin-hls-control.d.ts',
|
||||
'./assets/ts/artplayer-plugin-jassub.d.ts',
|
||||
'./assets/ts/artplayer-plugin-multiple-subtitles.d.ts',
|
||||
'./assets/ts/artplayer-plugin-vast.d.ts',
|
||||
'./assets/ts/artplayer-plugin-vtt-thumbnail.d.ts',
|
||||
'./assets/ts/artplayer-proxy-canvas.d.ts',
|
||||
'./assets/ts/artplayer-proxy-mediabunny.d.ts',
|
||||
'./assets/ts/artplayer-tool-iframe.d.ts',
|
||||
'./assets/ts/artplayer.d.ts',
|
||||
]
|
||||
|
||||
for (let index = 0; index < libUris.length; index++) {
|
||||
let libUri = libUris[index]
|
||||
let libSource = await (await fetch(libUri)).text()
|
||||
monaco.languages.typescript.javascriptDefaults.addExtraLib(libSource, libUri)
|
||||
monaco.editor.createModel(libSource, 'typescript', monaco.Uri.parse(libUri))
|
||||
}
|
||||
|
||||
var $codeMirror = document.querySelector('.codeMirrorWrap');
|
||||
var $lib = document.querySelector('.libsInput');
|
||||
var $run = document.querySelector('.run');
|
||||
var $popups = document.querySelector('.popups');
|
||||
var $console = document.querySelector('.console');
|
||||
var loaddLib = [];
|
||||
const disposable = monaco.editor.onDidCreateEditor(() => {
|
||||
disposable.dispose()
|
||||
setTimeout(initApp, 1000)
|
||||
})
|
||||
|
||||
window.consoleLog($console);
|
||||
editor = monaco.editor.create($codeMirror, {
|
||||
theme: 'vs-dark',
|
||||
folding: true,
|
||||
automaticLayout: true,
|
||||
quickSuggestions: {
|
||||
other: true,
|
||||
comments: true,
|
||||
strings: true,
|
||||
},
|
||||
model: monaco.editor.createModel(
|
||||
[
|
||||
'var art = new Artplayer({',
|
||||
'\tcontainer: \'.artplayer-app\',',
|
||||
'\turl: \'/assets/sample/video.mp4\',',
|
||||
'});',
|
||||
].join('\n'),
|
||||
$ts.checked ? 'typescript' : 'javascript',
|
||||
),
|
||||
})
|
||||
})
|
||||
|
||||
var editor = null;
|
||||
require.config({ paths: { vs: './assets/js/vs' } });
|
||||
require(['vs/editor/editor.main'], function () {
|
||||
var libUri = './assets/ts/artplayer.d.ts';
|
||||
fetch(libUri)
|
||||
.then((res) => res.text())
|
||||
.then((libSource) => {
|
||||
monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({
|
||||
noSemanticValidation: true,
|
||||
noSyntaxValidation: false,
|
||||
});
|
||||
function getURLParameters(url) {
|
||||
return (url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce((params, pair) => {
|
||||
const index = pair.indexOf('=')
|
||||
params[pair.slice(0, index)] = pair.slice(index + 1)
|
||||
return params
|
||||
}, {})
|
||||
}
|
||||
|
||||
monaco.languages.typescript.javascriptDefaults.setCompilerOptions({
|
||||
target: monaco.languages.typescript.ScriptTarget.ES6,
|
||||
allowNonTsExtensions: true,
|
||||
});
|
||||
|
||||
monaco.languages.typescript.javascriptDefaults.addExtraLib(libSource, libUri);
|
||||
monaco.editor.createModel(libSource, 'typescript', monaco.Uri.parse(libUri));
|
||||
|
||||
var disposable = monaco.editor.onDidCreateEditor(function () {
|
||||
disposable.dispose();
|
||||
setTimeout(initApp, 1000);
|
||||
});
|
||||
|
||||
editor = monaco.editor.create($codeMirror, {
|
||||
theme: 'vs-dark',
|
||||
automaticLayout: true,
|
||||
model: monaco.editor.createModel(
|
||||
[
|
||||
'var art = new Artplayer({',
|
||||
"\tcontainer: '.artplayer-app',",
|
||||
"\turl: 'https://artplayer.org/assets/sample/video.mp4',",
|
||||
'});',
|
||||
].join('\n'),
|
||||
'javascript',
|
||||
),
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
function initArt(art) {
|
||||
Artplayer.config.events.forEach(function (item) {
|
||||
art &&
|
||||
art.on('video:' + item, function (event) {
|
||||
console.log('video: ' + event.type);
|
||||
});
|
||||
});
|
||||
function getExt(url) {
|
||||
if (url.includes('?')) {
|
||||
return getExt(url.split('?')[0])
|
||||
}
|
||||
|
||||
function getURLParameters(url) {
|
||||
return (url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce(function (a, v) {
|
||||
return (a[v.slice(0, v.indexOf('='))] = v.slice(v.indexOf('=') + 1)), a;
|
||||
}, {});
|
||||
if (url.includes('#')) {
|
||||
return getExt(url.split('#')[0])
|
||||
}
|
||||
|
||||
function getExt(url) {
|
||||
if (url.includes('?')) {
|
||||
return getExt(url.split('?')[0]);
|
||||
}
|
||||
return url.trim().toLowerCase().split('.').pop()
|
||||
}
|
||||
|
||||
if (url.includes('#')) {
|
||||
return getExt(url.split('#')[0]);
|
||||
}
|
||||
function loadScript(url) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const originalDefine = window.define
|
||||
window.define = undefined
|
||||
const script = document.createElement('script')
|
||||
script.type = 'text/javascript'
|
||||
script.src = url
|
||||
script.onload = () => {
|
||||
window.define = originalDefine
|
||||
resolve(url)
|
||||
}
|
||||
script.onerror = () => {
|
||||
window.define = originalDefine
|
||||
reject(new Error(`Loading script failed: ${url}`))
|
||||
}
|
||||
document.head.appendChild(script)
|
||||
})
|
||||
}
|
||||
|
||||
return url.trim().toLowerCase().split('.').pop();
|
||||
function loadStyle(url) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const link = document.createElement('link')
|
||||
link.rel = 'stylesheet'
|
||||
link.href = url
|
||||
link.onload = () => resolve(url)
|
||||
link.onerror = () => reject(new Error(`Loading style failed: ${url}`))
|
||||
document.head.appendChild(link)
|
||||
})
|
||||
}
|
||||
|
||||
function loadLib(libs) {
|
||||
const libPromises = []
|
||||
const libsDecoded = decodeURIComponent(libs || '')
|
||||
const urls = libsDecoded
|
||||
.split(/\r?\n/)
|
||||
.filter((url) => url.trim() && !loadedLibs.includes(url))
|
||||
|
||||
urls.forEach((url) => {
|
||||
const ext = getExt(url)
|
||||
if (ext === 'js') {
|
||||
libPromises.push(loadScript(url))
|
||||
} else if (ext === 'css') {
|
||||
libPromises.push(loadStyle(url))
|
||||
}
|
||||
})
|
||||
|
||||
$lib.value = libsDecoded
|
||||
return Promise.all(libPromises)
|
||||
}
|
||||
|
||||
function runExample(name) {
|
||||
fetch(`./assets/example/${name}.js`)
|
||||
.then((response) => {
|
||||
return response.text()
|
||||
})
|
||||
.then((text) => {
|
||||
editor.setValue(text)
|
||||
runCode()
|
||||
})
|
||||
.catch((err) => {
|
||||
console.error(err)
|
||||
})
|
||||
}
|
||||
|
||||
function loadCode(code, example) {
|
||||
if (example) {
|
||||
runExample(example)
|
||||
}
|
||||
|
||||
function loadScript(url) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
var define2 = window.define;
|
||||
window.define = undefined;
|
||||
var script = document.createElement('script');
|
||||
script.type = 'text/javascript';
|
||||
script.src = url;
|
||||
script.onload = function () {
|
||||
window.define = define2;
|
||||
resolve(url);
|
||||
};
|
||||
script.onerror = function () {
|
||||
reject(new Error('Loading script failed:' + url));
|
||||
};
|
||||
document.querySelector('head').appendChild(script);
|
||||
});
|
||||
else if (code) {
|
||||
editor.setValue(decodeURIComponent(code).trim())
|
||||
runCode()
|
||||
}
|
||||
|
||||
function loadStyle(url) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
var link = document.createElement('link');
|
||||
link.rel = 'stylesheet';
|
||||
link.href = url;
|
||||
link.onload = function () {
|
||||
resolve(url);
|
||||
};
|
||||
link.onerror = function () {
|
||||
reject(new Error('Loading style failed:' + url));
|
||||
};
|
||||
document.querySelector('head').appendChild(link);
|
||||
});
|
||||
else {
|
||||
runExample('index')
|
||||
}
|
||||
}
|
||||
|
||||
function loadLib(libs) {
|
||||
var libPromise = [];
|
||||
var libsDecode = decodeURIComponent(libs || '');
|
||||
libsDecode
|
||||
.split(/\r?\n/)
|
||||
.filter(function (url) {
|
||||
return !loaddLib.includes(url);
|
||||
})
|
||||
.forEach(function (url) {
|
||||
var ext = getExt(url);
|
||||
if (ext === 'js') {
|
||||
libPromise.push(loadScript(url));
|
||||
} else if (ext === 'css') {
|
||||
libPromise.push(loadStyle(url));
|
||||
}
|
||||
});
|
||||
$lib.value = libsDecode;
|
||||
return Promise.all(libPromise);
|
||||
function runCode() {
|
||||
// Destroy all existing instances
|
||||
Artplayer.instances.forEach((art) => art.destroy(true))
|
||||
|
||||
const value = editor.getValue()
|
||||
eval(value)
|
||||
window.art = Artplayer.instances[0]
|
||||
}
|
||||
|
||||
function initApp() {
|
||||
const urlParams = getURLParameters(window.location.href)
|
||||
const { code, libs, example } = urlParams
|
||||
|
||||
loadLib(libs)
|
||||
.then((result) => {
|
||||
loadedLibs.push(...result)
|
||||
loadCode(code, example)
|
||||
})
|
||||
.catch((err) => {
|
||||
console.error('Failed to initialize app:', err)
|
||||
})
|
||||
}
|
||||
|
||||
function restart() {
|
||||
const libs = encodeURIComponent($lib.value)
|
||||
const code = encodeURIComponent(editor.getValue())
|
||||
const url = `${window.location.origin}${window.location.pathname}?libs=${libs}&code=${code}`
|
||||
history.pushState(null, null, url)
|
||||
initApp()
|
||||
}
|
||||
|
||||
function readFile(file) {
|
||||
return new Promise((resolve) => {
|
||||
const reader = new FileReader()
|
||||
reader.onload = () => resolve(reader.result)
|
||||
reader.readAsText(file)
|
||||
})
|
||||
}
|
||||
|
||||
$run.addEventListener('click', () => {
|
||||
restart()
|
||||
})
|
||||
|
||||
$popups.addEventListener('click', function (event) {
|
||||
if (event.target === this) {
|
||||
this.style.display = 'none'
|
||||
}
|
||||
})
|
||||
|
||||
function runExample(name) {
|
||||
fetch('./assets/example/' + name + '.js')
|
||||
.then(function (response) {
|
||||
return response.text();
|
||||
})
|
||||
.then(function (text) {
|
||||
editor.setValue(text);
|
||||
runCode();
|
||||
})
|
||||
.catch(function (err) {
|
||||
console.error(err);
|
||||
});
|
||||
$prod.addEventListener('change', () => {
|
||||
setStorageBoolean('prod', $prod.checked)
|
||||
window.location.reload()
|
||||
})
|
||||
|
||||
$ts.addEventListener('change', () => {
|
||||
setStorageBoolean('ts', $ts.checked)
|
||||
window.location.reload()
|
||||
})
|
||||
|
||||
$code.addEventListener('change', () => {
|
||||
setStorageBoolean('code', $code.checked)
|
||||
window.location.reload()
|
||||
})
|
||||
|
||||
$log.addEventListener('change', () => {
|
||||
setStorageBoolean('log', $log.checked)
|
||||
window.location.reload()
|
||||
})
|
||||
|
||||
$file.addEventListener('change', async () => {
|
||||
for (let index = 0; index < $file.files.length; index++) {
|
||||
const file = $file.files[index]
|
||||
const name = file.name.toLowerCase().trim()
|
||||
if (name.endsWith('.css')) {
|
||||
const text = await readFile(file)
|
||||
const $style = document.createElement('style')
|
||||
$style.textContent = text
|
||||
document.body.appendChild($style)
|
||||
$lib.value = `\n[${name}]`
|
||||
$lib.value = $lib.value.trim()
|
||||
}
|
||||
if (name.endsWith('.js')) {
|
||||
const text = await readFile(file)
|
||||
const $script = document.createElement('script')
|
||||
$script.textContent = text
|
||||
document.body.appendChild($script)
|
||||
$lib.value = `\n[${name}]`
|
||||
$lib.value = $lib.value.trim()
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
function loadCode(code, example) {
|
||||
if (example) {
|
||||
runExample(example);
|
||||
} else if (code) {
|
||||
editor.setValue(decodeURIComponent(code).trim());
|
||||
runCode();
|
||||
} else {
|
||||
runExample('index');
|
||||
}
|
||||
window.addEventListener('error', (err) => {
|
||||
console.error(err)
|
||||
})
|
||||
|
||||
window.addEventListener('unhandledrejection', (err) => {
|
||||
console.error(err)
|
||||
})
|
||||
|
||||
document.addEventListener('keydown', (event) => {
|
||||
if ((event.ctrlKey || event.metaKey) && event.key === 's') {
|
||||
event.preventDefault()
|
||||
restart()
|
||||
}
|
||||
|
||||
function formatDate(date) {
|
||||
var date = new Date(Number(date));
|
||||
var YY = date.getFullYear() + '-';
|
||||
var MM = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
|
||||
var DD = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||
var hh = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
|
||||
var mm = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
|
||||
var ss = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
|
||||
return YY + MM + DD + ' ' + hh + mm + ss;
|
||||
}
|
||||
|
||||
function runCode() {
|
||||
Artplayer.instances.forEach(function (art) {
|
||||
art.destroy(true);
|
||||
});
|
||||
var code = editor.getValue();
|
||||
eval(code);
|
||||
initArt(Artplayer.instances[0]);
|
||||
console.debug('Artplayer@' + Artplayer.version);
|
||||
console.debug('Env@' + Artplayer.env);
|
||||
console.debug('Build@' + formatDate(Artplayer.build));
|
||||
}
|
||||
|
||||
function initApp() {
|
||||
var _getURLParameters = getURLParameters(window.location.href),
|
||||
code = _getURLParameters.code,
|
||||
libs = _getURLParameters.libs;
|
||||
example = _getURLParameters.example;
|
||||
|
||||
loadLib(libs)
|
||||
.then(function (result) {
|
||||
loaddLib = loaddLib.concat(result);
|
||||
loadCode(code, example);
|
||||
})
|
||||
.catch(function (err) {
|
||||
console.error(err);
|
||||
});
|
||||
}
|
||||
|
||||
function restart() {
|
||||
var libs = encodeURIComponent($lib.value);
|
||||
var code = encodeURIComponent(editor.getValue());
|
||||
var url = window.location.origin + window.location.pathname + '?libs=' + libs + '&code=' + code;
|
||||
history.pushState(null, null, url);
|
||||
initApp();
|
||||
}
|
||||
|
||||
$run.addEventListener('click', function () {
|
||||
restart();
|
||||
});
|
||||
|
||||
$popups.addEventListener('click', function (event) {
|
||||
if (event.target === this) {
|
||||
this.style.display = 'none';
|
||||
}
|
||||
});
|
||||
|
||||
window.addEventListener('error', function (err) {
|
||||
console.error(err);
|
||||
});
|
||||
|
||||
window.addEventListener('unhandledrejection', function (err) {
|
||||
console.error(err);
|
||||
});
|
||||
|
||||
document.addEventListener('keydown', function (event) {
|
||||
if ((event.ctrlKey || event.metaKey) && event.key === 's') {
|
||||
event.preventDefault();
|
||||
restart();
|
||||
}
|
||||
});
|
||||
})();
|
||||
})
|
||||
})()
|
||||
+97
-66
@@ -1,69 +1,100 @@
|
||||
var vConsole = new VConsole();
|
||||
(function () {
|
||||
Artplayer.DEBUG = true;
|
||||
|
||||
var art = new Artplayer({
|
||||
container: '.artplayer-app',
|
||||
url: 'https://artplayer.org/assets/sample/video.mp4',
|
||||
title: 'One More Time One More Chance',
|
||||
poster: '/assets/sample/poster.jpg',
|
||||
autoSize: true,
|
||||
loop: true,
|
||||
mutex: true,
|
||||
theme: '#ffad00',
|
||||
fullscreen: true,
|
||||
fullscreenWeb: true,
|
||||
miniProgressBar: true,
|
||||
moreVideoAttr: {
|
||||
playsInline: true,
|
||||
'webkit-playsinline': true,
|
||||
'x5-video-player-type': 'h5',
|
||||
'x5-video-player-fullscreen': false,
|
||||
'x5-video-orientation': 'portraint',
|
||||
},
|
||||
subtitle: {
|
||||
url: '/assets/sample/subtitle.srt',
|
||||
style: {
|
||||
color: '#fff',
|
||||
fontSize: '14px',
|
||||
},
|
||||
},
|
||||
layers: [
|
||||
{
|
||||
html: `<img style="width: 50px" src="/assets/sample/layer.png">`,
|
||||
click: function () {
|
||||
console.info('You clicked on the custom layer');
|
||||
},
|
||||
style: {
|
||||
position: 'absolute',
|
||||
top: '10px',
|
||||
right: '10px',
|
||||
opacity: '.9',
|
||||
},
|
||||
},
|
||||
],
|
||||
icons: {
|
||||
loading: '<img src="./assets/img/ploading.gif">',
|
||||
state: '<img src="./assets/img/state.svg">',
|
||||
},
|
||||
plugins: [
|
||||
artplayerPluginDanmuku({
|
||||
danmuku: '/assets/sample/danmuku.xml',
|
||||
speed: 5,
|
||||
maxlength: 100,
|
||||
margin: [10, 70],
|
||||
opacity: 1,
|
||||
fontSize: 14,
|
||||
synchronousPlayback: false,
|
||||
}),
|
||||
],
|
||||
whitelist: ['*'],
|
||||
});
|
||||
function getURLParameters(url) {
|
||||
return (url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce(function (a, v) {
|
||||
return (a[v.slice(0, v.indexOf('='))] = v.slice(v.indexOf('=') + 1)), a;
|
||||
}, {});
|
||||
}
|
||||
|
||||
Artplayer.config.events.forEach(function (item) {
|
||||
art.on('video:' + item, function (event) {
|
||||
console.log('video: ' + event.type);
|
||||
});
|
||||
});
|
||||
function getExt(url) {
|
||||
if (url.includes('?')) {
|
||||
return getExt(url.split('?')[0]);
|
||||
}
|
||||
|
||||
if (Artplayer.utils.isWechat) {
|
||||
document.querySelector('.tip').textContent = '微信环境需手动触发播放';
|
||||
}
|
||||
if (url.includes('#')) {
|
||||
return getExt(url.split('#')[0]);
|
||||
}
|
||||
|
||||
return url.trim().toLowerCase().split('.').pop();
|
||||
}
|
||||
|
||||
function loadScript(url) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
var define2 = window.define;
|
||||
window.define = undefined;
|
||||
var script = document.createElement('script');
|
||||
script.type = 'text/javascript';
|
||||
script.src = url;
|
||||
script.onload = function () {
|
||||
window.define = define2;
|
||||
resolve(url);
|
||||
};
|
||||
script.onerror = function () {
|
||||
reject(new Error('Loading script failed:' + url));
|
||||
};
|
||||
document.querySelector('head').appendChild(script);
|
||||
});
|
||||
}
|
||||
|
||||
function loadStyle(url) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
var link = document.createElement('link');
|
||||
link.rel = 'stylesheet';
|
||||
link.href = url;
|
||||
link.onload = function () {
|
||||
resolve(url);
|
||||
};
|
||||
link.onerror = function () {
|
||||
reject(new Error('Loading style failed:' + url));
|
||||
};
|
||||
document.querySelector('head').appendChild(link);
|
||||
});
|
||||
}
|
||||
|
||||
function loadLib(libs) {
|
||||
var libPromise = [];
|
||||
var libsDecode = decodeURIComponent(libs || '');
|
||||
libsDecode
|
||||
.split(/\r?\n/)
|
||||
.forEach(function (url) {
|
||||
var ext = getExt(url);
|
||||
if (ext === 'js') {
|
||||
libPromise.push(loadScript(url));
|
||||
} else if (ext === 'css') {
|
||||
libPromise.push(loadStyle(url));
|
||||
}
|
||||
});
|
||||
return Promise.all(libPromise);
|
||||
}
|
||||
|
||||
function runExample(name) {
|
||||
fetch('./assets/example/' + name + '.js')
|
||||
.then(function (response) {
|
||||
return response.text();
|
||||
})
|
||||
.then(function (text) {
|
||||
eval(text);
|
||||
})
|
||||
}
|
||||
|
||||
function loadCode(code, example) {
|
||||
if (example) {
|
||||
runExample(example);
|
||||
} else if (code) {
|
||||
eval(decodeURIComponent(code).trim());
|
||||
} else {
|
||||
runExample('mobile');
|
||||
}
|
||||
}
|
||||
|
||||
var _getURLParameters = getURLParameters(window.location.href),
|
||||
code = _getURLParameters.code,
|
||||
libs = _getURLParameters.libs;
|
||||
example = _getURLParameters.example;
|
||||
|
||||
loadLib(libs)
|
||||
.then(function () {
|
||||
loadCode(code, example);
|
||||
})
|
||||
})();
|
||||
@@ -1,13 +0,0 @@
|
||||
/**
|
||||
* core-js 3.19.2
|
||||
* https://github.com/zloirock/core-js
|
||||
* License: http://rock.mit-license.org
|
||||
* © 2021 Denis Pushkarev (zloirock.ru)
|
||||
*/
|
||||
!function(t){"use strict";var r,e,n;r=[function(t,r,e){e(1),e(84),e(85),e(86),e(87),e(88),e(89),e(90),e(91),e(92),e(93),e(94),e(95),e(96),e(97),e(98),e(113),e(115),e(117),e(119),e(121),e(123),e(124),e(125),e(126),e(128),e(129),e(131),e(135),e(136),e(137),e(138),e(142),e(143),e(145),e(146),e(147),e(150),e(151),e(152),e(153),e(154),e(159),e(161),e(162),e(163),e(164),e(171),e(173),e(176),e(177),e(178),e(179),e(180),e(181),e(185),e(186),e(188),e(189),e(190),e(192),e(193),e(194),e(195),e(196),e(197),e(205),e(207),e(208),e(209),e(211),e(212),e(214),e(215),e(217),e(218),e(219),e(220),e(221),e(222),e(223),e(224),e(225),e(226),e(227),e(231),e(232),e(234),e(236),e(237),e(238),e(239),e(240),e(242),e(244),e(245),e(246),e(248),e(249),e(251),e(252),e(253),e(254),e(256),e(257),e(258),e(259),e(260),e(261),e(262),e(263),e(265),e(266),e(267),e(268),e(269),e(270),e(271),e(272),e(273),e(274),e(276),e(277),e(278),e(279),e(291),e(292),e(293),e(294),e(295),e(296),e(297),e(298),e(300),e(301),e(302),e(303),e(304),e(305),e(306),e(307),e(308),e(309),e(315),e(316),e(318),e(319),e(320),e(321),e(322),e(323),e(324),e(326),e(329),e(330),e(331),e(332),e(336),e(337),e(339),e(340),e(341),e(342),e(344),e(345),e(346),e(347),e(348),e(349),e(351),e(352),e(353),e(356),e(357),e(358),e(359),e(360),e(361),e(362),e(363),e(364),e(365),e(366),e(367),e(368),e(374),e(375),e(376),e(377),e(378),e(379),e(380),e(381),e(382),e(383),e(384),e(385),e(386),e(390),e(391),e(392),e(393),e(394),e(395),e(396),e(397),e(398),e(399),e(400),e(401),e(402),e(403),e(404),e(405),e(406),e(407),e(408),e(409),e(410),e(411),e(412),e(414),e(415),e(416),e(423),e(424),e(425),e(426),e(428),e(429),e(431),e(432),e(433),e(434),e(436),e(437),e(439),e(440),e(441),e(442),e(443),e(444),e(445),e(446),e(447),e(448),e(449),e(450),e(451),e(453),e(455),e(456),e(457),e(458),e(460),e(461),e(462),e(463),e(464),e(465),e(466),e(467),e(468),e(469),e(470),e(471),e(472),e(474),e(476),e(478),e(479),e(480),e(481),e(483),e(484),e(486),e(487),e(488),e(489),e(490),e(491),e(493),e(494),e(495),e(496),e(498),e(499),e(500),e(501),e(502),e(504),e(505),e(506),e(507),e(508),e(509),e(510),e(511),e(512),e(513),e(514),e(515),e(516),e(518),e(519),e(520),e(521),e(522),e(523),e(524),e(526),e(527),e(528),e(529),e(530),e(531),e(532),e(533),e(534),e(536),e(537),e(538),e(540),e(541),e(542),e(543),e(544),e(545),e(546),e(547),e(548),e(549),e(550),e(551),e(552),e(553),e(554),e(555),e(556),e(557),e(558),e(559),e(560),e(561),e(562),e(563),e(564),e(565),e(566),e(567),e(568),e(569),e(570),e(571),e(572),e(573),e(574),e(575),e(576),e(577),e(578),e(579),e(580),e(581),e(582),e(585),e(586),e(587),e(588),e(589),e(593),t.exports=e(592)},function(r,e,n){var o,i=n(2),a=n(3),u=n(20),f=n(62),c=n(7),s=n(12),l=n(32),h=n(5),p=n(23),g=n(6),v=n(35),d=n(63),y=n(18),m=n(17),x=n(21),b=n(19),w=n(42),S=n(36),A=n(10),I=n(15),E=n(64),R=n(9),T=n(67),O=n(69),M=n(52),P=n(71),j=n(60),N=n(4),k=n(41),_=n(8),U=n(74),L=n(43),D=n(31),C=n(47),B=n(48),z=n(37),W=n(30),q=n(75),G=n(76),V=n(78),Y=n(45),K=n(79).forEach,H=C("hidden"),$="Symbol",J=W("toPrimitive"),X=Y.set,Q=Y.getterFor($),Z=Object.prototype,tt=a.Symbol,rt=tt&&tt.prototype,et=a.TypeError,nt=a.QObject,ot=u("JSON","stringify"),it=N.f,ut=k.f,ft=P.f,ct=_.f,st=s([].push),lt=D("symbols"),ht=D("op-symbols"),pt=D("string-to-symbol-registry"),gt=D("symbol-to-string-registry"),vt=D("wks"),dt=!nt||!nt.prototype||!nt.prototype.findChild,yt=h&&g((function(){return 7!=T(ut({},"a",{get:function(){return ut(this,"a",{value:7}).a}})).a}))?function(t,r,e){var n=it(Z,r);n&&delete Z[r],ut(t,r,e),n&&t!==Z&&ut(Z,r,n)}:ut,wrap=function(t,r){var e=lt[t]=T(rt);return X(e,{type:$,tag:t,description:r}),h||(e.description=r),e},mt=function defineProperty(t,r,e){t===Z&&mt(ht,r,e),w(t);var n=I(r);return w(e),v(lt,n)?(e.enumerable?(v(t,H)&&t[H][n]&&(t[H][n]=!1),e=T(e,{enumerable:R(0,!1)})):(v(t,H)||ut(t,H,R(1,{})),t[H][n]=!0),yt(t,n,e)):ut(t,n,e)},xt=function defineProperties(t,r){var e,n;return w(t),e=A(r),n=O(e).concat(At(e)),K(n,(function(r){h&&!c(bt,e,r)||mt(t,r,e[r])})),t},bt=function propertyIsEnumerable(t){var r=I(t),e=c(ct,this,r);return!(this===Z&&v(lt,r)&&!v(ht,r))&&(!(e||!v(this,r)||!v(lt,r)||v(this,H)&&this[H][r])||e)},wt=function getOwnPropertyDescriptor(t,r){var e,n=A(t),o=I(r);if(n!==Z||!v(lt,o)||v(ht,o))return!(e=it(n,o))||!v(lt,o)||v(n,H)&&n[H][o]||(e.enumerable=!0),e},St=function getOwnPropertyNames(t){var r=ft(A(t)),e=[];return K(r,(function(t){v(lt,t)||v(B,t)||st(e,t)})),e},At=function getOwnPropertySymbols(t){var r=t===Z,e=ft(r?ht:A(t)),n=[];return K(e,(function(t){!v(lt,t)||r&&!v(Z,t)||st(n,lt[t])})),n};p||(tt=function Symbol(){var r,e,n;if(x(rt,this))throw et("Symbol is not a constructor");return r=arguments.length&&arguments[0]!==t?E(arguments[0]):t,e=z(r),n=function(t){this===Z&&c(n,ht,t),v(this,H)&&v(this[H],e)&&(this[H][e]=!1),yt(this,e,R(1,t))},h&&dt&&yt(Z,e,{configurable:!0,set:n}),wrap(e,r)},L(rt=tt.prototype,"toString",(function toString(){return Q(this).tag})),L(tt,"withoutSetter",(function(t){return wrapLine truncated
|
||||
})}),(function(){var r=l(this),e=r.target,n=r.kind,o=r.index++;return!e||o>=e.length?(r.target=t,{value:t,done:!0}):"keys"==n?{value:o,done:!1}:"values"==n?{value:e[o],done:!1}:{value:[o,e[o]],done:!1}}),"values"),a.Arguments=a.Array,i("keys"),i("values"),i("entries")},function(t,r,e){var n=e(2),o=e(7),i=e(32),a=e(49),u=e(18),f=e(140),c=e(99),s=e(101),l=e(78),h=e(40),p=e(43),g=e(30),v=e(107),d=e(141),y=a.PROPER,m=a.CONFIGURABLE,x=d.IteratorPrototype,b=d.BUGGY_SAFARI_ITERATORS,w=g("iterator"),S="keys",A="values",I="entries",returnThis=function(){return this};t.exports=function(t,r,e,a,g,d,E){var R,T,O,M,P,j,N,k,_,U;if(f(e,r,a),R=function(t){if(t===g&&j)return j;if(!b&&t in M)return M[t];switch(t){case S:return function keys(){return new e(this,t)};case A:return function values(){return new e(this,t)};case I:return function entries(){return new e(this,t)}}return function(){return new e(this)}},T=r+" Iterator",O=!1,P=(M=t.prototype)[w]||M["@@iterator"]||g&&M[g],j=!b&&P||R(g),(N="Array"==r&&M.entries||P)&&(k=c(N.call(new t)))!==Object.prototype&&k.next&&(i||c(k)===x||(s?s(k,x):u(k[w])||p(k,w,returnThis)),l(k,T,!0,!0),i&&(v[T]=returnThis)),y&&g==A&&P&&P.name!==A&&(!i&&m?h(M,"name",A):(O=!0,j=function values(){return o(P,this)})),g)if(_={values:R(A),keys:d?j:R(S),entries:R(I)},E)for(U in _)(b||O||!(U in M))&&p(M,U,_[U]);else n({target:r,proto:!0,forced:b||O},_);return i&&!E||M[w]===j||p(M,w,j,{name:g}),v[r]=j,_}},function(t,r,e){var n=e(141).IteratorPrototype,o=e(67),i=e(9),a=e(78),u=e(107),returnThis=function(){return this};t.exports=function(t,r,e){var f=r+" Iterator";return t.prototype=o(n,{next:i(1,e)}),a(t,f,!1,!0),u[f]=returnThis,t}},function(r,e,n){var o,i,a,u=n(6),f=n(18),c=n(67),s=n(99),l=n(43),h=n(30),p=n(32),g=h("iterator"),v=!1;[].keys&&("next"in(a=[].keys())?(i=s(s(a)))!==Object.prototype&&(o=i):v=!0),o==t||u((function(){var t={};return o[g].call(t)!==t}))?o={}:p&&(o=c(o)),f(o[g])||l(o,g,(function(){return this})),r.exports={IteratorPrototype:o,BUGGY_SAFARI_ITERATORS:v}},function(r,e,n){var o=n(2),i=n(12),a=n(11),u=n(10),f=n(120),c=i([].join),s=a!=Object,l=f("join",",");o({target:"Array",proto:!0,forced:s||!l},{join:function join(r){return c(u(this),r===t?",":r)}})},function(t,r,e){var n=e(2),o=e(144);n({target:"Array",proto:!0,forced:o!==[].lastIndexOf},{lastIndexOf:o})},function(t,r,e){var n=e(62),o=e(10),i=e(56),a=e(57),u=e(120),f=Math.min,c=[].lastIndexOf,s=!!c&&1/[1].lastIndexOf(1,-0)<0,l=u("lastIndexOf");t.exports=s||!l?function lastIndexOf(t){var r,e,u;if(s)return n(c,this,arguments)||0;for(r=o(this),u=(e=a(r))-1,arguments.length>1&&(u=f(u,i(arguments[1]))),u<0&&(u=e+u);u>=0;u--)if(u in r&&r[u]===t)return u||0;return-1}:c},function(r,e,n){var o=n(2),i=n(79).map;o({target:"Array",proto:!0,forced:!n(116)("map")},{map:function map(r){return i(this,r,arguments.length>1?arguments[1]:t)}})},function(t,r,e){var n=e(2),o=e(3),i=e(6),a=e(83),u=e(73),f=o.Array;n({target:"Array",stat:!0,forced:i((function(){function F(){}return!(f.of.call(F)instanceof F)}))},{of:function of(){for(var t=0,r=arguments.length,e=new(a(this)?this:f)(r);r>t;)u(e,t,arguments[t++]);return e.length=r,e}})},function(r,e,n){var o=n(2),i=n(148).left,a=n(120),u=n(24),f=n(149);o({target:"Array",proto:!0,forced:!a("reduce")||!f&&u>79&&u<83},{reduce:function reduce(r){var e=arguments.length;return i(this,r,e,e>1?arguments[1]:t)}})},function(t,r,e){var n=e(3),o=e(27),i=e(36),a=e(11),u=e(57),f=n.TypeError,createMethod=function(t){return function(r,e,n,c){var s,l,h,p,g;if(o(e),s=i(r),l=a(s),h=u(s),p=t?h-1:0,g=t?-1:1,n<2)for(;;){if(p in l){c=l[p],p+=g;break}if(p+=g,t?p<0:h<=p)throw f("Reduce of empty array with no initial value")}for(;t?p>=0:h>p;p+=g)p in l&&(c=e(c,l[p],p,s));return c}};t.exports={left:createMethod(!1),right:createMethod(!0)}},function(t,r,e){var n=e(13),o=e(3);t.exports="process"==n(o.process)},function(r,e,n){var o=n(2),i=n(148).right,a=n(120),u=n(24),f=n(149);o({target:"Array",proto:!0,forced:!a("reduceRight")||!f&&u>79&&u<83},{reduceRight:function reduceRight(r){return i(this,r,arguments.length,arguments.length>1?arguments[1]:t)}})},function(t,r,e){var n=e(2),o=e(12),i=e(63),a=o([].reverse),u=[1,2];n({target:"Array",proto:!0,forced:String(u)===String(u.reverse())},{reverse:function reverse(){return i(this)&&(this.length=this.length),a(this)}})},function(r,e,n){var o=n(2),i=n(3),a=n(63),u=n(83),f=n(17),c=n(55),s=n(57),l=n(10),h=n(73),p=n(30),g=n(116),v=n(74),d=g("slice"),y=p("species"),m=i.Array,x=Math.max;o({target:"Array",proto:!0,forced:!d},{slice:function slice(r,e){var n,o,i,p=l(this),g=s(p),d=c(r,g),b=c(e===t?g:e,g);if(a(p)&&((u(n=p.constructor)&&(n===m||a(n.prototype))||f(n)&&null===(n=n[y]))&&(n=t),n===m||n===t))return v(p,d,b);for(o=new(n===t?m:n)(x(b-d,0)),i=0;d<b;d++,i++)d in p&&h(o,i,p[d]);return o.length=i,o}})},function(r,e,n){var o=n(2),i=n(79).some;o({target:"Array",proto:!0,forced:!n(120)("some")},{some:function some(r){return i(this,r,arguments.length>1?arguments[1]:t)}})},function(r,e,n){var o=n(2),i=Line truncated
|
||||
})},function(t,r,e){var n=e(3),o=e(6),i=e(12),a=e(64),u=e(229).trim,f=e(230),c=n.parseInt,s=n.Symbol,l=s&&s.iterator,h=/^[+-]?0x/i,p=i(h.exec),g=8!==c(f+"08")||22!==c(f+"0x16")||l&&!o((function(){c(Object(l))}));t.exports=g?function parseInt(t,r){var e=u(a(t));return c(e,r>>>0||(p(h,e)?16:10))}:c},function(t,r,e){var n=e(2),o=e(3),i=e(12),a=e(56),u=e(228),f=e(184),c=e(6),s=o.RangeError,l=o.String,h=Math.floor,p=i(f),g=i("".slice),v=i(1..toFixed),pow=function(t,r,e){return 0===r?e:r%2==1?pow(t,r-1,e*t):pow(t*t,r/2,e)},multiply=function(t,r,e){for(var n=-1,o=e;++n<6;)t[n]=(o+=r*t[n])%1e7,o=h(o/1e7)},divide=function(t,r){for(var e=6,n=0;--e>=0;)t[e]=h((n+=t[e])/r),n=n%r*1e7},dataToString=function(t){for(var r,e=6,n="";--e>=0;)""===n&&0!==e&&0===t[e]||(r=l(t[e]),n=""===n?r:n+p("0",7-r.length)+r);return n};n({target:"Number",proto:!0,forced:c((function(){return"0.000"!==v(8e-5,3)||"1"!==v(.9,0)||"1.25"!==v(1.255,2)||"1000000000000000128"!==v(0xde0b6b3a7640080,0)}))||!c((function(){v({})}))},{toFixed:function toFixed(t){var r,e,n,o,i=u(this),f=a(t),c=[0,0,0,0,0,0],h="",v="0";if(f<0||f>20)throw s("Incorrect fraction digits");if(i!=i)return"NaN";if(i<=-1e21||i>=1e21)return l(i);if(i<0&&(h="-",i=-i),i>1e-21)if(e=(r=function(t){for(var r=0,e=t;e>=4096;)r+=12,e/=4096;for(;e>=2;)r+=1,e/=2;return r}(i*pow(2,69,1))-69)<0?i*pow(2,-r,1):i/pow(2,r,1),e*=4503599627370496,(r=52-r)>0){for(multiply(c,0,e),n=f;n>=7;)multiply(c,1e7,0),n-=7;for(multiply(c,pow(10,n,1),0),n=r-1;n>=23;)divide(c,1<<23),n-=23;divide(c,1<<n),multiply(c,1,1),divide(c,2),v=dataToString(c)}else multiply(c,0,e),multiply(c,1<<-r,0),v=dataToString(c)+p("0",f);return f>0?h+((o=v.length)<=f?"0."+p("0",f-o)+v:g(v,0,o-f)+"."+g(v,o-f)):h+v}})},function(r,e,n){var o=n(2),i=n(12),a=n(6),u=n(228),f=i(1..toPrecision);o({target:"Number",proto:!0,forced:a((function(){return"1"!==f(1,t)}))||!a((function(){f({})}))},{toPrecision:function toPrecision(r){return r===t?f(u(this)):f(u(this),r)}})},function(t,r,e){var n=e(2),o=e(247);n({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},function(t,r,e){var n=e(5),o=e(12),i=e(7),a=e(6),u=e(69),f=e(60),c=e(8),s=e(36),l=e(11),h=Object.assign,p=Object.defineProperty,g=o([].concat);t.exports=!h||a((function(){var t,r,e,o;return!(!n||1===h({b:1},h(p({},"a",{enumerable:!0,get:function(){p(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)||(r={},o="abcdefghijklmnopqrst",(t={})[e=Symbol()]=7,o.split("").forEach((function(t){r[t]=t})),7!=h({},t)[e]||u(h({},r)).join("")!=o)}))?function assign(t,r){for(var e,o,a,h,p,v=s(t),d=arguments.length,y=1,m=f.f,x=c.f;d>y;)for(e=l(arguments[y++]),a=(o=m?g(u(e),m(e)):u(e)).length,h=0;a>h;)p=o[h++],n&&!i(x,e,p)||(v[p]=e[p]);return v}:h},function(t,r,e){e(2)({target:"Object",stat:!0,sham:!e(5)},{create:e(67)})},function(t,r,e){var n=e(2),o=e(5),i=e(250),a=e(27),u=e(36),f=e(41);o&&n({target:"Object",proto:!0,forced:i},{__defineGetter__:function __defineGetter__(t,r){f.f(u(this),t,{get:a(r),enumerable:!0,configurable:!0})}})},function(t,r,e){var n=e(32),o=e(3),i=e(6),a=e(158);t.exports=n||!i((function(){if(!(a&&a<535)){var t=Math.random();__defineSetter__.call(null,t,(function(){})),delete o[t]}}))},function(t,r,e){var n=e(2),o=e(5);n({target:"Object",stat:!0,forced:!o,sham:!o},{defineProperties:e(68)})},function(t,r,e){var n=e(2),o=e(5);n({target:"Object",stat:!0,forced:!o,sham:!o},{defineProperty:e(41).f})},function(t,r,e){var n=e(2),o=e(5),i=e(250),a=e(27),u=e(36),f=e(41);o&&n({target:"Object",proto:!0,forced:i},{__defineSetter__:function __defineSetter__(t,r){f.f(u(this),t,{set:a(r),enumerable:!0,configurable:!0})}})},function(t,r,e){var n=e(2),o=e(255).entries;n({target:"Object",stat:!0},{entries:function entries(t){return o(t)}})},function(t,r,e){var n=e(5),o=e(12),i=e(69),a=e(10),u=o(e(8).f),f=o([].push),createMethod=function(t){return function(r){for(var e,o=a(r),c=i(o),s=c.length,l=0,h=[];s>l;)e=c[l++],n&&!u(o,e)||f(h,t?[e,o[e]]:o[e]);return h}};t.exports={entries:createMethod(!0),values:createMethod(!1)}},function(t,r,e){var n=e(2),o=e(202),i=e(6),a=e(17),u=e(199).onFreeze,f=Object.freeze;n({target:"Object",stat:!0,forced:i((function(){f(1)})),sham:!o},{freeze:function freeze(t){return f&&a(t)?f(u(t)):t}})},function(t,r,e){var n=e(2),o=e(105),i=e(73);n({target:"Object",stat:!0},{fromEntries:function fromEntries(t){var r={};return o(t,(function(t,e){i(r,t,e)}),{AS_ENTRIES:!0}),r}})},function(t,r,e){var n=e(2),o=e(6),i=e(10),a=e(4).f,u=e(5),f=o((function(){a(1)}));n({target:"Object",stat:!0,forced:!u||f,sham:!u},{getOwnPropertyDescriptor:function getOwnPropertyDescriptor(t,r){return a(i(t),r)}})},function(r,e,n){var o=n(2),i=n(5),a=n(51),u=n(10),f=n(4),c=n(73);o({target:"Object",stat:!0,sham:!i},{getOwnPropertyDescriptors:function getOwnPropertyDescriptors(r){for(var e,n,o=u(r),i=f.f,s=a(o),l={},h=0;s.length>h;)(n=i(o,e=s[h++]))!==t&&c(l,e,n);return l}})},function(t,r,e){var n=e(2),o=e(6),i=e(71).f;n({target:"Object",stat:!0,forced:o((function(){return!Object.getOwnPropertyNames(1)}))},Line truncated
|
||||
;if("string"==typeof i&&-1===I(i,a)&&-1===I(i,"$<")&&(u=n(e,C,B,i)).done)return u.value;for((f=s(i))||(i=p(i)),(g=C.global)&&(d=C.unicode,C.lastIndex=0),x=[];null!==(R=m(C,B))&&(A(x,R),g);)""===p(R[0])&&(C.lastIndex=v(B,h(C.lastIndex),d));for(T="",O=0,M=0;M<x.length;M++){for(P=p((R=x[M])[0]),j=b(w(l(R.index),B.length),0),N=[],k=1;k<R.length;k++)A(N,(D=R[k])===t?D:String(D));_=R.groups,f?(U=S([P],N,j,B),_!==t&&A(U,_),L=p(o(i,t,U))):L=y(P,B,j,N,_,i),j>=O&&(T+=E(B,O,j)+L,O=j+P.length)}return T+E(B,O)}]}),!!f((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")}))||!R||T)},function(r,e,n){var o=n(12),i=n(36),a=Math.floor,u=o("".charAt),f=o("".replace),c=o("".slice),s=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,l=/\$([$&'`]|\d{1,2})/g;r.exports=function(r,e,n,o,h,p){var g=n+r.length,v=o.length,d=l;return h!==t&&(h=i(h),d=s),f(p,d,(function(i,f){var s,l,p;switch(u(f,0)){case"$":return"$";case"&":return r;case"`":return c(e,0,n);case"'":return c(e,g);case"<":s=h[c(f,1,-1)];break;default:if(0==(l=+f))return i;if(l>v)return 0===(p=a(l/10))?i:p<=v?o[p-1]===t?u(f,1):o[p-1]+u(f,1):i;s=o[l-1]}return s===t?"":s}))}},function(r,e,n){var o=n(2),i=n(3),a=n(7),u=n(12),f=n(14),c=n(18),s=n(310),l=n(64),h=n(26),p=n(311),g=n(343),v=n(30),d=n(32),y=v("replace"),m=RegExp.prototype,x=i.TypeError,b=u(p),w=u("".indexOf),S=u("".replace),A=u("".slice),I=Math.max,stringIndexOf=function(t,r,e){return e>t.length?-1:""===r?e:w(t,r,e)};o({target:"String",proto:!0},{replaceAll:function replaceAll(r,e){var n,o,i,u,p,v,E,R,T,O=f(this),M=0,P=0,j="";if(null!=r){if((n=s(r))&&(o=l(f("flags"in m?r.flags:b(r))),!~w(o,"g")))throw x("`.replaceAll` does not allow non-global regexes");if(i=h(r,y))return a(i,r,O,e);if(d&&n)return S(l(O),r,e)}for(u=l(O),p=l(r),(v=c(e))||(e=l(e)),R=I(1,E=p.length),M=stringIndexOf(u,p,0);-1!==M;)T=v?l(e(p,M,u)):g(p,u,M,[],t,e),j+=A(u,P,M)+T,P=M+E,M=stringIndexOf(u,p,M+R);return P<u.length&&(j+=A(u,P)),j}})},function(r,e,n){var o=n(7),i=n(333),a=n(42),u=n(14),f=n(264),c=n(64),s=n(26),l=n(335);i("search",(function(r,e,n){return[function search(e){var n=u(this),i=e==t?t:s(e,r);return i?o(i,e,n):new RegExp(e)[r](c(n))},function(t){var r,o,i=a(this),u=c(t),s=n(e,i,u);return s.done?s.value:(f(r=i.lastIndex,0)||(i.lastIndex=0),o=l(i,u),f(i.lastIndex,r)||(i.lastIndex=r),null===o?-1:o.index)}]}))},function(r,e,n){var o=n(62),i=n(7),a=n(12),u=n(333),f=n(310),c=n(42),s=n(14),l=n(174),h=n(334),p=n(58),g=n(64),v=n(26),d=n(72),y=n(335),m=n(317),x=n(312),b=n(6),w=x.UNSUPPORTED_Y,S=4294967295,A=Math.min,I=[].push,E=a(/./.exec),R=a(I),T=a("".slice),O=!b((function(){var t,r=/(?:)/,e=r.exec;return r.exec=function(){return e.apply(this,arguments)},2!==(t="ab".split(r)).length||"a"!==t[0]||"b"!==t[1]}));u("split",(function(r,e,n){var a;return a="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(r,n){var a,u,c,l,h,p,v=g(s(this)),y=n===t?S:n>>>0;if(0===y)return[];if(r===t)return[v];if(!f(r))return i(e,v,r,y);for(a=[],u=0,c=new RegExp(r.source,(r.ignoreCase?"i":"")+(r.multiline?"m":"")+(r.unicode?"u":"")+(r.sticky?"y":"")+"g");(l=i(m,c,v))&&!((h=c.lastIndex)>u&&(R(a,T(v,u,l.index)),l.length>1&&l.index<v.length&&o(I,a,d(l,1)),p=l[0].length,u=h,a.length>=y));)c.lastIndex===l.index&&c.lastIndex++;return u===v.length?!p&&E(c,"")||R(a,""):R(a,T(v,u)),a.length>y?d(a,0,y):a}:"0".split(t,0).length?function(r,n){return r===t&&0===n?[]:i(e,this,r,n)}:e,[function split(e,n){var o=s(this),u=e==t?t:v(e,r);return u?i(u,e,o,n):i(a,g(o),e,n)},function(r,o){var i,u,f,s,v,d,m,x,b,I,E=c(this),O=g(r),M=n(a,E,O,o,a!==e);if(M.done)return M.value;if(i=l(E,RegExp),u=E.unicode,f=new i(w?"^(?:"+E.source+")":E,(E.ignoreCase?"i":"")+(E.multiline?"m":"")+(E.unicode?"u":"")+(w?"g":"y")),0===(s=o===t?S:o>>>0))return[];if(0===O.length)return null===y(f,O)?[O]:[];for(v=0,d=0,m=[];d<O.length;)if(f.lastIndex=w?0:d,null===(x=y(f,w?T(O,d):O))||(b=A(p(f.lastIndex+(w?d:0)),O.length))===v)d=h(O,d,u);else{if(R(m,T(O,v,d)),m.length===s)return m;for(I=1;I<=x.length-1;I++)if(R(m,x[I]),m.length===s)return m;d=v=b}return R(m,T(O,v)),m}]}),!O,w)},function(r,e,n){var o,i=n(2),a=n(12),u=n(4).f,f=n(58),c=n(64),s=n(327),l=n(14),h=n(328),p=n(32),g=a("".startsWith),v=a("".slice),d=Math.min,y=h("startsWith");i({target:"String",proto:!0,forced:!(!p&&!y&&(o=u(String.prototype,"startsWith"),o&&!o.writable)||y)},{startsWith:function startsWith(r){var e,n,o=c(l(this));return s(r),e=f(d(arguments.length>1?arguments[1]:t,o.length)),n=c(r),g?g(o,n,e):v(o,e,e+n.length)===n}})},function(r,e,n){var o=n(2),i=n(12),a=n(14),u=n(56),f=n(64),c=i("".slice),s=Math.max,l=Math.min;o({target:"String",proto:!0,forced:!"".substr||"b"!=="ab".substr(-1)},{substr:function substr(r,e){var n,o,i=f(a(this)),h=i.length,p=u(r);return p===Infinity&&(p=0),p<0&&(p=s(h+p,0)),(n=e===t?h:u(e))<=0||n===Infinity||p>=(o=l(p+n,h))?"":c(i,p,o)}})},function(t,r,eLine truncated
|
||||
from:function from(r){var e,n=u(r),o=g(n,y);return o&&(e=l(n,o),f(c,e))?e:e===t&&(o=p(n))?new d(h(n,o)):new m({iterator:e!==t?e:n})}})},function(r,e,n){var o=n(2),i=n(62),a=n(27),u=n(42),f=n(438)((function(r,e){var n=this,o=n.mapper;return r.resolve(u(i(n.next,n.iterator,e))).then((function(e){return u(e).done?(n.done=!0,{done:!0,value:t}):r.resolve(o(e.value)).then((function(t){return{done:!1,value:t}}))}))}));o({target:"AsyncIterator",proto:!0,real:!0},{map:function map(t){return new f({iterator:u(this),mapper:a(t)})}})},function(r,e,n){var o=n(2),i=n(3),a=n(7),u=n(27),f=n(42),c=n(20)("Promise"),s=i.TypeError;o({target:"AsyncIterator",proto:!0,real:!0},{reduce:function reduce(r){var e=f(this),n=u(e.next),o=arguments.length<2,i=o?t:arguments[1];return u(r),new c((function(t,u){var loop=function(){try{c.resolve(f(a(n,e))).then((function(e){try{if(f(e).done)o?u(s("Reduce of empty iterator with no initial value")):t(i);else{var n=e.value;o?(o=!1,i=n,loop()):c.resolve(r(i,n)).then((function(t){i=t,loop()}),u)}}catch(a){u(a)}}),u)}catch(l){u(l)}};loop()}))}})},function(t,r,e){var n=e(2),o=e(422).some;n({target:"AsyncIterator",proto:!0,real:!0},{some:function some(t){return o(this,t)}})},function(r,e,n){var o=n(2),i=n(62),a=n(7),u=n(42),f=n(372),c=n(438)((function(r,e){var n,o,u=this.iterator;return this.remaining--?i(this.next,u,e):(o={done:!0,value:t},this.done=!0,(n=u["return"])!==t?r.resolve(a(n,u)).then((function(){return o})):o)}));o({target:"AsyncIterator",proto:!0,real:!0},{take:function take(t){return new c({iterator:u(this),remaining:f(t)})}})},function(r,e,n){var o=n(2),i=n(422).toArray;o({target:"AsyncIterator",proto:!0,real:!0},{toArray:function toArray(){return i(this,t,[])}})},function(t,r,e){var n=e(2),o=e(452);"function"==typeof BigInt&&n({target:"BigInt",stat:!0},{range:function range(t,r,e){return new o(t,r,e,"bigint",BigInt(0),BigInt(1))}})},function(r,e,n){var o=n(3),i=n(45),a=n(140),u=n(17),f=n(68),c=n(5),s="Incorrect Number.range arguments",l="NumericRangeIterator",h=i.set,p=i.getterFor(l),g=o.RangeError,v=o.TypeError,d=a((function NumericRangeIterator(r,e,n,o,i,a){var f,p,d;if(typeof r!=o||e!==Infinity&&e!==-Infinity&&typeof e!=o)throw new v(s);if(r===Infinity||r===-Infinity)throw new g(s);if(f=e>r,p=!1,n===t)d=t;else if(u(n))d=n.step,p=!!n.inclusive;else{if(typeof n!=o)throw new v(s);d=n}if(null==d&&(d=f?a:-a),typeof d!=o)throw new v(s);if(d===Infinity||d===-Infinity||d===i&&r!==e)throw new g(s);h(this,{type:l,start:r,end:e,step:d,inclusiveEnd:p,hitsEnd:r!=r||e!=e||d!=d||e>r!=d>i,currentCount:i,zero:i}),c||(this.start=r,this.end=e,this.step=d,this.inclusive=p)}),l,(function next(){var r,e,n,o,i=p(this);return i.hitsEnd?{value:t,done:!0}:(e=i.end,(n=(r=i.start)+i.step*i.currentCount++)===e&&(i.hitsEnd=!0),o=i.inclusiveEnd,(e>r?o?n>e:n>=e:o?e>n:e>=n)?{value:t,done:i.hitsEnd=!0}:{value:n,done:!1})})),getter=function(t){return{get:t,set:function(){},configurable:!0,enumerable:!1}};c&&f(d.prototype,{start:getter((function(){return p(this).start})),end:getter((function(){return p(this).end})),inclusive:getter((function(){return p(this).inclusiveEnd})),step:getter((function(){return p(this).step}))}),r.exports=d},function(t,r,e){var n=e(2),o=e(3),i=e(62),a=e(454),u=e(20),f=e(67),c=o.Object,initializer=function(){var t=u("Object","freeze");return t?t(f(null)):f(null)};n({global:!0},{compositeKey:function compositeKey(){return i(a,c,arguments).get("object",initializer)}})},function(t,r,e){var n,o,i,a,u,f,c,s,l,h;e(197),e(412),n=e(3),o=e(20),i=e(67),a=e(17),u=n.Object,f=n.TypeError,c=o("Map"),s=o("WeakMap"),(l=function(){this.object=null,this.symbol=null,this.primitives=null,this.objectsByIndex=i(null)}).prototype.get=function(t,r){return this[t]||(this[t]=r())},l.prototype.next=function(t,r,e){var n=e?this.objectsByIndex[t]||(this.objectsByIndex[t]=new s):this.primitives||(this.primitives=new c),o=n.get(r);return o||n.set(r,o=new l),o},h=new l,t.exports=function(){var t,r,e=h,n=arguments.length;for(t=0;t<n;t++)a(r=arguments[t])&&(e=e.next(t,r,!0));if(this===u&&e===h)throw f("Composite keys must contain a non-primitive component");for(t=0;t<n;t++)a(r=arguments[t])||(e=e.next(t,r,!1));return e}},function(t,r,e){var n=e(2),o=e(454),i=e(20),a=e(62);n({global:!0},{compositeSymbol:function compositeSymbol(){return 1==arguments.length&&"string"==typeof arguments[0]?i("Symbol")["for"](arguments[0]):a(o,null,arguments).get("symbol",i("Symbol"))}})},function(t,r,e){e(194)},function(t,r,e){var n=e(2),o=e(3),i=e(168),a=e(18),u=e(40),f=e(6),c=e(35),s=e(30),l=e(141).IteratorPrototype,h=e(32),p=s("toStringTag"),g=o.Iterator,v=h||!a(g)||g.prototype!==l||!f((function(){g({})})),d=function Iterator(){i(this,l)};c(l,p)||u(l,p,"Iterator"),!v&&c(l,"constructor")&&l.constructor!==Object||u(l,"constructor",d),d.prototype=l,n({global:!0,forced:v},{Iterator:d})},function(t,r,e){var n=e(2),o=e(62),i=e(42),a=e(459)((function(t){var r=i(o(this.next,this.iterator,t));if(!(this.done=!!r.done))return[this.index++,r.value]}));Line truncated
|
||||
var o=n(172),i=n(430),a=n(389),u=o.aTypedArray;(0,o.exportTypedArrayMethod)("groupBy",(function groupBy(r){var e=arguments.length>1?arguments[1]:t;return i(u(this),r,e,a)}))},function(t,r,e){var n=e(12),o=e(172),i=e(435),a=e(387),u=o.aTypedArray,f=o.exportTypedArrayMethod,c=n(i);f("uniqueBy",(function uniqueBy(t){return a(this,c(u(this),t))}))},function(t,r,e){e(2)({target:"WeakMap",proto:!0,real:!0,forced:e(32)},{deleteAll:e(473)})},function(t,r,e){e(2)({target:"WeakMap",stat:!0},{from:e(482)})},function(t,r,e){e(2)({target:"WeakMap",stat:!0},{of:e(492)})},function(t,r,e){e(2)({target:"WeakMap",proto:!0,real:!0,forced:e(32)},{emplace:e(475)})},function(t,r,e){e(2)({target:"WeakMap",proto:!0,real:!0,forced:e(32)},{upsert:e(497)})},function(t,r,e){e(2)({target:"WeakSet",proto:!0,real:!0,forced:e(32)},{addAll:e(535)})},function(t,r,e){e(2)({target:"WeakSet",proto:!0,real:!0,forced:e(32)},{deleteAll:e(473)})},function(t,r,e){e(2)({target:"WeakSet",stat:!0},{from:e(482)})},function(t,r,e){e(2)({target:"WeakSet",stat:!0},{of:e(492)})},function(t,r,e){var n,o=e(3),i=e(583),a=e(584),u=e(130),f=e(40),handlePrototype=function(t){if(t&&t.forEach!==u)try{f(t,"forEach",u)}catch(r){t.forEach=u}};for(n in i)i[n]&&handlePrototype(o[n]&&o[n].prototype);handlePrototype(a)},function(t,r){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},function(r,e,n){var o=n(39)("span").classList,i=o&&o.constructor&&o.constructor.prototype;r.exports=i===Object.prototype?t:i},function(t,r,e){var n,o=e(3),i=e(583),a=e(584),u=e(138),f=e(40),c=e(30),s=c("iterator"),l=c("toStringTag"),h=u.values,handlePrototype=function(t,r){if(t){if(t[s]!==h)try{f(t,s,h)}catch(n){t[s]=h}if(t[l]||f(t,l,r),i[r])for(var e in u)if(t[e]!==u[e])try{f(t,e,u[e])}catch(n){t[e]=u[e]}}};for(n in i)handlePrototype(o[n]&&o[n].prototype,n);handlePrototype(a,"DOMTokenList")},function(t,r,e){var n=e(2),o=e(3),i=e(281);n({global:!0,bind:!0,enumerable:!0,forced:!o.setImmediate||!o.clearImmediate},{setImmediate:i.set,clearImmediate:i.clear})},function(t,r,e){var n=e(2),o=e(3),i=e(283),a=e(149),u=o.process;n({global:!0,enumerable:!0,noTargetGet:!0},{queueMicrotask:function queueMicrotask(t){var r=a&&u.domain;i(r?r.bind(t):t)}})},function(r,e,n){var o=n(2),i=n(3),a=n(62),u=n(18),f=n(25),c=n(74),s=/MSIE .\./.test(f),l=i.Function,wrap=function(r){return function(e,n){var o=arguments.length>2,i=o?c(arguments,2):t;return r(o?function(){a(u(e)?e:l(e),this,i)}:e,n)}};o({global:!0,bind:!0,forced:s},{setTimeout:wrap(i.setTimeout),setInterval:wrap(i.setInterval)})},function(r,e,n){var o,i,a,u,f,c,s,l,h,p,g,v,d,y,m,x,b,w,S,A,I,E,R,T,O,M,P,j,N,k,_,U,L,D,C,B,z,W,q,G,V,Y,K,H,$,J,X,Q,Z,tt,rt,et,nt,ot,it,ut,ft,ct,st,lt,ht,pt,gt,vt,dt,yt,mt,xt,bt,wt,St,At,It,Et,Rt,Tt,Ot,Mt,Pt,jt,Nt,kt,_t,Ut,Lt,Ft,Dt,Ct,Bt,zt,Wt,qt,Gt,Vt,Yt,Kt;n(331),o=n(2),i=n(5),a=n(590),u=n(3),f=n(80),c=n(12),s=n(68),l=n(43),h=n(168),p=n(35),g=n(247),v=n(132),d=n(72),y=n(325).codeAt,m=n(591),x=n(64),b=n(78),w=n(592),S=n(45),A=S.set,I=S.getterFor("URL"),E=w.URLSearchParams,R=w.getState,T=u.URL,O=u.TypeError,M=u.parseInt,P=Math.floor,j=Math.pow,N=c("".charAt),k=c(/./.exec),_=c([].join),U=c(1..toString),L=c([].pop),D=c([].push),C=c("".replace),B=c([].shift),z=c("".split),W=c("".slice),q=c("".toLowerCase),G=c([].unshift),V="Invalid scheme",Y="Invalid host",K="Invalid port",H=/[a-z]/i,$=/[\d+-.a-z]/i,J=/\d/,X=/^0x/i,Q=/^[0-7]+$/,Z=/^\d+$/,tt=/^[\da-f]+$/i,rt=/[\0\t\n\r #%/:<>?@[\\\]^|]/,et=/[\0\t\n\r #/:<>?@[\\\]^|]/,nt=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,ot=/[\t\n\r]/g,ut=function(t){var r,e,n,o,i,a,u,f=z(t,".");if(f.length&&""==f[f.length-1]&&f.length--,(r=f.length)>4)return t;for(e=[],n=0;n<r;n++){if(""==(o=f[n]))return t;if(i=10,o.length>1&&"0"==N(o,0)&&(i=k(X,o)?16:8,o=W(o,8==i?1:2)),""===o)a=0;else{if(!k(10==i?Z:8==i?Q:tt,o))return t;a=M(o,i)}D(e,a)}for(n=0;n<r;n++)if(a=e[n],n==r-1){if(a>=j(256,5-r))return null}else if(a>255)return null;for(u=L(e),n=0;n<e.length;n++)u+=e[n]*j(256,3-n);return u},ft=function(t){var r,e,n,o,i,a,u,f=[0,0,0,0,0,0,0,0],c=0,s=null,l=0,chr=function(){return N(t,l)};if(":"==chr()){if(":"!=N(t,1))return;l+=2,s=++c}for(;chr();){if(8==c)return;if(":"!=chr()){for(r=e=0;e<4&&k(tt,chr());)r=16*r+M(chr(),16),l++,e++;if("."==chr()){if(0==e)return;if(l-=e,c>6)return;for(n=0;chr();){if(o=null,n>0){if(!("."==chr()&&n<4))return;l++}if(!k(J,chr()))return;for(;k(J,chr());){if(i=M(chr(),10),null===o)o=i;else{if(0==o)return;o=10*o+i}if(o>255)return;l++}f[c]=256*f[c]+o,2!=++n&&4!=n||c++}if(4!=n)return;break}if(":"==chr()){if(l++,!chr())return}else if(chr())retuLine truncated
|
||||
//# sourceMappingURL=minified.js.map
|
||||
@@ -1,47 +0,0 @@
|
||||
(function(global) {
|
||||
'use strict';
|
||||
|
||||
if (typeof module !== "undefined" && module.exports) {
|
||||
module.exports = global;
|
||||
}
|
||||
|
||||
global["encoding-indexes"] =
|
||||
{
|
||||
"big5":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,17392,19506,17923,17830,17784,160359,19831,17843,162993,19682,163013,15253,18230,18244,19527,19520,148159,144919,160594,159371,159954,19543,172881,18255,17882,19589,162924,19719,19108,18081,158499,29221,154196,137827,146950,147297,26189,22267,null,32149,22813,166841,15860,38708,Line truncated
|
||||
"euc-kr":[44034,44035,44037,44038,44043,44044,44045,44046,44047,44056,44062,44063,44065,44066,44067,44069,44070,44071,44072,44073,44074,44075,44078,44082,44083,44084,null,null,null,null,null,null,44085,44086,44087,44090,44091,44093,44094,44095,44097,44098,44099,44100,44101,44102,44103,44104,44105,44106,44108,44110,44111,44112,44113,44114,44115,44117,null,null,null,null,null,null,44118,44119,44121,44122,44123,44125,44126,44127,44128,44129,44130,44131,44132,44133,44134,44135,44136,44137,44138,44139,44140,44141,44142,44143,44146,44147,44149,44150,44153,44155,44156,44157,44158,44159,44162,44167,44168,44173,44174,44175,44177,44178,44179,44181,44182,44183,44184,44185,44186,44187,44190,44194,44195,44196,44197,44198,44199,44203,44205,44206,44209,44210,44211,44212,44213,44214,44215,44218,44222,44223,44224,44226,44227,44229,44230,44231,44233,44234,44235,44237,44238,44239,44240,44241,44242,44243,44244,44246,44248,44249,44250,44251,44252,44253,44254,44255,44258,44259,44261,44262,44265,44267,44269,44270,44274,44276,44279,44280,44281,44282,44283,44286,44287,44289,44290,44291,44293,44295,44296,44297,44298,44299,44302,44304,44306,44307,44308,44309,44310,44311,44313,44314,44315,44317,44318,44319,44321,44322,44323,44324,44325,44326,44327,44328,44330,44331,44334,44335,44336,44337,44338,44339,null,null,null,null,null,null,44342,44343,44345,44346,44347,44349,44350,44351,44352,44353,44354,44355,44358,44360,44362,44363,44364,44365,44366,44367,44369,44370,44371,44373,44374,44375,null,null,null,null,null,null,44377,44378,44379,44380,44381,44382,44383,44384,44386,44388,44389,44390,44391,44392,44393,44394,44395,44398,44399,44401,44402,44407,44408,44409,44410,44414,44416,44419,44420,44421,44422,44423,44426,44427,44429,44430,44431,44433,44434,44435,44436,44437,44438,44439,44440,44441,44442,44443,44446,44447,44448,44449,44450,44451,44453,44454,44455,44456,44457,44458,44459,44460,44461,44462,44463,44464,44465,44466,44467,44468,44469,44470,44472,44473,44474,44475,44476,44477,44478,44479,44482,44483,44485,44486,44487,44489,44490,44491,44492,44493,44494,44495,44498,44500,44501,44502,44503,44504,44505,44506,44507,44509,44510,44511,44513,44514,44515,44517,44518,44519,44520,44521,44522,44523,44524,44525,44526,44527,44528,44529,44530,44531,44532,44533,44534,44535,44538,44539,44541,44542,44546,44547,44548,44549,44550,44551,44554,44556,44558,44559,44560,44561,44562,44563,44565,44566,44567,44568,44569,44570,44571,44572,null,null,null,null,null,null,44573,44574,44575,44576,44577,44578,44579,44580,44581,44582,44583,44584,44585,44586,44587,44588,44589,44590,44591,44594,44595,44597,44598,44601,44603,44604,null,null,null,null,null,null,44605,44606,44607,44610,44612,44615,44616,44617,44619,44623,44625,44626,44627,44629,44631,44632,44633,44634,44635,44638,44642,44643,44644,44646,44647,44650,44651,44653,44654,44655,44657,44658,44659,44660,44661,44662,44663,44666,44670,44671,44672,44673,44674,44675,44678,44679,44680,44681,44682,44683,44685,44686,44687,44688,44689,44690,44691,44692,44693,44694,44695,44696,44697,44698,44699,44700,44701,44702,44703,44704,44705,44706,44707,44708,44709,44710,44711,44712,44713,44714,44715,44716,44717,44718,44719,44720,44721,44722,44723,44724,44725,44726,44727,44728,44729,44730,44731,44735,44737,44738,44739,44741,44742,44743,44744,44745,44746,44747,44750,44754,44755,44756,44757,44758,44759,44762,44763,44765,44766,44767,44768,44769,44770,44771,44772,44773,44774,44775,44777,44778,44780,44782,44783,44784,44785,44786,44787,44789,44790,44791,44793,44794,44795,44797,44798,44799,44800,44801,44802,44803,44804,44805,null,null,null,null,null,null,44806,44809,44810,44811,44812,44814,44815,44817,44818,44819,44820,44821,44822,44823,44824,44825,44826,44827,44828,44829,44830,44831,44832,44833,44834,44835,null,null,null,null,null,null,44836,44837,44838,44839,44840,44841,44842,44843,44846,44847,44849,44851,44853,44854,44855,44856,44857,44858,44859,44862,44864,44868,44869,44870,44871,44874,44875,44876,44877,44878,44879,44881,44882,44883,44884,44885,44886,44887,44888,44889,44890,44891,44894,44895,44896,44897,44898,44899,44902,44903,44904,44905,44906,44907,44908,44909,44910,44911,44912,44913,44914,44915,44916,44917,44918,44919,44920,44922,44923,44924,44925,44926,44927,44929,44930,44931,44933,44934,44935,44937,44938,44939,44940,44941,44942,44943,44946,44947,44948,44950,44951,44952,44953,44954,44955,44957,44958,44959,44960,44961,44962,44963,44964,44965,44966,44967,44968,44969,44970,44971,44972,44973,44974,44975,44976,44977,44978,44979,44980,44981,44982,44983,44986,44987,44989,44990,44991,44993,44994,44995,44996,44997,44998,45002,45004,45007,45008,45009,45010,45011,45013,45014,45015,45016,45017,45018,45019,45021,45022,45023,45024,45025,null,null,null,null,null,null,45026,45027,45028,45029,45030,45031,45034,45035,45036,45037,45038,45039,45042,45043,45045,45046,45047,45049,45050,45051,45052,45053,45054,45055,45058,45059,null,null,null,null,null,null,45061,45062,45063,45064,45065,45066,45067,45069,45070,45071,45073,45074,45075,45077,45078,45079,45080,4Line truncated
|
||||
"gb18030":[19970,19972,19973,19974,19983,19986,19991,19999,20000,20001,20003,20006,20009,20014,20015,20017,20019,20021,20023,20028,20032,20033,20034,20036,20038,20042,20049,20053,20055,20058,20059,20066,20067,20068,20069,20071,20072,20074,20075,20076,20077,20078,20079,20082,20084,20085,20086,20087,20088,20089,20090,20091,20092,20093,20095,20096,20097,20098,20099,20100,20101,20103,20106,20112,20118,20119,20121,20124,20125,20126,20131,20138,20143,20144,20145,20148,20150,20151,20152,20153,20156,20157,20158,20168,20172,20175,20176,20178,20186,20187,20188,20192,20194,20198,20199,20201,20205,20206,20207,20209,20212,20216,20217,20218,20220,20222,20224,20226,20227,20228,20229,20230,20231,20232,20235,20236,20242,20243,20244,20245,20246,20252,20253,20257,20259,20264,20265,20268,20269,20270,20273,20275,20277,20279,20281,20283,20286,20287,20288,20289,20290,20292,20293,20295,20296,20297,20298,20299,20300,20306,20308,20310,20321,20322,20326,20328,20330,20331,20333,20334,20337,20338,20341,20343,20344,20345,20346,20349,20352,20353,20354,20357,20358,20359,20362,20364,20366,20368,20370,20371,20373,20374,20376,20377,20378,20380,20382,20383,20385,20386,20388,20395,20397,20400,20401,20402,20403,20404,20406,20407,20408,20409,20410,20411,20412,20413,20414,20416,20417,20418,20422,20423,20424,20425,20427,20428,20429,20434,20435,20436,20437,20438,20441,20443,20448,20450,20452,20453,20455,20459,20460,20464,20466,20468,20469,20470,20471,20473,20475,20476,20477,20479,20480,20481,20482,20483,20484,20485,20486,20487,20488,20489,20490,20491,20494,20496,20497,20499,20501,20502,20503,20507,20509,20510,20512,20514,20515,20516,20519,20523,20527,20528,20529,20530,20531,20532,20533,20534,20535,20536,20537,20539,20541,20543,20544,20545,20546,20548,20549,20550,20553,20554,20555,20557,20560,20561,20562,20563,20564,20566,20567,20568,20569,20571,20573,20574,20575,20576,20577,20578,20579,20580,20582,20583,20584,20585,20586,20587,20589,20590,20591,20592,20593,20594,20595,20596,20597,20600,20601,20602,20604,20605,20609,20610,20611,20612,20614,20615,20617,20618,20619,20620,20622,20623,20624,20625,20626,20627,20628,20629,20630,20631,20632,20633,20634,20635,20636,20637,20638,20639,20640,20641,20642,20644,20646,20650,20651,20653,20654,20655,20656,20657,20659,20660,20661,20662,20663,20664,20665,20668,20669,20670,20671,20672,20673,20674,20675,20676,20677,20678,20679,20680,20681,20682,20683,20684,20685,20686,20688,20689,20690,20691,20692,20693,20695,20696,20697,20699,20700,20701,20702,20703,20704,20705,20706,20707,20708,20709,20712,20713,20714,20715,20719,20720,20721,20722,20724,20726,20727,20728,20729,20730,20732,20733,20734,20735,20736,20737,20738,20739,20740,20741,20744,20745,20746,20748,20749,20750,20751,20752,20753,20755,20756,20757,20758,20759,20760,20761,20762,20763,20764,20765,20766,20767,20768,20770,20771,20772,20773,20774,20775,20776,20777,20778,20779,20780,20781,20782,20783,20784,20785,20786,20787,20788,20789,20790,20791,20792,20793,20794,20795,20796,20797,20798,20802,20807,20810,20812,20814,20815,20816,20818,20819,20823,20824,20825,20827,20829,20830,20831,20832,20833,20835,20836,20838,20839,20841,20842,20847,20850,20858,20862,20863,20867,20868,20870,20871,20874,20875,20878,20879,20880,20881,20883,20884,20888,20890,20893,20894,20895,20897,20899,20902,20903,20904,20905,20906,20909,20910,20916,20920,20921,20922,20926,20927,20929,20930,20931,20933,20936,20938,20941,20942,20944,20946,20947,20948,20949,20950,20951,20952,20953,20954,20956,20958,20959,20962,20963,20965,20966,20967,20968,20969,20970,20972,20974,20977,20978,20980,20983,20990,20996,20997,21001,21003,21004,21007,21008,21011,21012,21013,21020,21022,21023,21025,21026,21027,21029,21030,21031,21034,21036,21039,21041,21042,21044,21045,21052,21054,21060,21061,21062,21063,21064,21065,21067,21070,21071,21074,21075,21077,21079,21080,21081,21082,21083,21085,21087,21088,21090,21091,21092,21094,21096,21099,21100,21101,21102,21104,21105,21107,21108,21109,21110,21111,21112,21113,21114,21115,21116,21118,21120,21123,21124,21125,21126,21127,21129,21130,21131,21132,21133,21134,21135,21137,21138,21140,21141,21142,21143,21144,21145,21146,21148,21156,21157,21158,21159,21166,21167,21168,21172,21173,21174,21175,21176,21177,21178,21179,21180,21181,21184,21185,21186,21188,21189,21190,21192,21194,21196,21197,21198,21199,21201,21203,21204,21205,21207,21209,21210,21211,21212,21213,21214,21216,21217,21218,21219,21221,21222,21223,21224,21225,21226,21227,21228,21229,21230,21231,21233,21234,21235,21236,21237,21238,21239,21240,21243,21244,21245,21249,21250,21251,21252,21255,21257,21258,21259,21260,21262,21265,21266,21267,21268,21272,21275,21276,21278,21279,21282,21284,21285,21287,21288,21289,21291,21292,21293,21295,21296,21297,21298,21299,21300,21301,21302,21303,21304,21308,21309,21312,21314,21316,21318,21323,21324,21325,21328,21332,21336,21337,21339,21341,21349,21352,21354,21356,21357,21362,21366,21369,21371,21372,21373,21374,21376,21377,21379,21383,21384,21386,21390,21391,21392,21393,21394,21395,21396,21398,21399,21401,Line truncated
|
||||
"gb18030-ranges":[[0,128],[36,165],[38,169],[45,178],[50,184],[81,216],[89,226],[95,235],[96,238],[100,244],[103,248],[104,251],[105,253],[109,258],[126,276],[133,284],[148,300],[172,325],[175,329],[179,334],[208,364],[306,463],[307,465],[308,467],[309,469],[310,471],[311,473],[312,475],[313,477],[341,506],[428,594],[443,610],[544,712],[545,716],[558,730],[741,930],[742,938],[749,962],[750,970],[805,1026],[819,1104],[820,1106],[7922,8209],[7924,8215],[7925,8218],[7927,8222],[7934,8231],[7943,8241],[7944,8244],[7945,8246],[7950,8252],[8062,8365],[8148,8452],[8149,8454],[8152,8458],[8164,8471],[8174,8482],[8236,8556],[8240,8570],[8262,8596],[8264,8602],[8374,8713],[8380,8720],[8381,8722],[8384,8726],[8388,8731],[8390,8737],[8392,8740],[8393,8742],[8394,8748],[8396,8751],[8401,8760],[8406,8766],[8416,8777],[8419,8781],[8424,8787],[8437,8802],[8439,8808],[8445,8816],[8482,8854],[8485,8858],[8496,8870],[8521,8896],[8603,8979],[8936,9322],[8946,9372],[9046,9548],[9050,9588],[9063,9616],[9066,9622],[9076,9634],[9092,9652],[9100,9662],[9108,9672],[9111,9676],[9113,9680],[9131,9702],[9162,9735],[9164,9738],[9218,9793],[9219,9795],[11329,11906],[11331,11909],[11334,11913],[11336,11917],[11346,11928],[11361,11944],[11363,11947],[11366,11951],[11370,11956],[11372,11960],[11375,11964],[11389,11979],[11682,12284],[11686,12292],[11687,12312],[11692,12319],[11694,12330],[11714,12351],[11716,12436],[11723,12447],[11725,12535],[11730,12543],[11736,12586],[11982,12842],[11989,12850],[12102,12964],[12336,13200],[12348,13215],[12350,13218],[12384,13253],[12393,13263],[12395,13267],[12397,13270],[12510,13384],[12553,13428],[12851,13727],[12962,13839],[12973,13851],[13738,14617],[13823,14703],[13919,14801],[13933,14816],[14080,14964],[14298,15183],[14585,15471],[14698,15585],[15583,16471],[15847,16736],[16318,17208],[16434,17325],[16438,17330],[16481,17374],[16729,17623],[17102,17997],[17122,18018],[17315,18212],[17320,18218],[17402,18301],[17418,18318],[17859,18760],[17909,18811],[17911,18814],[17915,18820],[17916,18823],[17936,18844],[17939,18848],[17961,18872],[18664,19576],[18703,19620],[18814,19738],[18962,19887],[19043,40870],[33469,59244],[33470,59336],[33471,59367],[33484,59413],[33485,59417],[33490,59423],[33497,59431],[33501,59437],[33505,59443],[33513,59452],[33520,59460],[33536,59478],[33550,59493],[37845,63789],[37921,63866],[37948,63894],[38029,63976],[38038,63986],[38064,64016],[38065,64018],[38066,64021],[38069,64025],[38075,64034],[38076,64037],[38078,64042],[39108,65074],[39109,65093],[39113,65107],[39114,65112],[39115,65127],[39116,65132],[39265,65375],[39394,65510],[189000,65536]],
|
||||
"jis0208":[12288,12289,12290,65292,65294,12539,65306,65307,65311,65281,12443,12444,180,65344,168,65342,65507,65343,12541,12542,12445,12446,12291,20189,12293,12294,12295,12540,8213,8208,65295,65340,65374,8741,65372,8230,8229,8216,8217,8220,8221,65288,65289,12308,12309,65339,65341,65371,65373,12296,12297,12298,12299,12300,12301,12302,12303,12304,12305,65291,65293,177,215,247,65309,8800,65308,65310,8806,8807,8734,8756,9794,9792,176,8242,8243,8451,65509,65284,65504,65505,65285,65283,65286,65290,65312,167,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,9650,9661,9660,8251,12306,8594,8592,8593,8595,12307,null,null,null,null,null,null,null,null,null,null,null,8712,8715,8838,8839,8834,8835,8746,8745,null,null,null,null,null,null,null,null,8743,8744,65506,8658,8660,8704,8707,null,null,null,null,null,null,null,null,null,null,null,8736,8869,8978,8706,8711,8801,8786,8810,8811,8730,8765,8733,8757,8747,8748,null,null,null,null,null,null,null,8491,8240,9839,9837,9834,8224,8225,182,null,null,null,null,9711,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,65296,65297,65298,65299,65300,65301,65302,65303,65304,65305,null,null,null,null,null,null,null,65313,65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,null,null,null,null,null,null,65345,65346,65347,65348,65349,65350,65351,65352,65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,65366,65367,65368,65369,65370,null,null,null,null,12353,12354,12355,12356,12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,12435,null,null,null,null,null,null,null,null,null,null,null,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,null,null,null,null,null,null,null,null,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,null,null,null,null,null,null,null,null,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,963,964,965,966,967,968,969,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,null,null,null,null,null,null,null,null,null,null,null,null,null,9472,9474,9484,9488,9496,9492,9500,9516,9508,9524,9532,9473,9475,9487,9491,9499,9495,9507,9523,9515,9531,9547,9504,9519,9512,9527,9535,9501,9520,9509,9528,9538,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,nLine truncated
|
||||
"jis0212":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,728,711,184,729,733,175,731,730,65374,900,901,null,null,null,null,null,null,null,null,161,166,191,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,186,170,169,174,8482,164,8470,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,902,904,905,906,938,null,908,null,910,939,null,911,null,null,null,null,940,941,942,943,970,912,972,962,973,971,944,974,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1038,1039,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1118,1119,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,198,272,null,294,null,306,null,321,319,null,330,216,338,null,358,222,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,230,273,240,295,305,307,312,322,320,329,331,248,339,223,359,254,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,193,192,196,194,258,461,256,260,197,195,262,264,268,199,266,270,201,200,203,202,282,278,274,280,null,284,286,290,288,292,205,204,207,206,463,304,298,302,296,308,310,313,317,315,323,327,325,209,211,210,214,212,465,336,332,213,340,344,342,346,348,352,350,356,354,218,217,220,219,364,467,368,362,370,366,360,471,475,473,469,372,221,376,374,377,381,379,null,null,null,null,null,null,null,225,224,228,226,259,462,257,261,229,227,263,265,269,231,267,271,233,232,235,234,283,279,275,281,501,285,287,null,289,293,237,236,239,238,464,null,299,303,297,309,311,314,318,316,324,328,326,241,243,242,246,244,466,337,333,245,341,345,343,347,349,353,351,357,355,250,249,252,251,365,468,369,363,371,367,361,472,476,474,470,373,253,255,375,378,382,380,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,nuLine truncated
|
||||
"ibm866":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1025,1105,1028,1108,1031,1111,1038,1118,176,8729,183,8730,8470,164,9632,160],
|
||||
"iso-8859-2":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,728,321,164,317,346,167,168,352,350,356,377,173,381,379,176,261,731,322,180,318,347,711,184,353,351,357,378,733,382,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],
|
||||
"iso-8859-3":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,294,728,163,164,null,292,167,168,304,350,286,308,173,null,379,176,295,178,179,180,181,293,183,184,305,351,287,309,189,null,380,192,193,194,null,196,266,264,199,200,201,202,203,204,205,206,207,null,209,210,211,212,288,214,215,284,217,218,219,220,364,348,223,224,225,226,null,228,267,265,231,232,233,234,235,236,237,238,239,null,241,242,243,244,289,246,247,285,249,250,251,252,365,349,729],
|
||||
"iso-8859-4":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,312,342,164,296,315,167,168,352,274,290,358,173,381,175,176,261,731,343,180,297,316,711,184,353,275,291,359,330,382,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,298,272,325,332,310,212,213,214,215,216,370,218,219,220,360,362,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,299,273,326,333,311,244,245,246,247,248,371,250,251,252,361,363,729],
|
||||
"iso-8859-5":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,173,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,8470,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,167,1118,1119],
|
||||
"iso-8859-6":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,null,null,164,null,null,null,null,null,null,null,1548,173,null,null,null,null,null,null,null,null,null,null,null,null,null,1563,null,null,null,1567,null,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,null,null,null,null,null,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,null,null,null,null,null,null,null,null,null,null,null,null,null],
|
||||
"iso-8859-7":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8216,8217,163,8364,8367,166,167,168,169,890,171,172,173,null,8213,176,177,178,179,900,901,902,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],
|
||||
"iso-8859-8":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,null,162,163,164,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,8215,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],
|
||||
"iso-8859-10":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,274,290,298,296,310,167,315,272,352,358,381,173,362,330,176,261,275,291,299,297,311,183,316,273,353,359,382,8213,363,331,256,193,194,195,196,197,198,302,268,201,280,203,278,205,206,207,208,325,332,211,212,213,214,360,216,370,218,219,220,221,222,223,257,225,226,227,228,229,230,303,269,233,281,235,279,237,238,239,240,326,333,243,244,245,246,361,248,371,250,251,252,253,254,312],
|
||||
"iso-8859-13":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,8221,162,163,164,8222,166,167,216,169,342,171,172,173,174,198,176,177,178,179,8220,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,8217],
|
||||
"iso-8859-14":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,7682,7683,163,266,267,7690,167,7808,169,7810,7691,7922,173,174,376,7710,7711,288,289,7744,7745,182,7766,7809,7767,7811,7776,7923,7812,7813,7777,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,372,209,210,211,212,213,214,7786,216,217,218,219,220,221,374,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,373,241,242,243,244,245,246,7787,248,249,250,251,252,253,375,255],
|
||||
"iso-8859-15":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,8364,165,352,167,353,169,170,171,172,173,174,175,176,177,178,179,381,181,182,183,382,185,186,187,338,339,376,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],
|
||||
"iso-8859-16":[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,260,261,321,8364,8222,352,167,353,169,536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],
|
||||
"koi8-r":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,1025,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],
|
||||
"koi8-u":[9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9600,9604,9608,9612,9616,9617,9618,9619,8992,9632,8729,8730,8776,8804,8805,160,8993,176,178,183,247,9552,9553,9554,1105,1108,9556,1110,1111,9559,9560,9561,9562,9563,1169,1118,9566,9567,9568,9569,1025,1028,9571,1030,1031,9574,9575,9576,9577,9578,1168,1038,169,1102,1072,1073,1094,1076,1077,1092,1075,1093,1080,1081,1082,1083,1084,1085,1086,1087,1103,1088,1089,1090,1091,1078,1074,1100,1099,1079,1096,1101,1097,1095,1098,1070,1040,1041,1062,1044,1045,1060,1043,1061,1048,1049,1050,1051,1052,1053,1054,1055,1071,1056,1057,1058,1059,1046,1042,1068,1067,1047,1064,1069,1065,1063,1066],
|
||||
"macintosh":[196,197,199,201,209,214,220,225,224,226,228,227,229,231,233,232,234,235,237,236,238,239,241,243,242,244,246,245,250,249,251,252,8224,176,162,163,167,8226,182,223,174,169,8482,180,168,8800,198,216,8734,177,8804,8805,165,181,8706,8721,8719,960,8747,170,186,937,230,248,191,161,172,8730,402,8776,8710,171,187,8230,160,192,195,213,338,339,8211,8212,8220,8221,8216,8217,247,9674,255,376,8260,8364,8249,8250,64257,64258,8225,183,8218,8222,8240,194,202,193,203,200,205,206,207,204,211,212,63743,210,218,219,217,305,710,732,175,728,729,730,184,733,731,711],
|
||||
"windows-874":[8364,129,130,131,132,8230,134,135,136,137,138,139,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,153,154,155,156,157,158,159,160,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,null,null,null,null,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,null,null,null,null],
|
||||
"windows-1250":[8364,129,8218,131,8222,8230,8224,8225,136,8240,352,8249,346,356,381,377,144,8216,8217,8220,8221,8226,8211,8212,152,8482,353,8250,347,357,382,378,160,711,728,321,164,260,166,167,168,169,350,171,172,173,174,379,176,177,731,322,180,181,182,183,184,261,351,187,317,733,318,380,340,193,194,258,196,313,262,199,268,201,280,203,282,205,206,270,272,323,327,211,212,336,214,215,344,366,218,368,220,221,354,223,341,225,226,259,228,314,263,231,269,233,281,235,283,237,238,271,273,324,328,243,244,337,246,247,345,367,250,369,252,253,355,729],
|
||||
"windows-1251":[1026,1027,8218,1107,8222,8230,8224,8225,8364,8240,1033,8249,1034,1036,1035,1039,1106,8216,8217,8220,8221,8226,8211,8212,152,8482,1113,8250,1114,1116,1115,1119,160,1038,1118,1032,164,1168,166,167,1025,169,1028,171,172,173,174,1031,176,177,1030,1110,1169,181,182,183,1105,8470,1108,187,1112,1029,1109,1111,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103],
|
||||
"windows-1252":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],
|
||||
"windows-1253":[8364,129,8218,402,8222,8230,8224,8225,136,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,157,158,159,160,901,902,163,164,165,166,167,168,169,null,171,172,173,174,8213,176,177,178,179,900,181,182,183,904,905,906,187,908,189,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,null,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,null],
|
||||
"windows-1254":[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,286,209,210,211,212,213,214,215,216,217,218,219,220,304,350,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,287,241,242,243,244,245,246,247,248,249,250,251,252,305,351,255],
|
||||
"windows-1255":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,140,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,156,157,158,159,160,161,162,163,8362,165,166,167,168,169,215,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,247,187,188,189,190,191,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1520,1521,1522,1523,1524,null,null,null,null,null,null,null,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,null,null,8206,8207,null],
|
||||
"windows-1256":[8364,1662,8218,402,8222,8230,8224,8225,710,8240,1657,8249,338,1670,1688,1672,1711,8216,8217,8220,8221,8226,8211,8212,1705,8482,1681,8250,339,8204,8205,1722,160,1548,162,163,164,165,166,167,168,169,1726,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,1563,187,188,189,190,1567,1729,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,215,1591,1592,1593,1594,1600,1601,1602,1603,224,1604,226,1605,1606,1607,1608,231,232,233,234,235,1609,1610,238,239,1611,1612,1613,1614,244,1615,1616,247,1617,249,1618,251,252,8206,8207,1746],
|
||||
"windows-1257":[8364,129,8218,131,8222,8230,8224,8225,136,8240,138,8249,140,168,711,184,144,8216,8217,8220,8221,8226,8211,8212,152,8482,154,8250,156,175,731,159,160,null,162,163,164,null,166,167,216,169,342,171,172,173,174,198,176,177,178,179,180,181,182,183,248,185,343,187,188,189,190,230,260,302,256,262,196,197,280,274,268,201,377,278,290,310,298,315,352,323,325,211,332,213,214,215,370,321,346,362,220,379,381,223,261,303,257,263,228,229,281,275,269,233,378,279,291,311,299,316,353,324,326,243,333,245,246,247,371,322,347,363,252,380,382,729],
|
||||
"windows-1258":[8364,129,8218,402,8222,8230,8224,8225,710,8240,138,8249,338,141,142,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,154,8250,339,157,158,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,258,196,197,198,199,200,201,202,203,768,205,206,207,272,209,777,211,212,416,214,215,216,217,218,219,220,431,771,223,224,225,226,259,228,229,230,231,232,233,234,235,769,237,238,239,273,241,803,243,244,417,246,247,248,249,250,251,252,432,8363,255],
|
||||
"x-mac-cyrillic":[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,8224,176,1168,163,167,8226,182,1030,174,169,8482,1026,1106,8800,1027,1107,8734,177,8804,8805,1110,181,1169,1032,1028,1108,1031,1111,1033,1113,1034,1114,1112,1029,172,8730,402,8776,8710,171,187,8230,160,1035,1115,1036,1116,1109,8211,8212,8220,8221,8216,8217,247,8222,1038,1118,1039,1119,8470,1025,1105,1103,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,8364]
|
||||
};
|
||||
|
||||
// For strict environments where `this` inside the global scope
|
||||
// is `undefined`, take a pure object instead
|
||||
}(this || {}));
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,418 +0,0 @@
|
||||
(function(self) {
|
||||
'use strict';
|
||||
|
||||
// if __disableNativeFetch is set to true, the it will always polyfill fetch
|
||||
// with Ajax.
|
||||
if (!self.__disableNativeFetch && self.fetch) {
|
||||
return
|
||||
}
|
||||
|
||||
function normalizeName(name) {
|
||||
if (typeof name !== 'string') {
|
||||
name = String(name)
|
||||
}
|
||||
if (/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(name)) {
|
||||
throw new TypeError('Invalid character in header field name')
|
||||
}
|
||||
return name.toLowerCase()
|
||||
}
|
||||
|
||||
function normalizeValue(value) {
|
||||
if (typeof value !== 'string') {
|
||||
value = String(value)
|
||||
}
|
||||
return value
|
||||
}
|
||||
|
||||
function Headers(headers) {
|
||||
this.map = {}
|
||||
|
||||
if (headers instanceof Headers) {
|
||||
headers.forEach(function(value, name) {
|
||||
this.append(name, value)
|
||||
}, this)
|
||||
|
||||
} else if (headers) {
|
||||
Object.getOwnPropertyNames(headers).forEach(function(name) {
|
||||
this.append(name, headers[name])
|
||||
}, this)
|
||||
}
|
||||
}
|
||||
|
||||
Headers.prototype.append = function(name, value) {
|
||||
name = normalizeName(name)
|
||||
value = normalizeValue(value)
|
||||
var list = this.map[name]
|
||||
if (!list) {
|
||||
list = []
|
||||
this.map[name] = list
|
||||
}
|
||||
list.push(value)
|
||||
}
|
||||
|
||||
Headers.prototype['delete'] = function(name) {
|
||||
delete this.map[normalizeName(name)]
|
||||
}
|
||||
|
||||
Headers.prototype.get = function(name) {
|
||||
var values = this.map[normalizeName(name)]
|
||||
return values ? values[0] : null
|
||||
}
|
||||
|
||||
Headers.prototype.getAll = function(name) {
|
||||
return this.map[normalizeName(name)] || []
|
||||
}
|
||||
|
||||
Headers.prototype.has = function(name) {
|
||||
return this.map.hasOwnProperty(normalizeName(name))
|
||||
}
|
||||
|
||||
Headers.prototype.set = function(name, value) {
|
||||
this.map[normalizeName(name)] = [normalizeValue(value)]
|
||||
}
|
||||
|
||||
Headers.prototype.forEach = function(callback, thisArg) {
|
||||
Object.getOwnPropertyNames(this.map).forEach(function(name) {
|
||||
this.map[name].forEach(function(value) {
|
||||
callback.call(thisArg, value, name, this)
|
||||
}, this)
|
||||
}, this)
|
||||
}
|
||||
|
||||
function consumed(body) {
|
||||
if (body.bodyUsed) {
|
||||
return Promise.reject(new TypeError('Already read'))
|
||||
}
|
||||
body.bodyUsed = true
|
||||
}
|
||||
|
||||
function fileReaderReady(reader) {
|
||||
return new Promise(function(resolve, reject) {
|
||||
reader.onload = function() {
|
||||
resolve(reader.result)
|
||||
}
|
||||
reader.onerror = function() {
|
||||
reject(reader.error)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function readBlobAsArrayBuffer(blob) {
|
||||
var reader = new FileReader()
|
||||
reader.readAsArrayBuffer(blob)
|
||||
return fileReaderReady(reader)
|
||||
}
|
||||
|
||||
function readBlobAsText(blob, options) {
|
||||
var reader = new FileReader()
|
||||
var contentType = options.headers.map['content-type'] ? options.headers.map['content-type'].toString() : ''
|
||||
var regex = /charset\=[0-9a-zA-Z\-\_]*;?/
|
||||
var _charset = blob.type.match(regex) || contentType.match(regex)
|
||||
var args = [blob]
|
||||
|
||||
if(_charset) {
|
||||
args.push(_charset[0].replace(/^charset\=/, '').replace(/;$/, ''))
|
||||
}
|
||||
|
||||
reader.readAsText.apply(reader, args)
|
||||
return fileReaderReady(reader)
|
||||
}
|
||||
|
||||
var support = {
|
||||
blob: 'FileReader' in self && 'Blob' in self && (function() {
|
||||
try {
|
||||
new Blob();
|
||||
return true
|
||||
} catch(e) {
|
||||
return false
|
||||
}
|
||||
})(),
|
||||
formData: 'FormData' in self,
|
||||
arrayBuffer: 'ArrayBuffer' in self
|
||||
}
|
||||
|
||||
function Body() {
|
||||
this.bodyUsed = false
|
||||
|
||||
|
||||
this._initBody = function(body, options) {
|
||||
this._bodyInit = body
|
||||
if (typeof body === 'string') {
|
||||
this._bodyText = body
|
||||
} else if (support.blob && Blob.prototype.isPrototypeOf(body)) {
|
||||
this._bodyBlob = body
|
||||
this._options = options
|
||||
} else if (support.formData && FormData.prototype.isPrototypeOf(body)) {
|
||||
this._bodyFormData = body
|
||||
} else if (!body) {
|
||||
this._bodyText = ''
|
||||
} else if (support.arrayBuffer && ArrayBuffer.prototype.isPrototypeOf(body)) {
|
||||
// Only support ArrayBuffers for POST method.
|
||||
// Receiving ArrayBuffers happens via Blobs, instead.
|
||||
} else {
|
||||
throw new Error('unsupported BodyInit type')
|
||||
}
|
||||
}
|
||||
|
||||
if (support.blob) {
|
||||
this.blob = function() {
|
||||
var rejected = consumed(this)
|
||||
if (rejected) {
|
||||
return rejected
|
||||
}
|
||||
|
||||
if (this._bodyBlob) {
|
||||
return Promise.resolve(this._bodyBlob)
|
||||
} else if (this._bodyFormData) {
|
||||
throw new Error('could not read FormData body as blob')
|
||||
} else {
|
||||
return Promise.resolve(new Blob([this._bodyText]))
|
||||
}
|
||||
}
|
||||
|
||||
this.arrayBuffer = function() {
|
||||
return this.blob().then(readBlobAsArrayBuffer)
|
||||
}
|
||||
|
||||
this.text = function() {
|
||||
var rejected = consumed(this)
|
||||
if (rejected) {
|
||||
return rejected
|
||||
}
|
||||
|
||||
if (this._bodyBlob) {
|
||||
return readBlobAsText(this._bodyBlob, this._options)
|
||||
} else if (this._bodyFormData) {
|
||||
throw new Error('could not read FormData body as text')
|
||||
} else {
|
||||
return Promise.resolve(this._bodyText)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.text = function() {
|
||||
var rejected = consumed(this)
|
||||
return rejected ? rejected : Promise.resolve(this._bodyText)
|
||||
}
|
||||
}
|
||||
|
||||
if (support.formData) {
|
||||
this.formData = function() {
|
||||
return this.text().then(decode)
|
||||
}
|
||||
}
|
||||
|
||||
this.json = function() {
|
||||
return this.text().then(JSON.parse)
|
||||
}
|
||||
|
||||
return this
|
||||
}
|
||||
|
||||
// HTTP methods whose capitalization should be normalized
|
||||
var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']
|
||||
|
||||
function normalizeMethod(method) {
|
||||
var upcased = method.toUpperCase()
|
||||
return (methods.indexOf(upcased) > -1) ? upcased : method
|
||||
}
|
||||
|
||||
function Request(input, options) {
|
||||
options = options || {}
|
||||
var body = options.body
|
||||
if (Request.prototype.isPrototypeOf(input)) {
|
||||
if (input.bodyUsed) {
|
||||
throw new TypeError('Already read')
|
||||
}
|
||||
this.url = input.url
|
||||
this.credentials = input.credentials
|
||||
if (!options.headers) {
|
||||
this.headers = new Headers(input.headers)
|
||||
}
|
||||
this.method = input.method
|
||||
this.mode = input.mode
|
||||
if (!body) {
|
||||
body = input._bodyInit
|
||||
input.bodyUsed = true
|
||||
}
|
||||
} else {
|
||||
this.url = input
|
||||
}
|
||||
|
||||
this.credentials = options.credentials || this.credentials || 'omit'
|
||||
if (options.headers || !this.headers) {
|
||||
this.headers = new Headers(options.headers)
|
||||
}
|
||||
this.method = normalizeMethod(options.method || this.method || 'GET')
|
||||
this.mode = options.mode || this.mode || null
|
||||
this.referrer = null
|
||||
|
||||
if ((this.method === 'GET' || this.method === 'HEAD') && body) {
|
||||
throw new TypeError('Body not allowed for GET or HEAD requests')
|
||||
}
|
||||
this._initBody(body, options)
|
||||
}
|
||||
|
||||
Request.prototype.clone = function() {
|
||||
return new Request(this)
|
||||
}
|
||||
|
||||
function decode(body) {
|
||||
var form = new FormData()
|
||||
body.trim().split('&').forEach(function(bytes) {
|
||||
if (bytes) {
|
||||
var split = bytes.split('=')
|
||||
var name = split.shift().replace(/\+/g, ' ')
|
||||
var value = split.join('=').replace(/\+/g, ' ')
|
||||
form.append(decodeURIComponent(name), decodeURIComponent(value))
|
||||
}
|
||||
})
|
||||
return form
|
||||
}
|
||||
|
||||
function headers(xhr) {
|
||||
var head = new Headers()
|
||||
var pairs = xhr.getAllResponseHeaders().trim().split('\n')
|
||||
pairs.forEach(function(header) {
|
||||
var split = header.trim().split(':')
|
||||
var key = split.shift().trim()
|
||||
var value = split.join(':').trim()
|
||||
head.append(key, value)
|
||||
})
|
||||
return head
|
||||
}
|
||||
|
||||
Body.call(Request.prototype)
|
||||
|
||||
function Response(bodyInit, options) {
|
||||
if (!options) {
|
||||
options = {}
|
||||
}
|
||||
|
||||
this._initBody(bodyInit, options)
|
||||
this.type = 'default'
|
||||
this.status = options.status
|
||||
this.ok = this.status >= 200 && this.status < 300
|
||||
this.statusText = options.statusText
|
||||
this.headers = options.headers instanceof Headers ? options.headers : new Headers(options.headers)
|
||||
this.url = options.url || ''
|
||||
}
|
||||
|
||||
Body.call(Response.prototype)
|
||||
|
||||
Response.prototype.clone = function() {
|
||||
return new Response(this._bodyInit, {
|
||||
status: this.status,
|
||||
statusText: this.statusText,
|
||||
headers: new Headers(this.headers),
|
||||
url: this.url
|
||||
})
|
||||
}
|
||||
|
||||
Response.error = function() {
|
||||
var response = new Response(null, {status: 0, statusText: ''})
|
||||
response.type = 'error'
|
||||
return response
|
||||
}
|
||||
|
||||
var redirectStatuses = [301, 302, 303, 307, 308]
|
||||
|
||||
Response.redirect = function(url, status) {
|
||||
if (redirectStatuses.indexOf(status) === -1) {
|
||||
throw new RangeError('Invalid status code')
|
||||
}
|
||||
|
||||
return new Response(null, {status: status, headers: {location: url}})
|
||||
}
|
||||
|
||||
self.Headers = Headers;
|
||||
self.Request = Request;
|
||||
self.Response = Response;
|
||||
|
||||
self.fetch = function(input, init) {
|
||||
return new Promise(function(resolve, reject) {
|
||||
var request
|
||||
if (Request.prototype.isPrototypeOf(input) && !init) {
|
||||
request = input
|
||||
} else {
|
||||
request = new Request(input, init)
|
||||
}
|
||||
|
||||
var xhr = new XMLHttpRequest()
|
||||
|
||||
function responseURL() {
|
||||
if ('responseURL' in xhr) {
|
||||
return xhr.responseURL
|
||||
}
|
||||
|
||||
// Avoid security warnings on getResponseHeader when not allowed by CORS
|
||||
if (/^X-Request-URL:/m.test(xhr.getAllResponseHeaders())) {
|
||||
return xhr.getResponseHeader('X-Request-URL')
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
var __onLoadHandled = false;
|
||||
|
||||
function onload() {
|
||||
if (xhr.readyState !== 4) {
|
||||
return
|
||||
}
|
||||
var status = (xhr.status === 1223) ? 204 : xhr.status
|
||||
if (status < 100 || status > 599) {
|
||||
if (__onLoadHandled) { return; } else { __onLoadHandled = true; }
|
||||
reject(new TypeError('Network request failed'))
|
||||
return
|
||||
}
|
||||
var options = {
|
||||
status: status,
|
||||
statusText: xhr.statusText,
|
||||
headers: headers(xhr),
|
||||
url: responseURL()
|
||||
}
|
||||
var body = 'response' in xhr ? xhr.response : xhr.responseText;
|
||||
|
||||
if (__onLoadHandled) { return; } else { __onLoadHandled = true; }
|
||||
resolve(new Response(body, options))
|
||||
}
|
||||
xhr.onreadystatechange = onload;
|
||||
xhr.onload = onload;
|
||||
xhr.onerror = function() {
|
||||
if (__onLoadHandled) { return; } else { __onLoadHandled = true; }
|
||||
reject(new TypeError('Network request failed'))
|
||||
}
|
||||
|
||||
xhr.open(request.method, request.url, true)
|
||||
|
||||
// `withCredentials` should be setted after calling `.open` in IE10
|
||||
// http://stackoverflow.com/a/19667959/1219343
|
||||
try {
|
||||
if (request.credentials === 'include') {
|
||||
if ('withCredentials' in xhr) {
|
||||
xhr.withCredentials = true;
|
||||
} else {
|
||||
console && console.warn && console.warn('withCredentials is not supported, you can ignore this warning');
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console && console.warn && console.warn('set withCredentials error:' + e);
|
||||
}
|
||||
|
||||
if ('responseType' in xhr && support.blob) {
|
||||
xhr.responseType = 'blob'
|
||||
}
|
||||
|
||||
request.headers.forEach(function(value, name) {
|
||||
xhr.setRequestHeader(name, value)
|
||||
})
|
||||
|
||||
xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)
|
||||
})
|
||||
}
|
||||
self.fetch.polyfill = true
|
||||
|
||||
// Support CommonJS
|
||||
if (typeof module !== 'undefined' && module.exports) {
|
||||
module.exports = self.fetch;
|
||||
}
|
||||
})(typeof self !== 'undefined' ? self : this);
|
||||
Vendored
+3
-5
@@ -1,12 +1,10 @@
|
||||
/*!
|
||||
* vConsole v3.2.0 (https://github.com/Tencent/vConsole)
|
||||
*
|
||||
* vConsole v3.15.0 (https://github.com/Tencent/vConsole)
|
||||
*
|
||||
* Tencent is pleased to support the open source community by making vConsole available.
|
||||
* Copyright (C) 2017 THL A29 Limited, a Tencent company. All rights reserved.
|
||||
* Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
|
||||
* http://opensource.org/licenses/MIT
|
||||
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
|
||||
*/
|
||||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.VConsole=t():e.VConsole=t()}(this,function(){return function(e){function t(n){if(o[n])return o[n].exports;var i=o[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var o={};return t.m=e,t.c=o,t.p="",t(0)}([function(e,t,o){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),o(1);var i=o(2),a=n(i),r=o(18),l=n(r);a["default"].VConsolePlugin=l["default"],t["default"]=a["default"],e.exports=t["default"]},function(e,t){"use strict";if("undefined"==typeof Symbol){window.Symbol=function(){};var o="__symbol_iterator_key";window.Symbol.iterator=o,Array.prototype[o]=function(){var e=this,t=0;return{next:function(){return{done:e.length===t,value:e.length===t?void 0:e[t++]}}}}}},function(e,t,o){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t["default"]=e,t}function i(e){return e&&e.__esModule?e:{"default":e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}(),l=o(3),c=i(l),s=o(4),d=n(s),u=o(5),v=i(u);o(7);var f=o(11),p=i(f),h=o(12),g=i(h),b=o(13),m=i(b),y=o(14),_=i(y),w=o(15),x=i(w),k=o(16),C=i(k),T=o(24),O=i(T),E=o(26),S=i(E),L=o(30),j=i(L),N=o(37),P=i(N),M="#__vconsole",A=function(){function e(t){if(a(this,e),v["default"].one(M))return void console.debug("vConsole is already exists.");var o=this;if(this.version=c["default"].version,this.$dom=null,this.isInited=!1,this.option={defaultPlugins:["system","network","element","storage"]},this.activedTab="",this.tabList=[],this.pluginList={},this.switchPos={x:10,y:10,startX:0,startY:0,endX:0,endY:0},this.tool=d,this.$=v["default"],d.isObject(t))for(var n in t)this.option[n]=t[n];this._addBuiltInPlugins();var i=function(){o.isInited||(o._render(),o._mockTap(),o._bindEvent(),o._autoRun())};void 0!==document?"complete"==document.readyState?i():v["default"].bind(window,"load",i):!function(){var e=void 0,t=function o(){document&&"complete"==document.readyState?(e&&clearTimeout(e),i()):e=setTimeout(o,1)};e=setTimeout(t,1)}()}return r(e,[{key:"_addBuiltInPlugins",value:function(){this.addPlugin(new C["default"]("default","Log"));var e=this.option.defaultPlugins,t={system:{proto:O["default"],name:"System"},network:{proto:S["default"],name:"Network"},element:{proto:j["default"],name:"Element"},storage:{proto:P["default"],name:"Storage"}};if(e&&d.isArray(e))for(var o=0;o<e.length;o++){var n=t[e[o]];n?this.addPlugin(new n.proto(e[o],n.name)):console.debug("Unrecognized default plugin ID:",e[o])}}},{key:"_render",value:function(){if(!v["default"].one(M)){var e=document.createElement("div");e.innerHTML=p["default"],document.documentElement.insertAdjacentElement("beforeend",e.children[0])}this.$dom=v["default"].one(M);var t=v["default"].one(".vc-switch",this.$dom),o=1*d.getStorage("switch_x"),n=1*d.getStorage("switch_y");(o||n)&&(o+t.offsetWidth>document.documentElement.offsetWidth&&(o=document.documentElement.offsetWidth-t.offsetWidth),n+t.offsetHeight>document.documentElement.offsetHeight&&(n=document.documentElement.offsetHeight-t.offsetHeight),0>o&&(o=0),0>n&&(n=0),this.switchPos.x=o,this.switchPos.y=n,v["default"].one(".vc-switch").style.right=o+"px",v["default"].one(".vc-switch").style.bottom=n+"px");var i=window.devicePixelRatio||1,a=document.querySelector('[name="viewport"]');if(a&&a.content){var r=a.content.match(/initial\-scale\=\d+(\.\d+)?/),l=r?parseFloat(r[0].split("=")[1]):1;1>l&&(this.$dom.style.fontSize=13*i+"px")}v["default"].one(".vc-mask",this.$dom).style.display="none"}},{key:"_mockTap",value:function(){var e=700,t=10,o=void 0,n=void 0,i=void 0,a=!1,r=null;this.$dom.addEventListener("touchstart",function(e){if(void 0===o){var t=e.targetTouches[0];n=t.pageX,i=t.pageY,o=e.timeStamp,r=e.target.nodeType===Node.TEXT_NODE?e.target.parentNode:e.target}},!1),this.$dom.addEventListener("touchmove",function(e){var o=e.changedTouches[0];(Math.abs(o.pageX-n)>t||Math.abs(o.pageY-i)>t)&&(a=!0)}),this.$dom.addEventListener("touchend",function(t){if(a===!1&&t.timeStamp-o<e&&null!=r){var n=r.tagName.toLowerCase(),i=!1;switch(n){case"textarea":i=!0;break;case"input":switch(r.type){case"button":case"checkbox":case"file":case"image":case"radio":case"submit":i=!1;break;default:i=!r.disabled&&!r.readOnly}}i?r.focus():t.preventDefault();var l=t.changedTouches[0],c=document.createEvent("MouseEvents");c.initMouseEvent("click",!0,!0,window,1,l.screenX,l.screenY,l.clientX,l.clientY,!1,!Line truncated
|
||||
}),a=e.href;e.href=URL.createObjectURL(i),a&&URL.revokeObjectURL(a)}var f={},p=function(e){var t;return function(){return"undefined"==typeof t&&(t=e.apply(this,arguments)),t}},h=p(function(){return/msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())}),g=p(function(){return document.head||document.getElementsByTagName("head")[0]}),b=null,m=0,y=[];e.exports=function(e,t){t=t||{},"undefined"==typeof t.singleton&&(t.singleton=h()),"undefined"==typeof t.insertAt&&(t.insertAt="bottom");var o=i(e);return n(o,t),function(e){for(var a=[],r=0;r<o.length;r++){var l=o[r],c=f[l.id];c.refs--,a.push(c)}if(e){var s=i(e);n(s,t)}for(var r=0;r<a.length;r++){var c=a[r];if(0===c.refs){for(var d=0;d<c.parts.length;d++)c.parts[d]();delete f[c.id]}}}};var _=function(){var e=[];return function(t,o){return e[t]=o,e.filter(Boolean).join("\n")}}()},function(e,t){e.exports='<div id="__vconsole" class="">\n <div class="vc-switch">vConsole</div>\n <div class="vc-mask">\n </div>\n <div class="vc-panel">\n <div class="vc-tabbar">\n </div>\n <div class="vc-topbar">\n </div>\n <div class="vc-content">\n </div>\n <div class="vc-toolbar">\n <a class="vc-tool vc-global-tool vc-tool-last vc-hide">Hide</a>\n </div>\n </div>\n</div>'},function(e,t){e.exports='<a class="vc-tab" data-tab="{{id}}" id="__vc_tab_{{id}}">{{name}}</a>'},function(e,t){e.exports='<div class="vc-logbox" id="__vc_log_{{id}}">\n \n</div>'},function(e,t){e.exports='<a class="vc-toptab vc-topbar-{{pluginID}}{{if (className)}} {{className}}{{/if}}">{{name}}</a>'},function(e,t){e.exports='<a class="vc-tool vc-tool-{{pluginID}}">{{name}}</a>'},function(e,t,o){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t["default"]=e,t}function i(e){return e&&e.__esModule?e:{"default":e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var c=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}(),s=function w(e,t,o){null===e&&(e=Function.prototype);var n=Object.getOwnPropertyDescriptor(e,t);if(void 0===n){var i=Object.getPrototypeOf(e);return null===i?void 0:w(i,t,o)}if("value"in n)return n.value;var a=n.get;if(void 0!==a)return a.call(o)},d=o(5),u=i(d),v=o(4),f=n(v),p=o(17),h=i(p),g=o(22),b=i(g),m=o(23),y=i(m),_=function(e){function t(){var e;a(this,t);for(var o=arguments.length,n=Array(o),i=0;o>i;i++)n[i]=arguments[i];var l=r(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(n)));return l.tplTabbox=b["default"],l.windowOnError=null,l}return l(t,e),c(t,[{key:"onReady",value:function(){var e=this;s(Object.getPrototypeOf(t.prototype),"onReady",this).call(this),u["default"].bind(u["default"].one(".vc-cmd",this.$tabbox),"submit",function(t){t.preventDefault();var o=u["default"].one(".vc-cmd-input",t.target),n=o.value;o.value="",""!==n&&e.evalCommand(n)});var o="";o+="if (!!window) {",o+="window.__vConsole_cmd_result = undefined;",o+="window.__vConsole_cmd_error = false;",o+="}";var n=document.getElementsByTagName("script"),i="";n.length>0&&(i=n[0].getAttribute("nonce")||"");var a=document.createElement("SCRIPT");a.innerHTML=o,a.setAttribute("nonce",i),document.documentElement.appendChild(a),document.documentElement.removeChild(a)}},{key:"mockConsole",value:function(){s(Object.getPrototypeOf(t.prototype),"mockConsole",this).call(this);var e=this;f.isFunction(window.onerror)&&(this.windowOnError=window.onerror),window.onerror=function(t,o,n,i,a){var r=t;o&&(r+="\n"+o.replace(location.origin,"")),(n||i)&&(r+=":"+n+":"+i);var l=!!a&&!!a.stack,c=l&&a.stack.toString()||"";e.printLog({logType:"error",logs:[r,c],noOrigin:!0}),f.isFunction(e.windowOnError)&&e.windowOnError.call(window,t,o,n,i,a)}}},{key:"evalCommand",value:function(e){this.printLog({logType:"log",content:u["default"].render(y["default"],{content:e,type:"input"}),noMeta:!0,style:""});var t="";t+="try {\n",t+="window.__vConsole_cmd_result = (function() {\n",t+="return "+e+";\n",t+="})();\n",t+="window.__vConsole_cmd_error = false;\n",t+="} catch (e) {\n",t+="window.__vConsole_cmd_result = e.message;\n",t+="window.__vConsole_cmd_error = true;\n",t+="}";var o=document.getElementsByTagName("script"),n="";o.length>0&&(n=o[0].getAttribute("noncLine truncated
|
||||
}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var c=function(){function e(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}();o(31);var s=o(18),d=i(s),u=o(33),v=i(u),f=o(34),p=i(f),h=o(4),g=(n(h),o(5)),b=i(g),m=function(e){function t(){var e;a(this,t);for(var o=arguments.length,n=Array(o),i=0;o>i;i++)n[i]=arguments[i];var l=r(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(n))),c=l;c.isInited=!1,c.node={},c.$tabbox=b["default"].render(v["default"],{}),c.nodes=[],c.activedElem={};var s=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;return c.observer=new s(function(e){for(var t=0;t<e.length;t++){var o=e[t];c._isInVConsole(o.target)||c.onMutation(o)}}),l}return l(t,e),c(t,[{key:"onRenderTab",value:function(e){e(this.$tabbox)}},{key:"onAddTool",value:function(e){var t=this,o=[{name:"Expend",global:!1,onClick:function(e){if(t.activedElem)if(b["default"].hasClass(t.activedElem,"vc-toggle"))for(var o=0;o<t.activedElem.childNodes.length;o++){var n=t.activedElem.childNodes[o];if(b["default"].hasClass(n,"vcelm-l")&&!b["default"].hasClass(n,"vcelm-noc")&&!b["default"].hasClass(n,"vc-toggle")){b["default"].one(".vcelm-node",n).click();break}}else b["default"].one(".vcelm-node",t.activedElem).click()}},{name:"Collapse",global:!1,onClick:function(e){t.activedElem&&(b["default"].hasClass(t.activedElem,"vc-toggle")?b["default"].one(".vcelm-node",t.activedElem).click():t.activedElem.parentNode&&b["default"].hasClass(t.activedElem.parentNode,"vcelm-l")&&b["default"].one(".vcelm-node",t.activedElem.parentNode).click())}}];e(o)}},{key:"onShow",value:function(){if(!this.isInited){this.isInited=!0,this.node=this.getNode(document.documentElement);var e=this.renderView(this.node,b["default"].one(".vc-log",this.$tabbox)),t=b["default"].one(".vcelm-node",e);t&&t.click();var o={attributes:!0,childList:!0,characterData:!0,subtree:!0};this.observer.observe(document.documentElement,o)}}},{key:"onRemove",value:function(){this.observer.disconnect()}},{key:"onMutation",value:function(e){switch(e.type){case"childList":e.removedNodes.length>0&&this.onChildRemove(e),e.addedNodes.length>0&&this.onChildAdd(e);break;case"attributes":this.onAttributesChange(e);break;case"characterData":this.onCharacterDataChange(e)}}},{key:"onChildRemove",value:function(e){var t=e.target,o=t.__vconsole_node;if(o){for(var n=0;n<e.removedNodes.length;n++){var i=e.removedNodes[n],a=i.__vconsole_node;a&&a.view&&a.view.parentNode.removeChild(a.view)}this.getNode(t)}}},{key:"onChildAdd",value:function(e){var t=e.target,o=t.__vconsole_node;if(o){this.getNode(t),o.view&&b["default"].removeClass(o.view,"vcelm-noc");for(var n=0;n<e.addedNodes.length;n++){var i=e.addedNodes[n],a=i.__vconsole_node;if(a)if(null!==e.nextSibling){var r=e.nextSibling.__vconsole_node;r.view&&this.renderView(a,r.view,"insertBefore")}else o.view&&(o.view.lastChild?this.renderView(a,o.view.lastChild,"insertBefore"):this.renderView(a,o.view))}}}},{key:"onAttributesChange",value:function(e){var t=e.target.__vconsole_node;t&&(t=this.getNode(e.target),t.view&&this.renderView(t,t.view,!0))}},{key:"onCharacterDataChange",value:function(e){var t=e.target.__vconsole_node;t&&(t=this.getNode(e.target),t.view&&this.renderView(t,t.view,!0))}},{key:"renderView",value:function(e,t,o){var n=this,i=new p["default"](e).get();switch(e.view=i,b["default"].delegate(i,"click",".vcelm-node",function(t){t.stopPropagation();var o=this.parentNode;if(!b["default"].hasClass(o,"vcelm-noc")){n.activedElem=o,b["default"].hasClass(o,"vc-toggle")?b["default"].removeClass(o,"vc-toggle"):b["default"].addClass(o,"vc-toggle");for(var i=-1,a=0;a<o.children.length;a++){var r=o.children[a];b["default"].hasClass(r,"vcelm-l")&&(i++,r.children.length>0||(e.childNodes[i]?n.renderView(e.childNodes[i],r,"replace"):r.style.display="none"))}}}),o){case"replace":t.parentNode.replaceChild(i,t);break;case"insertBefore":t.parentNode.insertBefore(i,t);break;default:t.appendChild(i)}return i}},{key:"getNode",value:function(e){if(!this._isIgnoredElement(e)){var t=e.__vconsole_node||{};if(t.nodeType=e.nodeType,t.nodeName=e.nodeName,t.tagName=e.tagName||"",t.textContent="",t.nodeType!=e.TEXT_NODE&&t.nodeType!=e.DOCUMENT_TYPE_NODE||(t.textContent=e.textContent),t.id=e.id||"",t.className=e.className||"",t.attributes=[],e.hasAttributes&&e.hasAttributes())for(var o=0;o<eLine truncated
|
||||
!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define("VConsole",[],n):"object"==typeof exports?exports.VConsole=n():t.VConsole=n()}(this||self,(function(){return function(){var __webpack_modules__={4264:function(t,n,e){t.exports=e(7588)},5036:function(t,n,e){e(1719),e(5677),e(6394),e(5334),e(6969),e(2021),e(8328),e(2129);var o=e(1287);t.exports=o.Promise},2582:function(t,n,e){e(1646),e(6394),e(2004),e(462),e(8407),e(2429),e(1172),e(8288),e(1274),e(8201),e(6626),e(3211),e(9952),e(15),e(9831),e(7521),e(2972),e(6956),e(5222),e(2257);var o=e(1287);t.exports=o.Symbol},8257:function(t,n,e){var o=e(7583),r=e(9212),i=e(5637),a=o.TypeError;t.exports=function(t){if(r(t))return t;throw a(i(t)+" is not a function")}},1186:function(t,n,e){var o=e(7583),r=e(2097),i=e(5637),a=o.TypeError;t.exports=function(t){if(r(t))return t;throw a(i(t)+" is not a constructor")}},9882:function(t,n,e){var o=e(7583),r=e(9212),i=o.String,a=o.TypeError;t.exports=function(t){if("object"==typeof t||r(t))return t;throw a("Can't set "+i(t)+" as a prototype")}},6288:function(t,n,e){var o=e(3649),r=e(3590),i=e(4615),a=o("unscopables"),c=Array.prototype;null==c[a]&&i.f(c,a,{configurable:!0,value:r(null)}),t.exports=function(t){c[a][t]=!0}},4761:function(t,n,e){var o=e(7583),r=e(2447),i=o.TypeError;t.exports=function(t,n){if(r(n,t))return t;throw i("Incorrect invocation")}},2569:function(t,n,e){var o=e(7583),r=e(794),i=o.String,a=o.TypeError;t.exports=function(t){if(r(t))return t;throw a(i(t)+" is not an object")}},5766:function(t,n,e){var o=e(2977),r=e(6782),i=e(1825),a=function(t){return function(n,e,a){var c,u=o(n),s=i(u),l=r(a,s);if(t&&e!=e){for(;s>l;)if((c=u[l++])!=c)return!0}else for(;s>l;l++)if((t||l in u)&&u[l]===e)return t||l||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},4805:function(t,n,e){var o=e(2938),r=e(7386),i=e(5044),a=e(1324),c=e(1825),u=e(4822),s=r([].push),l=function(t){var n=1==t,e=2==t,r=3==t,l=4==t,f=6==t,d=7==t,v=5==t||f;return function(h,p,g,m){for(var _,b,y=a(h),w=i(y),E=o(p,g),L=c(w),T=0,x=m||u,C=n?x(h,L):e||d?x(h,0):void 0;L>T;T++)if((v||T in w)&&(b=E(_=w[T],T,y),t))if(n)C[T]=b;else if(b)switch(t){case 3:return!0;case 5:return _;case 6:return T;case 2:s(C,_)}else switch(t){case 4:return!1;case 7:s(C,_)}return f?-1:r||l?l:C}};t.exports={forEach:l(0),map:l(1),filter:l(2),some:l(3),every:l(4),find:l(5),findIndex:l(6),filterReject:l(7)}},9269:function(t,n,e){var o=e(6544),r=e(3649),i=e(4061),a=r("species");t.exports=function(t){return i>=51||!o((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[t](Boolean).foo}))}},4546:function(t,n,e){var o=e(7583),r=e(6782),i=e(1825),a=e(5999),c=o.Array,u=Math.max;t.exports=function(t,n,e){for(var o=i(t),s=r(n,o),l=r(void 0===e?o:e,o),f=c(u(l-s,0)),d=0;s<l;s++,d++)a(f,d,t[s]);return f.length=d,f}},6917:function(t,n,e){var o=e(7386);t.exports=o([].slice)},5289:function(t,n,e){var o=e(7583),r=e(4521),i=e(2097),a=e(794),c=e(3649)("species"),u=o.Array;t.exports=function(t){var n;return r(t)&&(n=t.constructor,(i(n)&&(n===u||r(n.prototype))||a(n)&&null===(n=n[c]))&&(n=void 0)),void 0===n?u:n}},4822:function(t,n,e){var o=e(5289);t.exports=function(t,n){return new(o(t))(0===n?0:n)}},3616:function(t,n,e){var o=e(3649)("iterator"),r=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){r=!0}};a[o]=function(){return this},Array.from(a,(function(){throw 2}))}catch(t){}t.exports=function(t,n){if(!n&&!r)return!1;var e=!1;try{var i={};i[o]=function(){return{next:function(){return{done:e=!0}}}},t(i)}catch(t){}return e}},9624:function(t,n,e){var o=e(7386),r=o({}.toString),i=o("".slice);t.exports=function(t){return i(r(t),8,-1)}},3058:function(t,n,e){var o=e(7583),r=e(8191),i=e(9212),a=e(9624),c=e(3649)("toStringTag"),u=o.Object,s="Arguments"==a(function(){return arguments}());t.exports=r?a:function(t){var n,e,o;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=u(t),c))?e:s?a(n):"Object"==(o=a(n))&&i(n.callee)?"Arguments":o}},1509:function(t,n,e){var o=e(7386)("".replace),r=String(Error("zxcasd").stack),i=/\n\s*at [^:]*:[^\n]*/,a=i.test(r);t.exports=function(t,n){if(a&&"string"==typeof t)for(;n--;)t=o(t,i,"");return t}},3478:function(t,n,e){var o=e(2870),r=e(929),i=e(6683),a=e(4615);t.exports=function(t,n,e){for(var c=r(n),u=a.f,s=i.f,l=0;l<c.length;l++){var f=c[l];o(t,f)||e&&o(e,f)||u(t,f,s(n,f))}}},926:function(t,n,e){var o=e(6544);t.exports=!o((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},4683:function(t,n,e){"use strict";var o=e(2365).IteratorPrototype,r=e(3590),i=e(4677),a=e(8821),c=e(339),u=function(){return this};t.exports=function(t,n,e,s){var l=n+" Iterator";return t.prototype=r(o,{next:i(+!s,e)}),a(t,l,!1,!0),c[l]=u,t}},57:function(t,n,e){var o=e(8494),r=e(4615),i=e(4677);t.exports=o?function(t,n,e){return r.f(t,n,i(1,e))}:function(t,n,e){reLine truncated
|
||||
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 276 KiB |
@@ -0,0 +1,361 @@
|
||||
WEBVTT
|
||||
|
||||
00:00.000 --> 00:05.000
|
||||
bbb-sprite.jpg#xywh=0,0,128,72
|
||||
|
||||
00:05.000 --> 00:10.000
|
||||
bbb-sprite.jpg#xywh=128,0,128,72
|
||||
|
||||
00:10.000 --> 00:15.000
|
||||
bbb-sprite.jpg#xywh=256,0,128,72
|
||||
|
||||
00:15.000 --> 00:20.000
|
||||
bbb-sprite.jpg#xywh=384,0,128,72
|
||||
|
||||
00:20.000 --> 00:25.000
|
||||
bbb-sprite.jpg#xywh=512,0,128,72
|
||||
|
||||
00:25.000 --> 00:30.000
|
||||
bbb-sprite.jpg#xywh=640,0,128,72
|
||||
|
||||
00:30.000 --> 00:35.000
|
||||
bbb-sprite.jpg#xywh=768,0,128,72
|
||||
|
||||
00:35.000 --> 00:40.000
|
||||
bbb-sprite.jpg#xywh=896,0,128,72
|
||||
|
||||
00:40.000 --> 00:45.000
|
||||
bbb-sprite.jpg#xywh=1024,0,128,72
|
||||
|
||||
00:45.000 --> 00:50.000
|
||||
bbb-sprite.jpg#xywh=1152,0,128,72
|
||||
|
||||
00:50.000 --> 00:55.000
|
||||
bbb-sprite.jpg#xywh=1280,0,128,72
|
||||
|
||||
00:55.000 --> 01:00.000
|
||||
bbb-sprite.jpg#xywh=0,72,128,72
|
||||
|
||||
01:00.000 --> 01:05.000
|
||||
bbb-sprite.jpg#xywh=128,72,128,72
|
||||
|
||||
01:05.000 --> 01:10.000
|
||||
bbb-sprite.jpg#xywh=256,72,128,72
|
||||
|
||||
01:10.000 --> 01:15.000
|
||||
bbb-sprite.jpg#xywh=384,72,128,72
|
||||
|
||||
01:15.000 --> 01:20.000
|
||||
bbb-sprite.jpg#xywh=512,72,128,72
|
||||
|
||||
01:20.000 --> 01:25.000
|
||||
bbb-sprite.jpg#xywh=640,72,128,72
|
||||
|
||||
01:25.000 --> 01:30.000
|
||||
bbb-sprite.jpg#xywh=768,72,128,72
|
||||
|
||||
01:30.000 --> 01:35.000
|
||||
bbb-sprite.jpg#xywh=896,72,128,72
|
||||
|
||||
01:35.000 --> 01:40.000
|
||||
bbb-sprite.jpg#xywh=1024,72,128,72
|
||||
|
||||
01:40.000 --> 01:45.000
|
||||
bbb-sprite.jpg#xywh=1152,72,128,72
|
||||
|
||||
01:45.000 --> 01:50.000
|
||||
bbb-sprite.jpg#xywh=1280,72,128,72
|
||||
|
||||
01:50.000 --> 01:55.000
|
||||
bbb-sprite.jpg#xywh=0,144,128,72
|
||||
|
||||
01:55.000 --> 02:00.000
|
||||
bbb-sprite.jpg#xywh=128,144,128,72
|
||||
|
||||
02:00.000 --> 02:05.000
|
||||
bbb-sprite.jpg#xywh=256,144,128,72
|
||||
|
||||
02:05.000 --> 02:10.000
|
||||
bbb-sprite.jpg#xywh=384,144,128,72
|
||||
|
||||
02:10.000 --> 02:15.000
|
||||
bbb-sprite.jpg#xywh=512,144,128,72
|
||||
|
||||
02:15.000 --> 02:20.000
|
||||
bbb-sprite.jpg#xywh=640,144,128,72
|
||||
|
||||
02:20.000 --> 02:25.000
|
||||
bbb-sprite.jpg#xywh=768,144,128,72
|
||||
|
||||
02:25.000 --> 02:30.000
|
||||
bbb-sprite.jpg#xywh=896,144,128,72
|
||||
|
||||
02:30.000 --> 02:35.000
|
||||
bbb-sprite.jpg#xywh=1024,144,128,72
|
||||
|
||||
02:35.000 --> 02:40.000
|
||||
bbb-sprite.jpg#xywh=1152,144,128,72
|
||||
|
||||
02:40.000 --> 02:45.000
|
||||
bbb-sprite.jpg#xywh=1280,144,128,72
|
||||
|
||||
02:45.000 --> 02:50.000
|
||||
bbb-sprite.jpg#xywh=0,216,128,72
|
||||
|
||||
02:50.000 --> 02:55.000
|
||||
bbb-sprite.jpg#xywh=128,216,128,72
|
||||
|
||||
02:55.000 --> 03:00.000
|
||||
bbb-sprite.jpg#xywh=256,216,128,72
|
||||
|
||||
03:00.000 --> 03:05.000
|
||||
bbb-sprite.jpg#xywh=384,216,128,72
|
||||
|
||||
03:05.000 --> 03:10.000
|
||||
bbb-sprite.jpg#xywh=512,216,128,72
|
||||
|
||||
03:10.000 --> 03:15.000
|
||||
bbb-sprite.jpg#xywh=640,216,128,72
|
||||
|
||||
03:15.000 --> 03:20.000
|
||||
bbb-sprite.jpg#xywh=768,216,128,72
|
||||
|
||||
03:20.000 --> 03:25.000
|
||||
bbb-sprite.jpg#xywh=896,216,128,72
|
||||
|
||||
03:25.000 --> 03:30.000
|
||||
bbb-sprite.jpg#xywh=1024,216,128,72
|
||||
|
||||
03:30.000 --> 03:35.000
|
||||
bbb-sprite.jpg#xywh=1152,216,128,72
|
||||
|
||||
03:35.000 --> 03:40.000
|
||||
bbb-sprite.jpg#xywh=1280,216,128,72
|
||||
|
||||
03:40.000 --> 03:45.000
|
||||
bbb-sprite.jpg#xywh=0,288,128,72
|
||||
|
||||
03:45.000 --> 03:50.000
|
||||
bbb-sprite.jpg#xywh=128,288,128,72
|
||||
|
||||
03:50.000 --> 03:55.000
|
||||
bbb-sprite.jpg#xywh=256,288,128,72
|
||||
|
||||
03:55.000 --> 04:00.000
|
||||
bbb-sprite.jpg#xywh=384,288,128,72
|
||||
|
||||
04:00.000 --> 04:05.000
|
||||
bbb-sprite.jpg#xywh=512,288,128,72
|
||||
|
||||
04:05.000 --> 04:10.000
|
||||
bbb-sprite.jpg#xywh=640,288,128,72
|
||||
|
||||
04:10.000 --> 04:15.000
|
||||
bbb-sprite.jpg#xywh=768,288,128,72
|
||||
|
||||
04:15.000 --> 04:20.000
|
||||
bbb-sprite.jpg#xywh=896,288,128,72
|
||||
|
||||
04:20.000 --> 04:25.000
|
||||
bbb-sprite.jpg#xywh=1024,288,128,72
|
||||
|
||||
04:25.000 --> 04:30.000
|
||||
bbb-sprite.jpg#xywh=1152,288,128,72
|
||||
|
||||
04:30.000 --> 04:35.000
|
||||
bbb-sprite.jpg#xywh=1280,288,128,72
|
||||
|
||||
04:35.000 --> 04:40.000
|
||||
bbb-sprite.jpg#xywh=0,360,128,72
|
||||
|
||||
04:40.000 --> 04:45.000
|
||||
bbb-sprite.jpg#xywh=128,360,128,72
|
||||
|
||||
04:45.000 --> 04:50.000
|
||||
bbb-sprite.jpg#xywh=256,360,128,72
|
||||
|
||||
04:50.000 --> 04:55.000
|
||||
bbb-sprite.jpg#xywh=384,360,128,72
|
||||
|
||||
04:55.000 --> 05:00.000
|
||||
bbb-sprite.jpg#xywh=512,360,128,72
|
||||
|
||||
05:00.000 --> 05:05.000
|
||||
bbb-sprite.jpg#xywh=640,360,128,72
|
||||
|
||||
05:05.000 --> 05:10.000
|
||||
bbb-sprite.jpg#xywh=768,360,128,72
|
||||
|
||||
05:10.000 --> 05:15.000
|
||||
bbb-sprite.jpg#xywh=896,360,128,72
|
||||
|
||||
05:15.000 --> 05:20.000
|
||||
bbb-sprite.jpg#xywh=1024,360,128,72
|
||||
|
||||
05:20.000 --> 05:25.000
|
||||
bbb-sprite.jpg#xywh=1152,360,128,72
|
||||
|
||||
05:25.000 --> 05:30.000
|
||||
bbb-sprite.jpg#xywh=1280,360,128,72
|
||||
|
||||
05:30.000 --> 05:35.000
|
||||
bbb-sprite.jpg#xywh=0,432,128,72
|
||||
|
||||
05:35.000 --> 05:40.000
|
||||
bbb-sprite.jpg#xywh=128,432,128,72
|
||||
|
||||
05:40.000 --> 05:45.000
|
||||
bbb-sprite.jpg#xywh=256,432,128,72
|
||||
|
||||
05:45.000 --> 05:50.000
|
||||
bbb-sprite.jpg#xywh=384,432,128,72
|
||||
|
||||
05:50.000 --> 05:55.000
|
||||
bbb-sprite.jpg#xywh=512,432,128,72
|
||||
|
||||
05:55.000 --> 06:00.000
|
||||
bbb-sprite.jpg#xywh=640,432,128,72
|
||||
|
||||
06:00.000 --> 06:05.000
|
||||
bbb-sprite.jpg#xywh=768,432,128,72
|
||||
|
||||
06:05.000 --> 06:10.000
|
||||
bbb-sprite.jpg#xywh=896,432,128,72
|
||||
|
||||
06:10.000 --> 06:15.000
|
||||
bbb-sprite.jpg#xywh=1024,432,128,72
|
||||
|
||||
06:15.000 --> 06:20.000
|
||||
bbb-sprite.jpg#xywh=1152,432,128,72
|
||||
|
||||
06:20.000 --> 06:25.000
|
||||
bbb-sprite.jpg#xywh=1280,432,128,72
|
||||
|
||||
06:25.000 --> 06:30.000
|
||||
bbb-sprite.jpg#xywh=0,504,128,72
|
||||
|
||||
06:30.000 --> 06:35.000
|
||||
bbb-sprite.jpg#xywh=128,504,128,72
|
||||
|
||||
06:35.000 --> 06:40.000
|
||||
bbb-sprite.jpg#xywh=256,504,128,72
|
||||
|
||||
06:40.000 --> 06:45.000
|
||||
bbb-sprite.jpg#xywh=384,504,128,72
|
||||
|
||||
06:45.000 --> 06:50.000
|
||||
bbb-sprite.jpg#xywh=512,504,128,72
|
||||
|
||||
06:50.000 --> 06:55.000
|
||||
bbb-sprite.jpg#xywh=640,504,128,72
|
||||
|
||||
06:55.000 --> 07:00.000
|
||||
bbb-sprite.jpg#xywh=768,504,128,72
|
||||
|
||||
07:00.000 --> 07:05.000
|
||||
bbb-sprite.jpg#xywh=896,504,128,72
|
||||
|
||||
07:05.000 --> 07:10.000
|
||||
bbb-sprite.jpg#xywh=1024,504,128,72
|
||||
|
||||
07:10.000 --> 07:15.000
|
||||
bbb-sprite.jpg#xywh=1152,504,128,72
|
||||
|
||||
07:15.000 --> 07:20.000
|
||||
bbb-sprite.jpg#xywh=1280,504,128,72
|
||||
|
||||
07:20.000 --> 07:25.000
|
||||
bbb-sprite.jpg#xywh=0,576,128,72
|
||||
|
||||
07:25.000 --> 07:30.000
|
||||
bbb-sprite.jpg#xywh=128,576,128,72
|
||||
|
||||
07:30.000 --> 07:35.000
|
||||
bbb-sprite.jpg#xywh=256,576,128,72
|
||||
|
||||
07:35.000 --> 07:40.000
|
||||
bbb-sprite.jpg#xywh=384,576,128,72
|
||||
|
||||
07:40.000 --> 07:45.000
|
||||
bbb-sprite.jpg#xywh=512,576,128,72
|
||||
|
||||
07:45.000 --> 07:50.000
|
||||
bbb-sprite.jpg#xywh=640,576,128,72
|
||||
|
||||
07:50.000 --> 07:55.000
|
||||
bbb-sprite.jpg#xywh=768,576,128,72
|
||||
|
||||
07:55.000 --> 08:00.000
|
||||
bbb-sprite.jpg#xywh=896,576,128,72
|
||||
|
||||
08:00.000 --> 08:05.000
|
||||
bbb-sprite.jpg#xywh=1024,576,128,72
|
||||
|
||||
08:05.000 --> 08:10.000
|
||||
bbb-sprite.jpg#xywh=1152,576,128,72
|
||||
|
||||
08:10.000 --> 08:15.000
|
||||
bbb-sprite.jpg#xywh=1280,576,128,72
|
||||
|
||||
08:15.000 --> 08:20.000
|
||||
bbb-sprite.jpg#xywh=0,648,128,72
|
||||
|
||||
08:20.000 --> 08:25.000
|
||||
bbb-sprite.jpg#xywh=128,648,128,72
|
||||
|
||||
08:25.000 --> 08:30.000
|
||||
bbb-sprite.jpg#xywh=256,648,128,72
|
||||
|
||||
08:30.000 --> 08:35.000
|
||||
bbb-sprite.jpg#xywh=384,648,128,72
|
||||
|
||||
08:35.000 --> 08:40.000
|
||||
bbb-sprite.jpg#xywh=512,648,128,72
|
||||
|
||||
08:40.000 --> 08:45.000
|
||||
bbb-sprite.jpg#xywh=640,648,128,72
|
||||
|
||||
08:45.000 --> 08:50.000
|
||||
bbb-sprite.jpg#xywh=768,648,128,72
|
||||
|
||||
08:50.000 --> 08:55.000
|
||||
bbb-sprite.jpg#xywh=896,648,128,72
|
||||
|
||||
08:55.000 --> 09:00.000
|
||||
bbb-sprite.jpg#xywh=1024,648,128,72
|
||||
|
||||
09:00.000 --> 09:05.000
|
||||
bbb-sprite.jpg#xywh=1152,648,128,72
|
||||
|
||||
09:05.000 --> 09:10.000
|
||||
bbb-sprite.jpg#xywh=1280,648,128,72
|
||||
|
||||
09:10.000 --> 09:15.000
|
||||
bbb-sprite.jpg#xywh=0,720,128,72
|
||||
|
||||
09:15.000 --> 09:20.000
|
||||
bbb-sprite.jpg#xywh=128,720,128,72
|
||||
|
||||
09:20.000 --> 09:25.000
|
||||
bbb-sprite.jpg#xywh=256,720,128,72
|
||||
|
||||
09:25.000 --> 09:30.000
|
||||
bbb-sprite.jpg#xywh=384,720,128,72
|
||||
|
||||
09:30.000 --> 09:35.000
|
||||
bbb-sprite.jpg#xywh=512,720,128,72
|
||||
|
||||
09:35.000 --> 09:40.000
|
||||
bbb-sprite.jpg#xywh=640,720,128,72
|
||||
|
||||
09:40.000 --> 09:45.000
|
||||
bbb-sprite.jpg#xywh=768,720,128,72
|
||||
|
||||
09:45.000 --> 09:50.000
|
||||
bbb-sprite.jpg#xywh=896,720,128,72
|
||||
|
||||
09:50.000 --> 09:55.000
|
||||
bbb-sprite.jpg#xywh=1024,720,128,72
|
||||
|
||||
09:55.000 --> 10:00.000
|
||||
bbb-sprite.jpg#xywh=1152,720,128,72
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><i><chatserver></chatserver><chatid>11724691</chatid><mission></mission><maxlimit></maxlimit><state></state><real_name></real_name><source></source><d p="0.465,5,25,26214,1480410348,11,e6d2b8ad,2704552969">泷:三叶,请记住我的名字“I LOVE YOU”</d><d p="0.465,5,25,16777215,1480410348,11,e6d2b8ad,2704553613">泷:三叶,请记住我的名字“I LOVE YOU”</d><d p="0.465,5,25,26112,1480410348,11,e6d2b8ad,2704554207">泷:三叶,请记住我的名字“I LOVE YOU”</d><d p="0.465,5,25,153,1480410349,11,e6d2b8ad,2704554619">泷:三叶,请记住我的名字“I LOVE YOU”</d><d p="0.465,5,25,6750054,1480410349,11,e6d2b8ad,2704555293">泷:三叶,请记住我的名字“I LOVE YOU”</d><d p="0,1,25,16777215,1480507709,1,f1118a60,2707380543"> 被秀了一脸恩爱</d><d p="0,1,25,16777215,1480507733,11,71176b2b,2707448679">和素未相识的网友一起配对啦!有点小激动~</d><d p="0.397,1,25,16777215,1480507736,11,30ae2d68,2707456541">配对成功,领到票了!~感谢B站!</d><d p="0.998,4,25,16711680,1480511354,11,784632ed,2707517761">长理携手同行~君之名</d><d p="0.464,5,25,16711680,1480511374,11,b430db82,2707587437">南宁单身狗的愤怒!!!!抢不到票!只能买!!!</d><d p="0,5,25,6750156,1485234066,11,e3205a8,2892019964">真·神作</d><d p="0.659,5,25,16777215,1494846439,11,6f2da951,3360883360">小僚机,我知道你会来看</d><d p="0.216,5,25,15138834,1627771015,1,ec179f6,52758493762945027">十个在哭,九个在狂笑(指鬼畜)</d><d p="1.103,1,25,16777215,1479974691,11,34d8ddf9,2689553545">我要把我欠的票都还了</d><d p="1.101,5,25,15138834,1479982003,11,7a51ca7e,2689798191">新海诚的票该还了!</d><d p="1.186,5,25,16711680,1480179684,11,9b7de097,2697536623">清露,牵手一起看吧</d><d p="1.242,5,25,41194,1480413988,1,1bf2e5d0,2704646713">呐,媳妇,我们一起看吧,然后订婚吧</d><d p="1.236,5,25,16777215,1480507737,1,4c53bc94,2707460573">你们能够理解我找妹子但是她登陆不上</d><d p="1.236,5,25,16777215,1480507737,11,4c53bc94,2707462659">最后迫不得已和室友配对成功,妹子又能登陆了</d><d p="1.984,1,25,16777215,1480842316,1,9ec9710f,2719145455">诚哥已经暴走碾压票房了</d><d p="1.362,5,25,16737843,1480932398,11,11000a3,2722220923">希望下辈子可以做个东京的帅哥</d><d p="1.687,1,25,16776960,1480939732,11,9d428cc8,2722641857">你的名字并出示你的驾驶证,你已经违规超速</d><d p="1.024,5,25,16777215,1481346068,11,a1d2e4fd,2735207423">希望下辈子可以做个东京的帅哥</d><d p="1.382,5,25,16707842,1487761657,9,d1f803de,3034151580">你的名字,茨木童子</d><d p="1.336,5,25,15138834,1501816307,1,116cf666,3647711960">结果跟基友看了。。。</d><d p="1.819,5,25,16777215,1523157002,11,42ca01f4,4446088750">bgm是黄昏之时 32秒开始</d><d p="1.662,4,25,9487136,1563115700,10,234a8c6a,18860487968030784">看的时候几乎从中间就开始哭,哭到坐车回家的路上还是在哭</d><d p="1.415,5,25,15138834,1626699746,1,ec179f6,52196839793360899">一个被鬼畜区玩坏的新海诚作品预告</d><d p="2.977,1,25,16777215,1479711804,8,a95074f6,2681576151">把之前欠诚哥的电影票还了!!!!</d><d p="2.403,1,25,14811775,1479711820,1,540181fb,2681602949">今晚逃晚自习来看</d><d p="2.261,1,25,16777215,1479867045,7,57aabaf6,2686476547">一天看 十次的节奏</d><d p="2.914,1,25,16777215,1479996640,11,6d5943e4,2690508451">已订票!!!坐标成都!!</d><d p="2.746,5,25,65535,1480064712,11,6719b12f,2692368809">清晨,我睁开眼睛时</d><d p="2.542,1,25,16777215,1480158460,7,b69f3e5a,2696198143">看完超级感动!!!!想和喜欢的人一起去看!!!你的名字是——SXY</d><d p="2.363,5,25,16776960,1480165758,5,c160358f,2696604905">钟晋我们一起去看吧</d><d p="2.311,5,25,16777215,1480233862,4,8017a98f,2699305393">荧荧。我们一起去看好吗。</d><d p="2.036,4,18,16777215,1480345885,7,d948d805,2703226509">目が覚めると</d><d p="2.601,1,25,41194,1480413988,1,1bf2e5d0,2704647585">呐,媳妇,我们一起看吧,然后订婚吧</d><d p="2.527,1,25,10079232,1480417658,11,2805d07,2704838747">小祁啊~好想和你一起去看啊</d><d p="2.98,1,25,16777215,1480507716,9,7c74b51c,2707397713">Morphine,其实Sekka想跟你一起去</d><d p="2.683,5,25,14811775,1480507722,9,4c28c99,2707414993">好的 安徒生</d><d p="2.12,5,25,16711680,1480507737,1,3c70614c,2707461715">邓云遥,我们一起去看吧~</d><d p="2.813,1,25,16777215,1480511374,6,1be1c658,2707587439">宝贝,咱俩一起看</d><d p="2.618,5,25,6737151,1480511393,11,2168da58,2707658573">同南宁,估计又得自己去淘票了!</d><d p="2.159,1,25,16777215,1480518663,9,e4a4c1fc,2707915557">不知道为什么只是看见这个开头就有种想哭的感</d><d p="2.03,1,25,14811775,1480536244,9,b647f440,2708348593">没抢到票。。。Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><i><chatserver>chat.bilibili.com</chatserver><chatid>580770634</chatid><mission>0</mission><maxlimit>1500</maxlimit><state>0</state><real_name>0</real_name><source>k-v</source><d p="481.89400,1,25,16777215,1653692078,0,70e36298,1062005140992593408,11">可以去太湖捞捞试试(狗头保命</d><d p="265.37800,1,25,16777215,1653616680,0,88afabc0,1061372654017566976,11">好了,今天就到这,我感觉生物钟启动了,我要睡了</d><d p="777.55400,1,25,16777215,1653575476,0,9bcc00a2,1061027009955725568,11">当然是sha256(sha256(pw)+salt)</d><d p="13.88600,1,25,16777215,1653570775,0,966e6348,1060987581535333376,11">Swift~~~</d><d p="454.63400,1,25,16777215,1652717912,0,6d2da793,1053833248746068480,11">搞个共享数据库,像挖矿一样每个人算好的都可以上传</d><d p="177.13900,1,25,16777215,1652453333,0,fb4f660b,1051613793517396736,11">有点懵,但感到很震撼</d><d p="22.57900,1,25,16777215,1652430212,0,bdb52a9e,1051419843691098880,11">哈希值</d><d p="58.06700,1,25,16777215,1652368788,0,e91e8413,1050904578150762496,11">有了粉碎机,家里就只剩下粉碎机了</d><d p="275.65900,5,25,16777215,1652354865,0,397b3aab,1050787785968982016,11">《我知道了》</d><d p="774.77900,1,25,16777215,1652256952,0,542886c4,1049966433997495040,11">奥卡姆剃刀</d><d p="352.26200,1,25,16777215,1652247365,0,139fd1a2,1049886011934382080,11">加盐只是通过不确定的盐来隐藏确定的原值,增加彩虹表的制作难度</d><d p="395.65900,1,25,16777215,1652169656,0,e2308d98,1049234139607279872,11">哈希冲突</d><d p="346.72900,1,25,16777215,1652112430,0,54ba448a,1048754095986328064,11">《彩虹表》</d><d p="653.60600,1,25,16777215,1652101305,0,5ec1b46c,1048660766959520768,11">哈哈,这个可以使git库瞬间挂掉</d><d p="461.75200,1,25,16777215,1652101091,0,5ec1b46c,1048658979179723264,11">做个超级字典,把最常用的组合记录下来就行了</d><d p="94.11200,1,25,16777215,1652100683,0,5ec1b46c,1048655552173002240,11">哈希根本不是加密,只是摘要算法</d><d p="386.19500,1,25,16777215,1652097650,0,c4cc4296,1048630114516051968,11">组合数学开始了</d><d p="414.69100,1,25,16777215,1652084321,0,fafcfbb0,1048518297794048256,11">设计者自己找不到(doge</d><d p="59.62300,5,25,16707842,1652052664,0,971041b8,1048252744781197824,11">我会!</d><d p="445.99300,1,25,16777215,1651998604,0,53d75164,1047799249896694016,11">哎嘿 很勇哦</d><d p="641.24300,1,25,16777215,1651991247,0,ed4717ed,1047737536325133312,11">但是加盐还是有用</d><d p="408.97200,1,25,16777215,1651977907,0,4bd9a2d7,1047625636933279232,11">可以存在一个笼子里一只鸽子也没有</d><d p="511.84900,1,25,16777215,1651972503,0,f0826639,1047580298436422144,11">哈希冲突</d><d p="520.96700,5,25,16777215,1651967260,0,27acb016,1047536317854342656,11">列巴的列(补充</d><d p="558.75200,1,25,16777215,1651940306,0,860de6bd,1047310216540149504,11">《模仿游戏》来了</d><d p="505.15000,1,25,16777215,1651940233,0,860de6bd,1047309599239544064,11">电影《模仿游戏》</d><d p="488.98600,1,25,16777215,1651927542,0,44f3ad45,1047203142191739648,11">俺姆昂鸽瑞!</d><d p="586.48600,1,25,16777215,1651849723,0,29026d4b,1046550345196703488,11">烫烫烫哈哈哈哈哈哈!</d><d p="102.05200,1,25,16777215,1651839216,0,1336ac64,1046462209011973120,11">王小云,指数级缩短了MD5的碰撞时间</d><d p="55.82000,1,25,16777215,1651825875,0,38443e73,1046350293337386752,11">一半我做的登录都会生成一个密码盐,存在本地</d><d p="681.33200,1,25,16777215,1651819803,0,fc3f2a25,1046299363606827264,11">加盐也对付不了碰撞 只能对付彩虹表</d><d p="18.26500,1,25,16777215,1651816441,0,cf2bea01,1046271154899279872,11">A(欸)P(劈)P(劈)</d><d p="567.29500,1,25,16777215,1651812016,0,5309839c,1046234041289880832,11">你错了,图灵对这个并不熟</d><d p="504.07300,1,25,16777215,1651806653,0,58c10bda,1046189050064611584,11">加盐</d><d p="350.22000,1,25,16777215,1651798844,0,d3cbe582,1046123548323639040,11">所以要加盐</d><d p="59.55900,1,25,16777215,1651793262,0,dc9b4d74,1046076722316952576,11">哈希有很小很小的概率把两个不一样的东西映射成一个</d><d p="468.25000,1,25,16777215,1651762009,0,1e90bb3e,1045814547245588736,11">量子计算:这个我熟</d><d p="565.29300,1,25,16777215,1651722446,0,1b70a4,1045482667682264064,11">图灵说:这个我熟</d><d p="652.84300,1,25,16777215,1651713497,0,9e19237c,1045407604815323904,11">图片隐写</d><d p="391.57200,1,25,16777215,1651622858,0,d78de8a,1044647266629422336,11">吾生而有崖</d><d p="273.57700,1,25,16777215,1651509100,0,c8ed82e9,1043692993388749056,11">《也可以100行以内》</d><d p="494.74000,1,25,16777215,1651405107,0,8262fe93,1042820639116808192,11">数据库!</d><d p="753.23500,1,25,16777215,1651385801,0,ea9eeeda,1042658687317412864,11">火速换RSA!</d><d p="747.76900,1,25,16777215Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
[{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6253\u620f\u8d4f\u5fc3\u60a6\u76ee","time":60.139,"color":"#FFFFFF"},{"text":"\u6765\u770b\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6f14\u6280\u5927\u8d4f","time":61.765,"color":"#FABE96"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u597d\u4e0a\u955c","time":61.857,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6253\u620f\u975e\u5e38\u884c\u4e91\u6d41\u6c34","time":61,"color":"#FFFFFF"},{"text":"\u60f3\u5230\u4e86\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6a21\u4eff\u522b\u4eba\u5b66\u7740\u4f9d\u504e\u7684\u6837\u5b50","time":61.486,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u4eea\u6001\u597d\u6c14\u8d28\u4f73","time":62.995,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6253\u620f\u8d4f\u5fc3\u60a6\u76ee","time":62.925,"color":"#FFFFFF"},{"text":"\u770b\u4e86\u8fd9\u4e2a\u5267\u66f4\u559c\u6b22\u7f57\u4e91\u7199\u4e86","time":62.717,"color":"#FFFFFF"},{"text":"\u6211\u53ef\u592a\u559c\u6b22\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u7684\u7709\u773c\u4e86","time":63.529,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u554a\u554a\u554a\u554a","time":63.287,"color":"#FFFFFF"},{"text":"\u5927\u7231\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u7684\u989c\u503c\u6c14\u8d28","time":64.412,"color":"#FFFFFF"},{"text":"\u9ed1\u5316\u5427\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec","time":64.365,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6f14\u6280\u975e\u5e38\u597d","time":65.875,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6253\u620f\u771f\u7cbe\u5f69","time":66.107,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u8ff7\u7684\u6211\u4e94\u8ff7\u4e09\u9053","time":66.316,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u62ff\u7a33\u88ab\u8650\u5267\u672c","time":66.873,"color":"#FFFFFF"},{"text":"\u6765\u770b\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6f14\u6280\u5927\u8d4f","time":67.407,"color":"#FABE96"},{"text":"\u770b\u5b8c\u4e0a\u5b98\u900f\u6765\u770b\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u8fa3","time":67.848,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6253\u620f\u884c\u4e91\u6d41\u6c34","time":67.964,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u725b\u903c","time":67.454,"color":"#FFFFFF"},{"text":"\u7247\u5934\u90fd\u820d\u4e0d\u5f97\u8df3","time":68.336,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6253\u620f\u5f88\u597d","time":68.661,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u51fa\u573a\u5373\u60ca\u8273","time":68.474,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u7684\u6bcf\u4e00\u4e2a\u89d2\u8272\u90fd\u8ba9\u4eba\u65e0\u6cd5\u6297\u62d2","time":68.984,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u786e\u5b9e\u503c\u5f97\u4e00\u770b","time":69.311,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u6211\u592a\u53ef\u4ee5\u4e86","time":69,"color":"#FFFFFF"},{"text":"\u770b\u4e86\u8fd9\u4e2a\u5267\u66f4\u559c\u6b22\u7f57\u4e91\u7199\u4e86","time":69.915,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u80fd\u628a\u60ac\u6d6e\u7684\u6fb9\u53f0\u70ec\u9970\u6f14\u7684\u8ba9\u4eba\u5171\u60c5","time":69,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6f14\u6280\u592a\u597d\u4e86","time":69.775,"color":"#FFFFFF"},{"text":"\u5439\u7206\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec","time":70.356,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u771f\u662f\u624b\u63a7\u798f\u5229","time":70.913,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u60c5\u5546\u6ee1\u5206","time":70.797,"color":"#FFFFFF"},{"text":"\u4e0b\u73ed\u5403\u996d\u5b8c\u5c31\u6253\u5f00\u7535\u8111","time":70.89,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u53e4\u88c5\u9ca8\u6211","time":70.1,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u597d\u5e05","time":70,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u7f57\u4e91\u7199","time":70.978,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u65f6\u9694\u4e94\u5e74\u7684\u53e4\u88c5\u4ed9\u4fa0\u957f\u6708\u70ec\u660e","time":70.867,"color":"#FFFFFF"},{"text":"\u5927\u7231\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u7684\u989c\u503c\u6c14\u8d28","time":71.238,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u7684\u6fb9\u53f0\u70ec\u975e\u5e38\u6709\u827a\u672f\u5438\u5f15\u529b","time":71,"color":"#FFFFFF"},{"text":"\u770b\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u7b80\u76f4\u662f\u79cd\u4eab\u53d7","time":72.515,"color":"#FFFFFF"},{"text":"\u597d\u559c\u6b22\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u7684\u8fd9\u4e2a\u611f\u89c9","time":72.33,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec\u597d\u82cf\u554a","time":72,"color":"#FFFFFF"},{"text":"\u559c\u6b22\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec","time":72.33,"color":"#FFFFFF"},{"text":"\u71ac\u591c\u770b\u7f57\u4e91\u7199\u6fb9\u53f0\u70ec","time":72.98,"color":"#FFFFFF"},{"text":"\u7f57\u4e91\u7199\u6fb9\u53fLine truncated
|
||||
@@ -0,0 +1,515 @@
|
||||
[Script Info]
|
||||
Title: bilibili ASS 弹幕在线转换
|
||||
Original Script: 根据 danmuku.xml 的弹幕信息,由 https://github.com/tiansh/us-danmaku 生成
|
||||
ScriptType: v4.00+
|
||||
Collisions: Normal
|
||||
PlayResX: 560
|
||||
PlayResY: 420
|
||||
Timer: 10.0000
|
||||
|
||||
[V4+ Styles]
|
||||
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
|
||||
Style: Fix,Source Han Sans CN Bold,25,&H66FFFFFF,&H66FFFFFF,&H66000000,&H66000000,1,0,0,0,100,100,0,0,1,2,0,2,20,20,2,0
|
||||
Style: R2L,Source Han Sans CN Bold,25,&H66FFFFFF,&H66FFFFFF,&H66000000,&H66000000,1,0,0,0,100,100,0,0,1,2,0,2,20,20,2,0
|
||||
|
||||
[Events]
|
||||
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
|
||||
Dialogue: 0,0:00:00.00,0:00:04.00,Fix,,20,20,2,,{\pos(280,25)\c&H000099\3c&HFFFFFF}自己看的
|
||||
Dialogue: 0,0:00:00.00,0:00:08.00,R2L,,20,20,2,,{\move(722.5,25,-162.5,25)}三叶的口嚼酒我能喝到肝硬化
|
||||
Dialogue: 0,0:00:00.00,0:00:04.00,Fix,,20,20,2,,{\pos(280,50)\c&HCCFF66}真·神作
|
||||
Dialogue: 0,0:00:00.00,0:00:08.00,R2L,,20,20,2,,{\move(590,50,-30,50)}mmp
|
||||
Dialogue: 0,0:00:00.31,0:00:08.31,R2L,,20,20,2,,{\move(597.5,75,-37.5,75)\c&H1200E7}龙思颖
|
||||
Dialogue: 0,0:00:00.47,0:00:04.47,Fix,,20,20,2,,{\pos(280,370)}我好喜欢这这一段话~~~
|
||||
Dialogue: 0,0:00:00.49,0:00:08.49,R2L,,20,20,2,,{\move(772.5,100,-212.5,100)\c&H1200E7}求野生字幕君把罗马音加上,急急急~
|
||||
Dialogue: 0,0:00:00.65,0:00:04.65,Fix,,20,20,2,,{\pos(280,75)}小僚机,我知道你会来看
|
||||
Dialogue: 0,0:00:00.66,0:00:04.66,Fix,,20,20,2,,{\pos(280,100)\c&H1200E7}@你的光头! !
|
||||
Dialogue: 0,0:00:00.91,0:00:04.91,Fix,,20,20,2,,{\pos(280,125)}这里的伴奏真的好配啊!
|
||||
Dialogue: 0,0:00:01.06,0:00:09.06,R2L,,20,20,2,,{\move(597.5,125,-37.5,125)}你好!
|
||||
Dialogue: 0,0:00:01.10,0:00:05.10,Fix,,20,20,2,,{\pos(280,150)}本大爷的名字,世间无人不晓
|
||||
Dialogue: 0,0:00:01.14,0:00:09.14,R2L,,20,20,2,,{\move(642.5,150,-82.5,150)}电影院6刷路过
|
||||
Dialogue: 0,0:00:01.24,0:00:05.24,Fix,,20,20,2,,{\pos(280,175)\c&H02F1FE}求BGM
|
||||
Dialogue: 0,0:00:01.32,0:00:09.32,R2L,,20,20,2,,{\move(660,175,-100,175)}看了两遍哭了两遍
|
||||
Dialogue: 0,0:00:01.33,0:00:05.33,Fix,,20,20,2,,{\pos(280,200)\c&H1200E7}结果跟基友看了。。。
|
||||
Dialogue: 0,0:00:01.38,0:00:05.38,Fix,,20,20,2,,{\pos(280,225)\c&H02F1FE}你的名字,茨木童子
|
||||
Dialogue: 0,0:00:01.56,0:00:09.56,R2L,,20,20,2,,{\move(628,50,-68,50)\c&H439800}五刷纪念 sc
|
||||
Dialogue: 0,0:00:01.58,0:00:09.58,R2L,,20,20,2,,{\move(677,200,-117,200)}这里的BGM是什么啊
|
||||
Dialogue: 0,0:00:01.73,0:00:05.73,Fix,,20,20,2,,{\pos(280,345)\c&H00FFFF}asa、me ga sameruto nazeka naiteiru。
|
||||
Dialogue: 0,0:00:01.81,0:00:05.81,Fix,,20,20,2,,{\pos(280,250)}bgm是黄昏之时 32秒开始
|
||||
Dialogue: 0,0:00:01.86,0:00:09.86,R2L,,20,20,2,,{\move(627,75,-67,75)}BGM好棒!
|
||||
Dialogue: 0,0:00:02.24,0:00:10.24,R2L,,20,20,2,,{\move(768.5,225,-208.5,225)\c&H1200E7}预告片都好燃 好喜欢 够我无限循环了
|
||||
Dialogue: 0,0:00:02.50,0:00:10.50,R2L,,20,20,2,,{\move(772.5,250,-212.5,250)}朝、目が覚めるとなぜか泣いている。
|
||||
Dialogue: 0,0:00:02.64,0:00:06.64,Fix,,20,20,2,,{\pos(280,275)\c&H1200E7}今晚三刷!
|
||||
Dialogue: 0,0:00:02.93,0:00:10.93,R2L,,20,20,2,,{\move(635,25,-75,25)}三刷回来留念
|
||||
Dialogue: 0,0:00:02.95,0:00:06.95,Fix,,20,20,2,,{\pos(280,300)\c&H1200E7}入宅神作
|
||||
Dialogue: 0,0:00:03.12,0:00:11.12,R2L,,20,20,2,,{\move(610,50,-50,50)}你的名字
|
||||
Dialogue: 0,0:00:03.16,0:00:11.16,R2L,,20,20,2,,{\move(660,125,-100,125)\c&H0000FF}你的名字:陈常鑫
|
||||
Dialogue: 0,0:00:03.42,0:00:11.42,R2L,,20,20,2,,{\move(660,175,-100,175)}为啥我听不见qwq
|
||||
Dialogue: 0,0:00:03.49,0:00:11.49,R2L,,20,20,2,,{\move(800.5,275,-240.5,275)\c&H000000\3c&HFFFFFF}“爱”就是科学与逻辑永远无法解释的程序。
|
||||
Dialogue: 0,0:00:03.78,0:00:11.78,R2L,,20,20,2,,{\move(697.5,150,-137.5,150)}在中国这样的评价不错了
|
||||
Dialogue: 0,0:00:03.93,0:00:11.93,R2L,,20,20,2,,{\move(810,300,-250,300)}每天刷几遍!预告片真的超好 字幕翻译也好
|
||||
Dialogue: 0,0:00:03.94,0:00:11.94,R2L,,20,20,2,,{\move(672.5,200,-112.5,200)}国语版的真心不好听
|
||||
Dialogue: 0,0:00:03.95,0:00:11.95,R2L,,20,20,2,,{\move(772.5,100,-212.5,100)\c&H1200E7}朝、目が覚めるとなぜか泣いている。
|
||||
Dialogue: 0,0:00:04.00,0:00:08.00,Fix,,20,20,2,,{\pos(280,50)\c&H1200E7}好温柔的声音,大爱
|
||||
Dialogue: 0,0:00:04.00,0:00:08.00,Fix,,20,20,2,,{\pos(280,25)\c&HEAA000}嵩嵩
|
||||
Dialogue: 0,0:00:04.24,0:00:12.24,R2L,,20,20,2,,{\move(969,325,-409,325)}宫水三叶立花泷,夫妻携手战B萌。泷叶八进四生死局,请大家投票支援!
|
||||
Dialogue: 0,0:00:04.33,0:00:12.33,R2L,,20,20,2,,{\move(597.5,50,-37.5,50)}美哭了
|
||||
Dialogue: 0,0:00:04.47,0:00:08.47,Fix,,20,20,2,,{\pos(280,370)\c&H3300CC}2016 12月 一起看的同学们 你们好吗
|
||||
Dialogue: 0,0:00:04.65,0:00:12.65,R2L,,20,20,2,,{\move(710,75,-150,75)}果然还是大陆版的预告最好
|
||||
Dialogue: 0,0:00:04.66,0:00:08.66,Fix,,20,20,2,,{\pos(280,100)\c&H00FFFF}miteita hazu no yume wa itsumo omoidasenai
|
||||
Dialogue: 0,0:00:04.67,0:00:12.67,R2L,,20,20,2,,{\move(637.5,25,-77.5,25)}2017年继续刷
|
||||
Dialogue: 0,0:00:05.27,0:00:13.27,R2L,,20,20,2,,{\move(597.5,125,-37.5,125)}嘟嘟嘟
|
||||
Dialogue: 0,0:00:05.54,0:00:09.53,Fix,,20,20,2,,{\pos(280,75)\c&HEAA000}刚看完国语感觉各种不适应
|
||||
Dialogue: 0,0:00:05.55,0:00:13.55,R2L,,20,20,2,,{\move(610,50,-50,50)}再次回归
|
||||
Dialogue: 0,0:00:05.65,0:00:13.65,R2L,,20,20,2,,{\move(735,225,-175,225)\c&H0000FF}预告片,大陆这版做的最为优秀
|
||||
Dialogue: 0,0:00:05.89,0:00:13.89,R2L,,20,20,2,,{\move(685,175,-125,175)\c&H0203FE}这预告片比电影还带劲
|
||||
Dialogue: 0,0:00:06.05,0:00:10.05,Fix,,20,20,2,,{\pos(280,345)\c&H02F1FE}朝目が覚めると なぜか泣いている
|
||||
Dialogue: 0,0:00:06.20,0:00:14.20,R2L,,20,20,2,,{\move(969,350,-409,350)}宫水三叶立花泷,夫妻携手战B萌。泷叶八进四生死局,请大家投票支援!
|
||||
Dialogue: 0,0:00:06.21,0:00:14.21,R2L,,20,20,2,,{\move(565.5,125,-5.5,125)}1
|
||||
Dialogue: 0,0:00:06.42,0:00:14.42,R2L,,20,20,2,,{\move(829,250,-269,250)}三叶的口嚼酒喝到肝硬化的站住,我能喝到肾衰~
|
||||
Dialogue: 0,0:00:06.57,0:00:14.57,R2L,,20,20,2,,{\move(647.5,25,-87.5,25)}王卿一起去看吧
|
||||
Dialogue: 0,0:00:06.81,0:00:14.81,R2L,,20,20,2,,{\move(730.5,150,-170.5,150)\c&H02F1FE}一般般我也就看了100多遍而已
|
||||
Dialogue: 0,0:00:07.18,0:00:15.18,R2L,,20,20,2,,{\move(785,275,-225,275)\c&H1200E7}見ていたはずの夢はいつも思い出せない
|
||||
Dialogue: 0,0:00:07.24,0:00:11.24,Fix,,20,20,2,,{\pos(280,125)\c&H1200E7}看预告比正片有感觉系列
|
||||
Dialogue: 0,0:00:07.43,0:00:15.43,R2L,,20,20,2,,{\move(610,125,-50,125)}啦啦啦啦
|
||||
Dialogue: 0,0:00:07.44,0:00:15.44,R2L,,20,20,2,,{\move(697.5,75,-137.5,75)}一周年后,我还是一个人
|
||||
Dialogue: 0,0:00:07.52,0:00:11.52,Fix,,20,20,2,,{\pos(280,320)\c&H02F1FE}見ていたはずの夢は いつも思い出せない
|
||||
Dialogue: 0,0:00:07.72,0:00:15.72,R2L,,20,20,2,,{\move(810,100,-250,100)}无数次刷预告片,如果电影院能在上映就好了
|
||||
Dialogue: 0,0:00:07.97,0:00:15.97,R2L,,20,20,2,,{\move(844.5,200,-284.5,200)}看完中毒了,越看中毒越深,新海诚你算计我..........
|
||||
Dialogue: 0,0:00:08.56,0:00:12.56,Fix,,20,20,2,,{\pos(280,25)\c&H1200E7}希望下辈子可以做个东京的帅哥
|
||||
Dialogue: 0,0:00:08.73,0:00:16.73,R2L,,20,20,2,,{\move(585,225,-25,225)}哈哈
|
||||
Dialogue: 0,0:00:09.10,0:00:17.10,R2L,,20,20,2,,{\move(747.5,175,-187.5,175)}希望快出资源,没能二刷有点遗憾
|
||||
Dialogue: 0,0:00:09.12,0:00:17.12,R2L,,20,20,2,,{\move(635,125,-75,125)}这段话好喜欢
|
||||
Dialogue: 0,0:00:09.13,0:00:13.13,Fix,,20,20,2,,{\pos(280,50)\c&H7F02E2}1.5倍速出戏
|
||||
Dialogue: 0,0:00:09.24,0:00:17.24,R2L,,20,20,2,,{\move(969,300,-409,300)\c&HEAA000}宫水三叶立花泷,夫妻携手战B萌。泷叶八进四生死局,请大家投票支援!
|
||||
Dialogue: 0,0:00:09.24,0:00:17.24,R2L,,20,20,2,,{\move(800.5,50,-240.5,50)\c&H000000\3c&HFFFFFF}“爱”就是科学与逻辑永远无法解释的程序。
|
||||
Dialogue: 0,0:00:09.59,0:00:13.59,Fix,,20,20,2,,{\pos(280,75)}我看几遍都没想哭的感觉
|
||||
Dialogue: 0,0:00:09.65,0:00:17.65,R2L,,20,20,2,,{\move(735,25,-175,25)\c&H993333}无论在哪我都会去找你,周元歆
|
||||
Dialogue: 0,0:00:09.67,0:00:17.67,R2L,,20,20,2,,{\move(597.5,225,-37.5,225)}我来了
|
||||
Dialogue: 0,0:00:09.84,0:00:13.84,Fix,,20,20,2,,{\pos(280,370)\c&H00FFFF}tada (tada) zutto nanika o sagashiteiru.
|
||||
Dialogue: 0,0:00:10.07,0:00:18.07,R2L,,20,20,2,,{\move(610,75,-50,75)}画质好评
|
||||
Dialogue: 0,0:00:10.18,0:00:18.18,R2L,,20,20,2,,{\move(764.5,150,-204.5,150)}本大爷下次要做个漂亮的小姐姐 芒果
|
||||
Dialogue: 0,0:00:10.34,0:00:18.34,R2L,,20,20,2,,{\move(723.5,250,-163.5,250)}你的名字 一目连_(:3 」∠ )_
|
||||
Dialogue: 0,0:00:10.60,0:00:14.60,Fix,,20,20,2,,{\pos(280,345)\c&H02F1FE}ただ ずっと何かを探している
|
||||
Dialogue: 0,0:00:10.75,0:00:18.75,R2L,,20,20,2,,{\move(681.5,275,-121.5,275)}mjx你为什么要拒绝我
|
||||
Dialogue: 0,0:00:10.76,0:00:14.76,Fix,,20,20,2,,{\pos(280,295)\c&H1200E7}看透太多
|
||||
Dialogue: 0,0:00:11.02,0:00:19.02,R2L,,20,20,2,,{\move(647.5,125,-87.5,125)}真的是百看不厌
|
||||
Dialogue: 0,0:00:11.13,0:00:19.13,R2L,,20,20,2,,{\move(622.5,225,-62.5,225)}三叶毒晚期
|
||||
Dialogue: 0,0:00:11.29,0:00:19.29,R2L,,20,20,2,,{\move(585,75,-25,75)}十刷
|
||||
Dialogue: 0,0:00:11.49,0:00:19.49,R2L,,20,20,2,,{\move(647.5,100,-87.5,100)}什么时候可以看
|
||||
Dialogue: 0,0:00:11.50,0:00:15.50,Fix,,20,20,2,,{\pos(280,100)}看了很多地区预还是觉得大陆预告舒服
|
||||
Dialogue: 0,0:00:12.01,0:00:20.01,R2L,,20,20,2,,{\move(710,200,-150,200)}还是大陆版的预告片最好看
|
||||
Dialogue: 0,0:00:12.04,0:00:20.04,R2L,,20,20,2,,{\move(969,325,-409,325)\c&HEAA000}宫水三叶立花泷,夫妻携手战B萌。泷叶八进四生死局,请大家投票支援!
|
||||
Dialogue: 0,0:00:12.06,0:00:20.06,R2L,,20,20,2,,{\move(590,75,-30,75)}6666
|
||||
Dialogue: 0,0:00:12.31,0:00:20.31,R2L,,20,20,2,,{\move(584.5,175,-24.5,175)}.......
|
||||
Dialogue: 0,0:00:12.59,0:00:20.59,R2L,,20,20,2,,{\move(622.5,225,-62.5,225)\c&H439800}每日刷预告
|
||||
Dialogue: 0,0:00:12.71,0:00:20.71,R2L,,20,20,2,,{\move(760,350,-200,350)}一直不敢看第二遍,怕把自己又看哭
|
||||
Dialogue: 0,0:00:12.73,0:00:20.73,R2L,,20,20,2,,{\move(660,25,-100,25)}最喜欢的这段对话
|
||||
Dialogue: 0,0:00:12.93,0:00:20.93,R2L,,20,20,2,,{\move(610,125,-50,125)}耶稣基督
|
||||
Dialogue: 0,0:00:13.00,0:00:21.00,R2L,,20,20,2,,{\move(597.5,75,-37.5,75)}看哭了
|
||||
Dialogue: 0,0:00:13.02,0:00:21.02,R2L,,20,20,2,,{\move(810,50,-250,50)\c&H1200E7}ただ、ずっと何かを・・・誰かを探している
|
||||
Dialogue: 0,0:00:13.12,0:00:21.12,R2L,,20,20,2,,{\move(591.5,175,-31.5,175)},,,,
|
||||
Dialogue: 0,0:00:13.17,0:00:21.17,R2L,,20,20,2,,{\move(610,275,-50,275)}耶稣基督
|
||||
Dialogue: 0,0:00:13.29,0:00:21.29,R2L,,20,20,2,,{\move(693.5,250,-133.5,250)}0.5声线都变了2333333
|
||||
Dialogue: 0,0:00:13.40,0:00:21.40,R2L,,20,20,2,,{\move(642.5,100,-82.5,100)}66666666666
|
||||
Dialogue: 0,0:00:13.56,0:00:21.56,R2L,,20,20,2,,{\move(649,150,-89,150)}bgm:黄昏之时
|
||||
Dialogue: 0,0:00:13.80,0:00:17.80,Fix,,20,20,2,,{\pos(280,320)}你的名字:奥巴马
|
||||
Dialogue: 0,0:00:13.93,0:00:21.93,R2L,,20,20,2,,{\move(572.5,175,-12.5,175)}!
|
||||
Dialogue: 0,0:00:13.99,0:00:21.99,R2L,,20,20,2,,{\move(672.5,300,-112.5,300)}声优的声音太无敌了
|
||||
Dialogue: 0,0:00:14.05,0:00:22.05,R2L,,20,20,2,,{\move(597.5,225,-37.5,225)\c&H000000\3c&HFFFFFF}二刷了
|
||||
Dialogue: 0,0:00:14.14,0:00:22.14,R2L,,20,20,2,,{\move(585,125,-25,125)}爱♥
|
||||
Dialogue: 0,0:00:14.27,0:00:22.27,R2L,,20,20,2,,{\move(572.5,175,-12.5,175)}!
|
||||
Dialogue: 0,0:00:14.57,0:00:22.57,R2L,,20,20,2,,{\move(628,75,-68,75)}好巧我101遍
|
||||
Dialogue: 0,0:00:14.80,0:00:22.80,R2L,,20,20,2,,{\move(625.5,200,-65.5,200)\c&H1200E7}神木dd!!
|
||||
Dialogue: 0,0:00:14.83,0:00:22.83,R2L,,20,20,2,,{\move(647.5,25,-87.5,25)}每次看都激动啊
|
||||
Dialogue: 0,0:00:14.93,0:00:22.93,R2L,,20,20,2,,{\move(585,175,-25,175)\c&H000000\3c&HFFFFFF}好ㄟ
|
||||
Dialogue: 0,0:00:15.08,0:00:23.08,R2L,,20,20,2,,{\move(597.5,125,-37.5,125)}刚看完
|
||||
Dialogue: 0,0:00:15.22,0:00:23.22,R2L,,20,20,2,,{\move(622.5,100,-62.5,100)}声音好甜啊
|
||||
Dialogue: 0,0:00:15.66,0:00:23.66,R2L,,20,20,2,,{\move(660,150,-100,150)}天啊,整屏都是字
|
||||
Dialogue: 0,0:00:15.80,0:00:23.80,R2L,,20,20,2,,{\move(697.5,275,-137.5,275)}你的名字是,,,吉良吉影
|
||||
Dialogue: 0,0:00:15.88,0:00:19.88,Fix,,20,20,2,,{\pos(280,370)\c&H00FFFF}takikun....oboete nai?
|
||||
Dialogue: 0,0:00:15.98,0:00:23.98,R2L,,20,20,2,,{\move(649,225,-89,225)}bgm:黄昏之时
|
||||
Dialogue: 0,0:00:16.03,0:00:24.03,R2L,,20,20,2,,{\move(585,125,-25,125)}好看
|
||||
Dialogue: 0,0:00:16.14,0:00:24.14,R2L,,20,20,2,,{\move(610,175,-50,175)}明天二刷
|
||||
Dialogue: 0,0:00:16.62,0:00:24.62,R2L,,20,20,2,,{\move(697.5,300,-137.5,300)}我也觉得大陆的预告最好
|
||||
Dialogue: 0,0:00:16.68,0:00:24.68,R2L,,20,20,2,,{\move(622.5,100,-62.5,100)}三叶是我的
|
||||
Dialogue: 0,0:00:16.79,0:00:24.79,R2L,,20,20,2,,{\move(685,50,-125,50)}中国版预告片真的很棒
|
||||
Dialogue: 0,0:00:16.79,0:00:24.79,R2L,,20,20,2,,{\move(800.5,325,-240.5,325)\c&H000000\3c&HFFFFFF}“爱”就是科学与逻辑永远无法解释的程序。
|
||||
Dialogue: 0,0:00:16.84,0:00:20.84,Fix,,20,20,2,,{\pos(280,25)\c&H1200E7}表白能当着面去说么
|
||||
Dialogue: 0,0:00:16.86,0:00:24.86,R2L,,20,20,2,,{\move(785,250,-225,250)}你……我……想和你一起看《你的名字》
|
||||
Dialogue: 0,0:00:16.93,0:00:24.93,R2L,,20,20,2,,{\move(872.5,350,-312.5,350)}看了也没脱单,让我找一个漂亮的德国妹子做女朋友吧!
|
||||
Dialogue: 0,0:00:16.94,0:00:24.94,R2L,,20,20,2,,{\move(660,25,-100,25)}极速救不了这画质
|
||||
Dialogue: 0,0:00:17.24,0:00:25.24,R2L,,20,20,2,,{\move(610,125,-50,125)}画质感人
|
||||
Dialogue: 0,0:00:17.35,0:00:25.35,R2L,,20,20,2,,{\move(597.5,175,-37.5,175)}艾子健
|
||||
Dialogue: 0,0:00:17.65,0:00:25.65,R2L,,20,20,2,,{\move(735,75,-175,75)\c&H1200E7}希望下辈子可以做个京都的帅哥
|
||||
Dialogue: 0,0:00:17.73,0:00:25.73,R2L,,20,20,2,,{\move(722.5,200,-162.5,200)}想看看不了啊啊啊啊啊啊啊啊
|
||||
Dialogue: 0,0:00:17.82,0:00:21.82,Fix,,20,20,2,,{\pos(280,345)\c&H0000FF}滝君 覚えて ない?
|
||||
Dialogue: 0,0:00:18.28,0:00:26.28,R2L,,20,20,2,,{\move(672.5,225,-112.5,225)}一年后再来看预告片
|
||||
Dialogue: 0,0:00:18.44,0:00:26.44,R2L,,20,20,2,,{\move(680,275,-120,275)\c&H00FFFF}其他9位老伙伴你们好
|
||||
Dialogue: 0,0:00:18.45,0:00:26.45,R2L,,20,20,2,,{\move(581,125,-21,125)}......
|
||||
Dialogue: 0,0:00:18.56,0:00:26.56,R2L,,20,20,2,,{\move(610,175,-50,175)}字为什么
|
||||
Dialogue: 0,0:00:18.72,0:00:26.72,R2L,,20,20,2,,{\move(733,150,-173,150)\c&HEAA000}赶上了我们这儿的最后一场π_π
|
||||
Dialogue: 0,0:00:18.97,0:00:26.97,R2L,,20,20,2,,{\move(672.5,100,-112.5,100)}大陆这剪辑真是人才
|
||||
Dialogue: 0,0:00:19.42,0:00:27.42,R2L,,20,20,2,,{\move(697.5,50,-137.5,50)\c&H0000FF}你的名字是,,,吉良吉影
|
||||
Dialogue: 0,0:00:19.66,0:00:27.66,R2L,,20,20,2,,{\move(610,125,-50,125)}看哭了我
|
||||
Dialogue: 0,0:00:19.79,0:00:23.79,Fix,,20,20,2,,{\pos(280,320)\c&H1200E7}覚えってない
|
||||
Dialogue: 0,0:00:20.01,0:00:28.01,R2L,,20,20,2,,{\move(735,25,-175,25)\c&HCC00FF}无论在哪我都会去找你,周元歆
|
||||
Dialogue: 0,0:00:20.02,0:00:28.02,R2L,,20,20,2,,{\move(622.5,175,-62.5,175)\c&H397992}相変わらず
|
||||
Dialogue: 0,0:00:20.42,0:00:28.42,R2L,,20,20,2,,{\move(747.5,250,-187.5,250)\c&H000000\3c&HFFFFFF}和我家小可爱一起去看的(男的)
|
||||
Dialogue: 0,0:00:20.57,0:00:28.57,R2L,,20,20,2,,{\move(636.5,225,-76.5,225)}bgm黄昏之时
|
||||
Dialogue: 0,0:00:20.64,0:00:24.64,Fix,,20,20,2,,{\pos(280,50)}bgm燃起
|
||||
Dialogue: 0,0:00:20.67,0:00:28.67,R2L,,20,20,2,,{\move(647.5,200,-87.5,200)\c&H000000\3c&HFFFFFF}欠的电影票已还
|
||||
Dialogue: 0,0:00:20.72,0:00:28.72,R2L,,20,20,2,,{\move(697.5,75,-137.5,75)}HYJ真的好想和你一起看
|
||||
Dialogue: 0,0:00:21.07,0:00:29.07,R2L,,20,20,2,,{\move(697.5,275,-137.5,275)}每次到着都鸡皮疙瘩一身
|
||||
Dialogue: 0,0:00:21.12,0:00:29.12,R2L,,20,20,2,,{\move(622.5,125,-62.5,125)}感动的要死
|
||||
Dialogue: 0,0:00:21.26,0:00:29.26,R2L,,20,20,2,,{\move(585,100,-25,100)}爱♥
|
||||
Dialogue: 0,0:00:21.37,0:00:29.37,R2L,,20,20,2,,{\move(969,300,-409,300)\c&HEAA000}宫水三叶立花泷,夫妻携手战B萌。泷叶八进四生死局,请大家投票支援!
|
||||
Dialogue: 0,0:00:21.77,0:00:29.77,R2L,,20,20,2,,{\move(685,150,-125,150)}我还是忘不了巨石强森
|
||||
Dialogue: 0,0:00:22.06,0:00:30.06,R2L,,20,20,2,,{\move(610,50,-50,50)}你的绳子
|
||||
Dialogue: 0,0:00:22.17,0:00:30.17,R2L,,20,20,2,,{\move(662.5,175,-102.5,175)\c&H1200E7}电影院20刷达成!
|
||||
Dialogue: 0,0:00:22.58,0:00:30.58,R2L,,20,20,2,,{\move(610,200,-50,200)}你的名字
|
||||
Dialogue: 0,0:00:22.58,0:00:30.58,R2L,,20,20,2,,{\move(622.5,125,-62.5,125)}我看了四遍
|
||||
Dialogue: 0,0:00:22.72,0:00:30.72,R2L,,20,20,2,,{\move(622.5,100,-62.5,100)}算是考古吧
|
||||
Dialogue: 0,0:00:23.09,0:00:31.09,R2L,,20,20,2,,{\move(647.5,25,-87.5,25)}雅蠛蝶!!!!
|
||||
Dialogue: 0,0:00:23.27,0:00:31.27,R2L,,20,20,2,,{\move(591,50,-31,50)}.........
|
||||
Dialogue: 0,0:00:23.36,0:00:31.36,R2L,,20,20,2,,{\move(622.5,75,-62.5,75)\c&H000000\3c&HFFFFFF}看完泪目了
|
||||
Dialogue: 0,0:00:23.69,0:00:31.69,R2L,,20,20,2,,{\move(739.5,225,-179.5,225)}看完以后老子月考就上去了 神奇
|
||||
Dialogue: 0,0:00:24.18,0:00:32.18,R2L,,20,20,2,,{\move(622.5,100,-62.5,100)}我要看整部
|
||||
Dialogue: 0,0:00:24.18,0:00:32.18,R2L,,20,20,2,,{\move(630,125,-70,125)}画质666666
|
||||
Dialogue: 0,0:00:24.24,0:00:32.24,R2L,,20,20,2,,{\move(660,150,-100,150)}预告片看了好多次
|
||||
Dialogue: 0,0:00:24.28,0:00:32.28,R2L,,20,20,2,,{\move(747.5,275,-187.5,275)}对!就是这个纪录片超感动!!!
|
||||
Dialogue: 0,0:00:24.44,0:00:28.44,Fix,,20,20,2,,{\pos(280,25)\c&H00FFFF}av7752928 萌新剪辑英文歌BGM加你的名字求支持
|
||||
Dialogue: 0,0:00:24.48,0:00:32.48,R2L,,20,20,2,,{\move(610,50,-50,50)}哭什么哭
|
||||
Dialogue: 0,0:00:24.82,0:00:32.82,R2L,,20,20,2,,{\move(610,75,-50,75)\c&H000000\3c&HFFFFFF}非常喜欢
|
||||
Dialogue: 0,0:00:24.94,0:00:32.94,R2L,,20,20,2,,{\move(709,175,-149,175)}CJX ZZC 2017.2.17想念你
|
||||
Dialogue: 0,0:00:24.98,0:00:28.98,Fix,,20,20,2,,{\pos(280,370)\c&H0000FF}これってもしかして
|
||||
Dialogue: 0,0:00:24.99,0:00:32.99,R2L,,20,20,2,,{\move(610,25,-50,25)}每日一刷
|
||||
Dialogue: 0,0:00:25.17,0:00:33.17,R2L,,20,20,2,,{\move(969,250,-409,250)\c&HEAA000}宫水三叶立花泷,夫妻携手战B萌。泷叶八进四生死局,请大家投票支援!
|
||||
Dialogue: 0,0:00:25.51,0:00:33.51,R2L,,20,20,2,,{\move(722.5,200,-162.5,200)}让我失忆一天,我再去看一遍
|
||||
Dialogue: 0,0:00:25.87,0:00:33.87,R2L,,20,20,2,,{\move(635,100,-75,100)\c&H1200E7}夸爆洋次郎哇
|
||||
Dialogue: 0,0:00:25.87,0:00:33.87,R2L,,20,20,2,,{\move(635,125,-75,125)}中文字幕最美
|
||||
Dialogue: 0,0:00:26.12,0:00:34.12,R2L,,20,20,2,,{\move(969,300,-409,300)\c&HEAA000}宫水三叶立花泷,夫妻携手战B萌。泷叶八进四生死局,请大家投票支援!
|
||||
Dialogue: 0,0:00:26.17,0:00:34.17,R2L,,20,20,2,,{\move(635,50,-75,50)}刚看完中文的
|
||||
Dialogue: 0,0:00:26.69,0:00:34.69,R2L,,20,20,2,,{\move(635,25,-75,25)\c&H1200E7}エッチしたい
|
||||
Dialogue: 0,0:00:27.32,0:00:35.32,R2L,,20,20,2,,{\move(735,150,-175,150)\c&HCCFF99}无论在哪我都会去找你,周元歆
|
||||
Dialogue: 0,0:00:27.64,0:00:35.64,R2L,,20,20,2,,{\move(712.5,75,-152.5,75)\c&H33FF99}请高数CYQ我下辈子还爱他
|
||||
Dialogue: 0,0:00:27.70,0:00:31.70,Fix,,20,20,2,,{\pos(280,345)\c&H0000FF}俺たち夢の中で
|
||||
Dialogue: 0,0:00:27.75,0:00:35.75,R2L,,20,20,2,,{\move(847.5,225,-287.5,225)}这个宣传片的字幕不知道比电影院播放的正片好多少
|
||||
Dialogue: 0,0:00:28.08,0:00:36.08,R2L,,20,20,2,,{\move(647.5,50,-87.5,50)}看完第二天分手
|
||||
Dialogue: 0,0:00:28.14,0:00:36.14,R2L,,20,20,2,,{\move(897.5,275,-337.5,275)}看了四遍不止,还各种安利给别人看,可惜别人好像都看不懂
|
||||
Dialogue: 0,0:00:28.15,0:00:36.15,R2L,,20,20,2,,{\move(747.5,175,-187.5,175)}这就是我们梦寐以求的,唐朝和尚
|
||||
Dialogue: 0,0:00:28.34,0:00:36.34,R2L,,20,20,2,,{\move(685,100,-125,100)\c&H33FF99}来世我要做东京的帅哥
|
||||
Dialogue: 0,0:00:28.66,0:00:36.66,R2L,,20,20,2,,{\move(710,125,-150,125)}不对,不是纪录片是预告片
|
||||
Dialogue: 0,0:00:28.67,0:00:36.67,R2L,,20,20,2,,{\move(742,200,-182,200)}为什么会早就该分手呢哈哈,zwj
|
||||
Dialogue: 0,0:00:29.15,0:00:37.15,R2L,,20,20,2,,{\move(685,25,-125,25)}超级喜欢大陆的版本!
|
||||
Dialogue: 0,0:00:29.81,0:00:33.81,Fix,,20,20,2,,{\pos(280,370)\c&H0000FF}入れ替わってる
|
||||
Dialogue: 0,0:00:29.98,0:00:37.98,R2L,,20,20,2,,{\move(610,50,-50,50)\c&H000000\3c&HFFFFFF}五刷路过
|
||||
Dialogue: 0,0:00:30.55,0:00:38.55,R2L,,20,20,2,,{\move(720,75,-160,75)}你的好友:RADWIMPS已上线
|
||||
Dialogue: 0,0:00:30.81,0:00:38.81,R2L,,20,20,2,,{\move(685,100,-125,100)}听到这音乐就鸡皮疙瘩
|
||||
Dialogue: 0,0:00:31.33,0:00:35.33,Fix,,20,20,2,,{\pos(280,25)\c&H7F02E2}哈哈哈哈哈哈哈0.5倍速
|
||||
Dialogue: 0,0:00:31.36,0:00:35.36,Fix,,20,20,2,,{\pos(280,320)\c&H0000FF}3刷路过
|
||||
Dialogue: 0,0:00:31.36,0:00:35.36,Fix,,20,20,2,,{\pos(280,295)\c&H1200E7}约会必看
|
||||
Dialogue: 0,0:00:31.37,0:00:39.37,R2L,,20,20,2,,{\move(619,50,-59,50)}^o^已看完
|
||||
Dialogue: 0,0:00:31.46,0:00:39.46,R2L,,20,20,2,,{\move(660,125,-100,125)}从隔壁英语版过来
|
||||
Dialogue: 0,0:00:31.56,0:00:39.56,R2L,,20,20,2,,{\move(622.5,150,-62.5,150)}看来八遍了
|
||||
Dialogue: 0,0:00:31.56,0:00:35.56,Fix,,20,20,2,,{\pos(280,270)\c&HEAA000}幸瑜,我们一起去看吧
|
||||
Dialogue: 0,0:00:31.62,0:00:39.62,R2L,,20,20,2,,{\move(672.5,25,-112.5,25)}最喜欢大陆的预告片
|
||||
Dialogue: 0,0:00:31.70,0:00:35.70,Fix,,20,20,2,,{\pos(280,345)}浓缩的都是精华
|
||||
Dialogue: 0,0:00:31.75,0:00:39.75,R2L,,20,20,2,,{\move(747.5,175,-187.5,175)}被同事安利好久,所以决定不看了
|
||||
Dialogue: 0,0:00:32.60,0:00:36.60,Fix,,20,20,2,,{\pos(280,245)\c&H00FFFF}tyotto takikun, danshi no shisen, sukato tyui
|
||||
Dialogue: 0,0:00:32.77,0:00:40.77,R2L,,20,20,2,,{\move(610,50,-50,50)\c&H000000\3c&HFFFFFF}生蛋胯热
|
||||
Dialogue: 0,0:00:33.28,0:00:41.28,R2L,,20,20,2,,{\move(649,100,-89,100)}怎么下载成mp3
|
||||
Dialogue: 0,0:00:33.37,0:00:37.37,Fix,,20,20,2,,{\pos(280,220)\c&H0000CC}ちょっと 滝君
|
||||
Dialogue: 0,0:00:33.46,0:00:41.46,R2L,,20,20,2,,{\move(630,75,-70,75)\c&H000000\3c&HFFFFFF}2017-03-19
|
||||
Dialogue: 0,0:00:33.98,0:00:41.98,R2L,,20,20,2,,{\move(597.5,50,-37.5,50)}好球!
|
||||
Dialogue: 0,0:00:34.92,0:00:42.92,R2L,,20,20,2,,{\move(572.5,50,-12.5,50)}…
|
||||
Dialogue: 0,0:00:35.06,0:00:43.06,R2L,,20,20,2,,{\move(597.5,75,-37.5,75)}王彬力
|
||||
Dialogue: 0,0:00:35.07,0:00:39.07,Fix,,20,20,2,,{\pos(280,370)\c&H0000CC}男子の視線 スカッと注意
|
||||
Dialogue: 0,0:00:35.19,0:00:43.19,R2L,,20,20,2,,{\move(785,25,-225,25)\c&H02F1FE}一个人刷了七遍就我了吧,我还是个男生
|
||||
Dialogue: 0,0:00:36.37,0:00:44.37,R2L,,20,20,2,,{\move(735,125,-175,125)\c&H7B3A68}我想下辈子是一个漂亮的小姐姐
|
||||
Dialogue: 0,0:00:36.75,0:00:40.75,Fix,,20,20,2,,{\pos(280,345)\c&H0000CC}てめぇ 三葉
|
||||
Dialogue: 0,0:00:37.17,0:00:45.17,R2L,,20,20,2,,{\move(825,100,-265,100)\c&H7F02E2}截止到20号,断断续续去刷了六遍,也是没谁了
|
||||
Dialogue: 0,0:00:37.52,0:00:41.52,Fix,,20,20,2,,{\pos(280,25)\c&H1200E7}三刷 无悔!
|
||||
Dialogue: 0,0:00:37.60,0:00:45.60,R2L,,20,20,2,,{\move(635,50,-75,50)}口昌占戈哥欠
|
||||
Dialogue: 0,0:00:37.60,0:00:45.60,R2L,,20,20,2,,{\move(572.5,75,-12.5,75)}爱
|
||||
Dialogue: 0,0:00:38.22,0:00:42.22,Fix,,20,20,2,,{\pos(280,320)\c&H0000CC}俺の人間関係変えるなよ
|
||||
Dialogue: 0,0:00:38.75,0:00:46.75,R2L,,20,20,2,,{\move(660,25,-100,25)}和朋友去看的……
|
||||
Dialogue: 0,0:00:38.81,0:00:46.81,R2L,,20,20,2,,{\move(610,75,-50,75)\c&H000000\3c&HFFFFFF}看了八遍
|
||||
Dialogue: 0,0:00:39.45,0:00:47.45,R2L,,20,20,2,,{\move(697.5,125,-137.5,125)}不怎么好看,天天想而已
|
||||
Dialogue: 0,0:00:40.87,0:00:44.87,Fix,,20,20,2,,{\pos(280,370)\c&H0000CC}ほんとに自分のおっぱい好きあな
|
||||
Dialogue: 0,0:00:40.90,0:00:44.90,Fix,,20,20,2,,{\pos(280,50)\c&H1200E7}这不是你们的表白墙谢谢
|
||||
Dialogue: 0,0:00:40.94,0:00:48.94,R2L,,20,20,2,,{\move(597.5,25,-37.5,25)}看看看
|
||||
Dialogue: 0,0:00:41.12,0:00:45.12,Fix,,20,20,2,,{\pos(280,345)\c&H7B3A68}希望我下辈子能做一个漂亮的小姐姐
|
||||
Dialogue: 0,0:00:41.37,0:00:45.37,Fix,,20,20,2,,{\pos(280,295)\c&H00FFFF}hontoni jibun no oppai suki yana
|
||||
Dialogue: 0,0:00:42.27,0:00:50.27,R2L,,20,20,2,,{\move(735,50,-175,50)\c&H00FFFF}无论在哪我都会去找你,周元歆
|
||||
Dialogue: 0,0:00:42.56,0:00:50.56,R2L,,20,20,2,,{\move(720,75,-160,75)}我电影院刷了2遍,云盘20遍
|
||||
Dialogue: 0,0:00:42.66,0:00:46.66,Fix,,20,20,2,,{\pos(280,25)\c&H1200E7}这样好痛苦,我记得你,你不记得我
|
||||
Dialogue: 0,0:00:43.57,0:00:51.57,R2L,,20,20,2,,{\move(624.5,25,-64.5,25)}6的一批- -
|
||||
Dialogue: 0,0:00:43.82,0:00:51.82,R2L,,20,20,2,,{\move(660,100,-100,100)\c&H1200E7}和对象一起去看过
|
||||
Dialogue: 0,0:00:43.85,0:00:51.85,R2L,,20,20,2,,{\move(810,125,-250,125)\c&H000000\3c&HFFFFFF}看完电影再看预告的那个等等我,我也是哈哈
|
||||
Dialogue: 0,0:00:44.90,0:00:48.90,Fix,,20,20,2,,{\pos(280,50)\c&HCBC084}一个星期连着看了4遍,看一遍哭一遍(17.11.8)
|
||||
Dialogue: 0,0:00:45.34,0:00:53.34,R2L,,20,20,2,,{\move(647.5,50,-87.5,50)}日刷一遍。哈哈
|
||||
Dialogue: 0,0:00:45.40,0:00:53.40,R2L,,20,20,2,,{\move(659,143,-99,143)\c&HEAA000\fs18}喵,还记得一起看完的么
|
||||
Dialogue: 0,0:00:45.47,0:00:53.47,R2L,,20,20,2,,{\move(681.5,75,-121.5,75)}刷3遍的在此(*¯︶¯*)
|
||||
Dialogue: 0,0:00:45.48,0:00:53.48,R2L,,20,20,2,,{\move(647.5,25,-87.5,25)\c&H1200E7}电影院去了四遍
|
||||
Dialogue: 0,0:00:45.93,0:00:53.93,R2L,,20,20,2,,{\move(572.5,100,-12.5,100)}嘉
|
||||
Dialogue: 0,0:00:46.61,0:00:54.61,R2L,,20,20,2,,{\move(586,100,-26,100)}0.5#
|
||||
Dialogue: 0,0:00:47.38,0:00:55.38,R2L,,20,20,2,,{\move(636,25,-76,25)}0.5#瞬间解毒
|
||||
Dialogue: 0,0:00:47.45,0:00:55.45,R2L,,20,20,2,,{\move(660,50,-100,50)\c&H0000FF}超喜欢预告的剪辑
|
||||
Dialogue: 0,0:00:47.54,0:00:51.54,Fix,,20,20,2,,{\pos(280,370)\c&H0000CC}あの男(女)は
|
||||
Dialogue: 0,0:00:47.63,0:00:55.63,R2L,,20,20,2,,{\move(727,125,-167,125)}过了半年再刷 还是激动到捂嘴
|
||||
Dialogue: 0,0:00:47.64,0:00:51.64,Fix,,20,20,2,,{\pos(280,345)\c&H00FFFF}ano otoko (onna) wa
|
||||
Dialogue: 0,0:00:47.83,0:00:55.83,R2L,,20,20,2,,{\move(735,100,-175,100)}看完中文版,看一下原版压压惊
|
||||
Dialogue: 0,0:00:47.89,0:00:55.89,R2L,,20,20,2,,{\move(593,75,-33,75)}hyx♡
|
||||
Dialogue: 0,0:00:49.69,0:00:53.69,Fix,,20,20,2,,{\pos(280,320)\c&H00FFFF}kieteku
|
||||
Dialogue: 0,0:00:49.80,0:00:57.80,R2L,,20,20,2,,{\move(585,25,-25,25)}虐了
|
||||
Dialogue: 0,0:00:49.89,0:00:53.89,Fix,,20,20,2,,{\pos(280,295)\c&H0000CC}消えてる
|
||||
Dialogue: 0,0:00:50.16,0:00:58.16,R2L,,20,20,2,,{\move(610,50,-50,50)}三刷归来
|
||||
Dialogue: 0,0:00:51.13,0:00:59.13,R2L,,20,20,2,,{\move(685,75,-125,75)\c&H000000\3c&HFFFFFF}没声音的我是一个人吗
|
||||
Dialogue: 0,0:00:51.37,0:00:55.37,Fix,,20,20,2,,{\pos(280,270)\c&H0000CC}まさか
|
||||
Dialogue: 0,0:00:51.70,0:00:55.70,Fix,,20,20,2,,{\pos(280,370)\c&H00FFFF}masaka hakkiri oboeteru
|
||||
Dialogue: 0,0:00:51.74,0:00:59.74,R2L,,20,20,2,,{\move(610,25,-50,25)}2017双11
|
||||
Dialogue: 0,0:00:51.90,0:00:59.90,R2L,,20,20,2,,{\move(599.5,50,-39.5,50)}217.6.1
|
||||
Dialogue: 0,0:00:52.23,0:00:56.23,Fix,,20,20,2,,{\pos(280,345)\c&H0000CC}はっきり覚えてる
|
||||
Dialogue: 0,0:00:52.47,0:00:56.47,Fix,,20,20,2,,{\pos(280,25)\c&H00FF00}真想问问表白那些人
|
||||
Dialogue: 0,0:00:52.47,0:00:56.47,Fix,,20,20,2,,{\pos(280,50)\c&H00FF00}在这里表白算什么
|
||||
Dialogue: 0,0:00:52.47,0:00:56.47,Fix,,20,20,2,,{\pos(280,75)\c&H00FF00}只能说你是懦夫
|
||||
Dialogue: 0,0:00:52.55,0:01:00.55,R2L,,20,20,2,,{\move(663,100,-103,100)}神木dd声音好棒啊
|
||||
Dialogue: 0,0:00:52.68,0:01:00.68,R2L,,20,20,2,,{\move(735,125,-175,125)}没感觉还点进来的你是有多贱?
|
||||
Dialogue: 0,0:00:52.78,0:01:00.78,R2L,,20,20,2,,{\move(716,150,-156,150)}up的头像把我的感动整没了.
|
||||
Dialogue: 0,0:00:52.96,0:01:00.96,R2L,,20,20,2,,{\move(583,25,-23,25)}-0-
|
||||
Dialogue: 0,0:00:53.12,0:01:01.12,R2L,,20,20,2,,{\move(610,50,-50,50)}鸡皮疙瘩
|
||||
Dialogue: 0,0:00:53.78,0:00:57.78,Fix,,20,20,2,,{\pos(280,100)}这个宣传片的字幕比影院播放的正片好太多了
|
||||
Dialogue: 0,0:00:54.21,0:01:02.21,R2L,,20,20,2,,{\move(735,75,-175,75)}无论在哪我都会去找你,周元歆
|
||||
Dialogue: 0,0:00:54.52,0:01:02.52,R2L,,20,20,2,,{\move(610,25,-50,25)}看了八次
|
||||
Dialogue: 0,0:00:55.00,0:01:03.00,R2L,,20,20,2,,{\move(635,50,-75,50)}盘李猿的够了
|
||||
Dialogue: 0,0:00:55.43,0:00:59.43,Fix,,20,20,2,,{\pos(280,125)}说的对↑
|
||||
Dialogue: 0,0:00:55.97,0:01:03.97,R2L,,20,20,2,,{\move(605,25,-45,25)\c&H000000\3c&HFFFFFF}我3刷了
|
||||
Dialogue: 0,0:00:57.52,0:01:01.52,Fix,,20,20,2,,{\pos(280,25)\c&HEAA000}这个背影由我承包↓
|
||||
Dialogue: 0,0:00:57.84,0:01:01.84,Fix,,20,20,2,,{\pos(280,370)\c&H0000CC}誰だ
|
||||
Dialogue: 0,0:00:58.26,0:01:06.26,R2L,,20,20,2,,{\move(847.5,75,-287.5,75)}说实话陨石这里的音乐能加进一个防空警报就更好了
|
||||
Dialogue: 0,0:00:58.72,0:01:02.72,Fix,,20,20,2,,{\pos(280,345)\c&H0000CC}誰
|
||||
Dialogue: 0,0:00:58.94,0:01:02.94,Fix,,20,20,2,,{\pos(280,50)\c&H0203FE}不想忘记你
|
||||
Dialogue: 0,0:00:59.15,0:01:07.15,R2L,,20,20,2,,{\move(563.5,25,-3.5,25)}.
|
||||
Dialogue: 0,0:00:59.22,0:01:07.22,R2L,,20,20,2,,{\move(860,50,-300,50)\c&H439800}无论你在世界的哪里,我都会再一次的去见你,周佳音
|
||||
Dialogue: 0,0:00:59.22,0:01:07.22,R2L,,20,20,2,,{\move(860,100,-300,100)\c&H7B3A68}无论你在世界的哪里,我都会再一次的去见你,周佳音
|
||||
Dialogue: 0,0:00:59.23,0:01:07.23,R2L,,20,20,2,,{\move(669,125,-109,125)}lxc 我想和你一起看
|
||||
Dialogue: 0,0:00:59.55,0:01:07.55,R2L,,20,20,2,,{\move(860,150,-300,150)\c&HEAA000}无论你在世界的哪里,我都会再一次的去见你,周佳音
|
||||
Dialogue: 0,0:00:59.61,0:01:07.61,R2L,,20,20,2,,{\move(760,175,-200,175)}想问一下手机里的信息是怎么消失的
|
||||
Dialogue: 0,0:00:59.93,0:01:03.93,Fix,,20,20,2,,{\pos(280,320)\c&H0000CC}誰に会いに来た
|
||||
Dialogue: 0,0:01:01.47,0:01:09.47,R2L,,20,20,2,,{\move(650,125,-90,125)}必须刷50遍以上
|
||||
Dialogue: 0,0:01:02.09,0:01:10.09,R2L,,20,20,2,,{\move(722.5,25,-162.5,25)}不想出门,在网上看了盗版的
|
||||
Dialogue: 0,0:01:02.31,0:01:10.31,R2L,,20,20,2,,{\move(714.5,75,-154.5,75)} 每次到这里总会起鸡皮疙瘩
|
||||
Dialogue: 0,0:01:02.43,0:01:06.43,Fix,,20,20,2,,{\pos(280,370)\c&HFF0000\3c&HFFFFFF}運命だとか未来とか
|
||||
Dialogue: 0,0:01:02.54,0:01:06.54,Fix,,20,20,2,,{\pos(280,25)\c&H722E00\3c&HFFFFFF}语文课PPT
|
||||
Dialogue: 0,0:01:02.95,0:01:10.95,R2L,,20,20,2,,{\move(572.5,175,-12.5,175)}。
|
||||
Dialogue: 0,0:01:03.36,0:01:11.36,R2L,,20,20,2,,{\move(697.5,50,-137.5,50)}韩越珊走吧,相约电影院
|
||||
Dialogue: 0,0:01:03.36,0:01:11.36,R2L,,20,20,2,,{\move(663.5,100,-103.5,100)}别说了,三叶是我的
|
||||
Dialogue: 0,0:01:03.42,0:01:11.42,R2L,,20,20,2,,{\move(579.5,125,-19.5,125)}MS
|
||||
Dialogue: 0,0:01:03.63,0:01:07.63,Fix,,20,20,2,,{\pos(280,345)\c&HFF6600\fs18}不管“命运”“未来”这种话语有多少
|
||||
Dialogue: 0,0:01:03.69,0:01:11.69,R2L,,20,20,2,,{\move(747.5,150,-187.5,150)}神木小天使的声音啊啊啊啊苏爆了
|
||||
Dialogue: 0,0:01:03.80,0:01:11.80,R2L,,20,20,2,,{\move(885,200,-325,200)}我的妈呀那些不知道男主女主名字的人不要刷好吗看着别扭
|
||||
Dialogue: 0,0:01:04.47,0:01:12.47,R2L,,20,20,2,,{\move(648,175,-88,175)\c&H000000\3c&HFFFFFF}电影院看完的+1
|
||||
Dialogue: 0,0:01:04.63,0:01:12.63,R2L,,20,20,2,,{\move(610,125,-50,125)}天降正义
|
||||
Dialogue: 0,0:01:05.02,0:01:13.02,R2L,,20,20,2,,{\move(610,25,-50,25)}耳机福利
|
||||
Dialogue: 0,0:01:05.16,0:01:13.16,R2L,,20,20,2,,{\move(647.5,75,-87.5,75)}真的是神剪辑!
|
||||
Dialogue: 0,0:01:05.52,0:01:13.52,R2L,,20,20,2,,{\move(597.5,100,-37.5,100)}斯提拉
|
||||
Dialogue: 0,0:01:05.76,0:01:09.76,Fix,,20,20,2,,{\pos(280,327)\c&HFF0000\3c&HFFFFFF}って言葉が どれだけ手を
|
||||
Dialogue: 0,0:01:05.99,0:01:13.99,R2L,,20,20,2,,{\move(610,50,-50,50)}配音好好
|
||||
Dialogue: 0,0:01:06.35,0:01:14.35,R2L,,20,20,2,,{\move(615.5,25,-55.5,25)\c&H000000\3c&HFFFFFF}bgm 火花
|
||||
Dialogue: 0,0:01:06.52,0:01:10.52,Fix,,20,20,2,,{\pos(280,370)\c&H0000FF}夢は
|
||||
Dialogue: 0,0:01:06.68,0:01:14.68,R2L,,20,20,2,,{\move(697.5,100,-137.5,100)}这是什么歌啊啊啊好好听
|
||||
Dialogue: 0,0:01:06.69,0:01:14.69,R2L,,20,20,2,,{\move(902,225,-342,225)\c&H000000\3c&HFFFFFF}这部电影的BGM次次听都能想起来电影里的场景然后开始泪目
|
||||
Dialogue: 0,0:01:06.90,0:01:14.90,R2L,,20,20,2,,{\move(710,150,-150,150)\c&H000000\3c&HFFFFFF}全片最感动的地方之一!!
|
||||
Dialogue: 0,0:01:07.21,0:01:15.21,R2L,,20,20,2,,{\move(585,50,-25,50)}夢は
|
||||
Dialogue: 0,0:01:07.26,0:01:15.26,R2L,,20,20,2,,{\move(660,75,-100,75)\c&H0000FF}刷人名的原地爆炸
|
||||
Dialogue: 0,0:01:07.37,0:01:11.37,Fix,,20,20,2,,{\pos(280,302)\c&H0000FF}目覚めればいつか消える
|
||||
Dialogue: 0,0:01:07.47,0:01:11.47,Fix,,20,20,2,,{\pos(280,277)\c&HFF6600\fs18}来伸出手吧
|
||||
Dialogue: 0,0:01:07.54,0:01:15.54,R2L,,20,20,2,,{\move(735,175,-175,175)}每次到陨石这里就一身鸡皮疙瘩
|
||||
Dialogue: 0,0:01:07.57,0:01:15.57,R2L,,20,20,2,,{\move(722.5,125,-162.5,125)}男主たき女主みつはみやみつ
|
||||
Dialogue: 0,0:01:08.17,0:01:16.17,R2L,,20,20,2,,{\move(896.5,200,-336.5,200)}这里的BGM确实是スパ一クル的,不过要等7分多钟才到那儿
|
||||
Dialogue: 0,0:01:08.25,0:01:16.25,R2L,,20,20,2,,{\move(647.5,25,-87.5,25)}我们已经分手了
|
||||
Dialogue: 0,0:01:09.42,0:01:17.42,R2L,,20,20,2,,{\move(706,100,-146,100)}见你 哪怕是借助神的力量
|
||||
Dialogue: 0,0:01:10.14,0:01:14.14,Fix,,20,20,2,,{\pos(280,345)\c&HFF0000\3c&HFFFFFF}伸ばそうと 届かない
|
||||
Dialogue: 0,0:01:10.28,0:01:18.28,R2L,,20,20,2,,{\move(735,50,-175,50)\c&H66FF33}无论在哪我都会去找你,周元歆
|
||||
Dialogue: 0,0:01:10.49,0:01:18.49,R2L,,20,20,2,,{\move(827,75,-267,75)}花火的最后一分钟才是。。。这个BGM是10分钟的
|
||||
Dialogue: 0,0:01:10.52,0:01:14.52,Fix,,20,20,2,,{\pos(280,370)\c&H0000FF}違う
|
||||
Dialogue: 0,0:01:10.55,0:01:18.55,R2L,,20,20,2,,{\move(672.5,25,-112.5,25)\c&HFF0000\3c&HFFFFFF}運命だとか未来とか
|
||||
Dialogue: 0,0:01:10.69,0:01:14.69,Fix,,20,20,2,,{\pos(280,259)\c&H00FFFF}tigau, yume jya nakatta.
|
||||
Dialogue: 0,0:01:11.50,0:01:15.50,Fix,,20,20,2,,{\pos(280,25)\c&H02F1FE}这段BGM在一个近⑨分钟的音乐里,非常好听。
|
||||
Dialogue: 0,0:01:11.78,0:01:15.78,Fix,,20,20,2,,{\pos(280,320)\c&H0000FF}夢じゃなかった
|
||||
Dialogue: 0,0:01:12.30,0:01:16.30,Fix,,20,20,2,,{\pos(280,295)\c&HFF6600\fs18}我们在它们传达不到的地方恋爱
|
||||
Dialogue: 0,0:01:12.84,0:01:20.84,R2L,,20,20,2,,{\move(647.5,25,-87.5,25)}我们已经分手了
|
||||
Dialogue: 0,0:01:13.28,0:01:21.28,R2L,,20,20,2,,{\move(622.5,100,-62.5,100)}预告好良心
|
||||
Dialogue: 0,0:01:13.36,0:01:21.36,R2L,,20,20,2,,{\move(660,50,-100,50)}在哪里可以看整部
|
||||
Dialogue: 0,0:01:13.36,0:01:17.36,Fix,,20,20,2,,{\pos(280,234)\c&H0000FF}あの人の
|
||||
Dialogue: 0,0:01:13.49,0:01:17.49,Fix,,20,20,2,,{\pos(280,209)\c&HFF0000\3c&HFFFFFF}場所で僕ら恋をする
|
||||
Dialogue: 0,0:01:13.55,0:01:21.55,R2L,,20,20,2,,{\move(665.5,125,-105.5,125)}神木DD少年音好苏
|
||||
Dialogue: 0,0:01:13.95,0:01:17.95,Fix,,20,20,2,,{\pos(280,184)\c&H00FFFF}anohito no mamae omoidasen no
|
||||
Dialogue: 0,0:01:14.40,0:01:22.40,R2L,,20,20,2,,{\move(585,75,-25,75)}火花
|
||||
Dialogue: 0,0:01:15.13,0:01:23.13,R2L,,20,20,2,,{\move(672.5,25,-112.5,25)}看过电影还是很激动
|
||||
Dialogue: 0,0:01:15.34,0:01:23.34,R2L,,20,20,2,,{\move(597.5,75,-37.5,75)}求地址
|
||||
Dialogue: 0,0:01:15.40,0:01:23.40,R2L,,20,20,2,,{\move(610,100,-50,100)}十刷路过
|
||||
Dialogue: 0,0:01:15.46,0:01:23.46,R2L,,20,20,2,,{\move(610,50,-50,50)}白色强势
|
||||
Dialogue: 0,0:01:16.62,0:01:24.62,R2L,,20,20,2,,{\move(735,125,-175,125)}看完之后更加不可能有女朋友了
|
||||
Dialogue: 0,0:01:16.68,0:01:24.68,R2L,,20,20,2,,{\move(610,50,-50,50)}配音好赞
|
||||
Dialogue: 0,0:01:16.85,0:01:20.85,Fix,,20,20,2,,{\pos(280,370)}misuha!!!
|
||||
Dialogue: 0,0:01:16.89,0:01:24.89,R2L,,20,20,2,,{\move(789.5,150,-229.5,150)}无限大な梦のあとの 何もない世の中じゃ
|
||||
Dialogue: 0,0:01:17.26,0:01:25.26,R2L,,20,20,2,,{\move(635,100,-75,100)\c&H000000\3c&HFFFFFF}みつは!!!
|
||||
Dialogue: 0,0:01:17.42,0:01:25.42,R2L,,20,20,2,,{\move(660,25,-100,25)}米萨!!!!!!
|
||||
Dialogue: 0,0:01:18.22,0:01:22.22,Fix,,20,20,2,,{\pos(280,345)\c&HFF0000\3c&HFFFFFF}時計の針を2人を
|
||||
Dialogue: 0,0:01:18.41,0:01:22.41,Fix,,20,20,2,,{\pos(280,320)\c&HFF6600\fs18}在两人深情对视时
|
||||
Dialogue: 0,0:01:18.42,0:01:26.42,R2L,,20,20,2,,{\move(735,75,-175,75)\c&H9999CC}无论在哪我都会去找你,周元歆
|
||||
Dialogue: 0,0:01:18.58,0:01:26.58,R2L,,20,20,2,,{\move(647.5,50,-87.5,50)\c&HEAA000}想不起就别想了
|
||||
Dialogue: 0,0:01:18.95,0:01:26.95,R2L,,20,20,2,,{\move(622.5,100,-62.5,100)}スパークル
|
||||
Dialogue: 0,0:01:19.94,0:01:27.94,R2L,,20,20,2,,{\move(735,125,-175,125)\c&HFF9933}无论在哪我都会去找你,周元歆
|
||||
Dialogue: 0,0:01:20.06,0:01:28.06,R2L,,20,20,2,,{\move(697.5,25,-137.5,25)}是米子哈,不是米傻好吧
|
||||
Dialogue: 0,0:01:20.41,0:01:28.41,R2L,,20,20,2,,{\move(595.5,100,-35.5,100)}misha
|
||||
Dialogue: 0,0:01:20.53,0:01:28.53,R2L,,20,20,2,,{\move(650,50,-90,50)}89这个数字神了
|
||||
Dialogue: 0,0:01:20.58,0:01:28.58,R2L,,20,20,2,,{\move(610,150,-50,150)}超级好看
|
||||
Dialogue: 0,0:01:20.88,0:01:24.88,Fix,,20,20,2,,{\pos(280,370)\c&H00FFFF}iutamontanda
|
||||
Dialogue: 0,0:01:21.08,0:01:25.08,Fix,,20,20,2,,{\pos(280,25)\c&H1200E7}表白神木小天使!!!
|
||||
Dialogue: 0,0:01:21.50,0:01:29.50,R2L,,20,20,2,,{\move(597.5,75,-37.5,75)}求地址
|
||||
Dialogue: 0,0:01:21.54,0:01:25.54,Fix,,20,20,2,,{\pos(280,302)\c&HFF0000\3c&HFFFFFF}横目に見ながら進む
|
||||
Dialogue: 0,0:01:21.82,0:01:29.82,R2L,,20,20,2,,{\move(611.5,150,-51.5,150)}bgm火花
|
||||
Dialogue: 0,0:01:21.84,0:01:29.84,R2L,,20,20,2,,{\move(822.5,175,-262.5,175)}当年一起看你的名字的同学,现在,你们还好吗
|
||||
Dialogue: 0,0:01:21.87,0:01:29.87,R2L,,20,20,2,,{\move(622.5,100,-62.5,100)}每天看一遍
|
||||
Dialogue: 0,0:01:22.08,0:01:30.08,R2L,,20,20,2,,{\move(735,200,-175,200)\c&HFFCC00}什么时候中国也能出这样的电影
|
||||
Dialogue: 0,0:01:22.44,0:01:30.44,R2L,,20,20,2,,{\move(585,75,-25,75)\c&H000000\3c&HFFFFFF}张瀚
|
||||
Dialogue: 0,0:01:22.47,0:01:30.47,R2L,,20,20,2,,{\move(597.5,50,-37.5,50)}米兹哈
|
||||
Dialogue: 0,0:01:22.54,0:01:26.54,Fix,,20,20,2,,{\pos(280,345)\c&H00FFFF}omae no sekai doko ni itemo kanarazu ainiku te
|
||||
Dialogue: 0,0:01:22.67,0:01:26.67,Fix,,20,20,2,,{\pos(280,50)\c&H1200E7}ly一起看吧
|
||||
Dialogue: 0,0:01:22.69,0:01:30.69,R2L,,20,20,2,,{\move(588.5,25,-28.5,25)}misa
|
||||
Dialogue: 0,0:01:23.02,0:01:31.02,R2L,,20,20,2,,{\move(660,125,-100,125)}在哪里可以看整部
|
||||
Dialogue: 0,0:01:23.57,0:01:31.57,R2L,,20,20,2,,{\move(582.5,75,-22.5,75)\c&H000000\3c&HFFFFFF}666
|
||||
Dialogue: 0,0:01:23.80,0:01:31.80,R2L,,20,20,2,,{\move(615.5,50,-55.5,50)}bgm 花火
|
||||
Dialogue: 0,0:01:23.83,0:01:31.83,R2L,,20,20,2,,{\move(759,150,-199,150)}讲真 大陆剪辑是我觉得最好的版本..
|
||||
Dialogue: 0,0:01:23.91,0:01:31.91,R2L,,20,20,2,,{\move(610,25,-50,25)\c&H000000\3c&HFFFFFF}好浪漫噢
|
||||
Dialogue: 0,0:01:24.22,0:01:32.22,R2L,,20,20,2,,{\move(860,225,-300,225)\c&H7B3A68}无论你在世界的哪里,我都会再一次的去见你,周佳音
|
||||
Dialogue: 0,0:01:24.23,0:01:32.23,R2L,,20,20,2,,{\move(585,75,-25,75)}火花
|
||||
Dialogue: 0,0:01:24.51,0:01:32.51,R2L,,20,20,2,,{\move(697.5,100,-137.5,100)}大陆版的宣传片最有感觉
|
||||
Dialogue: 0,0:01:25.37,0:01:33.37,R2L,,20,20,2,,{\move(622.5,25,-62.5,25)}承包新海诚
|
||||
Dialogue: 0,0:01:25.44,0:01:29.44,Fix,,20,20,2,,{\pos(280,370)\c&HFF0000\3c&HFFFFFF}そんな世界を2人で
|
||||
Dialogue: 0,0:01:25.92,0:01:29.92,Fix,,20,20,2,,{\pos(280,320)\c&HFF6600\fs18}两人在那样的世界里
|
||||
Dialogue: 0,0:01:25.97,0:01:33.97,R2L,,20,20,2,,{\move(860,175,-300,175)\c&H20C390}无论你在世界的哪里,我都会再一次的去见你,周佳音
|
||||
Dialogue: 0,0:01:26.33,0:01:34.33,R2L,,20,20,2,,{\move(660,75,-100,75)}你的名字:陈常鑫
|
||||
Dialogue: 0,0:01:26.59,0:01:34.59,R2L,,20,20,2,,{\move(785,125,-225,125)\c&H00FF00}你们这群渣渣我直接带她看的看完就表白
|
||||
Dialogue: 0,0:01:26.75,0:01:34.75,R2L,,20,20,2,,{\move(724,50,-164,50)}火花的后半段,中间bgm特长
|
||||
Dialogue: 0,0:01:27.00,0:01:35.00,R2L,,20,20,2,,{\move(597.5,25,-37.5,25)}看过了
|
||||
Dialogue: 0,0:01:28.13,0:01:32.13,Fix,,20,20,2,,{\pos(280,25)\c&H7F02E2}这段剪的好
|
||||
Dialogue: 0,0:01:28.16,0:01:36.16,R2L,,20,20,2,,{\move(607.5,25,-47.5,25)\c&H000000\3c&HFFFFFF}mitsuha
|
||||
Dialogue: 0,0:01:28.38,0:01:36.38,R2L,,20,20,2,,{\move(822.5,100,-262.5,100)\c&H000000\3c&HFFFFFF}无论你在这个世界上的任何地方,我都会去见你
|
||||
Dialogue: 0,0:01:28.44,0:01:36.44,R2L,,20,20,2,,{\move(628.5,75,-68.5,75)}豆瓣现在8.5
|
||||
Dialogue: 0,0:01:29.43,0:01:37.43,R2L,,20,20,2,,{\move(852,150,-292,150)}好棒看的午夜场 整个电影院就像是被我们四人包场了
|
||||
Dialogue: 0,0:01:29.64,0:01:37.64,R2L,,20,20,2,,{\move(610,25,-50,25)\c&H7F02E2}你是谁?
|
||||
Dialogue: 0,0:01:29.71,0:01:37.71,R2L,,20,20,2,,{\move(685,50,-125,50)\c&H02F1FE}表示看预告片也能看哭
|
||||
Dialogue: 0,0:01:29.72,0:01:33.72,Fix,,20,20,2,,{\pos(280,370)\c&HFF0000\3c&HFFFFFF}一生いや何生でも
|
||||
Dialogue: 0,0:01:29.76,0:01:33.76,Fix,,20,20,2,,{\pos(280,345)\c&HFF6600\fs18}永生永世
|
||||
Dialogue: 0,0:01:30.09,0:01:38.09,R2L,,20,20,2,,{\move(633,75,-73,75)}米子哈他ki谷
|
||||
Dialogue: 0,0:01:30.15,0:01:38.15,R2L,,20,20,2,,{\move(735,125,-175,125)\c&H1200E7}表白我神木的声音啊啊啊啊啊啊
|
||||
Dialogue: 0,0:01:30.89,0:01:34.89,Fix,,20,20,2,,{\pos(280,50)\c&H0000FF}靓女啊
|
||||
Dialogue: 0,0:01:30.89,0:01:34.89,Fix,,20,20,2,,{\pos(280,75)\c&H0000FF}在 这 停 顿
|
||||
Dialogue: 0,0:01:31.24,0:01:35.24,Fix,,20,20,2,,{\pos(280,100)\c&HCBC084}新海诚不相信爱情
|
||||
Dialogue: 0,0:01:31.27,0:01:35.27,Fix,,20,20,2,,{\pos(280,327)\c&H00FFFF}kimi no namae wa? namae wa?
|
||||
Dialogue: 0,0:01:31.33,0:01:39.33,R2L,,20,20,2,,{\move(635,25,-75,25)}我和我的左手
|
||||
Dialogue: 0,0:01:31.75,0:01:39.75,R2L,,20,20,2,,{\move(589.5,75,-29.5,75)}麦涛
|
||||
Dialogue: 0,0:01:32.18,0:01:40.18,R2L,,20,20,2,,{\move(660,50,-100,50)\c&H6633FF}哪买啊!!!!!
|
||||
Dialogue: 0,0:01:32.25,0:01:40.25,R2L,,20,20,2,,{\move(656,100,-96,100)}你的名字 郑安琪
|
||||
Dialogue: 0,0:01:32.66,0:01:36.66,Fix,,20,20,2,,{\pos(280,302)\c&H00FFFF}哪买啊
|
||||
Dialogue: 0,0:01:33.02,0:01:41.02,R2L,,20,20,2,,{\move(610,25,-50,25)}自己看吧
|
||||
Dialogue: 0,0:01:33.03,0:01:41.03,R2L,,20,20,2,,{\move(610,75,-50,75)\c&H1200E7}在下坂本
|
||||
Dialogue: 0,0:01:33.23,0:01:41.23,R2L,,20,20,2,,{\move(699,125,-139,125)}距喜欢pv这段了!!!!
|
||||
Dialogue: 0,0:01:33.28,0:01:41.28,R2L,,20,20,2,,{\move(863.5,175,-303.5,175)}ovuvuevuevue enyetuenwuevue ugbemugbem osas
|
||||
Dialogue: 0,0:01:33.36,0:01:41.36,R2L,,20,20,2,,{\move(772.5,200,-212.5,200)\c&HEAA000}吾名欧布,我将照亮黑暗,击退邪恶。
|
||||
Dialogue: 0,0:01:33.51,0:01:37.51,Fix,,20,20,2,,{\pos(280,25)\c&H1200E7}走低的原因还不是因为某些“先进”的家长
|
||||
Dialogue: 0,0:01:33.51,0:01:37.51,Fix,,20,20,2,,{\pos(280,125)\c&H1200E7}以为这是吸氧羊就带着孩子去看,结果呢?
|
||||
Dialogue: 0,0:01:33.59,0:01:41.59,R2L,,20,20,2,,{\move(863.5,150,-303.5,150)}ovuvuevuevue enyetuenwuevue ugbemugbem osas
|
||||
Dialogue: 0,0:01:33.65,0:01:37.65,Fix,,20,20,2,,{\pos(280,277)\c&H1200E7}我叫欧布,欧布奥特曼!
|
||||
Dialogue: 0,0:01:33.65,0:01:41.65,R2L,,20,20,2,,{\move(722.5,225,-162.5,225)}看完就表白,然后就在一起了
|
||||
Dialogue: 0,0:01:33.81,0:01:37.81,Fix,,20,20,2,,{\pos(280,370)\c&HFF6600\fs18}坚强地活下去
|
||||
Dialogue: 0,0:01:33.94,0:01:37.94,Fix,,20,20,2,,{\pos(280,150)\c&H1200E7}名侦探柯南 是个侦探
|
||||
Dialogue: 0,0:01:33.96,0:01:37.96,Fix,,20,20,2,,{\pos(280,352)}滚滚滚走错片场了,瞬间笑了
|
||||
Dialogue: 0,0:01:34.02,0:01:38.02,Fix,,20,20,2,,{\pos(280,175)\c&H1200E7}吉良吉影
|
||||
Dialogue: 0,0:01:34.04,0:01:38.04,Fix,,20,20,2,,{\pos(280,252)\c&HFF0000\3c&HFFFFFF}生き抜いていこう
|
||||
Dialogue: 0,0:01:34.23,0:01:42.23,R2L,,20,20,2,,{\move(585,25,-25,25)\c&H000000\3c&HFFFFFF}LYR
|
||||
Dialogue: 0,0:01:34.28,0:01:42.28,R2L,,20,20,2,,{\move(622.5,50,-62.5,50)}郑立!!!
|
||||
Dialogue: 0,0:01:34.29,0:01:42.29,R2L,,20,20,2,,{\move(572.5,100,-12.5,100)}。
|
||||
Dialogue: 0,0:01:34.49,0:01:42.49,R2L,,20,20,2,,{\move(622.5,75,-62.5,75)}欧蕾哇索隆
|
||||
Dialogue: 0,0:01:34.49,0:01:38.49,Fix,,20,20,2,,{\pos(280,200)}老子有杯存了三年的抠脚酒,那些抢着要喝的我这里有
|
||||
Dialogue: 0,0:01:35.77,0:01:43.77,R2L,,20,20,2,,{\move(627,25,-67,25)\c&H000000\3c&HFFFFFF}欧布奥特曼!
|
||||
Dialogue: 0,0:01:36.28,0:01:44.28,R2L,,20,20,2,,{\move(653.5,50,-93.5,50)}mistuha 拼错了
|
||||
Dialogue: 0,0:01:36.30,0:01:44.30,R2L,,20,20,2,,{\move(735,125,-175,125)\c&H99FF66}无论在哪我都会去找你,周元歆
|
||||
Dialogue: 0,0:01:36.74,0:01:44.74,R2L,,20,20,2,,{\move(683.5,100,-123.5,100)}老娘名字tara(滑稽)
|
||||
Dialogue: 0,0:01:36.83,0:01:44.83,R2L,,20,20,2,,{\move(597.5,200,-37.5,200)\c&HEAA000}欧布!
|
||||
Dialogue: 0,0:01:37.14,0:01:45.14,R2L,,20,20,2,,{\move(647.5,225,-87.5,225)}我的鸡皮疙瘩~
|
||||
Dialogue: 0,0:01:37.28,0:01:45.28,R2L,,20,20,2,,{\move(710,75,-150,75)\c&H000000\3c&HFFFFFF}哦列哇,速趴塞牙人贝剧塔
|
||||
Dialogue: 0,0:01:37.32,0:01:45.32,R2L,,20,20,2,,{\move(610,25,-50,25)}鸡皮疙瘩
|
||||
Dialogue: 0,0:01:37.44,0:01:45.44,R2L,,20,20,2,,{\move(660,175,-100,175)}超喜欢这段!!!
|
||||
Dialogue: 0,0:01:37.75,0:01:45.75,R2L,,20,20,2,,{\move(697.5,150,-137.5,150)}看宣传片都会泪目的电影
|
||||
Dialogue: 0,0:01:38.04,0:01:46.04,R2L,,20,20,2,,{\move(610,200,-50,200)}君の名は
|
||||
Dialogue: 0,0:01:38.29,0:01:46.29,R2L,,20,20,2,,{\move(647.5,50,-87.5,50)}看的我泪流满面
|
||||
Dialogue: 0,0:01:38.46,0:01:42.46,Fix,,20,20,2,,{\pos(280,25)}表白的原地爆炸啊!(╯‵□′)╯︵┴─┴
|
||||
Dialogue: 0,0:01:38.54,0:01:46.54,R2L,,20,20,2,,{\move(610.5,25,-50.5,25)}16刷无悔
|
||||
Dialogue: 0,0:01:38.90,0:01:42.90,Fix,,20,20,2,,{\pos(280,50)\c&H1200E7}我的入宅作!
|
||||
Dialogue: 0,0:01:39.19,0:01:47.19,R2L,,20,20,2,,{\move(585,100,-25,100)\c&H1200E7}泪目
|
||||
Dialogue: 0,0:01:39.38,0:01:47.38,R2L,,20,20,2,,{\move(641.5,125,-81.5,125)}他的名字是-xr
|
||||
Dialogue: 0,0:01:39.55,0:01:47.55,R2L,,20,20,2,,{\move(635,175,-75,175)}泪目!!!!
|
||||
Dialogue: 0,0:01:39.76,0:01:47.76,R2L,,20,20,2,,{\move(610,25,-50,25)}那买啊哇
|
||||
Dialogue: 0,0:01:39.84,0:01:47.84,R2L,,20,20,2,,{\move(585,100,-25,100)}赵威
|
||||
Dialogue: 0,0:01:40.07,0:01:48.07,R2L,,20,20,2,,{\move(610,75,-50,75)}虎艺寻♡
|
||||
Dialogue: 0,0:01:40.19,0:01:48.19,R2L,,20,20,2,,{\move(622.5,50,-62.5,50)\c&H439800}我咧瓦路飞
|
||||
Dialogue: 0,0:01:40.48,0:01:44.48,Fix,,20,20,2,,{\pos(280,370)\c&H330000\3c&HFFFFFF}それは、夢のような景色のように
|
||||
Dialogue: 0,0:01:40.79,0:01:48.79,R2L,,20,20,2,,{\move(597.5,100,-37.5,100)}好感动
|
||||
Dialogue: 0,0:01:40.97,0:01:48.97,R2L,,20,20,2,,{\move(604,25,-44,25)\c&HCCFF66}真·神作
|
||||
Dialogue: 0,0:01:41.25,0:01:49.25,R2L,,20,20,2,,{\move(735,150,-175,150)\c&HCC0066}无论在哪我都会去找你,周元歆
|
||||
Dialogue: 0,0:01:41.29,0:01:49.29,R2L,,20,20,2,,{\move(597.5,75,-37.5,75)}加藤惠
|
||||
Dialogue: 0,0:01:41.34,0:01:45.34,Fix,,20,20,2,,{\pos(280,345)\c&H330000\3c&HFFFFFF}それは、まるで夢の景色のように
|
||||
Dialogue: 0,0:01:42.04,0:01:46.04,Fix,,20,20,2,,{\pos(280,75)\c&H1200E7}在下版本 有何贵干
|
||||
Dialogue: 0,0:01:42.53,0:01:50.53,R2L,,20,20,2,,{\move(579.5,100,-19.5,100)}zzy
|
||||
Dialogue: 0,0:01:42.66,0:01:50.66,R2L,,20,20,2,,{\move(635,25,-75,25)}讲的是什么啊
|
||||
Dialogue: 0,0:01:42.83,0:01:50.83,R2L,,20,20,2,,{\move(697.5,50,-137.5,50)}每次看都有说不出的东西
|
||||
Dialogue: 0,0:01:42.98,0:01:50.98,R2L,,20,20,2,,{\move(635,75,-75,75)}欧布的等等我
|
||||
Dialogue: 0,0:01:43.13,0:01:51.13,R2L,,20,20,2,,{\move(610,125,-50,125)}那一买哇
|
||||
Dialogue: 0,0:01:43.74,0:01:51.74,R2L,,20,20,2,,{\move(610,100,-50,100)}好感人啊
|
||||
Dialogue: 0,0:01:44.35,0:01:52.35,R2L,,20,20,2,,{\move(584.5,25,-24.5,25)}mzx
|
||||
Dialogue: 0,0:01:44.40,0:01:48.40,Fix,,20,20,2,,{\pos(280,320)\c&H330000\3c&HFFFFFF}ただひたすらに
|
||||
Dialogue: 0,0:01:44.46,0:01:52.46,R2L,,20,20,2,,{\move(747.5,150,-187.5,150)}带有色眼镜的小粉红求你原地爆炸
|
||||
Dialogue: 0,0:01:44.67,0:01:52.67,R2L,,20,20,2,,{\move(635,75,-75,75)}电影院看超棒
|
||||
Dialogue: 0,0:01:44.96,0:01:52.96,R2L,,20,20,2,,{\move(610,100,-50,100)}真的感动
|
||||
Dialogue: 0,0:01:45.01,0:01:53.01,R2L,,20,20,2,,{\move(585,25,-25,25)}泪目
|
||||
Dialogue: 0,0:01:45.38,0:01:53.38,R2L,,20,20,2,,{\move(702,175,-142,175)}我在电视看了完整 的电影
|
||||
Dialogue: 0,0:01:45.42,0:01:53.42,R2L,,20,20,2,,{\move(672.5,125,-112.5,125)}祝表白的单身到死。
|
||||
Dialogue: 0,0:01:45.46,0:01:53.46,R2L,,20,20,2,,{\move(585,50,-25,50)}神作
|
||||
Dialogue: 0,0:01:45.67,0:01:53.67,R2L,,20,20,2,,{\move(585,25,-25,25)\c&H1200E7}卓涵
|
||||
Dialogue: 0,0:01:45.76,0:01:49.76,Fix,,20,20,2,,{\pos(280,370)\c&H330000\3c&HFFFFFF}美しい眺めだった
|
||||
Dialogue: 0,0:01:45.99,0:01:49.99,Fix,,20,20,2,,{\pos(280,345)\c&HEAA000}嗷嗷嗷最后一句太好听了
|
||||
Dialogue: 0,0:01:46.57,0:01:54.57,R2L,,20,20,2,,{\move(647.5,75,-87.5,75)\c&HCBC084}自己看感觉不错
|
||||
Dialogue: 0,0:01:46.67,0:01:54.67,R2L,,20,20,2,,{\move(610,50,-50,50)}美不胜收
|
||||
Dialogue: 0,0:01:46.88,0:01:54.88,R2L,,20,20,2,,{\move(610,25,-50,25)}那买的啊
|
||||
Dialogue: 0,0:01:47.02,0:01:55.02,R2L,,20,20,2,,{\move(657.5,100,-97.5,100)}是mistuha!!!
|
||||
Dialogue: 0,0:01:47.54,0:01:51.54,Fix,,20,20,2,,{\pos(280,25)\c&H02F1FE}子个看的笑哭我
|
||||
Dialogue: 0,0:01:47.55,0:01:51.55,Fix,,20,20,2,,{\pos(280,50)\c&HFFFF00}我也觉得最后一句太美了
|
||||
Dialogue: 0,0:01:47.61,0:01:51.61,Fix,,20,20,2,,{\pos(280,75)\c&H6600FF}自个儿看吧!
|
||||
Dialogue: 0,0:01:47.75,0:01:51.75,Fix,,20,20,2,,{\pos(280,100)\c&HEAA000}最后一句太好听了
|
||||
Dialogue: 0,0:01:47.83,0:01:55.83,R2L,,20,20,2,,{\move(660,125,-100,125)}鸡皮疙瘩,最喜欢
|
||||
Dialogue: 0,0:01:48.09,0:01:56.09,R2L,,20,20,2,,{\move(579,25,-19,25)}。。
|
||||
Dialogue: 0,0:01:48.13,0:01:56.13,R2L,,20,20,2,,{\move(622.5,50,-62.5,50)}美丽而致命
|
||||
Dialogue: 0,0:01:48.26,0:01:52.26,Fix,,20,20,2,,{\pos(280,125)\c&H439800}自己看吧
|
||||
Dialogue: 0,0:01:48.48,0:01:56.48,R2L,,20,20,2,,{\move(610,75,-50,75)\c&H0000CC}美不胜收
|
||||
Dialogue: 0,0:01:48.97,0:01:56.97,R2L,,20,20,2,,{\move(922.5,150,-362.5,150)}不要说票房低。你的名字在浙江青少年间的知名度几乎是百分之后
|
||||
Dialogue: 0,0:01:48.98,0:01:56.98,R2L,,20,20,2,,{\move(863,200,-303,200)}啊,“一起看吧”,这句话简直太美了,不去看都不行啊
|
||||
Dialogue: 0,0:01:49.07,0:01:57.07,R2L,,20,20,2,,{\move(800.5,175,-240.5,175)\c&H000000\3c&HFFFFFF}“爱”就是科学与逻辑永远无法解释的程序。
|
||||
Dialogue: 0,0:01:49.17,0:01:53.17,Fix,,20,20,2,,{\pos(280,320)}最后一句真美
|
||||
Dialogue: 0,0:01:49.20,0:01:57.20,R2L,,20,20,2,,{\move(664.5,100,-104.5,100)}哭了 呼吸都在颤抖
|
||||
Dialogue: 0,0:01:49.21,0:01:57.21,R2L,,20,20,2,,{\move(847.5,225,-287.5,225)\c&H02F1FE}订电影票时就看到只有我的头像是没有泷的三叶。。。
|
||||
Dialogue: 0,0:01:49.39,0:01:57.39,R2L,,20,20,2,,{\move(614.5,25,-54.5,25)} 美不胜收
|
||||
Dialogue: 0,0:01:49.51,0:01:53.51,Fix,,20,20,2,,{\pos(280,150)\c&H722E00\3c&HFFFFFF}自己看吧
|
||||
Dialogue: 0,0:01:49.77,0:01:53.77,Fix,,20,20,2,,{\pos(280,175)\c&H1200E7}神木DD赛高!!!
|
||||
Dialogue: 0,0:01:50.04,0:01:58.04,R2L,,20,20,2,,{\move(647.5,50,-87.5,50)}自己一个人看吧
|
||||
Dialogue: 0,0:01:50.12,0:01:54.12,Fix,,20,20,2,,{\pos(280,200)\c&H7F02E2}自己看吧
|
||||
Dialogue: 0,0:01:50.52,0:01:58.52,R2L,,20,20,2,,{\move(702,125,-142,125)}ctOS的别跑,决战到天亮
|
||||
Dialogue: 0,0:01:50.85,0:01:58.85,R2L,,20,20,2,,{\move(622.5,25,-62.5,25)\c&H000000\3c&HFFFFFF}我叫赵卫东
|
||||
Dialogue: 0,0:01:51.37,0:01:59.37,R2L,,20,20,2,,{\move(585,100,-25,100)}合影
|
||||
Dialogue: 0,0:01:51.62,0:01:59.62,R2L,,20,20,2,,{\move(741.5,75,-181.5,75)}和美美哒女孩子一起看的,开心~
|
||||
Dialogue: 0,0:01:52.31,0:02:00.31,R2L,,20,20,2,,{\move(597.5,25,-37.5,25)\c&H2AABF0}贼好看
|
||||
Dialogue: 0,0:01:52.67,0:02:00.67,R2L,,20,20,2,,{\move(697.5,50,-137.5,50)}超级喜欢大陆版这个预告
|
||||
Dialogue: 0,0:01:53.35,0:02:01.35,R2L,,20,20,2,,{\move(652,100,-92,100)}你的名字 陈同宙
|
||||
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 2.0 MiB |
@@ -0,0 +1,26 @@
|
||||
WEBVTT
|
||||
|
||||
1
|
||||
00:00:00.000 --> 00:01:30.000
|
||||
<i>[1]: 00:00 -> 01:30</i>
|
||||
<i>[1]: 00:00 -> 01:30</i>
|
||||
|
||||
2
|
||||
00:00:00.000 --> 00:00:05.000
|
||||
<b>[2]: 00:00 -> 00:05</b>
|
||||
<b>[2]: 00:00 -> 00:05</b>
|
||||
|
||||
3
|
||||
00:00:00.000 --> 00:00:10.000
|
||||
<b style="color:red">[3]: 00:00 -> 00:10</b>
|
||||
<b style="color:red">[3]: 00:00 -> 00:10</b>
|
||||
|
||||
4
|
||||
00:00:05.000 --> 00:00:20.000
|
||||
<i style="color:yellow">[4]: 00:05 -> 00:20</i>
|
||||
<i style="color:yellow">[4]: 00:05 -> 00:20</i>
|
||||
|
||||
5
|
||||
00:00:10.000 --> 00:00:30.000
|
||||
<del style="font-size:24px">[5]: 00:20 -> 01:00</del>
|
||||
<del style="font-size:24px">[5]: 00:20 -> 01:00</del>
|
||||
Loaded 100 of 1175 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user