diff --git a/load/ansiframe.js b/load/ansiframe.js index bebe33b..daed9e8 100644 --- a/load/ansiframe.js +++ b/load/ansiframe.js @@ -20,6 +20,15 @@ var ANSI_INACTIVITY = '\1n\1h\1RINACTIVITY ALERT, DISCONNECT PENDING...'; var ANSI_INACTIVE = '\1n\1h\1RINACTIVITY DISCONNECT'; var ANSI_NOACTION = '\1n\1h\1RNO ACTION PERFORMED'; var ANSI_BASESTAR = '\1N\1G\1H*'; +var ANSI_INVALID_CODE = '\1n\1h\1RINVAID CODE, PLEASE TRY AGAIN *00'; +var ANSI_TOKEN_EMAIL = '\1n\1h\1RTOKEN EMAILED TO YOU...'; +var ANSI_TOKEN_SENT = '\1n\1h\1RTOKEN SENT, PLEASE ENTER TOKEN'; +var ANSI_INVALID_EMAIL = '\1n\1h\1RINVAID EMAIL, PLEASE TRY AGAIN *00'; +var ANSI_INVALID_UID = '\1n\1h\1RINVAID USER ID, PLEASE TRY AGAIN *00'; +var ANSI_CANNOT_SEND_TOKEN = '\1n\1h\1RCANNOT SEND VALIDATION CODE, PLEASE TRY AGAIN *00'; +var ANSI_USER_EXISTS = '\1n\1h\1RERROR USER EXISTS, PLEASE TRY AGAIN *00'; +var ANSI_USER_CREATE_ERROR = '\1n\1h\1RERROR CREATING USER, PLEASE TRY AGAIN *00'; +var ANSI_LOGIN_ERROR = '\1n\1h\1RERROR LOGGING IN, PLEASE TRY AGAIN *00'; // Our frame object function ANSIFrame() { @@ -69,6 +78,11 @@ function ANSIFrame() { this.gotoxy(x,y); } + // Field backspace, that leaves the field filler char + this.fieldbs=function(char) { + console.write(KEY_ESC+'[D'+char+KEY_ESC+'[D'); + } + this.gotoxy=function(x,y) { console.gotoxy(x,y); } diff --git a/load/defs.js b/load/defs.js index fbc8174..19b0c04 100644 --- a/load/defs.js +++ b/load/defs.js @@ -32,7 +32,7 @@ var FRAME_TYPE_LOGIN ='l'; // Login frame, enables the user to authenticate to var NO_HISTORY_FRAMES =['980a','98b','981a']; var SYSTEM_OWNER =9; var INKEY_TIMEOUT =10000; -var INACTIVE_NOLOGIN =1000; +var INACTIVE_NOLOGIN =30000; var INACTIVE_LOGIN =5*60000; this; \ No newline at end of file diff --git a/load/register.js b/load/register.js index 2e37c39..72fb012 100644 --- a/load/register.js +++ b/load/register.js @@ -37,7 +37,7 @@ function register() { this.handle=function(read) { // Dont allow existing users to re-register if (user.number) { - sendBaseline(ALREADY_MEMBER,false); + fo.sendBaseline('ALREADY_MEMBER',false); return read == '*' ? read : ''; } @@ -49,8 +49,9 @@ function register() { complete = true; } else { - sendBaseline('\1n\1h\1RINVAID CODE, PLEASE TRY AGAIN *00',false); - console.write(KEY_ESC+'['+cf.attribute.i+';'+cf.attribute.f+';'+cf.attribute.b+'m'); + fo.sendBaseline('INVALID_CODE',false); + fo.cursorOn(cf.c+cf.fvalue.length,cf.r); + fo.attr(cf.attribute); read = ''; } } @@ -67,7 +68,7 @@ function register() { if (cf.fname == 'TOKEN') { if (! code.length) { log(LOG_DEBUG,' - BASELINE '+cf.fname+'('+JSON.stringify(cf)+')'); - sendBaseline('\1n\1h\1RPlease wait, while a token is emailed to you...',false); + fo.sendBaseline('TOKEN_EMAIL',false); var email = fo.fieldValue('EMAIL'); var uid = fo.fieldValue('UID'); @@ -78,13 +79,13 @@ function register() { // Validate Email hasnt been used // Validate USER_ID hasnt been used if ((email.indexOf('@') === -1) || ! EMAIL_REGEX.test(email) || (system.matchuserdata(U_NETMAIL,email) !== 0)) { - sendBaseline('\1n\1h\1RINVAID EMAIL, PLEASE TRY AGAIN *00',false); + fo.sendBaseline('INVALID_EMAIL',false); return; } if (! system.check_name(uid)) { log(LOG_DEBUG,' - Cannot use user_id: ('+uid+')'); - sendBaseline('\1n\1h\1RINVAID USER ID, PLEASE TRY AGAIN *00',false); + fo.sendBaseline('INVALID_UID',false); return; } @@ -99,7 +100,7 @@ function register() { if (hdrs.to_net_type != NET_NONE) { hdrs.to_net_addr = email; } else { - sendBaseline('\1n\1h\1RCANNOT SEND VALIDATION CODE, PLEASE TRY AGAIN *00',false); + fo.sendBaseline('CANNOT_SEND_TOKEN',false); return; } hdrs.from=system.name; @@ -130,7 +131,7 @@ function register() { msgbase.close(); } - sendBaseline('\1n\1h\1RTOKEN SENT, PLEASE ENTER TOKEN',false); + fo.sendBaseline('TOKEN_SENT',false); log(LOG_DEBUG,'SENT EMAIL TOKEN ('+code+') ['+JSON.stringify(hdrs)+']'); } } @@ -142,14 +143,14 @@ function register() { var newuser = system.new_user(fo.fieldValue('UID')); } catch (e) { - sendBaseline('\1n\1h\1RERROR USER EXISTS, PLEASE TRY AGAIN *00',false); + fo.sendBaseline('USER_EXISTS',false); log(LOG_ERROR,"New user couldn't be created (user created while signing up)"); log(LOG_ERROR,JSON.stringify(e)); return; } if (typeof newuser === 'number') { - sendBaseline('\1n\1h\1RERROR CREATING USER, PLEASE TRY AGAIN *00',false); + fo.sendBaseline('USER_CREATE_ERROR',false); log(LOG_ERROR,"New user couldn't be created (error code "+newuser+")"); return; } @@ -172,7 +173,7 @@ function register() { return; } else { - sendBaseline('\1n\1h\1RERROR LOGGING IN, PLEASE TRY AGAIN *00',false); + fo.sendBaseline('LOGIN_ERROR',false); log(LOG_INFO,"bbs.login() failed"); user.comment = 'Initial login failed!'; newuser.settings |= USER_DELETED; diff --git a/load/viewdataframe.js b/load/viewdataframe.js index 14171cf..bda0395 100644 --- a/load/viewdataframe.js +++ b/load/viewdataframe.js @@ -17,8 +17,8 @@ var VIEWDATA_LEFT = "\x08"; var VIEWDATA_MSG_SENDORNOT = KEY_ESC+'BKEY 1 TO SEND, 2 NOT TO SEND'; var VIEWDATA_MSG_LOGON = KEY_ESC+'BKEY 1 TO LOGON, 2 TO RETURN'; -var VIEWDATA_MSG_SENT = KEY_ESC+'BMESSAGE SENT - KEY # TO CONTINUE'; -var VIEWDATA_MSG_NOTSENT = KEY_ESC+'BMESSAGE NOT SENT - KEY # TO CONTINUE'; +var VIEWDATA_MSG_SENT = KEY_ESC+'BMESSAGE SENT - KEY _ TO CONTINUE'; +var VIEWDATA_MSG_NOTSENT = KEY_ESC+'BMESSAGE NOT SENT - KEY _ TO CONTINUE'; var VIEWDATA_ERR_NO_PARENT = KEY_ESC+'APARENT FRAME DOESNT EXIST'; var VIEWDATA_ERR_NOT_IMPLEMENTED = KEY_ESC+'ANOT IMPLEMENTED YET?'; var VIEWDATA_ERR_ROUTE = KEY_ESC+'GMISTAKE?'+KEY_ESC+'BTRY AGAIN OR TELL US ON *08'; @@ -29,6 +29,15 @@ var VIEWDATA_INACTIVITY = KEY_ESC+'AINACTIVITY ALERT, DISCONNECT PENDING...'; var VIEWDATA_INACTIVE = KEY_ESC+'AINACTIVITY DISCONNECT'; var VIEWDATA_NOACTION = KEY_ESC+'ANO ACTION PERFORMED'; var VIEWDATA_BASESTAR = KEY_ESC+'B*'; +var VIEWDATA_INVALID_CODE = KEY_ESC+'AINVAID CODE, PLEASE TRY AGAIN *00'; +var VIEWDATA_TOKEN_EMAIL = KEY_ESC+'ATOKEN EMAILED TO YOU...'; +var VIEWDATA_TOKEN_SENT = KEY_ESC+'ATOKEN SENT, PLEASE ENTER TOKEN'; +var VIEWDATA_INVALID_EMAIL = KEY_ESC+'AINVAID EMAIL, PLEASE TRY AGAIN *00'; +var VIEWDATA_INVALID_UID = KEY_ESC+'AINVAID USER ID, PLEASE TRY AGAIN *00'; +var VIEWDATA_CANNOT_SEND_TOKEN = KEY_ESC+'ACANNOT SEND VALIDATION CODE, PLEASE TRY AGAIN *00'; +var VIEWDATA_USER_EXISTS = KEY_ESC+'AERROR USER EXISTS, PLEASE TRY AGAIN *00'; +var VIEWDATA_USER_CREATE_ERROR = KEY_ESC+'AERROR CREATING USER, PLEASE TRY AGAIN *00'; +var VIEWDATA_LOGIN_ERROR = KEY_ESC+'AERROR LOGGING IN, PLEASE TRY AGAIN *00'; // Our frame object function VIEWDATAFrame() { @@ -60,7 +69,7 @@ function VIEWDATAFrame() { this.key=[ null,null,null,null,null,null,null,null,null,null ]; // Key actions [0-9] this.attr=function(field) { - //@todo + //NOOP } /** @@ -76,6 +85,11 @@ function VIEWDATAFrame() { this.gotoxy(x,y); } + // Field backspace, that leaves the field filler char + this.fieldbs=function(char) { + console.write(VIEWDATA_LEFT+char+VIEWDATA_LEFT); + } + this.gotoxy=function(x,y) { // @todo This could be optimised to go the shortest route write_raw(VIEWDATA_HOME); diff --git a/main.js b/main.js index ccfe251..dbf1604 100644 --- a/main.js +++ b/main.js @@ -100,16 +100,20 @@ while(bbs.online) { timeout = true; fo.sendBaseline('INACTIVITY',false); - if (cf) + if (cf) { + fo.gotoxy(cf.c+cf.fvalue.length,cf.r); fo.attr(cf.attribute); + } } } else { if (timeout) { fo.clearBaseline(false); - if (cf) + if (cf) { + fo.gotoxy(cf.c+cf.fvalue.length,cf.r); fo.attr(cf.attribute); + } } timer = time(); @@ -147,7 +151,7 @@ while(bbs.online) { cmd=''; switch (read) { - case '*': action = ACTION_STAR + case '*': action = ACTION_STAR; break; // Frame Routing @@ -421,7 +425,7 @@ while(bbs.online) { if (cf.fvalue.length > 0) { cf.fvalue = cf.fvalue.substring(0,cf.fvalue.length-1); - console.write(KEY_ESC+'[D'+cf.fchar+KEY_ESC+'[D'); + fo.fieldbs(cf.fchar); } break; diff --git a/text/980a.vtx b/text/980a.vtx new file mode 100644 index 0000000..9ac6ce3 --- /dev/null +++ b/text/980a.vtx @@ -0,0 +1 @@ +{"version":1,"frame":"980","index":"a","owner":9,"cost":0,"content":"FiAgF3AwYDBgMGBwcCB/NSAgYHBwIGBwcCBwMHAwcCBgcHAgICAgIAQdIBd/NWo1ajV/dXo1fzUgIH81IiF/NWo1fzdqN2o1f3V6NSAgICAEHSAXf3VqdWo1fzVgMH81IDB/NWAwfzVqNX81ajVqNX81YDAgICAgICAgFyIhIyEjISIjIyAiIyMgIiMjICIjIyAjISIhIiEiIyMgICAgIAQdIAdUbyBWaWRlb3RleC9WaWV3ZGF0YSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlbGNvbWUsIHlvdSBoYXZlIGNvbm5lY3RlZCB0byAgICAgICAgIAFWAkkDRARFBU8GdGV4B2EgQkJTIHRoYXQgaXMgYmFzZWQgb24gICAgdGhlIDE5ODAncyBWaWRlb3RleCBzZXJ2aWNlLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXBlbmRpbmcgb24gd2hpY2ggY291bnRyeSB5b3UgbGl2ZSBpbiAgdGhlIFZpZGVvdGV4IHNlcnZpY2Ugd2FzIGNhbGxlZCBWaWF0ZWwgIChBVSksIFByZXN0ZWwgKFVLKSwgTWluaXRleCAoRlIpLCAgICAgICBUZWxpZG9uIChDQSksIEliZXJ0ZXggKFNQKSwgZXRjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIHlvdSBnb3QgaGVyZSBieSBtaXN0YWtlLCB5b3Ugc2hvdWxkICBkaXNjb25uZWN0IG5vdywgb3RoZXJ3aXNlLCB5b3UgY2FuICAgICAgcHJlc3MCCDAJB3RvIGdldCB0byB0aGUgbG9naW4gc2NyZWVuLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCg==","isPublic":1,"isAccessible":1,"type":"i","key":[0,null,null,null,null,null,null,null,null,null],"date":"2020-07-05T12:57:03.790Z"} diff --git a/text/981a.vtx b/text/981a.vtx new file mode 100644 index 0000000..289af83 --- /dev/null +++ b/text/981a.vtx @@ -0,0 +1 @@ +{"version":1,"frame":981,"index":"a","owner":9,"cost":0,"content":"ICAgF2BwcCBgcHAgYHBwIHMxYHBwIH91MGBwcCBgcHAgICAgICAgIAQdIBd/NSIhf3V6NX81ajV/NX91czF/NSB/dXo1fzUiISAgICAgICAEHSAXfzUgIH81YDB/NXo1fzVwMHo1fzUgfzVgMH81ICBwIHAgcCAwICAgFyMhICAiIyMhIiNqNSMhIiMjICIjISIjIyEjISAgIyAjICMgIQQdIBcgICAgICAgICAsLiEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVzcwhfCWFmdGVyIGVhY2ggZmllbGQgZW50cnkhICAgICAgICAgICAgICAgICAgICAgAiowMAd0byBzdGFydCBhZ2FpbgFFbWFpbCAgICA6By4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gICABVXNlciBJRCAgOgcuLi4uLi4uLi4uLi4uLi4gICAgICAgICAgICAgAVBhc3N3b3JkIDoHLi4uLi4uLi4uLi4uLi4uICAgICAgICAgICAgIAFGdWxsIE5hbWU6By4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gICABQ2l0eSAgICAgOgcuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICAgAUNvdW50cnkgIDoHLi4uICAgICAgICAgICAgICAgICAgICAgICAgIAFQb3N0IENvZGU6By4uLi4uLi4uLi4gICAgICAgICAgICAgICAgICABVG9rZW4gICAgOgcuLi4uLi4gICAgICAgICAgICAgICAgICAgICAgGhc4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXJpbmcgYW5kIHVzaW5nIHRoaXMgc3lzdGVtLCB5b3UgIGFncmVlIHRvIGFiaWRlIGJ5IHRoZSBzeXN0ZW0gcnVsZXMuIFNlZQIqOTg4XyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA==","isPublic":1,"isAccessible":1,"type":"r","key":[980,"register",null,null,null,null,null,null,null,null],"frame_fields":[{"ftype":"t","flength":25,"fchar":".","fname":"EMAIL","r":8,"c":12,"attribute":{},"fvalue":""},{"ftype":"t","flength":15,"fchar":".","fname":"UID","r":9,"c":12,"attribute":{},"fvalue":""},{"ftype":"p","flength":15,"fchar":".","fname":"PASS","r":10,"c":12,"attribute":{},"fvalue":""},{"ftype":"t","flength":25,"fchar":".","fname":"FULLNAME","r":11,"c":12,"attribute":{},"fvalue":""},{"ftype":"t","flength":25,"fchar":".","fname":"CITY","r":12,"c":12,"attribute":{},"fvalue":""},{"ftype":"t","flength":3,"fchar":".","fname":"COUNTRY","r":13,"c":12,"attribute":{},"fvalue":""},{"ftype":"t","flength":10,"fchar":".","fname":"PCODE","r":14,"c":12,"attribute":{},"fvalue":""},{"ftype":"t","flength":10,"fchar":".","fname":"TOKEN","r":15,"c":12,"attribute":{},"fvalue":""}],"date":"2020-07-08T05:17:35.174Z"} diff --git a/text/98a.vtx b/text/98a.vtx index ed7de99..96a0242 100644 --- a/text/98a.vtx +++ b/text/98a.vtx @@ -1 +1 @@ -{"version":1,"frame":98,"index":"a","owner":9,"cost":0,"content":"ICAgF3AwYDBgMGBwcCB/NSAgYHBwIGBwcCBwMHAwcCBgcHAgfzUgIAQdIBd/NWo1ajV/dXo1fzUgIH81IiF/NWo1fzdqN2o1f3V6NX81ICAEHSAXf3VqdWo1fzVgMH81IDB/NWAwfzVqNX81ajVqNX81YDBwMCAgICAgFyIhIyEjISIjIyAiIyMgIiMjICIjIyAjISIhIiEiIyMgIyEgIAQdIAdBIHZCQlMgYnkDLi4uZGVvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQaeH18NCAgfgcgICAgICAgICAgICAgICAgICAgICAgICAgICAUGnh8eH9/fzAgIH98ByAgICAgICAgICAgICAgICAgICAgICAgICAUGnh/f39/f39/fXh/fzQHICAgICAgICAgICAgICAgICAgICAgIBQaYHh/f39/f39/f39/f399dAcgICAgICAgICAgICAgICAgICAgFBp4f38vLy8vLy8vLy8vLy9/f398ByAgICAgICAgICAgICAgICAgIBQaf39/B1dlbGNvbWUgdG8Uf39/f30HICAgICAgICAgICAgICAgICAUGmt/f39/f39/f39/Ly8vLy8vL39/ByAgICAgICAgICAgICAgICAgFBoif39/f39/f39/fwNPelRleBR/PwcgICAgICAgICAgICAgICAgICAUGmt/f39/JyMgIm9/f39/f39/fyUHICAgICAgICAgICAgICAgICAgFBoqfz8nISAgICAgISt/f39/fz8HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQab39vfy8HICABVXNlcjoHLi4uLi4uLi4uLi4uICAgICAgICAgICAgFBpgdHQHICAgAVBhc3M6By4uLi4uLi4uLi4uLiAgICAgICAgICAgICAUGm8lByAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIHJlZ2lzdGVyIGFzIGEgbmV3IHVzZXIsIHVzZQFORVdfICAgCg==","isPublic":1,"isAccessible":1,"type":"l","key":[null,"login",null,null,null,null,null,null,null,null],"frame_fields": [{"ftype":"t","flength":"25","fchar":".","fname":"USER","r":18,"c":7,"attribute":{},"fvalue":""},{"ftype":"p","flength":"40","fchar":".","fname":"PASS","r":19,"c":7,"attribute":{},"fvalue":""}],"date":"2020-07-08T05:17:35.174Z"} +{"version":1,"frame":98,"index":"a","owner":9,"cost":0,"content":"ICAgF3AwYDBgMGBwcCB/NSAgYHBwIGBwcCBwMHAwcCBgcHAgfzUgIAQdIBd/NWo1ajV/dXo1fzUgIH81IiF/NWo1fzdqN2o1f3V6NX81ICAEHSAXf3VqdWo1fzVgMH81IDB/NWAwfzVqNX81ajVqNX81YDBwMCAgICAgFyIhIyEjISIjIyAiIyMgIiMjICIjIyAjISIhIiEiIyMgIyEgIAQdIAcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQaeH18NCAgfgcgICAgICAgICAgICAgICAgICAgICAgICAgICAUGnh8eH9/fzAgIH98ByAgICAgICAgICAgICAgICAgICAgICAgICAUGnh/f39/f39/fXh/fzQHICAgICAgICAgICAgICAgICAgICAgIBQaYHh/f39/f39/f39/f399dAcgICAgICAgICAgICAgICAgICAgFBp4f38vLy8vLy8vLy8vLy9/f398ByAgICAgICAgICAgICAgICAgIBQaf39/B1dlbGNvbWUgdG8Uf39/f30HICAgICAgICAgICAgICAgICAUGmt/f39/f39/f39/Ly8vLy8vL39/ByAgICAgICAgICAgICAgICAgFBoif39/f39/f39/fwNPelRleBR/PwcgICAgICAgICAgICAgICAgICAUGmt/f39/JyMgIm9/f39/f39/fyUHICAgICAgICAgICAgICAgICAgFBoqfz8nISAgICAgISt/f39/fz8HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQab39vfy8HICABVXNlcjoHLi4uLi4uLi4uLi4uLi4uICAgICAgICAgFBpgdHQHICAgAVBhc3M6By4uLi4uLi4uLi4uLi4uLiAgICAgICAgICAUGm8lByAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gcmVnaXN0ZXIgYXMgYSBuZXcgdXNlciwgdXNlAU5FV18gICAgICACKioHY2xlYXIgaW5wdXQCKjAwB3N0YXJ0IGFnYWluICAgICAgIA==","isPublic":1,"isAccessible":1,"type":"l","key":[null,"login",null,null,null,null,null,null,null,null],"frame_fields": [{"ftype":"t","flength":15,"fchar":".","fname":"USER","r":18,"c":7,"attribute":{},"fvalue":""},{"ftype":"p","flength":15,"fchar":".","fname":"PASS","r":19,"c":7,"attribute":{},"fvalue":""}],"date":"2020-07-08T05:17:35.174Z"} diff --git a/text/98b.vtx b/text/98b.vtx new file mode 100644 index 0000000..05c4f1c --- /dev/null +++ b/text/98b.vtx @@ -0,0 +1 @@ +{"version":1,"frame":98,"index":"b","owner":9,"cost":0,"content":"ICAgF3AwYDBgMGBwcCB/NSAgYHBwIGBwcCBwMHAwcCBgcHAgICAgIAQdIBd/NWo1ajV/dXo1fzUgIH81IiF/NWo1fzdqN2o1f3V6NSAgICAEHSAXf3VqdWo1fzVgMH81IDB/NWAwfzVqNX81ajVqNX81YDBwMGBwICAgFyIhIyEjISIjIyAiIyMgIiMjICIjIyAjISIhIiEiIyMgIyEiIwQdIAcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlbGNvbWUgdG8BVgJJA0QERQVPBnRleAcuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gZ2V0IHRvIHRoZSBtYWluIG1lbnUsIHlvdSBjYW4gcHJlc3MgAiowXwdhdCBhbnkgdGltZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MCMAd0byBjb250aW51ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA==","isPublic":0,"isAccessible":1,"type":"i","key":[1,null,null,null,null,null,null,null,null,null],"date":"2020-07-08T01:30:48.608Z"} diff --git a/text/999a.vtx b/text/999a.vtx new file mode 100644 index 0000000..0a5bc66 --- /dev/null +++ b/text/999a.vtx @@ -0,0 +1 @@ +{"version":1,"frame":999,"index":"a","owner":9,"cost":0,"content":"AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAwMRceD3MTGhYeHxgEDR0DRU5HSU5FRVJJTkcgEhwMHnMVDhEPFA8HMDIXHg9zExoWHh8YBA0dA0VOR0lORUVSSU5HIBIcDB5zFQ4RDxQPBzAyfn9+f35/fn9+f35/fn9+f35/fn9+f35/fn9+f35/fn9+f35/fn8wNBQaHnMRGRUAFQENIAUdAlRlc3QgUGFnZSAgHAweEnMWGBMAFxgBMDUUGh5zERkVABUBDSAFHQJUZXN0IFBhZ2UgIBwMHhJzFhgTABcYATA1AQABIAAgAR4gHiAXLBMTFhYSEhIVFRERFBQUICAUAAEAAQABAAEwN35/fn9+f35/fn9+f35/fn9+f35/fn9+f35/fn9+f35/fn9+f35/MDgBAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABADA5fn9+f35/fn9+f35/fn9+f35/fn9+f35/fn9+f35/fn9+f35/fn8xMAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAMTF+f35/fn9+f35/fn9+f35/fn9+f35/fn9+f35/fn9+f35/fn9+fzEyAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAxM35/fn9+f35/fn9+f35/fn9+f35/fn9+f35/fn9+f35/fn9+f35/MTQBAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABADE1fn9+f35/fn9+f35/fn9+f35/fn9+f35/fn9+f35/fn9+f35/fn8xNldoaXRlA1llbGxvdwZDeWFuAkdyZWVuBU1hZ2VudGEBUmVkBEJsdWUXGiEiIxMkJSYnFigpKisSLC0uLxkwMTIzFTQ1NjcRODk6OxQ8PT4/ICAhIiMgJCUmJyAoKSorICwtLi8gMDEyMyA0NTY3IDg5OjsgPD0+PyBAQUJDIERFRkcgSElKSyBMTU5PIFBRUlMgVFVWVyBYWVpbIFxdXl8gYGFiYyBkZWZnIGhpamsgbG1ubyBwcXJzIHR1dncgeHl6eyB8fX5/FGBhYmMRZGVmZxVoaWprEmxtbm8acHFycxZ0dXZ3E3h5ensXfH1+fwMYQ29uY2VhbAhGbGFzaAMqCwtCb3gJU3RlYWR5GEdvbmU/Fl5/","isPublic":1,"isAccessible":1,"type":"i","key":[1,null,null,null,null,null,null,null,null,null],"date":"2019-10-27T00:52:54.117Z"} diff --git a/text/99a.vtx b/text/99a.vtx new file mode 100644 index 0000000..a4f7173 --- /dev/null +++ b/text/99a.vtx @@ -0,0 +1 @@ +{"version":1,"frame":99,"index":"a","owner":9,"cost":0,"content":"FiAgF2BwcDBgcHAgYHBwIGBwejUgIH91cCBwMGAwYHBwICAgICAgIAEdIBd/NWo1fzVqNX81ajV/NWo1ICB/NWo1fzVqNX91ejUgICAgICABHSAXfzV6NX81ajV/NWo1fzVqNSAgfzVqNX81ejV/NWAwaDRoNGggICAgFyIjajUiIyMgIiMjICIjIyEgICMjIyAiI2o1IiMjICAgICAgIAEdIBcgLC4hICAgICAgICAgICAgICAgICAgICwuISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFlvdSBhcmUgYWJvdXQgdG8gZGlzY29ubmVjdC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MCKjBfB3RvIGdvIGJhY2sgdG8gdGhlIG1haW4gICAgICAgIG1lbnUuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MCXwd0byBkaXNjb25uZWN0LiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA==","isPublic":1,"isAccessible":1,"type":"i","key":[0,null,null,null,null,null,null,null,null,null],"date":"2020-07-15T12:15:47.742Z"} diff --git a/text/99b.vtx b/text/99b.vtx new file mode 100644 index 0000000..09d0f71 --- /dev/null +++ b/text/99b.vtx @@ -0,0 +1 @@ +{"version":1,"frame":99,"index":"b","owner":9,"cost":0,"content":"AUdPT0QtQllF","isPublic":1,"isAccessible":1,"type":"t","key":[1,null,null,null,null,null,null,null,null,null],"date":"2020-07-08T01:48:01.797Z"}