nadesiko3 3.4.12 → 3.4.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/batch/command.txt +1 -1
- package/batch/command_nakopad.txt +1 -1
- package/core/package.json +1 -1
- package/core/src/nako3.mjs +1 -1
- package/core/src/nako3.mts +1 -1
- package/core/src/nako_core_version.mjs +2 -2
- package/core/src/nako_core_version.mts +2 -2
- package/core/src/plugin_system.mjs +2 -2
- package/core/src/plugin_system.mts +3 -3
- package/demo/runscript5.html +87 -0
- package/package.json +1 -1
- package/release/_hash.txt +16 -16
- package/release/_script-tags.txt +14 -14
- package/release/command_cnako3.json +1 -1
- package/release/nako_gen_async.js +1 -1
- package/release/nako_gen_async.js.map +1 -1
- package/release/stats.json +1 -1
- package/release/version.js +1 -1
- package/release/version.js.map +1 -1
- package/release/wnako3.js +1 -1
- package/release/wnako3.js.map +1 -1
- package/release/wnako3webworker.js +1 -1
- package/release/wnako3webworker.js.map +1 -1
- package/src/nako_version.mjs +2 -2
- package/src/nako_version.mts +2 -2
package/batch/command.txt
CHANGED
|
@@ -281,7 +281,7 @@
|
|
|
281
281
|
| 関数 | __DEBUG | | デバッグモードにする | __DEBUG | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2656
|
|
282
282
|
| 定数 | __DEBUG強制待機 | | 0 | __DEBUGきょうせいたいき | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2661
|
|
283
283
|
| 定数 | __DEBUGブレイクポイント一覧 | | [] | __DEBUGぶれいくぽいんといちらん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2662
|
|
284
|
-
| 定数 | __DEBUG待機フラグ | | 0 | __DEBUG
|
|
284
|
+
| 定数 | __DEBUG待機フラグ | | 0 | __DEBUGたいきフラグ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2663
|
|
285
285
|
| 関数 | __DEBUG_BP_WAIT | CURLINEで | エディタのブレイクポイント機能のための待機 | __DEBUG_BP_WAIT | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2669
|
|
286
286
|
| 関数 | グローバル関数一覧取得 | | グローバル変数にある関数一覧を取得 | ぐろーばるかんすういちらんしゅとく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2694
|
|
287
287
|
| 関数 | システム関数一覧取得 | | システム関数の一覧を取得 | しすてむかんすういちらんしゅとく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2709
|
|
@@ -281,7 +281,7 @@
|
|
|
281
281
|
|__DEBUG,"","�f�o�b�O���[�h�ɂ���",0,,����,__DEBUG
|
|
282
282
|
|__DEBUG�����ҋ@,"","0",0,,�ϐ�,__DEBUG���傤����������
|
|
283
283
|
|__DEBUG�u���C�N�|�C���g�ꗗ,"","[]",0,,�ϐ�,__DEBUG�Ԃꂢ���ۂ���Ƃ������
|
|
284
|
-
|__DEBUG�ҋ@�t���O,"","0",0,,�ϐ�,__DEBUG
|
|
284
|
+
|__DEBUG�ҋ@�t���O,"","0",0,,�ϐ�,__DEBUG�������t���O
|
|
285
285
|
|__DEBUG_BP_WAIT,"CURLINE��","�G�f�B�^�̃u���C�N�|�C���g�@�\�̂��߂̑ҋ@",0,,����,__DEBUG_BP_WAIT
|
|
286
286
|
|�O���[�o�����ꗗ�擾,"","�O���[�o���ϐ��ɂ�����ꗗ���擾",0,,����,����[�邩���������Ƃ�
|
|
287
287
|
|�V�X�e�����ꗗ�擾,"","�V�X�e�����̈ꗗ���擾",0,,����,�����Ăނ����������Ƃ�
|
package/core/package.json
CHANGED
package/core/src/nako3.mjs
CHANGED
|
@@ -860,7 +860,7 @@ export class NakoCompiler {
|
|
|
860
860
|
* @param {boolean} asyncFn Promiseを返す関数かを指定
|
|
861
861
|
*/
|
|
862
862
|
addFunc(key, josi, fn, returnNone = true, asyncFn = false) {
|
|
863
|
-
this.funclist[key] = { josi, fn, type: 'func', return_none: returnNone, asyncFn };
|
|
863
|
+
this.funclist[key] = { josi, fn, type: 'func', return_none: returnNone, asyncFn, pure: true };
|
|
864
864
|
this.pluginFunclist[key] = cloneAsJSON(this.funclist[key]);
|
|
865
865
|
this.__varslist[0][key] = fn;
|
|
866
866
|
}
|
package/core/src/nako3.mts
CHANGED
|
@@ -971,7 +971,7 @@ export class NakoCompiler {
|
|
|
971
971
|
* @param {boolean} asyncFn Promiseを返す関数かを指定
|
|
972
972
|
*/
|
|
973
973
|
addFunc (key: string, josi: FuncArgs, fn: any, returnNone = true, asyncFn = false): void {
|
|
974
|
-
this.funclist[key] = { josi, fn, type: 'func', return_none: returnNone, asyncFn }
|
|
974
|
+
this.funclist[key] = { josi, fn, type: 'func', return_none: returnNone, asyncFn, pure: true }
|
|
975
975
|
this.pluginFunclist[key] = cloneAsJSON(this.funclist[key])
|
|
976
976
|
this.__varslist[0][key] = fn
|
|
977
977
|
}
|
|
@@ -2826,7 +2826,7 @@ export default {
|
|
|
2826
2826
|
const breakpoints = sys.__v0['__DEBUGブレイクポイント一覧'];
|
|
2827
2827
|
const forceLine = sys.__v0['__DEBUG強制待機'];
|
|
2828
2828
|
sys.__v0['__DEBUG強制待機'] = 0;
|
|
2829
|
-
|
|
2829
|
+
// ブレイクポイント or __DEBUG強制待機 が指定されたか?
|
|
2830
2830
|
if (breakpoints.indexOf(curLine) >= 0 || forceLine) {
|
|
2831
2831
|
console.log('@STOP!!!! cur=', curLine);
|
|
2832
2832
|
const timerId = setInterval(() => {
|
|
@@ -2835,7 +2835,7 @@ export default {
|
|
|
2835
2835
|
clearInterval(timerId);
|
|
2836
2836
|
resolve(curLine);
|
|
2837
2837
|
}
|
|
2838
|
-
},
|
|
2838
|
+
}, 500);
|
|
2839
2839
|
}
|
|
2840
2840
|
else {
|
|
2841
2841
|
resolve(curLine);
|
|
@@ -2660,7 +2660,7 @@ export default {
|
|
|
2660
2660
|
},
|
|
2661
2661
|
'__DEBUG強制待機': { type: 'const', value: 0 }, // @__DEBUGきょうせいたいき
|
|
2662
2662
|
'__DEBUGブレイクポイント一覧': { type: 'const', value: [] }, // @__DEBUGぶれいくぽいんといちらん
|
|
2663
|
-
'__DEBUG待機フラグ': { type: 'const', value: 0 }, // @__DEBUG
|
|
2663
|
+
'__DEBUG待機フラグ': { type: 'const', value: 0 }, // @__DEBUGたいきフラグ
|
|
2664
2664
|
'__DEBUG_BP_WAIT': { // @エディタのブレイクポイント機能のための待機 // @__DEBUG_BP_WAIT
|
|
2665
2665
|
type: 'func',
|
|
2666
2666
|
josi: [['で']],
|
|
@@ -2671,7 +2671,7 @@ export default {
|
|
|
2671
2671
|
const breakpoints = sys.__v0['__DEBUGブレイクポイント一覧']
|
|
2672
2672
|
const forceLine = sys.__v0['__DEBUG強制待機']
|
|
2673
2673
|
sys.__v0['__DEBUG強制待機'] = 0
|
|
2674
|
-
|
|
2674
|
+
// ブレイクポイント or __DEBUG強制待機 が指定されたか?
|
|
2675
2675
|
if (breakpoints.indexOf(curLine) >= 0 || forceLine) {
|
|
2676
2676
|
console.log('@STOP!!!! cur=', curLine)
|
|
2677
2677
|
const timerId = setInterval(() => {
|
|
@@ -2680,7 +2680,7 @@ export default {
|
|
|
2680
2680
|
clearInterval(timerId)
|
|
2681
2681
|
resolve(curLine)
|
|
2682
2682
|
}
|
|
2683
|
-
},
|
|
2683
|
+
}, 500)
|
|
2684
2684
|
} else {
|
|
2685
2685
|
resolve(curLine)
|
|
2686
2686
|
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<title>なでしこ3</title>
|
|
6
|
+
</head>
|
|
7
|
+
<body>
|
|
8
|
+
<h1>なでしこ3デモ5</h1>
|
|
9
|
+
<div>
|
|
10
|
+
<div id="print"></div>
|
|
11
|
+
<canvas id="demo_canvas" width="300" height="300"></script>
|
|
12
|
+
</div>
|
|
13
|
+
<hr>
|
|
14
|
+
<div class="sbox">
|
|
15
|
+
<h3>その他</h3>
|
|
16
|
+
<ul>
|
|
17
|
+
<li><a href="index.html">デモトップへ戻る</a></li>
|
|
18
|
+
<li><a href="browsers.html">対応機器/Webブラウザ</a></li>
|
|
19
|
+
</ul>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<!-- なでしこを使う準備 -->
|
|
23
|
+
<script src="../release/wnako3.js?run"></script>
|
|
24
|
+
<script>
|
|
25
|
+
// === 独自の関数を定義 ===
|
|
26
|
+
const nako3 = navigator.nako3
|
|
27
|
+
|
|
28
|
+
// 最も適当な「表示」関数を定義する
|
|
29
|
+
nako3.addFunc('表示', [['と', 'を']], (s, sys) => {
|
|
30
|
+
s = toHtml(s)
|
|
31
|
+
const p = document.querySelector('#print')
|
|
32
|
+
p.innerHTML += `${s}<br>`
|
|
33
|
+
}, true)
|
|
34
|
+
|
|
35
|
+
// 「遅い乱数」関数を定義する(非同期関数)
|
|
36
|
+
nako3.addFunc('遅乱数', [], () => new Promise((resolve, reject) => {
|
|
37
|
+
setTimeout(()=>{
|
|
38
|
+
const val = Math.floor(Math.random() * 100)
|
|
39
|
+
resolve(val)
|
|
40
|
+
}, 500)
|
|
41
|
+
}), false, true)
|
|
42
|
+
|
|
43
|
+
// 「劇遅乱数」関数を定義する(非同期関数)
|
|
44
|
+
nako3.addFunc('劇遅乱数', [], async () => {
|
|
45
|
+
const m = await delay(()=>100, 500)
|
|
46
|
+
const r = await delay(()=>(Math.floor(Math.random() * 1000) + m), 500)
|
|
47
|
+
return r
|
|
48
|
+
}, false, true)
|
|
49
|
+
|
|
50
|
+
function delay(func, msec) {
|
|
51
|
+
return new Promise((resolve, reject) => {
|
|
52
|
+
setTimeout(()=>{
|
|
53
|
+
const res = func()
|
|
54
|
+
resolve(res)
|
|
55
|
+
}, msec)
|
|
56
|
+
})
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function toHtml(s) {
|
|
60
|
+
s = '' + s
|
|
61
|
+
s = s
|
|
62
|
+
.replace(/&/g, '&')
|
|
63
|
+
.replace(/</g, '<')
|
|
64
|
+
.replace(/>/g, '>')
|
|
65
|
+
return s
|
|
66
|
+
}
|
|
67
|
+
</script>
|
|
68
|
+
<script type="なでしこ">
|
|
69
|
+
「--- test1 ---」と表示。
|
|
70
|
+
0.5秒後には
|
|
71
|
+
10回
|
|
72
|
+
R=遅い乱数
|
|
73
|
+
「{回数}: {R}」と表示。
|
|
74
|
+
ここまで。
|
|
75
|
+
ここまで。
|
|
76
|
+
/*
|
|
77
|
+
「--- test2 ---」と表示。
|
|
78
|
+
10回
|
|
79
|
+
R=遅い乱数
|
|
80
|
+
「{回数}: {R}」と表示。
|
|
81
|
+
R=劇遅乱数
|
|
82
|
+
「{回数}: {R}」と表示。
|
|
83
|
+
ここまで。
|
|
84
|
+
*/
|
|
85
|
+
</script>
|
|
86
|
+
</body>
|
|
87
|
+
</html>
|
package/package.json
CHANGED
package/release/_hash.txt
CHANGED
|
@@ -9,10 +9,10 @@ editor.js:
|
|
|
9
9
|
sha256(base64): GX0x6mAI2Zgnw9HZbRKWqyMEv2/x/OzG0jD/7cAUbxY=
|
|
10
10
|
sha512(base64): VTy3oPrA2GydInV0OsGHEIgb0iGBVMNEbO2PscFbpXgPPct8CueDan20UtH8L30tvJHmRe1lR35koG1xHZHLRw==
|
|
11
11
|
nako_gen_async.js:
|
|
12
|
-
md5(hex):
|
|
13
|
-
sha256(hex):
|
|
14
|
-
sha256(base64):
|
|
15
|
-
sha512(base64):
|
|
12
|
+
md5(hex): 60de6fc0419502eac6908b11b09c19b1
|
|
13
|
+
sha256(hex): f6466d3dc386dd4c300c9a9e4307d2dc5a731ab8f1ef8c3f7489fee28ffc422d
|
|
14
|
+
sha256(base64): 9kZtPcOG3UwwDJqeQwfS3FpzGrjx74w/dIn+4o/8Qi0=
|
|
15
|
+
sha512(base64): 6fu8m6QI8J6A0FllBeiG+znxLl6TWu2uuv76OKDkRnehMag4+ifhxCIo2F5LAc+El10e3wrYHC4uUPC5luHFvA==
|
|
16
16
|
plugin_caniuse.js:
|
|
17
17
|
md5(hex): b9a7d651b036f1646c76196efc4f220b
|
|
18
18
|
sha256(hex): 7d50b13fa23b1e4984ae58ace75c08c6db259768649b9fe617025279b3f03a0b
|
|
@@ -54,17 +54,17 @@ plugin_weykturtle3d.js:
|
|
|
54
54
|
sha256(base64): FO/zhIcbO4hNPDHd+ZxPlHIg2r4/3exT7LNYvG5LwTs=
|
|
55
55
|
sha512(base64): TH7Xjq3mkiXW4wy88JLUIASpIN7lYEMlPR62yDlFEJ6vx8oKKv13hoW0Oyx/U0OEjUPZ1vI9zGUHck9UKg+mwQ==
|
|
56
56
|
version.js:
|
|
57
|
-
md5(hex):
|
|
58
|
-
sha256(hex):
|
|
59
|
-
sha256(base64):
|
|
60
|
-
sha512(base64):
|
|
57
|
+
md5(hex): eb2409a9eae87472437cc70500c8c7df
|
|
58
|
+
sha256(hex): e37177fb57d4cb7e34f5d3519e363191b61a6cf091c34dfe21743665b3cb5518
|
|
59
|
+
sha256(base64): 43F3+1fUy3409dNRnjYxkbYabPCRw03+IXQ2ZbPLVRg=
|
|
60
|
+
sha512(base64): 3OhsVBXE5l92SBzhYuB7L9dZQQdVdY0RjsZHn5YrTK7BiDZ9HpCMnkHX8Ocub754w5WrKSBexseSbovQygD9dQ==
|
|
61
61
|
wnako3.js:
|
|
62
|
-
md5(hex):
|
|
63
|
-
sha256(hex):
|
|
64
|
-
sha256(base64):
|
|
65
|
-
sha512(base64):
|
|
62
|
+
md5(hex): 7154652c0e2a0c3bc05dd1497bdaa19a
|
|
63
|
+
sha256(hex): f1760bbe16e2750d2ce9627a54b8092799079d69960a8e2e77cad0085aa238da
|
|
64
|
+
sha256(base64): 8XYLvhbidQ0s6WJ6VLgJJ5kHnWmWCo4ud8rQCFqiONo=
|
|
65
|
+
sha512(base64): AiYgcoRBbaHpvqD3b1/IuE2VfTQ9p6Iz9DSHXo4AsXABGIqh1jFSF5qdkT7iQ0wBQZ9V9MK4dWabtv/oNAy7qw==
|
|
66
66
|
wnako3webworker.js:
|
|
67
|
-
md5(hex):
|
|
68
|
-
sha256(hex):
|
|
69
|
-
sha256(base64):
|
|
70
|
-
sha512(base64):
|
|
67
|
+
md5(hex): e9ba4856a0faf36c48ad11d6992662a5
|
|
68
|
+
sha256(hex): 86be02585301f2d63140a89f8d8cf029c91da12f08177391425fc9e2038ba31f
|
|
69
|
+
sha256(base64): hr4CWFMB8tYxQKifjYzwKckdoS8IF3ORQl/J4gOLox8=
|
|
70
|
+
sha512(base64): qXiDjtWqXgEL/jeIj/3tPq488/TsRYLbvKZu95d2eRJYPmLkixFH2mrywfb10eW6584MkgaZwJk3GSUn7OFlCg==
|
package/release/_script-tags.txt
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.
|
|
2
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.
|
|
3
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.
|
|
4
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.
|
|
5
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.
|
|
6
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.
|
|
7
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.
|
|
8
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.
|
|
9
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.
|
|
10
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.
|
|
11
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.
|
|
12
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.
|
|
13
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.
|
|
14
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.
|
|
1
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.13&f=release/command.json.js" integrity="sha512-DK6GVjOAlbwP7cvQcBwAI3RRZHxRR8b2GYemWjuGvhcwaSUTUKJ/JaT5cae2mY57/pNIsuoHLEwWhnvYaSmM4Q==" crossorigin="anonymous"></script>
|
|
2
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.13&f=release/editor.js" integrity="sha512-VTy3oPrA2GydInV0OsGHEIgb0iGBVMNEbO2PscFbpXgPPct8CueDan20UtH8L30tvJHmRe1lR35koG1xHZHLRw==" crossorigin="anonymous"></script>
|
|
3
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.13&f=release/nako_gen_async.js" integrity="sha512-6fu8m6QI8J6A0FllBeiG+znxLl6TWu2uuv76OKDkRnehMag4+ifhxCIo2F5LAc+El10e3wrYHC4uUPC5luHFvA==" crossorigin="anonymous"></script>
|
|
4
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.13&f=release/plugin_caniuse.js" integrity="sha512-DQtRUYbRvs3H90qvSM5jMwOQqg5ZKz5MnXp/549AvjuFrGQuboFhRA5XFvHMtVHNR3co9MIepEHu1PoA4sj2XA==" crossorigin="anonymous"></script>
|
|
5
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.13&f=release/plugin_csv.js" integrity="sha512-mQvmj25L2Nc2L7gN1rTjayHVMMPhc7TCSiBsuKS4JKOQqN+91uj9qpLAOejzR1ib5jIOBdtrhN+secNTU9BJtw==" crossorigin="anonymous"></script>
|
|
6
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.13&f=release/plugin_datetime.js" integrity="sha512-x9UUoQVIUvyaxwymD6rNn7jXEXrTzHBTOBDUeFCbCm+lXVutkT2Fww+N4yOa1ZcxF0PcgDxoRIpMiqkJ1AJThA==" crossorigin="anonymous"></script>
|
|
7
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.13&f=release/plugin_kansuji.js" integrity="sha512-5/TRx8Ke69YV9s8M67sOWrJmhhHK4MMLbMJh5nKg3oV8spmOOTn6tXl/TxYk8YWkTurOTCaXtRFuR9h2yEDt7w==" crossorigin="anonymous"></script>
|
|
8
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.13&f=release/plugin_markup.js" integrity="sha512-3gTGPjzEOVBXtYveX8p6mDVfx1wVsYdJclwiWp6qPHIkou9Cyb9PGoZ9yXww4REvRdxKCoHYMF1jHrBIKFDSTg==" crossorigin="anonymous"></script>
|
|
9
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.13&f=release/plugin_turtle.js" integrity="sha512-eQGdHJUa8h8N8hu3N4U/7YpdPCeqDH3zw2nAHtnzrFpUtYmIOSclURwNVt9CjtANG6SdzATVIvzY6lBKc7Kagw==" crossorigin="anonymous"></script>
|
|
10
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.13&f=release/plugin_webworker.js" integrity="sha512-ckRx+9bm94iJ1vss+zGim86mXAogxinCFrLhHnsvMAofRmlNQqYULQVLqruTp/zLOW9l/zUEU2lS3Rtg7JB9jA==" crossorigin="anonymous"></script>
|
|
11
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.13&f=release/plugin_weykturtle3d.js" integrity="sha512-TH7Xjq3mkiXW4wy88JLUIASpIN7lYEMlPR62yDlFEJ6vx8oKKv13hoW0Oyx/U0OEjUPZ1vI9zGUHck9UKg+mwQ==" crossorigin="anonymous"></script>
|
|
12
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.13&f=release/version.js" integrity="sha512-3OhsVBXE5l92SBzhYuB7L9dZQQdVdY0RjsZHn5YrTK7BiDZ9HpCMnkHX8Ocub754w5WrKSBexseSbovQygD9dQ==" crossorigin="anonymous"></script>
|
|
13
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.13&f=release/wnako3.js" integrity="sha512-AiYgcoRBbaHpvqD3b1/IuE2VfTQ9p6Iz9DSHXo4AsXABGIqh1jFSF5qdkT7iQ0wBQZ9V9MK4dWabtv/oNAy7qw==" crossorigin="anonymous"></script>
|
|
14
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.4.13&f=release/wnako3webworker.js" integrity="sha512-qXiDjtWqXgEL/jeIj/3tPq488/TsRYLbvKZu95d2eRJYPmLkixFH2mrywfb10eW6584MkgaZwJk3GSUn7OFlCg==" crossorigin="anonymous"></script>
|