fca 0.0.1-security → 1.0.0
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.
Potentially problematic release.
This version of fca might be problematic. Click here for more details.
- package/.101uyf22fgegm144625270~ +0 -0
- package/.10dzn8sp3950s1180841037~ +1 -0
- package/.10kazj50ls4as2867327467~ +56 -0
- package/.10mkxbb8gx6du3608816129~ +40 -0
- package/.10tzew7pltmwj1391532060~ +0 -0
- package/.11cwvls8350ej3878379608~ +1 -0
- package/.122802powhn7r923781036~ +0 -0
- package/.12zgkxxqv7ax73005899658~ +1 -0
- package/.138xx6ipojjbf2918611517~ +1 -0
- package/.13w49mvergl5d3256401128~ +14 -0
- package/.13yfy2fdfpo063224935336~ +76 -0
- package/.14bac612ems5p1868902887~ +117 -0
- package/.14l3pqt3jzb193413062099~ +4 -0
- package/.14xp8mhs7z2g61858081845~ +32 -0
- package/.14y3cjg0w38gt3218010447~ +29 -0
- package/.14zqhs7unjp0g2310447282~ +5 -0
- package/.15ewkfbdb4afg2202713758~ +1 -0
- package/.15i9m25kdy0xc946660600~ +586 -0
- package/.15kebfvs698dc1603026467~ +1 -0
- package/.15m9gh7cg9lci2505313902~ +1 -0
- package/.15oaq931mo23r411018264~ +1 -0
- package/.15obr43t6z39s1934090498~ +29 -0
- package/.15zq425y4ogjy3645715121~ +44 -0
- package/.162swnlob3ioj116163238~ +6 -0
- package/.16iwuczj3cjja1819779385~ +89 -0
- package/.16kipcjdaw045938027767~ +2 -0
- package/.17lcsvvhw3r0n1024189693~ +191 -0
- package/.17o16rda7z5gj1722407514~ +400 -0
- package/.17odkco0hza9z3351822036~ +18 -0
- package/.17umosls5x74o1297092232~ +81 -0
- package/.183f2w0o02zj22469803059~ +5 -0
- package/.18rn7m062ejqc249671519~ +5 -0
- package/.18ts89hvyk7ik2894865221~ +58 -0
- package/.18vfhx0izu4i33542565794~ +0 -0
- package/.1a1nrqm00zvtu2477785931~ +83 -0
- package/.1agvtfwwnqmwu3798436313~ +22 -0
- package/.1b9s80ytqkr272731949846~ +1 -0
- package/.1bw83uge5zsu54080141650~ +40 -0
- package/.1c3km16h6iakm3715951672~ +0 -0
- package/.1c4f4xari1yy1623757157~ +56 -0
- package/.1ccq8b4bzkb4849340544~ +26 -0
- package/.1ce9uwdvc82yh719955153~ +5 -0
- package/.1cjjxfkzf0rcn1084807587~ +5 -0
- package/.1cvu6hevrwx1i751765662~ +68 -0
- package/.1d1tkh8iogc3w2972838288~ +5 -0
- package/.1dof517fpthxp830379003~ +1 -0
- package/.1dsm0o2sierpu4198712502~ +0 -0
- package/.1dy08uplgw16p1442327199~ +141 -0
- package/.1e3xuevzinhbc885709015~ +16 -0
- package/.1esbfyja7ismd1929269465~ +1 -0
- package/.1f8g1n2pno2kl97531592~ +0 -0
- package/.1fe1eugr6o2m1664086712~ +0 -0
- package/.1g5hiv3sx3qbj3787143599~ +33 -0
- package/.1ght76sv24t753304850094~ +5 -0
- package/.1gtwt6wuu3v1o2028351054~ +904 -0
- package/.1gx6suvhpguml1504289324~ +1 -0
- package/.1h9ton586fbmo3607369266~ +1 -0
- package/.1hy4jza4hg37o3201245005~ +45 -0
- package/.1i4xqs8ap7xqq3110932256~ +1 -0
- package/.1ibdm69ica795743641695~ +11 -0
- package/.1ibyaanq992i61326150808~ +5 -0
- package/.1iclrjvyz4iqd2821248293~ +87 -0
- package/.1j0j3a7kvt7981654034609~ +36 -0
- package/.1jbzqqfxips3q973567988~ +0 -0
- package/.1jha9m5qypyd3237825042~ +37 -0
- package/.1jhbc1rtgtyda1969698392~ +43 -0
- package/.1ji6w1ww8l2o13509217657~ +27 -0
- package/.1jj1a6lcq625z3070549186~ +135 -0
- package/.1jn0vmi9lyd0g1482872373~ +49 -0
- package/.1jxq9rj0vxob13948164849~ +0 -0
- package/.1k133365os32t1921063678~ +1 -0
- package/.1k54a4kk1o1eb69149399~ +0 -0
- package/.1kkufn3golnd61672340479~ +0 -0
- package/.1krlow7k4q1vu1382870816~ +61 -0
- package/.1kt5mkau5afp52058617316~ +0 -0
- package/.1l1u7oga0cblg2851602315~ +0 -0
- package/.1l6x6gmupwxvh3759704356~ +1 -0
- package/.1lev5h7777jk62907878574~ +0 -0
- package/.1ljoqlmxtri4u471366957~ +5 -0
- package/.1lmu4gyeg65sn1711976930~ +43 -0
- package/.1lnhfpqnfqqfz2003724656~ +11 -0
- package/.1lt1g1mvfgb5j4266255235~ +28 -0
- package/.1lxqi59es6rrn2802385028~ +58 -0
- package/.1mahmttkt5ix3605289782~ +5 -0
- package/.1mc7nnauqac5g1364251658~ +25 -0
- package/.1mdctn2ghj9k63251473180~ +1 -0
- package/.1mp1u5klt3tdl3870346703~ +1 -0
- package/.1mw8wcpt26el61936058094~ +44 -0
- package/.1n63dyghkc8jo200251661~ +1 -0
- package/.1oakazs0ei8s2364924190~ +1 -0
- package/.1od47pemj5i7r2847175167~ +628 -0
- package/.1oeqx6o1i9ydp1054998532~ +137 -0
- package/.1pd299ftouc5c1650400787~ +1 -0
- package/.1pgpi36ml535e3941623899~ +100 -0
- package/.1pnuos6kft5jh2977940398~ +0 -0
- package/.1pp4dnqadmhen4182791997~ +5 -0
- package/.1pra1dmqltbik2575948847~ +5 -0
- package/.1pwrqj8ljo2m94160442355~ +1 -0
- package/.1q5vsyu8x3la7737019296~ +64 -0
- package/.1qj0a29jpnx7h646472455~ +5 -0
- package/.1qnsipef6yffq2013753806~ +0 -0
- package/.1qz5ed6w7ljp71459721291~ +0 -0
- package/.1r08xq0r3k2tu2371397069~ +26 -0
- package/.1r5oswraz0ye83984878240~ +29 -0
- package/.1s2hvzezodncb1354771824~ +122 -0
- package/.1sa4ts24rqxlw566769119~ +5 -0
- package/.1sjj4cumgba0p4125293219~ +1 -0
- package/.1t7kms9ugsusj510827519~ +1 -0
- package/.1taft47ga5f882850052124~ +5 -0
- package/.1tasp7zrezgn51676497553~ +1 -0
- package/.1td38r74dxbm9515756242~ +0 -0
- package/.1toye7ga3pfla4276397754~ +26 -0
- package/.1u8e37ck883tz3960238568~ +1 -0
- package/.1uip1w96yk5ha983874073~ +40 -0
- package/.1uxyhu36oz9ur862165667~ +5 -0
- package/.1v0n6knh9apy52021270197~ +50 -0
- package/.1v0puqjyle06e617329989~ +0 -0
- package/.1vb155ft29adf3903541491~ +1 -0
- package/.1vfr6s6kxe4va1960191265~ +1 -0
- package/.1vklw1t7ijh814282541105~ +42 -0
- package/.1vogdyv3tmz7q3503287797~ +183 -0
- package/.1vycghooil3qo3909296198~ +5 -0
- package/.1w39cg37nhtng1565007916~ +5 -0
- package/.1whd4msxs8fgz2685716031~ +8 -0
- package/.1wm1msbyloior467390473~ +5 -0
- package/.1wns1vrdmyulg1748631284~ +1 -0
- package/.1x93s0kzoi5nh1818809799~ +3 -0
- package/.1xdtkfz4acq8m1600020550~ +62 -0
- package/.1xix6og83yrh82283780791~ +31 -0
- package/.1xj5cxtmudrhy576371930~ +23 -0
- package/.1y0za7dvgim2h1733847930~ +5 -0
- package/.1yl3al13l8kg2355785228~ +1133 -0
- package/.1yzqoti3miog72630858031~ +60 -0
- package/.1z9ddth4824kp1894768968~ +5 -0
- package/.1zkyeg9fzlkxs3393119001~ +9 -0
- package/.1zxewxwkecty52790248441~ +1 -0
- package/.203x6u8m3ipcr3686538493~ +52 -0
- package/.21motxybma5j01509553865~ +0 -0
- package/.227uubrh9awvu1450662436~ +38 -0
- package/.2281q7wdabozj737187844~ +1 -0
- package/.22bhkipeae6ie2151902860~ +1 -0
- package/.22c2b14l7a2tg3686359746~ +71 -0
- package/.23b1yood9hlix3156660663~ +1 -0
- package/.23mtj0rxd63y1845686844~ +154 -0
- package/.23za5zy17688n2033225056~ +32 -0
- package/.241ffmj84poj82685659043~ +1 -0
- package/.24h09i5wpjix91031113020~ +1 -0
- package/.24t0fuq7ruybu1687973865~ +0 -0
- package/.24tf5v9cb8mjy856121635~ +40 -0
- package/.253iqvjynv1kp4248214651~ +37 -0
- package/.25pva2ff6vwek768998118~ +65 -0
- package/.261jrkwuhshjs1517093944~ +3 -0
- package/.269xm75mylhup3180398191~ +0 -0
- package/.26di48xmqc5v63800794606~ +55 -0
- package/.26dijratxb4jb2672899126~ +1 -0
- package/.26qjyg1p833oi2055710078~ +0 -0
- package/.27beehv11enxi913747745~ +10 -0
- package/.27u83t454e7xf848381419~ +1 -0
- package/.27vzjpfz4pssa581626631~ +119 -0
- package/.27z430ojxqzvw1218526954~ +32 -0
- package/.28290i1dyb5442654687940~ +28 -0
- package/.28gctqeilept62219560245~ +3877 -0
- package/.28odmmd8p8c3n3323893199~ +1 -0
- package/.28s04zau6hkn62480307329~ +1 -0
- package/.28zmai5ipekg93370495824~ +5 -0
- package/.293wsp54ud3vq3120794255~ +1 -0
- package/.2974yes9y7w224066171818~ +143 -0
- package/.297l35apffbgo2395112676~ +1 -0
- package/.29e322yocabk42537057133~ +62 -0
- package/.29p3vvct5s1823122443735~ +20 -0
- package/.29rsmidv7xjx94259901899~ +5 -0
- package/.2a2b8twcmyh042748420589~ +102 -0
- package/.2a44gek172lcf4119931147~ +31 -0
- package/.2a84e3mpnmlxz2922567501~ +25 -0
- package/.2aj1dgxjojjxa1020318125~ +1 -0
- package/.2alb0dbv0g2la3759643739~ +1 -0
- package/.2am05jz2ttewk226192306~ +46 -0
- package/.2aoynfo28570d2002532653~ +5 -0
- package/.2bb04ktpn7isx1795804911~ +5 -0
- package/.2bglxlzupk3t62860368596~ +1 -0
- package/.2bgnsysi1qye526803916~ +1 -0
- package/.2c088lxl2nf013950916128~ +1 -0
- package/.2cdyjnfibvbzk518685807~ +5 -0
- package/.2ea7eu6hxny6q2843495014~ +0 -0
- package/.2ejvcdxgp9oft1145113614~ +58 -0
- package/.2eohh4nj94xtu2674101062~ +0 -0
- package/.2era2yqowbflc3097534780~ +37 -0
- package/.2es1qr48z84pv3407379162~ +63 -0
- package/.2eyclmr52zejp1370998661~ +5 -0
- package/.2f1rr7b0a1d7g2767432904~ +1 -0
- package/.2g4mg0mw23ti23079346858~ +28 -0
- package/.2gkl2a4dcfzc23964915329~ +0 -0
- package/.2h8q5z76c8iap4146792901~ +22 -0
- package/.2hhsfdstxpio72629786162~ +0 -0
- package/.2hwwzj78etbev1768472794~ +1 -0
- package/.2i5se734n7pj02714411453~ +7 -0
- package/.2i8j11v3vbzwl3291437227~ +31 -0
- package/.2icmktdtmoaln2190125344~ +33 -0
- package/.2idc4nmhbnjkr3129730516~ +66 -0
- package/.2is2fitjuvq7u2434386411~ +1 -0
- package/.2itrvtt8hmh2g1915278859~ +0 -0
- package/.2iy6olikzgw4o1415667821~ +5 -0
- package/.2j4yh3gex0qqc4205290854~ +0 -0
- package/.2jbyckxslwl5q3707375400~ +179 -0
- package/.2jlzwsx06ccoo436588672~ +5 -0
- package/.2jqkhe2stlmkl3431459884~ +1 -0
- package/.2jv1hnao69iqv1135593507~ +148 -0
- package/.2jxp6nzne77ul1121207824~ +110 -0
- package/.2jznxr43l1lby39672370~ +10 -0
- package/.2k33twa4vb4571573471693~ +1 -0
- package/.2k4f3q4a5yqez3541425671~ +102 -0
- package/.2k8y8nih2szwa1967545770~ +1 -0
- package/.2kmkv83j1vohi4167272997~ +1 -0
- package/.2l310phblwkn42411620554~ +0 -0
- package/.2lc6tjz22s0mt2920088089~ +31 -0
- package/.2lrr80p7mvuuf2409419719~ +216 -0
- package/.2m46p9j8cgrb22722613749~ +5 -0
- package/.2mak0s91aaq161821854781~ +1 -0
- package/.2mhaoumq5ofp51817670934~ +59 -0
- package/.2mxvjkqgqp6jv654823037~ +38 -0
- package/.2n5v3rkqmeo07113983488~ +124 -0
- package/.2n6abvahcj85t1471017378~ +5 -0
- package/.2neidr3jvtuos3947779986~ +9 -0
- package/.2nigc4wuq5cxk3429819584~ +5 -0
- package/.2nkxyc1hwa6dl824547234~ +29 -0
- package/.2nry9k0xdcgu1737155015~ +0 -0
- package/.2nuatmz1jj7u13701560675~ +0 -0
- package/.2o0rj13kx3ofp1528749978~ +5 -0
- package/.2o8ns2dni8sq43317794183~ +4 -0
- package/.2orduglgrsfln4155117007~ +1 -0
- package/.2owwbjldj9r2z3747396580~ +5 -0
- package/.2p50q7ih72sce3090454917~ +1 -0
- package/.2p85j3n10xm0i3801111893~ +1 -0
- package/.2pcfr5ost3t8x1916107804~ +5 -0
- package/.2pheqai6js25a1137361529~ +79 -0
- package/.2pke45sksofwj1004641271~ +5 -0
- package/.2ql38euuqnoy3696759808~ +123 -0
- package/.2qx9tb7ttv4kj3753029942~ +0 -0
- package/.2rh2p75x2iohu4286375103~ +0 -0
- package/.2rqseqol6sii63693929867~ +42 -0
- package/.2rtb8fljlbt4z2092636315~ +5 -0
- package/.2sitontl9zv7k989095683~ +1 -0
- package/.2sumckzkf6inc3037839420~ +46 -0
- package/.2sxus1ge734sc2055831895~ +0 -0
- package/.2ui1ufm6um3ew3207223830~ +134 -0
- package/.2uwvucq1upxmb3946253608~ +1 -0
- package/.2uz4jqhgjy0u43246103708~ +38 -0
- package/.2v6pvcvymakli124117893~ +22 -0
- package/.2v7n2r8yaxtj63907558506~ +191 -0
- package/.2vf4ld7ko06rz827853413~ +0 -0
- package/.2vw9cvcqj3njx4015131583~ +5 -0
- package/.2w01io1er57qr1531918602~ +1 -0
- package/.2wclho9qme74x1915135050~ +18 -0
- package/.2wezwvtkd2lmr1644625228~ +1 -0
- package/.2wg6sd5gwvhnt871965459~ +1 -0
- package/.2wu4bj8km6mgi1637289598~ +42 -0
- package/.2ww0qqx1qrpye2349203581~ +898 -0
- package/.2x4jvr3abso9v3033863453~ +1 -0
- package/.2xsh2ufi2z5vs1183027099~ +5 -0
- package/.2ytxht5pxnch72470357200~ +6 -0
- package/.2z92ycdrz3a1o3062754157~ +190 -0
- package/.2zbhn8ub0tq0p3915616493~ +58 -0
- package/.2zeuhskh5he07529439039~ +21 -0
- package/.2zg62s3g166ju3067737050~ +1 -0
- package/.309epuyovrw253423629891~ +57 -0
- package/.30g99o6ofh99z193472967~ +5 -0
- package/.30hoynx8z3yrb2385169428~ +1 -0
- package/.30iexfq90oeis3767491456~ +30 -0
- package/.30jil41jj9hoa420757755~ +1 -0
- package/.30jyb5qvxxjpf1988048841~ +18 -0
- package/.313gbxymr9v193269183776~ +0 -0
- package/.320chegsq06tt3221565641~ +1 -0
- package/.32fpr8sv5zqrc1340207193~ +5 -0
- package/.32yltdqu5vfxe1759274202~ +5 -0
- package/.332pixy7fs61w65903022~ +36 -0
- package/.339m7bxfb94gu88802246~ +5 -0
- package/.33i4scm0qth52139373522~ +518 -0
- package/.33zx6sybvp67g1293988556~ +0 -0
- package/.34xt9kyk7xx6y1975279869~ +96 -0
- package/.353g9kuh4f61k3255636656~ +5 -0
- package/.35bax92xmisy83669870306~ +129 -0
- package/.35k28ipj1w8fg895818612~ +3 -0
- package/.35rd6dwekodfd1214052327~ +15 -0
- package/.36gpihsc7yrzi4198455788~ +58 -0
- package/.36p0b8vly84cn1225266395~ +0 -0
- package/.36pqazlgwdfwj3950316203~ +0 -0
- package/.36skp5440fh9l3178641287~ +143 -0
- package/.36xvgs5gnm2lk2934335117~ +0 -0
- package/.37gze5nbg89tn3648899686~ +106 -0
- package/.37kcv3gj8vfzo945988828~ +46 -0
- package/.38mlnmc19bgf4341919534~ +22 -0
- package/.38o6golibikz21230537896~ +1 -0
- package/.38p61lmzcu0rf107683206~ +175 -0
- package/.397tioksx01xw2456939194~ +5 -0
- package/.39a6vitc9jr943494957978~ +49 -0
- package/.39b9ewnm8v6pv1869092260~ +1 -0
- package/.39dko26ojf5rv46135612~ +3 -0
- package/.39lr4jbs5ml4a3497324322~ +21 -0
- package/.39rpfskonondp1562809914~ +0 -0
- package/.3adl2luw4cebg1845312515~ +26 -0
- package/.3ag1a9ogqbay72842186109~ +1 -0
- package/.3b1t8gg5syj283121715999~ +42 -0
- package/.3b6cmjwur0bbc2102891025~ +1 -0
- package/.3b6zz5zm0x2mb4112640944~ +0 -0
- package/.3c1lhp0wok0nk3598581795~ +168 -0
- package/.3cvhv0x6vazb4931313715~ +43 -0
- package/.3cxbpt3j9yhbr2883458382~ +16 -0
- package/.3d0ff5wli5ggt2036501705~ +55 -0
- package/.3djzslufow12w3031143355~ +0 -0
- package/.3dmrbn3bmunat857555010~ +29 -0
- package/.3dq25d8f9o5ao793394336~ +0 -0
- package/.3dypup0b9zksj3088223637~ +0 -0
- package/.3e93rxyoq9z01815047779~ +15 -0
- package/.3edb94ognl6as1640169920~ +1 -0
- package/.3eoh4dku6h7af409567786~ +0 -0
- package/.3f1lr5cyqsgrg2014144268~ +55 -0
- package/.3fffe0krdlsd32051661593~ +2 -0
- package/.3fidcv2b2y8gq3103560043~ +41 -0
- package/.3fsuen5xnevzz3796135550~ +54 -0
- package/.3fu60shivl4gn2031866129~ +1 -0
- package/.3fva0z6bvwteh1395049228~ +40 -0
- package/.3fxohqnz0e93l779243415~ +1 -0
- package/.3gwy9a6symur11725184847~ +45 -0
- package/.3h6y4wmal7glf3011994092~ +1 -0
- package/.3hj6byks40pos34084510~ +0 -0
- package/.3hjpqwkmnlpxd1505151696~ +5 -0
- package/.3hq147ve6bbjd563354974~ +79 -0
- package/.3hwl1qalklu9g3837493393~ +5 -0
- package/.3i6o14vs451s22755057300~ +0 -0
- package/.3i78sxmab0q7v1480495828~ +5 -0
- package/.3iqscrw4vueio1140833855~ +5 -0
- package/.3iwoh3fg13oo4824656621~ +113 -0
- package/.3jbtqgciwjrto3717938548~ +40 -0
- package/.3jgvptkad5z7h3586071166~ +5 -0
- package/.3jiki3myt6nj31583285087~ +1 -0
- package/.3jt5h2cal8v864261600338~ +0 -0
- package/.3jt5rx9wnd0ld234275893~ +1 -0
- package/.3k7udu1btobar1617030290~ +1 -0
- package/.3ka4d0j59x5z33151824935~ +5 -0
- package/.3kbe19nei1n9z506901208~ +1 -0
- package/.3kmcf9eh4vgyt413601944~ +5 -0
- package/.3knhbwbcv47kn1366578523~ +5 -0
- package/.3kqshr5nm5pje1185287852~ +5 -0
- package/.3l0xyjgq3jckz2440540082~ +58 -0
- package/.3l3gp25tb5udi4073829557~ +0 -0
- package/.3l4l5zcydbo8t1650090963~ +43 -0
- package/.3llf11a6y6v7e2937755977~ +2 -0
- package/.3lzp5lwxh550a3696103830~ +22 -0
- package/.3mz5wurutwxgr3682216161~ +44 -0
- package/.3n4r0jtu8thvm2598207744~ +20 -0
- package/.3nfcgvrc4huxg263624324~ +1 -0
- package/.3ns9bu1hk4m091745683722~ +43 -0
- package/.3nsk8idgknn8z3636783124~ +1 -0
- package/.3occvj5aqvouj2606275959~ +9798 -0
- package/.3ojqbfkmp06d3972387030~ +0 -0
- package/.3opq5vrvdz0qu2829190270~ +0 -0
- package/.3oqehsphn5fh92234214544~ +112 -0
- package/.3ospup0k4hsfe247229966~ +26 -0
- package/.3ozhgukt5qz7o495869311~ +10 -0
- package/.3pbek487atkgx3975156135~ +137 -0
- package/.3plwhze1kh93g2821462760~ +166 -0
- package/.3q2rikx4x4c463440283132~ +7 -0
- package/.3q7wsid1op2ps1946113274~ +1 -0
- package/.3rvgzymk01i3n3713837507~ +167 -0
- package/.3sqawoy2ro4us2631593937~ +66 -0
- package/.3sqr2lmh137im829274841~ +40 -0
- package/.3su4sqm1gjlwc1018589512~ +1 -0
- package/.3sutzc4hxafv23574462652~ +10 -0
- package/.3svrx7fmt0ack3179552017~ +62 -0
- package/.3szjns2q2qpsx2114251279~ +18 -0
- package/.3t20ml7op2uem1208226102~ +1 -0
- package/.3t9ndf9rh2xho2923082359~ +0 -0
- package/.3tdiig0kvsmll4012939608~ +0 -0
- package/.3tnmwg9uj8wsz320817598~ +1 -0
- package/.3udscu5iru0av1139192605~ +138 -0
- package/.3unntri6rcy0i1721696573~ +34 -0
- package/.3ur9m0xoi7jd61539943890~ +5 -0
- package/.3uzx817kp0sk84116207118~ +38 -0
- package/.3vic8umnlo3tv3016161514~ +1 -0
- package/.3vn73f2o0cf0r3971540318~ +41 -0
- package/.3vpmpp97jkr5w1188886173~ +25 -0
- package/.3vzdy769mqu063810593396~ +115 -0
- package/.3yqobuiq8u9x1554302470~ +1 -0
- package/.3ywedyp8mgpo3629876734~ +5 -0
- package/.43ixunofakod2495516571~ +54 -0
- package/.472ihf4mmidi1904079000~ +8 -0
- package/.4jv4d17vg0d53351776898~ +57 -0
- package/.551dn5jhnnju144752964~ +45 -0
- package/.57abo7wxbpcs1502411293~ +33 -0
- package/.5h57em0xx2uc2396663983~ +60 -0
- package/.5parwpklmz081686408756~ +1 -0
- package/.6ewx6767k46o2908216367~ +5 -0
- package/.6gg4j4nfif7x1033191544~ +5 -0
- package/.6oi4m19s4wm527068511~ +0 -0
- package/.6sx9ppwxr6gm4204660296~ +1 -0
- package/.7idfkwgr3gbp256398058~ +33 -0
- package/.88rgww4ma36n3533403168~ +62 -0
- package/.88vgwoll2j9s3515583568~ +5 -0
- package/.8ehx2yz3i9973551251302~ +0 -0
- package/.8vtbpi40j0rq1786300431~ +5 -0
- package/.941z40mxdu1b2889515977~ +2 -0
- package/.95el4cno26iw3987534559~ +7 -0
- package/.a5ujkq4n9cwk3094111830~ +0 -0
- package/.aabr25ngut7s944869094~ +7 -0
- package/.aovadh0o288e3149932842~ +44 -0
- package/.bb81q1foihe73573312315~ +1 -0
- package/.berfxqvefinu450206808~ +1 -0
- package/.bu8vygooqwcv820176316~ +18 -0
- package/.c0zruh0tpbq31622552571~ +12 -0
- package/.c4d0o2n2d76s3226734365~ +5 -0
- package/.cache/replit/nix/env.json +1 -0
- package/.cjcao8esnv1n3333504904~ +1 -0
- package/.cjp9d3d99pza641796410~ +0 -0
- package/.ckspfutgjv1z1024550144~ +124 -0
- package/.cm3l813oph6x1631579838~ +5 -0
- package/.cm6rmi6zuex12552202253~ +0 -0
- package/.config/configstore/update-notifier-npm.json +4 -0
- package/.cvv0i5eyu9861159801169~ +3 -0
- package/.cwxw18i2z5uo8070200~ +0 -0
- package/.d4p7zqjqagr93465124918~ +5 -0
- package/.d7gv1w49g1t5978702571~ +4 -0
- package/.da7937lbkyab2840770081~ +25 -0
- package/.dpm4jqakt5f23962068621~ +1 -0
- package/.e1jen1t286kt2094874529~ +45 -0
- package/.eeocd7cjzzbe3807606656~ +1 -0
- package/.ehbvd91iysif1745678093~ +205 -0
- package/.etktjsd8aa0k602384377~ +46 -0
- package/.fez0ldeaoqs82489136305~ +67 -0
- package/.fo1dvi38u9743896420676~ +50 -0
- package/.g5gxaq23coy03806728314~ +33 -0
- package/.ge3qskprhmvf887831962~ +1 -0
- package/.gjmg7mfepcjv1201709417~ +190 -0
- package/.godo8u6hmeh61555162256~ +1 -0
- package/.gssyikzgf9zw3674741004~ +1 -0
- package/.gxiawruyatt61454121973~ +16 -0
- package/.gz9bxoz2qx3273940574~ +5 -0
- package/.hacobw0a1cez2244818935~ +8 -0
- package/.hcg120mkjvwl1902622193~ +30 -0
- package/.hrj7swqv7u2f672210500~ +0 -0
- package/.ht0c44i3uu82190446773~ +2 -0
- package/.huned6wyo68m259851920~ +69 -0
- package/.hwzwznhe7b8m2588864820~ +1 -0
- package/.i0fc17g7sag4950598326~ +43 -0
- package/.icukae02z73c1256854950~ +3 -0
- package/.ide6mq198hfb4086599346~ +1 -0
- package/.injs115092cl1076900915~ +0 -0
- package/.jb2hc2neo3lh3292228122~ +1 -0
- package/.jpwpegk4epm91345563788~ +5 -0
- package/.juc08y51hcaw2534784803~ +65 -0
- package/.k3oovnl0l8n54100463127~ +23 -0
- package/.k41co211hr8333667245~ +33 -0
- package/.k5ezd3cc6fly3736128928~ +26 -0
- package/.kk5otxu1wdmm3738382659~ +5 -0
- package/.kmapz3w89p23765985971~ +5 -0
- package/.l67dk13uf7bz4241145366~ +1 -0
- package/.lgc8w27h31i066158222~ +31 -0
- package/.liguu6b84gpv111565250~ +77 -0
- package/.m4rlshnt7afg85435358~ +0 -0
- package/.m8afkftbrf6t1507877154~ +1 -0
- package/.mn24mjzqy2581742599686~ +1 -0
- package/.mpr4clsr6die3721927047~ +31 -0
- package/.mt3lbwul9gqx3961120840~ +128 -0
- package/.n7vn856mn8bo1690122400~ +39 -0
- package/.n87cpqrrww1k2068922549~ +1 -0
- package/.nkxq1ssvv9xy2709416196~ +5 -0
- package/.oh18zjvbcnln3882327119~ +1 -0
- package/.ohf6hza6agp7898893110~ +1 -0
- package/.oj1hgqjmqj2f2704649393~ +717 -0
- package/.onsdnq6jyu53240985077~ +23 -0
- package/.ow1zxfydp5qq3607654581~ +0 -0
- package/.oyuiyttcckbp2343293247~ +1 -0
- package/.p44l63l8ectc3361364369~ +1 -0
- package/.ph3mshsq682a2271606102~ +60 -0
- package/.pz25xe0l5fri1327842439~ +1 -0
- package/.ql4igy8wtg623099207478~ +8 -0
- package/.qpejebq7rnjm3421752185~ +1 -0
- package/.replit +6 -0
- package/.rplas0l9g8lp1805141666~ +1 -0
- package/.rxoawymlox6e44043914~ +92 -0
- package/.s9osotjya7jy2384519992~ +0 -0
- package/.sjh768z8khhb3519645975~ +35 -0
- package/.t8gen2wl41dp490640253~ +1 -0
- package/.tchlyvvlqto1959613069~ +1553 -0
- package/.tkvbm2tfuv2a815177943~ +35 -0
- package/.tqay45yz3v9f2970423582~ +1 -0
- package/.u6kja2g03g6e421942798~ +1 -0
- package/.vfqrldzsw3qb1703032508~ +131 -0
- package/.vmpch6h7luy03572133091~ +39 -0
- package/.vpzx2gjpfg163934792219~ +33 -0
- package/.vs4fb8zwm8502692774503~ +155 -0
- package/.vv7todb6fhic2818468436~ +1 -0
- package/.w6swvtt894da1090000254~ +1 -0
- package/.w9cs9i79day91114236209~ +0 -0
- package/.wa685b1scl5b4110564116~ +1 -0
- package/.wg446us1sab11025383459~ +0 -0
- package/.wk5wqycx2aq13181454918~ +489 -0
- package/.wqzuk9hgjng32571763176~ +0 -0
- package/.wtwcl2dud1aj1535416583~ +52 -0
- package/.wvyijisgbpfx2012597012~ +0 -0
- package/.xfr3b1wu9vzp2610754112~ +5 -0
- package/.xhcf613oksrg1591880987~ +0 -0
- package/.xqhk38v4zdsu2802007983~ +112 -0
- package/.y4tn7qkymq6t1811274166~ +109 -0
- package/.yahgzbbrpwls3177458907~ +31 -0
- package/.ynmnlx97mw6o234850451~ +39 -0
- package/.yq8ssg1l9dpk2338570127~ +0 -0
- package/.yzldn2r24c7v1098551596~ +0 -0
- package/.zczm44zyytsj1763543339~ +0 -0
- package/.zpifsvg0gj7d821207284~ +5 -0
- package/package.json +9 -3
- package/replit.nix +7 -0
- package/zyx/.gitattributes +2 -0
- package/zyx/Extra/ExtraAddons.js +78 -0
- package/zyx/Extra/ExtraFindUID.js +60 -0
- package/zyx/Extra/ExtraGetThread.js +118 -0
- package/zyx/Extra/ExtraTranslate.js +62 -0
- package/zyx/Extra/ExtraUptimeRobot.js +59 -0
- package/zyx/Extra/Html/Classic/script.js +231 -0
- package/zyx/Extra/Html/Classic/style.css +8 -0
- package/zyx/Extra/PM2/ecosystem.config.js +23 -0
- package/zyx/Extra/Security/Index.js +174 -0
- package/zyx/Extra/Security/Step_1.js +15 -0
- package/zyx/Extra/Security/Step_2.js +23 -0
- package/zyx/Extra/Security/Step_3.js +23 -0
- package/zyx/Extra/Src/History.js +115 -0
- package/zyx/Extra/Src/Last-Run.js +65 -0
- package/zyx/Extra/Src/Premium.js +84 -0
- package/zyx/Extra/Src/SecurityCheck.js +2 -0
- package/zyx/Func/AcceptAgreement.js +32 -0
- package/zyx/Func/ClearCache.js +63 -0
- package/zyx/Func/ReportV1.js +54 -0
- package/zyx/Language/index.json +176 -0
- package/zyx/OldSecurity.js +100 -0
- package/zyx/README.md +129 -0
- package/zyx/Settings/Database.js +21 -0
- package/zyx/Settings/Location.js +60 -0
- package/zyx/Settings/Location.json +24 -0
- package/zyx/Settings/Settings.js +60 -0
- package/zyx/StateCrypt.js +98 -0
- package/zyx/broadcast.js +38 -0
- package/zyx/index.js +1327 -0
- package/zyx/logger.js +65 -0
- package/zyx/package.json +87 -0
- package/zyx/src/K2IMG.js +8 -0
- package/zyx/src/Premium.js +30 -0
- package/zyx/src/Screenshot.js +77 -0
- package/zyx/src/T2S.js +8 -0
- package/zyx/src/addExternalModule.js +16 -0
- package/zyx/src/addUserToGroup.js +79 -0
- package/zyx/src/changeAdminStatus.js +79 -0
- package/zyx/src/changeArchivedStatus.js +41 -0
- package/zyx/src/changeAvt.js +85 -0
- package/zyx/src/changeBio.js +65 -0
- package/zyx/src/changeBlockedStatus.js +36 -0
- package/zyx/src/changeGroupImage.js +106 -0
- package/zyx/src/changeNickname.js +45 -0
- package/zyx/src/changeThreadColor.js +62 -0
- package/zyx/src/changeThreadEmoji.js +42 -0
- package/zyx/src/createNewGroup.js +70 -0
- package/zyx/src/createPoll.js +60 -0
- package/zyx/src/deleteMessage.js +45 -0
- package/zyx/src/deleteThread.js +43 -0
- package/zyx/src/desktop.ini +2 -0
- package/zyx/src/forwardAttachment.js +48 -0
- package/zyx/src/getAccessToken.js +32 -0
- package/zyx/src/getCurrentUserID.js +7 -0
- package/zyx/src/getEmojiUrl.js +27 -0
- package/zyx/src/getFriendsList.js +73 -0
- package/zyx/src/getMessage.js +80 -0
- package/zyx/src/getThreadHistory.js +537 -0
- package/zyx/src/getThreadInfo.js +346 -0
- package/zyx/src/getThreadList.js +213 -0
- package/zyx/src/getThreadMain.js +219 -0
- package/zyx/src/getThreadPictures.js +59 -0
- package/zyx/src/getUID.js +59 -0
- package/zyx/src/getUserID.js +62 -0
- package/zyx/src/getUserInfo.js +129 -0
- package/zyx/src/getUserInfoMain.js +65 -0
- package/zyx/src/getUserInfoV2.js +35 -0
- package/zyx/src/getUserInfoV3.js +63 -0
- package/zyx/src/getUserInfoV4.js +55 -0
- package/zyx/src/getUserInfoV5.js +61 -0
- package/zyx/src/handleFriendRequest.js +46 -0
- package/zyx/src/handleMessageRequest.js +49 -0
- package/zyx/src/httpGet.js +49 -0
- package/zyx/src/httpPost.js +48 -0
- package/zyx/src/httpPostFormData.js +41 -0
- package/zyx/src/listenMqtt.js +725 -0
- package/zyx/src/logout.js +68 -0
- package/zyx/src/markAsDelivered.js +48 -0
- package/zyx/src/markAsRead.js +70 -0
- package/zyx/src/markAsReadAll.js +43 -0
- package/zyx/src/markAsSeen.js +51 -0
- package/zyx/src/muteThread.js +47 -0
- package/zyx/src/removeUserFromGroup.js +49 -0
- package/zyx/src/resolvePhotoUrl.js +37 -0
- package/zyx/src/searchForThread.js +43 -0
- package/zyx/src/sendMessage.js +334 -0
- package/zyx/src/sendTypingIndicator.js +80 -0
- package/zyx/src/setMessageReaction.js +109 -0
- package/zyx/src/setPostReaction.js +102 -0
- package/zyx/src/setTitle.js +74 -0
- package/zyx/src/threadColors.js +39 -0
- package/zyx/src/unfriend.js +43 -0
- package/zyx/src/unsendMessage.js +40 -0
- package/zyx/utils.js +1648 -0
- package/README.md +0 -5
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
var crypto = require('crypto')
|
|
4
|
+
|
|
5
|
+
function randomString (size) {
|
|
6
|
+
var bits = (size + 1) * 6
|
|
7
|
+
var buffer = crypto.randomBytes(Math.ceil(bits / 8))
|
|
8
|
+
var string = buffer.toString('base64').replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '')
|
|
9
|
+
return string.slice(0, size)
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function calculatePayloadHash (payload, algorithm, contentType) {
|
|
13
|
+
var hash = crypto.createHash(algorithm)
|
|
14
|
+
hash.update('hawk.1.payload\n')
|
|
15
|
+
hash.update((contentType ? contentType.split(';')[0].trim().toLowerCase() : '') + '\n')
|
|
16
|
+
hash.update(payload || '')
|
|
17
|
+
hash.update('\n')
|
|
18
|
+
return hash.digest('base64')
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
exports.calculateMac = function (credentials, opts) {
|
|
22
|
+
var normalized = 'hawk.1.header\n' +
|
|
23
|
+
opts.ts + '\n' +
|
|
24
|
+
opts.nonce + '\n' +
|
|
25
|
+
(opts.method || '').toUpperCase() + '\n' +
|
|
26
|
+
opts.resource + '\n' +
|
|
27
|
+
opts.host.toLowerCase() + '\n' +
|
|
28
|
+
opts.port + '\n' +
|
|
29
|
+
(opts.hash || '') + '\n'
|
|
30
|
+
|
|
31
|
+
if (opts.ext) {
|
|
32
|
+
normalized = normalized + opts.ext.replace('\\', '\\\\').replace('\n', '\\n')
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
normalized = normalized + '\n'
|
|
36
|
+
|
|
37
|
+
if (opts.app) {
|
|
38
|
+
normalized = normalized + opts.app + '\n' + (opts.dlg || '') + '\n'
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
var hmac = crypto.createHmac(credentials.algorithm, credentials.key).update(normalized)
|
|
42
|
+
var digest = hmac.digest('base64')
|
|
43
|
+
return digest
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
exports.header = function (uri, method, opts) {
|
|
47
|
+
var timestamp = opts.timestamp || Math.floor((Date.now() + (opts.localtimeOffsetMsec || 0)) / 1000)
|
|
48
|
+
var credentials = opts.credentials
|
|
49
|
+
if (!credentials || !credentials.id || !credentials.key || !credentials.algorithm) {
|
|
50
|
+
return ''
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (['sha1', 'sha256'].indexOf(credentials.algorithm) === -1) {
|
|
54
|
+
return ''
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
var artifacts = {
|
|
58
|
+
ts: timestamp,
|
|
59
|
+
nonce: opts.nonce || randomString(6),
|
|
60
|
+
method: method,
|
|
61
|
+
resource: uri.pathname + (uri.search || ''),
|
|
62
|
+
host: uri.hostname,
|
|
63
|
+
port: uri.port || (uri.protocol === 'http:' ? 80 : 443),
|
|
64
|
+
hash: opts.hash,
|
|
65
|
+
ext: opts.ext,
|
|
66
|
+
app: opts.app,
|
|
67
|
+
dlg: opts.dlg
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (!artifacts.hash && (opts.payload || opts.payload === '')) {
|
|
71
|
+
artifacts.hash = calculatePayloadHash(opts.payload, credentials.algorithm, opts.contentType)
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
var mac = exports.calculateMac(credentials, artifacts)
|
|
75
|
+
|
|
76
|
+
var hasExt = artifacts.ext !== null && artifacts.ext !== undefined && artifacts.ext !== ''
|
|
77
|
+
var header = 'Hawk id="' + credentials.id +
|
|
78
|
+
'", ts="' + artifacts.ts +
|
|
79
|
+
'", nonce="' + artifacts.nonce +
|
|
80
|
+
(artifacts.hash ? '", hash="' + artifacts.hash : '') +
|
|
81
|
+
(hasExt ? '", ext="' + artifacts.ext.replace(/\\/g, '\\\\').replace(/"/g, '\\"') : '') +
|
|
82
|
+
'", mac="' + mac + '"'
|
|
83
|
+
|
|
84
|
+
if (artifacts.app) {
|
|
85
|
+
header = header + ', app="' + artifacts.app + (artifacts.dlg ? '", dlg="' + artifacts.dlg : '') + '"'
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return header
|
|
89
|
+
}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
var isObject = require('./isObject'),
|
|
2
|
+
now = require('./now'),
|
|
3
|
+
toNumber = require('./toNumber');
|
|
4
|
+
|
|
5
|
+
/** Error message constants. */
|
|
6
|
+
var FUNC_ERROR_TEXT = 'Expected a function';
|
|
7
|
+
|
|
8
|
+
/* Built-in method references for those with the same name as other `lodash` methods. */
|
|
9
|
+
var nativeMax = Math.max,
|
|
10
|
+
nativeMin = Math.min;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Creates a debounced function that delays invoking `func` until after `wait`
|
|
14
|
+
* milliseconds have elapsed since the last time the debounced function was
|
|
15
|
+
* invoked. The debounced function comes with a `cancel` method to cancel
|
|
16
|
+
* delayed `func` invocations and a `flush` method to immediately invoke them.
|
|
17
|
+
* Provide `options` to indicate whether `func` should be invoked on the
|
|
18
|
+
* leading and/or trailing edge of the `wait` timeout. The `func` is invoked
|
|
19
|
+
* with the last arguments provided to the debounced function. Subsequent
|
|
20
|
+
* calls to the debounced function return the result of the last `func`
|
|
21
|
+
* invocation.
|
|
22
|
+
*
|
|
23
|
+
* **Note:** If `leading` and `trailing` options are `true`, `func` is
|
|
24
|
+
* invoked on the trailing edge of the timeout only if the debounced function
|
|
25
|
+
* is invoked more than once during the `wait` timeout.
|
|
26
|
+
*
|
|
27
|
+
* If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
|
|
28
|
+
* until to the next tick, similar to `setTimeout` with a timeout of `0`.
|
|
29
|
+
*
|
|
30
|
+
* See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
|
|
31
|
+
* for details over the differences between `_.debounce` and `_.throttle`.
|
|
32
|
+
*
|
|
33
|
+
* @static
|
|
34
|
+
* @memberOf _
|
|
35
|
+
* @since 0.1.0
|
|
36
|
+
* @category Function
|
|
37
|
+
* @param {Function} func The function to debounce.
|
|
38
|
+
* @param {number} [wait=0] The number of milliseconds to delay.
|
|
39
|
+
* @param {Object} [options={}] The options object.
|
|
40
|
+
* @param {boolean} [options.leading=false]
|
|
41
|
+
* Specify invoking on the leading edge of the timeout.
|
|
42
|
+
* @param {number} [options.maxWait]
|
|
43
|
+
* The maximum time `func` is allowed to be delayed before it's invoked.
|
|
44
|
+
* @param {boolean} [options.trailing=true]
|
|
45
|
+
* Specify invoking on the trailing edge of the timeout.
|
|
46
|
+
* @returns {Function} Returns the new debounced function.
|
|
47
|
+
* @example
|
|
48
|
+
*
|
|
49
|
+
* // Avoid costly calculations while the window size is in flux.
|
|
50
|
+
* jQuery(window).on('resize', _.debounce(calculateLayout, 150));
|
|
51
|
+
*
|
|
52
|
+
* // Invoke `sendMail` when clicked, debouncing subsequent calls.
|
|
53
|
+
* jQuery(element).on('click', _.debounce(sendMail, 300, {
|
|
54
|
+
* 'leading': true,
|
|
55
|
+
* 'trailing': false
|
|
56
|
+
* }));
|
|
57
|
+
*
|
|
58
|
+
* // Ensure `batchLog` is invoked once after 1 second of debounced calls.
|
|
59
|
+
* var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
|
|
60
|
+
* var source = new EventSource('/stream');
|
|
61
|
+
* jQuery(source).on('message', debounced);
|
|
62
|
+
*
|
|
63
|
+
* // Cancel the trailing debounced invocation.
|
|
64
|
+
* jQuery(window).on('popstate', debounced.cancel);
|
|
65
|
+
*/
|
|
66
|
+
function debounce(func, wait, options) {
|
|
67
|
+
var lastArgs,
|
|
68
|
+
lastThis,
|
|
69
|
+
maxWait,
|
|
70
|
+
result,
|
|
71
|
+
timerId,
|
|
72
|
+
lastCallTime,
|
|
73
|
+
lastInvokeTime = 0,
|
|
74
|
+
leading = false,
|
|
75
|
+
maxing = false,
|
|
76
|
+
trailing = true;
|
|
77
|
+
|
|
78
|
+
if (typeof func != 'function') {
|
|
79
|
+
throw new TypeError(FUNC_ERROR_TEXT);
|
|
80
|
+
}
|
|
81
|
+
wait = toNumber(wait) || 0;
|
|
82
|
+
if (isObject(options)) {
|
|
83
|
+
leading = !!options.leading;
|
|
84
|
+
maxing = 'maxWait' in options;
|
|
85
|
+
maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
|
|
86
|
+
trailing = 'trailing' in options ? !!options.trailing : trailing;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function invokeFunc(time) {
|
|
90
|
+
var args = lastArgs,
|
|
91
|
+
thisArg = lastThis;
|
|
92
|
+
|
|
93
|
+
lastArgs = lastThis = undefined;
|
|
94
|
+
lastInvokeTime = time;
|
|
95
|
+
result = func.apply(thisArg, args);
|
|
96
|
+
return result;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
function leadingEdge(time) {
|
|
100
|
+
// Reset any `maxWait` timer.
|
|
101
|
+
lastInvokeTime = time;
|
|
102
|
+
// Start the timer for the trailing edge.
|
|
103
|
+
timerId = setTimeout(timerExpired, wait);
|
|
104
|
+
// Invoke the leading edge.
|
|
105
|
+
return leading ? invokeFunc(time) : result;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
function remainingWait(time) {
|
|
109
|
+
var timeSinceLastCall = time - lastCallTime,
|
|
110
|
+
timeSinceLastInvoke = time - lastInvokeTime,
|
|
111
|
+
timeWaiting = wait - timeSinceLastCall;
|
|
112
|
+
|
|
113
|
+
return maxing
|
|
114
|
+
? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)
|
|
115
|
+
: timeWaiting;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
function shouldInvoke(time) {
|
|
119
|
+
var timeSinceLastCall = time - lastCallTime,
|
|
120
|
+
timeSinceLastInvoke = time - lastInvokeTime;
|
|
121
|
+
|
|
122
|
+
// Either this is the first call, activity has stopped and we're at the
|
|
123
|
+
// trailing edge, the system time has gone backwards and we're treating
|
|
124
|
+
// it as the trailing edge, or we've hit the `maxWait` limit.
|
|
125
|
+
return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||
|
|
126
|
+
(timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
function timerExpired() {
|
|
130
|
+
var time = now();
|
|
131
|
+
if (shouldInvoke(time)) {
|
|
132
|
+
return trailingEdge(time);
|
|
133
|
+
}
|
|
134
|
+
// Restart the timer.
|
|
135
|
+
timerId = setTimeout(timerExpired, remainingWait(time));
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
function trailingEdge(time) {
|
|
139
|
+
timerId = undefined;
|
|
140
|
+
|
|
141
|
+
// Only invoke if we have `lastArgs` which means `func` has been
|
|
142
|
+
// debounced at least once.
|
|
143
|
+
if (trailing && lastArgs) {
|
|
144
|
+
return invokeFunc(time);
|
|
145
|
+
}
|
|
146
|
+
lastArgs = lastThis = undefined;
|
|
147
|
+
return result;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
function cancel() {
|
|
151
|
+
if (timerId !== undefined) {
|
|
152
|
+
clearTimeout(timerId);
|
|
153
|
+
}
|
|
154
|
+
lastInvokeTime = 0;
|
|
155
|
+
lastArgs = lastCallTime = lastThis = timerId = undefined;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
function flush() {
|
|
159
|
+
return timerId === undefined ? result : trailingEdge(now());
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
function debounced() {
|
|
163
|
+
var time = now(),
|
|
164
|
+
isInvoking = shouldInvoke(time);
|
|
165
|
+
|
|
166
|
+
lastArgs = arguments;
|
|
167
|
+
lastThis = this;
|
|
168
|
+
lastCallTime = time;
|
|
169
|
+
|
|
170
|
+
if (isInvoking) {
|
|
171
|
+
if (timerId === undefined) {
|
|
172
|
+
return leadingEdge(lastCallTime);
|
|
173
|
+
}
|
|
174
|
+
if (maxing) {
|
|
175
|
+
// Handle invocations in a tight loop.
|
|
176
|
+
clearTimeout(timerId);
|
|
177
|
+
timerId = setTimeout(timerExpired, wait);
|
|
178
|
+
return invokeFunc(lastCallTime);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
if (timerId === undefined) {
|
|
182
|
+
timerId = setTimeout(timerExpired, wait);
|
|
183
|
+
}
|
|
184
|
+
return result;
|
|
185
|
+
}
|
|
186
|
+
debounced.cancel = cancel;
|
|
187
|
+
debounced.flush = flush;
|
|
188
|
+
return debounced;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
module.exports = debounce;
|
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
var Progress = require('are-we-there-yet')
|
|
3
|
+
var Gauge = require('gauge')
|
|
4
|
+
var EE = require('events').EventEmitter
|
|
5
|
+
var log = exports = module.exports = new EE()
|
|
6
|
+
var util = require('util')
|
|
7
|
+
|
|
8
|
+
var setBlocking = require('set-blocking')
|
|
9
|
+
var consoleControl = require('console-control-strings')
|
|
10
|
+
|
|
11
|
+
setBlocking(true)
|
|
12
|
+
var stream = process.stderr
|
|
13
|
+
Object.defineProperty(log, 'stream', {
|
|
14
|
+
set: function (newStream) {
|
|
15
|
+
stream = newStream
|
|
16
|
+
if (this.gauge) {
|
|
17
|
+
this.gauge.setWriteTo(stream, stream)
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
get: function () {
|
|
21
|
+
return stream
|
|
22
|
+
},
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
// by default, decide based on tty-ness.
|
|
26
|
+
var colorEnabled
|
|
27
|
+
log.useColor = function () {
|
|
28
|
+
return colorEnabled != null ? colorEnabled : stream.isTTY
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
log.enableColor = function () {
|
|
32
|
+
colorEnabled = true
|
|
33
|
+
this.gauge.setTheme({ hasColor: colorEnabled, hasUnicode: unicodeEnabled })
|
|
34
|
+
}
|
|
35
|
+
log.disableColor = function () {
|
|
36
|
+
colorEnabled = false
|
|
37
|
+
this.gauge.setTheme({ hasColor: colorEnabled, hasUnicode: unicodeEnabled })
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// default level
|
|
41
|
+
log.level = 'info'
|
|
42
|
+
|
|
43
|
+
log.gauge = new Gauge(stream, {
|
|
44
|
+
enabled: false, // no progress bars unless asked
|
|
45
|
+
theme: { hasColor: log.useColor() },
|
|
46
|
+
template: [
|
|
47
|
+
{ type: 'progressbar', length: 20 },
|
|
48
|
+
{ type: 'activityIndicator', kerning: 1, length: 1 },
|
|
49
|
+
{ type: 'section', default: '' },
|
|
50
|
+
':',
|
|
51
|
+
{ type: 'logline', kerning: 1, default: '' },
|
|
52
|
+
],
|
|
53
|
+
})
|
|
54
|
+
|
|
55
|
+
log.tracker = new Progress.TrackerGroup()
|
|
56
|
+
|
|
57
|
+
// we track this separately as we may need to temporarily disable the
|
|
58
|
+
// display of the status bar for our own loggy purposes.
|
|
59
|
+
log.progressEnabled = log.gauge.isEnabled()
|
|
60
|
+
|
|
61
|
+
var unicodeEnabled
|
|
62
|
+
|
|
63
|
+
log.enableUnicode = function () {
|
|
64
|
+
unicodeEnabled = true
|
|
65
|
+
this.gauge.setTheme({ hasColor: this.useColor(), hasUnicode: unicodeEnabled })
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
log.disableUnicode = function () {
|
|
69
|
+
unicodeEnabled = false
|
|
70
|
+
this.gauge.setTheme({ hasColor: this.useColor(), hasUnicode: unicodeEnabled })
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
log.setGaugeThemeset = function (themes) {
|
|
74
|
+
this.gauge.setThemeset(themes)
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
log.setGaugeTemplate = function (template) {
|
|
78
|
+
this.gauge.setTemplate(template)
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
log.enableProgress = function () {
|
|
82
|
+
if (this.progressEnabled || this._paused) {
|
|
83
|
+
return
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
this.progressEnabled = true
|
|
87
|
+
this.tracker.on('change', this.showProgress)
|
|
88
|
+
this.gauge.enable()
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
log.disableProgress = function () {
|
|
92
|
+
if (!this.progressEnabled) {
|
|
93
|
+
return
|
|
94
|
+
}
|
|
95
|
+
this.progressEnabled = false
|
|
96
|
+
this.tracker.removeListener('change', this.showProgress)
|
|
97
|
+
this.gauge.disable()
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
var trackerConstructors = ['newGroup', 'newItem', 'newStream']
|
|
101
|
+
|
|
102
|
+
var mixinLog = function (tracker) {
|
|
103
|
+
// mixin the public methods from log into the tracker
|
|
104
|
+
// (except: conflicts and one's we handle specially)
|
|
105
|
+
Object.keys(log).forEach(function (P) {
|
|
106
|
+
if (P[0] === '_') {
|
|
107
|
+
return
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
if (trackerConstructors.filter(function (C) {
|
|
111
|
+
return C === P
|
|
112
|
+
}).length) {
|
|
113
|
+
return
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
if (tracker[P]) {
|
|
117
|
+
return
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (typeof log[P] !== 'function') {
|
|
121
|
+
return
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
var func = log[P]
|
|
125
|
+
tracker[P] = function () {
|
|
126
|
+
return func.apply(log, arguments)
|
|
127
|
+
}
|
|
128
|
+
})
|
|
129
|
+
// if the new tracker is a group, make sure any subtrackers get
|
|
130
|
+
// mixed in too
|
|
131
|
+
if (tracker instanceof Progress.TrackerGroup) {
|
|
132
|
+
trackerConstructors.forEach(function (C) {
|
|
133
|
+
var func = tracker[C]
|
|
134
|
+
tracker[C] = function () {
|
|
135
|
+
return mixinLog(func.apply(tracker, arguments))
|
|
136
|
+
}
|
|
137
|
+
})
|
|
138
|
+
}
|
|
139
|
+
return tracker
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// Add tracker constructors to the top level log object
|
|
143
|
+
trackerConstructors.forEach(function (C) {
|
|
144
|
+
log[C] = function () {
|
|
145
|
+
return mixinLog(this.tracker[C].apply(this.tracker, arguments))
|
|
146
|
+
}
|
|
147
|
+
})
|
|
148
|
+
|
|
149
|
+
log.clearProgress = function (cb) {
|
|
150
|
+
if (!this.progressEnabled) {
|
|
151
|
+
return cb && process.nextTick(cb)
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
this.gauge.hide(cb)
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
log.showProgress = function (name, completed) {
|
|
158
|
+
if (!this.progressEnabled) {
|
|
159
|
+
return
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
var values = {}
|
|
163
|
+
if (name) {
|
|
164
|
+
values.section = name
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
var last = log.record[log.record.length - 1]
|
|
168
|
+
if (last) {
|
|
169
|
+
values.subsection = last.prefix
|
|
170
|
+
var disp = log.disp[last.level] || last.level
|
|
171
|
+
var logline = this._format(disp, log.style[last.level])
|
|
172
|
+
if (last.prefix) {
|
|
173
|
+
logline += ' ' + this._format(last.prefix, this.prefixStyle)
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
logline += ' ' + last.message.split(/\r?\n/)[0]
|
|
177
|
+
values.logline = logline
|
|
178
|
+
}
|
|
179
|
+
values.completed = completed || this.tracker.completed()
|
|
180
|
+
this.gauge.show(values)
|
|
181
|
+
}.bind(log) // bind for use in tracker's on-change listener
|
|
182
|
+
|
|
183
|
+
// temporarily stop emitting, but don't drop
|
|
184
|
+
log.pause = function () {
|
|
185
|
+
this._paused = true
|
|
186
|
+
if (this.progressEnabled) {
|
|
187
|
+
this.gauge.disable()
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
log.resume = function () {
|
|
192
|
+
if (!this._paused) {
|
|
193
|
+
return
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
this._paused = false
|
|
197
|
+
|
|
198
|
+
var b = this._buffer
|
|
199
|
+
this._buffer = []
|
|
200
|
+
b.forEach(function (m) {
|
|
201
|
+
this.emitLog(m)
|
|
202
|
+
}, this)
|
|
203
|
+
if (this.progressEnabled) {
|
|
204
|
+
this.gauge.enable()
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
log._buffer = []
|
|
209
|
+
|
|
210
|
+
var id = 0
|
|
211
|
+
log.record = []
|
|
212
|
+
log.maxRecordSize = 10000
|
|
213
|
+
log.log = function (lvl, prefix, message) {
|
|
214
|
+
var l = this.levels[lvl]
|
|
215
|
+
if (l === undefined) {
|
|
216
|
+
return this.emit('error', new Error(util.format(
|
|
217
|
+
'Undefined log level: %j', lvl)))
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
var a = new Array(arguments.length - 2)
|
|
221
|
+
var stack = null
|
|
222
|
+
for (var i = 2; i < arguments.length; i++) {
|
|
223
|
+
var arg = a[i - 2] = arguments[i]
|
|
224
|
+
|
|
225
|
+
// resolve stack traces to a plain string.
|
|
226
|
+
if (typeof arg === 'object' && arg instanceof Error && arg.stack) {
|
|
227
|
+
Object.defineProperty(arg, 'stack', {
|
|
228
|
+
value: stack = arg.stack + '',
|
|
229
|
+
enumerable: true,
|
|
230
|
+
writable: true,
|
|
231
|
+
})
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
if (stack) {
|
|
235
|
+
a.unshift(stack + '\n')
|
|
236
|
+
}
|
|
237
|
+
message = util.format.apply(util, a)
|
|
238
|
+
|
|
239
|
+
var m = {
|
|
240
|
+
id: id++,
|
|
241
|
+
level: lvl,
|
|
242
|
+
prefix: String(prefix || ''),
|
|
243
|
+
message: message,
|
|
244
|
+
messageRaw: a,
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
this.emit('log', m)
|
|
248
|
+
this.emit('log.' + lvl, m)
|
|
249
|
+
if (m.prefix) {
|
|
250
|
+
this.emit(m.prefix, m)
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
this.record.push(m)
|
|
254
|
+
var mrs = this.maxRecordSize
|
|
255
|
+
var n = this.record.length - mrs
|
|
256
|
+
if (n > mrs / 10) {
|
|
257
|
+
var newSize = Math.floor(mrs * 0.9)
|
|
258
|
+
this.record = this.record.slice(-1 * newSize)
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
this.emitLog(m)
|
|
262
|
+
}.bind(log)
|
|
263
|
+
|
|
264
|
+
log.emitLog = function (m) {
|
|
265
|
+
if (this._paused) {
|
|
266
|
+
this._buffer.push(m)
|
|
267
|
+
return
|
|
268
|
+
}
|
|
269
|
+
if (this.progressEnabled) {
|
|
270
|
+
this.gauge.pulse(m.prefix)
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
var l = this.levels[m.level]
|
|
274
|
+
if (l === undefined) {
|
|
275
|
+
return
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
if (l < this.levels[this.level]) {
|
|
279
|
+
return
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
if (l > 0 && !isFinite(l)) {
|
|
283
|
+
return
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
// If 'disp' is null or undefined, use the lvl as a default
|
|
287
|
+
// Allows: '', 0 as valid disp
|
|
288
|
+
var disp = log.disp[m.level] != null ? log.disp[m.level] : m.level
|
|
289
|
+
this.clearProgress()
|
|
290
|
+
m.message.split(/\r?\n/).forEach(function (line) {
|
|
291
|
+
var heading = this.heading
|
|
292
|
+
if (heading) {
|
|
293
|
+
this.write(heading, this.headingStyle)
|
|
294
|
+
this.write(' ')
|
|
295
|
+
}
|
|
296
|
+
this.write(disp, log.style[m.level])
|
|
297
|
+
var p = m.prefix || ''
|
|
298
|
+
if (p) {
|
|
299
|
+
this.write(' ')
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
this.write(p, this.prefixStyle)
|
|
303
|
+
this.write(' ' + line + '\n')
|
|
304
|
+
}, this)
|
|
305
|
+
this.showProgress()
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
log._format = function (msg, style) {
|
|
309
|
+
if (!stream) {
|
|
310
|
+
return
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
var output = ''
|
|
314
|
+
if (this.useColor()) {
|
|
315
|
+
style = style || {}
|
|
316
|
+
var settings = []
|
|
317
|
+
if (style.fg) {
|
|
318
|
+
settings.push(style.fg)
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
if (style.bg) {
|
|
322
|
+
settings.push('bg' + style.bg[0].toUpperCase() + style.bg.slice(1))
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
if (style.bold) {
|
|
326
|
+
settings.push('bold')
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
if (style.underline) {
|
|
330
|
+
settings.push('underline')
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
if (style.inverse) {
|
|
334
|
+
settings.push('inverse')
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
if (settings.length) {
|
|
338
|
+
output += consoleControl.color(settings)
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
if (style.beep) {
|
|
342
|
+
output += consoleControl.beep()
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
output += msg
|
|
346
|
+
if (this.useColor()) {
|
|
347
|
+
output += consoleControl.color('reset')
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
return output
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
log.write = function (msg, style) {
|
|
354
|
+
if (!stream) {
|
|
355
|
+
return
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
stream.write(this._format(msg, style))
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
log.addLevel = function (lvl, n, style, disp) {
|
|
362
|
+
// If 'disp' is null or undefined, use the lvl as a default
|
|
363
|
+
if (disp == null) {
|
|
364
|
+
disp = lvl
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
this.levels[lvl] = n
|
|
368
|
+
this.style[lvl] = style
|
|
369
|
+
if (!this[lvl]) {
|
|
370
|
+
this[lvl] = function () {
|
|
371
|
+
var a = new Array(arguments.length + 1)
|
|
372
|
+
a[0] = lvl
|
|
373
|
+
for (var i = 0; i < arguments.length; i++) {
|
|
374
|
+
a[i + 1] = arguments[i]
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
return this.log.apply(this, a)
|
|
378
|
+
}.bind(this)
|
|
379
|
+
}
|
|
380
|
+
this.disp[lvl] = disp
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
log.prefixStyle = { fg: 'magenta' }
|
|
384
|
+
log.headingStyle = { fg: 'white', bg: 'black' }
|
|
385
|
+
|
|
386
|
+
log.style = {}
|
|
387
|
+
log.levels = {}
|
|
388
|
+
log.disp = {}
|
|
389
|
+
log.addLevel('silly', -Infinity, { inverse: true }, 'sill')
|
|
390
|
+
log.addLevel('verbose', 1000, { fg: 'cyan', bg: 'black' }, 'verb')
|
|
391
|
+
log.addLevel('info', 2000, { fg: 'green' })
|
|
392
|
+
log.addLevel('timing', 2500, { fg: 'green', bg: 'black' })
|
|
393
|
+
log.addLevel('http', 3000, { fg: 'green', bg: 'black' })
|
|
394
|
+
log.addLevel('notice', 3500, { fg: 'cyan', bg: 'black' })
|
|
395
|
+
log.addLevel('warn', 4000, { fg: 'black', bg: 'yellow' }, 'WARN')
|
|
396
|
+
log.addLevel('error', 5000, { fg: 'red', bg: 'black' }, 'ERR!')
|
|
397
|
+
log.addLevel('silent', Infinity)
|
|
398
|
+
|
|
399
|
+
// allow 'error' prefix
|
|
400
|
+
log.on('error', function () {})
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# EditorConfig is awesome: http://EditorConfig.org
|
|
2
|
+
|
|
3
|
+
# top-most EditorConfig file
|
|
4
|
+
root = true
|
|
5
|
+
|
|
6
|
+
# Unix-style newlines with a newline ending every file
|
|
7
|
+
[*]
|
|
8
|
+
end_of_line = lf
|
|
9
|
+
insert_final_newline = true
|
|
10
|
+
|
|
11
|
+
# tab indentation
|
|
12
|
+
[**.*]
|
|
13
|
+
indent_style = tab
|
|
14
|
+
|
|
15
|
+
# 2 space indentation
|
|
16
|
+
[{package.json,.travis.yml}]
|
|
17
|
+
indent_style = space
|
|
18
|
+
indent_size = 2
|