fca-sakibin-remarsted 3.5.2 → 3.5.4
Sign up to get free protection for your applications and to get access to all the features.
- package/.cache/replit/__replit_disk_meta.json +1 -1
- package/Extra/Html/Classic/script.js +482 -106
- package/Extra/Html/Classic/style.css +166 -12
- package/Language/index.js +0 -0
- package/Language/index.json +217 -0
- package/Main.js +33 -31
- package/index.js +1 -1
- package/package.json +2 -2
- package/fca-sakibin-remarsted.zip +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"nonce":
|
1
|
+
{"nonce":7919033809045595087,"last_updated":{"seconds":1697285950,"nanos":51656000}}
|
@@ -1,119 +1,495 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
var fontStr = "bold 100pt Helvetica Neue, Helvetica, Arial, sans-serif";
|
8
|
-
|
9
|
-
ctx.font = fontStr;
|
10
|
-
ctx.textAlign = "auto";
|
11
|
-
c.width = (ctx.measureText(str).width);
|
12
|
-
c.height = 100; // Set to font size
|
13
|
-
|
14
|
-
var whitePixels = [];
|
15
|
-
var points = [];
|
16
|
-
var point = function(x,y,vx,vy){
|
17
|
-
this.x = x;
|
18
|
-
this.y = y;
|
19
|
-
this.vx = vx || 1;
|
20
|
-
this.vy = vy || 1;
|
21
|
-
};
|
22
|
-
point.prototype.update = function() {
|
23
|
-
ctx.beginPath();
|
24
|
-
ctx.fillStyle = "#95a5a6";
|
25
|
-
ctx.arc(this.x,this.y,1,0,2*Math.PI);
|
26
|
-
ctx.fill();
|
27
|
-
ctx.closePath();
|
1
|
+
/*
|
2
|
+
DHTML Snowstorm! OO-style Jascript-based Snow effect
|
3
|
+
----------------------------------------------------
|
4
|
+
Version 1.4.20091115 (Previous rev: v1.3.20081215)
|
5
|
+
Code by Scott Schiller - http://schillmania.com
|
6
|
+
----------------------------------------------------
|
28
7
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
8
|
+
Initializes after body onload() by default (via addEventHandler() call at bottom.)
|
9
|
+
To customize properties, edit below or override configuration after this script
|
10
|
+
has run (but before body.onload), eg. snowStorm.snowStick = false;
|
11
|
+
|
12
|
+
*/
|
13
|
+
|
14
|
+
var snowStorm = null;
|
15
|
+
|
16
|
+
function SnowStorm() {
|
17
|
+
|
18
|
+
// --- PROPERTIES ---
|
19
|
+
|
20
|
+
this.flakesMax = 128; // Limit total amount of snow made (falling + sticking)
|
21
|
+
this.flakesMaxActive = 64; // Limit amount of snow falling at once (less = lower CPU use)
|
22
|
+
this.animationInterval = 33; // Theoretical "miliseconds per frame" measurement. 20 = fast + smooth, but high CPU use. 50 = more conservative, but slower
|
23
|
+
this.flakeBottom = null; // Integer for Y axis snow limit, 0 or null for "full-screen" snow effect
|
24
|
+
this.targetElement = null; // element which snow will be appended to (document body if null/undefined) - can be an element ID string, or a DOM node reference
|
25
|
+
this.followMouse = true; // Snow will change movement with the user's mouse
|
26
|
+
this.snowColor = '#fff'; // Don't eat (or use?) yellow snow.
|
27
|
+
this.snowCharacter = '•'; // • = bullet, · is square on some systems etc.
|
28
|
+
this.snowStick = true; // Whether or not snow should "stick" at the bottom. When off, will never collect.
|
29
|
+
this.useMeltEffect = true; // When recycling fallen snow (or rarely, when falling), have it "melt" and fade out if browser supports it
|
30
|
+
this.useTwinkleEffect = false; // Allow snow to randomly "flicker" in and out of view while falling
|
31
|
+
this.usePositionFixed = false; // true = snow not affected by window scroll. may increase CPU load, disabled by default - if enabled, used only where supported
|
32
|
+
|
33
|
+
// --- less-used bits ---
|
34
|
+
|
35
|
+
this.flakeLeftOffset = 0; // amount to subtract from edges of container
|
36
|
+
this.flakeRightOffset = 0; // amount to subtract from edges of container
|
37
|
+
this.flakeWidth = 8; // max pixel width for snow element
|
38
|
+
this.flakeHeight = 8; // max pixel height for snow element
|
39
|
+
this.vMaxX = 5; // Maximum X velocity range for snow
|
40
|
+
this.vMaxY = 4; // Maximum Y velocity range
|
41
|
+
this.zIndex = 0; // CSS stacking order applied to each snowflake
|
42
|
+
|
43
|
+
// --- End of user section ---
|
44
|
+
|
45
|
+
// jslint global declarations
|
46
|
+
/*global window, document, navigator, clearInterval, setInterval */
|
47
|
+
|
48
|
+
var addEvent = (typeof(window.attachEvent)=='undefined'?function(o,evtName,evtHandler) {
|
49
|
+
return o.addEventListener(evtName,evtHandler,false);
|
50
|
+
}:function(o,evtName,evtHandler) {
|
51
|
+
return o.attachEvent('on'+evtName,evtHandler);
|
52
|
+
});
|
53
|
+
|
54
|
+
var removeEvent = (typeof(window.attachEvent)=='undefined'?function(o,evtName,evtHandler) {
|
55
|
+
return o.removeEventListener(evtName,evtHandler,false);
|
56
|
+
}:function(o,evtName,evtHandler) {
|
57
|
+
return o.detachEvent('on'+evtName,evtHandler);
|
58
|
+
});
|
59
|
+
|
60
|
+
function rnd(n,min) {
|
61
|
+
if (isNaN(min)) {
|
62
|
+
min = 0;
|
63
|
+
}
|
64
|
+
return (Math.random()*n)+min;
|
33
65
|
}
|
34
|
-
|
35
|
-
|
36
|
-
|
66
|
+
|
67
|
+
function plusMinus(n) {
|
68
|
+
return (parseInt(rnd(2),10)==1?n*-1:n);
|
37
69
|
}
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
70
|
+
|
71
|
+
var s = this;
|
72
|
+
var storm = this;
|
73
|
+
this.timers = [];
|
74
|
+
this.flakes = [];
|
75
|
+
this.disabled = false;
|
76
|
+
this.active = false;
|
77
|
+
|
78
|
+
var isIE = navigator.userAgent.match(/msie/i);
|
79
|
+
var isIE6 = navigator.userAgent.match(/msie 6/i);
|
80
|
+
var isOldIE = (isIE && (isIE6 || navigator.userAgent.match(/msie 5/i)));
|
81
|
+
var isWin9X = navigator.appVersion.match(/windows 98/i);
|
82
|
+
var isiPhone = navigator.userAgent.match(/iphone/i);
|
83
|
+
var isBackCompatIE = (isIE && document.compatMode == 'BackCompat');
|
84
|
+
var noFixed = ((isBackCompatIE || isIE6 || isiPhone)?true:false);
|
85
|
+
var screenX = null;
|
86
|
+
var screenX2 = null;
|
87
|
+
var screenY = null;
|
88
|
+
var scrollY = null;
|
89
|
+
var vRndX = null;
|
90
|
+
var vRndY = null;
|
91
|
+
var windOffset = 1;
|
92
|
+
var windMultiplier = 2;
|
93
|
+
var flakeTypes = 6;
|
94
|
+
var fixedForEverything = false;
|
95
|
+
var opacitySupported = (function(){
|
96
|
+
try {
|
97
|
+
document.createElement('div').style.opacity = '0.5';
|
98
|
+
} catch (e) {
|
99
|
+
return false;
|
56
100
|
}
|
101
|
+
return true;
|
102
|
+
})();
|
103
|
+
var docFrag = document.createDocumentFragment();
|
104
|
+
if (s.flakeLeftOffset === null) {
|
105
|
+
s.flakeLeftOffset = 0;
|
57
106
|
}
|
58
|
-
|
59
|
-
|
60
|
-
this.y += this.vy;
|
61
|
-
};
|
62
|
-
|
63
|
-
function loop() {
|
64
|
-
ctx.clearRect(0,0,c.width,c.height);
|
65
|
-
for (var k = 0, m = points.length; k < m; k++) {
|
66
|
-
points[k].update();
|
107
|
+
if (s.flakeRightOffset === null) {
|
108
|
+
s.flakeRightOffset = 0;
|
67
109
|
}
|
68
|
-
}
|
69
110
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
ctx.rect(0,0,c.width,c.height);
|
75
|
-
ctx.fill();
|
76
|
-
ctx.font = fontStr;
|
77
|
-
ctx.textAlign = "left";
|
78
|
-
ctx.fillStyle = "#fff";
|
79
|
-
ctx.fillText(str,0,c.height/2+(c.height / 2));
|
80
|
-
ctx.closePath();
|
81
|
-
|
82
|
-
// Save mask
|
83
|
-
mask = ctx.getImageData(0,0,c.width,c.height);
|
84
|
-
|
85
|
-
// Draw background
|
86
|
-
ctx.clearRect(0,0,c.width,c.height);
|
87
|
-
|
88
|
-
// Save all white pixels in an array
|
89
|
-
for (var i = 0; i < mask.data.length; i += 4) {
|
90
|
-
if (mask.data[i] == 255 && mask.data[i+1] == 255 && mask.data[i+2] == 255 && mask.data[i+3] == 255) {
|
91
|
-
whitePixels.push([iToX(i,mask.width),iToY(i,mask.width)]);
|
92
|
-
}
|
111
|
+
this.meltFrameCount = 20;
|
112
|
+
this.meltFrames = [];
|
113
|
+
for (var i=0; i<this.meltFrameCount; i++) {
|
114
|
+
this.meltFrames.push(1-(i/this.meltFrameCount));
|
93
115
|
}
|
94
|
-
|
95
|
-
for (var k = 0; k < pointCount; k++) {
|
96
|
-
addPoint();
|
97
|
-
}
|
98
|
-
}
|
99
116
|
|
100
|
-
function
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
117
|
+
this.randomizeWind = function() {
|
118
|
+
vRndX = plusMinus(rnd(s.vMaxX,0.2));
|
119
|
+
vRndY = rnd(s.vMaxY,0.2);
|
120
|
+
if (this.flakes) {
|
121
|
+
for (var i=0; i<this.flakes.length; i++) {
|
122
|
+
if (this.flakes[i].active) {
|
123
|
+
this.flakes[i].setVelocities();
|
124
|
+
}
|
125
|
+
}
|
126
|
+
}
|
127
|
+
};
|
106
128
|
|
107
|
-
function
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
}
|
113
|
-
|
114
|
-
|
129
|
+
this.scrollHandler = function() {
|
130
|
+
// "attach" snowflakes to bottom of window if no absolute bottom value was given
|
131
|
+
scrollY = (s.flakeBottom?0:parseInt(window.scrollY||document.documentElement.scrollTop||document.body.scrollTop,10));
|
132
|
+
if (isNaN(scrollY)) {
|
133
|
+
scrollY = 0; // Netscape 6 scroll fix
|
134
|
+
}
|
135
|
+
if (!fixedForEverything && !s.flakeBottom && s.flakes) {
|
136
|
+
for (var i=s.flakes.length; i--;) {
|
137
|
+
if (s.flakes[i].active === 0) {
|
138
|
+
s.flakes[i].stick();
|
139
|
+
}
|
140
|
+
}
|
141
|
+
}
|
142
|
+
};
|
143
|
+
|
144
|
+
this.resizeHandler = function() {
|
145
|
+
if (window.innerWidth || window.innerHeight) {
|
146
|
+
screenX = window.innerWidth-(!isIE?16:2)-s.flakeRightOffset;
|
147
|
+
screenY = (s.flakeBottom?s.flakeBottom:window.innerHeight);
|
148
|
+
} else {
|
149
|
+
screenX = (document.documentElement.clientWidth||document.body.clientWidth||document.body.scrollWidth)-(!isIE?8:0)-s.flakeRightOffset;
|
150
|
+
screenY = s.flakeBottom?s.flakeBottom:(document.documentElement.clientHeight||document.body.clientHeight||document.body.scrollHeight);
|
151
|
+
}
|
152
|
+
screenX2 = parseInt(screenX/2,10);
|
153
|
+
};
|
154
|
+
|
155
|
+
this.resizeHandlerAlt = function() {
|
156
|
+
screenX = s.targetElement.offsetLeft+s.targetElement.offsetWidth-s.flakeRightOffset;
|
157
|
+
screenY = s.flakeBottom?s.flakeBottom:s.targetElement.offsetTop+s.targetElement.offsetHeight;
|
158
|
+
screenX2 = parseInt(screenX/2,10);
|
159
|
+
};
|
160
|
+
|
161
|
+
this.freeze = function() {
|
162
|
+
// pause animation
|
163
|
+
if (!s.disabled) {
|
164
|
+
s.disabled = 1;
|
165
|
+
} else {
|
166
|
+
return false;
|
167
|
+
}
|
168
|
+
for (var i=s.timers.length; i--;) {
|
169
|
+
clearInterval(s.timers[i]);
|
170
|
+
}
|
171
|
+
};
|
172
|
+
|
173
|
+
this.resume = function() {
|
174
|
+
if (s.disabled) {
|
175
|
+
s.disabled = 0;
|
176
|
+
} else {
|
177
|
+
return false;
|
178
|
+
}
|
179
|
+
s.timerInit();
|
180
|
+
};
|
181
|
+
|
182
|
+
this.toggleSnow = function() {
|
183
|
+
if (!s.flakes.length) {
|
184
|
+
// first run
|
185
|
+
s.start();
|
186
|
+
} else {
|
187
|
+
s.active = !s.active;
|
188
|
+
if (s.active) {
|
189
|
+
s.show();
|
190
|
+
s.resume();
|
191
|
+
} else {
|
192
|
+
s.stop();
|
193
|
+
s.freeze();
|
194
|
+
}
|
195
|
+
}
|
196
|
+
};
|
197
|
+
|
198
|
+
this.stop = function() {
|
199
|
+
this.freeze();
|
200
|
+
for (var i=this.flakes.length; i--;) {
|
201
|
+
this.flakes[i].o.style.display = 'none';
|
202
|
+
}
|
203
|
+
removeEvent(window,'scroll',s.scrollHandler);
|
204
|
+
removeEvent(window,'resize',s.resizeHandler);
|
205
|
+
if (!isOldIE) {
|
206
|
+
removeEvent(window,'blur',s.freeze);
|
207
|
+
removeEvent(window,'focus',s.resume);
|
208
|
+
}
|
209
|
+
};
|
210
|
+
|
211
|
+
this.show = function() {
|
212
|
+
for (var i=this.flakes.length; i--;) {
|
213
|
+
this.flakes[i].o.style.display = 'block';
|
214
|
+
}
|
215
|
+
};
|
216
|
+
|
217
|
+
this.SnowFlake = function(parent,type,x,y) {
|
218
|
+
var s = this;
|
219
|
+
var storm = parent;
|
220
|
+
this.type = type;
|
221
|
+
this.x = x||parseInt(rnd(screenX-20),10);
|
222
|
+
this.y = (!isNaN(y)?y:-rnd(screenY)-12);
|
223
|
+
this.vX = null;
|
224
|
+
this.vY = null;
|
225
|
+
this.vAmpTypes = [1,1.2,1.4,1.6,1.8]; // "amplification" for vX/vY (based on flake size/type)
|
226
|
+
this.vAmp = this.vAmpTypes[this.type];
|
227
|
+
this.melting = false;
|
228
|
+
this.meltFrameCount = storm.meltFrameCount;
|
229
|
+
this.meltFrames = storm.meltFrames;
|
230
|
+
this.meltFrame = 0;
|
231
|
+
this.twinkleFrame = 0;
|
232
|
+
this.active = 1;
|
233
|
+
this.fontSize = (10+(this.type/5)*10);
|
234
|
+
this.o = document.createElement('div');
|
235
|
+
this.o.innerHTML = storm.snowCharacter;
|
236
|
+
this.o.style.color = storm.snowColor;
|
237
|
+
this.o.style.position = (fixedForEverything?'fixed':'absolute');
|
238
|
+
this.o.style.width = storm.flakeWidth+'px';
|
239
|
+
this.o.style.height = storm.flakeHeight+'px';
|
240
|
+
this.o.style.fontFamily = 'arial,verdana';
|
241
|
+
this.o.style.overflow = 'hidden';
|
242
|
+
this.o.style.fontWeight = 'normal';
|
243
|
+
this.o.style.zIndex = storm.zIndex;
|
244
|
+
docFrag.appendChild(this.o);
|
245
|
+
|
246
|
+
this.refresh = function() {
|
247
|
+
if (isNaN(s.x) || isNaN(s.y)) {
|
248
|
+
// safety check
|
249
|
+
return false;
|
250
|
+
}
|
251
|
+
s.o.style.left = s.x+'px';
|
252
|
+
s.o.style.top = s.y+'px';
|
253
|
+
};
|
254
|
+
|
255
|
+
this.stick = function() {
|
256
|
+
if (noFixed || (storm.targetElement != document.documentElement && storm.targetElement != document.body)) {
|
257
|
+
s.o.style.top = (screenY+scrollY-storm.flakeHeight)+'px';
|
258
|
+
} else if (storm.flakeBottom) {
|
259
|
+
s.o.style.top = storm.flakeBottom+'px';
|
260
|
+
} else {
|
261
|
+
s.o.style.display = 'none';
|
262
|
+
s.o.style.top = 'auto';
|
263
|
+
s.o.style.bottom = '0px';
|
264
|
+
s.o.style.position = 'fixed';
|
265
|
+
s.o.style.display = 'block';
|
266
|
+
}
|
267
|
+
};
|
268
|
+
|
269
|
+
this.vCheck = function() {
|
270
|
+
if (s.vX>=0 && s.vX<0.2) {
|
271
|
+
s.vX = 0.2;
|
272
|
+
} else if (s.vX<0 && s.vX>-0.2) {
|
273
|
+
s.vX = -0.2;
|
274
|
+
}
|
275
|
+
if (s.vY>=0 && s.vY<0.2) {
|
276
|
+
s.vY = 0.2;
|
277
|
+
}
|
278
|
+
};
|
279
|
+
|
280
|
+
this.move = function() {
|
281
|
+
var vX = s.vX*windOffset;
|
282
|
+
s.x += vX;
|
283
|
+
s.y += (s.vY*s.vAmp);
|
284
|
+
if (s.x >= screenX || screenX-s.x < storm.flakeWidth) { // X-axis scroll check
|
285
|
+
s.x = 0;
|
286
|
+
} else if (vX < 0 && s.x-storm.flakeLeftOffset<0-storm.flakeWidth) {
|
287
|
+
s.x = screenX-storm.flakeWidth-1; // flakeWidth;
|
288
|
+
}
|
289
|
+
s.refresh();
|
290
|
+
var yDiff = screenY+scrollY-s.y;
|
291
|
+
if (yDiff<storm.flakeHeight) {
|
292
|
+
s.active = 0;
|
293
|
+
if (storm.snowStick) {
|
294
|
+
s.stick();
|
295
|
+
} else {
|
296
|
+
s.recycle();
|
297
|
+
}
|
298
|
+
} else {
|
299
|
+
if (storm.useMeltEffect && s.active && s.type < 3 && !s.melting && Math.random()>0.998) {
|
300
|
+
// ~1/1000 chance of melting mid-air, with each frame
|
301
|
+
s.melting = true;
|
302
|
+
s.melt();
|
303
|
+
// only incrementally melt one frame
|
304
|
+
// s.melting = false;
|
305
|
+
}
|
306
|
+
if (storm.useTwinkleEffect) {
|
307
|
+
if (!s.twinkleFrame) {
|
308
|
+
if (Math.random()>0.9) {
|
309
|
+
s.twinkleFrame = parseInt(Math.random()*20,10);
|
310
|
+
}
|
311
|
+
} else {
|
312
|
+
s.twinkleFrame--;
|
313
|
+
s.o.style.visibility = (s.twinkleFrame && s.twinkleFrame%2===0?'hidden':'visible');
|
314
|
+
}
|
315
|
+
}
|
316
|
+
}
|
317
|
+
};
|
318
|
+
|
319
|
+
this.animate = function() {
|
320
|
+
// main animation loop
|
321
|
+
// move, check status, die etc.
|
322
|
+
s.move();
|
323
|
+
};
|
324
|
+
|
325
|
+
this.setVelocities = function() {
|
326
|
+
s.vX = vRndX+rnd(storm.vMaxX*0.12,0.1);
|
327
|
+
s.vY = vRndY+rnd(storm.vMaxY*0.12,0.1);
|
328
|
+
};
|
329
|
+
|
330
|
+
this.setOpacity = function(o,opacity) {
|
331
|
+
if (!opacitySupported) {
|
332
|
+
return false;
|
333
|
+
}
|
334
|
+
o.style.opacity = opacity;
|
335
|
+
};
|
336
|
+
|
337
|
+
this.melt = function() {
|
338
|
+
if (!storm.useMeltEffect || !s.melting) {
|
339
|
+
s.recycle();
|
340
|
+
} else {
|
341
|
+
if (s.meltFrame < s.meltFrameCount) {
|
342
|
+
s.meltFrame++;
|
343
|
+
s.setOpacity(s.o,s.meltFrames[s.meltFrame]);
|
344
|
+
s.o.style.fontSize = s.fontSize-(s.fontSize*(s.meltFrame/s.meltFrameCount))+'px';
|
345
|
+
s.o.style.lineHeight = storm.flakeHeight+2+(storm.flakeHeight*0.75*(s.meltFrame/s.meltFrameCount))+'px';
|
346
|
+
} else {
|
347
|
+
s.recycle();
|
348
|
+
}
|
349
|
+
}
|
350
|
+
};
|
351
|
+
|
352
|
+
this.recycle = function() {
|
353
|
+
s.o.style.display = 'none';
|
354
|
+
s.o.style.position = (fixedForEverything?'fixed':'absolute');
|
355
|
+
s.o.style.bottom = 'auto';
|
356
|
+
s.setVelocities();
|
357
|
+
s.vCheck();
|
358
|
+
s.meltFrame = 0;
|
359
|
+
s.melting = false;
|
360
|
+
s.setOpacity(s.o,1);
|
361
|
+
s.o.style.padding = '0px';
|
362
|
+
s.o.style.margin = '0px';
|
363
|
+
s.o.style.fontSize = s.fontSize+'px';
|
364
|
+
s.o.style.lineHeight = (storm.flakeHeight+2)+'px';
|
365
|
+
s.o.style.textAlign = 'center';
|
366
|
+
s.o.style.verticalAlign = 'baseline';
|
367
|
+
s.x = parseInt(rnd(screenX-storm.flakeWidth-20),10);
|
368
|
+
s.y = parseInt(rnd(screenY)*-1,10)-storm.flakeHeight;
|
369
|
+
s.refresh();
|
370
|
+
s.o.style.display = 'block';
|
371
|
+
s.active = 1;
|
372
|
+
};
|
373
|
+
|
374
|
+
this.recycle(); // set up x/y coords etc.
|
375
|
+
this.refresh();
|
376
|
+
|
377
|
+
};
|
378
|
+
|
379
|
+
this.snow = function() {
|
380
|
+
var active = 0;
|
381
|
+
var used = 0;
|
382
|
+
var waiting = 0;
|
383
|
+
var flake = null;
|
384
|
+
for (var i=s.flakes.length; i--;) {
|
385
|
+
if (s.flakes[i].active == 1) {
|
386
|
+
s.flakes[i].move();
|
387
|
+
active++;
|
388
|
+
} else if (s.flakes[i].active === 0) {
|
389
|
+
used++;
|
390
|
+
} else {
|
391
|
+
waiting++;
|
392
|
+
}
|
393
|
+
if (s.flakes[i].melting) {
|
394
|
+
s.flakes[i].melt();
|
395
|
+
}
|
396
|
+
}
|
397
|
+
if (active<s.flakesMaxActive) {
|
398
|
+
flake = s.flakes[parseInt(rnd(s.flakes.length),10)];
|
399
|
+
if (flake.active === 0) {
|
400
|
+
flake.melting = true;
|
401
|
+
}
|
402
|
+
}
|
403
|
+
};
|
404
|
+
|
405
|
+
this.mouseMove = function(e) {
|
406
|
+
if (!s.followMouse) {
|
407
|
+
return true;
|
408
|
+
}
|
409
|
+
var x = parseInt(e.clientX,10);
|
410
|
+
if (x<screenX2) {
|
411
|
+
windOffset = -windMultiplier+(x/screenX2*windMultiplier);
|
412
|
+
} else {
|
413
|
+
x -= screenX2;
|
414
|
+
windOffset = (x/screenX2)*windMultiplier;
|
415
|
+
}
|
416
|
+
};
|
417
|
+
|
418
|
+
this.createSnow = function(limit,allowInactive) {
|
419
|
+
for (var i=0; i<limit; i++) {
|
420
|
+
s.flakes[s.flakes.length] = new s.SnowFlake(s,parseInt(rnd(flakeTypes),10));
|
421
|
+
if (allowInactive || i>s.flakesMaxActive) {
|
422
|
+
s.flakes[s.flakes.length-1].active = -1;
|
423
|
+
}
|
424
|
+
}
|
425
|
+
storm.targetElement.appendChild(docFrag);
|
426
|
+
};
|
427
|
+
|
428
|
+
this.timerInit = function() {
|
429
|
+
s.timers = (!isWin9X?[setInterval(s.snow,s.animationInterval)]:[setInterval(s.snow,s.animationInterval*3),setInterval(s.snow,s.animationInterval)]);
|
430
|
+
};
|
431
|
+
|
432
|
+
this.init = function() {
|
433
|
+
s.randomizeWind();
|
434
|
+
s.createSnow(s.flakesMax); // create initial batch
|
435
|
+
addEvent(window,'resize',s.resizeHandler);
|
436
|
+
addEvent(window,'scroll',s.scrollHandler);
|
437
|
+
if (!isOldIE) {
|
438
|
+
addEvent(window,'blur',s.freeze);
|
439
|
+
addEvent(window,'focus',s.resume);
|
440
|
+
}
|
441
|
+
s.resizeHandler();
|
442
|
+
s.scrollHandler();
|
443
|
+
if (s.followMouse) {
|
444
|
+
addEvent(document,'mousemove',s.mouseMove);
|
445
|
+
}
|
446
|
+
s.animationInterval = Math.max(20,s.animationInterval);
|
447
|
+
s.timerInit();
|
448
|
+
};
|
449
|
+
|
450
|
+
var didInit = false;
|
451
|
+
|
452
|
+
this.start = function(bFromOnLoad) {
|
453
|
+
if (!didInit) {
|
454
|
+
didInit = true;
|
455
|
+
} else if (bFromOnLoad) {
|
456
|
+
// already loaded and running
|
457
|
+
return true;
|
458
|
+
}
|
459
|
+
if (typeof s.targetElement == 'string') {
|
460
|
+
var targetID = s.targetElement;
|
461
|
+
s.targetElement = document.getElementById(targetID);
|
462
|
+
if (!s.targetElement) {
|
463
|
+
throw new Error('Snowstorm: Unable to get targetElement "'+targetID+'"');
|
464
|
+
}
|
465
|
+
}
|
466
|
+
if (!s.targetElement) {
|
467
|
+
s.targetElement = (!isIE?(document.documentElement?document.documentElement:document.body):document.body);
|
468
|
+
}
|
469
|
+
if (s.targetElement != document.documentElement && s.targetElement != document.body) {
|
470
|
+
s.resizeHandler = s.resizeHandlerAlt; // re-map handler to get element instead of screen dimensions
|
471
|
+
}
|
472
|
+
s.resizeHandler(); // get bounding box elements
|
473
|
+
s.usePositionFixed = (s.usePositionFixed && !noFixed); // whether or not position:fixed is supported
|
474
|
+
fixedForEverything = s.usePositionFixed;
|
475
|
+
if (screenX && screenY && !s.disabled) {
|
476
|
+
s.init();
|
477
|
+
s.active = true;
|
478
|
+
}
|
479
|
+
};
|
480
|
+
|
481
|
+
function doStart() {
|
482
|
+
s.start(true);
|
483
|
+
}
|
484
|
+
|
485
|
+
if (document.addEventListener) {
|
486
|
+
// safari 3.0.4 doesn't do DOMContentLoaded, maybe others - use a fallback to be safe.
|
487
|
+
document.addEventListener('DOMContentLoaded',doStart,false);
|
488
|
+
window.addEventListener('load',doStart,false);
|
489
|
+
} else {
|
490
|
+
addEvent(window,'load',doStart);
|
491
|
+
}
|
115
492
|
|
116
493
|
}
|
117
494
|
|
118
|
-
|
119
|
-
init();
|
495
|
+
snowStorm = new SnowStorm();
|
@@ -1,17 +1,116 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
body {
|
2
|
+
font-family: Arial, sans-serif;
|
3
|
+
background-color: #000;
|
4
|
+
overflow: hidden;
|
5
|
+
margin: 0;
|
6
|
+
}
|
7
|
+
|
8
|
+
h2 {
|
9
|
+
color: #695CFE;
|
10
|
+
}
|
11
|
+
|
12
|
+
h3 {
|
13
|
+
color: lime;
|
14
|
+
position: relative;
|
15
|
+
bottom: 40px;
|
16
|
+
}
|
17
|
+
h4 {
|
18
|
+
color: #695CFE;
|
19
|
+
position: relative;
|
20
|
+
bottom: 100px;
|
21
|
+
}
|
22
|
+
.header {
|
23
|
+
display: flex;
|
24
|
+
justify-content: center;
|
25
|
+
padding: 20px 0;
|
26
|
+
}
|
27
|
+
|
28
|
+
.header img {
|
29
|
+
width: 200px; /* Adjust the size as needed */
|
30
|
+
height: 200px; /* Adjust the size as needed */
|
31
|
+
border-radius: 5px;
|
32
|
+
}
|
33
|
+
#adminSakibin {
|
34
|
+
position: relative;
|
35
|
+
height: 40px;
|
36
|
+
width: 300px;
|
37
|
+
left: 30px;
|
38
|
+
top: 30px;
|
39
|
+
}
|
40
|
+
.neon-button {
|
41
|
+
border: none;
|
42
|
+
background-color: #333;
|
43
|
+
color: #fff;
|
44
|
+
text-align: center;
|
45
|
+
font-size: 16px;
|
46
|
+
cursor: pointer;
|
47
|
+
position: relative;
|
48
|
+
overflow: hidden;
|
49
|
+
transition: background-color 0.3s, box-shadow 0.3s;
|
50
|
+
|
51
|
+
|
52
|
+
}
|
53
|
+
|
54
|
+
/* Neon glow effect on hover */
|
55
|
+
.neon-button:hover {
|
56
|
+
background-color: #4CAF50; /* Change this to your desired glow color */
|
57
|
+
box-shadow: 0 0 20px #4CAF50, 0 0 40px #4CAF50, 0 0 60px #4CAF50; /* Adjust the glow size and color as needed */
|
3
58
|
}
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
background
|
59
|
+
|
60
|
+
/* Neon glow effect on click */
|
61
|
+
.neon-button:active {
|
62
|
+
background-color: #f44336; /* Change this to your desired click glow color */
|
63
|
+
box-shadow: 0 0 20px #f44336, 0 0 40px #f44336, 0 0 60px #f44336; /* Adjust the glow size and color as needed */
|
8
64
|
}
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
65
|
+
.container {
|
66
|
+
display: flex;
|
67
|
+
justify-content: center;
|
68
|
+
align-items: center;
|
69
|
+
height: 100vh;
|
70
|
+
}
|
71
|
+
|
72
|
+
#text {
|
73
|
+
border-right: 2px solid #fff;
|
74
|
+
animation: typing 2s steps(40, end), blink-caret 0.75s step-end infinite;
|
75
|
+
white-space: nowrap;
|
76
|
+
overflow: hidden;
|
77
|
+
font-size: 20px;
|
78
|
+
font-family: 'Courier New', monospace;
|
79
|
+
color: #00ff00;
|
80
|
+
}
|
81
|
+
|
82
|
+
@keyframes typing {
|
83
|
+
from {
|
84
|
+
width: 0;
|
85
|
+
}
|
86
|
+
to {
|
87
|
+
width: 100%;
|
88
|
+
}
|
89
|
+
}
|
90
|
+
|
91
|
+
@keyframes blink-caret {
|
92
|
+
from,
|
93
|
+
to {
|
94
|
+
border-color: transparent;
|
95
|
+
}
|
96
|
+
50% {
|
97
|
+
border-color: #fff;
|
98
|
+
}
|
99
|
+
}
|
13
100
|
|
14
|
-
|
101
|
+
#music {
|
102
|
+
position: relative;
|
103
|
+
top: 50px;
|
104
|
+
left: 30px;
|
105
|
+
width: 300px;
|
106
|
+
|
107
|
+
}
|
108
|
+
|
109
|
+
.season {
|
110
|
+
color: red;
|
111
|
+
position: relative;
|
112
|
+
}
|
113
|
+
.btn {
|
15
114
|
width: 180px;
|
16
115
|
height: 38px;
|
17
116
|
border: 1px solid #3AFF00;
|
@@ -29,4 +128,59 @@ html {
|
|
29
128
|
.two_button #btnCopy:hover,
|
30
129
|
.two_button #btnDownload:hover {
|
31
130
|
opacity: 0.5;
|
32
|
-
}
|
131
|
+
}
|
132
|
+
|
133
|
+
.loading-animation {
|
134
|
+
width: 40px;
|
135
|
+
height: 40px;
|
136
|
+
border: 4px solid rgba(0, 0, 0, 0.3);
|
137
|
+
border-left-color: #695CFE;
|
138
|
+
border-radius: 50%;
|
139
|
+
animation: spin 1s linear infinite;
|
140
|
+
}
|
141
|
+
|
142
|
+
@keyframes spin {
|
143
|
+
0% { transform: rotate(0deg); }
|
144
|
+
100% { transform: rotate(360deg); }
|
145
|
+
}
|
146
|
+
.welcome {
|
147
|
+
border: 1px solid #695CFE;
|
148
|
+
font-size: 48px;
|
149
|
+
color: #695CFE;
|
150
|
+
text-align: center;
|
151
|
+
text-transform: uppercase;
|
152
|
+
animation: neonGlow 2s infinite alternate, pulsate 2s infinite;
|
153
|
+
}
|
154
|
+
|
155
|
+
@keyframes neonGlow {
|
156
|
+
from {
|
157
|
+
text-shadow: 0 0 10px #695CFE;
|
158
|
+
}
|
159
|
+
to {
|
160
|
+
text-shadow: 0 0 20px #695CFE, 0 0 30px #695CFE, 0 0 40px #695CFE;
|
161
|
+
}
|
162
|
+
}
|
163
|
+
|
164
|
+
|
165
|
+
p {
|
166
|
+
white-space: pre-line;
|
167
|
+
border-right: 2px solid #000;
|
168
|
+
font-family: monospace;
|
169
|
+
overflow: hidden;
|
170
|
+
animation: typing 5s steps(40) infinite, blink-caret .75s step-end infinite;
|
171
|
+
}
|
172
|
+
|
173
|
+
@keyframes typing {
|
174
|
+
from {
|
175
|
+
width: 0;
|
176
|
+
}
|
177
|
+
}
|
178
|
+
|
179
|
+
@keyframes blink-caret {
|
180
|
+
from, to {
|
181
|
+
border-color: transparent;
|
182
|
+
}
|
183
|
+
50% {
|
184
|
+
border-color: #000;
|
185
|
+
}
|
186
|
+
}
|
File without changes
|
@@ -0,0 +1,217 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"Language": "vi",
|
4
|
+
"Folder": {
|
5
|
+
"Index": {
|
6
|
+
"ErrAppState": "Appstate - Your Cookie is Corrupted, Replace it with a New One, or Go to an Incognito Browser, Log in and Try Again!",
|
7
|
+
"CheckPointLevelI": "CheckPoint Detection - Can't Log In, Try Logout Then Login And Get Appstate Again - Cookie !",
|
8
|
+
"UID": "Đăng Nhập Tại ID: %1",
|
9
|
+
"Area": "Vùng Của Tài Khoản Là: %1",
|
10
|
+
"NoAreaData": "Không Thể Lấy Vùng Của Tài Khoản !",
|
11
|
+
"OnLogin": "Đang Đăng Nhập ...",
|
12
|
+
"InvaildAccount": "Sai Mật Khẩu Hoặc Tài Khoản !",
|
13
|
+
"TwoAuth": "Bạn Đang Bật 2 Bảo Mật !",
|
14
|
+
"InvaildTwoAuthCode": "Sai Mã Hai Bảo Mật !",
|
15
|
+
"ApprovalsErr": "Lỗi Khi Đăng Nhập Với Hai Bảo Mật !",
|
16
|
+
"VerifiedCheck": "Xác Nhận Từ Trình Duyệt, Đang Đăng Nhập...",
|
17
|
+
"ForceLoginNotEnable": "Không Thể Đăng Nhập, Hãy Thử Bật 'forceLogin' !",
|
18
|
+
"SubmitErrSuccess": "Đã Gửi Báo Cáo Lỗi Tới Server !",
|
19
|
+
"ErrorWhileSendErr": "Đã Xảy Ra Lỗi Khi Cố Gửi Lỗi Đến Server !",
|
20
|
+
"OnProcess": "Khởi Động Tiến Trình Đăng Nhập !",
|
21
|
+
"BackupNoti": "Đang Thay AppState Từ Backup, Nếu Điều Này Tiếp Tục Diễn Ra, Hãy Liên Hệ Với Fb.com/Lazic.Kanzu",
|
22
|
+
"ErrGetPassWord": "Lỗi Khi Lấy Mật Khẩu Mã Hoá AppState !",
|
23
|
+
"ErrGenerateKey": "Lỗi Khi Tạo Mật Khẩu Cho AppState !",
|
24
|
+
"UnsupportedDevice": "Hệ Điều Hành Của Bạn Hiện Không Được Hỗ Trợ !",
|
25
|
+
"NotReadyToDecrypt": "Chưa Sẵn Sàng Để Giải Hóa Appstate !",
|
26
|
+
"DecryptSuccess": "Giải Hóa Appstate Thành Công !",
|
27
|
+
"ErrBackup": "Lỗi Khi Sao Lưu AppState, Hãy Thay AppState !",
|
28
|
+
"DecryptFailed": "Giải Hóa Không Thành Công, Hãy Thử Thay AppState !",
|
29
|
+
"InvaildAppState": "Không Nhận Dạng Được AppState, Xin Vui Lòng Thay AppState !",
|
30
|
+
"YourAppStatePass": "Mật Khẩu AppState Của Bạn Là: %1",
|
31
|
+
"BackupFailed": "Sao Lưu AppState Không Thành Công !",
|
32
|
+
"ScreenShotConsoleAndSendToAdmin": "Chụp Lại Màn Hình Dòng Này Và Gửi Vô Facebook: Fb.com/Lazic.Kanzu",
|
33
|
+
"DoneLogin": "Hoàn Thành Quá Trình Đăng Nhập !",
|
34
|
+
"AutoCheckUpdateFailure": "Lỗi Khi Kiểm Tra Cập Nhật, Vui Lòng Thử Lại Sau !",
|
35
|
+
"AutoCheckUpdate": "Đang Kiểm Tra Bản Cập Nhật !",
|
36
|
+
"NewVersionFound": "Phiên Bản Mới Đã Được Cập Nhật: %1 => %2",
|
37
|
+
"AutoUpdate": "Tiến Hành Tự Động Cập Nhật Lên Phiên Bản Mới Nhất !",
|
38
|
+
"UpdateSuccess": "Nâng Cấp Phiên Bản Thành Công !",
|
39
|
+
"RestartAfterUpdate": "Đang Khởi Động Lại Để Phiên Bản Mới Có Hiệu Lực !",
|
40
|
+
"UpdateFailed": "Lỗi Khi Nâng Cấp Lên Phiên Bản Mới Nhất !",
|
41
|
+
"UseSupportToolAfterUpdateFailed": "Nâng Cấp Thức Bại, Tiến Hành Sử Dụng Công Cụ Hỗ Trợ !",
|
42
|
+
"InstallSupportTool": "Đang Tải Dụng Cụ Hộ Trợ Cho Fca !",
|
43
|
+
"NotiAfterUseToolFail": "Hãy Tự Fix Bằng Cách Nhập:",
|
44
|
+
"LocalVersion": "Phiên Bản Đang Dùng Hiện Tại Là: %1 !",
|
45
|
+
"EncryptSuccess": "Mã Hoá AppState Thành Công !",
|
46
|
+
"ProcessDone": "Kết Thúc Với: %1 !",
|
47
|
+
"CountTime": "Tổng Thời Gian Bạn Sử Dụng: %1",
|
48
|
+
"InvaildMainColor": "%1 Không Phải Là Một Màu Hex !",
|
49
|
+
"IsNotABoolean": "%1 Không Phải Là Một Boolean, Cần Là true Hoặc false !",
|
50
|
+
"InvaildOption": "%1 Không Phải Là Một Lựa Chọn !",
|
51
|
+
"EncryptStateOff": "Tính Năng EncryptState Đã Bị Tắt !",
|
52
|
+
|
53
|
+
"AutoLogin": "AutoLogin Đang Bật, Tiến Hành Đăng Nhập Lại !",
|
54
|
+
"TypeAccount": "Hãy Nhập Tài Khoản: ",
|
55
|
+
"TypePassword": "Hãy Nhập Mật Khẩu: ",
|
56
|
+
"TypeAccountError": "Tài Khoản Cần Là ID Hoặc Số Điện Thoại Hay Là Gmail !",
|
57
|
+
"ErrDataBase": "Lỗi Khi Đặt Dữ Liệu Auto Login !",
|
58
|
+
"SuccessSetData": "Đã Đặt Dữ Liệu Auto Login Thành Công !",
|
59
|
+
"Missing": "Bạn Vui Lòng Ghi Mã 2Fa Theo Hướng Dẫn Của Ảnh Trong FastConfigNayan.json Dòng AuthString !",
|
60
|
+
|
61
|
+
"EnterSecurityCode": "Hãy Nhập Mã Xác Thực 2 Yếu Tố Của Bạn: ",
|
62
|
+
"ErrThroughCookies": "Đã Xảy Ra Lỗi Khi Xuyên 2Fa, Hãy Nhập Mã 2Fa Lại !",
|
63
|
+
|
64
|
+
"NodeVersionNotSupported": "Phiên Bản: %1 Không Được Hỗ Trợ, Tự Động Tải Phiên Bản Nodejs V14",
|
65
|
+
"UsingNVM": "Bạn đang sử dụng nvm để control node version, hãy bấm 'nvm install 14.17.0' sau đó bấm 'nvm use 14.17.0' để chuyển sang phiên bản được hỗ trợ !",
|
66
|
+
"DownloadingNode": "Đang tải phiên bản Node V14 Được Hỗ Trợ !",
|
67
|
+
"NodeDownloadingComplete": "Tải Phiên Bản Node V14 Thành Công !",
|
68
|
+
"RestartRequire": "Tải Thành Công, Yêu Cầu Người Dùng Restart Máy Để Có Tác Dụng!",
|
69
|
+
"ErrNodeDownload": "Đã Xảy Ra Lỗi Trong Lúc Tự Động Tải Node Phiên Bản 14, Hãy Liên Hệ Fb.com/Lazic.Kanzu!",
|
70
|
+
"RestartingN": "Đang Khởi Động Lại Chương Trình",
|
71
|
+
"Rebuilding": "Đang Rebuild Lại Package NPM tránh lỗi !",
|
72
|
+
"ErrRebuilding": "Đã Sảy Ra Lỗi Tại Khu Vực Rebuilding - npm install",
|
73
|
+
"SuccessRebuilding": "Rebuilding Thành Công !",
|
74
|
+
"UnableToConnect": "Đã Sảy Ra Lỗi Trong Lúc Kết Nối Tới Máy Chủ Instant Action, Hãy Kiểm Tra Lại Wifi!",
|
75
|
+
"EVMChange": "Đang Thay Đổi Replit.nix Để Hỗ Trợ Node V14!",
|
76
|
+
"EVMChangeSuccess": "Thay Đổi Replit.nix Thành Công, Tiến Hành Restarting!",
|
77
|
+
|
78
|
+
"Ws_TypeUserName": "Hãy Nhập Một UserName Cho Tài Khoản Websocket Extension của bạn: ",
|
79
|
+
"Ws_TypePassWord": "Hãy Nhập Một Mật Khẩu Cho Tài Khoản WebSocket Extension của bạn : ",
|
80
|
+
"Ws_Success": "Đặt Dữ Liệu Cho Websocket Extension Thành Công !",
|
81
|
+
"Ws_2Fa": "Đây là mã xác thực 2 yếu tố(2FA) của bạn cho Horizon_Extension, hãy sử dụng Google Authenticator để lấy mã phòng trường hợp quên mật khẩu hoặc yêu cầu xác minh !\n\n=> Đây: %1",
|
82
|
+
"Ws_2Fa_Check": "Hãy nhập mã 2Fa của bạn từ ứng dụng xác thực: ",
|
83
|
+
|
84
|
+
"WishMessage": [
|
85
|
+
"Chúc Bạn Một Ngày Tốt Lành Nhé !",
|
86
|
+
"Hãy Báo Cáo Với Admin Khi Có Lỗi Fca Nhé !",
|
87
|
+
"Cảm Ơn Đã Sử Dụng Fca Của Horizon !",
|
88
|
+
"Donate Tại: Momo: 0946838477"
|
89
|
+
]
|
90
|
+
},
|
91
|
+
"ExtraGetThread": {
|
92
|
+
"CreateDatabaseSuccess": "Khởi Tạo Thành Công Database Cho Nhóm: %1",
|
93
|
+
"CreateDatabaseFailure": "Khởi Tạo Thất Bại Database Của Nhóm: %1",
|
94
|
+
"alreadyUpdate": "%1 Đã Sẵn Sàng Để Update Database",
|
95
|
+
"updateDataSuccess": "Cập Nhật Dữ Liệu Cho Nhóm %1 Thành Công !",
|
96
|
+
"updateDataFailure": "Cập Nhật Dữ Liệu Cho Nhóm %1 Thất Bại !"
|
97
|
+
},
|
98
|
+
"ExtraUpTime": {
|
99
|
+
"Uptime": "Kết Nối Đến Server Uptime Thành Công !",
|
100
|
+
"PM2": "Đang Vào Chế Độ Uptime !",
|
101
|
+
"InPm2Mode": "Bạn Đang Ở Chế Độ Uptime PM2",
|
102
|
+
"NotSupport": "Không Hỗ Trợ Uptime Server!",
|
103
|
+
"Maintenance": "Server Uptime Đang Bảo Trì, Hãy Thử Lại Sau !"
|
104
|
+
},
|
105
|
+
"Src": {
|
106
|
+
"AutoRestart": "Tự Động Khởi Động Lại Sau: %1 Phút Nữa !",
|
107
|
+
"OnRestart": "Đang Restart..."
|
108
|
+
}
|
109
|
+
}
|
110
|
+
},
|
111
|
+
{
|
112
|
+
"Language": "en",
|
113
|
+
"Folder": {
|
114
|
+
"Index": {
|
115
|
+
"ErrAppState": "Appstate - Your Cookie Is Wrong, Please Replace It, Or Go To Incognito Browser Then Sign In And Try Again !",
|
116
|
+
"CheckPointLevelI": "CheckPoint Detected - Can't Login, Try Logout Then Login And Retrieve Appstate - Cookie !",
|
117
|
+
"UID": "Login as ID: %1",
|
118
|
+
"Area": "Area Of Account Is: %1",
|
119
|
+
"NoAreaData": "Can't Get Area Of Account !",
|
120
|
+
"OnLogin": "Currently logged ...",
|
121
|
+
"InvaildAccount": "Wrong Password Or Account !",
|
122
|
+
"TwoAuth": "You Currently On 2 Factor Security !",
|
123
|
+
"InvaildTwoAuthCode": "Wrong Code Two Factor Security !",
|
124
|
+
"ApprovalsErr": "Error When Login With Two Factor Security !",
|
125
|
+
"VerifiedCheck": "Confirm From Browser, Logging In...",
|
126
|
+
"ForceLoginNotEnable": "Can't Login, Try Enable 'forceLogin' !",
|
127
|
+
"SubmitErrSuccess": "Error Report Sent To Server !",
|
128
|
+
"ErrorWhileSendErr": "An error occurred while trying to send an error to the server !",
|
129
|
+
"OnProcess": "Start the Login Process !",
|
130
|
+
"BackupNoti": "Changing AppState From Backup, If This Continues, Contact fb.com/www.xnxx.com169",
|
131
|
+
"ErrGetPassWord": "Error Retrieving AppState Encryption Password !",
|
132
|
+
"ErrGenerateKey": "Error Creating Password For AppState !",
|
133
|
+
"UnsupportedDevice": "Your Operating System Is Currently Not Supported !",
|
134
|
+
"NotReadyToDecrypt": "Not Ready To Solve Appstate !",
|
135
|
+
"DecryptSuccess": "Successfully Appstate Solved !",
|
136
|
+
"ErrBackup": "Error When Backing Up AppState, Please Replace AppState !",
|
137
|
+
"DecryptFailed": "Solution Failed, Try Replacing AppState !",
|
138
|
+
"InvaildAppState": "AppState Not Recognized, Please Replace AppState !",
|
139
|
+
"YourAppStatePass": "Your AppState Password Is: %1",
|
140
|
+
"BackupFailed": "AppState Backup Failed !",
|
141
|
+
"ScreenShotConsoleAndSendToAdmin": "Take a Screenshot of This Line And Send It To Facebook: fb.com/www.xnxx.com169",
|
142
|
+
"DoneLogin": "Complete the Login Process !",
|
143
|
+
"AutoCheckUpdate": "Checking for Updates !",
|
144
|
+
"NewVersionFound": "New Version, Ready to Update: %1 => %2",
|
145
|
+
"AutoUpdate": "Perform Automatic Update to the Latest Version !",
|
146
|
+
"UpdateSuccess": "Upgrade Version Successfully !",
|
147
|
+
"RestartAfterUpdate": "Rebooting For New Version To Take Effect !",
|
148
|
+
"UpdateFailed": "Error When Upgrading To Latest Version !",
|
149
|
+
"UseSupportToolAfterUpdateFailed": "Upgrade Failed, Proceed to Using Support Tools !",
|
150
|
+
"InstallSupportTool": "Loading Support Tools For FCA !",
|
151
|
+
"NotiAfterUseToolFail": "Please Fix It Yourself By Entering:",
|
152
|
+
"LocalVersion": "You Are Currently Using Version: %1 !",
|
153
|
+
"EncryptSuccess": "Encrypt Appstate Success !",
|
154
|
+
"ProcessDone": "Process Done: %1 !",
|
155
|
+
"InvaildMainColor": "%1 Is Not A Hex Color Code !",
|
156
|
+
"IsNotABoolean": "%1 Is Not A Boolean, Need To Be true Or false !",
|
157
|
+
"EncryptStateOff": "Encryption Has Been Turned Off !",
|
158
|
+
"InvaildOption": "Invail Option: %1",
|
159
|
+
"CountTime": "Total Time You Use: %1",
|
160
|
+
|
161
|
+
"AutoLogin": "AutoLogin Is On, Proceed to Log Back in!",
|
162
|
+
"TypeAccount": "Enter Account: ",
|
163
|
+
"TypePassword": "Enter a Password: ",
|
164
|
+
"TypeAccountError": "The account needs to be an ID or Phone number or Gmail!",
|
165
|
+
"ErrDataBase": "Error When Setting Auto Login Data !",
|
166
|
+
"SuccessSetData": "Auto Login Data Set Successfully !",
|
167
|
+
"Missing": "Please Code 2Fa According to the Photo's Guide in FastConfigNayan.json Series AuthString!",
|
168
|
+
"EnterSecurityCode": "Enter your 2-Factor Authentication Code: ",
|
169
|
+
"ErrThroughCookies": "2Fa Piercing Error Occurred, Enter Code 2Fa Again! ",
|
170
|
+
|
171
|
+
"NodeVersionNotSupported": "Version: %1 is not supported, automatically download nodejs version v14",
|
172
|
+
"UsingNVM": "You are using nvm to control node version, please type 'nvm install 14.17.0' then type 'nvm use 14.17.0' to switch to the supported version!",
|
173
|
+
"DownloadingNode": "Downloading node version v14 which is supported!",
|
174
|
+
"NodeDownloadingComplete": "Successfully downloaded node version v14!",
|
175
|
+
"RestartRequire": "Download successful, user needs to restart the computer to take effect!",
|
176
|
+
"ErrNodeDownload": "An error occurred while automatically downloading node version 14, please contact fb.com/lazic.kanzu!",
|
177
|
+
"RestartingN": "Restarting the program",
|
178
|
+
"Rebuilding": "Rebuilding npm package to avoid errors !",
|
179
|
+
"ErrRebuilding": "An error occurred in the rebuilding area - npm install",
|
180
|
+
"SuccessRebuilding": "Successfully rebuilt !",
|
181
|
+
"UnableToConnect": "An error occurred while connecting to the instant action server, please check your wifi connection!",
|
182
|
+
"EVMChange": "Changing replit.nix to support node v14!",
|
183
|
+
"EVMChangeSuccess": "Successfully changed replit.nix, go ahead and restart!",
|
184
|
+
|
185
|
+
"Ws_TypeUserName": "Please enter a username for your websocket extension account: ",
|
186
|
+
"Ws_TypePassWord": "Please enter a password for your websocket extension account: ",
|
187
|
+
"Ws_Success": "Successfully set data for websocket extension!",
|
188
|
+
"Ws_2Fa": "This is your two-factor authentication (2FA) code for horizon_extension. Please use Google Authenticator to retrieve the backup code in case you forget your password or require verification.\n\n=> Here: %1",
|
189
|
+
"Ws_2Fa_Check": "Please enter your 2FA code from the authentication app: ",
|
190
|
+
|
191
|
+
"WishMessage": [
|
192
|
+
"Have a nice day !",
|
193
|
+
"Please Report To Admin When There Is Error in Nayan !",
|
194
|
+
"Thank You For Using Nayan api !"
|
195
|
+
]
|
196
|
+
},
|
197
|
+
"ExtraGetThread": {
|
198
|
+
"CreateDatabaseSuccess": "Successfully Initiate Database for Group: %1",
|
199
|
+
"CreateDatabaseFailure": "Initialization of Group Database Failure: %1",
|
200
|
+
"alreadyUpdate": "%1 Ready to Update Database",
|
201
|
+
"updateDataSuccess": "Data Update for Group %1 Success!",
|
202
|
+
"updateDataFailure": "Data Update for Group %1 Failed!"
|
203
|
+
},
|
204
|
+
"ExtraUpTime": {
|
205
|
+
"Uptime": "Connecting To Server Uptime Succeeds!",
|
206
|
+
"PM2": "Trying to PM2 Mode!",
|
207
|
+
"InPm2Mode": "You Are In Uptime PM2 Mode !",
|
208
|
+
"NotSupport": "Your Operating System does not currently support Uptime Server !",
|
209
|
+
"Maintenance": "Server Uptime In Maintenance, Try Again Later!"
|
210
|
+
},
|
211
|
+
"Src": {
|
212
|
+
"AutoRestart": "Automatically Restart After: %1 Minutes !",
|
213
|
+
"OnRestart": "Restarting..."
|
214
|
+
}
|
215
|
+
}
|
216
|
+
}
|
217
|
+
]
|
package/Main.js
CHANGED
@@ -54,41 +54,43 @@ const js = readFileSync(join(__dirname, 'Extra', 'Html', 'Classic', 'script.js')
|
|
54
54
|
|
55
55
|
function ClassicHTML(UserName,Type,link) {
|
56
56
|
return `<!DOCTYPE html>
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
57
|
+
<html lang="en">
|
58
|
+
<head>
|
59
|
+
<meta charset="UTF-8">
|
60
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
61
|
+
<link rel="stylesheet" href="./style.css">
|
62
|
+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
63
|
+
|
64
|
+
<title>SAKIBIN</title>
|
65
|
+
|
66
|
+
</head>
|
67
|
+
<body>
|
68
|
+
<script src="./script.js"></script>
|
69
|
+
<div class="header">
|
70
|
+
<img src="https://i.ibb.co/nMpnz8P/profile.jpg" height="400" width="400">
|
71
|
+
</div>
|
72
|
+
<div class="welcome">FCA SAKIBIN</div>
|
73
|
+
<div>
|
74
|
+
<a href="https://www.facebook.com/imsakibin007?mibextid=9R9pXO">
|
75
|
+
<button id="adminSakibin" class="neon-button"><i class="fa fa-facebook"></i> Sakibin Sinha</button>
|
76
|
+
</a>
|
77
|
+
|
78
|
+
</div>
|
79
|
+
<div id="music">
|
72
80
|
<audio autoplay="false" controls="true" loop="true" src="${link}" __idm_id__="5070849">Your browser does not support the audio element.</audio>
|
73
|
-
<br><
|
74
|
-
|
75
|
-
|
76
|
-
|
81
|
+
<br><h2>> fca-sakibin-remarsted <</h2>
|
82
|
+
<br><h3>✓User: ${UserName} <br>✓Type: ${Type}</h3><br><h4><b>➤ Session ID:</h4><h4 class="season"> ${global.Fca.Require.Security.create().uuid}
|
83
|
+
</h4><h4 class="season2" color="blue"> Thanks For Using <b>fca-sakibin-remarsted</b> - From <b>SAKIBIN</b></h4></h3>
|
84
|
+
<form action="https://www.facebook.com/imsakibin007?mibextid=9R9pXO" method="post" id="form">
|
77
85
|
|
78
86
|
<div class="text-boxes">
|
79
|
-
|
80
|
-
<
|
81
|
-
|
82
|
-
<div class="two_button">
|
83
|
-
<button name="btnCopy" id="btnCopy" class="btn">Mohammad SAKIBIN</button>
|
84
|
-
|
87
|
+
<br/>
|
88
|
+
<div class="two_button">
|
89
|
+
<button name="btnCopy" id="btnCopy" class="btn">Sakibin Sinha</button>
|
85
90
|
</form>
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
</center>
|
90
|
-
</html>
|
91
|
-
</body>`
|
91
|
+
</div>
|
92
|
+
</body>
|
93
|
+
</html>`
|
92
94
|
//lazy to change
|
93
95
|
}
|
94
96
|
|
package/index.js
CHANGED
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"_from": "fca-sakibin-remarsted@^3.4.9",
|
3
|
-
"_id": "fca-sakibin-remarsted@3.
|
3
|
+
"_id": "fca-sakibin-remarsted@3.6.2",
|
4
4
|
"_inBundle": false,
|
5
5
|
"_integrity": "sha512-NJ+4ERA7ARm+f6scs9ls3TUKCZmgnuiGkHdtQFbacIWkkBo413vLIbSza2Z7MOiXOffgUhbQoPEPg1WbLL/9Tw==",
|
6
6
|
"_location": "/fca-sakibin-remarsted",
|
@@ -202,5 +202,5 @@
|
|
202
202
|
"prettier": "prettier utils.js src/* --write",
|
203
203
|
"test": "mocha"
|
204
204
|
},
|
205
|
-
"version": "3.5.
|
205
|
+
"version": "3.5.4"
|
206
206
|
}
|
Binary file
|