From b7b4009eb0c4140cfc57d4abc6d4647fa5d68ae4 Mon Sep 17 00:00:00 2001 From: Jakub Jankiewicz Date: Fri, 22 Mar 2024 13:41:49 +0100 Subject: [PATCH] move string folding code to JavaScript Prepare for the #!fold-case directive --- README.md | 2 +- dist/lips.cjs | 558 ++++++++++++++++++++++++++++++++++++++++++- dist/lips.esm.js | 558 ++++++++++++++++++++++++++++++++++++++++++- dist/lips.esm.min.js | 6 +- dist/lips.js | 558 ++++++++++++++++++++++++++++++++++++++++++- dist/lips.min.js | 6 +- dist/std.min.scm | 5 +- dist/std.scm | 380 +---------------------------- dist/std.xcb | Bin 114488 -> 103494 bytes lib/R7RS.scm | 380 +---------------------------- scripts/fold.scm | 6 +- src/lips.js | 381 +++++++++++++++++++++++++++++ 12 files changed, 2061 insertions(+), 779 deletions(-) diff --git a/README.md b/README.md index 20a0685d3..22e8645c8 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ [![npm](https://img.shields.io/badge/npm-1.0.0%E2%80%93beta.18.1-blue.svg)](https://www.npmjs.com/package/@jcubic/lips) ![1.0.0 Complete](https://img.shields.io/github/milestones/progress-percent/jcubic/lips/1?label=1.0.0%20Complete) [![Build and test](https://github.com/jcubic/lips/actions/workflows/build.yaml/badge.svg?branch=devel&event=push)](https://github.com/jcubic/lips/actions/workflows/build.yaml) -[![Coverage Status](https://coveralls.io/repos/github/jcubic/lips/badge.svg?branch=devel&9804e2dd94f41ac5863abe4d474d3cc2)](https://coveralls.io/github/jcubic/lips?branch=devel) +[![Coverage Status](https://coveralls.io/repos/github/jcubic/lips/badge.svg?branch=devel&89d49c464cd7600c0d2014ce0d2b3bc2)](https://coveralls.io/github/jcubic/lips?branch=devel) [![Join Gitter Chat](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/jcubic/lips) ![NPM Download Count](https://img.shields.io/npm/dm/@jcubic/lips) ![JSDelivr Download count](https://img.shields.io/jsdelivr/npm/hm/@jcubic/lips) diff --git a/dist/lips.cjs b/dist/lips.cjs index 3d9ac35ad..ad80b4b58 100644 --- a/dist/lips.cjs +++ b/dist/lips.cjs @@ -31,7 +31,7 @@ * Copyright (c) 2014-present, Facebook, Inc. * released under MIT license * - * build: Sun, 17 Mar 2024 22:45:05 +0000 + * build: Fri, 22 Mar 2024 12:40:41 +0000 */ 'use strict'; @@ -3414,6 +3414,7 @@ function unfetch(e,n){return n=n||{},new Promise(function(t,r){var s=new XMLHttp * TODO: consider using exec in env.eval or use different maybe_async code */ /* global jQuery, BigInt, Map, WeakMap, Set, Symbol, importScripts, Uint8Array */ +var _fold_case_mapping; var _excluded = ["token"], _excluded2 = ["env"], _excluded3 = ["stderr", "stdin", "stdout", "command_line"], @@ -6228,6 +6229,553 @@ Formatter.prototype.format = function format(options) { }).join(''); }; // ---------------------------------------------------------------------- +// :: the Unicode folding case mapping generated scripts/fold.scm to get +// :: latest version of the file use `make fold` +// ---------------------------------------------------------------------- +var fold_case_mapping = (_fold_case_mapping = { + "65": 97, + "66": 98, + "67": 99, + "68": 100, + "69": 101, + "70": 102, + "71": 103, + "72": 104, + "73": 105, + "74": 106, + "75": 107, + "76": 108, + "77": 109, + "78": 110, + "79": 111, + "80": 112, + "81": 113, + "82": 114, + "83": 115, + "84": 116, + "85": 117, + "86": 118, + "87": 119, + "88": 120, + "89": 121, + "90": 122, + "181": 956, + "192": 224, + "193": 225, + "194": 226, + "195": 227, + "196": 228, + "197": 229, + "198": 230, + "199": 231, + "200": 232, + "201": 233, + "202": 234, + "203": 235, + "204": 236, + "205": 237, + "206": 238, + "207": 239, + "208": 240, + "209": 241, + "210": 242, + "211": 243, + "212": 244, + "213": 245, + "214": 246, + "216": 248, + "217": 249, + "218": 250, + "219": 251, + "220": 252, + "221": 253, + "222": 254, + "256": 257, + "258": 259, + "260": 261, + "262": 263, + "264": 265, + "266": 267, + "268": 269, + "270": 271, + "272": 273, + "274": 275, + "276": 277, + "278": 279, + "280": 281, + "282": 283, + "284": 285, + "286": 287, + "288": 289, + "290": 291, + "292": 293, + "294": 295, + "296": 297, + "298": 299, + "300": 301, + "302": 303, + "306": 307, + "308": 309, + "310": 311, + "313": 314, + "315": 316, + "317": 318, + "319": 320, + "321": 322, + "323": 324, + "325": 326, + "327": 328, + "330": 331, + "332": 333, + "334": 335, + "336": 337, + "338": 339, + "340": 341, + "342": 343, + "344": 345, + "346": 347, + "348": 349, + "350": 351, + "352": 353, + "354": 355, + "356": 357, + "358": 359, + "360": 361, + "362": 363, + "364": 365, + "366": 367, + "368": 369, + "370": 371, + "372": 373, + "374": 375, + "376": 255, + "377": 378, + "379": 380, + "381": 382, + "115": 383, + "385": 595, + "386": 387, + "388": 389, + "390": 596, + "391": 392, + "393": 598, + "394": 599, + "395": 396, + "398": 477, + "399": 601, + "400": 603, + "401": 402, + "403": 608, + "404": 611, + "406": 617, + "407": 616, + "408": 409, + "412": 623, + "413": 626, + "415": 629, + "416": 417, + "418": 419, + "420": 421, + "422": 640, + "423": 424, + "425": 643, + "428": 429, + "430": 648, + "431": 432, + "433": 650, + "434": 651, + "435": 436, + "437": 438, + "439": 658, + "440": 441, + "444": 445, + "452": 454, + "454": 453, + "455": 457, + "457": 456, + "458": 460, + "460": 459, + "461": 462, + "463": 464, + "465": 466, + "467": 468, + "469": 470, + "471": 472, + "473": 474, + "475": 476, + "478": 479, + "480": 481, + "482": 483, + "484": 485, + "486": 487, + "488": 489, + "490": 491, + "492": 493, + "494": 495, + "497": 499, + "499": 498, + "500": 501, + "502": 405, + "503": 447, + "504": 505, + "506": 507, + "508": 509, + "510": 511, + "512": 513, + "514": 515, + "516": 517, + "518": 519, + "520": 521, + "522": 523, + "524": 525, + "526": 527, + "528": 529, + "530": 531, + "532": 533, + "534": 535, + "536": 537, + "538": 539, + "540": 541, + "542": 543, + "544": 414, + "546": 547, + "548": 549, + "550": 551, + "552": 553, + "554": 555, + "556": 557, + "558": 559, + "560": 561, + "562": 563, + "570": 11365, + "571": 572, + "573": 410, + "574": 11366, + "577": 578, + "579": 384, + "580": 649, + "581": 652, + "582": 583, + "584": 585, + "587": 586, + "588": 589, + "590": 591, + "837": 953, + "880": 881, + "882": 883, + "886": 887, + "895": 1011, + "902": 940, + "904": 941, + "905": 942, + "906": 943, + "908": 972, + "910": 973, + "911": 974, + "913": 945, + "914": 946, + "915": 947, + "916": 948, + "917": 949, + "918": 950, + "919": 951, + "920": 952, + "921": 953, + "922": 954, + "923": 955, + "924": 956, + "925": 957, + "926": 958, + "927": 959, + "928": 960, + "929": 961, + "931": 963, + "932": 964, + "933": 965, + "934": 966, + "935": 967, + "936": 968, + "937": 969, + "938": 970, + "939": 971, + "963": 962, + "975": 983, + "976": 946, + "977": 952, + "981": 966, + "982": 960, + "984": 985, + "986": 987, + "988": 989, + "990": 991, + "992": 993, + "994": 995, + "996": 997, + "998": 999, + "1000": 1001, + "1002": 1003, + "1004": 1005, + "1006": 1007, + "1008": 954, + "1009": 961, + "1012": 952, + "1013": 949, + "1015": 1016, + "1017": 1010, + "1018": 1019, + "1021": 891, + "1022": 892, + "1023": 893, + "1024": 1104, + "1025": 1105, + "1026": 1106, + "1027": 1107, + "1028": 1108, + "1029": 1109, + "1030": 1110, + "1031": 1111, + "1032": 1112, + "1033": 1113, + "1034": 1114, + "1035": 1115, + "1036": 1116, + "1037": 1117, + "1038": 1118, + "1039": 1119, + "1040": 1072, + "1041": 1073, + "1042": 1074, + "1043": 1075, + "1044": 1076, + "1045": 1077, + "1046": 1078, + "1047": 1079, + "1048": 1080, + "1049": 1081, + "1050": 1082, + "1051": 1083, + "1052": 1084, + "1053": 1085, + "1054": 1086, + "1055": 1087, + "1056": 1088, + "1057": 1089, + "1058": 1090, + "1059": 1091, + "1060": 1092, + "1061": 1093, + "1062": 1094, + "1063": 1095, + "1064": 1096, + "1065": 1097, + "1066": 1098, + "1067": 1099, + "1068": 1100, + "1069": 1101, + "1070": 1102, + "1071": 1103, + "1120": 1121, + "1122": 1123, + "1124": 1125, + "1126": 1127, + "1128": 1129, + "1130": 1131, + "1132": 1133, + "1134": 1135, + "1136": 1137, + "1138": 1139, + "1140": 1141, + "1142": 1143, + "1144": 1145, + "1146": 1147, + "1148": 1149, + "1150": 1151, + "1152": 1153, + "1162": 1163, + "1164": 1165, + "1166": 1167, + "1168": 1169, + "1170": 1171, + "1172": 1173, + "1174": 1175, + "1176": 1177, + "1178": 1179, + "1180": 1181, + "1182": 1183, + "1184": 1185, + "1186": 1187, + "1188": 1189, + "1190": 1191, + "1192": 1193, + "1194": 1195, + "1196": 1197, + "1198": 1199, + "1200": 1201, + "1202": 1203, + "1204": 1205, + "1206": 1207, + "1208": 1209, + "1210": 1211, + "1212": 1213, + "1214": 1215, + "1216": 1231, + "1217": 1218, + "1219": 1220, + "1221": 1222, + "1223": 1224, + "1225": 1226, + "1227": 1228, + "1229": 1230, + "1232": 1233, + "1234": 1235, + "1236": 1237, + "1238": 1239, + "1240": 1241, + "1242": 1243, + "1244": 1245, + "1246": 1247, + "1248": 1249, + "1250": 1251, + "1252": 1253, + "1254": 1255, + "1256": 1257, + "1258": 1259, + "1260": 1261, + "1262": 1263, + "1264": 1265, + "1266": 1267, + "1268": 1269, + "1270": 1271, + "1272": 1273, + "1274": 1275, + "1276": 1277, + "1278": 1279, + "1280": 1281, + "1282": 1283, + "1284": 1285, + "1286": 1287, + "1288": 1289, + "1290": 1291, + "1292": 1293, + "1294": 1295, + "1296": 1297, + "1298": 1299, + "1300": 1301, + "1302": 1303, + "1304": 1305, + "1306": 1307, + "1308": 1309, + "1310": 1311, + "1312": 1313, + "1314": 1315, + "1316": 1317, + "1318": 1319, + "1320": 1321, + "1322": 1323, + "1324": 1325, + "1326": 1327, + "1329": 1377, + "1330": 1378, + "1331": 1379, + "1332": 1380, + "1333": 1381, + "1334": 1382, + "1335": 1383, + "1336": 1384, + "1337": 1385, + "1338": 1386, + "1339": 1387, + "1340": 1388, + "1341": 1389, + "1342": 1390, + "1343": 1391, + "1344": 1392, + "1345": 1393, + "1346": 1394, + "1347": 1395, + "1348": 1396, + "1349": 1397, + "1350": 1398, + "1351": 1399, + "1352": 1400, + "1353": 1401, + "1354": 1402, + "1355": 1403, + "1356": 1404, + "1357": 1405, + "1358": 1406, + "1359": 1407, + "1360": 1408, + "1361": 1409, + "1362": 1410, + "1363": 1411, + "1364": 1412, + "1365": 1413, + "1366": 1414, + "4256": 11520, + "4257": 11521, + "4258": 11522, + "4259": 11523, + "4260": 11524, + "4261": 11525, + "4262": 11526, + "4263": 11527, + "4264": 11528, + "4265": 11529, + "4266": 11530, + "4267": 11531, + "4268": 11532, + "4269": 11533, + "4270": 11534, + "4271": 11535, + "4272": 11536, + "4273": 11537, + "4274": 11538, + "4275": 11539, + "4276": 11540, + "4277": 11541, + "4278": 11542, + "4279": 11543, + "4280": 11544, + "4281": 11545, + "4282": 11546, + "4283": 11547, + "4284": 11548, + "4285": 11549, + "4286": 11550, + "4287": 11551, + "4288": 11552, + "4289": 11553, + "4290": 11554, + "4291": 11555, + "4292": 11556, + "4293": 11557, + "4295": 11559, + "4301": 11565, + "5104": 5112, + "5105": 5113, + "5106": 5114, + "5107": 5115, + "5108": 5116, + "5109": 5117, + "1074": 7296, + "1076": 7297, + "1086": 7298, + "1089": 7299, + "1090": 7300 +}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "1090", 7301), "1098", 7302), "1123", 7303), "42571", 7304), "7312", 4304), "7313", 4305), "7314", 4306), "7315", 4307), "7316", 4308), "7317", 4309), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7318", 4310), "7319", 4311), "7320", 4312), "7321", 4313), "7322", 4314), "7323", 4315), "7324", 4316), "7325", 4317), "7326", 4318), "7327", 4319), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7328", 4320), "7329", 4321), "7330", 4322), "7331", 4323), "7332", 4324), "7333", 4325), "7334", 4326), "7335", 4327), "7336", 4328), "7337", 4329), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7338", 4330), "7339", 4331), "7340", 4332), "7341", 4333), "7342", 4334), "7343", 4335), "7344", 4336), "7345", 4337), "7346", 4338), "7347", 4339), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7348", 4340), "7349", 4341), "7350", 4342), "7351", 4343), "7352", 4344), "7353", 4345), "7354", 4346), "7357", 4349), "7358", 4350), "7359", 4351), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7680", 7681), "7682", 7683), "7684", 7685), "7686", 7687), "7688", 7689), "7690", 7691), "7692", 7693), "7694", 7695), "7696", 7697), "7698", 7699), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7700", 7701), "7702", 7703), "7704", 7705), "7706", 7707), "7708", 7709), "7710", 7711), "7712", 7713), "7714", 7715), "7716", 7717), "7718", 7719), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7720", 7721), "7722", 7723), "7724", 7725), "7726", 7727), "7728", 7729), "7730", 7731), "7732", 7733), "7734", 7735), "7736", 7737), "7738", 7739), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7740", 7741), "7742", 7743), "7744", 7745), "7746", 7747), "7748", 7749), "7750", 7751), "7752", 7753), "7754", 7755), "7756", 7757), "7758", 7759), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7760", 7761), "7762", 7763), "7764", 7765), "7766", 7767), "7768", 7769), "7770", 7771), "7772", 7773), "7774", 7775), "7776", 7777), "7778", 7779), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7780", 7781), "7782", 7783), "7784", 7785), "7786", 7787), "7788", 7789), "7790", 7791), "7792", 7793), "7794", 7795), "7796", 7797), "7798", 7799), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7800", 7801), "7802", 7803), "7804", 7805), "7806", 7807), "7808", 7809), "7810", 7811), "7812", 7813), "7814", 7815), "7816", 7817), "7818", 7819), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7820", 7821), "7822", 7823), "7824", 7825), "7826", 7827), "7828", 7829), "7777", 7835), "7840", 7841), "7842", 7843), "7844", 7845), "7846", 7847), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7848", 7849), "7850", 7851), "7852", 7853), "7854", 7855), "7856", 7857), "7858", 7859), "7860", 7861), "7862", 7863), "7864", 7865), "7866", 7867), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7868", 7869), "7870", 7871), "7872", 7873), "7874", 7875), "7876", 7877), "7878", 7879), "7880", 7881), "7882", 7883), "7884", 7885), "7886", 7887), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7888", 7889), "7890", 7891), "7892", 7893), "7894", 7895), "7896", 7897), "7898", 7899), "7900", 7901), "7902", 7903), "7904", 7905), "7906", 7907), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7908", 7909), "7910", 7911), "7912", 7913), "7914", 7915), "7916", 7917), "7918", 7919), "7920", 7921), "7922", 7923), "7924", 7925), "7926", 7927), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7928", 7929), "7930", 7931), "7932", 7933), "7934", 7935), "7944", 7936), "7945", 7937), "7946", 7938), "7947", 7939), "7948", 7940), "7949", 7941), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7950", 7942), "7951", 7943), "7960", 7952), "7961", 7953), "7962", 7954), "7963", 7955), "7964", 7956), "7965", 7957), "7976", 7968), "7977", 7969), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7978", 7970), "7979", 7971), "7980", 7972), "7981", 7973), "7982", 7974), "7983", 7975), "7992", 7984), "7993", 7985), "7994", 7986), "7995", 7987), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7996", 7988), "7997", 7989), "7998", 7990), "7999", 7991), "8008", 8000), "8009", 8001), "8010", 8002), "8011", 8003), "8012", 8004), "8013", 8005), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "8025", 8017), "8027", 8019), "8029", 8021), "8031", 8023), "8040", 8032), "8041", 8033), "8042", 8034), "8043", 8035), "8044", 8036), "8045", 8037), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "8046", 8038), "8047", 8039), "8120", 8112), "8121", 8113), "8122", 8048), "8123", 8049), "8126", 953), "8136", 8050), "8137", 8051), "8138", 8052), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "8139", 8053), "8152", 8144), "8153", 8145), "8154", 8054), "8155", 8055), "8168", 8160), "8169", 8161), "8170", 8058), "8171", 8059), "8172", 8165), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "8184", 8056), "8185", 8057), "8186", 8060), "8187", 8061), "8486", 969), "8490", 107), "8491", 229), "8498", 8526), "8544", 8560), "8545", 8561), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "8546", 8562), "8547", 8563), "8548", 8564), "8549", 8565), "8550", 8566), "8551", 8567), "8552", 8568), "8553", 8569), "8554", 8570), "8555", 8571), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "8556", 8572), "8557", 8573), "8558", 8574), "8559", 8575), "8579", 8580), "9398", 9424), "9399", 9425), "9400", 9426), "9401", 9427), "9402", 9428), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "9403", 9429), "9404", 9430), "9405", 9431), "9406", 9432), "9407", 9433), "9408", 9434), "9409", 9435), "9410", 9436), "9411", 9437), "9412", 9438), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "9413", 9439), "9414", 9440), "9415", 9441), "9416", 9442), "9417", 9443), "9418", 9444), "9419", 9445), "9420", 9446), "9421", 9447), "9422", 9448), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "9423", 9449), "11264", 11312), "11265", 11313), "11266", 11314), "11267", 11315), "11268", 11316), "11269", 11317), "11270", 11318), "11271", 11319), "11272", 11320), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11273", 11321), "11274", 11322), "11275", 11323), "11276", 11324), "11277", 11325), "11278", 11326), "11279", 11327), "11280", 11328), "11281", 11329), "11282", 11330), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11283", 11331), "11284", 11332), "11285", 11333), "11286", 11334), "11287", 11335), "11288", 11336), "11289", 11337), "11290", 11338), "11291", 11339), "11292", 11340), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11293", 11341), "11294", 11342), "11295", 11343), "11296", 11344), "11297", 11345), "11298", 11346), "11299", 11347), "11348", 11300), "11349", 11301), "11302", 11350), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11351", 11303), "11304", 11352), "11305", 11353), "11306", 11354), "11307", 11355), "11308", 11356), "11309", 11357), "11310", 11358), "11311", 11359), "11360", 11361), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11362", 619), "11363", 7549), "11364", 637), "11367", 11368), "11369", 11370), "11371", 11372), "11373", 593), "11374", 625), "11375", 592), "11376", 594), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11378", 11379), "11381", 11382), "11390", 575), "11391", 576), "11392", 11393), "11394", 11395), "11396", 11397), "11398", 11399), "11400", 11401), "11402", 11403), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11404", 11405), "11406", 11407), "11408", 11409), "11410", 11411), "11412", 11413), "11414", 11415), "11416", 11417), "11418", 11419), "11420", 11421), "11422", 11423), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11424", 11425), "11426", 11427), "11428", 11429), "11430", 11431), "11432", 11433), "11434", 11435), "11436", 11437), "11438", 11439), "11440", 11441), "11442", 11443), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11444", 11445), "11446", 11447), "11448", 11449), "11450", 11451), "11452", 11453), "11454", 11455), "11456", 11457), "11458", 11459), "11460", 11461), "11462", 11463), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11464", 11465), "11466", 11467), "11468", 11469), "11470", 11471), "11472", 11473), "11474", 11475), "11476", 11477), "11478", 11479), "11480", 11481), "11482", 11483), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11484", 11485), "11486", 11487), "11488", 11489), "11490", 11491), "11499", 11500), "11501", 11502), "11506", 11507), "42560", 42561), "42562", 42563), "42564", 42565), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42566", 42567), "42568", 42569), "42570", 42571), "42572", 42573), "42574", 42575), "42576", 42577), "42578", 42579), "42580", 42581), "42582", 42583), "42584", 42585), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42586", 42587), "42588", 42589), "42590", 42591), "42592", 42593), "42594", 42595), "42596", 42597), "42598", 42599), "42600", 42601), "42602", 42603), "42604", 42605), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42624", 42625), "42626", 42627), "42628", 42629), "42630", 42631), "42632", 42633), "42634", 42635), "42636", 42637), "42638", 42639), "42640", 42641), "42642", 42643), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42644", 42645), "42646", 42647), "42648", 42649), "42650", 42651), "42786", 42787), "42788", 42789), "42790", 42791), "42792", 42793), "42794", 42795), "42796", 42797), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42798", 42799), "42802", 42803), "42804", 42805), "42806", 42807), "42808", 42809), "42810", 42811), "42812", 42813), "42814", 42815), "42816", 42817), "42818", 42819), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42820", 42821), "42822", 42823), "42824", 42825), "42826", 42827), "42828", 42829), "42830", 42831), "42832", 42833), "42834", 42835), "42836", 42837), "42838", 42839), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42840", 42841), "42842", 42843), "42844", 42845), "42846", 42847), "42848", 42849), "42850", 42851), "42852", 42853), "42854", 42855), "42856", 42857), "42858", 42859), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42860", 42861), "42862", 42863), "42873", 42874), "42875", 42876), "42877", 7545), "42878", 42879), "42880", 42881), "42882", 42883), "42884", 42885), "42886", 42887), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42891", 42892), "42893", 613), "42896", 42897), "42898", 42899), "42902", 42903), "42904", 42905), "42906", 42907), "42908", 42909), "42910", 42911), "42912", 42913), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42914", 42915), "42916", 42917), "42918", 42919), "42920", 42921), "42922", 614), "42923", 604), "42924", 609), "42925", 620), "618", 42926), "42928", 670), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42929", 647), "42930", 669), "42931", 43859), "42932", 42933), "42934", 42935), "42936", 42937), "42938", 42939), "42940", 42941), "42942", 42943), "42944", 42945), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42946", 42947), "42948", 42900), "42949", 642), "42950", 7566), "42951", 42952), "42953", 42954), "42960", 42961), "42966", 42967), "42968", 42969), "42997", 42998), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5024", 43888), "5025", 43889), "5026", 43890), "5027", 43891), "5028", 43892), "5029", 43893), "5030", 43894), "5031", 43895), "5032", 43896), "5033", 43897), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5034", 43898), "5035", 43899), "5036", 43900), "5037", 43901), "5038", 43902), "5039", 43903), "5040", 43904), "5041", 43905), "5042", 43906), "5043", 43907), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5044", 43908), "5045", 43909), "5046", 43910), "5047", 43911), "5048", 43912), "5049", 43913), "5050", 43914), "5051", 43915), "5052", 43916), "5053", 43917), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5054", 43918), "5055", 43919), "5056", 43920), "5057", 43921), "5058", 43922), "5059", 43923), "5060", 43924), "5061", 43925), "5062", 43926), "5063", 43927), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5064", 43928), "5065", 43929), "5066", 43930), "5067", 43931), "5068", 43932), "5069", 43933), "5070", 43934), "5071", 43935), "5072", 43936), "5073", 43937), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5074", 43938), "5075", 43939), "5076", 43940), "5077", 43941), "5078", 43942), "5079", 43943), "5080", 43944), "5081", 43945), "5082", 43946), "5083", 43947), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5084", 43948), "5085", 43949), "5086", 43950), "5087", 43951), "5088", 43952), "5089", 43953), "5090", 43954), "5091", 43955), "5092", 43956), "5093", 43957), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5094", 43958), "5095", 43959), "5096", 43960), "5097", 43961), "5098", 43962), "5099", 43963), "5100", 43964), "5101", 43965), "5102", 43966), "5103", 43967), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "65313", 65345), "65314", 65346), "65315", 65347), "65316", 65348), "65317", 65349), "65318", 65350), "65319", 65351), "65320", 65352), "65321", 65353), "65322", 65354), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "65323", 65355), "65324", 65356), "65325", 65357), "65326", 65358), "65327", 65359), "65328", 65360), "65329", 65361), "65330", 65362), "65331", 65363), "65332", 65364), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "65333", 65365), "65334", 65366), "65335", 65367), "65336", 65368), "65337", 65369), "65338", 65370), "66560", 66600), "66561", 66601), "66562", 66602), "66563", 66603), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66564", 66604), "66565", 66605), "66566", 66606), "66567", 66607), "66568", 66608), "66569", 66609), "66570", 66610), "66571", 66611), "66572", 66612), "66573", 66613), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66574", 66614), "66575", 66615), "66576", 66616), "66577", 66617), "66578", 66618), "66579", 66619), "66580", 66620), "66581", 66621), "66582", 66622), "66583", 66623), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66584", 66624), "66585", 66625), "66586", 66626), "66587", 66627), "66588", 66628), "66589", 66629), "66590", 66630), "66591", 66631), "66592", 66632), "66593", 66633), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66594", 66634), "66595", 66635), "66596", 66636), "66597", 66637), "66598", 66638), "66599", 66639), "66736", 66776), "66737", 66777), "66738", 66778), "66739", 66779), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66740", 66780), "66741", 66781), "66742", 66782), "66743", 66783), "66744", 66784), "66745", 66785), "66746", 66786), "66747", 66787), "66748", 66788), "66749", 66789), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66750", 66790), "66751", 66791), "66752", 66792), "66753", 66793), "66754", 66794), "66755", 66795), "66756", 66796), "66757", 66797), "66758", 66798), "66759", 66799), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66760", 66800), "66761", 66801), "66762", 66802), "66763", 66803), "66764", 66804), "66765", 66805), "66766", 66806), "66767", 66807), "66768", 66808), "66769", 66809), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66770", 66810), "66771", 66811), "66928", 66967), "66929", 66968), "66930", 66969), "66931", 66970), "66932", 66971), "66933", 66972), "66934", 66973), "66935", 66974), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66936", 66975), "66937", 66976), "66938", 66977), "66940", 66979), "66941", 66980), "66942", 66981), "66943", 66982), "66944", 66983), "66945", 66984), "66946", 66985), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66947", 66986), "66948", 66987), "66949", 66988), "66950", 66989), "66951", 66990), "66952", 66991), "66953", 66992), "66954", 66993), "66956", 66995), "66957", 66996), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66958", 66997), "66959", 66998), "66960", 66999), "66961", 67000), "66962", 67001), "66964", 67003), "66965", 67004), "68736", 68800), "68737", 68801), "68738", 68802), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "68739", 68803), "68740", 68804), "68741", 68805), "68742", 68806), "68743", 68807), "68744", 68808), "68745", 68809), "68746", 68810), "68747", 68811), "68748", 68812), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "68749", 68813), "68750", 68814), "68751", 68815), "68752", 68816), "68753", 68817), "68754", 68818), "68755", 68819), "68756", 68820), "68757", 68821), "68758", 68822), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "68759", 68823), "68760", 68824), "68761", 68825), "68762", 68826), "68763", 68827), "68764", 68828), "68765", 68829), "68766", 68830), "68767", 68831), "68768", 68832), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "68769", 68833), "68770", 68834), "68771", 68835), "68772", 68836), "68773", 68837), "68774", 68838), "68775", 68839), "68776", 68840), "68777", 68841), "68778", 68842), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "68779", 68843), "68780", 68844), "68781", 68845), "68782", 68846), "68783", 68847), "68784", 68848), "68785", 68849), "68786", 68850), "71840", 71872), "71841", 71873), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "71842", 71874), "71843", 71875), "71844", 71876), "71845", 71877), "71846", 71878), "71847", 71879), "71848", 71880), "71849", 71881), "71850", 71882), "71851", 71883), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "71852", 71884), "71853", 71885), "71854", 71886), "71855", 71887), "71856", 71888), "71857", 71889), "71858", 71890), "71859", 71891), "71860", 71892), "71861", 71893), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "71862", 71894), "71863", 71895), "71864", 71896), "71865", 71897), "71866", 71898), "71867", 71899), "71868", 71900), "71869", 71901), "71870", 71902), "71871", 71903), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "93760", 93792), "93761", 93793), "93762", 93794), "93763", 93795), "93764", 93796), "93765", 93797), "93766", 93798), "93767", 93799), "93768", 93800), "93769", 93801), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "93770", 93802), "93771", 93803), "93772", 93804), "93773", 93805), "93774", 93806), "93775", 93807), "93776", 93808), "93777", 93809), "93778", 93810), "93779", 93811), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "93780", 93812), "93781", 93813), "93782", 93814), "93783", 93815), "93784", 93816), "93785", 93817), "93786", 93818), "93787", 93819), "93788", 93820), "93789", 93821), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "93790", 93822), "93791", 93823), "125184", 125218), "125185", 125219), "125186", 125220), "125187", 125221), "125188", 125222), "125189", 125223), "125190", 125224), "125191", 125225), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "125192", 125226), "125193", 125227), "125194", 125228), "125195", 125229), "125196", 125230), "125197", 125231), "125198", 125232), "125199", 125233), "125200", 125234), "125201", 125235), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "125202", 125236), "125203", 125237), "125204", 125238), "125205", 125239), "125206", 125240), "125207", 125241), "125208", 125242), "125209", 125243), "125210", 125244), "125211", 125245), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "125212", 125246), "125213", 125247), "125214", 125248), "125215", 125249), "125216", 125250), "125217", 125251)); +// ---------------------------------------------------------------------- +function foldcase_string(string) { + return Array.from(string).map(function (str) { + var ord = str.codePointAt(0); + var output = fold_case_mapping[ord]; + if (output) { + return String.fromCodePoint(output); + } + return str; + }).join(''); +} +// ---------------------------------------------------------------------- // :: Flatten nested arrays // :: ref: https://stackoverflow.com/a/27282907/387194 // ---------------------------------------------------------------------- @@ -11837,6 +12385,8 @@ var global_env = new Environment({ global_env.get('newline')(port); }, "(display-error . args)\n\n Display an error message on stderr."), // ------------------------------------------------------------------ + '%foldcase-string': doc('%foldcase-string', foldcase_string, "(%foldcase-string string)\n\n Same as string-foldcase but without typechecking"), + // ------------------------------------------------------------------ '%same-functions': doc('%same-functions', function (a, b) { if (!is_function(a)) { return false; @@ -15612,10 +16162,10 @@ if (typeof window !== 'undefined') { // ------------------------------------------------------------------------- var banner = function () { // Rollup tree-shaking is removing the variable if it's normal string because - // obviously 'Sun, 17 Mar 2024 22:45:05 +0000' == '{{' + 'DATE}}'; can be removed + // obviously 'Fri, 22 Mar 2024 12:40:41 +0000' == '{{' + 'DATE}}'; can be removed // but disabling Tree-shaking is adding lot of not used code so we use this // hack instead - var date = LString('Sun, 17 Mar 2024 22:45:05 +0000').valueOf(); + var date = LString('Fri, 22 Mar 2024 12:40:41 +0000').valueOf(); var _date = date === '{{' + 'DATE}}' ? new Date() : new Date(date); var _format = function _format(x) { return x.toString().padStart(2, '0'); @@ -15655,7 +16205,7 @@ read_only(QuotedPromise, '__class__', 'promise'); read_only(Parameter, '__class__', 'parameter'); // ------------------------------------------------------------------------- var version = 'DEV'; -var date = 'Sun, 17 Mar 2024 22:45:05 +0000'; +var date = 'Fri, 22 Mar 2024 12:40:41 +0000'; // unwrap async generator into Promise var parse = compose(uniterate_async, _parse); diff --git a/dist/lips.esm.js b/dist/lips.esm.js index de14c1d9b..3c7b94ead 100644 --- a/dist/lips.esm.js +++ b/dist/lips.esm.js @@ -31,7 +31,7 @@ * Copyright (c) 2014-present, Facebook, Inc. * released under MIT license * - * build: Sun, 17 Mar 2024 22:45:05 +0000 + * build: Fri, 22 Mar 2024 12:40:41 +0000 */ function _classApplyDescriptorGet(receiver, descriptor) { @@ -3411,6 +3411,7 @@ function unfetch(e,n){return n=n||{},new Promise(function(t,r){var s=new XMLHttp * TODO: consider using exec in env.eval or use different maybe_async code */ /* global jQuery, BigInt, Map, WeakMap, Set, Symbol, importScripts, Uint8Array */ +var _fold_case_mapping; var _excluded = ["token"], _excluded2 = ["env"], _excluded3 = ["stderr", "stdin", "stdout", "command_line"], @@ -6225,6 +6226,553 @@ Formatter.prototype.format = function format(options) { }).join(''); }; // ---------------------------------------------------------------------- +// :: the Unicode folding case mapping generated scripts/fold.scm to get +// :: latest version of the file use `make fold` +// ---------------------------------------------------------------------- +var fold_case_mapping = (_fold_case_mapping = { + "65": 97, + "66": 98, + "67": 99, + "68": 100, + "69": 101, + "70": 102, + "71": 103, + "72": 104, + "73": 105, + "74": 106, + "75": 107, + "76": 108, + "77": 109, + "78": 110, + "79": 111, + "80": 112, + "81": 113, + "82": 114, + "83": 115, + "84": 116, + "85": 117, + "86": 118, + "87": 119, + "88": 120, + "89": 121, + "90": 122, + "181": 956, + "192": 224, + "193": 225, + "194": 226, + "195": 227, + "196": 228, + "197": 229, + "198": 230, + "199": 231, + "200": 232, + "201": 233, + "202": 234, + "203": 235, + "204": 236, + "205": 237, + "206": 238, + "207": 239, + "208": 240, + "209": 241, + "210": 242, + "211": 243, + "212": 244, + "213": 245, + "214": 246, + "216": 248, + "217": 249, + "218": 250, + "219": 251, + "220": 252, + "221": 253, + "222": 254, + "256": 257, + "258": 259, + "260": 261, + "262": 263, + "264": 265, + "266": 267, + "268": 269, + "270": 271, + "272": 273, + "274": 275, + "276": 277, + "278": 279, + "280": 281, + "282": 283, + "284": 285, + "286": 287, + "288": 289, + "290": 291, + "292": 293, + "294": 295, + "296": 297, + "298": 299, + "300": 301, + "302": 303, + "306": 307, + "308": 309, + "310": 311, + "313": 314, + "315": 316, + "317": 318, + "319": 320, + "321": 322, + "323": 324, + "325": 326, + "327": 328, + "330": 331, + "332": 333, + "334": 335, + "336": 337, + "338": 339, + "340": 341, + "342": 343, + "344": 345, + "346": 347, + "348": 349, + "350": 351, + "352": 353, + "354": 355, + "356": 357, + "358": 359, + "360": 361, + "362": 363, + "364": 365, + "366": 367, + "368": 369, + "370": 371, + "372": 373, + "374": 375, + "376": 255, + "377": 378, + "379": 380, + "381": 382, + "115": 383, + "385": 595, + "386": 387, + "388": 389, + "390": 596, + "391": 392, + "393": 598, + "394": 599, + "395": 396, + "398": 477, + "399": 601, + "400": 603, + "401": 402, + "403": 608, + "404": 611, + "406": 617, + "407": 616, + "408": 409, + "412": 623, + "413": 626, + "415": 629, + "416": 417, + "418": 419, + "420": 421, + "422": 640, + "423": 424, + "425": 643, + "428": 429, + "430": 648, + "431": 432, + "433": 650, + "434": 651, + "435": 436, + "437": 438, + "439": 658, + "440": 441, + "444": 445, + "452": 454, + "454": 453, + "455": 457, + "457": 456, + "458": 460, + "460": 459, + "461": 462, + "463": 464, + "465": 466, + "467": 468, + "469": 470, + "471": 472, + "473": 474, + "475": 476, + "478": 479, + "480": 481, + "482": 483, + "484": 485, + "486": 487, + "488": 489, + "490": 491, + "492": 493, + "494": 495, + "497": 499, + "499": 498, + "500": 501, + "502": 405, + "503": 447, + "504": 505, + "506": 507, + "508": 509, + "510": 511, + "512": 513, + "514": 515, + "516": 517, + "518": 519, + "520": 521, + "522": 523, + "524": 525, + "526": 527, + "528": 529, + "530": 531, + "532": 533, + "534": 535, + "536": 537, + "538": 539, + "540": 541, + "542": 543, + "544": 414, + "546": 547, + "548": 549, + "550": 551, + "552": 553, + "554": 555, + "556": 557, + "558": 559, + "560": 561, + "562": 563, + "570": 11365, + "571": 572, + "573": 410, + "574": 11366, + "577": 578, + "579": 384, + "580": 649, + "581": 652, + "582": 583, + "584": 585, + "587": 586, + "588": 589, + "590": 591, + "837": 953, + "880": 881, + "882": 883, + "886": 887, + "895": 1011, + "902": 940, + "904": 941, + "905": 942, + "906": 943, + "908": 972, + "910": 973, + "911": 974, + "913": 945, + "914": 946, + "915": 947, + "916": 948, + "917": 949, + "918": 950, + "919": 951, + "920": 952, + "921": 953, + "922": 954, + "923": 955, + "924": 956, + "925": 957, + "926": 958, + "927": 959, + "928": 960, + "929": 961, + "931": 963, + "932": 964, + "933": 965, + "934": 966, + "935": 967, + "936": 968, + "937": 969, + "938": 970, + "939": 971, + "963": 962, + "975": 983, + "976": 946, + "977": 952, + "981": 966, + "982": 960, + "984": 985, + "986": 987, + "988": 989, + "990": 991, + "992": 993, + "994": 995, + "996": 997, + "998": 999, + "1000": 1001, + "1002": 1003, + "1004": 1005, + "1006": 1007, + "1008": 954, + "1009": 961, + "1012": 952, + "1013": 949, + "1015": 1016, + "1017": 1010, + "1018": 1019, + "1021": 891, + "1022": 892, + "1023": 893, + "1024": 1104, + "1025": 1105, + "1026": 1106, + "1027": 1107, + "1028": 1108, + "1029": 1109, + "1030": 1110, + "1031": 1111, + "1032": 1112, + "1033": 1113, + "1034": 1114, + "1035": 1115, + "1036": 1116, + "1037": 1117, + "1038": 1118, + "1039": 1119, + "1040": 1072, + "1041": 1073, + "1042": 1074, + "1043": 1075, + "1044": 1076, + "1045": 1077, + "1046": 1078, + "1047": 1079, + "1048": 1080, + "1049": 1081, + "1050": 1082, + "1051": 1083, + "1052": 1084, + "1053": 1085, + "1054": 1086, + "1055": 1087, + "1056": 1088, + "1057": 1089, + "1058": 1090, + "1059": 1091, + "1060": 1092, + "1061": 1093, + "1062": 1094, + "1063": 1095, + "1064": 1096, + "1065": 1097, + "1066": 1098, + "1067": 1099, + "1068": 1100, + "1069": 1101, + "1070": 1102, + "1071": 1103, + "1120": 1121, + "1122": 1123, + "1124": 1125, + "1126": 1127, + "1128": 1129, + "1130": 1131, + "1132": 1133, + "1134": 1135, + "1136": 1137, + "1138": 1139, + "1140": 1141, + "1142": 1143, + "1144": 1145, + "1146": 1147, + "1148": 1149, + "1150": 1151, + "1152": 1153, + "1162": 1163, + "1164": 1165, + "1166": 1167, + "1168": 1169, + "1170": 1171, + "1172": 1173, + "1174": 1175, + "1176": 1177, + "1178": 1179, + "1180": 1181, + "1182": 1183, + "1184": 1185, + "1186": 1187, + "1188": 1189, + "1190": 1191, + "1192": 1193, + "1194": 1195, + "1196": 1197, + "1198": 1199, + "1200": 1201, + "1202": 1203, + "1204": 1205, + "1206": 1207, + "1208": 1209, + "1210": 1211, + "1212": 1213, + "1214": 1215, + "1216": 1231, + "1217": 1218, + "1219": 1220, + "1221": 1222, + "1223": 1224, + "1225": 1226, + "1227": 1228, + "1229": 1230, + "1232": 1233, + "1234": 1235, + "1236": 1237, + "1238": 1239, + "1240": 1241, + "1242": 1243, + "1244": 1245, + "1246": 1247, + "1248": 1249, + "1250": 1251, + "1252": 1253, + "1254": 1255, + "1256": 1257, + "1258": 1259, + "1260": 1261, + "1262": 1263, + "1264": 1265, + "1266": 1267, + "1268": 1269, + "1270": 1271, + "1272": 1273, + "1274": 1275, + "1276": 1277, + "1278": 1279, + "1280": 1281, + "1282": 1283, + "1284": 1285, + "1286": 1287, + "1288": 1289, + "1290": 1291, + "1292": 1293, + "1294": 1295, + "1296": 1297, + "1298": 1299, + "1300": 1301, + "1302": 1303, + "1304": 1305, + "1306": 1307, + "1308": 1309, + "1310": 1311, + "1312": 1313, + "1314": 1315, + "1316": 1317, + "1318": 1319, + "1320": 1321, + "1322": 1323, + "1324": 1325, + "1326": 1327, + "1329": 1377, + "1330": 1378, + "1331": 1379, + "1332": 1380, + "1333": 1381, + "1334": 1382, + "1335": 1383, + "1336": 1384, + "1337": 1385, + "1338": 1386, + "1339": 1387, + "1340": 1388, + "1341": 1389, + "1342": 1390, + "1343": 1391, + "1344": 1392, + "1345": 1393, + "1346": 1394, + "1347": 1395, + "1348": 1396, + "1349": 1397, + "1350": 1398, + "1351": 1399, + "1352": 1400, + "1353": 1401, + "1354": 1402, + "1355": 1403, + "1356": 1404, + "1357": 1405, + "1358": 1406, + "1359": 1407, + "1360": 1408, + "1361": 1409, + "1362": 1410, + "1363": 1411, + "1364": 1412, + "1365": 1413, + "1366": 1414, + "4256": 11520, + "4257": 11521, + "4258": 11522, + "4259": 11523, + "4260": 11524, + "4261": 11525, + "4262": 11526, + "4263": 11527, + "4264": 11528, + "4265": 11529, + "4266": 11530, + "4267": 11531, + "4268": 11532, + "4269": 11533, + "4270": 11534, + "4271": 11535, + "4272": 11536, + "4273": 11537, + "4274": 11538, + "4275": 11539, + "4276": 11540, + "4277": 11541, + "4278": 11542, + "4279": 11543, + "4280": 11544, + "4281": 11545, + "4282": 11546, + "4283": 11547, + "4284": 11548, + "4285": 11549, + "4286": 11550, + "4287": 11551, + "4288": 11552, + "4289": 11553, + "4290": 11554, + "4291": 11555, + "4292": 11556, + "4293": 11557, + "4295": 11559, + "4301": 11565, + "5104": 5112, + "5105": 5113, + "5106": 5114, + "5107": 5115, + "5108": 5116, + "5109": 5117, + "1074": 7296, + "1076": 7297, + "1086": 7298, + "1089": 7299, + "1090": 7300 +}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "1090", 7301), "1098", 7302), "1123", 7303), "42571", 7304), "7312", 4304), "7313", 4305), "7314", 4306), "7315", 4307), "7316", 4308), "7317", 4309), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7318", 4310), "7319", 4311), "7320", 4312), "7321", 4313), "7322", 4314), "7323", 4315), "7324", 4316), "7325", 4317), "7326", 4318), "7327", 4319), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7328", 4320), "7329", 4321), "7330", 4322), "7331", 4323), "7332", 4324), "7333", 4325), "7334", 4326), "7335", 4327), "7336", 4328), "7337", 4329), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7338", 4330), "7339", 4331), "7340", 4332), "7341", 4333), "7342", 4334), "7343", 4335), "7344", 4336), "7345", 4337), "7346", 4338), "7347", 4339), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7348", 4340), "7349", 4341), "7350", 4342), "7351", 4343), "7352", 4344), "7353", 4345), "7354", 4346), "7357", 4349), "7358", 4350), "7359", 4351), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7680", 7681), "7682", 7683), "7684", 7685), "7686", 7687), "7688", 7689), "7690", 7691), "7692", 7693), "7694", 7695), "7696", 7697), "7698", 7699), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7700", 7701), "7702", 7703), "7704", 7705), "7706", 7707), "7708", 7709), "7710", 7711), "7712", 7713), "7714", 7715), "7716", 7717), "7718", 7719), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7720", 7721), "7722", 7723), "7724", 7725), "7726", 7727), "7728", 7729), "7730", 7731), "7732", 7733), "7734", 7735), "7736", 7737), "7738", 7739), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7740", 7741), "7742", 7743), "7744", 7745), "7746", 7747), "7748", 7749), "7750", 7751), "7752", 7753), "7754", 7755), "7756", 7757), "7758", 7759), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7760", 7761), "7762", 7763), "7764", 7765), "7766", 7767), "7768", 7769), "7770", 7771), "7772", 7773), "7774", 7775), "7776", 7777), "7778", 7779), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7780", 7781), "7782", 7783), "7784", 7785), "7786", 7787), "7788", 7789), "7790", 7791), "7792", 7793), "7794", 7795), "7796", 7797), "7798", 7799), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7800", 7801), "7802", 7803), "7804", 7805), "7806", 7807), "7808", 7809), "7810", 7811), "7812", 7813), "7814", 7815), "7816", 7817), "7818", 7819), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7820", 7821), "7822", 7823), "7824", 7825), "7826", 7827), "7828", 7829), "7777", 7835), "7840", 7841), "7842", 7843), "7844", 7845), "7846", 7847), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7848", 7849), "7850", 7851), "7852", 7853), "7854", 7855), "7856", 7857), "7858", 7859), "7860", 7861), "7862", 7863), "7864", 7865), "7866", 7867), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7868", 7869), "7870", 7871), "7872", 7873), "7874", 7875), "7876", 7877), "7878", 7879), "7880", 7881), "7882", 7883), "7884", 7885), "7886", 7887), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7888", 7889), "7890", 7891), "7892", 7893), "7894", 7895), "7896", 7897), "7898", 7899), "7900", 7901), "7902", 7903), "7904", 7905), "7906", 7907), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7908", 7909), "7910", 7911), "7912", 7913), "7914", 7915), "7916", 7917), "7918", 7919), "7920", 7921), "7922", 7923), "7924", 7925), "7926", 7927), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7928", 7929), "7930", 7931), "7932", 7933), "7934", 7935), "7944", 7936), "7945", 7937), "7946", 7938), "7947", 7939), "7948", 7940), "7949", 7941), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7950", 7942), "7951", 7943), "7960", 7952), "7961", 7953), "7962", 7954), "7963", 7955), "7964", 7956), "7965", 7957), "7976", 7968), "7977", 7969), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7978", 7970), "7979", 7971), "7980", 7972), "7981", 7973), "7982", 7974), "7983", 7975), "7992", 7984), "7993", 7985), "7994", 7986), "7995", 7987), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7996", 7988), "7997", 7989), "7998", 7990), "7999", 7991), "8008", 8000), "8009", 8001), "8010", 8002), "8011", 8003), "8012", 8004), "8013", 8005), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "8025", 8017), "8027", 8019), "8029", 8021), "8031", 8023), "8040", 8032), "8041", 8033), "8042", 8034), "8043", 8035), "8044", 8036), "8045", 8037), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "8046", 8038), "8047", 8039), "8120", 8112), "8121", 8113), "8122", 8048), "8123", 8049), "8126", 953), "8136", 8050), "8137", 8051), "8138", 8052), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "8139", 8053), "8152", 8144), "8153", 8145), "8154", 8054), "8155", 8055), "8168", 8160), "8169", 8161), "8170", 8058), "8171", 8059), "8172", 8165), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "8184", 8056), "8185", 8057), "8186", 8060), "8187", 8061), "8486", 969), "8490", 107), "8491", 229), "8498", 8526), "8544", 8560), "8545", 8561), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "8546", 8562), "8547", 8563), "8548", 8564), "8549", 8565), "8550", 8566), "8551", 8567), "8552", 8568), "8553", 8569), "8554", 8570), "8555", 8571), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "8556", 8572), "8557", 8573), "8558", 8574), "8559", 8575), "8579", 8580), "9398", 9424), "9399", 9425), "9400", 9426), "9401", 9427), "9402", 9428), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "9403", 9429), "9404", 9430), "9405", 9431), "9406", 9432), "9407", 9433), "9408", 9434), "9409", 9435), "9410", 9436), "9411", 9437), "9412", 9438), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "9413", 9439), "9414", 9440), "9415", 9441), "9416", 9442), "9417", 9443), "9418", 9444), "9419", 9445), "9420", 9446), "9421", 9447), "9422", 9448), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "9423", 9449), "11264", 11312), "11265", 11313), "11266", 11314), "11267", 11315), "11268", 11316), "11269", 11317), "11270", 11318), "11271", 11319), "11272", 11320), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11273", 11321), "11274", 11322), "11275", 11323), "11276", 11324), "11277", 11325), "11278", 11326), "11279", 11327), "11280", 11328), "11281", 11329), "11282", 11330), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11283", 11331), "11284", 11332), "11285", 11333), "11286", 11334), "11287", 11335), "11288", 11336), "11289", 11337), "11290", 11338), "11291", 11339), "11292", 11340), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11293", 11341), "11294", 11342), "11295", 11343), "11296", 11344), "11297", 11345), "11298", 11346), "11299", 11347), "11348", 11300), "11349", 11301), "11302", 11350), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11351", 11303), "11304", 11352), "11305", 11353), "11306", 11354), "11307", 11355), "11308", 11356), "11309", 11357), "11310", 11358), "11311", 11359), "11360", 11361), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11362", 619), "11363", 7549), "11364", 637), "11367", 11368), "11369", 11370), "11371", 11372), "11373", 593), "11374", 625), "11375", 592), "11376", 594), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11378", 11379), "11381", 11382), "11390", 575), "11391", 576), "11392", 11393), "11394", 11395), "11396", 11397), "11398", 11399), "11400", 11401), "11402", 11403), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11404", 11405), "11406", 11407), "11408", 11409), "11410", 11411), "11412", 11413), "11414", 11415), "11416", 11417), "11418", 11419), "11420", 11421), "11422", 11423), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11424", 11425), "11426", 11427), "11428", 11429), "11430", 11431), "11432", 11433), "11434", 11435), "11436", 11437), "11438", 11439), "11440", 11441), "11442", 11443), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11444", 11445), "11446", 11447), "11448", 11449), "11450", 11451), "11452", 11453), "11454", 11455), "11456", 11457), "11458", 11459), "11460", 11461), "11462", 11463), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11464", 11465), "11466", 11467), "11468", 11469), "11470", 11471), "11472", 11473), "11474", 11475), "11476", 11477), "11478", 11479), "11480", 11481), "11482", 11483), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11484", 11485), "11486", 11487), "11488", 11489), "11490", 11491), "11499", 11500), "11501", 11502), "11506", 11507), "42560", 42561), "42562", 42563), "42564", 42565), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42566", 42567), "42568", 42569), "42570", 42571), "42572", 42573), "42574", 42575), "42576", 42577), "42578", 42579), "42580", 42581), "42582", 42583), "42584", 42585), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42586", 42587), "42588", 42589), "42590", 42591), "42592", 42593), "42594", 42595), "42596", 42597), "42598", 42599), "42600", 42601), "42602", 42603), "42604", 42605), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42624", 42625), "42626", 42627), "42628", 42629), "42630", 42631), "42632", 42633), "42634", 42635), "42636", 42637), "42638", 42639), "42640", 42641), "42642", 42643), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42644", 42645), "42646", 42647), "42648", 42649), "42650", 42651), "42786", 42787), "42788", 42789), "42790", 42791), "42792", 42793), "42794", 42795), "42796", 42797), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42798", 42799), "42802", 42803), "42804", 42805), "42806", 42807), "42808", 42809), "42810", 42811), "42812", 42813), "42814", 42815), "42816", 42817), "42818", 42819), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42820", 42821), "42822", 42823), "42824", 42825), "42826", 42827), "42828", 42829), "42830", 42831), "42832", 42833), "42834", 42835), "42836", 42837), "42838", 42839), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42840", 42841), "42842", 42843), "42844", 42845), "42846", 42847), "42848", 42849), "42850", 42851), "42852", 42853), "42854", 42855), "42856", 42857), "42858", 42859), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42860", 42861), "42862", 42863), "42873", 42874), "42875", 42876), "42877", 7545), "42878", 42879), "42880", 42881), "42882", 42883), "42884", 42885), "42886", 42887), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42891", 42892), "42893", 613), "42896", 42897), "42898", 42899), "42902", 42903), "42904", 42905), "42906", 42907), "42908", 42909), "42910", 42911), "42912", 42913), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42914", 42915), "42916", 42917), "42918", 42919), "42920", 42921), "42922", 614), "42923", 604), "42924", 609), "42925", 620), "618", 42926), "42928", 670), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42929", 647), "42930", 669), "42931", 43859), "42932", 42933), "42934", 42935), "42936", 42937), "42938", 42939), "42940", 42941), "42942", 42943), "42944", 42945), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42946", 42947), "42948", 42900), "42949", 642), "42950", 7566), "42951", 42952), "42953", 42954), "42960", 42961), "42966", 42967), "42968", 42969), "42997", 42998), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5024", 43888), "5025", 43889), "5026", 43890), "5027", 43891), "5028", 43892), "5029", 43893), "5030", 43894), "5031", 43895), "5032", 43896), "5033", 43897), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5034", 43898), "5035", 43899), "5036", 43900), "5037", 43901), "5038", 43902), "5039", 43903), "5040", 43904), "5041", 43905), "5042", 43906), "5043", 43907), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5044", 43908), "5045", 43909), "5046", 43910), "5047", 43911), "5048", 43912), "5049", 43913), "5050", 43914), "5051", 43915), "5052", 43916), "5053", 43917), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5054", 43918), "5055", 43919), "5056", 43920), "5057", 43921), "5058", 43922), "5059", 43923), "5060", 43924), "5061", 43925), "5062", 43926), "5063", 43927), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5064", 43928), "5065", 43929), "5066", 43930), "5067", 43931), "5068", 43932), "5069", 43933), "5070", 43934), "5071", 43935), "5072", 43936), "5073", 43937), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5074", 43938), "5075", 43939), "5076", 43940), "5077", 43941), "5078", 43942), "5079", 43943), "5080", 43944), "5081", 43945), "5082", 43946), "5083", 43947), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5084", 43948), "5085", 43949), "5086", 43950), "5087", 43951), "5088", 43952), "5089", 43953), "5090", 43954), "5091", 43955), "5092", 43956), "5093", 43957), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5094", 43958), "5095", 43959), "5096", 43960), "5097", 43961), "5098", 43962), "5099", 43963), "5100", 43964), "5101", 43965), "5102", 43966), "5103", 43967), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "65313", 65345), "65314", 65346), "65315", 65347), "65316", 65348), "65317", 65349), "65318", 65350), "65319", 65351), "65320", 65352), "65321", 65353), "65322", 65354), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "65323", 65355), "65324", 65356), "65325", 65357), "65326", 65358), "65327", 65359), "65328", 65360), "65329", 65361), "65330", 65362), "65331", 65363), "65332", 65364), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "65333", 65365), "65334", 65366), "65335", 65367), "65336", 65368), "65337", 65369), "65338", 65370), "66560", 66600), "66561", 66601), "66562", 66602), "66563", 66603), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66564", 66604), "66565", 66605), "66566", 66606), "66567", 66607), "66568", 66608), "66569", 66609), "66570", 66610), "66571", 66611), "66572", 66612), "66573", 66613), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66574", 66614), "66575", 66615), "66576", 66616), "66577", 66617), "66578", 66618), "66579", 66619), "66580", 66620), "66581", 66621), "66582", 66622), "66583", 66623), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66584", 66624), "66585", 66625), "66586", 66626), "66587", 66627), "66588", 66628), "66589", 66629), "66590", 66630), "66591", 66631), "66592", 66632), "66593", 66633), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66594", 66634), "66595", 66635), "66596", 66636), "66597", 66637), "66598", 66638), "66599", 66639), "66736", 66776), "66737", 66777), "66738", 66778), "66739", 66779), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66740", 66780), "66741", 66781), "66742", 66782), "66743", 66783), "66744", 66784), "66745", 66785), "66746", 66786), "66747", 66787), "66748", 66788), "66749", 66789), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66750", 66790), "66751", 66791), "66752", 66792), "66753", 66793), "66754", 66794), "66755", 66795), "66756", 66796), "66757", 66797), "66758", 66798), "66759", 66799), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66760", 66800), "66761", 66801), "66762", 66802), "66763", 66803), "66764", 66804), "66765", 66805), "66766", 66806), "66767", 66807), "66768", 66808), "66769", 66809), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66770", 66810), "66771", 66811), "66928", 66967), "66929", 66968), "66930", 66969), "66931", 66970), "66932", 66971), "66933", 66972), "66934", 66973), "66935", 66974), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66936", 66975), "66937", 66976), "66938", 66977), "66940", 66979), "66941", 66980), "66942", 66981), "66943", 66982), "66944", 66983), "66945", 66984), "66946", 66985), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66947", 66986), "66948", 66987), "66949", 66988), "66950", 66989), "66951", 66990), "66952", 66991), "66953", 66992), "66954", 66993), "66956", 66995), "66957", 66996), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66958", 66997), "66959", 66998), "66960", 66999), "66961", 67000), "66962", 67001), "66964", 67003), "66965", 67004), "68736", 68800), "68737", 68801), "68738", 68802), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "68739", 68803), "68740", 68804), "68741", 68805), "68742", 68806), "68743", 68807), "68744", 68808), "68745", 68809), "68746", 68810), "68747", 68811), "68748", 68812), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "68749", 68813), "68750", 68814), "68751", 68815), "68752", 68816), "68753", 68817), "68754", 68818), "68755", 68819), "68756", 68820), "68757", 68821), "68758", 68822), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "68759", 68823), "68760", 68824), "68761", 68825), "68762", 68826), "68763", 68827), "68764", 68828), "68765", 68829), "68766", 68830), "68767", 68831), "68768", 68832), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "68769", 68833), "68770", 68834), "68771", 68835), "68772", 68836), "68773", 68837), "68774", 68838), "68775", 68839), "68776", 68840), "68777", 68841), "68778", 68842), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "68779", 68843), "68780", 68844), "68781", 68845), "68782", 68846), "68783", 68847), "68784", 68848), "68785", 68849), "68786", 68850), "71840", 71872), "71841", 71873), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "71842", 71874), "71843", 71875), "71844", 71876), "71845", 71877), "71846", 71878), "71847", 71879), "71848", 71880), "71849", 71881), "71850", 71882), "71851", 71883), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "71852", 71884), "71853", 71885), "71854", 71886), "71855", 71887), "71856", 71888), "71857", 71889), "71858", 71890), "71859", 71891), "71860", 71892), "71861", 71893), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "71862", 71894), "71863", 71895), "71864", 71896), "71865", 71897), "71866", 71898), "71867", 71899), "71868", 71900), "71869", 71901), "71870", 71902), "71871", 71903), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "93760", 93792), "93761", 93793), "93762", 93794), "93763", 93795), "93764", 93796), "93765", 93797), "93766", 93798), "93767", 93799), "93768", 93800), "93769", 93801), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "93770", 93802), "93771", 93803), "93772", 93804), "93773", 93805), "93774", 93806), "93775", 93807), "93776", 93808), "93777", 93809), "93778", 93810), "93779", 93811), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "93780", 93812), "93781", 93813), "93782", 93814), "93783", 93815), "93784", 93816), "93785", 93817), "93786", 93818), "93787", 93819), "93788", 93820), "93789", 93821), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "93790", 93822), "93791", 93823), "125184", 125218), "125185", 125219), "125186", 125220), "125187", 125221), "125188", 125222), "125189", 125223), "125190", 125224), "125191", 125225), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "125192", 125226), "125193", 125227), "125194", 125228), "125195", 125229), "125196", 125230), "125197", 125231), "125198", 125232), "125199", 125233), "125200", 125234), "125201", 125235), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "125202", 125236), "125203", 125237), "125204", 125238), "125205", 125239), "125206", 125240), "125207", 125241), "125208", 125242), "125209", 125243), "125210", 125244), "125211", 125245), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "125212", 125246), "125213", 125247), "125214", 125248), "125215", 125249), "125216", 125250), "125217", 125251)); +// ---------------------------------------------------------------------- +function foldcase_string(string) { + return Array.from(string).map(function (str) { + var ord = str.codePointAt(0); + var output = fold_case_mapping[ord]; + if (output) { + return String.fromCodePoint(output); + } + return str; + }).join(''); +} +// ---------------------------------------------------------------------- // :: Flatten nested arrays // :: ref: https://stackoverflow.com/a/27282907/387194 // ---------------------------------------------------------------------- @@ -11834,6 +12382,8 @@ var global_env = new Environment({ global_env.get('newline')(port); }, "(display-error . args)\n\n Display an error message on stderr."), // ------------------------------------------------------------------ + '%foldcase-string': doc('%foldcase-string', foldcase_string, "(%foldcase-string string)\n\n Same as string-foldcase but without typechecking"), + // ------------------------------------------------------------------ '%same-functions': doc('%same-functions', function (a, b) { if (!is_function(a)) { return false; @@ -15609,10 +16159,10 @@ if (typeof window !== 'undefined') { // ------------------------------------------------------------------------- var banner = function () { // Rollup tree-shaking is removing the variable if it's normal string because - // obviously 'Sun, 17 Mar 2024 22:45:05 +0000' == '{{' + 'DATE}}'; can be removed + // obviously 'Fri, 22 Mar 2024 12:40:41 +0000' == '{{' + 'DATE}}'; can be removed // but disabling Tree-shaking is adding lot of not used code so we use this // hack instead - var date = LString('Sun, 17 Mar 2024 22:45:05 +0000').valueOf(); + var date = LString('Fri, 22 Mar 2024 12:40:41 +0000').valueOf(); var _date = date === '{{' + 'DATE}}' ? new Date() : new Date(date); var _format = function _format(x) { return x.toString().padStart(2, '0'); @@ -15652,7 +16202,7 @@ read_only(QuotedPromise, '__class__', 'promise'); read_only(Parameter, '__class__', 'parameter'); // ------------------------------------------------------------------------- var version = 'DEV'; -var date = 'Sun, 17 Mar 2024 22:45:05 +0000'; +var date = 'Fri, 22 Mar 2024 12:40:41 +0000'; // unwrap async generator into Promise var parse = compose(uniterate_async, _parse); diff --git a/dist/lips.esm.min.js b/dist/lips.esm.min.js index 0bc72993f..98095d3f7 100644 --- a/dist/lips.esm.min.js +++ b/dist/lips.esm.min.js @@ -31,9 +31,9 @@ * Copyright (c) 2014-present, Facebook, Inc. * released under MIT license * - * build: Sun, 17 Mar 2024 22:45:05 +0000 + * build: Fri, 22 Mar 2024 12:40:41 +0000 */ -function _classApplyDescriptorGet(e,t){if(t.get){return t.get.call(e)}return t.value}function _classExtractFieldDescriptor(e,t,r){if(!t.has(e)){throw new TypeError("attempted to "+r+" private field on non-instance")}return t.get(e)}function _classPrivateFieldGet(e,t){var r=_classExtractFieldDescriptor(e,t,"get");return _classApplyDescriptorGet(e,r)}function _classApplyDescriptorSet(e,t,r){if(t.set){t.set.call(e,r)}else{if(!t.writable){throw new TypeError("attempted to set read only private field")}t.value=r}}function _classPrivateFieldSet(e,t,r){var n=_classExtractFieldDescriptor(e,t,"set");_classApplyDescriptorSet(e,n,r);return r}function _getPrototypeOf(e){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function e(t){return t.__proto__||Object.getPrototypeOf(t)};return _getPrototypeOf(e)}function _setPrototypeOf(e,t){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,r){t.__proto__=r;return t};return _setPrototypeOf(e,t)}function _isNativeFunction(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch(e){return typeof t==="function"}}function _isNativeReflectConstruct$1(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(_isNativeReflectConstruct$1=function e(){return!!t})()}function _construct(e,t,r){if(_isNativeReflectConstruct$1())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,t);var i=new(e.bind.apply(e,n));return r&&_setPrototypeOf(i,r.prototype),i}function _wrapNativeSuper(e){var n=typeof Map==="function"?new Map:undefined;_wrapNativeSuper=function e(t){if(t===null||!_isNativeFunction(t))return t;if(typeof t!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof n!=="undefined"){if(n.has(t))return n.get(t);n.set(t,r)}function r(){return _construct(t,arguments,_getPrototypeOf(this).constructor)}r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:false,writable:true,configurable:true}});return _setPrototypeOf(r,t)};return _wrapNativeSuper(e)}function _typeof$1(e){"@babel/helpers - typeof";return _typeof$1="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$1(e)}function _assertThisInitialized(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function _possibleConstructorReturn(e,t){if(t&&(_typeof$1(t)==="object"||typeof t==="function")){return t}else if(t!==void 0){throw new TypeError("Derived constructors may only return object or undefined")}return _assertThisInitialized(e)}function _inherits(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});Object.defineProperty(e,"prototype",{writable:false});if(t)_setPrototypeOf(e,t)}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _iterableToArray(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function _arrayLikeToArray$1(e,t){if(t==null||t>e.length)t=e.length;for(var r=0,n=new Array(t);r=0)continue;r[i]=e[i]}return r}function _objectWithoutProperties(e,t){if(e==null)return{};var r=_objectWithoutPropertiesLoose(e,t);var n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,n))continue;r[n]=e[n]}}return r}function _iterableToArrayLimit(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,a,o,u=[],s=!0,c=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r["return"]&&(o=r["return"](),Object(o)!==o))return}finally{if(c)throw i}}return u}}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray$1(e,t)||_nonIterableRest()}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray$1(e)}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray$1(e)||_nonIterableSpread()}function _OverloadYield(e,t){this.v=e,this.k=t}function _awaitAsyncGenerator(e){return new _OverloadYield(e,0)}function AsyncGenerator(o){var a,u;function s(r,e){try{var n=o[r](e),i=n.value,a=i instanceof _OverloadYield;Promise.resolve(a?i.v:i).then(function(e){if(a){var t="return"===r?"return":"next";if(!i.k||e.done)return s(t,e);e=o[t](e).value}c(n.done?"return":"normal",e)},function(e){s("throw",e)})}catch(e){c("throw",e)}}function c(e,t){switch(e){case"return":a.resolve({value:t,done:!0});break;case"throw":a.reject(t);break;default:a.resolve({value:t,done:!1})}(a=a.next)?s(a.key,a.arg):u=null}this._invoke=function(n,i){return new Promise(function(e,t){var r={key:n,arg:i,resolve:e,reject:t,next:null};u?u=u.next=r:(a=u=r,s(n,i))})},"function"!=typeof o["return"]&&(this["return"]=void 0)}AsyncGenerator.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},AsyncGenerator.prototype.next=function(e){return this._invoke("next",e)},AsyncGenerator.prototype["throw"]=function(e){return this._invoke("throw",e)},AsyncGenerator.prototype["return"]=function(e){return this._invoke("return",e)};function _wrapAsyncGenerator(e){return function(){return new AsyncGenerator(e.apply(this,arguments))}}function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e["default"]:e}var regeneratorRuntime$1={exports:{}};var _typeof={exports:{}};(function(t){function r(e){"@babel/helpers - typeof";return t.exports=r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t.exports.__esModule=true,t.exports["default"]=t.exports,r(e)}t.exports=r,t.exports.__esModule=true,t.exports["default"]=t.exports})(_typeof);var _typeofExports=_typeof.exports;(function(P){var N=_typeofExports["default"];function B(){P.exports=B=function e(){return o},P.exports.__esModule=true,P.exports["default"]=P.exports;var c,o={},e=Object.prototype,l=e.hasOwnProperty,f=Object.defineProperty||function(e,t,r){e[t]=r.value},t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",r=t.asyncIterator||"@@asyncIterator",n=t.toStringTag||"@@toStringTag";function a(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{a({},"")}catch(c){a=function e(t,r,n){return t[r]=n}}function u(e,t,r,n){var i=t&&t.prototype instanceof s?t:s,a=Object.create(i.prototype),o=new C(n||[]);return f(a,"_invoke",{value:S(e,r,o)}),a}function _(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}o.wrap=u;var p="suspendedStart",d="suspendedYield",h="executing",m="completed",y={};function s(){}function v(){}function b(){}var g={};a(g,i,function(){return this});var w=Object.getPrototypeOf,D=w&&w(w(O([])));D&&D!==e&&l.call(D,i)&&(g=D);var x=b.prototype=s.prototype=Object.create(g);function L(e){["next","throw","return"].forEach(function(t){a(e,t,function(e){return this._invoke(t,e)})})}function E(u,s){function c(e,t,r,n){var i=_(u[e],u,t);if("throw"!==i.type){var a=i.arg,o=a.value;return o&&"object"==N(o)&&l.call(o,"__await")?s.resolve(o.__await).then(function(e){c("next",e,r,n)},function(e){c("throw",e,r,n)}):s.resolve(o).then(function(e){a.value=e,r(a)},function(e){return c("throw",e,r,n)})}n(i.arg)}var i;f(this,"_invoke",{value:function e(r,n){function t(){return new s(function(e,t){c(r,n,e,t)})}return i=i?i.then(t,t):t()}})}function S(a,o,u){var s=p;return function(e,t){if(s===h)throw new Error("Generator is already running");if(s===m){if("throw"===e)throw t;return{value:c,done:!0}}for(u.method=e,u.arg=t;;){var r=u.delegate;if(r){var n=A(r,u);if(n){if(n===y)continue;return n}}if("next"===u.method)u.sent=u._sent=u.arg;else if("throw"===u.method){if(s===p)throw s=m,u.arg;u.dispatchException(u.arg)}else"return"===u.method&&u.abrupt("return",u.arg);s=h;var i=_(a,o,u);if("normal"===i.type){if(s=u.done?m:d,i.arg===y)continue;return{value:i.arg,done:u.done}}"throw"===i.type&&(s=m,u.method="throw",u.arg=i.arg)}}}function A(e,t){var r=t.method,n=e.iterator[r];if(n===c)return t.delegate=null,"throw"===r&&e.iterator["return"]&&(t.method="return",t.arg=c,A(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),y;var i=_(n,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,y;var a=i.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=c),t.delegate=null,y):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,y)}function F(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function k(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function C(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(F,this),this.reset(!0)}function O(t){if(t||""===t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,n=function e(){for(;++r=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return t("end");if(a.tryLoc<=this.prev){var u=l.call(a,"catchLoc"),s=l.call(a,"finallyLoc");if(u&&s){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&l.call(i,"finallyLoc")&&this.prev=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),k(n),y}},catch:function e(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var a=i.arg;k(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function e(t,r,n){return this.delegate={iterator:O(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=c),y}},o}P.exports=B,P.exports.__esModule=true,P.exports["default"]=P.exports})(regeneratorRuntime$1);var regeneratorRuntimeExports=regeneratorRuntime$1.exports;var runtime=regeneratorRuntimeExports();var regenerator=runtime;try{regeneratorRuntime=runtime}catch(e){if(typeof globalThis==="object"){globalThis.regeneratorRuntime=runtime}else{Function("r","regeneratorRuntime = r")(runtime)}}var _regeneratorRuntime=getDefaultExportFromCjs(regenerator);let decoder;try{decoder=new TextDecoder}catch(e){}let src;let srcEnd;let position$1=0;const LEGACY_RECORD_INLINE_ID=105;const RECORD_DEFINITIONS_ID=57342;const RECORD_INLINE_ID=57343;const BUNDLED_STRINGS_ID=57337;const PACKED_REFERENCE_TAG_ID=6;const STOP_CODE={};let currentDecoder={};let currentStructures;let srcString;let srcStringStart=0;let srcStringEnd=0;let bundledStrings$1;let referenceMap;let currentExtensions=[];let currentExtensionRanges=[];let packedValues;let dataView;let restoreMapsAsObject;let defaultOptions={useRecords:false,mapsAsObjects:true};let sequentialMode=false;let inlineObjectReadThreshold=2;try{new Function("")}catch(e){inlineObjectReadThreshold=Infinity}class Decoder{constructor(r){if(r){if((r.keyMap||r._keyMap)&&!r.useRecords){r.useRecords=false;r.mapsAsObjects=true}if(r.useRecords===false&&r.mapsAsObjects===undefined)r.mapsAsObjects=true;if(r.getStructures)r.getShared=r.getStructures;if(r.getShared&&!r.structures)(r.structures=[]).uninitialized=true;if(r.keyMap){this.mapKey=new Map;for(let[e,t]of Object.entries(r.keyMap))this.mapKey.set(t,e)}}Object.assign(this,r)}decodeKey(e){return this.keyMap?this.mapKey.get(e)||e:e}encodeKey(e){return this.keyMap&&this.keyMap.hasOwnProperty(e)?this.keyMap[e]:e}encodeKeys(r){if(!this._keyMap)return r;let n=new Map;for(let[e,t]of Object.entries(r))n.set(this._keyMap.hasOwnProperty(e)?this._keyMap[e]:e,t);return n}decodeKeys(e){if(!this._keyMap||e.constructor.name!="Map")return e;if(!this._mapKey){this._mapKey=new Map;for(let[e,t]of Object.entries(this._keyMap))this._mapKey.set(t,e)}let r={};e.forEach((e,t)=>r[safeKey(this._mapKey.has(t)?this._mapKey.get(t):t)]=e);return r}mapDecode(e,t){let r=this.decode(e);if(this._keyMap){switch(r.constructor.name){case"Array":return r.map(e=>this.decodeKeys(e))}}return r}decode(t,e){if(src){return saveState(()=>{clearSource();return this?this.decode(t,e):Decoder.prototype.decode.call(defaultOptions,t,e)})}srcEnd=e>-1?e:t.length;position$1=0;srcStringEnd=0;srcString=null;bundledStrings$1=null;src=t;try{dataView=t.dataView||(t.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength))}catch(e){src=null;if(t instanceof Uint8Array)throw e;throw new Error("Source must be a Uint8Array or Buffer but was a "+(t&&typeof t=="object"?t.constructor.name:typeof t))}if(this instanceof Decoder){currentDecoder=this;packedValues=this.sharedValues&&(this.pack?new Array(this.maxPrivatePackedValues||16).concat(this.sharedValues):this.sharedValues);if(this.structures){currentStructures=this.structures;return checkedRead()}else if(!currentStructures||currentStructures.length>0){currentStructures=[]}}else{currentDecoder=defaultOptions;if(!currentStructures||currentStructures.length>0)currentStructures=[];packedValues=null}return checkedRead()}decodeMultiple(r,n){let i,a=0;try{let e=r.length;sequentialMode=true;let t=this?this.decode(r,e):defaultDecoder.decode(r,e);if(n){if(n(t)===false){return}while(position$1=bundledStrings$1.postBundlePosition){let e=new Error("Unexpected bundle position");e.incomplete=true;throw e}position$1=bundledStrings$1.postBundlePosition;bundledStrings$1=null}if(position$1==srcEnd){currentStructures=null;src=null;if(referenceMap)referenceMap=null}else if(position$1>srcEnd){let e=new Error("Unexpected end of CBOR data");e.incomplete=true;throw e}else if(!sequentialMode){throw new Error("Data read, but end of buffer not reached")}return e}catch(e){clearSource();if(e instanceof RangeError||e.message.startsWith("Unexpected end of buffer")){e.incomplete=true}throw e}}function read(){let n=src[position$1++];let i=n>>5;n=n&31;if(n>23){switch(n){case 24:n=src[position$1++];break;case 25:if(i==7){return getFloat16()}n=dataView.getUint16(position$1);position$1+=2;break;case 26:if(i==7){let t=dataView.getFloat32(position$1);if(currentDecoder.useFloat32>2){let e=mult10[(src[position$1]&127)<<1|src[position$1+1]>>7];position$1+=4;return(e*t+(t>0?.5:-.5)>>0)/e}position$1+=4;return t}n=dataView.getUint32(position$1);position$1+=4;break;case 27:if(i==7){let e=dataView.getFloat64(position$1);position$1+=8;return e}if(i>1){if(dataView.getUint32(position$1)>0)throw new Error("JavaScript does not support arrays, maps, or strings with length over 4294967295");n=dataView.getUint32(position$1+4)}else if(currentDecoder.int64AsNumber){n=dataView.getUint32(position$1)*4294967296;n+=dataView.getUint32(position$1+4)}else n=dataView.getBigUint64(position$1);position$1+=8;break;case 31:switch(i){case 2:case 3:throw new Error("Indefinite length not supported for byte or text strings");case 4:let e=[];let t,r=0;while((t=read())!=STOP_CODE){e[r++]=t}return i==4?e:i==3?e.join(""):Buffer.concat(e);case 5:let n;if(currentDecoder.mapsAsObjects){let e={};if(currentDecoder.keyMap)while((n=read())!=STOP_CODE)e[safeKey(currentDecoder.decodeKey(n))]=read();else while((n=read())!=STOP_CODE)e[safeKey(n)]=read();return e}else{if(restoreMapsAsObject){currentDecoder.mapsAsObjects=true;restoreMapsAsObject=false}let e=new Map;if(currentDecoder.keyMap)while((n=read())!=STOP_CODE)e.set(currentDecoder.decodeKey(n),read());else while((n=read())!=STOP_CODE)e.set(n,read());return e}case 7:return STOP_CODE;default:throw new Error("Invalid major type for indefinite length "+i)}default:throw new Error("Unknown token "+n)}}switch(i){case 0:return n;case 1:return~n;case 2:return readBin(n);case 3:if(srcStringEnd>=position$1){return srcString.slice(position$1-srcStringStart,(position$1+=n)-srcStringStart)}if(srcStringEnd==0&&srcEnd<140&&n<32){let e=n<16?shortStringInJS(n):longStringInJS(n);if(e!=null)return e}return readFixedString(n);case 4:let t=new Array(n);for(let e=0;e=BUNDLED_STRINGS_ID){let e=currentStructures[n&8191];if(e){if(!e.read)e.read=createStructureReader(e);return e.read()}if(n<65536){if(n==RECORD_INLINE_ID){let e=readJustLength();let t=read();let r=read();recordDefinition(t,r);let n={};if(currentDecoder.keyMap)for(let t=2;t23){switch(t){case 24:t=src[position$1++];break;case 25:t=dataView.getUint16(position$1);position$1+=2;break;case 26:t=dataView.getUint32(position$1);position$1+=4;break;default:throw new Error("Expected array header, but got "+src[position$1-1])}}let r=this.compiledReader;while(r){if(r.propertyCount===t)return r(read);r=r.next}if(this.slowReads++>=inlineObjectReadThreshold){let e=this.length==t?this:this.slice(0,t);r=currentDecoder.keyMap?new Function("r","return {"+e.map(e=>currentDecoder.decodeKey(e)).map(e=>validName.test(e)?safeKey(e)+":r()":"["+JSON.stringify(e)+"]:r()").join(",")+"}"):new Function("r","return {"+e.map(e=>validName.test(e)?safeKey(e)+":r()":"["+JSON.stringify(e)+"]:r()").join(",")+"}");if(this.compiledReader)r.next=this.compiledReader;r.propertyCount=t;this.compiledReader=r;return r(read)}let n={};if(currentDecoder.keyMap)for(let e=0;e64&&decoder)return decoder.decode(src.subarray(position$1,position$1+=e));const r=position$1+e;const n=[];t="";while(position$165535){e-=65536;n.push(e>>>10&1023|55296);e=56320|e&1023}n.push(e)}else{n.push(i)}if(n.length>=4096){t+=fromCharCode.apply(String,n);n.length=0}}if(n.length>0){t+=fromCharCode.apply(String,n)}return t}let fromCharCode=String.fromCharCode;function longStringInJS(t){let r=position$1;let n=new Array(t);for(let e=0;e0){position$1=r;return}n[e]=i}return fromCharCode.apply(String,n)}function shortStringInJS(h){if(h<4){if(h<2){if(h===0)return"";else{let e=src[position$1++];if((e&128)>1){position$1-=1;return}return fromCharCode(e)}}else{let e=src[position$1++];let t=src[position$1++];if((e&128)>0||(t&128)>0){position$1-=2;return}if(h<3)return fromCharCode(e,t);let r=src[position$1++];if((r&128)>0){position$1-=3;return}return fromCharCode(e,t,r)}}else{let f=src[position$1++];let _=src[position$1++];let p=src[position$1++];let d=src[position$1++];if((f&128)>0||(_&128)>0||(p&128)>0||(d&128)>0){position$1-=4;return}if(h<6){if(h===4)return fromCharCode(f,_,p,d);else{let e=src[position$1++];if((e&128)>0){position$1-=5;return}return fromCharCode(f,_,p,d,e)}}else if(h<8){let e=src[position$1++];let t=src[position$1++];if((e&128)>0||(t&128)>0){position$1-=6;return}if(h<7)return fromCharCode(f,_,p,d,e,t);let r=src[position$1++];if((r&128)>0){position$1-=7;return}return fromCharCode(f,_,p,d,e,t,r)}else{let u=src[position$1++];let s=src[position$1++];let c=src[position$1++];let l=src[position$1++];if((u&128)>0||(s&128)>0||(c&128)>0||(l&128)>0){position$1-=8;return}if(h<10){if(h===8)return fromCharCode(f,_,p,d,u,s,c,l);else{let e=src[position$1++];if((e&128)>0){position$1-=9;return}return fromCharCode(f,_,p,d,u,s,c,l,e)}}else if(h<12){let e=src[position$1++];let t=src[position$1++];if((e&128)>0||(t&128)>0){position$1-=10;return}if(h<11)return fromCharCode(f,_,p,d,u,s,c,l,e,t);let r=src[position$1++];if((r&128)>0){position$1-=11;return}return fromCharCode(f,_,p,d,u,s,c,l,e,t,r)}else{let n=src[position$1++];let i=src[position$1++];let a=src[position$1++];let o=src[position$1++];if((n&128)>0||(i&128)>0||(a&128)>0||(o&128)>0){position$1-=12;return}if(h<14){if(h===12)return fromCharCode(f,_,p,d,u,s,c,l,n,i,a,o);else{let e=src[position$1++];if((e&128)>0){position$1-=13;return}return fromCharCode(f,_,p,d,u,s,c,l,n,i,a,o,e)}}else{let e=src[position$1++];let t=src[position$1++];if((e&128)>0||(t&128)>0){position$1-=14;return}if(h<15)return fromCharCode(f,_,p,d,u,s,c,l,n,i,a,o,e,t);let r=src[position$1++];if((r&128)>0){position$1-=15;return}return fromCharCode(f,_,p,d,u,s,c,l,n,i,a,o,e,t,r)}}}}}function readBin(e){return currentDecoder.copyBuffers?Uint8Array.prototype.slice.call(src,position$1,position$1+=e):src.subarray(position$1,position$1+=e)}let f32Array=new Float32Array(1);let u8Array=new Uint8Array(f32Array.buffer,0,4);function getFloat16(){let t=src[position$1++];let r=src[position$1++];let e=(t&127)>>2;if(e===31){if(r||t&3)return NaN;return t&128?-Infinity:Infinity}if(e===0){let e=((t&3)<<8|r)/(1<<24);return t&128?-e:e}u8Array[3]=t&128|(e>>1)+56;u8Array[2]=(t&7)<<5|r>>3;u8Array[1]=r<<5;u8Array[0]=0;return f32Array[0]}new Array(4096);class Tag{constructor(e,t){this.value=e;this.tag=t}}currentExtensions[0]=e=>{return new Date(e)};currentExtensions[1]=e=>{return new Date(Math.round(e*1e3))};currentExtensions[2]=r=>{let n=BigInt(0);for(let e=0,t=r.byteLength;e{return BigInt(-1)-currentExtensions[2](e)};currentExtensions[4]=e=>{return+(e[1]+"e"+e[0])};currentExtensions[5]=e=>{return e[1]*Math.exp(e[0]*Math.log(2))};const recordDefinition=(e,t)=>{e=e-57344;let r=currentStructures[e];if(r&&r.isShared){(currentStructures.restoreStructures||(currentStructures.restoreStructures=[]))[e]=r}currentStructures[e]=t;t.read=createStructureReader(t)};currentExtensions[LEGACY_RECORD_INLINE_ID]=r=>{let e=r.length;let n=r[1];recordDefinition(r[0],n);let i={};for(let t=2;t{if(bundledStrings$1)return bundledStrings$1[0].slice(bundledStrings$1.position0,bundledStrings$1.position0+=e);return new Tag(e,14)};currentExtensions[15]=e=>{if(bundledStrings$1)return bundledStrings$1[1].slice(bundledStrings$1.position1,bundledStrings$1.position1+=e);return new Tag(e,15)};let glbl={Error:Error,RegExp:RegExp};currentExtensions[27]=e=>{return(glbl[e[0]]||Error)(e[1],e[2])};const packedTable=e=>{if(src[position$1++]!=132){let e=new Error("Packed values structure must be followed by a 4 element array");if(src.length{if(!packedValues){if(currentDecoder.getShared)loadShared();else return new Tag(e,PACKED_REFERENCE_TAG_ID)}if(typeof e=="number")return packedValues[16+(e>=0?2*e:-2*e-1)];let t=new Error("No support for non-integer packed references yet");if(e===undefined)t.incomplete=true;throw t};currentExtensions[28]=e=>{if(!referenceMap){referenceMap=new Map;referenceMap.id=0}let t=referenceMap.id++;let r=src[position$1];let n;if(r>>5==4)n=[];else n={};let i={target:n};referenceMap.set(t,i);let a=e();if(i.used)return Object.assign(n,a);i.target=a;return a};currentExtensions[28].handlesRead=true;currentExtensions[29]=e=>{let t=referenceMap.get(e);t.used=true;return t.target};currentExtensions[258]=e=>new Set(e);(currentExtensions[259]=e=>{if(currentDecoder.mapsAsObjects){currentDecoder.mapsAsObjects=false;restoreMapsAsObject=true}return e()}).handlesRead=true;function combine(e,t){if(typeof e==="string")return e+t;if(e instanceof Array)return e.concat(t);return Object.assign({},e,t)}function getPackedValues(){if(!packedValues){if(currentDecoder.getShared)loadShared();else throw new Error("No packed values available")}return packedValues}const SHARED_DATA_TAG_ID=1399353956;currentExtensionRanges.push((e,t)=>{if(e>=225&&e<=255)return combine(getPackedValues().prefixes[e-224],t);if(e>=28704&&e<=32767)return combine(getPackedValues().prefixes[e-28672],t);if(e>=1879052288&&e<=2147483647)return combine(getPackedValues().prefixes[e-1879048192],t);if(e>=216&&e<=223)return combine(t,getPackedValues().suffixes[e-216]);if(e>=27647&&e<=28671)return combine(t,getPackedValues().suffixes[e-27639]);if(e>=1811940352&&e<=1879048191)return combine(t,getPackedValues().suffixes[e-1811939328]);if(e==SHARED_DATA_TAG_ID){return{packedValues:packedValues,structures:currentStructures.slice(0),version:t}}if(e==55799)return t});const isLittleEndianMachine$1=new Uint8Array(new Uint16Array([1]).buffer)[0]==1;const typedArrays=[Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array=="undefined"?{name:"BigUint64Array"}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array=="undefined"?{name:"BigInt64Array"}:BigInt64Array,Float32Array,Float64Array];const typedArrayTags=[64,68,69,70,71,72,77,78,79,85,86];for(let e=0;e{if(!u)throw new Error("Could not find typed array for code "+s);if(!currentDecoder.copyBuffers){if(t===1||t===2&&!(e.byteOffset&1)||t===4&&!(e.byteOffset&3)||t===8&&!(e.byteOffset&7))return new u(e.buffer,e.byteOffset,e.byteLength)}return new u(Uint8Array.prototype.slice.call(e,0).buffer)}:e=>{if(!u)throw new Error("Could not find typed array for code "+s);let t=new DataView(e.buffer,e.byteOffset,e.byteLength);let r=e.length>>a;let n=new u(r);let i=t[c];for(let e=0;e23){switch(e){case 24:e=src[position$1++];break;case 25:e=dataView.getUint16(position$1);position$1+=2;break;case 26:e=dataView.getUint32(position$1);position$1+=4;break}}return e}function loadShared(){if(currentDecoder.getShared){let e=saveState(()=>{src=null;return currentDecoder.getShared()})||{};let t=e.structures||[];currentDecoder.sharedVersion=e.version;packedValues=currentDecoder.sharedValues=e.packedValues;if(currentStructures===true)currentDecoder.structures=currentStructures=t;else currentStructures.splice.apply(currentStructures,[0,t.length].concat(t))}}function saveState(e){let t=srcEnd;let r=position$1;let n=srcStringStart;let i=srcStringEnd;let a=srcString;let o=referenceMap;let u=bundledStrings$1;let s=new Uint8Array(src.slice(0,srcEnd));let c=currentStructures;let l=currentDecoder;let f=sequentialMode;let _=e();srcEnd=t;position$1=r;srcStringStart=n;srcStringEnd=i;srcString=a;referenceMap=o;bundledStrings$1=u;src=s;sequentialMode=f;currentStructures=c;currentDecoder=l;dataView=new DataView(src.buffer,src.byteOffset,src.byteLength);return _}function clearSource(){src=null;referenceMap=null;currentStructures=null}function addExtension$1(e){currentExtensions[e.tag]=e.decode}const mult10=new Array(147);for(let e=0;e<256;e++){mult10[e]=+("1e"+Math.floor(45.15-e*.30103))}let defaultDecoder=new Decoder({useRecords:false});defaultDecoder.decode;defaultDecoder.decodeMultiple;let textEncoder;try{textEncoder=new TextEncoder}catch(e){}let extensions,extensionClasses;const Buffer$1=typeof globalThis==="object"&&globalThis.Buffer;const hasNodeBuffer=typeof Buffer$1!=="undefined";const ByteArrayAllocate=hasNodeBuffer?Buffer$1.allocUnsafeSlow:Uint8Array;const ByteArray=hasNodeBuffer?Buffer$1:Uint8Array;const MAX_STRUCTURES=256;const MAX_BUFFER_SIZE=hasNodeBuffer?4294967296:2144337920;let throwOnIterable;let target;let targetView;let position=0;let safeEnd;let bundledStrings=null;const MAX_BUNDLE_SIZE=61440;const hasNonLatin=/[\u0080-\uFFFF]/;const RECORD_SYMBOL=Symbol("record-id");class Encoder extends Decoder{constructor(r){super(r);this.offset=0;let s;let o;let l;let f;let n;r=r||{};let c=ByteArray.prototype.utf8Write?function(e,t,r){return target.utf8Write(e,t,r)}:textEncoder&&textEncoder.encodeInto?function(e,t){return textEncoder.encodeInto(e,target.subarray(t)).written}:false;let a=this;let e=r.structures||r.saveStructures;let _=r.maxSharedStructures;if(_==null)_=e?128:0;if(_>8190)throw new Error("Maximum maxSharedStructure is 8190");let i=r.sequential;if(i){_=0}if(!this.structures)this.structures=[];if(this.saveStructures)this.saveShared=this.saveStructures;let p,d,u=r.sharedValues;let h;if(u){h=Object.create(null);for(let e=0,t=u.length;ethis.encodeKeys(e));break}}return this.encode(e,t)};this.encode=function(t,e){if(!target){target=new ByteArrayAllocate(8192);targetView=new DataView(target.buffer,0,8192);position=0}safeEnd=target.length-10;if(safeEnd-position<2048){target=new ByteArrayAllocate(target.length);targetView=new DataView(target.buffer,0,target.length);safeEnd=target.length-10;position=0}else if(e===REUSE_BUFFER_MODE)position=position+7&2147483640;s=position;if(a.useSelfDescribedHeader){targetView.setUint32(position,3654940416);position+=3}n=a.structuredClone?new Map:null;if(a.bundleStrings&&typeof t!=="string"){bundledStrings=[];bundledStrings.size=Infinity}else bundledStrings=null;o=a.structures;if(o){if(o.uninitialized){let e=a.getShared()||{};a.structures=o=e.structures||[];a.sharedVersion=e.version;let r=a.sharedValues=e.packedValues;if(r){h={};for(let e=0,t=r.length;e_&&!i)e=_;if(!o.transitions){o.transitions=Object.create(null);for(let a=0;a0){target[position++]=216;target[position++]=51;writeArrayHeader(4);let r=e.values;b(r);writeArrayHeader(0);writeArrayHeader(0);d=Object.create(h||null);for(let e=0,t=r.length;esafeEnd)w(position);a.offset=position;let e=insertIds(target.subarray(s,position),n.idsToInsert);n=null;return e}if(e&REUSE_BUFFER_MODE){target.start=s;target.end=position;return target}return target.subarray(s,position)}finally{if(o){if(v<10)v++;if(o.length>_)o.length=_;if(y>1e4){o.transitions=null;v=0;y=0;if(m.length>0)m=[]}else if(m.length>0&&!i){for(let e=0,t=m.length;e_){a.structures=a.structures.slice(0,_)}let e=target.subarray(s,position);if(a.updateSharedData()===false)return a.encode(t);return e}if(e&RESET_BUFFER_MODE)position=s}};this.findCommonStringsToPack=()=>{p=new Map;if(!h)h=Object.create(null);return e=>{let r=e&&e.threshold||4;let n=this.pack?e.maxPrivatePackedValues||16:0;if(!u)u=this.sharedValues=[];for(let[e,t]of p){if(t.count>r){h[e]=n++;u.push(e);l=true}}while(this.saveShared&&this.updateSharedData()===false){}p=null}};const b=o=>{if(position>safeEnd)target=w(position);var e=typeof o;var u;if(e==="string"){if(d){let e=d[o];if(e>=0){if(e<16)target[position++]=e+224;else{target[position++]=198;if(e&1)b(15-e>>1);else b(e-16>>1)}return}else if(p&&!r.pack){let e=p.get(o);if(e)e.count++;else p.set(o,{count:1})}}let i=o.length;if(bundledStrings&&i>=4&&i<1024){if((bundledStrings.size+=i)>MAX_BUNDLE_SIZE){let e;let t=(bundledStrings[0]?bundledStrings[0].length*3+bundledStrings[1].length:0)+10;if(position+t>safeEnd)target=w(position+t);target[position++]=217;target[position++]=223;target[position++]=249;target[position++]=bundledStrings.position?132:130;target[position++]=26;e=position-s;position+=4;if(bundledStrings.position){writeBundles(s,b)}bundledStrings=["",""];bundledStrings.size=0;bundledStrings.position=e}let e=hasNonLatin.test(o);bundledStrings[e?0:1]+=o;target[position++]=e?206:207;b(i);return}let a;if(i<32){a=1}else if(i<256){a=2}else if(i<65536){a=3}else{a=5}let e=i*3;if(position+e>safeEnd)target=w(position+e);if(i<64||!c){let e,t,r,n=position+a;for(e=0;e>6|192;target[n++]=t&63|128}else if((t&64512)===55296&&((r=o.charCodeAt(e+1))&64512)===56320){t=65536+((t&1023)<<10)+(r&1023);e++;target[n++]=t>>18|240;target[n++]=t>>12&63|128;target[n++]=t>>6&63|128;target[n++]=t&63|128}else{target[n++]=t>>12|224;target[n++]=t>>6&63|128;target[n++]=t&63|128}}u=n-position-a}else{u=c(o,position+a,e)}if(u<24){target[position++]=96|u}else if(u<256){if(a<2){target.copyWithin(position+2,position+1,position+1+u)}target[position++]=120;target[position++]=u}else if(u<65536){if(a<3){target.copyWithin(position+3,position+2,position+2+u)}target[position++]=121;target[position++]=u>>8;target[position++]=u&255}else{if(a<5){target.copyWithin(position+5,position+3,position+3+u)}target[position++]=122;targetView.setUint32(position,u);position+=4}position+=u}else if(e==="number"){if(!this.alwaysUseFloat&&o>>>0===o){if(o<24){target[position++]=o}else if(o<256){target[position++]=24;target[position++]=o}else if(o<65536){target[position++]=25;target[position++]=o>>8;target[position++]=o&255}else{target[position++]=26;targetView.setUint32(position,o);position+=4}}else if(!this.alwaysUseFloat&&o>>0===o){if(o>=-24){target[position++]=31-o}else if(o>=-256){target[position++]=56;target[position++]=~o}else if(o>=-65536){target[position++]=57;targetView.setUint16(position,~o);position+=2}else{target[position++]=58;targetView.setUint32(position,~o);position+=4}}else{let t;if((t=this.useFloat32)>0&&o<4294967296&&o>=-2147483648){target[position++]=250;targetView.setFloat32(position,o);let e;if(t<4||(e=o*mult10[(target[position]&127)<<1|target[position+1]>>7])>>0===e){position+=4;return}else position--}target[position++]=251;targetView.setFloat64(position,o);position+=8}}else if(e==="object"){if(!o)target[position++]=246;else{if(n){let t=n.get(o);if(t){target[position++]=216;target[position++]=29;target[position++]=25;if(!t.references){let e=n.idsToInsert||(n.idsToInsert=[]);t.references=[];e.push(t)}t.references.push(position-s);position+=2;return}else n.set(o,{offset:position-s})}let e=o.constructor;if(e===Object){g(o,true)}else if(e===Array){u=o.length;if(u<24){target[position++]=128|u}else{writeArrayHeader(u)}for(let e=0;e>8;target[position++]=u&255}else{target[position++]=186;targetView.setUint32(position,u);position+=4}if(a.keyMap){for(let[e,t]of o){b(a.encodeKey(e));b(t)}}else{for(let[e,t]of o){b(e);b(t)}}}else{for(let r=0,e=extensions.length;r>8;target[position++]=t&255}else if(t>-1){target[position++]=218;targetView.setUint32(position,t);position+=4}e.encode.call(this,o,b,w);return}}if(o[Symbol.iterator]){if(throwOnIterable){let e=new Error("Iterable should be serialized as iterator");e.iteratorNotHandled=true;throw e}target[position++]=159;for(let e of o){b(e)}target[position++]=255;return}if(o[Symbol.asyncIterator]||isBlob(o)){let e=new Error("Iterable/blob should be serialized as iterator");e.iteratorNotHandled=true;throw e}if(this.useToJSON&&o.toJSON){const t=o.toJSON();if(t!==o)return b(t)}g(o,!o.hasOwnProperty)}}}else if(e==="boolean"){target[position++]=o?245:244}else if(e==="bigint"){if(o=0){target[position++]=27;targetView.setBigUint64(position,o)}else if(o>-(BigInt(1)<{let t=Object.keys(e);let r=Object.values(e);let n=t.length;if(n<24){target[position++]=160|n}else if(n<256){target[position++]=184;target[position++]=n}else if(n<65536){target[position++]=185;target[position++]=n>>8;target[position++]=n&255}else{target[position++]=186;targetView.setUint32(position,n);position+=4}if(a.keyMap){for(let e=0;e{target[position++]=185;let e=position-s;position+=2;let n=0;if(a.keyMap){for(let e in t)if(r||t.hasOwnProperty(e)){b(a.encodeKey(e));b(t[e]);n++}}else{for(let e in t)if(r||t.hasOwnProperty(e)){b(e);b(t[e]);n++}}target[e+++s]=n>>8;target[e+s]=n&255}:(t,r)=>{let n,i=f.transitions||(f.transitions=Object.create(null));let a=0;let o=0;let u;let s;if(this.keyMap){s=Object.keys(t).map(e=>this.encodeKey(e));o=s.length;for(let t=0;t>8|224;target[position++]=c&255}else{if(!s)s=i.__keys__||(i.__keys__=Object.keys(t));if(u===undefined){c=f.nextId++;if(!c){c=0;f.nextId=1}if(c>=MAX_STRUCTURES){f.nextId=(c=_)+1}}else{c=u}f[c]=s;if(c<_){target[position++]=217;target[position++]=c>>8|224;target[position++]=c&255;i=f.transitions;for(let e=0;e=MAX_STRUCTURES-_)m.shift()[RECORD_SYMBOL]=undefined;m.push(i);writeArrayHeader(o+2);b(57344+c);b(s);if(r===null)return;for(let e in t)if(r||t.hasOwnProperty(e))b(t[e]);return}}if(o<24){target[position++]=128|o}else{writeArrayHeader(o)}if(r===null)return;for(let e in t)if(r||t.hasOwnProperty(e))b(t[e])};const w=e=>{let t;if(e>16777216){if(e-s>MAX_BUFFER_SIZE)throw new Error("Encoded buffer would be larger than maximum buffer size");t=Math.min(MAX_BUFFER_SIZE,Math.round(Math.max((e-s)*(e>67108864?1.25:2),4194304)/4096)*4096)}else t=(Math.max(e-s<<2,target.length-1)>>12)+1<<12;let r=new ByteArrayAllocate(t);targetView=new DataView(r.buffer,0,t);if(target.copy)target.copy(r,0,s,e);else r.set(target.slice(s,e));position-=s;s=0;safeEnd=r.length-10;return target=r};let D=100;let x=1e3;this.encodeAsIterable=function(e,t){return A(e,t,L)};this.encodeAsAsyncIterable=function(e,t){return A(e,t,F)};function*L(n,i,e){let t=n.constructor;if(t===Object){let r=a.useRecords!==false;if(r)g(n,null);else writeEntityLength(Object.keys(n).length,160);for(let t in n){let e=n[t];if(!r)b(t);if(e&&typeof e==="object"){if(i[t])yield*L(e,i[t]);else yield*E(e,i,t)}else b(e)}}else if(t===Array){let e=n.length;writeArrayHeader(e);for(let t=0;tD)){if(i.element)yield*L(e,i.element);else yield*E(e,i,"element")}else b(e)}}else if(n[Symbol.iterator]){target[position++]=159;for(let e of n){if(e&&(typeof e==="object"||position-s>D)){if(i.element)yield*L(e,i.element);else yield*E(e,i,"element")}else b(e)}target[position++]=255}else if(isBlob(n)){writeEntityLength(n.size,64);yield target.subarray(s,position);yield n;S()}else if(n[Symbol.asyncIterator]){target[position++]=159;yield target.subarray(s,position);yield n;S();target[position++]=255}else{b(n)}if(e&&position>s)yield target.subarray(s,position);else if(position-s>D){yield target.subarray(s,position);S()}}function*E(t,r,n){let i=position-s;try{b(t);if(position-s>D){yield target.subarray(s,position);S()}}catch(e){if(e.iteratorNotHandled){r[n]={};position=s+i;yield*L.call(this,t,r[n])}else throw e}}function S(){D=x;a.encode(null,THROW_ON_ITERABLE)}function A(e,t,r){if(t&&t.chunkThreshold)D=x=t.chunkThreshold;else D=100;if(e&&typeof e==="object"){a.encode(null,THROW_ON_ITERABLE);return r(e,a.iterateProperties||(a.iterateProperties={}),true)}return[a.encode(e)]}async function*F(e,t){for(let r of L(e,t,true)){let e=r.constructor;if(e===ByteArray||e===Uint8Array)yield r;else if(isBlob(r)){let e=r.stream().getReader();let t;while(!(t=await e.read()).done){yield t.value}}else if(r[Symbol.asyncIterator]){for await(let e of r){S();if(e)yield*F(e,t.async||(t.async={}));else yield a.encode(e)}}else{yield r}}}}useBuffer(e){target=e;targetView=new DataView(target.buffer,target.byteOffset,target.byteLength);position=0}clearSharedData(){if(this.structures)this.structures=[];if(this.sharedValues)this.sharedValues=undefined}updateSharedData(){let t=this.sharedVersion||0;this.sharedVersion=t+1;let e=this.structures.slice(0);let r=new SharedData(e,this.sharedValues,this.sharedVersion);let n=this.saveShared(r,e=>(e&&e.version||0)==t);if(n===false){r=this.getShared()||{};this.structures=r.structures||[];this.sharedValues=r.packedValues;this.sharedVersion=r.version;this.structures.nextId=this.structures.length}else{e.forEach((e,t)=>this.structures[t]=e)}return n}}function writeEntityLength(e,t){if(e<24)target[position++]=t|e;else if(e<256){target[position++]=t|24;target[position++]=e}else if(e<65536){target[position++]=t|25;target[position++]=e>>8;target[position++]=e&255}else{target[position++]=t|26;targetView.setUint32(position,e);position+=4}}class SharedData{constructor(e,t,r){this.structures=e;this.packedValues=t;this.version=r}}function writeArrayHeader(e){if(e<24)target[position++]=128|e;else if(e<256){target[position++]=152;target[position++]=e}else if(e<65536){target[position++]=153;target[position++]=e>>8;target[position++]=e&255}else{target[position++]=154;targetView.setUint32(position,e);position+=4}}const BlobConstructor=typeof Blob==="undefined"?function(){}:Blob;function isBlob(e){if(e instanceof BlobConstructor)return true;let t=e[Symbol.toStringTag];return t==="Blob"||t==="File"}function findRepetitiveStrings(r,n){switch(typeof r){case"string":if(r.length>3){if(n.objectMap[r]>-1||n.values.length>=n.maxValues)return;let e=n.get(r);if(e){if(++e.count==2){n.values.push(r)}}else{n.set(r,{count:1});if(n.samplingPackedValues){let e=n.samplingPackedValues.get(r);if(e)e.count++;else n.samplingPackedValues.set(r,{count:1})}}}break;case"object":if(r){if(r instanceof Array){for(let e=0,t=r.length;e=0&&r<4294967296){target[position++]=26;targetView.setUint32(position,r);position+=4}else{target[position++]=251;targetView.setFloat64(position,r);position+=8}}},{tag:258,encode(e,t){let r=Array.from(e);t(r)}},{tag:27,encode(e,t){t([e.name,e.message])}},{tag:27,encode(e,t){t(["RegExp",e.source,e.flags])}},{getTag(e){return e.tag},encode(e,t){t(e.value)}},{encode(e,t,r){writeBuffer(e,r)}},{getTag(e){if(e.constructor===Uint8Array){if(this.tagUint8Array||hasNodeBuffer&&this.tagUint8Array!==false)return 64}},encode(e,t,r){writeBuffer(e,r)}},typedArrayEncoder(68,1),typedArrayEncoder(69,2),typedArrayEncoder(70,4),typedArrayEncoder(71,8),typedArrayEncoder(72,1),typedArrayEncoder(77,2),typedArrayEncoder(78,4),typedArrayEncoder(79,8),typedArrayEncoder(85,4),typedArrayEncoder(86,8),{encode(t,n){let e=t.packedValues||[];let r=t.structures||[];if(e.values.length>0){target[position++]=216;target[position++]=51;writeArrayHeader(4);let r=e.values;n(r);writeArrayHeader(0);writeArrayHeader(0);packedObjectMap=Object.create(sharedPackedObjectMap||null);for(let e=0,t=r.length;e1)e-=4;return{tag:e,encode:function e(t,r){let n=t.byteLength;let i=t.byteOffset||0;let a=t.buffer||t;r(hasNodeBuffer?Buffer$1.from(a,i,n):new Uint8Array(a,i,n))}}}function writeBuffer(e,t){let r=e.byteLength;if(r<24){target[position++]=64+r}else if(r<256){target[position++]=88;target[position++]=r}else if(r<65536){target[position++]=89;target[position++]=r>>8;target[position++]=r&255}else{target[position++]=90;targetView.setUint32(position,r);position+=4}if(position+r>=target.length){t(position+r)}target.set(e.buffer?e:new Uint8Array(e),position);position+=r}function insertIds(n,e){let r;let i=e.length*2;let a=n.length-i;e.sort((e,t)=>e.offset>t.offset?1:-1);for(let r=0;r>8;n[e]=r&255}}while(r=e.pop()){let e=r.offset;n.copyWithin(e+i,e,a);i-=2;let t=e+i;n[t++]=216;n[t++]=28;a=e}return n}function writeBundles(e,t){targetView.setUint32(bundledStrings.position+e,position-bundledStrings.position-e+1);let r=bundledStrings;bundledStrings=null;t(r[0]);t(r[1])}function addExtension(e){if(e.Class){if(!e.encode)throw new Error("Extension has no encode function");extensionClasses.unshift(e.Class);extensions.unshift(e)}addExtension$1(e)}let defaultEncoder=new Encoder({useRecords:false});defaultEncoder.encode;defaultEncoder.encodeAsIterable;defaultEncoder.encodeAsAsyncIterable;const REUSE_BUFFER_MODE=512;const RESET_BUFFER_MODE=1024;const THROW_ON_ITERABLE=2048;var lzjbPack={}; +function _classApplyDescriptorGet(e,r){if(r.get){return r.get.call(e)}return r.value}function _classExtractFieldDescriptor(e,r,t){if(!r.has(e)){throw new TypeError("attempted to "+t+" private field on non-instance")}return r.get(e)}function _classPrivateFieldGet(e,r){var t=_classExtractFieldDescriptor(e,r,"get");return _classApplyDescriptorGet(e,t)}function _classApplyDescriptorSet(e,r,t){if(r.set){r.set.call(e,t)}else{if(!r.writable){throw new TypeError("attempted to set read only private field")}r.value=t}}function _classPrivateFieldSet(e,r,t){var n=_classExtractFieldDescriptor(e,r,"set");_classApplyDescriptorSet(e,n,t);return t}function _getPrototypeOf(e){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function e(r){return r.__proto__||Object.getPrototypeOf(r)};return _getPrototypeOf(e)}function _setPrototypeOf(e,r){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(r,t){r.__proto__=t;return r};return _setPrototypeOf(e,r)}function _isNativeFunction(r){try{return Function.toString.call(r).indexOf("[native code]")!==-1}catch(e){return typeof r==="function"}}function _isNativeReflectConstruct$1(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(r){}return(_isNativeReflectConstruct$1=function e(){return!!r})()}function _construct(e,r,t){if(_isNativeReflectConstruct$1())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,r);var i=new(e.bind.apply(e,n));return t&&_setPrototypeOf(i,t.prototype),i}function _wrapNativeSuper(e){var n=typeof Map==="function"?new Map:undefined;_wrapNativeSuper=function e(r){if(r===null||!_isNativeFunction(r))return r;if(typeof r!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof n!=="undefined"){if(n.has(r))return n.get(r);n.set(r,t)}function t(){return _construct(r,arguments,_getPrototypeOf(this).constructor)}t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:false,writable:true,configurable:true}});return _setPrototypeOf(t,r)};return _wrapNativeSuper(e)}function _typeof$1(e){"@babel/helpers - typeof";return _typeof$1="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$1(e)}function _assertThisInitialized(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function _possibleConstructorReturn(e,r){if(r&&(_typeof$1(r)==="object"||typeof r==="function")){return r}else if(r!==void 0){throw new TypeError("Derived constructors may only return object or undefined")}return _assertThisInitialized(e)}function _inherits(e,r){if(typeof r!=="function"&&r!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:true,configurable:true}});Object.defineProperty(e,"prototype",{writable:false});if(r)_setPrototypeOf(e,r)}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _iterableToArray(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function _arrayLikeToArray$1(e,r){if(r==null||r>e.length)r=e.length;for(var t=0,n=new Array(r);t=0)continue;t[i]=e[i]}return t}function _objectWithoutProperties(e,r){if(e==null)return{};var t=_objectWithoutPropertiesLoose(e,r);var n,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,n))continue;t[n]=e[n]}}return t}function _iterableToArrayLimit(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,i,o,a,u=[],s=!0,c=!1;try{if(o=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;s=!1}else for(;!(s=(n=o.call(t)).done)&&(u.push(n.value),u.length!==r);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=t["return"]&&(a=t["return"](),Object(a)!==a))return}finally{if(c)throw i}}return u}}function _slicedToArray(e,r){return _arrayWithHoles(e)||_iterableToArrayLimit(e,r)||_unsupportedIterableToArray$1(e,r)||_nonIterableRest()}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray$1(e)}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray$1(e)||_nonIterableSpread()}function _OverloadYield(e,r){this.v=e,this.k=r}function _awaitAsyncGenerator(e){return new _OverloadYield(e,0)}function AsyncGenerator(a){var o,u;function s(t,e){try{var n=a[t](e),i=n.value,o=i instanceof _OverloadYield;Promise.resolve(o?i.v:i).then(function(e){if(o){var r="return"===t?"return":"next";if(!i.k||e.done)return s(r,e);e=a[r](e).value}c(n.done?"return":"normal",e)},function(e){s("throw",e)})}catch(e){c("throw",e)}}function c(e,r){switch(e){case"return":o.resolve({value:r,done:!0});break;case"throw":o.reject(r);break;default:o.resolve({value:r,done:!1})}(o=o.next)?s(o.key,o.arg):u=null}this._invoke=function(n,i){return new Promise(function(e,r){var t={key:n,arg:i,resolve:e,reject:r,next:null};u?u=u.next=t:(o=u=t,s(n,i))})},"function"!=typeof a["return"]&&(this["return"]=void 0)}AsyncGenerator.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},AsyncGenerator.prototype.next=function(e){return this._invoke("next",e)},AsyncGenerator.prototype["throw"]=function(e){return this._invoke("throw",e)},AsyncGenerator.prototype["return"]=function(e){return this._invoke("return",e)};function _wrapAsyncGenerator(e){return function(){return new AsyncGenerator(e.apply(this,arguments))}}function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e["default"]:e}var regeneratorRuntime$1={exports:{}};var _typeof={exports:{}};(function(r){function t(e){"@babel/helpers - typeof";return r.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r.exports.__esModule=true,r.exports["default"]=r.exports,t(e)}r.exports=t,r.exports.__esModule=true,r.exports["default"]=r.exports})(_typeof);var _typeofExports=_typeof.exports;(function(O){var N=_typeofExports["default"];function B(){O.exports=B=function e(){return a},O.exports.__esModule=true,O.exports["default"]=O.exports;var c,a={},e=Object.prototype,l=e.hasOwnProperty,f=Object.defineProperty||function(e,r,t){e[r]=t.value},r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",t=r.asyncIterator||"@@asyncIterator",n=r.toStringTag||"@@toStringTag";function o(e,r,t){return Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}),e[r]}try{o({},"")}catch(c){o=function e(r,t,n){return r[t]=n}}function u(e,r,t,n){var i=r&&r.prototype instanceof s?r:s,o=Object.create(i.prototype),a=new k(n||[]);return f(o,"_invoke",{value:E(e,t,a)}),o}function _(e,r,t){try{return{type:"normal",arg:e.call(r,t)}}catch(e){return{type:"throw",arg:e}}}a.wrap=u;var p="suspendedStart",d="suspendedYield",y="executing",h="completed",m={};function s(){}function v(){}function g(){}var b={};o(b,i,function(){return this});var P=Object.getPrototypeOf,w=P&&P(P(C([])));w&&w!==e&&l.call(w,i)&&(b=w);var D=g.prototype=s.prototype=Object.create(b);function x(e){["next","throw","return"].forEach(function(r){o(e,r,function(e){return this._invoke(r,e)})})}function L(u,s){function c(e,r,t,n){var i=_(u[e],u,r);if("throw"!==i.type){var o=i.arg,a=o.value;return a&&"object"==N(a)&&l.call(a,"__await")?s.resolve(a.__await).then(function(e){c("next",e,t,n)},function(e){c("throw",e,t,n)}):s.resolve(a).then(function(e){o.value=e,t(o)},function(e){return c("throw",e,t,n)})}n(i.arg)}var i;f(this,"_invoke",{value:function e(t,n){function r(){return new s(function(e,r){c(t,n,e,r)})}return i=i?i.then(r,r):r()}})}function E(o,a,u){var s=p;return function(e,r){if(s===y)throw new Error("Generator is already running");if(s===h){if("throw"===e)throw r;return{value:c,done:!0}}for(u.method=e,u.arg=r;;){var t=u.delegate;if(t){var n=S(t,u);if(n){if(n===m)continue;return n}}if("next"===u.method)u.sent=u._sent=u.arg;else if("throw"===u.method){if(s===p)throw s=h,u.arg;u.dispatchException(u.arg)}else"return"===u.method&&u.abrupt("return",u.arg);s=y;var i=_(o,a,u);if("normal"===i.type){if(s=u.done?h:d,i.arg===m)continue;return{value:i.arg,done:u.done}}"throw"===i.type&&(s=h,u.method="throw",u.arg=i.arg)}}}function S(e,r){var t=r.method,n=e.iterator[t];if(n===c)return r.delegate=null,"throw"===t&&e.iterator["return"]&&(r.method="return",r.arg=c,S(e,r),"throw"===r.method)||"return"!==t&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+t+"' method")),m;var i=_(n,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,m;var o=i.arg;return o?o.done?(r[e.resultName]=o.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=c),r.delegate=null,m):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}function A(e){var r={tryLoc:e[0]};1 in e&&(r.catchLoc=e[1]),2 in e&&(r.finallyLoc=e[2],r.afterLoc=e[3]),this.tryEntries.push(r)}function F(e){var r=e.completion||{};r.type="normal",delete r.arg,e.completion=r}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(A,this),this.reset(!0)}function C(r){if(r||""===r){var e=r[i];if(e)return e.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var t=-1,n=function e(){for(;++t=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var u=l.call(o,"catchLoc"),s=l.call(o,"finallyLoc");if(u&&s){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&l.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===r)return this.complete(n.completion,n.afterLoc),F(n),m}},catch:function e(r){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===r){var i=n.completion;if("throw"===i.type){var o=i.arg;F(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function e(r,t,n){return this.delegate={iterator:C(r),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=c),m}},a}O.exports=B,O.exports.__esModule=true,O.exports["default"]=O.exports})(regeneratorRuntime$1);var regeneratorRuntimeExports=regeneratorRuntime$1.exports;var runtime=regeneratorRuntimeExports();var regenerator=runtime;try{regeneratorRuntime=runtime}catch(e){if(typeof globalThis==="object"){globalThis.regeneratorRuntime=runtime}else{Function("r","regeneratorRuntime = r")(runtime)}}var _regeneratorRuntime=getDefaultExportFromCjs(regenerator);let decoder;try{decoder=new TextDecoder}catch(e){}let src;let srcEnd;let position$1=0;const LEGACY_RECORD_INLINE_ID=105;const RECORD_DEFINITIONS_ID=57342;const RECORD_INLINE_ID=57343;const BUNDLED_STRINGS_ID=57337;const PACKED_REFERENCE_TAG_ID=6;const STOP_CODE={};let currentDecoder={};let currentStructures;let srcString;let srcStringStart=0;let srcStringEnd=0;let bundledStrings$1;let referenceMap;let currentExtensions=[];let currentExtensionRanges=[];let packedValues;let dataView;let restoreMapsAsObject;let defaultOptions={useRecords:false,mapsAsObjects:true};let sequentialMode=false;let inlineObjectReadThreshold=2;try{new Function("")}catch(e){inlineObjectReadThreshold=Infinity}class Decoder{constructor(t){if(t){if((t.keyMap||t._keyMap)&&!t.useRecords){t.useRecords=false;t.mapsAsObjects=true}if(t.useRecords===false&&t.mapsAsObjects===undefined)t.mapsAsObjects=true;if(t.getStructures)t.getShared=t.getStructures;if(t.getShared&&!t.structures)(t.structures=[]).uninitialized=true;if(t.keyMap){this.mapKey=new Map;for(let[e,r]of Object.entries(t.keyMap))this.mapKey.set(r,e)}}Object.assign(this,t)}decodeKey(e){return this.keyMap?this.mapKey.get(e)||e:e}encodeKey(e){return this.keyMap&&this.keyMap.hasOwnProperty(e)?this.keyMap[e]:e}encodeKeys(t){if(!this._keyMap)return t;let n=new Map;for(let[e,r]of Object.entries(t))n.set(this._keyMap.hasOwnProperty(e)?this._keyMap[e]:e,r);return n}decodeKeys(e){if(!this._keyMap||e.constructor.name!="Map")return e;if(!this._mapKey){this._mapKey=new Map;for(let[e,r]of Object.entries(this._keyMap))this._mapKey.set(r,e)}let t={};e.forEach((e,r)=>t[safeKey(this._mapKey.has(r)?this._mapKey.get(r):r)]=e);return t}mapDecode(e,r){let t=this.decode(e);if(this._keyMap){switch(t.constructor.name){case"Array":return t.map(e=>this.decodeKeys(e))}}return t}decode(r,e){if(src){return saveState(()=>{clearSource();return this?this.decode(r,e):Decoder.prototype.decode.call(defaultOptions,r,e)})}srcEnd=e>-1?e:r.length;position$1=0;srcStringEnd=0;srcString=null;bundledStrings$1=null;src=r;try{dataView=r.dataView||(r.dataView=new DataView(r.buffer,r.byteOffset,r.byteLength))}catch(e){src=null;if(r instanceof Uint8Array)throw e;throw new Error("Source must be a Uint8Array or Buffer but was a "+(r&&typeof r=="object"?r.constructor.name:typeof r))}if(this instanceof Decoder){currentDecoder=this;packedValues=this.sharedValues&&(this.pack?new Array(this.maxPrivatePackedValues||16).concat(this.sharedValues):this.sharedValues);if(this.structures){currentStructures=this.structures;return checkedRead()}else if(!currentStructures||currentStructures.length>0){currentStructures=[]}}else{currentDecoder=defaultOptions;if(!currentStructures||currentStructures.length>0)currentStructures=[];packedValues=null}return checkedRead()}decodeMultiple(t,n){let i,o=0;try{let e=t.length;sequentialMode=true;let r=this?this.decode(t,e):defaultDecoder.decode(t,e);if(n){if(n(r)===false){return}while(position$1=bundledStrings$1.postBundlePosition){let e=new Error("Unexpected bundle position");e.incomplete=true;throw e}position$1=bundledStrings$1.postBundlePosition;bundledStrings$1=null}if(position$1==srcEnd){currentStructures=null;src=null;if(referenceMap)referenceMap=null}else if(position$1>srcEnd){let e=new Error("Unexpected end of CBOR data");e.incomplete=true;throw e}else if(!sequentialMode){throw new Error("Data read, but end of buffer not reached")}return e}catch(e){clearSource();if(e instanceof RangeError||e.message.startsWith("Unexpected end of buffer")){e.incomplete=true}throw e}}function read(){let n=src[position$1++];let i=n>>5;n=n&31;if(n>23){switch(n){case 24:n=src[position$1++];break;case 25:if(i==7){return getFloat16()}n=dataView.getUint16(position$1);position$1+=2;break;case 26:if(i==7){let r=dataView.getFloat32(position$1);if(currentDecoder.useFloat32>2){let e=mult10[(src[position$1]&127)<<1|src[position$1+1]>>7];position$1+=4;return(e*r+(r>0?.5:-.5)>>0)/e}position$1+=4;return r}n=dataView.getUint32(position$1);position$1+=4;break;case 27:if(i==7){let e=dataView.getFloat64(position$1);position$1+=8;return e}if(i>1){if(dataView.getUint32(position$1)>0)throw new Error("JavaScript does not support arrays, maps, or strings with length over 4294967295");n=dataView.getUint32(position$1+4)}else if(currentDecoder.int64AsNumber){n=dataView.getUint32(position$1)*4294967296;n+=dataView.getUint32(position$1+4)}else n=dataView.getBigUint64(position$1);position$1+=8;break;case 31:switch(i){case 2:case 3:throw new Error("Indefinite length not supported for byte or text strings");case 4:let e=[];let r,t=0;while((r=read())!=STOP_CODE){e[t++]=r}return i==4?e:i==3?e.join(""):Buffer.concat(e);case 5:let n;if(currentDecoder.mapsAsObjects){let e={};if(currentDecoder.keyMap)while((n=read())!=STOP_CODE)e[safeKey(currentDecoder.decodeKey(n))]=read();else while((n=read())!=STOP_CODE)e[safeKey(n)]=read();return e}else{if(restoreMapsAsObject){currentDecoder.mapsAsObjects=true;restoreMapsAsObject=false}let e=new Map;if(currentDecoder.keyMap)while((n=read())!=STOP_CODE)e.set(currentDecoder.decodeKey(n),read());else while((n=read())!=STOP_CODE)e.set(n,read());return e}case 7:return STOP_CODE;default:throw new Error("Invalid major type for indefinite length "+i)}default:throw new Error("Unknown token "+n)}}switch(i){case 0:return n;case 1:return~n;case 2:return readBin(n);case 3:if(srcStringEnd>=position$1){return srcString.slice(position$1-srcStringStart,(position$1+=n)-srcStringStart)}if(srcStringEnd==0&&srcEnd<140&&n<32){let e=n<16?shortStringInJS(n):longStringInJS(n);if(e!=null)return e}return readFixedString(n);case 4:let r=new Array(n);for(let e=0;e=BUNDLED_STRINGS_ID){let e=currentStructures[n&8191];if(e){if(!e.read)e.read=createStructureReader(e);return e.read()}if(n<65536){if(n==RECORD_INLINE_ID){let e=readJustLength();let r=read();let t=read();recordDefinition(r,t);let n={};if(currentDecoder.keyMap)for(let r=2;r23){switch(r){case 24:r=src[position$1++];break;case 25:r=dataView.getUint16(position$1);position$1+=2;break;case 26:r=dataView.getUint32(position$1);position$1+=4;break;default:throw new Error("Expected array header, but got "+src[position$1-1])}}let t=this.compiledReader;while(t){if(t.propertyCount===r)return t(read);t=t.next}if(this.slowReads++>=inlineObjectReadThreshold){let e=this.length==r?this:this.slice(0,r);t=currentDecoder.keyMap?new Function("r","return {"+e.map(e=>currentDecoder.decodeKey(e)).map(e=>validName.test(e)?safeKey(e)+":r()":"["+JSON.stringify(e)+"]:r()").join(",")+"}"):new Function("r","return {"+e.map(e=>validName.test(e)?safeKey(e)+":r()":"["+JSON.stringify(e)+"]:r()").join(",")+"}");if(this.compiledReader)t.next=this.compiledReader;t.propertyCount=r;this.compiledReader=t;return t(read)}let n={};if(currentDecoder.keyMap)for(let e=0;e64&&decoder)return decoder.decode(src.subarray(position$1,position$1+=e));const t=position$1+e;const n=[];r="";while(position$165535){e-=65536;n.push(e>>>10&1023|55296);e=56320|e&1023}n.push(e)}else{n.push(i)}if(n.length>=4096){r+=fromCharCode.apply(String,n);n.length=0}}if(n.length>0){r+=fromCharCode.apply(String,n)}return r}let fromCharCode=String.fromCharCode;function longStringInJS(r){let t=position$1;let n=new Array(r);for(let e=0;e0){position$1=t;return}n[e]=i}return fromCharCode.apply(String,n)}function shortStringInJS(y){if(y<4){if(y<2){if(y===0)return"";else{let e=src[position$1++];if((e&128)>1){position$1-=1;return}return fromCharCode(e)}}else{let e=src[position$1++];let r=src[position$1++];if((e&128)>0||(r&128)>0){position$1-=2;return}if(y<3)return fromCharCode(e,r);let t=src[position$1++];if((t&128)>0){position$1-=3;return}return fromCharCode(e,r,t)}}else{let f=src[position$1++];let _=src[position$1++];let p=src[position$1++];let d=src[position$1++];if((f&128)>0||(_&128)>0||(p&128)>0||(d&128)>0){position$1-=4;return}if(y<6){if(y===4)return fromCharCode(f,_,p,d);else{let e=src[position$1++];if((e&128)>0){position$1-=5;return}return fromCharCode(f,_,p,d,e)}}else if(y<8){let e=src[position$1++];let r=src[position$1++];if((e&128)>0||(r&128)>0){position$1-=6;return}if(y<7)return fromCharCode(f,_,p,d,e,r);let t=src[position$1++];if((t&128)>0){position$1-=7;return}return fromCharCode(f,_,p,d,e,r,t)}else{let u=src[position$1++];let s=src[position$1++];let c=src[position$1++];let l=src[position$1++];if((u&128)>0||(s&128)>0||(c&128)>0||(l&128)>0){position$1-=8;return}if(y<10){if(y===8)return fromCharCode(f,_,p,d,u,s,c,l);else{let e=src[position$1++];if((e&128)>0){position$1-=9;return}return fromCharCode(f,_,p,d,u,s,c,l,e)}}else if(y<12){let e=src[position$1++];let r=src[position$1++];if((e&128)>0||(r&128)>0){position$1-=10;return}if(y<11)return fromCharCode(f,_,p,d,u,s,c,l,e,r);let t=src[position$1++];if((t&128)>0){position$1-=11;return}return fromCharCode(f,_,p,d,u,s,c,l,e,r,t)}else{let n=src[position$1++];let i=src[position$1++];let o=src[position$1++];let a=src[position$1++];if((n&128)>0||(i&128)>0||(o&128)>0||(a&128)>0){position$1-=12;return}if(y<14){if(y===12)return fromCharCode(f,_,p,d,u,s,c,l,n,i,o,a);else{let e=src[position$1++];if((e&128)>0){position$1-=13;return}return fromCharCode(f,_,p,d,u,s,c,l,n,i,o,a,e)}}else{let e=src[position$1++];let r=src[position$1++];if((e&128)>0||(r&128)>0){position$1-=14;return}if(y<15)return fromCharCode(f,_,p,d,u,s,c,l,n,i,o,a,e,r);let t=src[position$1++];if((t&128)>0){position$1-=15;return}return fromCharCode(f,_,p,d,u,s,c,l,n,i,o,a,e,r,t)}}}}}function readBin(e){return currentDecoder.copyBuffers?Uint8Array.prototype.slice.call(src,position$1,position$1+=e):src.subarray(position$1,position$1+=e)}let f32Array=new Float32Array(1);let u8Array=new Uint8Array(f32Array.buffer,0,4);function getFloat16(){let r=src[position$1++];let t=src[position$1++];let e=(r&127)>>2;if(e===31){if(t||r&3)return NaN;return r&128?-Infinity:Infinity}if(e===0){let e=((r&3)<<8|t)/(1<<24);return r&128?-e:e}u8Array[3]=r&128|(e>>1)+56;u8Array[2]=(r&7)<<5|t>>3;u8Array[1]=t<<5;u8Array[0]=0;return f32Array[0]}new Array(4096);class Tag{constructor(e,r){this.value=e;this.tag=r}}currentExtensions[0]=e=>{return new Date(e)};currentExtensions[1]=e=>{return new Date(Math.round(e*1e3))};currentExtensions[2]=t=>{let n=BigInt(0);for(let e=0,r=t.byteLength;e{return BigInt(-1)-currentExtensions[2](e)};currentExtensions[4]=e=>{return+(e[1]+"e"+e[0])};currentExtensions[5]=e=>{return e[1]*Math.exp(e[0]*Math.log(2))};const recordDefinition=(e,r)=>{e=e-57344;let t=currentStructures[e];if(t&&t.isShared){(currentStructures.restoreStructures||(currentStructures.restoreStructures=[]))[e]=t}currentStructures[e]=r;r.read=createStructureReader(r)};currentExtensions[LEGACY_RECORD_INLINE_ID]=t=>{let e=t.length;let n=t[1];recordDefinition(t[0],n);let i={};for(let r=2;r{if(bundledStrings$1)return bundledStrings$1[0].slice(bundledStrings$1.position0,bundledStrings$1.position0+=e);return new Tag(e,14)};currentExtensions[15]=e=>{if(bundledStrings$1)return bundledStrings$1[1].slice(bundledStrings$1.position1,bundledStrings$1.position1+=e);return new Tag(e,15)};let glbl={Error:Error,RegExp:RegExp};currentExtensions[27]=e=>{return(glbl[e[0]]||Error)(e[1],e[2])};const packedTable=e=>{if(src[position$1++]!=132){let e=new Error("Packed values structure must be followed by a 4 element array");if(src.length{if(!packedValues){if(currentDecoder.getShared)loadShared();else return new Tag(e,PACKED_REFERENCE_TAG_ID)}if(typeof e=="number")return packedValues[16+(e>=0?2*e:-2*e-1)];let r=new Error("No support for non-integer packed references yet");if(e===undefined)r.incomplete=true;throw r};currentExtensions[28]=e=>{if(!referenceMap){referenceMap=new Map;referenceMap.id=0}let r=referenceMap.id++;let t=src[position$1];let n;if(t>>5==4)n=[];else n={};let i={target:n};referenceMap.set(r,i);let o=e();if(i.used)return Object.assign(n,o);i.target=o;return o};currentExtensions[28].handlesRead=true;currentExtensions[29]=e=>{let r=referenceMap.get(e);r.used=true;return r.target};currentExtensions[258]=e=>new Set(e);(currentExtensions[259]=e=>{if(currentDecoder.mapsAsObjects){currentDecoder.mapsAsObjects=false;restoreMapsAsObject=true}return e()}).handlesRead=true;function combine(e,r){if(typeof e==="string")return e+r;if(e instanceof Array)return e.concat(r);return Object.assign({},e,r)}function getPackedValues(){if(!packedValues){if(currentDecoder.getShared)loadShared();else throw new Error("No packed values available")}return packedValues}const SHARED_DATA_TAG_ID=1399353956;currentExtensionRanges.push((e,r)=>{if(e>=225&&e<=255)return combine(getPackedValues().prefixes[e-224],r);if(e>=28704&&e<=32767)return combine(getPackedValues().prefixes[e-28672],r);if(e>=1879052288&&e<=2147483647)return combine(getPackedValues().prefixes[e-1879048192],r);if(e>=216&&e<=223)return combine(r,getPackedValues().suffixes[e-216]);if(e>=27647&&e<=28671)return combine(r,getPackedValues().suffixes[e-27639]);if(e>=1811940352&&e<=1879048191)return combine(r,getPackedValues().suffixes[e-1811939328]);if(e==SHARED_DATA_TAG_ID){return{packedValues:packedValues,structures:currentStructures.slice(0),version:r}}if(e==55799)return r});const isLittleEndianMachine$1=new Uint8Array(new Uint16Array([1]).buffer)[0]==1;const typedArrays=[Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array=="undefined"?{name:"BigUint64Array"}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array=="undefined"?{name:"BigInt64Array"}:BigInt64Array,Float32Array,Float64Array];const typedArrayTags=[64,68,69,70,71,72,77,78,79,85,86];for(let e=0;e{if(!u)throw new Error("Could not find typed array for code "+s);if(!currentDecoder.copyBuffers){if(r===1||r===2&&!(e.byteOffset&1)||r===4&&!(e.byteOffset&3)||r===8&&!(e.byteOffset&7))return new u(e.buffer,e.byteOffset,e.byteLength)}return new u(Uint8Array.prototype.slice.call(e,0).buffer)}:e=>{if(!u)throw new Error("Could not find typed array for code "+s);let r=new DataView(e.buffer,e.byteOffset,e.byteLength);let t=e.length>>o;let n=new u(t);let i=r[c];for(let e=0;e23){switch(e){case 24:e=src[position$1++];break;case 25:e=dataView.getUint16(position$1);position$1+=2;break;case 26:e=dataView.getUint32(position$1);position$1+=4;break}}return e}function loadShared(){if(currentDecoder.getShared){let e=saveState(()=>{src=null;return currentDecoder.getShared()})||{};let r=e.structures||[];currentDecoder.sharedVersion=e.version;packedValues=currentDecoder.sharedValues=e.packedValues;if(currentStructures===true)currentDecoder.structures=currentStructures=r;else currentStructures.splice.apply(currentStructures,[0,r.length].concat(r))}}function saveState(e){let r=srcEnd;let t=position$1;let n=srcStringStart;let i=srcStringEnd;let o=srcString;let a=referenceMap;let u=bundledStrings$1;let s=new Uint8Array(src.slice(0,srcEnd));let c=currentStructures;let l=currentDecoder;let f=sequentialMode;let _=e();srcEnd=r;position$1=t;srcStringStart=n;srcStringEnd=i;srcString=o;referenceMap=a;bundledStrings$1=u;src=s;sequentialMode=f;currentStructures=c;currentDecoder=l;dataView=new DataView(src.buffer,src.byteOffset,src.byteLength);return _}function clearSource(){src=null;referenceMap=null;currentStructures=null}function addExtension$1(e){currentExtensions[e.tag]=e.decode}const mult10=new Array(147);for(let e=0;e<256;e++){mult10[e]=+("1e"+Math.floor(45.15-e*.30103))}let defaultDecoder=new Decoder({useRecords:false});defaultDecoder.decode;defaultDecoder.decodeMultiple;let textEncoder;try{textEncoder=new TextEncoder}catch(e){}let extensions,extensionClasses;const Buffer$1=typeof globalThis==="object"&&globalThis.Buffer;const hasNodeBuffer=typeof Buffer$1!=="undefined";const ByteArrayAllocate=hasNodeBuffer?Buffer$1.allocUnsafeSlow:Uint8Array;const ByteArray=hasNodeBuffer?Buffer$1:Uint8Array;const MAX_STRUCTURES=256;const MAX_BUFFER_SIZE=hasNodeBuffer?4294967296:2144337920;let throwOnIterable;let target;let targetView;let position=0;let safeEnd;let bundledStrings=null;const MAX_BUNDLE_SIZE=61440;const hasNonLatin=/[\u0080-\uFFFF]/;const RECORD_SYMBOL=Symbol("record-id");class Encoder extends Decoder{constructor(t){super(t);this.offset=0;let s;let a;let l;let f;let n;t=t||{};let c=ByteArray.prototype.utf8Write?function(e,r,t){return target.utf8Write(e,r,t)}:textEncoder&&textEncoder.encodeInto?function(e,r){return textEncoder.encodeInto(e,target.subarray(r)).written}:false;let o=this;let e=t.structures||t.saveStructures;let _=t.maxSharedStructures;if(_==null)_=e?128:0;if(_>8190)throw new Error("Maximum maxSharedStructure is 8190");let i=t.sequential;if(i){_=0}if(!this.structures)this.structures=[];if(this.saveStructures)this.saveShared=this.saveStructures;let p,d,u=t.sharedValues;let y;if(u){y=Object.create(null);for(let e=0,r=u.length;ethis.encodeKeys(e));break}}return this.encode(e,r)};this.encode=function(r,e){if(!target){target=new ByteArrayAllocate(8192);targetView=new DataView(target.buffer,0,8192);position=0}safeEnd=target.length-10;if(safeEnd-position<2048){target=new ByteArrayAllocate(target.length);targetView=new DataView(target.buffer,0,target.length);safeEnd=target.length-10;position=0}else if(e===REUSE_BUFFER_MODE)position=position+7&2147483640;s=position;if(o.useSelfDescribedHeader){targetView.setUint32(position,3654940416);position+=3}n=o.structuredClone?new Map:null;if(o.bundleStrings&&typeof r!=="string"){bundledStrings=[];bundledStrings.size=Infinity}else bundledStrings=null;a=o.structures;if(a){if(a.uninitialized){let e=o.getShared()||{};o.structures=a=e.structures||[];o.sharedVersion=e.version;let t=o.sharedValues=e.packedValues;if(t){y={};for(let e=0,r=t.length;e_&&!i)e=_;if(!a.transitions){a.transitions=Object.create(null);for(let o=0;o0){target[position++]=216;target[position++]=51;writeArrayHeader(4);let t=e.values;g(t);writeArrayHeader(0);writeArrayHeader(0);d=Object.create(y||null);for(let e=0,r=t.length;esafeEnd)P(position);o.offset=position;let e=insertIds(target.subarray(s,position),n.idsToInsert);n=null;return e}if(e&REUSE_BUFFER_MODE){target.start=s;target.end=position;return target}return target.subarray(s,position)}finally{if(a){if(v<10)v++;if(a.length>_)a.length=_;if(m>1e4){a.transitions=null;v=0;m=0;if(h.length>0)h=[]}else if(h.length>0&&!i){for(let e=0,r=h.length;e_){o.structures=o.structures.slice(0,_)}let e=target.subarray(s,position);if(o.updateSharedData()===false)return o.encode(r);return e}if(e&RESET_BUFFER_MODE)position=s}};this.findCommonStringsToPack=()=>{p=new Map;if(!y)y=Object.create(null);return e=>{let t=e&&e.threshold||4;let n=this.pack?e.maxPrivatePackedValues||16:0;if(!u)u=this.sharedValues=[];for(let[e,r]of p){if(r.count>t){y[e]=n++;u.push(e);l=true}}while(this.saveShared&&this.updateSharedData()===false){}p=null}};const g=a=>{if(position>safeEnd)target=P(position);var e=typeof a;var u;if(e==="string"){if(d){let e=d[a];if(e>=0){if(e<16)target[position++]=e+224;else{target[position++]=198;if(e&1)g(15-e>>1);else g(e-16>>1)}return}else if(p&&!t.pack){let e=p.get(a);if(e)e.count++;else p.set(a,{count:1})}}let i=a.length;if(bundledStrings&&i>=4&&i<1024){if((bundledStrings.size+=i)>MAX_BUNDLE_SIZE){let e;let r=(bundledStrings[0]?bundledStrings[0].length*3+bundledStrings[1].length:0)+10;if(position+r>safeEnd)target=P(position+r);target[position++]=217;target[position++]=223;target[position++]=249;target[position++]=bundledStrings.position?132:130;target[position++]=26;e=position-s;position+=4;if(bundledStrings.position){writeBundles(s,g)}bundledStrings=["",""];bundledStrings.size=0;bundledStrings.position=e}let e=hasNonLatin.test(a);bundledStrings[e?0:1]+=a;target[position++]=e?206:207;g(i);return}let o;if(i<32){o=1}else if(i<256){o=2}else if(i<65536){o=3}else{o=5}let e=i*3;if(position+e>safeEnd)target=P(position+e);if(i<64||!c){let e,r,t,n=position+o;for(e=0;e>6|192;target[n++]=r&63|128}else if((r&64512)===55296&&((t=a.charCodeAt(e+1))&64512)===56320){r=65536+((r&1023)<<10)+(t&1023);e++;target[n++]=r>>18|240;target[n++]=r>>12&63|128;target[n++]=r>>6&63|128;target[n++]=r&63|128}else{target[n++]=r>>12|224;target[n++]=r>>6&63|128;target[n++]=r&63|128}}u=n-position-o}else{u=c(a,position+o,e)}if(u<24){target[position++]=96|u}else if(u<256){if(o<2){target.copyWithin(position+2,position+1,position+1+u)}target[position++]=120;target[position++]=u}else if(u<65536){if(o<3){target.copyWithin(position+3,position+2,position+2+u)}target[position++]=121;target[position++]=u>>8;target[position++]=u&255}else{if(o<5){target.copyWithin(position+5,position+3,position+3+u)}target[position++]=122;targetView.setUint32(position,u);position+=4}position+=u}else if(e==="number"){if(!this.alwaysUseFloat&&a>>>0===a){if(a<24){target[position++]=a}else if(a<256){target[position++]=24;target[position++]=a}else if(a<65536){target[position++]=25;target[position++]=a>>8;target[position++]=a&255}else{target[position++]=26;targetView.setUint32(position,a);position+=4}}else if(!this.alwaysUseFloat&&a>>0===a){if(a>=-24){target[position++]=31-a}else if(a>=-256){target[position++]=56;target[position++]=~a}else if(a>=-65536){target[position++]=57;targetView.setUint16(position,~a);position+=2}else{target[position++]=58;targetView.setUint32(position,~a);position+=4}}else{let r;if((r=this.useFloat32)>0&&a<4294967296&&a>=-2147483648){target[position++]=250;targetView.setFloat32(position,a);let e;if(r<4||(e=a*mult10[(target[position]&127)<<1|target[position+1]>>7])>>0===e){position+=4;return}else position--}target[position++]=251;targetView.setFloat64(position,a);position+=8}}else if(e==="object"){if(!a)target[position++]=246;else{if(n){let r=n.get(a);if(r){target[position++]=216;target[position++]=29;target[position++]=25;if(!r.references){let e=n.idsToInsert||(n.idsToInsert=[]);r.references=[];e.push(r)}r.references.push(position-s);position+=2;return}else n.set(a,{offset:position-s})}let e=a.constructor;if(e===Object){b(a,true)}else if(e===Array){u=a.length;if(u<24){target[position++]=128|u}else{writeArrayHeader(u)}for(let e=0;e>8;target[position++]=u&255}else{target[position++]=186;targetView.setUint32(position,u);position+=4}if(o.keyMap){for(let[e,r]of a){g(o.encodeKey(e));g(r)}}else{for(let[e,r]of a){g(e);g(r)}}}else{for(let t=0,e=extensions.length;t>8;target[position++]=r&255}else if(r>-1){target[position++]=218;targetView.setUint32(position,r);position+=4}e.encode.call(this,a,g,P);return}}if(a[Symbol.iterator]){if(throwOnIterable){let e=new Error("Iterable should be serialized as iterator");e.iteratorNotHandled=true;throw e}target[position++]=159;for(let e of a){g(e)}target[position++]=255;return}if(a[Symbol.asyncIterator]||isBlob(a)){let e=new Error("Iterable/blob should be serialized as iterator");e.iteratorNotHandled=true;throw e}if(this.useToJSON&&a.toJSON){const r=a.toJSON();if(r!==a)return g(r)}b(a,!a.hasOwnProperty)}}}else if(e==="boolean"){target[position++]=a?245:244}else if(e==="bigint"){if(a=0){target[position++]=27;targetView.setBigUint64(position,a)}else if(a>-(BigInt(1)<{let r=Object.keys(e);let t=Object.values(e);let n=r.length;if(n<24){target[position++]=160|n}else if(n<256){target[position++]=184;target[position++]=n}else if(n<65536){target[position++]=185;target[position++]=n>>8;target[position++]=n&255}else{target[position++]=186;targetView.setUint32(position,n);position+=4}if(o.keyMap){for(let e=0;e{target[position++]=185;let e=position-s;position+=2;let n=0;if(o.keyMap){for(let e in r)if(t||r.hasOwnProperty(e)){g(o.encodeKey(e));g(r[e]);n++}}else{for(let e in r)if(t||r.hasOwnProperty(e)){g(e);g(r[e]);n++}}target[e+++s]=n>>8;target[e+s]=n&255}:(r,t)=>{let n,i=f.transitions||(f.transitions=Object.create(null));let o=0;let a=0;let u;let s;if(this.keyMap){s=Object.keys(r).map(e=>this.encodeKey(e));a=s.length;for(let r=0;r>8|224;target[position++]=c&255}else{if(!s)s=i.__keys__||(i.__keys__=Object.keys(r));if(u===undefined){c=f.nextId++;if(!c){c=0;f.nextId=1}if(c>=MAX_STRUCTURES){f.nextId=(c=_)+1}}else{c=u}f[c]=s;if(c<_){target[position++]=217;target[position++]=c>>8|224;target[position++]=c&255;i=f.transitions;for(let e=0;e=MAX_STRUCTURES-_)h.shift()[RECORD_SYMBOL]=undefined;h.push(i);writeArrayHeader(a+2);g(57344+c);g(s);if(t===null)return;for(let e in r)if(t||r.hasOwnProperty(e))g(r[e]);return}}if(a<24){target[position++]=128|a}else{writeArrayHeader(a)}if(t===null)return;for(let e in r)if(t||r.hasOwnProperty(e))g(r[e])};const P=e=>{let r;if(e>16777216){if(e-s>MAX_BUFFER_SIZE)throw new Error("Encoded buffer would be larger than maximum buffer size");r=Math.min(MAX_BUFFER_SIZE,Math.round(Math.max((e-s)*(e>67108864?1.25:2),4194304)/4096)*4096)}else r=(Math.max(e-s<<2,target.length-1)>>12)+1<<12;let t=new ByteArrayAllocate(r);targetView=new DataView(t.buffer,0,r);if(target.copy)target.copy(t,0,s,e);else t.set(target.slice(s,e));position-=s;s=0;safeEnd=t.length-10;return target=t};let w=100;let D=1e3;this.encodeAsIterable=function(e,r){return S(e,r,x)};this.encodeAsAsyncIterable=function(e,r){return S(e,r,A)};function*x(n,i,e){let r=n.constructor;if(r===Object){let t=o.useRecords!==false;if(t)b(n,null);else writeEntityLength(Object.keys(n).length,160);for(let r in n){let e=n[r];if(!t)g(r);if(e&&typeof e==="object"){if(i[r])yield*x(e,i[r]);else yield*L(e,i,r)}else g(e)}}else if(r===Array){let e=n.length;writeArrayHeader(e);for(let r=0;rw)){if(i.element)yield*x(e,i.element);else yield*L(e,i,"element")}else g(e)}}else if(n[Symbol.iterator]){target[position++]=159;for(let e of n){if(e&&(typeof e==="object"||position-s>w)){if(i.element)yield*x(e,i.element);else yield*L(e,i,"element")}else g(e)}target[position++]=255}else if(isBlob(n)){writeEntityLength(n.size,64);yield target.subarray(s,position);yield n;E()}else if(n[Symbol.asyncIterator]){target[position++]=159;yield target.subarray(s,position);yield n;E();target[position++]=255}else{g(n)}if(e&&position>s)yield target.subarray(s,position);else if(position-s>w){yield target.subarray(s,position);E()}}function*L(r,t,n){let i=position-s;try{g(r);if(position-s>w){yield target.subarray(s,position);E()}}catch(e){if(e.iteratorNotHandled){t[n]={};position=s+i;yield*x.call(this,r,t[n])}else throw e}}function E(){w=D;o.encode(null,THROW_ON_ITERABLE)}function S(e,r,t){if(r&&r.chunkThreshold)w=D=r.chunkThreshold;else w=100;if(e&&typeof e==="object"){o.encode(null,THROW_ON_ITERABLE);return t(e,o.iterateProperties||(o.iterateProperties={}),true)}return[o.encode(e)]}async function*A(e,r){for(let t of x(e,r,true)){let e=t.constructor;if(e===ByteArray||e===Uint8Array)yield t;else if(isBlob(t)){let e=t.stream().getReader();let r;while(!(r=await e.read()).done){yield r.value}}else if(t[Symbol.asyncIterator]){for await(let e of t){E();if(e)yield*A(e,r.async||(r.async={}));else yield o.encode(e)}}else{yield t}}}}useBuffer(e){target=e;targetView=new DataView(target.buffer,target.byteOffset,target.byteLength);position=0}clearSharedData(){if(this.structures)this.structures=[];if(this.sharedValues)this.sharedValues=undefined}updateSharedData(){let r=this.sharedVersion||0;this.sharedVersion=r+1;let e=this.structures.slice(0);let t=new SharedData(e,this.sharedValues,this.sharedVersion);let n=this.saveShared(t,e=>(e&&e.version||0)==r);if(n===false){t=this.getShared()||{};this.structures=t.structures||[];this.sharedValues=t.packedValues;this.sharedVersion=t.version;this.structures.nextId=this.structures.length}else{e.forEach((e,r)=>this.structures[r]=e)}return n}}function writeEntityLength(e,r){if(e<24)target[position++]=r|e;else if(e<256){target[position++]=r|24;target[position++]=e}else if(e<65536){target[position++]=r|25;target[position++]=e>>8;target[position++]=e&255}else{target[position++]=r|26;targetView.setUint32(position,e);position+=4}}class SharedData{constructor(e,r,t){this.structures=e;this.packedValues=r;this.version=t}}function writeArrayHeader(e){if(e<24)target[position++]=128|e;else if(e<256){target[position++]=152;target[position++]=e}else if(e<65536){target[position++]=153;target[position++]=e>>8;target[position++]=e&255}else{target[position++]=154;targetView.setUint32(position,e);position+=4}}const BlobConstructor=typeof Blob==="undefined"?function(){}:Blob;function isBlob(e){if(e instanceof BlobConstructor)return true;let r=e[Symbol.toStringTag];return r==="Blob"||r==="File"}function findRepetitiveStrings(t,n){switch(typeof t){case"string":if(t.length>3){if(n.objectMap[t]>-1||n.values.length>=n.maxValues)return;let e=n.get(t);if(e){if(++e.count==2){n.values.push(t)}}else{n.set(t,{count:1});if(n.samplingPackedValues){let e=n.samplingPackedValues.get(t);if(e)e.count++;else n.samplingPackedValues.set(t,{count:1})}}}break;case"object":if(t){if(t instanceof Array){for(let e=0,r=t.length;e=0&&t<4294967296){target[position++]=26;targetView.setUint32(position,t);position+=4}else{target[position++]=251;targetView.setFloat64(position,t);position+=8}}},{tag:258,encode(e,r){let t=Array.from(e);r(t)}},{tag:27,encode(e,r){r([e.name,e.message])}},{tag:27,encode(e,r){r(["RegExp",e.source,e.flags])}},{getTag(e){return e.tag},encode(e,r){r(e.value)}},{encode(e,r,t){writeBuffer(e,t)}},{getTag(e){if(e.constructor===Uint8Array){if(this.tagUint8Array||hasNodeBuffer&&this.tagUint8Array!==false)return 64}},encode(e,r,t){writeBuffer(e,t)}},typedArrayEncoder(68,1),typedArrayEncoder(69,2),typedArrayEncoder(70,4),typedArrayEncoder(71,8),typedArrayEncoder(72,1),typedArrayEncoder(77,2),typedArrayEncoder(78,4),typedArrayEncoder(79,8),typedArrayEncoder(85,4),typedArrayEncoder(86,8),{encode(r,n){let e=r.packedValues||[];let t=r.structures||[];if(e.values.length>0){target[position++]=216;target[position++]=51;writeArrayHeader(4);let t=e.values;n(t);writeArrayHeader(0);writeArrayHeader(0);packedObjectMap=Object.create(sharedPackedObjectMap||null);for(let e=0,r=t.length;e1)e-=4;return{tag:e,encode:function e(r,t){let n=r.byteLength;let i=r.byteOffset||0;let o=r.buffer||r;t(hasNodeBuffer?Buffer$1.from(o,i,n):new Uint8Array(o,i,n))}}}function writeBuffer(e,r){let t=e.byteLength;if(t<24){target[position++]=64+t}else if(t<256){target[position++]=88;target[position++]=t}else if(t<65536){target[position++]=89;target[position++]=t>>8;target[position++]=t&255}else{target[position++]=90;targetView.setUint32(position,t);position+=4}if(position+t>=target.length){r(position+t)}target.set(e.buffer?e:new Uint8Array(e),position);position+=t}function insertIds(n,e){let t;let i=e.length*2;let o=n.length-i;e.sort((e,r)=>e.offset>r.offset?1:-1);for(let t=0;t>8;n[e]=t&255}}while(t=e.pop()){let e=t.offset;n.copyWithin(e+i,e,o);i-=2;let r=e+i;n[r++]=216;n[r++]=28;o=e}return n}function writeBundles(e,r){targetView.setUint32(bundledStrings.position+e,position-bundledStrings.position-e+1);let t=bundledStrings;bundledStrings=null;r(t[0]);r(t[1])}function addExtension(e){if(e.Class){if(!e.encode)throw new Error("Extension has no encode function");extensionClasses.unshift(e.Class);extensions.unshift(e)}addExtension$1(e)}let defaultEncoder=new Encoder({useRecords:false});defaultEncoder.encode;defaultEncoder.encodeAsIterable;defaultEncoder.encodeAsAsyncIterable;const REUSE_BUFFER_MODE=512;const RESET_BUFFER_MODE=1024;const THROW_ON_ITERABLE=2048;var lzjbPack={}; /**@license * * No Dependency fast and small LZJB Compression for Browser and Node @@ -42,4 +42,4 @@ function _classApplyDescriptorGet(e,t){if(t.get){return t.get.call(e)}return t.v * Released under BSD-3-Clause License * * build: Wed, 27 Oct 2021 10:43:10 GMT - */Object.defineProperty(lzjbPack,"__esModule",{value:true});const NBBY=8,MATCH_BITS=6,MATCH_MIN=3,MATCH_MAX=(1<r-MATCH_MAX){t[i++]=e[n++];continue}l=(e[n]+13^e[n+1]-13^e[n+2])&LEMPEL_SIZE-1;c=n-f[l]&OFFSET_MASK;f[l]=n;a=n-c;if(a>=0&&a!=n&&e[n]==e[a]&&e[n+1]==e[a+1]&&e[n+2]==e[a+2]){t[o]|=u;for(s=MATCH_MIN;s>NBBY;t[i++]=c;n+=s}else{t[i++]=e[n++]}}console.assert(e.length>=n);return i}function decompress(e,t,r){t=t|0;var n=0,i=0,a=0,o=0,u=1<<(NBBY-1|0),s=0,c=0;while(n>(NBBY-MATCH_BITS|0))+MATCH_MIN|0;c=(e[n]<4){r[i]=r[a];i=i+1|0;a=a+1|0;r[i]=r[a];i=i+1|0;a=a+1|0;r[i]=r[a];i=i+1|0;a=a+1|0;r[i]=r[a];i=i+1|0;a=a+1|0;s=s-4|0}while(s>0){r[i]=r[a];i=i+1|0;a=a+1|0;s=s-1|0}}}else{r[i]=e[n];i=i+1|0;n=n+1|0}}return i}function encode_magic$1(){const e=new TextEncoder("utf-8");return e.encode(MAGIC_STRING)}const MAGIC_STRING="@lzjb";const MAGIC=encode_magic$1();function merge_uint8_array$1(...e){if(e.length>1){const r=e.reduce((e,t)=>e+t.length,0);const n=new Uint8Array(r);let t=0;e.forEach(e=>{n.set(e,t);t+=e.length});return n}else if(e.length){return e[0]}}function number_to_bytes(t){const e=Math.ceil(Math.log2(t)/8);const r=new Uint8Array(e);for(let e=0;e=0;e--){r=r*256+t[e]}return r}function pack(e,{magic:t=true}={}){const r=new Uint8Array(Math.max(e.length*1.5|0,16*1024));const n=compress(e,r);const i=number_to_bytes(e.length);const a=[Uint8Array.of(i.length),i,r.slice(0,n)];if(t){a.unshift(MAGIC)}return merge_uint8_array$1(...a)}function unpack(t,{magic:e=true}={}){if(e){const e=new TextDecoder("utf-8");const s=e.decode(t.slice(0,MAGIC.length));if(s!==MAGIC_STRING){throw new Error("Invalid magic value")}}const r=e?MAGIC.length:0;const n=t[r];const i=r+1;const a=r+n+1;const o=bytes_to_number(t.slice(i,a));t=t.slice(a);const u=new Uint8Array(o);decompress(t,t.length,u);return u}var pack_1=lzjbPack.pack=pack;var unpack_1=lzjbPack.unpack=unpack;function unfetch(s,c){return c=c||{},new Promise(function(e,t){var r=new XMLHttpRequest,n=[],i=[],a={},o=function(){return{ok:2==(r.status/100|0),statusText:r.statusText,status:r.status,url:r.responseURL,text:function(){return Promise.resolve(r.responseText)},json:function(){return Promise.resolve(r.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([r.response]))},clone:o,headers:{keys:function(){return n},entries:function(){return i},get:function(e){return a[e.toLowerCase()]},has:function(e){return e.toLowerCase()in a}}}};for(var u in r.open(c.method||"get",s,!0),r.onload=function(){r.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(e,t,r){n.push(t=t.toLowerCase()),i.push([t,r]),a[t]=a[t]?a[t]+","+r:r}),e(o())},r.onerror=t,r.withCredentials="include"==c.credentials,c.headers)r.setRequestHeader(u,c.headers[u]);r.send(c.body||null)})}var _excluded=["token"],_excluded2=["env"],_excluded3=["stderr","stdin","stdout","command_line"],_excluded4=["use_dynamic"],_excluded5=["use_dynamic"],_excluded6=["env","dynamic_env","use_dynamic","error"];function _classPrivateFieldInitSpec(e,t,r){_checkPrivateRedeclaration(e,t);t.set(e,r)}function _checkPrivateRedeclaration(e,t){if(t.has(e)){throw new TypeError("Cannot initialize the same private elements twice on an object")}}function _callSuper(e,t,r){return t=_getPrototypeOf(t),_possibleConstructorReturn(e,_isNativeReflectConstruct()?Reflect.construct(t,r||[],_getPrototypeOf(e).constructor):t.apply(e,r))}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(_isNativeReflectConstruct=function e(){return!!t})()}function _createForOfIteratorHelper(t,e){var r=typeof Symbol!=="undefined"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=_unsupportedIterableToArray(t))||e&&t&&typeof t.length==="number"){if(r)t=r;var n=0;var i=function e(){};return{s:i,n:function e(){if(n>=t.length)return{done:true};return{done:false,value:t[n++]}},e:function e(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a=true,o=false,u;return{s:function e(){r=r.call(t)},n:function e(){var t=r.next();a=t.done;return t},e:function e(t){o=true;u=t},f:function e(){try{if(!a&&r["return"]!=null)r["return"]()}finally{if(o)throw u}}}}function _unsupportedIterableToArray(e,t){if(!e)return;if(typeof e==="string")return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor)r=e.constructor.name;if(r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _arrayLikeToArray(e,t)}function _arrayLikeToArray(e,t){if(t==null||t>e.length)t=e.length;for(var r=0,n=new Array(t);r1?r-1:0),i=1;i0&&arguments[0]!==undefined?arguments[0]:null;var t=user_env&&user_env.get("DEBUG",{throwError:false});if(e===null){return t===true}return(t===null||t===void 0?void 0:t.valueOf())===e.valueOf()}function num_mnemicic_re(e){return e?"(?:#".concat(e,"(?:#[ie])?|#[ie]#").concat(e,")"):"(?:#[ie])?"}function gen_rational_re(e,t){return"".concat(num_mnemicic_re(e),"[+-]?").concat(t,"+/").concat(t,"+")}function gen_complex_re(e,t){return"".concat(num_mnemicic_re(e),"(?:[+-]?(?:").concat(t,"+/").concat(t,"+|nan.0|inf.0|").concat(t,"+))?(?:[+-]i|[+-]?(?:").concat(t,"+/").concat(t,"+|").concat(t,"+|nan.0|inf.0)i)(?=[()[\\]\\s]|$)")}function gen_integer_re(e,t){return"".concat(num_mnemicic_re(e),"[+-]?").concat(t,"+")}var re_re=/^#\/((?:\\\/|[^/]|\[[^\]]*\/[^\]]*\])+)\/([gimyus]*)$/;var float_stre="(?:[-+]?(?:[0-9]+(?:[eE][-+]?[0-9]+)|(?:\\.[0-9]+|[0-9]+\\.[0-9]+)(?:[eE][-+]?[0-9]+)?)|[0-9]+\\.)";var complex_float_stre="(?:#[ie])?(?:[+-]?(?:[0-9][0-9_]*/[0-9][0-9_]*|nan.0|inf.0|".concat(float_stre,"|[+-]?[0-9]+))?(?:").concat(float_stre,"|[+-](?:[0-9]+/[0-9]+|[0-9]+|nan.0|inf.0))i");var float_re=new RegExp("^(#[ie])?".concat(float_stre,"$"),"i");function make_complex_match_re(e,t){var r=e==="x"?"(?!\\+|".concat(t,")"):"(?!\\.|".concat(t,")");var n="";if(e===""){n="(?:[-+]?(?:[0-9]+(?:[eE][-+]?[0-9]+)|(?:\\.[0-9]+|[0-9]+\\.[0-9]+(?![0-9]))(?:[eE][-+]?[0-9]+)?))"}return new RegExp("^((?:(?:".concat(n,"|[-+]?inf.0|[-+]?nan.0|[+-]?").concat(t,"+/").concat(t,"+(?!").concat(t,")|[+-]?").concat(t,"+)").concat(r,")?)(").concat(n,"|[-+]?inf.0|[-+]?nan.0|[+-]?").concat(t,"+/").concat(t,"+|[+-]?").concat(t,"+|[+-])i$"),"i")}var complex_list_re=function(){var a={};[[10,"","[0-9]"],[16,"x","[0-9a-fA-F]"],[8,"o","[0-7]"],[2,"b","[01]"]].forEach(function(e){var t=_slicedToArray(e,3),r=t[0],n=t[1],i=t[2];a[r]=make_complex_match_re(n,i)});return a}();var characters={alarm:"",backspace:"\b",delete:"",escape:"",newline:"\n",null:"\0",return:"\r",space:" ",tab:"\t",dle:"",soh:"",dc1:"",stx:"",dc2:"",etx:"",dc3:"",eot:"",dc4:"",enq:"",nak:"",ack:"",syn:"",bel:"",etb:"",bs:"\b",can:"",ht:"\t",em:"",lf:"\n",sub:"",vt:"\v",esc:"",ff:"\f",fs:"",cr:"\r",gs:"",so:"",rs:"",si:"",us:"",del:""};function ucs2decode(e){var t=[];var r=0;var n=e.length;while(r=55296&&i<=56319&&r1&&arguments[1]!==undefined?arguments[1]:10;var r=num_pre_parse(e);var n=r.number.split("/");var i=LRational({num:LNumber([n[0],r.radix||t]),denom:LNumber([n[1],r.radix||t])});if(r.inexact){return i.valueOf()}else{return i}}function parse_integer(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:10;var r=num_pre_parse(e);if(r.inexact){return LFloat(parseInt(r.number,r.radix||t))}return LNumber([r.number,r.radix||t])}function parse_character(e){var t=e.match(/#\\x([0-9a-f]+)$/i);var r;if(t){var n=parseInt(t[1],16);r=String.fromCodePoint(n)}else{t=e.match(/#\\([\s\S]+)$/);if(t){r=t[1]}}if(r){return LCharacter(r)}throw new Error("Parse: invalid character")}function parse_complex(e){var i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:10;function t(e){var t;if(e==="+"){t=LNumber(1)}else if(e==="-"){t=LNumber(-1)}else if(e.match(int_bare_re)){t=LNumber([e,i])}else if(e.match(rational_bare_re)){var r=e.split("/");t=LRational({num:LNumber([r[0],i]),denom:LNumber([r[1],i])})}else if(e.match(float_re)){var n=parse_float(e);if(a.exact){return n.toRational()}return n}else if(e.match(/nan.0$/)){return LNumber(NaN)}else if(e.match(/inf.0$/)){if(e[0]==="-"){return LNumber(Number.NEGATIVE_INFINITY)}return LNumber(Number.POSITIVE_INFINITY)}else{throw new Error("Internal Parser Error")}if(a.inexact){return LFloat(t.valueOf())}return t}var a=num_pre_parse(e);i=a.radix||i;var r;var n=a.number.match(complex_bare_match_re);if(i!==10&&n){r=n}else{r=a.number.match(complex_list_re[i])}var o,u;u=t(r[2]);if(r[1]){o=t(r[1])}else if(u instanceof LFloat){o=LFloat(0)}else{o=LNumber(0)}if(u.cmp(0)===0&&u.__type__==="bigint"){return o}return LComplex({im:u,re:o})}function is_int(e){return parseInt(e.toString(),10)===e}function parse_big_int(e){var t=e.match(/^(([-+]?[0-9]*)(?:\.([0-9]+))?)e([-+]?[0-9]+)/i);if(t){var r=parseInt(t[4],10);var n;var i=t[1].replace(/[-+]?([0-9]*)\..+$/,"$1").length;var a=t[3]&&t[3].length;if(i0&&(t.exact||!t.number.match(/\./))){return LNumber(a).mul(u)}}}r=LFloat(r);if(t.exact){return r.toRational()}return r}function parse_string(e){e=e.replace(/\\x([0-9a-f]+);/gi,function(e,t){return"\\u"+t.padStart(4,"0")}).replace(/\n/g,"\\n");var t=e.match(/(\\*)(\\x[0-9A-F])/i);if(t&&t[1].length%2===0){throw new Error("Invalid string literal, unclosed ".concat(t[2]))}try{var r=LString(JSON.parse(e));r.freeze();return r}catch(e){var n=e.message.replace(/in JSON /,"").replace(/.*Error: /,"");throw new Error("Invalid string literal: ".concat(n))}}function parse_symbol(e){if(e.match(/^\|.*\|$/)){e=e.replace(/(^\|)|(\|$)/g,"");var r={t:"\t",r:"\r",n:"\n"};e=e.replace(/\\(x[^;]+);/g,function(e,t){return String.fromCharCode(parseInt("0"+t,16))}).replace(/\\(.)/g,function(e,t){return r[t]||t})}return new LSymbol(e)}function parse_argument(e){if(constants.hasOwnProperty(e)){return constants[e]}if(e.match(/^"[\s\S]*"$/)){return parse_string(e)}else if(e[0]==="#"){var t=e.match(re_re);if(t){return new RegExp(t[1],t[2])}else if(e.match(char_re)){return parse_character(e)}var r=e.match(/#\\(.+)/);if(r&&ucs2decode(r[1]).length===1){return parse_character(e)}}if(e.match(/[0-9a-f]|[+-]i/i)){if(e.match(int_re)){return parse_integer(e)}else if(e.match(float_re)){return parse_float(e)}else if(e.match(rational_re)){return parse_rational(e)}else if(e.match(complex_re)){return parse_complex(e)}}if(e.match(/^#[iexobd]/)){throw new Error("Invalid numeric constant: "+e)}return parse_symbol(e)}function is_atom_string(e){return!(["(",")","[","]"].includes(e)||specials.names().includes(e))}function is_symbol_string(e){return is_atom_string(e)&&!(e.match(re_re)||e.match(/^"[\s\S]*"$/)||e.match(int_re)||e.match(float_re)||e.match(complex_re)||e.match(rational_re)||e.match(char_re)||["#t","#f","nil"].includes(e))}var string_re=/"(?:\\[\S\s]|[^"])*"?/g;function escape_regex(e){if(typeof e==="string"){var t=/([-\\^$[\]()+{}?*.|])/g;return e.replace(t,"\\$1")}return e}function Stack(){this.data=[]}Stack.prototype.push=function(e){this.data.push(e)};Stack.prototype.top=function(){return this.data[this.data.length-1]};Stack.prototype.pop=function(){return this.data.pop()};Stack.prototype.is_empty=function(){return!this.data.length};function tokens(e){if(e instanceof LString){e=e.valueOf()}var t=new Lexer(e,{whitespace:true});var r=[];while(true){var n=t.peek(true);if(n===eof){break}r.push(n);t.skip()}return r}function multiline_formatter(e){var t=e.token,r=_objectWithoutProperties(e,_excluded);if(t.match(/^"[\s\S]*"$/)&&t.match(/\n/)){var n=new RegExp("^ {1,"+(e.col+1)+"}","mg");t=t.replace(n,"")}return _objectSpread({token:t},r)}function Thunk(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(){};this.fn=e;this.cont=t}Thunk.prototype.toString=function(){return"#"};function trampoline(n){return function(){for(var e=arguments.length,t=new Array(e),r=0;r1&&arguments[1]!==undefined?arguments[1]:false;if(e instanceof LString){e=e.toString()}if(t){return tokens(e)}else{var r=tokens(e).map(function(e){if(e.token==="#\\ "||e.token=="#\\\n"){return e.token}return e.token.trim()}).filter(function(e){return e&&!e.match(/^;/)&&!e.match(/^#\|[\s\S]*\|#$/)});return strip_s_comments(r)}}function strip_s_comments(e){var t=0;var r=null;var n=[];for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:null;if(e instanceof LSymbol){if(e.is_gensym()){return e}e=e.valueOf()}if(is_gensym(e)){return LSymbol(e)}if(e!==null){return r(e,Symbol("#:".concat(e)))}t++;return r(t,Symbol("#:g".concat(t)))}}();function QuotedPromise(e){var r=this;var n={pending:true,rejected:false,fulfilled:false,reason:undefined,type:undefined};e=e.then(function(e){n.type=type(e);n.fulfilled=true;n.pending=false;return e});read_only(this,"_promise",e,{hidden:true});if(is_function(e["catch"])){e=e["catch"](function(e){n.rejected=true;n.pending=false;n.reason=e})}Object.keys(n).forEach(function(t){Object.defineProperty(r,"__".concat(t,"__"),{enumerable:true,get:function e(){return n[t]}})});read_only(this,"__promise__",e);this.then=false}QuotedPromise.prototype.then=function(e){return new QuotedPromise(this.valueOf().then(e))};QuotedPromise.prototype["catch"]=function(e){return new QuotedPromise(this.valueOf()["catch"](e))};QuotedPromise.prototype.valueOf=function(){if(!this._promise){throw new Error("QuotedPromise: invalid promise created")}return this._promise};QuotedPromise.prototype.toString=function(){if(this.__pending__){return QuotedPromise.pending_str}if(this.__rejected__){return QuotedPromise.rejected_str}return"#")};QuotedPromise.pending_str="#";QuotedPromise.rejected_str="#";function promise_all(e){if(Array.isArray(e)){return Promise.all(escape_quoted_promises(e)).then(unescape_quoted_promises)}return e}function escape_quoted_promises(e){var t=new Array(e.length),r=e.length;while(r--){var n=e[r];if(n instanceof QuotedPromise){t[r]=new Value(n)}else{t[r]=n}}return t}function unescape_quoted_promises(e){var t=new Array(e.length),r=e.length;while(r--){var n=e[r];if(n instanceof Value){t[r]=n.valueOf()}else{t[r]=n}}return t}var specials={LITERAL:Symbol["for"]("literal"),SPLICE:Symbol["for"]("splice"),SYMBOL:Symbol["for"]("symbol"),names:function e(){return Object.keys(this.__list__)},type:function e(t){try{return this.get(t).type}catch(e){console.log({name:t});console.log(e);return null}},get:function e(t){return this.__list__[t]},off:function e(t){var r=this;var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;if(Array.isArray(t)){t.forEach(function(e){return r.off(e,n)})}else if(n===null){delete this.__events__[t]}else{this.__events__=this.__events__.filter(function(e){return e!==n})}},on:function e(t,r){var n=this;if(Array.isArray(t)){t.forEach(function(e){return n.on(e,r)})}else if(!this.__events__[t]){this.__events__[t]=[r]}else{this.__events__[t].push(r)}},trigger:function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i",new LSymbol("quote-promise"),specials.LITERAL]];var builtins=defined_specials.map(function(e){return e[0]});Object.freeze(builtins);Object.defineProperty(specials,"__builtins__",{writable:false,value:builtins});defined_specials.forEach(function(e){var t=_slicedToArray(e,3),r=t[0],n=t[1],i=t[2];specials.append(r,n,i)});var Lexer=function(){function p(e){var t=this;var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},n=r.whitespace,i=n===void 0?false:n;_classCallCheck(this,p);read_only(this,"__input__",e.replace(/\r/g,""));var a={};["_i","_whitespace","_col","_newline","_line","_state","_next","_token","_prev_char"].forEach(function(r){Object.defineProperty(t,r,{configurable:false,enumerable:false,get:function e(){return a[r]},set:function e(t){a[r]=t}})});this._whitespace=i;this._i=this._line=this._col=this._newline=0;this._state=this._next=this._token=null;this._prev_char=""}_createClass(p,[{key:"get",value:function e(t){return this.__internal[t]}},{key:"set",value:function e(t,r){this.__internal[t]=r}},{key:"token",value:function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(t){var r=this._line;if(this._whitespace&&this._token==="\n"){--r}return{token:this._token,col:this._col,offset:this._i,line:r}}return this._token}},{key:"peek",value:function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(this._i>=this.__input__.length){return eof}if(this._token){return this.token(t)}var r=this.next_token();if(r){this._token=this.__input__.substring(this._i,this._next);return this.token(t)}return eof}},{key:"skip",value:function e(){if(this._next!==null){this._token=null;this._i=this._next}}},{key:"read_line",value:function e(){var t=this.__input__.length;if(this._i>=t){return eof}for(var r=this._i;r=r){return eof}if(t+this._i>=r){return this.read_rest()}var n=this._i+t;var i=this.__input__.substring(this._i,n);var a=i.match(/\n/g);if(a){this._line+=a.length}this._i=n;return i}},{key:"peek_char",value:function e(){if(this._i>=this.__input__.length){return eof}return LCharacter(this.__input__[this._i])}},{key:"read_char",value:function e(){var t=this.peek_char();this.skip_char();return t}},{key:"skip_char",value:function e(){if(this._i1&&arguments[1]!==undefined?arguments[1]:{},n=r.prev_char,i=r["char"],a=r.next_char;var o=_slicedToArray(t,4),u=o[0],s=o[1],c=o[2],l=o[3];if(t.length!==5){throw new Error("Lexer: Invalid rule of length ".concat(t.length))}if(is_string(u)){if(u!==i){return false}}else if(!i.match(u)){return false}if(!match_or_null(s,n)){return false}if(!match_or_null(c,a)){return false}if(l!==this._state){return false}return true}},{key:"next_token",value:function e(){if(this._i>=this.__input__.length){return false}var t=true;e:for(var r=this._i,n=this.__input__.length;r2&&arguments[2]!==undefined?arguments[2]:null;var i=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;if(t.length===0){throw new Error("Lexer: invalid literal rule")}if(t.length===1){return[[t,n,i,null,null]]}var a=[];for(var o=0,u=t.length;o1&&arguments[1]!==undefined?arguments[1]:{},r=t.env,n=t.meta,i=n===void 0?false:n,a=t.formatter,o=a===void 0?multiline_formatter:a;_classCallCheck(this,u);if(e instanceof LString){e=e.toString()}read_only(this,"_formatter",o,{hidden:true});read_only(this,"__lexer__",new Lexer(e));read_only(this,"__env__",r);read_only(this,"_meta",i,{hidden:true});read_only(this,"_refs",[],{hidden:true});read_only(this,"_state",{parentheses:0},{hidden:true})}_createClass(u,[{key:"resolve",value:function e(t){return this.__env__&&this.__env__.get(t,{throwError:false})}},{key:"peek",value:function(){var e=_asyncToGenerator(_regeneratorRuntime.mark(function e(){var r;return _regeneratorRuntime.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:r=this.__lexer__.peek(true);if(!(r===eof)){t.next=4;break}return t.abrupt("return",eof);case 4:if(!this.is_comment(r.token)){t.next=7;break}this.skip();return t.abrupt("continue",0);case 7:if(!(r.token==="#;")){t.next=14;break}this.skip();if(!(this.__lexer__.peek()===eof)){t.next=11;break}throw new Error("Lexer: syntax error eof found after comment");case 11:t.next=13;return this._read_object();case 13:return t.abrupt("continue",0);case 14:return t.abrupt("break",17);case 17:r=this._formatter(r);if(!this._meta){t.next=20;break}return t.abrupt("return",r);case 20:return t.abrupt("return",r.token);case 21:case"end":return t.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()},{key:"reset",value:function e(){this._refs.length=0}},{key:"skip",value:function e(){this.__lexer__.skip()}},{key:"read",value:function(){var e=_asyncToGenerator(_regeneratorRuntime.mark(function e(){var r;return _regeneratorRuntime.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:t.next=2;return this.peek();case 2:r=t.sent;this.skip();return t.abrupt("return",r);case 5:case"end":return t.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()},{key:"match_datum_label",value:function e(t){var r=t.match(/^#([0-9]+)=$/);return r&&r[1]}},{key:"match_datum_ref",value:function e(t){var r=t.match(/^#([0-9]+)#$/);return r&&r[1]}},{key:"is_open",value:function e(t){var r=["(","["].includes(t);if(r){this._state.parentheses++}return r}},{key:"is_close",value:function e(t){var r=[")","]"].includes(t);if(r){this._state.parentheses--}return r}},{key:"read_list",value:function(){var e=_asyncToGenerator(_regeneratorRuntime.mark(function e(){var r,n,i,a,o;return _regeneratorRuntime.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:r=_nil,n=r;case 1:t.next=4;return this.peek();case 4:a=t.sent;if(!(a===eof)){t.next=7;break}return t.abrupt("break",32);case 7:if(!this.is_close(a)){t.next=10;break}this.skip();return t.abrupt("break",32);case 10:if(!(a==="."&&!is_nil(r))){t.next=18;break}this.skip();t.next=14;return this._read_object();case 14:n.cdr=t.sent;i=true;t.next=30;break;case 18:if(!i){t.next=22;break}throw new Error("Parser: syntax error more than one element after dot");case 22:t.t0=Pair;t.next=25;return this._read_object();case 25:t.t1=t.sent;t.t2=_nil;o=new t.t0(t.t1,t.t2);if(is_nil(r)){r=o}else{n.cdr=o}n=o;case 30:t.next=1;break;case 32:return t.abrupt("return",r);case 33:case"end":return t.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()},{key:"read_value",value:function(){var e=_asyncToGenerator(_regeneratorRuntime.mark(function e(){var r;return _regeneratorRuntime.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:t.next=2;return this.read();case 2:r=t.sent;if(!(r===eof)){t.next=5;break}throw new Error("Parser: Expected token eof found");case 5:return t.abrupt("return",parse_argument(r));case 6:case"end":return t.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()},{key:"is_comment",value:function e(t){return t.match(/^;/)||t.match(/^#\|/)&&t.match(/\|#$/)}},{key:"evaluate",value:function e(t){return _evaluate(t,{env:this.__env__,error:function e(t){throw t}})}},{key:"read_object",value:function(){var e=_asyncToGenerator(_regeneratorRuntime.mark(function e(){var r;return _regeneratorRuntime.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:this.reset();t.next=3;return this._read_object();case 3:r=t.sent;if(r instanceof DatumReference){r=r.valueOf()}if(!this._refs.length){t.next=7;break}return t.abrupt("return",unpromise(this._resolve_object(r),function(e){if(is_pair(e)){e.mark_cycles()}return e}));case 7:return t.abrupt("return",r);case 8:case"end":return t.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()},{key:"balanced",value:function e(){return this._state.parentheses===0}},{key:"ballancing_error",value:function e(t,r){var n=this._state.parentheses;var i;if(n<0){i=new Error("Parser: unexpected parenthesis");i.__code__=[r.toString()+")"]}else{i=new Error("Parser: expected parenthesis but eof found");var a=new RegExp("\\){".concat(n,"}$"));i.__code__=[t.toString().replace(a,"")]}throw i}},{key:"_resolve_object",value:function(){var t=_asyncToGenerator(_regeneratorRuntime.mark(function e(r){var n=this;var i;return _regeneratorRuntime.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(!Array.isArray(r)){t.next=2;break}return t.abrupt("return",r.map(function(e){return n._resolve_object(e)}));case 2:if(!is_plain_object(r)){t.next=6;break}i={};Object.keys(r).forEach(function(e){i[e]=n._resolve_object(r[e])});return t.abrupt("return",i);case 6:if(!is_pair(r)){t.next=8;break}return t.abrupt("return",this._resolve_pair(r));case 8:return t.abrupt("return",r);case 9:case"end":return t.stop()}},e,this)}));function e(e){return t.apply(this,arguments)}return e}()},{key:"_resolve_pair",value:function(){var t=_asyncToGenerator(_regeneratorRuntime.mark(function e(r){return _regeneratorRuntime.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(!is_pair(r)){t.next=15;break}if(!(r.car instanceof DatumReference)){t.next=7;break}t.next=4;return r.car.valueOf();case 4:r.car=t.sent;t.next=8;break;case 7:this._resolve_pair(r.car);case 8:if(!(r.cdr instanceof DatumReference)){t.next=14;break}t.next=11;return r.cdr.valueOf();case 11:r.cdr=t.sent;t.next=15;break;case 14:this._resolve_pair(r.cdr);case 15:return t.abrupt("return",r);case 16:case"end":return t.stop()}},e,this)}));function e(e){return t.apply(this,arguments)}return e}()},{key:"_read_object",value:function(){var e=_asyncToGenerator(_regeneratorRuntime.mark(function e(){var r,n,i,a,o,u,s,c,l,f,_;return _regeneratorRuntime.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:t.next=2;return this.peek();case 2:r=t.sent;if(!(r===eof)){t.next=5;break}return t.abrupt("return",r);case 5:if(!is_special(r)){t.next=38;break}n=specials.get(r);i=is_builtin(r);this.skip();o=is_symbol_extension(r);if(!o){t.next=14;break}t.t0=undefined;t.next=17;break;case 14:t.next=16;return this._read_object();case 16:t.t0=t.sent;case 17:u=t.t0;if(i){t.next=25;break}s=this.__env__.get(n.symbol);if(!(typeof s==="function")){t.next=25;break}if(is_literal(r)){c=[u]}else if(is_nil(u)){c=[]}else if(is_pair(u)){c=u.to_array(false)}if(!(c||o)){t.next=24;break}return t.abrupt("return",call_function(s,o?[]:c,{env:this.__env__,dynamic_env:this.__env__,use_dynamic:false}));case 24:throw new Error("Parse Error: Invalid parser extension "+"invocation ".concat(n.symbol));case 25:if(is_literal(r)){a=new Pair(n.symbol,new Pair(u,_nil))}else{a=new Pair(n.symbol,u)}if(!i){t.next=28;break}return t.abrupt("return",a);case 28:if(!(s instanceof Macro)){t.next=37;break}t.next=31;return this.evaluate(a);case 31:l=t.sent;if(!(is_pair(l)||l instanceof LSymbol)){t.next=34;break}return t.abrupt("return",Pair.fromArray([LSymbol("quote"),l]));case 34:return t.abrupt("return",l);case 37:throw new Error("Parse Error: invalid parser extension: "+n.symbol);case 38:f=this.match_datum_ref(r);if(!(f!==null)){t.next=44;break}this.skip();if(!this._refs[f]){t.next=43;break}return t.abrupt("return",new DatumReference(f,this._refs[f]));case 43:throw new Error("Parse Error: invalid datum label #".concat(f,"#"));case 44:_=this.match_datum_label(r);if(!(_!==null)){t.next=51;break}this.skip();this._refs[_]=this._read_object();return t.abrupt("return",this._refs[_]);case 51:if(!this.is_close(r)){t.next=55;break}this.skip();t.next=61;break;case 55:if(!this.is_open(r)){t.next=60;break}this.skip();return t.abrupt("return",this.read_list());case 60:return t.abrupt("return",this.read_value());case 61:case"end":return t.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()}]);return u}();var DatumReference=function(){function r(e,t){_classCallCheck(this,r);this.name=e;this.data=t}_createClass(r,[{key:"valueOf",value:function e(){return this.data}}]);return r}();function _parse(e,t){return _parse2.apply(this,arguments)}function _parse2(){_parse2=_wrapAsyncGenerator(_regeneratorRuntime.mark(function e(r,n){var i,a,o;return _regeneratorRuntime.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(!n){if(global_env){n=global_env.get("**interaction-environment**",{throwError:false})}else{n=user_env}}i=new Parser(r,{env:n});case 3:t.next=6;return _awaitAsyncGenerator(i.read_object());case 6:o=t.sent;if(!i.balanced()){i.ballancing_error(o,a)}if(!(o===eof)){t.next=10;break}return t.abrupt("break",15);case 10:a=o;t.next=13;return o;case 13:t.next=3;break;case 15:case"end":return t.stop()}},e)}));return _parse2.apply(this,arguments)}function unpromise(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(e){return e};var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;if(is_promise(e)){var n=e.then(t);if(r===null){return n}else{return n["catch"](r)}}if(e instanceof Array){return unpromise_array(e,t,r)}if(is_plain_object(e)){return unpromise_object(e,t,r)}return t(e)}function unpromise_array(t,r,e){if(t.find(is_promise)){return unpromise(promise_all(t),function(e){if(Object.isFrozen(t)){Object.freeze(e)}return r(e)},e)}return r(t)}function unpromise_object(t,e,r){var i=Object.keys(t);var n=[],a=[];var o=i.length;while(o--){var u=i[o];var s=t[u];n[o]=s;if(is_promise(s)){a.push(s)}}if(a.length){return unpromise(promise_all(n),function(e){var n={};e.forEach(function(e,t){var r=i[t];n[r]=e});if(Object.isFrozen(t)){Object.freeze(n)}return n},r)}return e(t)}function read_only(e,t,r){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{},i=n.hidden,a=i===void 0?false:i;Object.defineProperty(e,t,{value:r,configurable:true,enumerable:!a})}function uniterate_async(e){return _uniterate_async.apply(this,arguments)}function _uniterate_async(){_uniterate_async=_asyncToGenerator(_regeneratorRuntime.mark(function e(r){var n,i,a,o,u,s,c;return _regeneratorRuntime.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:n=[];i=false;a=false;t.prev=3;u=_asyncIterator(r);case 5:t.next=7;return u.next();case 7:if(!(i=!(s=t.sent).done)){t.next=13;break}c=s.value;n.push(c);case 10:i=false;t.next=5;break;case 13:t.next=19;break;case 15:t.prev=15;t.t0=t["catch"](3);a=true;o=t.t0;case 19:t.prev=19;t.prev=20;if(!(i&&u["return"]!=null)){t.next=24;break}t.next=24;return u["return"]();case 24:t.prev=24;if(!a){t.next=27;break}throw o;case 27:return t.finish(24);case 28:return t.finish(19);case 29:return t.abrupt("return",n);case 30:case"end":return t.stop()}},e,null,[[3,15,19,29],[20,,24,28]])}));return _uniterate_async.apply(this,arguments)}function matcher(e,t){if(t instanceof RegExp){return function(e){return String(e).match(t)}}else if(is_function(t)){return t}throw new Error("Invalid matcher")}function doc(e,t,r,n){if(typeof e!=="string"){t=arguments[0];r=arguments[1];n=arguments[2];e=null}if(r){if(n){t.__doc__=r}else{t.__doc__=trim_lines(r)}}if(e){t.__name__=e}else if(t.name&&!is_lambda(t)){t.__name__=t.name}return t}function trim_lines(e){return e.split("\n").map(function(e){return e.trim()}).join("\n")}function previousSexp(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;var r=e.length;if(t<=0){throw Error("previousSexp: Invalid argument sexp = ".concat(t))}e:while(t--&&r>=0){var n=1;while(n>0){var i=e[--r];if(!i){break e}if(i==="("||i.token==="("){n--}else if(i===")"||i.token===")"){n++}}r--}return e.slice(r+1)}function lineIndent(e){if(!e||!e.length){return 0}var t=e.length;if(e[t-1].token==="\n"){return 0}while(--t){if(e[t].token==="\n"){var r=(e[t+1]||{}).token;if(r){return r.length}}}return 0}function match(e,t){return l(e,t)===t.length;function l(r,n){function e(e,t){var r=_createForOfIteratorHelper(e),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;var a=l(i,t);if(a!==-1){return a}}}catch(e){r.e(e)}finally{r.f()}return-1}function t(){return r[a]===Symbol["for"]("symbol")&&!is_symbol_string(n[u])}function i(){var e=r[a+1];var t=n[u+1];if(e!==undefined&&t!==undefined){return l([e],[t])}}var a=0;var o={};for(var u=0;u0){continue}}else if(t()){return-1}}else if(r[a]instanceof Array){var c=l(r[a],n.slice(u));if(c===-1||c+u>n.length){return-1}u+=c-1;a++;continue}else{return-1}a++}if(r.length!==a){return-1}return n.length}}function Formatter(e){this.__code__=e.replace(/\r/g,"")}Formatter.defaults={offset:0,indent:2,exceptions:{specials:[/^(?:#:)?(?:define(?:-values|-syntax|-macro|-class|-record-type)?|(?:call-with-(?:input-file|output-file|port))|lambda|let-env|try|catch|when|unless|while|syntax-rules|(let|letrec)(-syntax|\*?-values|\*)?)$/],shift:{1:["&","#"]}}};Formatter.match=match;Formatter.prototype._options=function e(t){var r=Formatter.defaults;if(typeof t==="undefined"){return Object.assign({},r)}var n=t&&t.exceptions||{};var i=n.specials||[];var a=n.shift||{1:[]};return _objectSpread(_objectSpread(_objectSpread({},r),t),{},{exceptions:{specials:[].concat(_toConsumableArray(r.exceptions.specials),_toConsumableArray(i)),shift:_objectSpread(_objectSpread({},a),{},{1:[].concat(_toConsumableArray(r.exceptions.shift[1]),_toConsumableArray(a[1]))})}})};Formatter.prototype.indent=function e(t){var r=tokenize(this.__code__,true);return this._indent(r,t)};Formatter.exception_shift=function(a,e){function t(e){if(!e.length){return false}if(e.indexOf(a)!==-1){return true}else{var t=e.filter(function(e){return e instanceof RegExp});if(!t.length){return false}var r=_createForOfIteratorHelper(t),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;if(a.match(i)){return true}}}catch(e){r.e(e)}finally{r.f()}}return false}if(t(e.exceptions.specials)){return e.indent}var r=e.exceptions.shift;for(var n=0,i=Object.entries(r);n0){n.offset=0}if(a.toString()===t.toString()&&balanced(a)){return n.offset+a[0].col}else if(a.length===1){return n.offset+a[0].col+1}else{var s=-1;if(o){var c=Formatter.exception_shift(o.token,n);if(c!==-1){s=c}}if(s===-1){s=Formatter.exception_shift(a[1].token,n)}if(s!==-1){return n.offset+a[0].col+s}else if(a[0].line3&&a[1].line===a[3].line){if(a[1].token==="("||a[1].token==="["){return n.offset+a[1].col}return n.offset+a[3].col}else if(a[0].line===a[1].line){return n.offset+n.indent+a[0].col}else{var l=a.slice(2);for(var f=0;f")};Ahead.prototype.match=function(e){return e.match(this.pattern)};function Pattern(){for(var e=arguments.length,t=new Array(e),r=0;r")};Formatter.Pattern=Pattern;Formatter.Ahead=Ahead;var p_o=/^[[(]$/;var p_e=/^[\])]$/;var not_p=/[^()[\]]/;var not_close=new Ahead(/[^)\]]/);var glob=Symbol["for"]("*");var sexp_or_atom=new Pattern([p_o,glob,p_e],[not_p],"+");var sexp=new Pattern([p_o,glob,p_e],"+");var symbol=new Pattern([Symbol["for"]("symbol")],"?");var symbols=new Pattern([Symbol["for"]("symbol")],"*");var identifiers=[p_o,symbols,p_e];var let_value=new Pattern([p_o,Symbol["for"]("symbol"),glob,p_e],"+");var syntax_rules=keywords_re("syntax-rules");var def_lambda_re=keywords_re("define","lambda","define-macro","syntax-rules");var non_def=/^(?!.*\b(?:[()[\]]|define(?:-macro)?|let(?:\*|rec|-env|-syntax|)?|lambda|syntax-rules)\b).*$/;var let_re=/^(?:#:)?(let(?:\*|rec|-env|-syntax)?)$/;function keywords_re(){for(var e=arguments.length,t=new Array(e),r=0;r0&&!u[e]){u[e]=previousSexp(o,e)}});var s=_createForOfIteratorHelper(i),c;try{for(s.s();!(c=s.n()).done;){var l=_slicedToArray(c.value,3),f=l[0],_=l[1],p=l[2];_=_.valueOf();var d=_>0?u[_]:o;var h=d.filter(function(e){return e.trim()&&!is_special(e)});var m=r(d);var y=match(f,h);var v=n.slice(a).find(function(e){return e.trim()&&!is_special(e)});if(y&&(p instanceof Ahead&&p.match(v)||!p)){var b=a-m;if(n[b]!=="\n"){if(!n[b].trim()){n[b]="\n"}else{n.splice(b,0,"\n");a++}}a+=m;continue e}}}catch(e){s.e(e)}finally{s.f()}}this.__code__=n.join("");return this};Formatter.prototype._spaces=function(e){return" ".repeat(e)};Formatter.prototype.format=function e(t){var r=this.__code__.replace(/[ \t]*\n[ \t]*/g,"\n ");var n=tokenize(r,true);var i=this._options(t);var a=0;var o=0;for(var u=0;u0){n=Math.floor(t()*r);r--;var i=[e[n],e[r]];e[r]=i[0];e[n]=i[1]}return e}function Nil(){}Nil.prototype.toString=function(){return"()"};Nil.prototype.valueOf=function(){return undefined};Nil.prototype.serialize=function(){return 0};Nil.prototype.to_object=function(){return{}};Nil.prototype.append=function(e){return new Pair(e,_nil)};Nil.prototype.to_array=function(){return[]};var _nil=new Nil;function Pair(e,t){if(typeof this!=="undefined"&&this.constructor!==Pair||typeof this==="undefined"){return new Pair(e,t)}this.car=e;this.cdr=t}function to_array(a,o){return function e(t){typecheck(a,t,["pair","nil"]);if(is_nil(t)){return[]}var r=[];var n=t;while(true){if(is_pair(n)){if(n.have_cycles("cdr")){break}var i=n.car;if(o&&is_pair(i)){i=this.get(a).call(this,i)}r.push(i);n=n.cdr}else if(is_nil(n)){break}else{throw new Error("".concat(a,": can't convert improper list"))}}return r}}Pair.prototype.flatten=function(){return Pair.fromArray(flatten(this.to_array()))};Pair.prototype.length=function(){var e=0;var t=this;while(true){if(!t||is_nil(t)||!is_pair(t)||t.have_cycles("cdr")){break}e++;t=t.cdr}return e};Pair.match=function(e,t){if(e instanceof LSymbol){return LSymbol.is(e,t)}else if(is_pair(e)){return Pair.match(e.car,t)||Pair.match(e.cdr,t)}else if(Array.isArray(e)){return e.some(function(e){return Pair.match(e,t)})}else if(is_plain_object(e)){return Object.values(e).some(function(e){return Pair.match(e,t)})}return false};Pair.prototype.find=function(e){return Pair.match(this,e)};Pair.prototype.clone=function(){var r=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;var n=new Map;function i(e){if(is_pair(e)){if(n.has(e)){return n.get(e)}var t=new Pair;n.set(e,t);if(r){t.car=i(e.car)}else{t.car=e.car}t.cdr=i(e.cdr);t[__cycles__]=e[__cycles__];return t}return e}return i(this)};Pair.prototype.last_pair=function(){var e=this;while(true){if(!is_pair(e.cdr)){return e}if(e.have_cycles("cdr")){break}e=e.cdr}};Pair.prototype.to_array=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;var t=[];if(is_pair(this.car)){if(e){t.push(this.car.to_array())}else{t.push(this.car)}}else{t.push(this.car.valueOf())}if(is_pair(this.cdr)){t=t.concat(this.cdr.to_array(e))}return t};Pair.fromArray=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(is_pair(e)||r&&e instanceof Array&&e[__data__]){return e}if(t===false){var n=_nil;for(var i=e.length;i--;){n=new Pair(e[i],n)}return n}if(e.length&&!(e instanceof Array)){e=_toConsumableArray(e)}var a=_nil;var o=e.length;while(o--){var u=e[o];if(u instanceof Array){u=Pair.fromArray(u,t,r)}else if(typeof u==="string"){u=LString(u)}else if(typeof u==="number"&&!Number.isNaN(u)){u=LNumber(u)}a=new Pair(u,a)}return a};Pair.prototype.to_object=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;var t=this;var r={};while(true){if(is_pair(t)&&is_pair(t.car)){var n=t.car;var i=n.car;if(i instanceof LSymbol){i=i.__name__}if(i instanceof LString){i=i.valueOf()}var a=n.cdr;if(is_pair(a)){a=a.to_object(e)}if(is_native(a)){if(!e){a=a.valueOf()}}r[i]=a;t=t.cdr}else{break}}return r};Pair.fromPairs=function(e){return e.reduce(function(e,t){return new Pair(new Pair(new LSymbol(t[0]),t[1]),e)},_nil)};Pair.fromObject=function(t){var e=Object.keys(t).map(function(e){return[e,t[e]]});return Pair.fromPairs(e)};Pair.prototype.reduce=function(e){var t=this;var r=_nil;while(true){if(!is_nil(t)){r=e(r,t.car);t=t.cdr}else{break}}return r};Pair.prototype.reverse=function(){if(this.have_cycles()){throw new Error("You can't reverse list that have cycles")}var e=this;var t=_nil;while(!is_nil(e)){var r=e.cdr;e.cdr=t;t=e;e=r}return t};Pair.prototype.transform=function(n){function i(e){if(is_pair(e)){if(e.replace){delete e.replace;return e}var t=n(e.car);if(is_pair(t)){t=i(t)}var r=n(e.cdr);if(is_pair(r)){r=i(r)}return new Pair(t,r)}return e}return i(this)};Pair.prototype.map=function(e){if(typeof this.car!=="undefined"){return new Pair(e(this.car),is_nil(this.cdr)?_nil:this.cdr.map(e))}else{return _nil}};var repr=new Map;function is_plain_object(e){return e&&_typeof$1(e)==="object"&&e.constructor===Object}var props=Object.getOwnPropertyNames(Array.prototype);var array_methods=[];props.forEach(function(e){array_methods.push(Array[e],Array.prototype[e])});function is_array_method(e){e=unbind(e);return array_methods.includes(e)}function is_lips_function(e){return is_function(e)&&(is_lambda(e)||e.__doc__)}function user_repr(r){var e=r.constructor||Object;var n=is_plain_object(r);var i=is_function(r[Symbol.asyncIterator])||is_function(r[Symbol.iterator]);var a;if(repr.has(e)){a=repr.get(e)}else{repr.forEach(function(e,t){t=unbind(t);if(r instanceof t&&(t===Object&&n&&!i||t!==Object)){a=e}})}return a}var str_mapping=new Map;[[true,"#t"],[false,"#f"],[null,"#null"],[undefined,"#void"]].forEach(function(e){var t=_slicedToArray(e,2),r=t[0],n=t[1];str_mapping.set(r,n)});function symbolize(r){if(r&&_typeof$1(r)==="object"){var n={};var e=Object.getOwnPropertySymbols(r);e.forEach(function(e){var t=e.toString().replace(/Symbol\(([^)]+)\)/,"$1");n[t]=toString(r[e])});var t=Object.getOwnPropertyNames(r);t.forEach(function(e){var t=r[e];if(t&&_typeof$1(t)==="object"&&t.constructor===Object){n[e]=symbolize(t)}else{n[e]=toString(t)}});return n}return r}function get_props(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}function has_own_function(e,t){return e.hasOwnProperty(t)&&is_function(e.toString)}function function_to_string(e){if(is_native_function(e)){return"#"}var t=e.prototype&&e.prototype.constructor;if(is_function(t)&&is_lambda(t)){if(e[__class__]&&t.hasOwnProperty("__name__")){var r=t.__name__;if(LString.isString(r)){r=r.toString();return"#")}return"#"}}if(e.hasOwnProperty("__name__")){var n=e.__name__;if(_typeof$1(n)==="symbol"){n=symbol_to_string(n)}if(typeof n==="string"){return"#")}}if(has_own_function(e,"toString")){return e.toString()}else if(e.name&&!is_lambda(e)){return"#")}else{return"#"}}var instances=new Map;[[Error,function(e){return e.message}],[Pair,function(e,t){var r=t.quote,n=t.skip_cycles,i=t.pair_args;if(!n){e.mark_cycles()}return e.toString.apply(e,[r].concat(_toConsumableArray(i)))}],[LCharacter,function(e,t){var r=t.quote;if(r){return e.toString()}return e.valueOf()}],[LString,function(e,t){var r=t.quote;e=e.toString();if(r){return JSON.stringify(e).replace(/\\n/g,"\n")}return e}],[RegExp,function(e){return"#"+e.toString()}]].forEach(function(e){var t=_slicedToArray(e,2),r=t[0],n=t[1];instances.set(r,n)});var native_types=[LSymbol,Macro,Values,InputPort,OutputPort,Environment,QuotedPromise];function toString(e,t,r){if(typeof jQuery!=="undefined"&&e instanceof jQuery.fn.init){return"#"}if(str_mapping.has(e)){return str_mapping.get(e)}if(is_prototype(e)){return"#"}if(e){var n=e.constructor;if(instances.has(n)){for(var i=arguments.length,a=new Array(i>3?i-3:0),o=3;o"}if(e===null){return"null"}if(is_function(e)){if(is_function(e.toString)&&e.hasOwnProperty("toString")){return e.toString().valueOf()}return function_to_string(e)}if(_typeof$1(e)==="object"){var l=e.constructor;if(!l){l=Object}var f;if(typeof l.__class__==="string"){f=l.__class__}else{var _=user_repr(e);if(_){if(is_function(_)){return _(e,t)}else{throw new Error("toString: Invalid repr value")}}f=l.name}if(is_function(e.toString)&&e.hasOwnProperty("toString")){return e.toString().valueOf()}if(type(e)==="instance"){if(is_lambda(l)&&l.__name__){f=l.__name__.valueOf()}else if(!is_native_function(l)){f="instance"}}if(is_iterator(e,Symbol.iterator)){if(f){return"#")}return"#"}if(is_iterator(e,Symbol.asyncIterator)){if(f){return"#")}return"#"}if(f!==""){return"#<"+f+">"}return"#"}if(typeof e!=="string"){return e.toString()}return e}Pair.prototype.mark_cycles=function(){mark_cycles(this);return this};Pair.prototype.have_cycles=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;if(!e){return this.have_cycles("car")||this.have_cycles("cdr")}return!!(this[__cycles__]&&this[__cycles__][e])};Pair.prototype.is_cycle=function(){return is_cycle(this)};function is_cycle(e){if(!is_pair(e)){return false}if(e.have_cycles()){return true}return is_cycle(e.car,fn)||is_cycle(e.cdr,fn)}function mark_cycles(e){var t=[];var i=[];var a=[];function o(e){if(!t.includes(e)){t.push(e)}}function u(e,t,r,n){if(is_pair(r)){if(n.includes(r)){if(!a.includes(r)){a.push(r)}if(!e[__cycles__]){e[__cycles__]={}}e[__cycles__][t]=r;if(!i.includes(e)){i.push(e)}return true}}}var s=trampoline(function e(t,r){if(is_pair(t)){delete t.ref;delete t[__cycles__];o(t);r.push(t);var n=u(t,"car",t.car,r);var i=u(t,"cdr",t.cdr,r);if(!n){s(t.car,r.slice())}if(!i){return new Thunk(function(){return e(t.cdr,r.slice())})}}});function r(e,t){if(is_pair(e[__cycles__][t])){var r=n.indexOf(e[__cycles__][t]);e[__cycles__][t]="#".concat(r,"#")}}s(e,[]);var n=t.filter(function(e){return a.includes(e)});n.forEach(function(e,t){e[__ref__]="#".concat(t,"=")});i.forEach(function(e){r(e,"car");r(e,"cdr")})}Pair.prototype.toString=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},r=t.nested,n=r===void 0?false:r;var i=[];if(this[__ref__]){i.push(this[__ref__]+"(")}else if(!n){i.push("(")}var a;if(this[__cycles__]&&this[__cycles__].car){a=this[__cycles__].car}else{a=toString(this.car,e,true)}if(a!==undefined){i.push(a)}if(is_pair(this.cdr)){if(this[__cycles__]&&this[__cycles__].cdr){i.push(" . ");i.push(this[__cycles__].cdr)}else{if(this.cdr[__ref__]){i.push(" . ")}else{i.push(" ")}var o=this.cdr.toString(e,{nested:true});i.push(o)}}else if(!is_nil(this.cdr)){i=i.concat([" . ",toString(this.cdr,e,true)])}if(!n||this[__ref__]){i.push(")")}return i.join("")};Pair.prototype.set=function(e,t){this[e]=t;if(is_pair(t)){this.mark_cycles()}};Pair.prototype.append=function(e){if(e instanceof Array){return this.append(Pair.fromArray(e))}var t=this;if(t.car===undefined){if(is_pair(e)){this.car=e.car;this.cdr=e.cdr}else{this.car=e}}else if(!is_nil(e)){while(true){if(is_pair(t)&&!is_nil(t.cdr)){t=t.cdr}else{break}}t.cdr=e}return this};Pair.prototype.serialize=function(){return[this.car,this.cdr]};Pair.prototype[Symbol.iterator]=function(){var r=this;return{next:function e(){var t=r;r=t.cdr;if(is_nil(t)){return{value:undefined,done:true}}else{return{value:t.car,done:false}}}}};function abs(e){return e<0?-e:e}function seq_compare(e,t){var r=_toArray(t),n=r[0],i=r.slice(1);while(i.length>0){var a=i,o=_slicedToArray(a,1),u=o[0];if(!e(n,u)){return false}var s=i;var c=_toArray(s);n=c[0];i=c.slice(1)}return true}function equal(e,t){if(is_function(e)){return is_function(t)&&unbind(e)===unbind(t)}else if(e instanceof LNumber){if(!(t instanceof LNumber)){return false}var r;if(e.__type__===t.__type__){if(e.__type__==="complex"){r=e.__im__.__type__===t.__im__.__type__&&e.__re__.__type__===t.__re__.__type__}else{r=true}if(r&&e.cmp(t)===0){if(e.valueOf()===0){return Object.is(e.valueOf(),t.valueOf())}return true}}return false}else if(typeof e==="number"){if(typeof t!=="number"){return false}if(Number.isNaN(e)){return Number.isNaN(t)}if(e===Number.NEGATIVE_INFINITY){return t===Number.NEGATIVE_INFINITY}if(e===Number.POSITIVE_INFINITY){return t===Number.POSITIVE_INFINITY}return equal(LNumber(e),LNumber(t))}else if(e instanceof LCharacter){if(!(t instanceof LCharacter)){return false}return e.__char__===t.__char__}else{return e===t}}function same_atom(e,t){if(type(e)!==type(t)){return false}if(!is_atom(e)){return false}if(e instanceof RegExp){return e.source===t.source}if(e instanceof LString){return e.valueOf()===t.valueOf()}return equal(e,t)}function is_atom(e){return e instanceof LSymbol||LString.isString(e)||is_nil(e)||e===null||e instanceof LCharacter||e instanceof LNumber||e===true||e===false}var truncate=function(){if(Math.trunc){return Math.trunc}else{return function(e){if(e===0){return 0}else if(e<0){return Math.ceil(e)}else{return Math.floor(e)}}}}();function Macro(e,t,r,n){if(typeof this!=="undefined"&&this.constructor!==Macro||typeof this==="undefined"){return new Macro(e,t)}typecheck("Macro",e,"string",1);typecheck("Macro",t,"function",2);if(r){if(n){this.__doc__=r}else{this.__doc__=trim_lines(r)}}this.__name__=e;this.__fn__=t}Macro.defmacro=function(e,t,r,n){var i=new Macro(e,t,r,n);i.__defmacro__=true;return i};Macro.prototype.invoke=function(e,t,r){var n=t.env,i=_objectWithoutProperties(t,_excluded2);var a=_objectSpread(_objectSpread({},i),{},{macro_expand:r});var o=this.__fn__.call(n,e,a,this.__name__);return o};Macro.prototype.toString=function(){return"#")};var macro="define-macro";var recur_guard=-1e4;function macro_expand(c){return function(){var r=_asyncToGenerator(_regeneratorRuntime.mark(function e(r,v){var a,b,n,i,o,g,w,D,x,L,E,S,u,A,s;return _regeneratorRuntime.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:s=function e(){s=_asyncToGenerator(_regeneratorRuntime.mark(function e(r,n,i){var a,o,u,s,c,l,f,_,p,d,h,m,y;return _regeneratorRuntime.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(!(is_pair(r)&&r.car instanceof LSymbol)){t.next=50;break}if(!r[__data__]){t.next=3;break}return t.abrupt("return",r);case 3:a=r.car.valueOf();o=i.get(r.car,{throwError:false});u=g(r.car);s=u||w(o,r)||D(o);if(!(s&&is_pair(r.cdr.car))){t.next=28;break}if(!u){t.next=15;break}b=L(r.cdr.car);t.next=12;return S(r.cdr.car,n);case 12:c=t.sent;t.next=17;break;case 15:b=x(r.cdr.car);c=r.cdr.car;case 17:t.t0=Pair;t.t1=r.car;t.t2=Pair;t.t3=c;t.next=23;return A(r.cdr.cdr,n,i);case 23:t.t4=t.sent;t.t5=new t.t2(t.t3,t.t4);return t.abrupt("return",new t.t0(t.t1,t.t5));case 28:if(!E(a,o)){t.next=50;break}l=o instanceof Syntax?r:r.cdr;t.next=32;return o.invoke(l,_objectSpread(_objectSpread({},v),{},{env:i}),true);case 32:f=t.sent;if(!(o instanceof Syntax)){t.next=41;break}_=f,p=_.expr,d=_.scope;if(!is_pair(p)){t.next=40;break}if(!(n!==-1&&n<=1||n")}return"#"};var SyntaxParameter=_createClass(function e(t){_classCallCheck(this,e);read_only(this,"_syntax",t,{hidden:true});read_only(this._syntax,"_param",true,{hidden:true})});Syntax.Parameter=SyntaxParameter;function extract_patterns(e,t,B,I){var r=arguments.length>4&&arguments[4]!==undefined?arguments[4]:{};var j={"...":{symbols:{},lists:[]},symbols:{}};var R=r.expansion,T=r.define;log(B);function M(t,e){var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;log({code:e,pattern:t});if(is_atom(t)&&!(t instanceof LSymbol)){return same_atom(t,e)}if(t instanceof LSymbol&&B.includes(t.literal())){if(!LSymbol.is(e,t)){return false}var i=R.ref(t);return!i||i===T||i===global_env}if(Array.isArray(t)&&Array.isArray(e)){log("<<< a 1");if(t.length===0&&e.length===0){return true}if(LSymbol.is(t[1],I)){if(t[0]instanceof LSymbol){var a=t[0].valueOf();log("<<< a 2 "+n);if(n){var o=e.length-2;var u=o>0?e.slice(0,o):e;var s=Pair.fromArray(u,false);if(!j["..."].symbols[a]){j["..."].symbols[a]=new Pair(s,_nil)}else{j["..."].symbols[a].append(new Pair(s,_nil))}}else{j["..."].symbols[a]=Pair.fromArray(e,false)}}else if(Array.isArray(t[0])){log("<<< a 3");var c=_toConsumableArray(r);if(!e.every(function(e){return M(t[0],e,c,true)})){return false}}if(t.length>2){var l=t.slice(2);return M(l,e.slice(-l.length),r,n)}return true}var f=M(t[0],e[0],r,n);log({first:f,pattern:t[0],code:e[0]});var _=M(t.slice(1),e.slice(1),r,n);log({first:f,rest:_});return f&&_}if(is_pair(t)&&is_pair(t.car)&&is_pair(t.car.cdr)&&LSymbol.is(t.car.cdr.car,I)){log(">> 0");if(is_nil(e)){log({pattern:t});if(t.car.car instanceof LSymbol){var p=t.car.car.valueOf();if(j["..."].symbols[p]){throw new Error("syntax: named ellipsis can only "+"appear onces")}j["..."].symbols[p]=e}}}if(is_pair(t)&&is_pair(t.cdr)&&LSymbol.is(t.cdr.car,I)){if(!is_nil(t.cdr.cdr)){if(is_pair(t.cdr.cdr)){var d=t.cdr.cdr.length();if(!is_pair(e)){return false}var h=e.length();var m=e;while(h-1>d){m=m.cdr;h--}var y=m.cdr;m.cdr=_nil;if(!M(t.cdr.cdr,y,r,n)){return false}}}if(t.car instanceof LSymbol){var v=t.car.__name__;if(j["..."].symbols[v]&&!r.includes(v)&&!n){throw new Error("syntax: named ellipsis can only appear onces")}log(">> 1");if(is_nil(e)){log(">> 2");if(n){log("NIL");j["..."].symbols[v]=_nil}else{log("NULL");j["..."].symbols[v]=null}}else if(is_pair(e)&&(is_pair(e.car)||is_nil(e.car))){log(">> 3 "+n);if(n){if(j["..."].symbols[v]){var b=j["..."].symbols[v];if(is_nil(b)){b=new Pair(_nil,new Pair(e,_nil))}else{b=b.append(new Pair(e,_nil))}j["..."].symbols[v]=b}else{j["..."].symbols[v]=new Pair(e,_nil)}}else{log(">> 4");j["..."].symbols[v]=new Pair(e,_nil)}}else{log(">> 6");if(is_pair(e)){if(!is_pair(e.cdr)&&!is_nil(e.cdr)){log(">> 7 (b)");if(is_nil(t.cdr.cdr)){return false}else if(!j["..."].symbols[v]){j["..."].symbols[v]=new Pair(e.car,_nil);return M(t.cdr.cdr,e.cdr)}}var g=e.last_pair();if(!is_nil(g.cdr)){if(is_nil(t.cdr.cdr)){return false}else{var w=e.clone();w.last_pair().cdr=_nil;j["..."].symbols[v]=w;return M(t.cdr.cdr,g.cdr)}}log(">> 7 "+n);r.push(v);if(!j["..."].symbols[v]){j["..."].symbols[v]=new Pair(e,_nil)}else{var D=j["..."].symbols[v];j["..."].symbols[v]=D.append(new Pair(e,_nil))}log({IIIIII:j["..."].symbols[v]})}else if(t.car instanceof LSymbol&&is_pair(t.cdr)&&LSymbol.is(t.cdr.car,I)){log(">> 8");j["..."].symbols[v]=null;return M(t.cdr.cdr,e)}else{log(">> 9");return false}}return true}else if(is_pair(t.car)){var x=_toConsumableArray(r);if(is_nil(e)){log(">> 10");j["..."].lists.push(_nil);return true}log(">> 11");var L=e;while(is_pair(L)){if(!M(t.car,L.car,x,true)){return false}L=L.cdr}return true}if(Array.isArray(t.car)){var x=_toConsumableArray(r);var E=e;while(is_pair(E)){if(!M(t.car,E.car,x,true)){return false}E=E.cdr}return true}return false}if(t instanceof LSymbol){if(LSymbol.is(t,I)){throw new Error("syntax: invalid usage of ellipsis")}log(">> 12");var S=t.__name__;if(B.includes(S)){return true}if(n){var A,F;log(j["..."].symbols[S]);(F=(A=j["..."].symbols)[S])!==null&&F!==void 0?F:A[S]=[];j["..."].symbols[S].push(e)}else{j.symbols[S]=e}return true}if(is_pair(t)&&is_pair(e)){log(">> 13");log({a:13,code:e,pattern:t});if(is_nil(e.cdr)){var k=t.car instanceof LSymbol&&t.cdr instanceof LSymbol;if(k){if(!M(t.car,e.car,r,n)){return false}log(">> 14");var C=t.cdr.valueOf();if(!(C in j.symbols)){j.symbols[C]=_nil}C=t.car.valueOf();if(!(C in j.symbols)){j.symbols[C]=e.car}return true}}log({pattern:t,code:e});if(is_pair(t.cdr)&&is_pair(t.cdr.cdr)&&t.cdr.car instanceof LSymbol&&LSymbol.is(t.cdr.cdr.car,I)&&is_pair(t.cdr.cdr.cdr)&&!LSymbol.is(t.cdr.cdr.cdr.car,I)&&M(t.car,e.car,r,n)&&M(t.cdr.cdr.cdr,e.cdr,r,n)){var O=t.cdr.car.__name__;log({pattern:t,code:e,name:O});if(B.includes(O)){return true}j["..."].symbols[O]=null;return true}log("recur");log({pattern:t,code:e});var P=M(t.car,e.car,r,n);log({car:P,pattern:t.car,code:e.car});var N=M(t.cdr,e.cdr,r,n);log({car:P,cdr:N});if(P&&N){return true}}else if(is_nil(t)&&(is_nil(e)||e===undefined)){return true}else if(is_pair(t.car)&&LSymbol.is(t.car.car,I)){throw new Error("syntax: invalid usage of ellipsis")}else{return false}}if(M(e,t)){return j}}function clear_gensyms(e,i){function a(t){if(is_pair(t)){if(!i.length){return t}var e=a(t.car);var r=a(t.cdr);return new Pair(e,r)}else if(t instanceof LSymbol){var n=i.find(function(e){return e.gensym===t});if(n){return LSymbol(n.name)}return t}else{return t}}return a(e)}function transform_syntax(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var P=e.bindings,t=e.expr,N=e.scope,o=e.symbols,l=e.names,B=e.ellipsis;var f={};function u(e){if(e instanceof LSymbol){return true}return["string","symbol"].includes(_typeof$1(e))}function I(e){if(!u(e)){var t=type(e);throw new Error("syntax: internal error, need symbol got ".concat(t))}var r=e.valueOf();if(r===B){throw new Error("syntax: internal error, ellipis not transformed")}var n=_typeof$1(r);if(["string","symbol"].includes(n)){if(r in P.symbols){return P.symbols[r]}else if(n==="string"&&r.match(/\./)){var i=r.split(".");var a=i[0];if(a in P.symbols){return Pair.fromArray([LSymbol("."),P.symbols[a]].concat(i.slice(1).map(function(e){return LString(e)})))}}}if(o.includes(r)){return e}return s(r,e)}function s(e,t){if(!f[e]){var r=N.ref(e);if(_typeof$1(e)==="symbol"&&!r){e=t.literal()}if(f[e]){return f[e]}var n=gensym(e);if(r){var i=N.get(e);N.set(n,i)}else{var a=N.get(e,{throwError:false});if(typeof a!=="undefined"){N.set(n,a)}}l.push({name:e,gensym:n});f[e]=n;if(typeof e==="string"&&e.match(/\./)){var o=e.split(".").filter(Boolean),u=_toArray(o),s=u[0],c=u.slice(1);if(f[s]){hidden_prop(n,"__object__",[f[s]].concat(_toConsumableArray(c)))}}}return f[e]}function j(e,t,r){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:function(){};var i=r.nested;log({bindings:t,expr:e});if(Array.isArray(e)&&!e.length){return e}if(e instanceof LSymbol){var a=e.valueOf();if(is_gensym(e)&&!t[a]);log("[t 1");if(t[a]){if(is_pair(t[a])){var o=t[a],u=o.car,s=o.cdr;if(i){var c=u.car,l=u.cdr;if(!is_nil(l)){n(a,new Pair(l,_nil))}return c}if(!is_nil(s)){n(a,s)}return u}else if(t[a]instanceof Array){n(a,t[a].slice(1));return t[a][0]}}return I(e)}var f=Array.isArray(e);if(is_pair(e)||f){var _=f?e[0]:e.car;var p=f?e[1]:is_pair(e.cdr)&&e.cdr.car;if(_ instanceof LSymbol&&LSymbol.is(p,B)){f?e.slice(2):e.cdr.cdr;log("[t 2");var d=_.valueOf();var h=t[d];if(h===null){return}else if(h){log({name:d,binding:t[d]});if(is_pair(h)){log("[t 2 Pair "+i);var m=h.car,y=h.cdr;var v=f?e.slice(2):e.cdr.cdr;if(i){if(!is_nil(y)){log("|| next 1");n(d,y)}if(f&&v.length||!is_nil(v)&&!f){var b=j(v,t,r,n);if(f){return m.concat(b)}else if(is_pair(m)){return m.append(b)}else{log("UNKNOWN")}}return m}else if(is_pair(m)){if(!is_nil(m.cdr)){log("|| next 2");n(d,new Pair(m.cdr,y))}return m.car}else if(is_nil(y)){return m}else{var g=e.last_pair();if(g.cdr instanceof LSymbol){log("|| next 3");n(d,h.last_pair());return m}}}else if(h instanceof Array){log("[t 2 Array "+i);if(i){n(d,h.slice(1));return Pair.fromArray(h)}else{var w=h.slice(1);if(w.length){n(d,w)}return h[0]}}else{return h}}}log("[t 3 recur ",e);var D=f?e.slice(1):e.cdr;var x=j(_,t,r,n);var L=j(D,t,r,n);log({head:x,rest:L});if(f){return[x].concat(L)}return new Pair(x,L)}return e}function R(t,r){var e=Object.values(t);var n=Object.getOwnPropertySymbols(t);if(n.length){e.push.apply(e,_toConsumableArray(n.map(function(e){return t[e]})))}return e.length&&e.every(function(e){if(e===null){return!r}return is_pair(e)||is_nil(e)||Array.isArray(e)&&e.length})}function T(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}function M(i){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},t=e.disabled;log("traverse>> ",i);var a=Array.isArray(i);if(a&&i.length===0){return i}if(is_pair(i)||a){var r=a?i[0]:i.car;var n,o;if(a){n=i[1];o=i.slice(2)}else if(is_pair(i.cdr)){n=i.cdr.car;o=i.cdr.cdr}log({first:r,second:n,rest_second:o});if(!t&&is_pair(r)&&LSymbol.is(r.car,B)){return new Pair(r.cdr.car,M(i.cdr))}if(n&&LSymbol.is(n,B)&&!t){log(">> 1");var u=P["..."].symbols;var s=Object.values(u);if(s.length&&s.every(function(e){return e===null})){log(">>> 1 (a)");return M(o,{disabled:t})}var c=T(u);var l=r instanceof LSymbol&&LSymbol.is(o.car,B);if(is_pair(r)||l){log(">>> 1 (b)");if(is_nil(P["..."].lists[0])){if(!l){return M(o,{disabled:t})}log(o);return _nil}var f=r;if(l){log(">>> 1 (c)");f=new Pair(r,new Pair(n,_nil))}log(">> 2");var _;if(c.length){log(">> 2 (a)");var p=_objectSpread({},u);_=a?[]:_nil;var d=function e(){log({bind:p});if(!R(p)){return 1}var n={};var t=function e(t,r){n[t]=r};var r=j(f,p,{nested:true},t);if(r!==undefined){if(l){if(a){if(Array.isArray(r)){var i;(i=_).push.apply(i,_toConsumableArray(r))}else{log("ZONK {1}")}}else{if(is_nil(_)){_=r}else{_=_.append(r)}}}else if(a){_.push(r)}else{_=new Pair(r,_)}}p=n};while(true){if(d())break}if(!is_nil(_)&&!l&&!a){_=_.reverse()}if(a){if(o){log({rest_second:o,expr:i});var h=M(o,{disabled:t});return _.concat(h)}return _}if(!is_nil(i.cdr.cdr)&&!LSymbol.is(i.cdr.cdr.car,B)){var m=M(i.cdr.cdr,{disabled:t});return _.append(m)}return _}else{log(">> 3");var y=j(r,u,{nested:true});if(y){return new Pair(y,_nil)}return _nil}}else if(r instanceof LSymbol){log(">> 4");if(LSymbol.is(o.car,B)){log(">> 4 (a)")}else{log(">> 4 (b)")}var v=r.__name__;var b=_defineProperty({},v,u[v]);log({bind:b});var g=u[v]===null;var w=a?[]:_nil;var D=function e(){if(!R(b,true)){log({bind:b});return 1}var n={};var t=function e(t,r){n[t]=r};var r=j(i,b,{nested:false},t);log({value:r});if(typeof r!=="undefined"){if(a){w.push(r)}else{w=new Pair(r,w)}}b=n};while(true){if(D())break}if(!is_nil(w)&&!a){w=w.reverse()}if(is_pair(i.cdr)){if(is_pair(i.cdr.cdr)||i.cdr.cdr instanceof LSymbol){var x=M(i.cdr.cdr,{disabled:t});log({node:x});if(g){return x}if(is_nil(w)){w=x}else{w.append(x)}log({result:w,node:x})}}log("<<<< 2");return w}}var L=M(r,{disabled:t});var E;var S;if(r instanceof LSymbol){var A=N.get(r,{throwError:false});S=A instanceof Macro&&A.__name__==="syntax-rules"}if(S){if(i.cdr.car instanceof LSymbol){E=new Pair(M(i.cdr.car,{disabled:t}),new Pair(i.cdr.cdr.car,M(i.cdr.cdr.cdr,{disabled:t})))}else{E=new Pair(i.cdr.car,M(i.cdr.cdr,{disabled:t}))}log("REST >>>> ",E)}else{E=M(i.cdr,{disabled:t})}log({a:true,car:toString(i.car),cdr:toString(i.cdr),head:toString(L),rest:toString(E)});return new Pair(L,E)}if(i instanceof LSymbol){if(t&&LSymbol.is(i,B)){return i}var F=Object.keys(P["..."].symbols);var k=i.literal();if(F.includes(k)){var C="missing ellipsis symbol next to name `".concat(k,"'");throw new Error("syntax-rules: ".concat(C))}var O=I(i);if(typeof O!=="undefined"){return O}}return i}return M(t,{})}function is_null(e){return is_undef(e)||is_nil(e)||e===null}function is_nil(e){return e===_nil}function is_function(e){return typeof e==="function"&&typeof e.bind==="function"}function is_false(e){return e===false||e===null}function is_string(e){return typeof e==="string"}function is_prototype(e){return e&&_typeof$1(e)==="object"&&e.hasOwnProperty&&e.hasOwnProperty("constructor")&&typeof e.constructor==="function"&&e.constructor.prototype===e}function is_continuation(e){return e instanceof Continuation}function is_context(e){return e instanceof LambdaContext}function is_parameter(e){return e instanceof Parameter}function is_pair(e){return e instanceof Pair}function is_env(e){return e instanceof Environment}function is_callable(e){return is_function(e)||is_continuation(e)||is_parameter(e)||is_macro(e)}function is_macro(e){return e instanceof Macro||e instanceof SyntaxParameter}function is_promise(e){if(e instanceof QuotedPromise){return false}if(e instanceof Promise){return true}return!!e&&is_function(e.then)}function is_undef(e){return typeof e==="undefined"}function is_iterator(e,t){if(has_own_symbol(e,t)||has_own_symbol(e.__proto__,t)){return is_function(e[t])}}function is_instance(e){if(!e){return false}if(_typeof$1(e)!=="object"){return false}if(e.__instance__){e.__instance__=false;return e.__instance__}return false}function self_evaluated(e){var t=_typeof$1(e);return["string","function"].includes(t)||_typeof$1(e)==="symbol"||e instanceof QuotedPromise||e instanceof LSymbol||e instanceof LNumber||e instanceof LString||e instanceof RegExp}function is_native(e){return e instanceof LNumber||e instanceof LString||e instanceof LCharacter}function has_own_symbol(e,t){if(e===null){return false}return _typeof$1(e)==="object"&&t in Object.getOwnPropertySymbols(e)}function box(e){switch(_typeof$1(e)){case"string":return LString(e);case"bigint":return LNumber(e);case"number":if(Number.isNaN(e)){return nan}else{return LNumber(e)}}return e}function map_object(r,n){var e=Object.getOwnPropertyNames(r);var t=Object.getOwnPropertySymbols(r);var i={};e.concat(t).forEach(function(e){var t=n(r[e]);i[e]=t});return i}function unbox(t){var e=[LString,LNumber,LCharacter].some(function(e){return t instanceof e});if(e){return t.valueOf()}if(t instanceof Array){return t.map(unbox)}if(t instanceof QuotedPromise){delete t.then}if(is_plain_object(t)){return map_object(t,unbox)}return t}function patch_value(e,t){if(is_pair(e)){e.mark_cycles();return quote(e)}if(is_function(e)){if(t){return bind(e,t)}}return box(e)}function unbind(e){if(is_bound(e)){return e[__fn__]}return e}function bind(e,t){if(e[Symbol["for"]("__bound__")]){return e}var r=e.bind(t);var n=Object.getOwnPropertyNames(e);var i=_createForOfIteratorHelper(n),a;try{for(i.s();!(a=i.n()).done;){var o=a.value;if(filter_fn_names(o)){try{r[o]=e[o]}catch(e){}}}}catch(e){i.e(e)}finally{i.f()}hidden_prop(r,"__fn__",e);hidden_prop(r,"__context__",t);hidden_prop(r,"__bound__",true);if(is_native_function(e)){hidden_prop(r,"__native__",true)}if(is_plain_object(t)&&is_lambda(e)){hidden_prop(r,"__method__",true)}r.valueOf=function(){return e};return r}function is_object_bound(e){return is_bound(e)&&e[Symbol["for"]("__context__")]===Object}function is_bound(e){return!!(is_function(e)&&e[__fn__])}function lips_context(e){if(is_function(e)){var t=e[__context__];if(t&&(t===lips||t.constructor&&t.constructor.__class__)){return true}}return false}function is_port(e){return e instanceof InputPort||e instanceof OutputPort}function is_port_method(e){if(is_function(e)){if(is_port(e[__context__])){return true}}return false}var __context__=Symbol["for"]("__context__");var __fn__=Symbol["for"]("__fn__");var __data__=Symbol["for"]("__data__");var __ref__=Symbol["for"]("__ref__");var __cycles__=Symbol["for"]("__cycles__");var __class__=Symbol["for"]("__class__");var __method__=Symbol["for"]("__method__");var __prototype__=Symbol["for"]("__prototype__");var __lambda__=Symbol["for"]("__lambda__");var exluded_names=["name","length","caller","callee","arguments","prototype"];function filter_fn_names(e){return!exluded_names.includes(e)}function hidden_prop(e,t,r){Object.defineProperty(e,Symbol["for"](t),{get:function e(){return r},set:function e(){},configurable:false,enumerable:false})}function set_fn_length(t,r){try{Object.defineProperty(t,"length",{get:function e(){return r}});return t}catch(e){var n=new Array(r).fill(0).map(function(e,t){return"a"+t}).join(",");var i=new Function("f","return function(".concat(n,") {\n return f.apply(this, arguments);\n };"));return i(t)}}function is_lambda(e){return e&&e[__lambda__]}function is_method(e){return e&&e[__method__]}function is_raw_lambda(e){return is_lambda(e)&&!e[__prototype__]&&!is_method(e)&&!is_port_method(e)}function is_native_function(e){var t=Symbol["for"]("__native__");return is_function(e)&&e.toString().match(/\{\s*\[native code\]\s*\}/)&&(e.name.match(/^bound /)&&e[t]===true||!e.name.match(/^bound /)&&!e[t])}function let_macro(e){var w;switch(e){case Symbol["for"]("letrec"):w="letrec";break;case Symbol["for"]("let"):w="let";break;case Symbol["for"]("let*"):w="let*";break;default:throw new Error("Invalid let_macro value")}return Macro.defmacro(w,function(t,e){var l=e.dynamic_env;var f=e.error,r=e.macro_expand,_=e.use_dynamic;var p;if(t.car instanceof LSymbol){if(!(is_pair(t.cdr.car)||is_nil(t.cdr.car))){throw new Error("let require list of pairs")}var n;if(is_nil(t.cdr.car)){p=_nil;n=_nil}else{n=t.cdr.car.map(function(e){return e.car});p=t.cdr.car.map(function(e){return e.cdr.car})}var i=gensym("args");return Pair.fromArray([LSymbol("let"),[[i,Pair(LSymbol("list"),p)]],[LSymbol("letrec"),[[t.car,Pair(LSymbol("lambda"),Pair(n,t.cdr.cdr))]],[LSymbol("apply"),t.car,i]]])}else if(r){return}var d=this;p=global_env.get("list->array")(t.car);var h=d.inherit(w);var m,y;if(w==="let*"){y=h}else if(w==="let"){m=[]}var v=0;function b(){var e=new Pair(new LSymbol("begin"),t.cdr);return _evaluate(e,{env:h,dynamic_env:h,use_dynamic:_,error:f})}function g(e){if(e in h.__env__){throw new Error("Duplicated let variable ".concat(e))}}return function t(){var r=p[v++];l=w==="let*"?h:d;if(!r){if(m&&m.length){var e=m.map(function(e){return e.value});var n=e.filter(is_promise);if(n.length){return promise_all(e).then(function(e){for(var t=0,r=e.length;t1&&arguments[1]!==undefined?arguments[1]:{},r=t.use_dynamic,n=t.error;var i=this;var a=this;var o=[];var u=e;while(is_pair(u)){o.push(_evaluate(u.car,{env:i,dynamic_env:a,use_dynamic:r,error:n}));u=u.cdr}var s=o.filter(is_promise).length;if(s){return promise_all(o).then(c.bind(this))}else{return c.call(this,o)}})}function guard_math_call(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n2?n-2:0),a=2;a1&&arguments[1]!==undefined?arguments[1]:null;return function(){for(var e=arguments.length,t=new Array(e),r=0;r1?e-1:0),r=1;r=o){return a.apply(this,n)}else{return i}}return i.apply(this,arguments)}}function limit(n,i){typecheck("limit",i,"function",2);return function(){for(var e=arguments.length,t=new Array(e),r=0;r1){e=e.toLowerCase();if(LCharacter.__names__[e]){t=e;e=LCharacter.__names__[e]}else{throw new Error("Internal: Unknown named character")}}else{t=LCharacter.__rev_names__[e]}Object.defineProperty(this,"__char__",{value:e,enumerable:true});if(t){Object.defineProperty(this,"__name__",{value:t,enumerable:true})}}LCharacter.__names__=characters;LCharacter.__rev_names__={};Object.keys(LCharacter.__names__).forEach(function(e){var t=LCharacter.__names__[e];LCharacter.__rev_names__[t]=e});LCharacter.prototype.toUpperCase=function(){return LCharacter(this.__char__.toUpperCase())};LCharacter.prototype.toLowerCase=function(){return LCharacter(this.__char__.toLowerCase())};LCharacter.prototype.toString=function(){return"#\\"+(this.__name__||this.__char__)};LCharacter.prototype.valueOf=LCharacter.prototype.serialize=function(){return this.__char__};function LString(e){if(typeof this!=="undefined"&&!(this instanceof LString)||typeof this==="undefined"){return new LString(e)}if(e instanceof Array){this.__string__=e.map(function(e,t){typecheck("LString",e,"character",t+1);return e.toString()}).join("")}else{this.__string__=e.valueOf()}}{var ignore=["length","constructor"];var _keys=Object.getOwnPropertyNames(String.prototype).filter(function(e){return!ignore.includes(e)});var wrap=function e(n){return function(){for(var e=arguments.length,t=new Array(e),r=0;r0){r.push(this.__string__.substring(0,e))}r.push(t);if(e1&&arguments[1]!==undefined?arguments[1]:false;if(e instanceof LNumber){return e}if(typeof this!=="undefined"&&!(this instanceof LNumber)||typeof this==="undefined"){return new LNumber(e,t)}if(typeof e==="undefined"){throw new Error("Invalid LNumber constructor call")}var r=LNumber.getType(e);if(LNumber.types[r]){return LNumber.types[r](e,t)}var n=e instanceof Array&&LString.isString(e[0])&&LNumber.isNumber(e[1]);if(e instanceof LNumber){return LNumber(e.value)}if(!LNumber.isNumber(e)&&!n){throw new Error("You can't create LNumber from ".concat(type(e)))}if(e===null){e=0}var i;if(n){var a=e,o=_slicedToArray(a,2),u=o[0],s=o[1];if(u instanceof LString){u=u.valueOf()}if(s instanceof LNumber){s=s.valueOf()}var c=u.match(/^([+-])/);var l=false;if(c){u=u.replace(/^[+-]/,"");if(c[1]==="-"){l=true}}}if(Number.isNaN(e)){return LFloat(e)}else if(n&&Number.isNaN(parseInt(u,s))){return nan}else if(typeof BigInt!=="undefined"){if(typeof e!=="bigint"){if(n){var f;switch(s){case 8:f="0o";break;case 16:f="0x";break;case 2:f="0b";break;case 10:f="";break}if(typeof f==="undefined"){var _=BigInt(s);i=_toConsumableArray(u).map(function(e,t){return BigInt(parseInt(e,s))*pow(_,BigInt(t))}).reduce(function(e,t){return e+t})}else{i=BigInt(f+u)}}else{i=BigInt(e)}if(l){i*=BigInt(-1)}}else{i=e}return LBigInteger(i,true)}else if(typeof BN!=="undefined"&&!(e instanceof BN)){if(e instanceof Array){return LBigInteger(_construct(BN,_toConsumableArray(e)))}return LBigInteger(new BN(e))}else if(n){this.constant(parseInt(u,s),"integer")}else{this.constant(e,"integer")}}LNumber.prototype.constant=function(e,t){Object.defineProperty(this,"__value__",{value:e,enumerable:true});Object.defineProperty(this,"__type__",{value:t,enumerable:true})};LNumber.types={float:function e(t){return new LFloat(t)},complex:function e(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(!LNumber.isComplex(t)){t={im:0,re:t}}return new LComplex(t,r)},rational:function e(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(!LNumber.isRational(t)){t={num:t,denom:1}}return new LRational(t,r)}};LNumber.prototype.serialize=function(){return this.__value__};LNumber.prototype.isNaN=function(){return Number.isNaN(this.__value__)};LNumber.prototype.gcd=function(e){var t=this.abs();e=e.abs();if(e.cmp(t)===1){var r=t;t=e;e=r}while(true){t=t.rem(e);if(t.cmp(0)===0){return e}e=e.rem(t);if(e.cmp(0)===0){return t}}};LNumber.isFloat=function e(t){return t instanceof LFloat||Number(t)===t&&t%1!==0};LNumber.isNumber=function(e){return e instanceof LNumber||LNumber.isNative(e)||LNumber.isBN(e)};LNumber.isComplex=function(e){if(!e){return false}var t=e instanceof LComplex||(LNumber.isNumber(e.im)||LNumber.isRational(e.im)||Number.isNaN(e.im))&&(LNumber.isNumber(e.re)||LNumber.isRational(e.re)||Number.isNaN(e.re));return t};LNumber.isRational=function(e){if(!e){return false}return e instanceof LRational||LNumber.isNumber(e.num)&&LNumber.isNumber(e.denom)};LNumber.isInteger=function(e){if(!(LNumber.isNative(e)||e instanceof LNumber)){return false}if(LNumber.isFloat(e)){return false}if(LNumber.isRational(e)){return false}if(LNumber.isComplex(e)){return false}return true};LNumber.isNative=function(e){return typeof e==="bigint"||typeof e==="number"};LNumber.isBigInteger=function(e){return e instanceof LBigInteger||typeof e==="bigint"||LNumber.isBN(e)};LNumber.isBN=function(e){return typeof BN!=="undefined"&&e instanceof BN};LNumber.getArgsType=function(e,t){if(e instanceof LFloat||t instanceof LFloat){return LFloat}if(e instanceof LBigInteger||t instanceof LBigInteger){return LBigInteger}return LNumber};LNumber.prototype.toString=function(e){if(Number.isNaN(this.__value__)){return"+nan.0"}if(e>=2&&e<36){return this.__value__.toString(e)}return this.__value__.toString()};LNumber.prototype.asType=function(e){var t=LNumber.getType(this);return LNumber.types[t]?LNumber.types[t](e):LNumber(e)};LNumber.prototype.isBigNumber=function(){return typeof this.__value__==="bigint"||typeof BN!=="undefined"&&!(this.value instanceof BN)};["floor","ceil","round"].forEach(function(e){LNumber.prototype[e]=function(){if(this["float"]||LNumber.isFloat(this.__value__)){return LNumber(Math[e](this.__value__))}else{return LNumber(Math[e](this.valueOf()))}}});LNumber.prototype.valueOf=function(){if(LNumber.isNative(this.__value__)){return Number(this.__value__)}else if(LNumber.isBN(this.__value__)){return this.__value__.toNumber()}};var matrix=function(){var e=function e(t,r){return[t,r]};return{bigint:{bigint:e,float:function e(t,r){return[LFloat(t.valueOf()),r]},rational:function e(t,r){return[{num:t,denom:1},r]},complex:function e(t,r){return[{im:0,re:t},r]}},integer:{integer:e,float:function e(t,r){return[LFloat(t.valueOf()),r]},rational:function e(t,r){return[{num:t,denom:1},r]},complex:function e(t,r){return[{im:0,re:t},r]}},float:{bigint:function e(t,r){return[t,r&&LFloat(r.valueOf())]},integer:function e(t,r){return[t,r&&LFloat(r.valueOf())]},float:e,rational:function e(t,r){return[t,r&&LFloat(r.valueOf())]},complex:function e(t,r){return[{re:t,im:LFloat(0)},r]}},complex:{bigint:t("bigint"),integer:t("integer"),float:t("float"),rational:t("rational"),complex:function e(t,r){var n=LNumber.coerce(t.__re__,r.__re__),i=_slicedToArray(n,2),a=i[0],o=i[1];var u=LNumber.coerce(t.__im__,r.__im__),s=_slicedToArray(u,2),c=s[0],l=s[1];return[{im:c,re:a},{im:l,re:o}]}},rational:{bigint:function e(t,r){return[t,r&&{num:r,denom:1}]},integer:function e(t,r){return[t,r&&{num:r,denom:1}]},float:function e(t,r){return[LFloat(t.valueOf()),r]},rational:e,complex:function e(t,r){return[{im:coerce(t.__type__,r.__im__.__type__,0)[0],re:coerce(t.__type__,r.__re__.__type__,t)[0]},{im:coerce(t.__type__,r.__im__.__type__,r.__im__)[0],re:coerce(t.__type__,r.__re__.__type__,r.__re__)[0]}]}}};function t(r){return function(e,t){return[{im:coerce(r,e.__im__.__type__,0,e.__im__)[1],re:coerce(r,e.__re__.__type__,0,e.__re__)[1]},{im:coerce(r,e.__im__.__type__,0,0)[1],re:coerce(r,t.__type__,0,t)[1]}]}}}();function coerce(e,t,r,n){return matrix[e][t](r,n)}LNumber.coerce=function(e,t){var r=LNumber.getType(e);var n=LNumber.getType(t);if(!matrix[r]){throw new Error("LNumber::coerce unknown lhs type ".concat(r))}else if(!matrix[r][n]){throw new Error("LNumber::coerce unknown rhs type ".concat(n))}var i=matrix[r][n](e,t);return i.map(function(e){return LNumber(e,true)})};LNumber.prototype.coerce=function(e){if(!(typeof e==="number"||e instanceof LNumber)){throw new Error("LNumber: you can't coerce ".concat(type(e)))}if(typeof e==="number"){e=LNumber(e)}return LNumber.coerce(this,e)};LNumber.getType=function(e){if(e instanceof LNumber){return e.__type__}if(LNumber.isFloat(e)){return"float"}if(LNumber.isComplex(e)){return"complex"}if(LNumber.isRational(e)){return"rational"}if(typeof e==="number"){return"integer"}if(typeof BigInt!=="undefined"&&typeof e!=="bigint"||typeof BN!=="undefined"&&!(e instanceof BN)){return"bigint"}};LNumber.prototype.isFloat=function(){return!!(LNumber.isFloat(this.__value__)||this["float"])};var mapping={add:"+",sub:"-",mul:"*",div:"/",rem:"%",or:"|",and:"&",neg:"~",shl:">>",shr:"<<"};var rev_mapping={};Object.keys(mapping).forEach(function(t){rev_mapping[mapping[t]]=t;LNumber.prototype[t]=function(e){return this.op(mapping[t],e)}});LNumber._ops={"*":function e(t,r){return t*r},"+":function e(t,r){return t+r},"-":function e(t,r){if(typeof r==="undefined"){return-t}return t-r},"/":function e(t,r){return t/r},"%":function e(t,r){return t%r},"|":function e(t,r){return t|r},"&":function e(t,r){return t&r},"~":function e(t){return~t},">>":function e(t,r){return t>>r},"<<":function e(t,r){return t<1&&arguments[1]!==undefined?arguments[1]:false;if(typeof this!=="undefined"&&!(this instanceof LComplex)||typeof this==="undefined"){return new LComplex(e,t)}if(e instanceof LComplex){return LComplex({im:e.__im__,re:e.__re__})}if(LNumber.isNumber(e)&&t){if(!t){return Number(e)}}else if(!LNumber.isComplex(e)){var r="Invalid constructor call for LComplex expect &(:im :re ) object but got ".concat(toString(e));throw new Error(r)}var n=e.im instanceof LNumber?e.im:LNumber(e.im);var i=e.re instanceof LNumber?e.re:LNumber(e.re);this.constant(n,i)}LComplex.prototype=Object.create(LNumber.prototype);LComplex.prototype.constructor=LComplex;LComplex.prototype.constant=function(e,t){Object.defineProperty(this,"__im__",{value:e,enumerable:true});Object.defineProperty(this,"__re__",{value:t,enumerable:true});Object.defineProperty(this,"__type__",{value:"complex",enumerable:true})};LComplex.prototype.serialize=function(){return{re:this.__re__,im:this.__im__}};LComplex.prototype.toRational=function(e){var t=this.__im__,r=this.__re__;if(LNumber.isFloat(this.__im__)){t=LFloat(this.__im__).toRational(e)}if(LNumber.isFloat(this.__re__)){r=LFloat(this.__re__).toRational(e)}return LComplex({im:t,re:r})};LComplex.prototype.pow=function(e){e.cmp(0);if(e===0){return LNumber(1)}var t=LNumber(Math.atan2(this.__im__.valueOf(),this.__re__.valueOf()));var r=LNumber(this.modulus());if(LNumber.isComplex(e)&&e.__im__.cmp(0)!==0){var n=e.mul(Math.log(r.valueOf())).add(LComplex.i.mul(t).mul(e));if(!LNumber.isComplex(n)){return LFloat(Math.E).pow(n)}var i=LFloat(Math.E).pow(n.__re__.valueOf());return LComplex({re:i.mul(Math.cos(n.__im__.valueOf())),im:i.mul(Math.sin(n.__im__.valueOf()))})}var a=e.__re__.cmp(0)>0;e=e.__re__.valueOf();if(LNumber.isInteger(e)&&a){var o=this;while(--e){o=o.mul(this)}return o}var u=r.pow(e);var s=t.mul(e);return LComplex({re:u.mul(Math.cos(s)),im:u.mul(Math.sin(s))})};LComplex.prototype.add=function(e){return this.complex_op("add",e,function(e,t,r,n){return{re:e.add(t),im:r.add(n)}})};LComplex.prototype.factor=function(){if(this.__im__ instanceof LFloat||this.__im__ instanceof LFloat){var e=this.__re__,t=this.__im__;var r,n;if(e instanceof LFloat){r=e.toRational().mul(e.toRational())}else{r=e.mul(e)}if(t instanceof LFloat){n=t.toRational().mul(t.toRational())}else{n=t.mul(t)}return r.add(n)}else{return this.__re__.mul(this.__re__).add(this.__im__.mul(this.__im__))}};LComplex.prototype.modulus=function(){return this.factor().sqrt()};LComplex.prototype.conjugate=function(){return LComplex({re:this.__re__,im:this.__im__.sub()})};LComplex.prototype.sqrt=function(){var e=this.modulus();var t,r;if(e.cmp(0)===0){t=r=e}else if(this.__re__.cmp(0)===1){t=LFloat(.5).mul(e.add(this.__re__)).sqrt();r=this.__im__.div(t).div(2)}else{r=LFloat(.5).mul(e.sub(this.__re__)).sqrt();if(this.__im__.cmp(0)===-1){r=r.sub()}t=this.__im__.div(r).div(2)}return LComplex({im:r,re:t})};LComplex.prototype.div=function(e){if(LNumber.isNumber(e)&&!LNumber.isComplex(e)){if(!(e instanceof LNumber)){e=LNumber(e)}var t=this.__re__.div(e);var r=this.__im__.div(e);return LComplex({re:t,im:r})}else if(!LNumber.isComplex(e)){throw new Error("[LComplex::div] Invalid value")}if(this.cmp(e)===0){var n=this.coerce(e),i=_slicedToArray(n,2),a=i[0],o=i[1];var u=a.__im__.div(o.__im__);return u.coerce(o.__re__)[0]}var s=this.coerce(e),c=_slicedToArray(s,2),l=c[0],f=c[1];var _=f.factor();var p=f.conjugate();var d=l.mul(p);if(!LNumber.isComplex(d)){return d.div(_)}var h=d.__re__.op("/",_);var m=d.__im__.op("/",_);return LComplex({re:h,im:m})};LComplex.prototype.sub=function(e){return this.complex_op("sub",e,function(e,t,r,n){return{re:e.sub(t),im:r.sub(n)}})};LComplex.prototype.mul=function(e){return this.complex_op("mul",e,function(e,t,r,n){var i={re:e.mul(t).sub(r.mul(n)),im:e.mul(n).add(t.mul(r))};return i})};LComplex.prototype.complex_op=function(e,t,i){var a=this;var r=function e(t,r){var n=i(a.__re__,t,a.__im__,r);if("im"in n&&"re"in n){if(n.im.cmp(0)===0){return n.re}return LComplex(n,true)}return n};if(typeof t==="undefined"){return r()}if(LNumber.isNumber(t)&&!LNumber.isComplex(t)){if(!(t instanceof LNumber)){t=LNumber(t)}var n=t.asType(0);t={__im__:n,__re__:t}}else if(!LNumber.isComplex(t)){throw new Error("[LComplex::".concat(e,"] Invalid value"))}var o=t.__re__ instanceof LNumber?t.__re__:this.__re__.asType(t.__re__);var u=t.__im__ instanceof LNumber?t.__im__:this.__im__.asType(t.__im__);return r(o,u)};LComplex._op={"+":"add","-":"sub","*":"mul","/":"div"};LComplex.prototype._op=function(e,t){var r=LComplex._op[e];return this[r](t)};LComplex.prototype.cmp=function(e){var t=this.coerce(e),r=_slicedToArray(t,2),n=r[0],i=r[1];var a=n.__re__.coerce(i.__re__),o=_slicedToArray(a,2),u=o[0],s=o[1];var c=u.cmp(s);if(c!==0){return c}else{var l=n.__im__.coerce(i.__im__),f=_slicedToArray(l,2),_=f[0],p=f[1];return _.cmp(p)}};LComplex.prototype.valueOf=function(){return[this.__re__,this.__im__].map(function(e){return e.valueOf()})};LComplex.prototype.toString=function(){var e;if(this.__re__.cmp(0)!==0){e=[toString(this.__re__)]}else{e=[]}var t=this.__im__.valueOf();var r=[Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY].includes(t);var n=toString(this.__im__);if(!r&&!Number.isNaN(t)){var i=this.__im__.cmp(0);if(i<0||i===0&&this.__im__._minus){e.push("-")}else{e.push("+")}n=n.replace(/^-/,"")}e.push(n);e.push("i");return e.join("")};function LFloat(e){if(typeof this!=="undefined"&&!(this instanceof LFloat)||typeof this==="undefined"){return new LFloat(e)}if(!LNumber.isNumber(e)){throw new Error("Invalid constructor call for LFloat")}if(e instanceof LNumber){return LFloat(e.valueOf())}if(typeof e==="number"){if(Object.is(e,-0)){Object.defineProperty(this,"_minus",{value:true})}this.constant(e,"float")}}LFloat.prototype=Object.create(LNumber.prototype);LFloat.prototype.constructor=LFloat;LFloat.prototype.toString=function(e){if(this.__value__===Number.NEGATIVE_INFINITY){return"-inf.0"}if(this.__value__===Number.POSITIVE_INFINITY){return"+inf.0"}if(Number.isNaN(this.__value__)){return"+nan.0"}e&&(e=e.valueOf());var t=this.__value__.toString(e);if(!t.match(/e[+-]?[0-9]+$/i)){var r=t.replace(/^-/,"");var n=this.__value__<0?"-":"";if(t.match(/^-?0\.0{3}/)){var i=r.match(/^[.0]+/g)[0].length-1;var a=r.replace(/^[.0]+/,"").replace(/^([0-9a-f])/i,"$1.");return"".concat(n).concat(a,"e-").concat(i.toString(e))}if(t.match(/^-?[0-9a-f]{7,}\.?/i)){var o=r.match(/^[0-9a-f]+/gi)[0].length-1;var u=r.replace(/\./,"").replace(/^([0-9a-f])/i,"$1.").replace(/0+$/,"").replace(/\.$/,".0");return"".concat(n).concat(u,"e+").concat(o.toString(e))}if(!LNumber.isFloat(this.__value__)){var s=t+".0";return this._minus?"-"+s:s}}return t.replace(/^([0-9]+)e/,"$1.0e")};LFloat.prototype._op=function(e,t){if(t instanceof LNumber){t=t.__value__}var r=LNumber._ops[e];if(e==="/"&&this.__value__===0&&t===0){return NaN}return LFloat(r(this.__value__,t))};LFloat.prototype.toRational=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;if(e===null){return toRational(this.__value__.valueOf())}return approxRatio(e.valueOf())(this.__value__.valueOf())};LFloat.prototype.sqrt=function(){var e=this.valueOf();if(this.cmp(0)<0){var t=LFloat(Math.sqrt(-e));return LComplex({re:0,im:t})}return LFloat(Math.sqrt(e))};LFloat.prototype.abs=function(){var e=this.valueOf();if(e<0){e=-e}return LFloat(e)};var toRational=approxRatio(1e-10);function approxRatio(n){return function(e){var t=function e(n,t,r){var i=function e(t,r){return r0){i=simplest_rational2(n,r)}else if(n.cmp(r)<=0){i=r}else if(r.cmp(0)>0){i=simplest_rational2(r,n)}else if(t.cmp(0)<0){i=LNumber(simplest_rational2(n.sub(),r.sub())).sub()}else{i=LNumber(0)}if(LNumber.isFloat(t)||LNumber.isFloat(e)){return LFloat(i)}return i}function simplest_rational2(e,t){var r=LNumber(e).floor();var n=LNumber(t).floor();if(e.cmp(r)<1){return r}else if(r.cmp(n)===0){var i=LNumber(1).div(t.sub(n));var a=LNumber(1).div(e.sub(r));return r.add(LNumber(1).div(simplest_rational2(i,a)))}else{return r.add(LNumber(1))}}function LRational(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(typeof this!=="undefined"&&!(this instanceof LRational)||typeof this==="undefined"){return new LRational(e,t)}if(!LNumber.isRational(e)){throw new Error("Invalid constructor call for LRational")}var r,n;if(e instanceof LRational){r=LNumber(e.__num__);n=LNumber(e.__denom__)}else{r=LNumber(e.num);n=LNumber(e.denom)}if(!t&&n.cmp(0)!==0){var i=r.op("%",n).cmp(0)===0;if(i){return LNumber(r.div(n))}}this.constant(r,n)}LRational.prototype=Object.create(LNumber.prototype);LRational.prototype.constructor=LRational;LRational.prototype.constant=function(e,t){Object.defineProperty(this,"__num__",{value:e,enumerable:true});Object.defineProperty(this,"__denom__",{value:t,enumerable:true});Object.defineProperty(this,"__type__",{value:"rational",enumerable:true})};LRational.prototype.serialize=function(){return{num:this.__num__,denom:this.__denom__}};LRational.prototype.pow=function(e){if(LNumber.isRational(e)){return pow(this.valueOf(),e.valueOf())}var t=e.cmp(0);if(t===0){return LNumber(1)}if(t===-1){e=e.sub();var r=this.__denom__.pow(e);var n=this.__num__.pow(e);return LRational({num:r,denom:n})}var i=this;e=e.valueOf();while(e>1){i=i.mul(this);e--}return i};LRational.prototype.sqrt=function(){var e=this.__num__.sqrt();var t=this.__denom__.sqrt();if(e instanceof LFloat||t instanceof LFloat){return e.div(t)}return LRational({num:e,denom:t})};LRational.prototype.abs=function(){var e=this.__num__;var t=this.__denom__;if(e.cmp(0)===-1){e=e.sub()}if(t.cmp(0)!==1){t=t.sub()}return LRational({num:e,denom:t})};LRational.prototype.cmp=function(e){return LNumber(this.valueOf(),true).cmp(e)};LRational.prototype.toString=function(){var e=this.__num__.gcd(this.__denom__);var t,r;if(e.cmp(1)!==0){t=this.__num__.div(e);if(t instanceof LRational){t=LNumber(t.valueOf(true))}r=this.__denom__.div(e);if(r instanceof LRational){r=LNumber(r.valueOf(true))}}else{t=this.__num__;r=this.__denom__}var n=this.cmp(0)<0;if(n){if(t.abs().cmp(r.abs())===0){return t.toString()}}else if(t.cmp(r)===0){return t.toString()}return t.toString()+"/"+r.toString()};LRational.prototype.valueOf=function(e){if(this.__denom__.cmp(0)===0){if(this.__num__.cmp(0)<0){return Number.NEGATIVE_INFINITY}return Number.POSITIVE_INFINITY}if(e){return LNumber._ops["/"](this.__num__.value,this.__denom__.value)}return LFloat(this.__num__.valueOf()).div(this.__denom__.valueOf())};LRational.prototype.mul=function(e){if(!(e instanceof LNumber)){e=LNumber(e)}if(LNumber.isRational(e)){var t=this.__num__.mul(e.__num__);var r=this.__denom__.mul(e.__denom__);return LRational({num:t,denom:r})}var n=LNumber.coerce(this,e),i=_slicedToArray(n,2),a=i[0],o=i[1];return a.mul(o)};LRational.prototype.div=function(e){if(!(e instanceof LNumber)){e=LNumber(e)}if(LNumber.isRational(e)){var t=this.__num__.mul(e.__denom__);var r=this.__denom__.mul(e.__num__);return LRational({num:t,denom:r})}var n=LNumber.coerce(this,e),i=_slicedToArray(n,2),a=i[0],o=i[1];var u=a.div(o);return u};LRational.prototype._op=function(e,t){return this[rev_mapping[e]](t)};LRational.prototype.sub=function(e){if(typeof e==="undefined"){return this.mul(-1)}if(!(e instanceof LNumber)){e=LNumber(e)}if(LNumber.isRational(e)){var t=e.__num__.sub();var r=e.__denom__;return this.add(LRational({num:t,denom:r}))}if(!(e instanceof LNumber)){e=LNumber(e).sub()}else{e=e.sub()}var n=LNumber.coerce(this,e),i=_slicedToArray(n,2),a=i[0],o=i[1];return a.add(o)};LRational.prototype.add=function(e){if(!(e instanceof LNumber)){e=LNumber(e)}if(LNumber.isRational(e)){var t=this.__denom__;var r=e.__denom__;var n=this.__num__;var i=e.__num__;var a,o;if(t!==r){o=r.mul(n).add(i.mul(t));a=t.mul(r)}else{o=n.add(i);a=t}return LRational({num:o,denom:a})}if(LNumber.isFloat(e)){return LFloat(this.valueOf()).add(e)}var u=LNumber.coerce(this,e),s=_slicedToArray(u,2),c=s[0],l=s[1];return c.add(l)};function LBigInteger(e,t){if(typeof this!=="undefined"&&!(this instanceof LBigInteger)||typeof this==="undefined"){return new LBigInteger(e,t)}if(e instanceof LBigInteger){return LBigInteger(e.__value__,e._native)}if(!LNumber.isBigInteger(e)){throw new Error("Invalid constructor call for LBigInteger")}this.constant(e,"bigint");Object.defineProperty(this,"_native",{value:t})}LBigInteger.prototype=Object.create(LNumber.prototype);LBigInteger.prototype.constructor=LBigInteger;LBigInteger.bn_op={"+":"iadd","-":"isub","*":"imul","/":"idiv","%":"imod","|":"ior","&":"iand","~":"inot","<<":"ishrn",">>":"ishln"};LBigInteger.prototype.serialize=function(){return this.__value__.toString()};LBigInteger.prototype._op=function(e,t){if(typeof t==="undefined"){if(LNumber.isBN(this.__value__)){e=LBigInteger.bn_op[e];return LBigInteger(this.__value__.clone()[e](),false)}return LBigInteger(LNumber._ops[e](this.__value__),true)}if(LNumber.isBN(this.__value__)&&LNumber.isBN(t.__value__)){e=LBigInteger.bn_op[e];return LBigInteger(this.__value__.clone()[e](t),false)}var r=LNumber._ops[e](this.__value__,t.__value__);if(e==="/"){var n=this.op("%",t).cmp(0)===0;if(n){return LNumber(r)}return LRational({num:this,denom:t})}return LBigInteger(r,true)};LBigInteger.prototype.sqrt=function(){var e;var t=this.cmp(0)<0;if(LNumber.isNative(this.__value__)){e=LNumber(Math.sqrt(t?-this.valueOf():this.valueOf()))}else if(LNumber.isBN(this.__value__)){e=t?this.__value__.neg().sqrt():this.__value__.sqrt()}if(t){return LComplex({re:0,im:e})}return e};LNumber.NaN=LNumber(NaN);LComplex.i=LComplex({im:1,re:0});function InputPort(e){var n=this;if(typeof this!=="undefined"&&!(this instanceof InputPort)||typeof this==="undefined"){return new InputPort(e)}typecheck("InputPort",e,"function");read_only(this,"__type__",text_port);var i;Object.defineProperty(this,"__parser__",{enumerable:true,get:function e(){return i},set:function e(t){typecheck("InputPort::__parser__",t,"parser");i=t}});this._read=e;this._with_parser=this._with_init_parser.bind(this,_asyncToGenerator(_regeneratorRuntime.mark(function e(){var r;return _regeneratorRuntime.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(n.char_ready()){t.next=5;break}t.next=3;return n._read();case 3:r=t.sent;i=new Parser(r,{env:n});case 5:return t.abrupt("return",n.__parser__);case 6:case"end":return t.stop()}},e)})));this.char_ready=function(){return!!this.__parser__&&this.__parser__.__lexer__.peek()!==eof};this._make_defaults()}InputPort.prototype._make_defaults=function(){this.read=this._with_parser(function(e){return e.read_object()});this.read_line=this._with_parser(function(e){return e.__lexer__.read_line()});this.read_char=this._with_parser(function(e){return e.__lexer__.read_char()});this.read_string=this._with_parser(function(e,t){if(!LNumber.isInteger(t)){var r=LNumber.getType(t);typeErrorMessage("read-string",r,"integer")}return e.__lexer__.read_string(t.valueOf())});this.peek_char=this._with_parser(function(e){return e.__lexer__.peek_char()})};InputPort.prototype._with_init_parser=function(u,s){var c=this;return _asyncToGenerator(_regeneratorRuntime.mark(function e(){var r,n,i,a,o=arguments;return _regeneratorRuntime.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:t.next=2;return u.call(c);case 2:r=t.sent;for(n=o.length,i=new Array(n),a=0;a"};function OutputPort(e){if(typeof this!=="undefined"&&!(this instanceof OutputPort)||typeof this==="undefined"){return new OutputPort(e)}typecheck("OutputPort",e,"function");read_only(this,"__type__",text_port);this.write=e}OutputPort.prototype.is_open=function(){return this._closed!==true};OutputPort.prototype.close=function(){Object.defineProperty(this,"_closed",{get:function e(){return true},set:function e(){},configurable:false,enumerable:false});this.write=function(){throw new Error("output-port: port is closed")}};OutputPort.prototype.flush=function(){};OutputPort.prototype.toString=function(){return"#"};var BufferedOutputPort=function(e){_inherits(r,e);function r(e){var t;_classCallCheck(this,r);t=_callSuper(this,r,[function(){var e;return(e=t)._write.apply(e,arguments)}]);typecheck("BufferedOutputPort",e,"function");read_only(_assertThisInitialized(t),"_fn",e,{hidden:true});read_only(_assertThisInitialized(t),"_buffer",[],{hidden:true});return t}_createClass(r,[{key:"flush",value:function e(){if(this._buffer.length){this._fn(this._buffer.join(""));this._buffer.length=0}}},{key:"_write",value:function e(){var t=this;for(var r=arguments.length,n=new Array(r),i=0;i"};OutputStringPort.prototype.valueOf=function(){return this.__buffer__.map(function(e){return e.valueOf()}).join("")};function OutputFilePort(e,t){var r=this;if(typeof this!=="undefined"&&!(this instanceof OutputFilePort)||typeof this==="undefined"){return new OutputFilePort(e,t)}typecheck("OutputFilePort",e,"string");read_only(this,"__filename__",e);read_only(this,"_fd",t.valueOf(),{hidden:true});read_only(this,"__type__",text_port);this.write=function(e){if(!LString.isString(e)){e=toString(e)}else{e=e.valueOf()}r.fs().write(r._fd,e,function(e){if(e){throw e}})}}OutputFilePort.prototype=Object.create(OutputPort.prototype);OutputFilePort.prototype.constructor=OutputFilePort;OutputFilePort.prototype.fs=function(){if(!this._fs){this._fs=this.internal("fs")}return this._fs};OutputFilePort.prototype.internal=function(e){return user_env.get("**internal-env**").get(e)};OutputFilePort.prototype.close=function(){var n=this;return new Promise(function(t,r){n.fs().close(n._fd,function(e){if(e){r(e)}else{read_only(n,"_fd",null,{hidden:true});OutputPort.prototype.close.call(n);t()}})})};OutputFilePort.prototype.toString=function(){return"#")};function InputStringPort(e,t){var r=this;if(typeof this!=="undefined"&&!(this instanceof InputStringPort)||typeof this==="undefined"){return new InputStringPort(e)}typecheck("InputStringPort",e,"string");t=t||global_env;e=e.valueOf();this._with_parser=this._with_init_parser.bind(this,function(){if(!r.__parser__){r.__parser__=new Parser(e,{env:t})}return r.__parser__});read_only(this,"__type__",text_port);this._make_defaults()}InputStringPort.prototype.char_ready=function(){return true};InputStringPort.prototype=Object.create(InputPort.prototype);InputStringPort.prototype.constructor=InputStringPort;InputStringPort.prototype.toString=function(){return"#"};function InputByteVectorPort(e){if(typeof this!=="undefined"&&!(this instanceof InputByteVectorPort)||typeof this==="undefined"){return new InputByteVectorPort(e)}typecheck("InputByteVectorPort",e,"uint8array");read_only(this,"__vector__",e);read_only(this,"__type__",binary_port);var r=0;Object.defineProperty(this,"__index__",{enumerable:true,get:function e(){return r},set:function e(t){typecheck("InputByteVectorPort::__index__",t,"number");if(t instanceof LNumber){t=t.valueOf()}if(typeof t==="bigint"){t=Number(t)}if(Math.floor(t)!==t){throw new Error("InputByteVectorPort::__index__ value is "+"not integer")}r=t}})}InputByteVectorPort.prototype=Object.create(InputPort.prototype);InputByteVectorPort.prototype.constructor=InputByteVectorPort;InputByteVectorPort.prototype.toString=function(){return"#"};InputByteVectorPort.prototype.close=function(){var t=this;read_only(this,"__vector__",_nil);var r=function e(){throw new Error("Input-binary-port: port is closed")};["read_u8","close","peek_u8","read_u8_vector"].forEach(function(e){t[e]=r});this.u8_ready=this.char_ready=function(){return false}};InputByteVectorPort.prototype.u8_ready=function(){return true};InputByteVectorPort.prototype.peek_u8=function(){if(this.__index__>=this.__vector__.length){return eof}return this.__vector__[this.__index__]};InputByteVectorPort.prototype.skip=function(){if(this.__index__<=this.__vector__.length){++this.__index__}};InputByteVectorPort.prototype.read_u8=function(){var e=this.peek_u8();this.skip();return e};InputByteVectorPort.prototype.read_u8_vector=function(e){if(typeof e==="undefined"){e=this.__vector__.length}else if(e>this.__index__+this.__vector__.length){e=this.__index__+this.__vector__.length}if(this.peek_u8()===eof){return eof}return this.__vector__.slice(this.__index__,e)};function OutputByteVectorPort(){if(typeof this!=="undefined"&&!(this instanceof OutputByteVectorPort)||typeof this==="undefined"){return new OutputByteVectorPort}read_only(this,"__type__",binary_port);read_only(this,"_buffer",[],{hidden:true});this.write=function(e){typecheck("write",e,["number","uint8array"]);if(LNumber.isNumber(e)){this._buffer.push(e.valueOf())}else{var t;(t=this._buffer).push.apply(t,_toConsumableArray(Array.from(e)))}};Object.defineProperty(this,"__buffer__",{enumerable:true,get:function e(){return Uint8Array.from(this._buffer)}})}OutputByteVectorPort.prototype=Object.create(OutputPort.prototype);OutputByteVectorPort.prototype.constructor=OutputByteVectorPort;OutputByteVectorPort.prototype.close=function(){OutputPort.prototype.close.call(this);read_only(this,"_buffer",null,{hidden:true})};OutputByteVectorPort.prototype._close_guard=function(){if(this._closed){throw new Error("output-port: binary port is closed")}};OutputByteVectorPort.prototype.write_u8=function(e){typecheck("OutputByteVectorPort::write_u8",e,"number");this.write(e)};OutputByteVectorPort.prototype.write_u8_vector=function(e){typecheck("OutputByteVectorPort::write_u8_vector",e,"uint8array");this.write(e)};OutputByteVectorPort.prototype.toString=function(){return"#"};OutputByteVectorPort.prototype.valueOf=function(){return this.__buffer__};function InputFilePort(e,t){if(typeof this!=="undefined"&&!(this instanceof InputFilePort)||typeof this==="undefined"){return new InputFilePort(e,t)}InputStringPort.call(this,e);typecheck("InputFilePort",t,"string");read_only(this,"__filename__",t)}InputFilePort.prototype=Object.create(InputStringPort.prototype);InputFilePort.prototype.constructor=InputFilePort;InputFilePort.prototype.toString=function(){return"#")};function InputBinaryFilePort(e,t){if(typeof this!=="undefined"&&!(this instanceof InputBinaryFilePort)||typeof this==="undefined"){return new InputBinaryFilePort(e,t)}InputByteVectorPort.call(this,e);typecheck("InputBinaryFilePort",t,"string");read_only(this,"__filename__",t)}InputBinaryFilePort.prototype=Object.create(InputByteVectorPort.prototype);InputBinaryFilePort.prototype.constructor=InputBinaryFilePort;InputBinaryFilePort.prototype.toString=function(){return"#")};function OutputBinaryFilePort(e,t){var i=this;if(typeof this!=="undefined"&&!(this instanceof OutputBinaryFilePort)||typeof this==="undefined"){return new OutputBinaryFilePort(e,t)}typecheck("OutputBinaryFilePort",e,"string");read_only(this,"__filename__",e);read_only(this,"_fd",t.valueOf(),{hidden:true});read_only(this,"__type__",binary_port);var a;this.write=function(e){typecheck("write",e,["number","uint8array"]);var n;if(!a){a=i.internal("fs")}if(LNumber.isNumber(e)){n=new Uint8Array([e.valueOf()])}else{n=new Uint8Array(Array.from(e))}return new Promise(function(t,r){a.write(i._fd,n,function(e){if(e){r(e)}else{t()}})})}}OutputBinaryFilePort.prototype=Object.create(OutputFilePort.prototype);OutputBinaryFilePort.prototype.constructor=OutputBinaryFilePort;OutputBinaryFilePort.prototype.write_u8=function(e){typecheck("OutputByteVectorPort::write_u8",e,"number");this.write(e)};OutputBinaryFilePort.prototype.write_u8_vector=function(e){typecheck("OutputByteVectorPort::write_u8_vector",e,"uint8array");this.write(e)};var binary_port=Symbol["for"]("binary");var text_port=Symbol["for"]("text");var eof=new EOF;function EOF(){}EOF.prototype.toString=function(){return"#"};function Interpreter(e){var t=this;var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},n=r.stderr,i=r.stdin,a=r.stdout,o=r.command_line,u=o===void 0?null:o,s=_objectWithoutProperties(r,_excluded3);if(typeof this!=="undefined"&&!(this instanceof Interpreter)||typeof this==="undefined"){return new Interpreter(e,_objectSpread({stdin:i,stdout:a,stderr:n,command_line:u},s))}if(typeof e==="undefined"){e="anonymous"}this.__env__=user_env.inherit(e,s);this.__env__.set("parent.frame",doc("parent.frame",function(){return t.__env__},global_env.__env__["parent.frame"].__doc__));var c="**interaction-environment-defaults**";this.set(c,get_props(s).concat(c));var l=internal_env.inherit("internal-".concat(e));if(is_port(i)){l.set("stdin",i)}if(is_port(n)){l.set("stderr",n)}if(is_port(a)){l.set("stdout",a)}l.set("command-line",u);set_interaction_env(this.__env__,l)}Interpreter.prototype.exec=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var r=t.use_dynamic,n=r===void 0?false:r,i=t.dynamic_env,a=t.env;typecheck("Interpreter::exec",e,["string","array"],1);typecheck("Interpreter::exec",n,"boolean",2);if(!a){a=this.__env__}if(!i){i=a}global_env.set("**interaction-environment**",this.__env__);return exec(e,{env:a,dynamic_env:i,use_dynamic:n})};Interpreter.prototype.get=function(e){var t=this.__env__.get(e);if(is_function(t)){var r=new LambdaContext({env:this.__env__});return t.bind(r)}return t};Interpreter.prototype.set=function(e,t){return this.__env__.set(e,t)};Interpreter.prototype.constant=function(e,t){return this.__env__.constant(e,t)};function LipsError(e,t){this.name="LipsError";this.message=e;this.args=t;this.stack=(new Error).stack}LipsError.prototype=new Error;LipsError.prototype.constructor=LipsError;var IgnoreException=function(e){_inherits(t,e);function t(){_classCallCheck(this,t);return _callSuper(this,t,arguments)}return _createClass(t)}(_wrapNativeSuper(Error));function Environment(e,t,r){if(arguments.length===1){if(_typeof$1(arguments[0])==="object"){e=arguments[0];t=null}else if(typeof arguments[0]==="string"){e={};t=null;r=arguments[0]}}this.__docs__=new Map;this.__env__=e;this.__parent__=t;this.__name__=r||"anonymous"}Environment.prototype.list=function(){return get_props(this.__env__)};Environment.prototype.fs=function(){return this.get("**fs**")};Environment.prototype.unset=function(e){if(e instanceof LSymbol){e=e.valueOf()}if(e instanceof LString){e=e.valueOf()}delete this.__env__[e]};Environment.prototype.inherit=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(_typeof$1(e)==="object"){t=e}if(!e||_typeof$1(e)==="object"){e="child of "+(this.__name__||"unknown")}return new Environment(t||{},this,e)};Environment.prototype.doc=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(e instanceof LSymbol){e=e.__name__}if(e instanceof LString){e=e.valueOf()}if(t){if(!r){t=trim_lines(t)}this.__docs__.set(e,t);return this}if(this.__docs__.has(e)){return this.__docs__.get(e)}if(this.__parent__){return this.__parent__.doc(e)}};Environment.prototype.new_frame=function(e,t){var n=this.inherit("__frame__");n.set("parent.frame",doc("parent.frame",function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:1;e=e.valueOf();var t=n.__parent__;if(!is_env(t)){return _nil}if(e<=0){return t}var r=t.get("parent.frame");return r(e-1)},global_env.__env__["parent.frame"].__doc__));t.callee=e;n.set("arguments",t);return n};Environment.prototype._lookup=function(e){if(e instanceof LSymbol){e=e.__name__}if(e instanceof LString){e=e.valueOf()}if(this.__env__.hasOwnProperty(e)){return Value(this.__env__[e])}if(this.__parent__){return this.__parent__._lookup(e)}};Environment.prototype.toString=function(){return"#"};Environment.prototype.clone=function(){var t=this;var r={};Object.keys(this.__env__).forEach(function(e){r[e]=t.__env__[e]});return new Environment(r,this.__parent__,this.__name__)};Environment.prototype.merge=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"merge";typecheck("Environment::merge",e,"environment");return this.inherit(t,e.__env__)};function Value(e){if(typeof this!=="undefined"&&!(this instanceof Value)||typeof this==="undefined"){return new Value(e)}this.value=e}Value.isUndefined=function(e){return e instanceof Value&&typeof e.value==="undefined"};Value.prototype.valueOf=function(){return this.value};function Values(e){if(!e.length){return}if(e.length===1){return e[0]}if(typeof this!=="undefined"&&!(this instanceof Values)||typeof this==="undefined"){return new Values(e)}this.__values__=e}Values.prototype.toString=function(){return this.__values__.map(function(e){return toString(e)}).join("\n")};Values.prototype.valueOf=function(){return this.__values__};Environment.prototype.get=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};typecheck("Environment::get",e,["symbol","string"]);var r=t.throwError,n=r===void 0?true:r;var i=e;if(i instanceof LSymbol||i instanceof LString){i=i.valueOf()}var a=this._lookup(i);if(a instanceof Value){if(Value.isUndefined(a)){return undefined}return patch_value(a.valueOf())}var o;if(e instanceof LSymbol&&e[LSymbol.object]){o=e[LSymbol.object]}else if(typeof i==="string"){o=i.split(".").filter(Boolean)}if(o&&o.length>0){var u=o,s=_toArray(u),c=s[0],l=s.slice(1);a=this._lookup(c);if(l.length){try{if(a instanceof Value){a=a.valueOf()}else{a=get(root,c);if(is_function(a)){a=unbind(a)}}if(typeof a!=="undefined"){return get.apply(void 0,[a].concat(_toConsumableArray(l)))}}catch(e){throw e}}else if(a instanceof Value){return patch_value(a.valueOf())}a=get(root,i)}if(typeof a!=="undefined"){return a}if(n){throw new Error("Unbound variable `"+i.toString()+"'")}};Environment.prototype.set=function(e,t){var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;typecheck("Environment::set",e,["string","symbol"]);if(LNumber.isNumber(t)){t=LNumber(t)}if(e instanceof LSymbol){e=e.__name__}if(e instanceof LString){e=e.valueOf()}this.__env__[e]=t;if(r){this.doc(e,r,true)}return this};Environment.prototype.constant=function(t,e){var r=this;if(this.__env__.hasOwnProperty(t)){throw new Error("Environment::constant: ".concat(t," already exists"))}if(arguments.length===1&&is_plain_object(arguments[0])){var n=arguments[0];Object.keys(n).forEach(function(e){r.constant(t,n[e])})}else{Object.defineProperty(this.__env__,t,{value:e,enumerable:true})}return this};Environment.prototype.has=function(e){return this.__env__.hasOwnProperty(e)};Environment.prototype.ref=function(e){var t=this;while(true){if(!t){break}if(t.has(e)){return t}t=t.__parent__}};Environment.prototype.parents=function(){var e=this;var t=[];while(e){t.unshift(e);e=e.__parent__}return t};function quote(e){if(is_promise(e)){return e.then(quote)}if(is_pair(e)||e instanceof LSymbol){e[__data__]=true}return e}var native_lambda=_parse(tokenize('(lambda ()\n "[native code]"\n (throw "Invalid Invocation"))'))[0];var get=doc("get",function e(t){var r;for(var n=arguments.length,i=new Array(n>1?n-1:0),a=1;a0&&arguments[0]!==undefined?arguments[0]:null;if(e===null){e=internal(this,"stdin")}typecheck_text_port("peek-char",e,"input-port");return e.peek_char()},"(peek-char port)\n\n This function reads and returns a character from the string\n port, or, if there is no more data in the string port, it\n returns an EOF."),"read-line":doc("read-line",function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;if(e===null){e=internal(this,"stdin")}typecheck_text_port("read-line",e,"input-port");return e.read_line()},"(read-line port)\n\n This function reads and returns the next line from the input\n port."),"read-char":doc("read-char",function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;if(e===null){e=internal(this,"stdin")}typecheck_text_port("read-char",e,"input-port");return e.read_char()},"(read-char port)\n\n This function reads and returns the next character from the\n input port."),read:doc("read",function(){var e=_asyncToGenerator(function(){var i=this;var a=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;return _regeneratorRuntime.mark(function e(){var r,n;return _regeneratorRuntime.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:r=i.env;if(a===null){n=internal(r,"stdin")}else{n=a}typecheck_text_port("read",n,"input-port");return t.abrupt("return",n.read.call(r));case 4:case"end":return t.stop()}},e)})()});function t(){return e.apply(this,arguments)}return t}(),"(read [port])\n\n This function, if called with a port, it will parse the next\n item from the port. If called without an input, it will read\n a string from standard input (using the browser's prompt or\n a user defined input method) and parse it. This function can be\n used together with `eval` to evaluate code from port."),pprint:doc("pprint",function e(t){if(is_pair(t)){t=new lips.Formatter(t.toString(true))["break"]().format();global_env.get("display").call(global_env,t)}else{global_env.get("write").call(global_env,t)}global_env.get("newline").call(global_env)},"(pprint expression)\n\n This function will pretty print its input to stdout. If it is called\n with a non-list, it will just call the print function on its\n input."),print:doc("print",function e(){var t=global_env.get("display");var r=global_env.get("newline");var n=this.use_dynamic;var i=global_env;var a=global_env;for(var o=arguments.length,u=new Array(o),s=0;s1?r-1:0),i=1;in.length){throw new Error("Not enough arguments")}var u=0;var s=global_env.get("repr");t=t.replace(a,function(e){var t=e[1];if(t==="~"){return"~"}else if(t==="%"){return"\n"}else{var r=n[u++];if(t==="a"){return s(r)}else{return s(r,true)}}});o=t.match(/~([\S])/);if(o){throw new Error("format: Unrecognized escape sequence ".concat(o[1]))}return t},"(format string n1 n2 ...)\n\n This function accepts a string template and replaces any\n escape sequences in its inputs:\n\n * ~a value as if printed with `display`\n * ~s value as if printed with `write`\n * ~% newline character\n * ~~ literal tilde '~'\n\n If there are missing inputs or other escape characters it\n will error."),display:doc("display",function e(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;if(r===null){r=internal(this,"stdout")}else{typecheck("display",r,"output-port")}var n=t;if(!(r instanceof OutputBinaryFilePort)){n=global_env.get("repr")(t)}r.write.call(global_env,n)},"(display string [port])\n\n This function outputs the string to the standard output or\n the port if given. No newline."),"display-error":doc("display-error",function e(){var t=internal(this,"stderr");var r=global_env.get("repr");for(var n=arguments.length,i=new Array(n),a=0;a1&&arguments[1]!==undefined?arguments[1]:{},r=t.use_dynamic,n=_objectWithoutProperties(t,_excluded4);var i=this;var o=this;var u;var s=_objectSpread(_objectSpread({},n),{},{env:this,dynamic_env:i,use_dynamic:r});var c=_evaluate(e.cdr.car,s);c=resolve_promises(c);function l(t,r,n){if(is_promise(t)){return t.then(function(e){return l(t,e,n)})}if(is_promise(r)){return r.then(function(e){return l(t,e,n)})}if(is_promise(n)){return n.then(function(e){return l(t,r,e)})}o.get("set-obj!").call(o,t,r,n);return n}if(is_pair(e.car)&&LSymbol.is(e.car.car,".")){var f=e.car.cdr.car;var _=e.car.cdr.cdr.car;var p=_evaluate(f,s);var d=_evaluate(_,s);return l(p,d,c)}if(!(e.car instanceof LSymbol)){throw new Error("set! first argument need to be a symbol or "+"dot accessor that evaluate to object.")}var h=e.car.valueOf();u=this.ref(e.car.__name__);return unpromise(c,function(e){if(!u){var t=h.split(".");if(t.length>1){var r=t.pop();var n=t.join(".");var i=a.get(n,{throwError:false});if(i){l(i,r,e);return}}throw new Error("Unbound variable `"+h+"'")}u.set(h,e)})}),"(set! name value)\n\n Macro that can be used to set the value of the variable or slot (mutate it).\n set! searches the scope chain until it finds first non empty slot and sets it."),"unset!":doc(new Macro("set!",function(e){if(!(e.car instanceof LSymbol)){throw new Error("unset! first argument need to be a symbol or "+"dot accessor that evaluate to object.")}var t=e.car;var r=this.ref(t);if(r){delete r.__env__[t.__name__]}}),"(unset! name)\n\n Function to delete the specified name from environment.\n Trying to access the name afterwards will error."),"set-car!":doc("set-car!",function(e,t){typecheck("set-car!",e,"pair");e.car=t},"(set-car! obj value)\n\n Function that sets the car (first item) of the list/pair to specified value.\n The old value is lost."),"set-cdr!":doc("set-cdr!",function(e,t){typecheck("set-cdr!",e,"pair");e.cdr=t},"(set-cdr! obj value)\n\n Function that sets the cdr (tail) of the list/pair to specified value.\n It will destroy the list. The old tail is lost."),"empty?":doc("empty?",function(e){return typeof e==="undefined"||is_nil(e)},"(empty? object)\n\n Function that returns #t if value is nil (an empty list) or undefined."),gensym:doc("gensym",gensym,"(gensym)\n\n Generates a unique symbol that is not bound anywhere,\n to use with macros as meta name."),load:doc("load",function e(u,t){typecheck("load",u,"string");var s=this;if(s.__name__==="__frame__"){s=s.__parent__}if(!(t instanceof Environment)){if(s===global_env){t=s}else{t=this.get("**interaction-environment**")}}var c="**module-path**";var l=global_env.get(c,{throwError:false});u=u.valueOf();if(!u.match(/.[^.]+$/)){u+=".scm"}var r=u.match(/\.xcb$/);function f(e){if(r){e=unserialize_bin(e)}else{if(type(e)==="buffer"){e=e.toString()}e=e.replace(/^#!.*/,"");if(e.match(/^\{/)){e=unserialize(e)}}return exec(e,{env:t})}function n(e){return root.fetch(e).then(function(e){return r?e.arrayBuffer():e.text()}).then(function(e){if(r){e=new Uint8Array(e)}return e})}if(is_node()){return new Promise(function(){var r=_asyncToGenerator(_regeneratorRuntime.mark(function e(r,n){var i,a,o;return _regeneratorRuntime.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:i=nodeRequire("path");if(!l){t.next=6;break}l=l.valueOf();u=i.join(l,u);t.next=12;break;case 6:a=s.get("command-line",{throwError:false});if(!a){t.next=11;break}t.next=10;return a();case 10:o=t.sent;case 11:if(o&&!is_nil(o)){process.cwd();u=i.join(i.dirname(o.car.valueOf()),u)}case 12:global_env.set(c,i.dirname(u));nodeRequire("fs").readFile(u,function(e,t){if(e){n(e);global_env.set(c,l)}else{try{f(t).then(function(){r();global_env.set(c,l)})["catch"](n)}catch(e){n(e)}}});case 14:case"end":return t.stop()}},e)}));return function(e,t){return r.apply(this,arguments)}}())}if(l){l=l.valueOf();u=l+"/"+u.replace(/^\.?\/?/,"")}return n(u).then(function(e){global_env.set(c,u.replace(/\/[^/]*$/,""));return f(e)}).then(function(){})["finally"](function(){global_env.set(c,l)})},"(load filename)\n (load filename environment)\n\n Fetches the file (from disk or network) and evaluates its content as LIPS code.\n If the second argument is provided and it's an environment the evaluation\n will happen in that environment."),while:doc(new Macro("while",function(e,t){var r=e.car;var n=_objectSpread(_objectSpread({},t),{},{env:this});var i=new Pair(new LSymbol("begin"),e.cdr);return function t(){return unpromise(_evaluate(r,n),function(e){if(e){return unpromise(_evaluate(i,n),t)}})}()}),"(while cond body)\n\n Creates a loop, it executes cond and body until cond expression is false."),do:doc(new Macro("do",function(){var r=_asyncToGenerator(function(_,e){var p=this;var d=e.use_dynamic,h=e.error;return _regeneratorRuntime.mark(function e(){var u,r,s,c,n,l,f,i,a,o;return _regeneratorRuntime.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:u=p;r=u;s=u.inherit("do");c=_.car;n=_.cdr.car;l=_.cdr.cdr;if(!is_nil(l)){l=new Pair(LSymbol("begin"),l)}f={env:u,dynamic_env:r,use_dynamic:d,error:h};i=c;case 9:if(is_nil(i)){t.next=20;break}a=i.car;t.t0=s;t.t1=a.car;t.next=15;return _evaluate(a.cdr.car,f);case 15:t.t2=t.sent;t.t0.set.call(t.t0,t.t1,t.t2);i=i.cdr;t.next=9;break;case 20:f={env:s,dynamic_env:r,error:h};o=_regeneratorRuntime.mark(function e(){var r,n,i,a,o;return _regeneratorRuntime.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(is_nil(l)){t.next=3;break}t.next=3;return lips.evaluate(l,f);case 3:r=c;n={};case 5:if(is_nil(r)){t.next=15;break}i=r.car;if(is_nil(i.cdr.cdr)){t.next=12;break}t.next=10;return _evaluate(i.cdr.cdr.car,f);case 10:a=t.sent;n[i.car.valueOf()]=a;case 12:r=r.cdr;t.next=5;break;case 15:o=Object.getOwnPropertySymbols(n);f.env=s=u.inherit("do");Object.keys(n).concat(o).forEach(function(e){s.set(e,n[e])});case 18:case"end":return t.stop()}},e)});case 22:t.next=24;return _evaluate(n.car,f);case 24:t.t3=t.sent;if(!(t.t3===false)){t.next=29;break}return t.delegateYield(o(),"t4",27);case 27:t.next=22;break;case 29:if(is_nil(n.cdr)){t.next=33;break}t.next=32;return _evaluate(n.cdr.car,f);case 32:return t.abrupt("return",t.sent);case 33:case"end":return t.stop()}},e)})()});return function(e,t){return r.apply(this,arguments)}}()),"(do (( )) (test return) . body)\n\n Iteration macro that evaluates the expression body in scope of the variables.\n On each loop it changes the variables according to the expression and runs\n test to check if the loop should continue. If test is a single value, the macro\n will return undefined. If the test is a pair of expressions the macro will\n evaluate and return the second expression after the loop exits."),if:doc(new Macro("if",function(r,e){var t=e.error,n=e.use_dynamic;var i=this;var a=this;var o={env:a,dynamic_env:i,use_dynamic:n,error:t};var u=function e(t){if(is_false(t)){return _evaluate(r.cdr.cdr.car,o)}else{return _evaluate(r.cdr.car,o)}};if(is_nil(r)){throw new Error("too few expressions for `if`")}var s=_evaluate(r.car,o);return unpromise(s,u)}),"(if cond true-expr false-expr)\n\n Macro that evaluates cond expression and if the value is true, it\n evaluates and returns true-expression, if not it evaluates and returns\n false-expression."),"let-env":new Macro("let-env",function(t){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var r=e.dynamic_env,n=e.use_dynamic,i=e.error;typecheck("let-env",t,"pair");var a=_evaluate(t.car,{env:this,dynamic_env:r,error:i,use_dynamic:n});return unpromise(a,function(e){typecheck("let-env",e,"environment");return _evaluate(Pair(LSymbol("begin"),t.cdr),{env:e,dynamic_env:r,error:i})})},"(let-env env . body)\n\n Special macro that evaluates body in context of given environment\n object."),letrec:doc(let_macro(Symbol["for"]("letrec")),"(letrec ((a value-a) (b value-b) ...) . body)\n\n Macro that creates a new environment, then evaluates and assigns values to\n names and then evaluates the body in context of that environment.\n Values are evaluated sequentially and the next value can access the\n previous values/names."),"letrec*":doc(let_macro(Symbol["for"]("letrec")),"(letrec* ((a value-a) (b value-b) ...) . body)\n\n Same as letrec but the order of execution of the binding is guaranteed,\n so you can use recursive code as well as referencing the previous binding.\n\n In LIPS both letrec and letrec* behave the same."),"let*":doc(let_macro(Symbol["for"]("let*")),"(let* ((a value-a) (b value-b) ...) . body)\n\n Macro similar to `let`, but the subsequent bindings after the first\n are evaluated in the environment including the previous let variables,\n so you can define one variable, and use it in the next's definition."),let:doc(let_macro(Symbol["for"]("let")),"(let ((a value-a) (b value-b) ...) . body)\n\n Macro that creates a new environment, then evaluates and assigns values to names,\n and then evaluates the body in context of that environment. Values are evaluated\n sequentially but you can't access previous values/names when the next are\n evaluated. You can only get them in the body of the let expression. (If you want\n to define multiple variables and use them in each other's definitions, use\n `let*`.)"),"begin*":doc(parallel("begin*",function(e){return e.pop()}),"(begin* . body)\n\n This macro is a parallel version of begin. It evaluates each expression\n in the body and if it's a promise it will await it in parallel and return\n the value of the last expression (i.e. it uses Promise.all())."),shuffle:doc("shuffle",function(e){typecheck("shuffle",e,["pair","nil","array"]);var t=global_env.get("random");if(is_nil(e)){return _nil}if(Array.isArray(e)){return shuffle(e.slice(),t)}var r=global_env.get("list->array")(e);r=shuffle(r,t);return global_env.get("array->list")(r)},"(shuffle obj)\n\n Order items in vector or list in random order."),begin:doc(new Macro("begin",function(e,t){var n=_objectSpread(_objectSpread({},t),{},{env:this});var i=global_env.get("list->array")(e);var a;return function t(){if(i.length){var e=i.shift();var r=_evaluate(e,n);return unpromise(r,function(e){a=e;return t()})}else{return a}}()}),"(begin . args)\n\n Macro that runs a list of expressions in order and returns the value\n of the last one. It can be used in places where you can only have a\n single expression, like (if)."),ignore:new Macro("ignore",function(e,t){var r=_objectSpread(_objectSpread({},t),{},{env:this,dynamic_env:this});_evaluate(new Pair(new LSymbol("begin"),e),r)},"(ignore . body)\n\n Macro that will evaluate the expression and swallow any promises that may\n be created. It will discard any value that may be returned by the last body\n expression. The code should have side effects and/or when it's promise\n it should resolve to undefined."),"call/cc":doc(Macro.defmacro("call/cc",function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var r=_objectSpread({env:this},t);return unpromise(_evaluate(e.car,r),function(e){if(is_function(e)){return e(new Continuation(null))}})}),"(call/cc proc)\n\n Call-with-current-continuation.\n\n NOT SUPPORTED BY LIPS RIGHT NOW"),parameterize:doc(new Macro("parameterize",function(t,e){var i=e.dynamic_env;var a=i.inherit("parameterize").new_frame(null,{});var o=_objectSpread(_objectSpread({},e),{},{env:this});var u=t.car;if(!is_pair(u)){var r=type(u);throw new Error("Invalid syntax for parameterize expecting pair got ".concat(r))}function s(){var e=new Pair(new LSymbol("begin"),t.cdr);return _evaluate(e,_objectSpread(_objectSpread({},o),{},{dynamic_env:a}))}return function r(){var e=u.car;var n=e.car.valueOf();return unpromise(_evaluate(e.cdr.car,o),function(e){var t=i.get(n,{throwError:false});if(!is_parameter(t)){throw new Error("Unknown parameter ".concat(n))}a.set(n,t.inherit(e));if(!is_null(u.cdr)){u=u.cdr;return r()}else{return s()}})}()}),"(parameterize ((name value) ...)\n\n Macro that change the dynamic variable created by make-parameter."),"make-parameter":doc(new Macro("make-parameter",function(e,t){t.dynamic_env;var r=_evaluate(e.car,t);var n;if(is_pair(e.cdr.car)){n=_evaluate(e.cdr.car,t)}return new Parameter(r,n)}),"(make-parameter init converter)\n\n Function creates new dynamic variable that can be custimized with parameterize\n macro. The value should be assigned to a variable e.g.:\n\n (define radix (make-parameter 10))\n\n The result value is a procedure that return the value of dynamic variable."),"define-syntax-parameter":doc(new Macro("define-syntax-parameter",function(e,t){var r=e.car;var n=this;if(!(r instanceof LSymbol)){throw new Error("define-syntax-parameter: invalid syntax expecting symbol got ".concat(type(r)))}var i=_evaluate(e.cdr.car,_objectSpread({env:n},t));typecheck("define-syntax-parameter",i,"syntax",2);i.__name__=r.valueOf();if(i.__name__ instanceof LString){i.__name__=i.__name__.valueOf()}var a;if(is_pair(e.cdr.cdr)&&LString.isString(e.cdr.cdr.car)){a=e.cdr.cdr.car.valueOf()}n.set(e.car,new SyntaxParameter(i),a,true)}),"(define-syntax-parameter name syntax [__doc__])\n\n Binds to the transformer obtained by evaluating .\n The transformer provides the default expansion for the syntax parameter,\n and in the absence of syntax-parameterize, is functionally equivalent to\n define-syntax."),"syntax-parameterize":doc(new Macro("syntax-parameterize",function(e,t){var r=global_env.get("list->array")(e.car);var n=this.inherit("syntax-parameterize");while(r.length){var i=r.shift();if(!(is_pair(i)||i.car instanceof LSymbol)){var a="invalid syntax for syntax-parameterize: ".concat(repr(e,true));throw new Error("syntax-parameterize: ".concat(a))}var o=_evaluate(i.cdr.car,_objectSpread(_objectSpread({},t),{},{env:this}));var u=i.car;typecheck("syntax-parameterize",o,["syntax"]);typecheck("syntax-parameterize",u,"symbol");o.__name__=u.valueOf();if(o.__name__ instanceof LString){o.__name__=o.__name__.valueOf()}var s=new SyntaxParameter(o);if(u.is_gensym()){var c=u.literal();var l=this.get(c,{throwError:false});if(l instanceof SyntaxParameter){n.set(c,s)}}n.set(u,s)}var f=new Pair(new LSymbol("begin"),e.cdr);return _evaluate(f,_objectSpread(_objectSpread({},t),{},{env:n}))}),"(syntax-parameterize (bindings) body)\n\n Macro work similar to let-syntax but the the bindnds will be exposed to the user.\n With syntax-parameterize you can define anaphoric macros."),define:doc(Macro.defmacro("define",function(r,e){var n=this;if(is_pair(r.car)&&r.car.car instanceof LSymbol){var t=new Pair(new LSymbol("define"),new Pair(r.car.car,new Pair(new Pair(new LSymbol("lambda"),new Pair(r.car.cdr,r.cdr)))));return t}else if(e.macro_expand){return}e.dynamic_env=this;e.env=n;var i=r.cdr.car;var a;if(is_pair(i)){i=_evaluate(i,e);a=true}else if(i instanceof LSymbol){i=n.get(i)}typecheck("define",r.car,"symbol");return unpromise(i,function(e){if(n.__name__===Syntax.__merge_env__){n=n.__parent__}if(a&&(is_function(e)&&is_lambda(e)||e instanceof Syntax||is_parameter(e))){e.__name__=r.car.valueOf();if(e.__name__ instanceof LString){e.__name__=e.__name__.valueOf()}}var t;if(is_pair(r.cdr.cdr)&&LString.isString(r.cdr.cdr.car)){t=r.cdr.cdr.car.valueOf()}n.set(r.car,e,t,true)})}),'(define name expression)\n (define name expression "doc string")\n (define (function-name . args) . body)\n\n Macro for defining values. It can be used to define variables,\n or functions. If the first argument is list it will create a function\n with name being first element of the list. This form expands to\n `(define function-name (lambda args body))`'),"set-obj!":doc("set-obj!",function(e,t,r){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;var i=_typeof$1(e);if(is_null(e)||i!=="object"&&i!=="function"){var a=typeErrorMessage("set-obj!",type(e),["object","function"]);throw new Error(a)}typecheck("set-obj!",t,["string","symbol","number"]);e=unbind(e);t=t.valueOf();if(arguments.length===2){delete e[t]}else if(is_prototype(e)&&is_function(r)){e[t]=unbind(r);e[t][__prototype__]=true}else if(is_function(r)||is_native(r)||is_nil(r)){e[t]=r}else{e[t]=r&&!is_prototype(r)?r.valueOf():r}if(props){var o=e[t];Object.defineProperty(e,t,_objectSpread(_objectSpread({},n),{},{value:o}))}},"(set-obj! obj key value)\n (set-obj! obj key value props)\n\n Function set a property of a JavaScript object. props should be a vector of pairs,\n passed to Object.defineProperty."),"null-environment":doc("null-environment",function(){return global_env.inherit("null")},"(null-environment)\n\n Returns a clean environment with only the standard library."),values:doc("values",function e(){for(var t=arguments.length,r=new Array(t),n=0;n1&&arguments[1]!==undefined?arguments[1]:{},y=e.use_dynamic,v=e.error;var b=this;var g;if(is_pair(m.cdr)&&LString.isString(m.cdr.car)&&!is_nil(m.cdr.cdr)){g=m.cdr.car.valueOf()}function w(){var e=is_context(this)?this:{dynamic_env:b},r=e.dynamic_env;var n=b.inherit("lambda");r=r.inherit("lambda");if(this&&!is_context(this)){if(this&&!this.__instance__){Object.defineProperty(this,"__instance__",{enumerable:false,get:function e(){return true},set:function e(){},configurable:false})}n.set("this",this)}for(var t=arguments.length,i=new Array(t),a=0;a> SYNTAX");log(e);log(v);var n=w.inherit("syntax");var i=n;var a=this;if(a.__name__===Syntax.__merge_env__){var o=Object.getOwnPropertySymbols(a.__env__);o.forEach(function(e){a.__parent__.set(e,a.__env__[e])});a=a.__parent__}var u={env:n,dynamic_env:i,use_dynamic:b,error:g};var s,c,l;if(v.car instanceof LSymbol){s=v.car;l=D(v.cdr.car);c=v.cdr.cdr}else{s="...";l=D(v.car);c=v.cdr}try{while(!is_nil(c)){var f=c.car.car;var _=c.car.cdr.car;log("[[[ RULE");log(f);var p=extract_patterns(f,e,l,s,{expansion:this,define:w});if(p){if(is_debug()){console.log(JSON.stringify(symbolize(p),true,2));console.log("PATTERN: "+f.toString(true));console.log("MACRO: "+e.toString(true))}var d=[];var h=transform_syntax({bindings:p,expr:_,symbols:l,scope:n,lex_scope:a,names:d,ellipsis:s});log("OUPUT>>> ",h);if(h){_=h}var m=a.merge(n,Syntax.__merge_env__);if(r){return{expr:_,scope:m}}var y=_evaluate(_,_objectSpread(_objectSpread({},u),{},{env:m}));return clear_gensyms(y,d)}c=c.cdr}}catch(e){e.message+="\nin macro:\n ".concat(v.toString(true));throw e}throw new Error("syntax-rules: no matching syntax in macro ".concat(e.toString(true)))},w);r.__code__=v;return r},"(syntax-rules () (pattern expression) ...)\n\n Base of hygienic macros, it will return a new syntax expander\n that works like Lisp macros."),quote:doc(new Macro("quote",function(e){return quote(e.car)}),"(quote expression) or 'expression\n\n Macro that returns a single LIPS expression as data (it won't evaluate the\n argument). It will return a list if put in front of LIPS code.\n And if put in front of a symbol it will return the symbol itself, not the value\n bound to that name."),"unquote-splicing":doc("unquote-splicing",function(){throw new Error("You can't call `unquote-splicing` outside of quasiquote")},"(unquote-splicing code) or ,@code\n\n Special form used in the quasiquote macro. It evaluates the expression inside and\n splices the list into quasiquote's result. If it is not the last element of the\n expression, the computed value must be a pair."),unquote:doc("unquote",function(){throw new Error("You can't call `unquote` outside of quasiquote")},"(unquote code) or ,code\n\n Special form used in the quasiquote macro. It evaluates the expression inside and\n substitutes the value into quasiquote's result."),quasiquote:Macro.defmacro("quasiquote",function(e,t){var u=t.use_dynamic,s=t.error;var c=this;var l=c;function a(e){return is_pair(e)||is_plain_object(e)||Array.isArray(e)}function f(e,t){var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:a;if(is_pair(e)){var n=e.car;var i=e.cdr;if(r(n)){n=t(n)}if(r(i)){i=t(i)}if(is_promise(n)||is_promise(i)){return promise_all([n,i]).then(function(e){var t=_slicedToArray(e,2),r=t[0],n=t[1];return new Pair(r,n)})}else{return new Pair(n,i)}}return e}function o(e,t){if(is_pair(e)){if(!is_nil(t)){e.append(t)}}else{e=new Pair(e,t)}return e}function r(e){return!!e.filter(function(e){return is_pair(e)&&LSymbol.is(e.car,/^(unquote|unquote-splicing)$/)}).length}function _(e,n,i){return e.reduce(function(e,t){if(!is_pair(t)){e.push(t);return e}if(LSymbol.is(t.car,"unquote-splicing")){var r;if(n+11){var t="You can't splice multiple atoms inside list";throw new Error(t)}if(!(is_pair(i.cdr)&&is_nil(r[0]))){return r[0]}}r=r.map(function(e){if(h.has(e)){return e.clone()}else{h.add(e);return e}});var n=m(i.cdr,0,1);if(is_nil(n)&&is_nil(r[0])){return undefined}return unpromise(n,function(e){if(is_nil(r[0])){return e}if(r.length===1){return o(r[0],e)}var t=r.reduce(function(e,t){return o(e,t)});return o(t,e)})})}(i.car.cdr)}var h=new Set;function m(e,t,r){if(is_pair(e)){if(is_pair(e.car)){if(LSymbol.is(e.car.car,"unquote-splicing")){return d(e,t+1,r)}if(LSymbol.is(e.car.car,"unquote")){if(t+2===r&&is_pair(e.car.cdr)&&is_pair(e.car.cdr.car)&&LSymbol.is(e.car.cdr.car.car,"unquote-splicing")){var n=e.car.cdr;return new Pair(new Pair(new LSymbol("unquote"),d(n,t+2,r)),_nil)}else if(is_pair(e.car.cdr)&&!is_nil(e.car.cdr.cdr)){if(is_pair(e.car.cdr.car)){var i=[];return function t(r){if(is_nil(r)){return Pair.fromArray(i)}return unpromise(_evaluate(r.car,{env:c,dynamic_env:l,use_dynamic:u,error:s}),function(e){i.push(e);return t(r.cdr)})}(e.car.cdr)}else{return e.car.cdr}}}}if(LSymbol.is(e.car,"quasiquote")){var a=m(e.cdr,t,r+1);return new Pair(e.car,a)}if(LSymbol.is(e.car,"quote")){return new Pair(e.car,m(e.cdr,t,r))}if(LSymbol.is(e.car,"unquote")){t++;if(tr){throw new Error("You can't call `unquote` outside "+"of quasiquote")}if(is_pair(e.cdr)){if(!is_nil(e.cdr.cdr)){if(is_pair(e.cdr.car)){var o=[];return function t(r){if(is_nil(r)){return Pair.fromArray(o)}return unpromise(_evaluate(r.car,{env:c,dynamic_env:l,use_dynamic:u,error:s}),function(e){o.push(e);return t(r.cdr)})}(e.cdr)}else{return e.cdr}}else{return _evaluate(e.cdr.car,{env:c,dynamic_env:l,error:s})}}else{return e.cdr}}return f(e,function(e){return m(e,t,r)})}else if(is_plain_object(e)){return p(e,t,r)}else if(e instanceof Array){return _(e,t,r)}return e}function n(e){if(is_pair(e)){delete e[__data__];if(!e.have_cycles("car")){n(e.car)}if(!e.have_cycles("cdr")){n(e.cdr)}}}if(is_plain_object(e.car)&&!r(Object.values(e.car))){return quote(e.car)}if(Array.isArray(e.car)&&!r(e.car)){return quote(e.car)}if(is_pair(e.car)&&!e.car.find("unquote")&&!e.car.find("unquote-splicing")&&!e.car.find("quasiquote")){return quote(e.car)}var i=m(e.car,0,1);return unpromise(i,function(e){n(e);return quote(e)})},"(quasiquote list)\n\n Similar macro to `quote` but inside it you can use special expressions (unquote\n x) abbreviated to ,x that will evaluate x and insert its value verbatim or\n (unquote-splicing x) abbreviated to ,@x that will evaluate x and splice the value\n into the result. Best used with macros but it can be used outside."),clone:doc("clone",function e(t){typecheck("clone",t,"pair");return t.clone()},"(clone list)\n\n Function that returns a clone of the list, that does not share any pairs with the\n original, so the clone can be safely mutated without affecting the original."),append:doc("append",function e(){var t;for(var r=arguments.length,n=new Array(r),i=0;iarray")(t).reverse();return global_env.get("array->list")(r)}else if(Array.isArray(t)){return t.reverse()}else{throw new Error(typeErrorMessage("reverse",type(t),"array or pair"))}},"(reverse list)\n\n Function that reverses the list or array. If value is not a list\n or array it will error."),nth:doc("nth",function e(t,r){typecheck("nth",t,"number");typecheck("nth",r,["array","pair"]);if(is_pair(r)){var n=r;var i=0;while(iarray")(r).join(t)},"(join separator list)\n\n Function that returns a string by joining elements of the list using separator."),split:doc("split",function e(t,r){typecheck("split",t,["regex","string"]);typecheck("split",r,"string");return global_env.get("array->list")(r.split(t))},"(split separator string)\n\n Function that creates a list by splitting string by separator which can\n be a string or regular expression."),replace:doc("replace",function e(t,r,n){typecheck("replace",t,["regex","string"]);typecheck("replace",r,["string","function"]);typecheck("replace",n,"string");if(is_function(r)){var i=[];n.replace(t,function(){i.push(r.apply(void 0,arguments))});return unpromise(i,function(e){return n.replace(t,function(){return e.shift()})})}return n.replace(t,r)},"(replace pattern replacement string)\n\n Function that changes pattern to replacement inside string. Pattern can be a\n string or regex and replacement can be function or string. See Javascript\n String.replace()."),match:doc("match",function e(t,r){typecheck("match",t,["regex","string"]);typecheck("match",r,"string");var n=r.match(t);return n?global_env.get("array->list")(n):false},"(match pattern string)\n\n Function that returns a match object from JavaScript as a list or #f if\n no match."),search:doc("search",function e(t,r){typecheck("search",t,["regex","string"]);typecheck("search",r,"string");return r.search(t)},"(search pattern string)\n\n Function that returns the first found index of the pattern inside a string."),repr:doc("repr",function e(t,r){return toString(t,r)},"(repr obj)\n\n Function that returns a LIPS code representation of the object as a string."),"escape-regex":doc("escape-regex",function(e){typecheck("escape-regex",e,"string");return escape_regex(e.valueOf())},"(escape-regex string)\n\n Function that returns a new string where all special operators used in regex,\n are escaped with backslashes so they can be used in the RegExp constructor\n to match a literal string."),env:doc("env",function e(e){e=e||this.env;var t=Object.keys(e.__env__).map(LSymbol);var r;if(t.length){r=Pair.fromArray(t)}else{r=_nil}if(e.__parent__ instanceof Environment){return global_env.get("env").call(this,e.__parent__).append(r)}return r},"(env)\n (env obj)\n\n Function that returns a list of names (functions, macros and variables)\n that are bound in the current environment or one of its parents."),new:doc("new",function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n2&&arguments[2]!==undefined?arguments[2]:specials.LITERAL;typecheck("set-special!",e,"string",1);typecheck("set-special!",t,"symbol",2);specials.append(e.valueOf(),t,r)},'(set-special! symbol name [type])\n\n Add a special symbol to the list of transforming operators by the parser.\n e.g.: `(add-special! "#" \'x)` will allow to use `#(1 2 3)` and it will be\n transformed into (x (1 2 3)) so you can write x macro that will process\n the list. 3rd argument is optional, and it can be one of two values:\n lips.specials.LITERAL, which is the default behavior, or\n lips.specials.SPLICE which causes the value to be unpacked into the expression.\n This can be used for e.g. to make `#(1 2 3)` into (x 1 2 3) that is needed\n by # that defines vectors.'),get:get,".":get,unbind:doc(unbind,"(unbind fn)\n\n Function that removes the weak 'this' binding from a function so you\n can get properties from the actual function object."),type:doc(type,"(type object)\n\n Function that returns the type of an object as string."),debugger:doc("debugger",function(){debugger},'(debugger)\n\n Function that triggers the JavaScript debugger (e.g. the browser devtools)\n using the "debugger;" statement. If a debugger is not running this\n function does nothing.'),in:doc("in",function(e,t){if(e instanceof LSymbol||e instanceof LString||e instanceof LNumber){e=e.valueOf()}return e in unbox(t)},'(in key value)\n\n Function that uses the Javascript "in" operator to check if key is\n a valid property in the value.'),"instance?":doc("instance?",function(e){return is_instance(e)},"(instance? obj)\n\n Checks if object is an instance, created with a new operator"),instanceof:doc("instanceof",function(e,t){return t instanceof unbind(e)},"(instanceof type obj)\n\n Predicate that tests if the obj is an instance of type."),"prototype?":doc("prototype?",is_prototype,"(prototype? obj)\n\n Predicate that tests if value is a valid JavaScript prototype,\n i.e. calling (new) with it will not throw ' is not a constructor'."),"macro?":doc("macro?",function(e){return e instanceof Macro},"(macro? expression)\n\n Predicate that tests if value is a macro."),"continuation?":doc("continuation?",is_continuation,"(continuation? expression)\n\n Predicate that tests if value is a callable continuation."),"function?":doc("function?",is_function,"(function? expression)\n\n Predicate that tests if value is a callable function."),"real?":doc("real?",function(e){if(type(e)!=="number"){return false}if(e instanceof LNumber){return e.isFloat()}return LNumber.isFloat(e)},"(real? number)\n\n Predicate that tests if value is a real number (not complex)."),"number?":doc("number?",function(e){return Number.isNaN(e)||LNumber.isNumber(e)},"(number? expression)\n\n Predicate that tests if value is a number or NaN value."),"string?":doc("string?",function(e){return LString.isString(e)},"(string? expression)\n\n Predicate that tests if value is a string."),"pair?":doc("pair?",is_pair,"(pair? expression)\n\n Predicate that tests if value is a pair or list structure."),"regex?":doc("regex?",function(e){return e instanceof RegExp},"(regex? expression)\n\n Predicate that tests if value is a regular expression."),"null?":doc("null?",function(e){return is_null(e)},"(null? expression)\n\n Predicate that tests if value is null-ish (i.e. undefined, nil, or\n Javascript null)."),"boolean?":doc("boolean?",function(e){return typeof e==="boolean"},"(boolean? expression)\n\n Predicate that tests if value is a boolean (#t or #f)."),"symbol?":doc("symbol?",function(e){return e instanceof LSymbol},"(symbol? expression)\n\n Predicate that tests if value is a LIPS symbol."),"array?":doc("array?",function(e){return e instanceof Array},"(array? expression)\n\n Predicate that tests if value is an array."),"object?":doc("object?",function(e){return!is_nil(e)&&e!==null&&!(e instanceof LCharacter)&&!(e instanceof RegExp)&&!(e instanceof LString)&&!is_pair(e)&&!(e instanceof LNumber)&&_typeof$1(e)==="object"&&!(e instanceof Array)},"(object? expression)\n\n Predicate that tests if value is an plain object (not another LIPS type)."),flatten:doc("flatten",function e(t){typecheck("flatten",t,"pair");return t.flatten()},"(flatten list)\n\n Returns a shallow list from tree structure (pairs)."),"array->list":doc("array->list",function(e){typecheck("array->list",e,"array");return Pair.fromArray(e)},"(array->list array)\n\n Function that converts a JavaScript array to a LIPS cons list."),"tree->array":doc("tree->array",to_array("tree->array",true),"(tree->array list)\n\n Function that converts a LIPS cons tree structure into a JavaScript array."),"list->array":doc("list->array",to_array("list->array"),"(list->array list)\n\n Function that converts a LIPS list into a JavaScript array."),apply:doc("apply",function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;iarray").call(this,a));return t.apply(this,prepare_fn_args(t,n))},"(apply fn list)\n\n Function that calls fn with the list of arguments."),length:doc("length",function e(t){if(!t||is_nil(t)){return 0}if(is_pair(t)){return t.length()}if("length"in t){return t.length}},'(length expression)\n\n Function that returns the length of the object. The object can be a LIPS\n list or any object that has a "length" property. Returns undefined if the\n length could not be found.'),"string->number":doc("string->number",function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:10;typecheck("string->number",e,"string",1);typecheck("string->number",t,"number",2);e=e.valueOf();t=t.valueOf();if(e.match(rational_bare_re)||e.match(rational_re)){return parse_rational(e,t)}else if(e.match(complex_bare_re)||e.match(complex_re)){return parse_complex(e,t)}else{var r=t===10&&!e.match(/e/i)||t===16;if(e.match(int_bare_re)&&r||e.match(int_re)){return parse_integer(e,t)}if(e.match(float_re)){return parse_float(e)}}return false},"(string->number number [radix])\n\n Function that parses a string into a number."),try:doc(new Macro("try",function(r,e){var f=this;var _=e.use_dynamic;e.error;return new Promise(function(t,u){var s,n;if(LSymbol.is(r.cdr.car.car,"catch")){s=r.cdr.car;if(is_pair(r.cdr.cdr)&&LSymbol.is(r.cdr.cdr.car.car,"finally")){n=r.cdr.cdr.car}}else if(LSymbol.is(r.cdr.car.car,"finally")){n=r.cdr.car}if(!(n||s)){throw new Error("try: invalid syntax")}function c(e){t(e);throw new IgnoreException("[CATCH]")}var l=function e(t,r){r(t)};if(n){l=function e(t,r){l=u;i.error=function(e){throw e};unpromise(_evaluate(new Pair(new LSymbol("begin"),n.cdr),i),function(){r(t)})}}var i={env:f,use_dynamic:_,dynamic_env:f,error:function e(t){if(t instanceof IgnoreException){throw t}if(s){var r=f.inherit("try");var n=s.cdr.car.car;if(!(n instanceof LSymbol)){throw new Error("try: invalid syntax: catch require variable name")}r.set(n,t);var i;var a={env:r,use_dynamic:_,dynamic_env:f,error:function e(t){i=true;u(t);throw new IgnoreException("[CATCH]")}};var o=_evaluate(new Pair(new LSymbol("begin"),s.cdr.cdr),a);unpromise(o,function e(t){if(!i){l(t,c)}})}else{l(undefined,function(){u(t)})}}};var e=_evaluate(r.car,i);unpromise(e,function(e){l(e,t)},i.error)})}),"(try expr (catch (e) code))\n (try expr (catch (e) code) (finally code))\n (try expr (finally code))\n\n Macro that executes expr and catches any exceptions thrown. If catch is provided\n it's executed when an error is thrown. If finally is provided it's always\n executed at the end."),raise:doc("raise",function(e){throw e},"(raise obj)\n\n Throws the object verbatim (no wrapping an a new Error)."),throw:doc("throw",function(e){throw new Error(e)},"(throw string)\n\n Throws a new exception."),find:doc("find",function t(r,n){typecheck("find",r,["regex","function"]);typecheck("find",n,["pair","nil"]);if(is_null(n)){return _nil}var e=matcher("find",r);return unpromise(e(n.car),function(e){if(e&&!is_nil(e)){return n.car}return t(r,n.cdr)})},"(find fn list)\n (find regex list)\n\n Higher-order function that finds the first value for which fn return true.\n If called with a regex it will create a matcher function."),"for-each":doc("for-each",function(e){var t;typecheck("for-each",e,"function");for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i1?t-1:0),a=1;a3?n-3:0),a=3;a3?i-3:0),o=3;oarray")(r);var a=[];var o=matcher("filter",t);return function t(r){function e(e){if(e&&!is_nil(e)){a.push(n)}return t(++r)}if(r===i.length){return Pair.fromArray(a)}var n=i[r];return unpromise(o(n),e)}(0)},"(filter fn list)\n (filter regex list)\n\n Higher-order function that calls `fn` for each element of the list\n and return a new list for only those elements for which fn returns\n a truthy value. If called with a regex it will create a matcher function."),compose:doc(compose,"(compose . fns)\n\n Higher-order function that creates a new function that applies all functions\n from right to left and returns the last value. Reverse of pipe.\n e.g.:\n ((compose (curry + 2) (curry * 3)) 10) --\x3e (+ 2 (* 3 10)) --\x3e 32"),pipe:doc(pipe,"(pipe . fns)\n\n Higher-order function that creates a new function that applies all functions\n from left to right and returns the last value. Reverse of compose.\n e.g.:\n ((pipe (curry + 2) (curry * 3)) 10) --\x3e (* 3 (+ 2 10)) --\x3e 36"),curry:doc(curry,"(curry fn . args)\n\n Higher-order function that creates a curried version of the function.\n The result function will have partially applied arguments and it\n will keep returning one-argument functions until all arguments are provided,\n then it calls the original function with the accumulated arguments.\n\n e.g.:\n (define (add a b c d) (+ a b c d))\n (define add1 (curry add 1))\n (define add12 (add 2))\n (display (add12 3 4))"),gcd:doc("gcd",function e(){for(var t=arguments.length,r=new Array(t),n=0;nu?a%=u:u%=a}a=abs(s*r[o])/(a+u)}return LNumber(a)},"(lcm n1 n2 ...)\n\n Function that returns the least common multiple of the arguments."),"odd?":doc("odd?",single_math_op(function(e){return LNumber(e).isOdd()}),"(odd? number)\n\n Checks if number is odd."),"even?":doc("even?",single_math_op(function(e){return LNumber(e).isEven()}),"(even? number)\n\n Checks if number is even."),"*":doc("*",reduce_math_op(function(e,t){return LNumber(e).mul(t)},LNumber(1)),"(* . numbers)\n\n Multiplies all numbers passed as arguments. If single value is passed\n it will return that value."),"+":doc("+",reduce_math_op(function(e,t){return LNumber(e).add(t)},LNumber(0)),"(+ . numbers)\n\n Sums all numbers passed as arguments. If single value is passed it will\n return that value."),"-":doc("-",function(){for(var e=arguments.length,t=new Array(e),r=0;r":doc(">",function(){for(var e=arguments.length,t=new Array(e),r=0;r",t,["bigint","float","rational"]);return seq_compare(function(e,t){return LNumber(e).cmp(t)===1},t)},"(> x1 x2 x3 ...)\n\n Function that compares its numerical arguments and checks if they are\n monotonically decreasing, i.e. x1 > x2 and x2 > x3 and so on."),"<":doc("<",function(){for(var e=arguments.length,t=new Array(e),r=0;r=":doc(">=",function(){for(var e=arguments.length,t=new Array(e),r=0;r=",t,["bigint","float","rational"]);return seq_compare(function(e,t){return[0,1].includes(LNumber(e).cmp(t))},t)},"(>= x1 x2 ...)\n\n Function that compares its numerical arguments and checks if they are\n monotonically nonincreasing, i.e. x1 >= x2 and x2 >= x3 and so on."),"eq?":doc("eq?",equal,"(eq? a b)\n\n Function that compares two values if they are identical."),or:doc(new Macro("or",function(e,t){var i=t.use_dynamic,a=t.error;var o=global_env.get("list->array")(e);var u=this;var s=u;if(!o.length){return false}var c;return function t(){function e(e){c=e;if(!is_false(c)){return c}else{return t()}}if(!o.length){if(!is_false(c)){return c}else{return false}}else{var r=o.shift();var n=_evaluate(r,{env:u,dynamic_env:s,use_dynamic:i,error:a});return unpromise(n,e)}}()}),"(or . expressions)\n\n Macro that executes the values one by one and returns the first that is\n a truthy value. If there are no expressions that evaluate to true it\n returns false."),and:doc(new Macro("and",function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},r=t.use_dynamic,n=t.error;var i=global_env.get("list->array")(e);var a=this;var o=a;if(!i.length){return true}var u;var s={env:a,dynamic_env:o,use_dynamic:r,error:n};return function t(){function e(e){u=e;if(is_false(u)){return u}else{return t()}}if(!i.length){if(!is_false(u)){return u}else{return false}}else{var r=i.shift();return unpromise(_evaluate(r,s),e)}}()}),"(and . expressions)\n\n Macro that evaluates each expression in sequence and if any value returns false\n it will stop and return false. If each value returns true it will return the\n last value. If it's called without arguments it will return true."),"|":doc("|",function(e,t){return LNumber(e).or(t)},"(| a b)\n\n Function that calculates the bitwise or operation."),"&":doc("&",function(e,t){return LNumber(e).and(t)},"(& a b)\n\n Function that calculates the bitwise and operation."),"~":doc("~",function(e){return LNumber(e).neg()},"(~ number)\n\n Function that calculates the bitwise inverse (flip all the bits)."),">>":doc(">>",function(e,t){return LNumber(e).shr(t)},"(>> a b)\n\n Function that right shifts the value a by value b bits."),"<<":doc("<<",function(e,t){return LNumber(e).shl(t)},"(<< a b)\n\n Function that left shifts the value a by value b bits."),not:doc("not",function e(t){if(is_null(t)){return true}return!t},"(not object)\n\n Function that returns the Boolean negation of its argument.")},undefined,"global");var user_env=global_env.inherit("user-env");function set_interaction_env(e,t){e.constant("**internal-env**",t);e.doc("**internal-env**","**internal-env**\n\n Constant used to hide stdin, stdout and stderr so they don't interfere\n with variables with the same name. Constants are an internal type\n of variable that can't be redefined, defining a variable with the same name\n will throw an error.");global_env.set("**interaction-environment**",e)}set_interaction_env(user_env,internal_env);global_env.doc("**interaction-environment**","**interaction-environment**\n\n Internal dynamic, global variable used to find interpreter environment.\n It's used so the read and write functions can locate **internal-env**\n that contains the references to stdin, stdout and stderr.");function set_fs(e){user_env.get("**internal-env**").set("fs",e)}(function(){var e={ceil:"ceiling"};["floor","round","ceil"].forEach(function(t){var r=e[t]?e[t]:t;global_env.set(r,doc(r,function(e){typecheck(r,e,"number");if(e instanceof LNumber){return e[t]()}},"(".concat(r," number)\n\n Function that calculates the ").concat(r," of a number.")))})})();function allPossibleCases(e){if(e.length===1){return e[0]}else{var t=[];var r=allPossibleCases(e.slice(1));for(var n=0;n3&&arguments[3]!==undefined?arguments[3]:null;var i=e?" in expression `".concat(e,"`"):"";if(n!==null){i+=" (argument ".concat(n,")")}if(is_function(r)){return"Invalid type: got ".concat(t).concat(i)}if(r instanceof Array){if(r.length===1){var a=r[0].toLowerCase();r="a"+("aeiou".includes(a)?"n ":" ")+r[0]}else{r=new Intl.ListFormat("en",{style:"long",type:"disjunction"}).format(r)}}return"Expecting ".concat(r," got ").concat(t).concat(i)}function typecheck_number(e,t,r){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;typecheck(e,t,"number",n);var i=t.__type__;var a;if(is_pair(r)){r=r.to_array()}if(r instanceof Array){r=r.map(function(e){return e.valueOf()})}if(r instanceof Array){r=r.map(function(e){return e.valueOf().toLowerCase()});if(r.includes(i)){a=true}}else{r=r.valueOf().toLowerCase()}if(!a&&i!==r){throw new Error(typeErrorMessage(e,i,r,n))}}function typecheck_numbers(r,e,n){e.forEach(function(e,t){typecheck_number(r,e,n,t+1)})}function typecheck_args(r,e,n){e.forEach(function(e,t){typecheck(r,e,n,t+1)})}function typecheck_text_port(e,t,r){typecheck(e,t,r);if(t.__type__===binary_port){throw new Error(typeErrorMessage(e,"binary-port","textual-port"))}}function typecheck(e,t,r){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;e=e.valueOf();var i=type(t).toLowerCase();if(is_function(r)){if(!r(t)){throw new Error(typeErrorMessage(e,i,r,n))}return}var a=false;if(is_pair(r)){r=r.to_array()}if(r instanceof Array){r=r.map(function(e){return e.valueOf()})}if(r instanceof Array){r=r.map(function(e){return e.valueOf().toLowerCase()});if(r.includes(i)){a=true}}else{r=r.valueOf().toLowerCase()}if(!a&&i!==r){throw new Error(typeErrorMessage(e,i,r,n))}}function memoize(r){var n=new WeakMap;return function(e){var t=n.get(e);if(!t){t=r(e)}return t}}type=memoize(type);function type(e){var t=type_constants.get(e);if(t){return t}if(_typeof$1(e)==="object"){for(var r=0,n=Object.entries(type_mapping);r2&&arguments[2]!==undefined?arguments[2]:{},n=r.env,i=r.dynamic_env,a=r.use_dynamic;var o=n===null||n===void 0?void 0:n.new_frame(e,t);var u=i===null||i===void 0?void 0:i.new_frame(e,t);var s=new LambdaContext({env:o,use_dynamic:a,dynamic_env:u});return resolve_promises(e.apply(s,t))}function apply(n,e){var t=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{},i=t.env,a=t.dynamic_env,o=t.use_dynamic,r=t.error,u=r===void 0?function(){}:r;e=evaluate_args(e,{env:i,dynamic_env:a,error:u,use_dynamic:o});return unpromise(e,function(e){if(is_raw_lambda(n)){n=unbind(n)}e=prepare_fn_args(n,e);var t=e.slice();var r=call_function(n,t,{env:i,dynamic_env:a,use_dynamic:o});return unpromise(r,function(e){if(is_pair(e)){e.mark_cycles();return quote(e)}return box(e)},u)})}var _p_name__=new WeakMap;var Parameter=function(){function n(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;_classCallCheck(this,n);_defineProperty(this,"__value__",void 0);_defineProperty(this,"__fn__",void 0);_classPrivateFieldInitSpec(this,_p_name__,{writable:true,value:void 0});this.__value__=e;if(t){if(!is_function(t)){throw new Error("Section argument to Parameter need to be function "+"".concat(type(t)," given"))}this.__fn__=t}if(r){_classPrivateFieldSet(this,_p_name__,r)}}_createClass(n,[{key:"__name__",get:function e(){return _classPrivateFieldGet(this,_p_name__)},set:function e(t){_classPrivateFieldSet(this,_p_name__,t);if(this.__fn__){this.__fn__.__name__="fn-".concat(t)}}},{key:"invoke",value:function e(){if(is_function(this.__fn__)){return this.__fn__(this.__value__)}return this.__value__}},{key:"inherit",value:function e(t){return new n(t,this.__fn__,this.__name__)}}]);return n}();var LambdaContext=function(){function t(e){_classCallCheck(this,t);_defineProperty(this,"env",void 0);_defineProperty(this,"dynamic_env",void 0);_defineProperty(this,"use_dynamic",void 0);Object.assign(this,e)}_createClass(t,[{key:"__name__",get:function e(){return this.env.__name__}},{key:"__parent__",get:function e(){return this.env.__parent__}},{key:"get",value:function e(){var t;return(t=this.env).get.apply(t,arguments)}}]);return t}();function search_param(e,t){var r=e.get(t.__name__,{throwError:false});if(is_parameter(r)&&r!==t){return r}var n=user_env.get("**interaction-environment**");while(true){var i=e.get("parent.frame",{throwError:false});e=i(0);if(e===n){break}r=e.get(t.__name__,{throwError:false});if(is_parameter(r)&&r!==t){return r}}return t}var Continuation=function(){function t(e){_classCallCheck(this,t);_defineProperty(this,"__value__",void 0);this.__value__=e}_createClass(t,[{key:"invoke",value:function e(){if(this.__value__===null){throw new Error("Continuations are not implemented yet")}}}]);return t}();function _evaluate(u){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},s=e.env,c=e.dynamic_env,l=e.use_dynamic,t=e.error,f=t===void 0?noop:t,r=_objectWithoutProperties(e,_excluded6);return function(e){try{if(!is_env(c)){c=s===true?user_env:s||user_env}if(l){s=c}else if(s===true){s=user_env}else{s=s||global_env}var t={env:s,dynamic_env:c,use_dynamic:l,error:f};var r;if(is_null(u)){return u}if(u instanceof LSymbol){return s.get(u)}if(!is_pair(u)){return u}var n=u.car;var e=u.cdr;if(is_pair(n)){r=resolve_promises(_evaluate(n,t));if(is_promise(r)){return r.then(function(e){if(!is_callable(e)){throw new Error(type(e)+" "+s.get("repr")(e)+" is not callable while evaluating "+u.toString())}return _evaluate(new Pair(e,u.cdr),t)})}else if(!is_callable(r)){throw new Error(type(r)+" "+s.get("repr")(r)+" is not callable while evaluating "+u.toString())}}if(n instanceof LSymbol){r=s.get(n)}else if(is_function(n)){r=n}var i;if(r instanceof Syntax){i=evaluate_syntax(r,u,t)}else if(r instanceof Macro){i=evaluate_macro(r,e,t)}else if(is_function(r)){i=apply(r,e,t)}else if(r instanceof SyntaxParameter){i=evaluate_syntax(r._syntax,u,t)}else if(is_parameter(r)){var a=search_param(c,r);if(is_null(u.cdr)){i=a.invoke()}else{return unpromise(_evaluate(u.cdr.car,t),function(e){a.__value__=e})}}else if(is_continuation(r)){i=r.invoke()}else if(is_pair(u)){r=n&&n.toString();throw new Error("".concat(type(n)," ").concat(r," is not a function"))}else{return u}var o=s.get(Symbol["for"]("__promise__"),{throwError:false});if(o===true&&is_promise(i)){i=i.then(function(e){if(is_pair(e)&&!r[__data__]){return _evaluate(e,t)}return e});return new QuotedPromise(i)}return i}catch(e){f&&f.call(s,e,u)}}(r)}var compile=exec_collect(function(e){return e});var exec=exec_collect(function(e,t){return t});function exec_with_stacktrace(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},r=t.env,n=t.dynamic_env,i=t.use_dynamic;return _evaluate(e,{env:r,dynamic_env:n,use_dynamic:i,error:function e(t,r){if(t&&t.message){if(t.message.match(/^Error:/)){var n=/^(Error:)\s*([^:]+:\s*)/;t.message=t.message.replace(n,"$1 $2")}if(r){if(!(t.__code__ instanceof Array)){t.__code__=[]}t.__code__.push(r.toString(true))}}if(!(t instanceof IgnoreException)){throw t}}})}function exec_collect(h){return function(){var t=_asyncToGenerator(function(f){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_=e.env,p=e.dynamic_env,d=e.use_dynamic;return _regeneratorRuntime.mark(function e(){var r,n,i,a,o,u,s,c,l;return _regeneratorRuntime.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(!is_env(p)){p=_===true?user_env:_||user_env}if(_===true){_=user_env}else{_=_||user_env}r=[];if(!is_pair(f)){t.next=8;break}t.next=6;return exec_with_stacktrace(code,{env:_,dynamic_env:p,use_dynamic:d});case 6:t.t0=t.sent;return t.abrupt("return",[t.t0]);case 8:n=Array.isArray(f)?f:_parse(f);i=false;a=false;t.prev=11;u=_asyncIterator(n);case 13:t.next=15;return u.next();case 15:if(!(i=!(s=t.sent).done)){t.next=31;break}c=s.value;t.next=19;return exec_with_stacktrace(c,{env:_,dynamic_env:p,use_dynamic:d});case 19:l=t.sent;t.t1=r;t.t2=h;t.t3=c;t.next=25;return l;case 25:t.t4=t.sent;t.t5=(0,t.t2)(t.t3,t.t4);t.t1.push.call(t.t1,t.t5);case 28:i=false;t.next=13;break;case 31:t.next=37;break;case 33:t.prev=33;t.t6=t["catch"](11);a=true;o=t.t6;case 37:t.prev=37;t.prev=38;if(!(i&&u["return"]!=null)){t.next=42;break}t.next=42;return u["return"]();case 42:t.prev=42;if(!a){t.next=45;break}throw o;case 45:return t.finish(42);case 46:return t.finish(37);case 47:return t.abrupt("return",r);case 48:case"end":return t.stop()}},e,null,[[11,33,37,47],[38,,42,46]])})()});function e(e){return t.apply(this,arguments)}return e}()}function balanced(e){var t={"[":"]","(":")"};var r;if(typeof e==="string"){r=tokenize(e)}else{r=e.map(function(e){return e&&e.token?e.token:e})}var n=Object.keys(t);var i=Object.values(t).concat(n);r=r.filter(function(e){return i.includes(e)});var a=new Stack;var o=_createForOfIteratorHelper(r),u;try{for(o.s();!(u=o.n()).done;){var s=u.value;if(n.includes(s)){a.push(s)}else if(!a.is_empty()){var c=a.top();var l=t[c];if(s===l){a.pop()}else{throw new Error("Syntax error: missing closing ".concat(l))}}else{throw new Error("Syntax error: not matched closing ".concat(s))}}}catch(e){o.e(e)}finally{o.f()}return a.is_empty()}function fworker(e){var t="("+e.toString()+")()";var r=window.URL||window.webkitURL;var n;try{n=new Blob([t],{type:"application/javascript"})}catch(e){var i=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder;n=new i;n.append(t);n=n.getBlob()}return new root.Worker(r.createObjectURL(n))}function is_dev(){return lips.version.match(/^(\{\{VER\}\}|DEV)$/)}function get_current_script(){if(is_node()){return}var e;if(document.currentScript){e=document.currentScript}else{var t=document.querySelectorAll("script");if(!t.length){return}e=t[t.length-1]}var r=e.getAttribute("src");return r}var current_script=get_current_script();function bootstrap(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"";var t="dist/std.xcb";if(e===""){if(current_script){e=current_script.replace(/[^/]*$/,"std.xcb")}else if(is_dev()){e="https://cdn.jsdelivr.net/gh/jcubic/lips@devel/".concat(t)}else{e="https://cdn.jsdelivr.net/npm/@jcubic/lips@".concat(lips.version,"/").concat(t)}}var r=global_env.get("load");return r.call(user_env,e,global_env)}function Worker(e){this.url=e;var o=this.worker=fworker(function(){var o;var u;self.addEventListener("message",function(e){var r=e.data;var t=r.id;if(r.type!=="RPC"||t===null){return}function n(e){self.postMessage({id:t,type:"RPC",result:e})}function i(e){self.postMessage({id:t,type:"RPC",error:e})}if(r.method==="eval"){if(!u){i("Worker RPC: LIPS not initialized, call init first");return}u.then(function(){var e=r.params[0];var t=r.params[1];o.exec(e,{use_dynamic:t}).then(function(e){e=e.map(function(e){return e&&e.valueOf()});n(e)})["catch"](function(e){i(e)})})}else if(r.method==="init"){var a=r.params[0];if(typeof a!=="string"){i("Worker RPC: url is not a string")}else{importScripts("".concat(a,"/dist/lips.min.js"));o=new lips.Interpreter("worker");u=bootstrap(a);u.then(function(){n(true)})}}})});this.rpc=function(){var n=0;return function e(t,r){var a=++n;return new Promise(function(n,i){o.addEventListener("message",function e(t){var r=t.data;if(r&&r.type==="RPC"&&r.id===a){if(r.error){i(r.error)}else{n(r.result)}o.removeEventListener("message",e)}});o.postMessage({type:"RPC",method:t,id:a,params:r})})}}();this.rpc("init",[e])["catch"](function(e){console.error(e)});this.exec=function(e,t){var r=t.use_dynamic,n=r===void 0?false:r;return this.rpc("eval",[e,n])}}var serialization_map={pair:function e(t){var r=_slicedToArray(t,2),n=r[0],i=r[1];return Pair(n,i)},number:function e(t){if(LString.isString(t)){return LNumber([t,10])}return LNumber(t)},regex:function e(t){var r=_slicedToArray(t,2),n=r[0],i=r[1];return new RegExp(n,i)},nil:function e(){return _nil},symbol:function e(t){if(LString.isString(t)){return LSymbol(t)}else if(Array.isArray(t)){return LSymbol(Symbol["for"](t[0]))}},string:LString,character:LCharacter};var available_class=Object.keys(serialization_map);var class_map={};for(var _i6=0,_Object$entries3=Object.entries(available_class);_i6<_Object$entries3.length;_i6++){var _Object$entries3$_i=_slicedToArray(_Object$entries3[_i6],2),i=_Object$entries3$_i[0],cls=_Object$entries3$_i[1];class_map[cls]=+i}function mangle_name(e){return class_map[e]}function resolve_name(e){return available_class[e]}function serialize(e){return JSON.stringify(e,function(e,t){var r=this[e];if(r){if(r instanceof RegExp){return{"@":mangle_name("regex"),"#":[r.source,r.flags]}}var n=mangle_name(r.constructor.__class__);if(!is_undef(n)){return{"@":n,"#":r.serialize()}}}return t})}function unserialize(e){return JSON.parse(e,function(e,t){if(t&&_typeof$1(t)==="object"){if(!is_undef(t["@"])){var r=resolve_name(t["@"]);if(serialization_map[r]){return serialization_map[r](t["#"])}}}return t})}var cbor=function(){var e={pair:Pair,symbol:LSymbol,number:LNumber,string:LString,character:LCharacter,nil:_nil.constructor,regex:RegExp};function t(e,t){return{deserialize:t,Class:e}}var r=new Encoder;var a={};for(var n=0,i=Object.entries(serialization_map);n1){var n=t.reduce(function(e,t){return e+t.length},0);var i=new Uint8Array(n);var a=0;t.forEach(function(e){i.set(e,a);a+=e.length});return i}else if(t.length){return t[0]}}function encode_magic(){var e=1;var t=new TextEncoder("utf-8");return t.encode("LIPS".concat(e.toString().padStart(3," ")))}var MAGIC_LENGTH=7;function decode_magic(e){var t=new TextDecoder("utf-8");var r=t.decode(e.slice(0,MAGIC_LENGTH));var n=r.substring(0,4);if(n==="LIPS"){var i=r.match(/^(....).*([0-9]+)$/);if(i){return{type:i[1],version:Number(i[2])}}}return{type:"unknown"}}function serialize_bin(e){var t=encode_magic();var r=cbor.encode(e);return merge_uint8_array(t,pack_1(r,{magic:false}))}function unserialize_bin(e){var t=decode_magic(e),r=t.type,n=t.version;if(r==="LIPS"&&n===1){var i=unpack_1(e.slice(MAGIC_LENGTH),{magic:false});return cbor.decode(i)}else{throw new Error("Invalid file format ".concat(r))}}function execError(e){console.error(e.message||e);if(Array.isArray(e.code)){console.error(e.code.map(function(e,t){return"[".concat(t+1,"]: ").concat(e)}))}}function init(){var o=["text/x-lips","text/x-scheme"];var u;function s(e){var t;return(t=e.getAttribute("data-bootstrap"))!==null&&t!==void 0?t:e.getAttribute("bootstrap")}function c(r){return new Promise(function(t){var e=r.getAttribute("src");if(e){return fetch(e).then(function(e){return e.text()}).then(exec).then(t)["catch"](function(e){execError(e);t()})}else{return exec(r.innerHTML).then(t)["catch"](function(e){execError(e);t()})}})}function e(){return new Promise(function(i){var a=Array.from(document.querySelectorAll("script"));return function e(){var t=a.shift();if(!t){i()}else{var r=t.getAttribute("type");if(o.includes(r)){var n=s(t);if(!u&&typeof n==="string"){return bootstrap(n).then(function(){return c(t)}).then(e)}else{return c(t).then(e)}}else if(r&&r.match(/lips|lisp/)){console.warn("Expecting "+o.join(" or ")+" found "+r)}return e()}}()})}if(!window.document){return Promise.resolve()}else if(currentScript){var t=currentScript;var r=s(t);if(typeof r==="string"){return bootstrap(r).then(function(){u=true;return e()})}}return e()}var currentScript=typeof window!=="undefined"&&window.document&&document.currentScript;if(typeof window!=="undefined"){contentLoaded(window,init)}var banner=function(){var e=LString("Sun, 17 Mar 2024 22:45:05 +0000").valueOf();var t=e==="{{"+"DATE}}"?new Date:new Date(e);var r=function e(t){return t.toString().padStart(2,"0")};var n=t.getFullYear();var i=[n,r(t.getMonth()+1),r(t.getDate())].join("-");var a="\n __ __ __\n / / \\ \\ _ _ ___ ___ \\ \\\n| | \\ \\ | | | || . \\/ __> | |\n| | > \\ | |_ | || _/\\__ \\ | |\n| | / ^ \\ |___||_||_| <___/ | |\n \\_\\ /_/ \\_\\ /_/\n\nLIPS Interpreter DEV (".concat(i,") \nCopyright (c) 2018-").concat(n," Jakub T. Jankiewicz\n\nType (env) to see environment with functions macros and variables. You can also\nuse (help name) to display help for specific function or macro, (apropos name)\nto display list of matched names in environment and (dir object) to list\nproperties of an object.\n").replace(/^.*\n/,"");return a}();read_only(Ahead,"__class__","ahead");read_only(Pair,"__class__","pair");read_only(Nil,"__class__","nil");read_only(Pattern,"__class__","pattern");read_only(Formatter,"__class__","formatter");read_only(Macro,"__class__","macro");read_only(Syntax,"__class__","syntax");read_only(Syntax.Parameter,"__class__","syntax-parameter");read_only(Environment,"__class__","environment");read_only(InputPort,"__class__","input-port");read_only(OutputPort,"__class__","output-port");read_only(BufferedOutputPort,"__class__","output-port");read_only(OutputStringPort,"__class__","output-string-port");read_only(InputStringPort,"__class__","input-string-port");read_only(InputFilePort,"__class__","input-file-port");read_only(OutputFilePort,"__class__","output-file-port");read_only(LipsError,"__class__","lips-error");[LNumber,LComplex,LRational,LFloat,LBigInteger].forEach(function(e){read_only(e,"__class__","number")});read_only(LCharacter,"__class__","character");read_only(LSymbol,"__class__","symbol");read_only(LString,"__class__","string");read_only(QuotedPromise,"__class__","promise");read_only(Parameter,"__class__","parameter");var version="DEV";var date="Sun, 17 Mar 2024 22:45:05 +0000";var parse=compose(uniterate_async,_parse);var lips={version:version,banner:banner,date:date,exec:exec,parse:parse,tokenize:tokenize,evaluate:_evaluate,compile:compile,serialize:serialize,unserialize:unserialize,serialize_bin:serialize_bin,unserialize_bin:unserialize_bin,bootstrap:bootstrap,Environment:Environment,env:user_env,Worker:Worker,Interpreter:Interpreter,balanced_parenthesis:balanced,balancedParenthesis:balanced,balanced:balanced,Macro:Macro,Syntax:Syntax,Pair:Pair,Values:Values,QuotedPromise:QuotedPromise,Error:LipsError,quote:quote,InputPort:InputPort,OutputPort:OutputPort,BufferedOutputPort:BufferedOutputPort,InputFilePort:InputFilePort,OutputFilePort:OutputFilePort,InputStringPort:InputStringPort,OutputStringPort:OutputStringPort,InputByteVectorPort:InputByteVectorPort,OutputByteVectorPort:OutputByteVectorPort,InputBinaryFilePort:InputBinaryFilePort,OutputBinaryFilePort:OutputBinaryFilePort,set_fs:set_fs,Formatter:Formatter,Parser:Parser,Lexer:Lexer,specials:specials,repr:repr,nil:_nil,eof:eof,LSymbol:LSymbol,LNumber:LNumber,LFloat:LFloat,LComplex:LComplex,LRational:LRational,LBigInteger:LBigInteger,LCharacter:LCharacter,LString:LString,Parameter:Parameter,rationalize:rationalize};global_env.set("lips",lips);export{BufferedOutputPort,Environment,LipsError as Error,Formatter,InputBinaryFilePort,InputByteVectorPort,InputFilePort,InputPort,InputStringPort,Interpreter,LBigInteger,LCharacter,LComplex,LFloat,LNumber,LRational,LString,LSymbol,Lexer,Macro,OutputBinaryFilePort,OutputByteVectorPort,OutputFilePort,OutputPort,OutputStringPort,Pair,Parameter,Parser,QuotedPromise,Syntax,Values,Worker,balanced,balanced as balancedParenthesis,balanced as balanced_parenthesis,banner,bootstrap,compile,date,user_env as env,eof,_evaluate as evaluate,exec,_nil as nil,parse,quote,rationalize,repr,serialize,serialize_bin,set_fs,specials,tokenize,unserialize,unserialize_bin,version}; \ No newline at end of file + */Object.defineProperty(lzjbPack,"__esModule",{value:true});const NBBY=8,MATCH_BITS=6,MATCH_MIN=3,MATCH_MAX=(1<t-MATCH_MAX){r[i++]=e[n++];continue}l=(e[n]+13^e[n+1]-13^e[n+2])&LEMPEL_SIZE-1;c=n-f[l]&OFFSET_MASK;f[l]=n;o=n-c;if(o>=0&&o!=n&&e[n]==e[o]&&e[n+1]==e[o+1]&&e[n+2]==e[o+2]){r[a]|=u;for(s=MATCH_MIN;s>NBBY;r[i++]=c;n+=s}else{r[i++]=e[n++]}}console.assert(e.length>=n);return i}function decompress(e,r,t){r=r|0;var n=0,i=0,o=0,a=0,u=1<<(NBBY-1|0),s=0,c=0;while(n>(NBBY-MATCH_BITS|0))+MATCH_MIN|0;c=(e[n]<4){t[i]=t[o];i=i+1|0;o=o+1|0;t[i]=t[o];i=i+1|0;o=o+1|0;t[i]=t[o];i=i+1|0;o=o+1|0;t[i]=t[o];i=i+1|0;o=o+1|0;s=s-4|0}while(s>0){t[i]=t[o];i=i+1|0;o=o+1|0;s=s-1|0}}}else{t[i]=e[n];i=i+1|0;n=n+1|0}}return i}function encode_magic$1(){const e=new TextEncoder("utf-8");return e.encode(MAGIC_STRING)}const MAGIC_STRING="@lzjb";const MAGIC=encode_magic$1();function merge_uint8_array$1(...e){if(e.length>1){const t=e.reduce((e,r)=>e+r.length,0);const n=new Uint8Array(t);let r=0;e.forEach(e=>{n.set(e,r);r+=e.length});return n}else if(e.length){return e[0]}}function number_to_bytes(r){const e=Math.ceil(Math.log2(r)/8);const t=new Uint8Array(e);for(let e=0;e=0;e--){t=t*256+r[e]}return t}function pack(e,{magic:r=true}={}){const t=new Uint8Array(Math.max(e.length*1.5|0,16*1024));const n=compress(e,t);const i=number_to_bytes(e.length);const o=[Uint8Array.of(i.length),i,t.slice(0,n)];if(r){o.unshift(MAGIC)}return merge_uint8_array$1(...o)}function unpack(r,{magic:e=true}={}){if(e){const e=new TextDecoder("utf-8");const s=e.decode(r.slice(0,MAGIC.length));if(s!==MAGIC_STRING){throw new Error("Invalid magic value")}}const t=e?MAGIC.length:0;const n=r[t];const i=t+1;const o=t+n+1;const a=bytes_to_number(r.slice(i,o));r=r.slice(o);const u=new Uint8Array(a);decompress(r,r.length,u);return u}var pack_1=lzjbPack.pack=pack;var unpack_1=lzjbPack.unpack=unpack;function unfetch(s,c){return c=c||{},new Promise(function(e,r){var t=new XMLHttpRequest,n=[],i=[],o={},a=function(){return{ok:2==(t.status/100|0),statusText:t.statusText,status:t.status,url:t.responseURL,text:function(){return Promise.resolve(t.responseText)},json:function(){return Promise.resolve(t.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([t.response]))},clone:a,headers:{keys:function(){return n},entries:function(){return i},get:function(e){return o[e.toLowerCase()]},has:function(e){return e.toLowerCase()in o}}}};for(var u in t.open(c.method||"get",s,!0),t.onload=function(){t.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(e,r,t){n.push(r=r.toLowerCase()),i.push([r,t]),o[r]=o[r]?o[r]+","+t:t}),e(a())},t.onerror=r,t.withCredentials="include"==c.credentials,c.headers)t.setRequestHeader(u,c.headers[u]);t.send(c.body||null)})}var _fold_case_mapping;var _excluded=["token"],_excluded2=["env"],_excluded3=["stderr","stdin","stdout","command_line"],_excluded4=["use_dynamic"],_excluded5=["use_dynamic"],_excluded6=["env","dynamic_env","use_dynamic","error"];function _classPrivateFieldInitSpec(e,r,t){_checkPrivateRedeclaration(e,r);r.set(e,t)}function _checkPrivateRedeclaration(e,r){if(r.has(e)){throw new TypeError("Cannot initialize the same private elements twice on an object")}}function _callSuper(e,r,t){return r=_getPrototypeOf(r),_possibleConstructorReturn(e,_isNativeReflectConstruct()?Reflect.construct(r,t||[],_getPrototypeOf(e).constructor):r.apply(e,t))}function _isNativeReflectConstruct(){try{var r=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(r){}return(_isNativeReflectConstruct=function e(){return!!r})()}function _createForOfIteratorHelper(r,e){var t=typeof Symbol!=="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&typeof r.length==="number"){if(t)r=t;var n=0;var i=function e(){};return{s:i,n:function e(){if(n>=r.length)return{done:true};return{done:false,value:r[n++]}},e:function e(r){throw r},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o=true,a=false,u;return{s:function e(){t=t.call(r)},n:function e(){var r=t.next();o=r.done;return r},e:function e(r){a=true;u=r},f:function e(){try{if(!o&&t["return"]!=null)t["return"]()}finally{if(a)throw u}}}}function _unsupportedIterableToArray(e,r){if(!e)return;if(typeof e==="string")return _arrayLikeToArray(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor)t=e.constructor.name;if(t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return _arrayLikeToArray(e,r)}function _arrayLikeToArray(e,r){if(r==null||r>e.length)r=e.length;for(var t=0,n=new Array(r);t1?t-1:0),i=1;i0&&arguments[0]!==undefined?arguments[0]:null;var r=user_env&&user_env.get("DEBUG",{throwError:false});if(e===null){return r===true}return(r===null||r===void 0?void 0:r.valueOf())===e.valueOf()}function num_mnemicic_re(e){return e?"(?:#".concat(e,"(?:#[ie])?|#[ie]#").concat(e,")"):"(?:#[ie])?"}function gen_rational_re(e,r){return"".concat(num_mnemicic_re(e),"[+-]?").concat(r,"+/").concat(r,"+")}function gen_complex_re(e,r){return"".concat(num_mnemicic_re(e),"(?:[+-]?(?:").concat(r,"+/").concat(r,"+|nan.0|inf.0|").concat(r,"+))?(?:[+-]i|[+-]?(?:").concat(r,"+/").concat(r,"+|").concat(r,"+|nan.0|inf.0)i)(?=[()[\\]\\s]|$)")}function gen_integer_re(e,r){return"".concat(num_mnemicic_re(e),"[+-]?").concat(r,"+")}var re_re=/^#\/((?:\\\/|[^/]|\[[^\]]*\/[^\]]*\])+)\/([gimyus]*)$/;var float_stre="(?:[-+]?(?:[0-9]+(?:[eE][-+]?[0-9]+)|(?:\\.[0-9]+|[0-9]+\\.[0-9]+)(?:[eE][-+]?[0-9]+)?)|[0-9]+\\.)";var complex_float_stre="(?:#[ie])?(?:[+-]?(?:[0-9][0-9_]*/[0-9][0-9_]*|nan.0|inf.0|".concat(float_stre,"|[+-]?[0-9]+))?(?:").concat(float_stre,"|[+-](?:[0-9]+/[0-9]+|[0-9]+|nan.0|inf.0))i");var float_re=new RegExp("^(#[ie])?".concat(float_stre,"$"),"i");function make_complex_match_re(e,r){var t=e==="x"?"(?!\\+|".concat(r,")"):"(?!\\.|".concat(r,")");var n="";if(e===""){n="(?:[-+]?(?:[0-9]+(?:[eE][-+]?[0-9]+)|(?:\\.[0-9]+|[0-9]+\\.[0-9]+(?![0-9]))(?:[eE][-+]?[0-9]+)?))"}return new RegExp("^((?:(?:".concat(n,"|[-+]?inf.0|[-+]?nan.0|[+-]?").concat(r,"+/").concat(r,"+(?!").concat(r,")|[+-]?").concat(r,"+)").concat(t,")?)(").concat(n,"|[-+]?inf.0|[-+]?nan.0|[+-]?").concat(r,"+/").concat(r,"+|[+-]?").concat(r,"+|[+-])i$"),"i")}var complex_list_re=function(){var o={};[[10,"","[0-9]"],[16,"x","[0-9a-fA-F]"],[8,"o","[0-7]"],[2,"b","[01]"]].forEach(function(e){var r=_slicedToArray(e,3),t=r[0],n=r[1],i=r[2];o[t]=make_complex_match_re(n,i)});return o}();var characters={alarm:"",backspace:"\b",delete:"",escape:"",newline:"\n",null:"\0",return:"\r",space:" ",tab:"\t",dle:"",soh:"",dc1:"",stx:"",dc2:"",etx:"",dc3:"",eot:"",dc4:"",enq:"",nak:"",ack:"",syn:"",bel:"",etb:"",bs:"\b",can:"",ht:"\t",em:"",lf:"\n",sub:"",vt:"\v",esc:"",ff:"\f",fs:"",cr:"\r",gs:"",so:"",rs:"",si:"",us:"",del:""};function ucs2decode(e){var r=[];var t=0;var n=e.length;while(t=55296&&i<=56319&&t1&&arguments[1]!==undefined?arguments[1]:10;var t=num_pre_parse(e);var n=t.number.split("/");var i=LRational({num:LNumber([n[0],t.radix||r]),denom:LNumber([n[1],t.radix||r])});if(t.inexact){return i.valueOf()}else{return i}}function parse_integer(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:10;var t=num_pre_parse(e);if(t.inexact){return LFloat(parseInt(t.number,t.radix||r))}return LNumber([t.number,t.radix||r])}function parse_character(e){var r=e.match(/#\\x([0-9a-f]+)$/i);var t;if(r){var n=parseInt(r[1],16);t=String.fromCodePoint(n)}else{r=e.match(/#\\([\s\S]+)$/);if(r){t=r[1]}}if(t){return LCharacter(t)}throw new Error("Parse: invalid character")}function parse_complex(e){var i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:10;function r(e){var r;if(e==="+"){r=LNumber(1)}else if(e==="-"){r=LNumber(-1)}else if(e.match(int_bare_re)){r=LNumber([e,i])}else if(e.match(rational_bare_re)){var t=e.split("/");r=LRational({num:LNumber([t[0],i]),denom:LNumber([t[1],i])})}else if(e.match(float_re)){var n=parse_float(e);if(o.exact){return n.toRational()}return n}else if(e.match(/nan.0$/)){return LNumber(NaN)}else if(e.match(/inf.0$/)){if(e[0]==="-"){return LNumber(Number.NEGATIVE_INFINITY)}return LNumber(Number.POSITIVE_INFINITY)}else{throw new Error("Internal Parser Error")}if(o.inexact){return LFloat(r.valueOf())}return r}var o=num_pre_parse(e);i=o.radix||i;var t;var n=o.number.match(complex_bare_match_re);if(i!==10&&n){t=n}else{t=o.number.match(complex_list_re[i])}var a,u;u=r(t[2]);if(t[1]){a=r(t[1])}else if(u instanceof LFloat){a=LFloat(0)}else{a=LNumber(0)}if(u.cmp(0)===0&&u.__type__==="bigint"){return a}return LComplex({im:u,re:a})}function is_int(e){return parseInt(e.toString(),10)===e}function parse_big_int(e){var r=e.match(/^(([-+]?[0-9]*)(?:\.([0-9]+))?)e([-+]?[0-9]+)/i);if(r){var t=parseInt(r[4],10);var n;var i=r[1].replace(/[-+]?([0-9]*)\..+$/,"$1").length;var o=r[3]&&r[3].length;if(i0&&(r.exact||!r.number.match(/\./))){return LNumber(o).mul(u)}}}t=LFloat(t);if(r.exact){return t.toRational()}return t}function parse_string(e){e=e.replace(/\\x([0-9a-f]+);/gi,function(e,r){return"\\u"+r.padStart(4,"0")}).replace(/\n/g,"\\n");var r=e.match(/(\\*)(\\x[0-9A-F])/i);if(r&&r[1].length%2===0){throw new Error("Invalid string literal, unclosed ".concat(r[2]))}try{var t=LString(JSON.parse(e));t.freeze();return t}catch(e){var n=e.message.replace(/in JSON /,"").replace(/.*Error: /,"");throw new Error("Invalid string literal: ".concat(n))}}function parse_symbol(e){if(e.match(/^\|.*\|$/)){e=e.replace(/(^\|)|(\|$)/g,"");var t={t:"\t",r:"\r",n:"\n"};e=e.replace(/\\(x[^;]+);/g,function(e,r){return String.fromCharCode(parseInt("0"+r,16))}).replace(/\\(.)/g,function(e,r){return t[r]||r})}return new LSymbol(e)}function parse_argument(e){if(constants.hasOwnProperty(e)){return constants[e]}if(e.match(/^"[\s\S]*"$/)){return parse_string(e)}else if(e[0]==="#"){var r=e.match(re_re);if(r){return new RegExp(r[1],r[2])}else if(e.match(char_re)){return parse_character(e)}var t=e.match(/#\\(.+)/);if(t&&ucs2decode(t[1]).length===1){return parse_character(e)}}if(e.match(/[0-9a-f]|[+-]i/i)){if(e.match(int_re)){return parse_integer(e)}else if(e.match(float_re)){return parse_float(e)}else if(e.match(rational_re)){return parse_rational(e)}else if(e.match(complex_re)){return parse_complex(e)}}if(e.match(/^#[iexobd]/)){throw new Error("Invalid numeric constant: "+e)}return parse_symbol(e)}function is_atom_string(e){return!(["(",")","[","]"].includes(e)||specials.names().includes(e))}function is_symbol_string(e){return is_atom_string(e)&&!(e.match(re_re)||e.match(/^"[\s\S]*"$/)||e.match(int_re)||e.match(float_re)||e.match(complex_re)||e.match(rational_re)||e.match(char_re)||["#t","#f","nil"].includes(e))}var string_re=/"(?:\\[\S\s]|[^"])*"?/g;function escape_regex(e){if(typeof e==="string"){var r=/([-\\^$[\]()+{}?*.|])/g;return e.replace(r,"\\$1")}return e}function Stack(){this.data=[]}Stack.prototype.push=function(e){this.data.push(e)};Stack.prototype.top=function(){return this.data[this.data.length-1]};Stack.prototype.pop=function(){return this.data.pop()};Stack.prototype.is_empty=function(){return!this.data.length};function tokens(e){if(e instanceof LString){e=e.valueOf()}var r=new Lexer(e,{whitespace:true});var t=[];while(true){var n=r.peek(true);if(n===eof){break}t.push(n);r.skip()}return t}function multiline_formatter(e){var r=e.token,t=_objectWithoutProperties(e,_excluded);if(r.match(/^"[\s\S]*"$/)&&r.match(/\n/)){var n=new RegExp("^ {1,"+(e.col+1)+"}","mg");r=r.replace(n,"")}return _objectSpread({token:r},t)}function Thunk(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(){};this.fn=e;this.cont=r}Thunk.prototype.toString=function(){return"#"};function trampoline(n){return function(){for(var e=arguments.length,r=new Array(e),t=0;t1&&arguments[1]!==undefined?arguments[1]:false;if(e instanceof LString){e=e.toString()}if(r){return tokens(e)}else{var t=tokens(e).map(function(e){if(e.token==="#\\ "||e.token=="#\\\n"){return e.token}return e.token.trim()}).filter(function(e){return e&&!e.match(/^;/)&&!e.match(/^#\|[\s\S]*\|#$/)});return strip_s_comments(t)}}function strip_s_comments(e){var r=0;var t=null;var n=[];for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:null;if(e instanceof LSymbol){if(e.is_gensym()){return e}e=e.valueOf()}if(is_gensym(e)){return LSymbol(e)}if(e!==null){return t(e,Symbol("#:".concat(e)))}r++;return t(r,Symbol("#:g".concat(r)))}}();function QuotedPromise(e){var t=this;var n={pending:true,rejected:false,fulfilled:false,reason:undefined,type:undefined};e=e.then(function(e){n.type=type(e);n.fulfilled=true;n.pending=false;return e});read_only(this,"_promise",e,{hidden:true});if(is_function(e["catch"])){e=e["catch"](function(e){n.rejected=true;n.pending=false;n.reason=e})}Object.keys(n).forEach(function(r){Object.defineProperty(t,"__".concat(r,"__"),{enumerable:true,get:function e(){return n[r]}})});read_only(this,"__promise__",e);this.then=false}QuotedPromise.prototype.then=function(e){return new QuotedPromise(this.valueOf().then(e))};QuotedPromise.prototype["catch"]=function(e){return new QuotedPromise(this.valueOf()["catch"](e))};QuotedPromise.prototype.valueOf=function(){if(!this._promise){throw new Error("QuotedPromise: invalid promise created")}return this._promise};QuotedPromise.prototype.toString=function(){if(this.__pending__){return QuotedPromise.pending_str}if(this.__rejected__){return QuotedPromise.rejected_str}return"#")};QuotedPromise.pending_str="#";QuotedPromise.rejected_str="#";function promise_all(e){if(Array.isArray(e)){return Promise.all(escape_quoted_promises(e)).then(unescape_quoted_promises)}return e}function escape_quoted_promises(e){var r=new Array(e.length),t=e.length;while(t--){var n=e[t];if(n instanceof QuotedPromise){r[t]=new Value(n)}else{r[t]=n}}return r}function unescape_quoted_promises(e){var r=new Array(e.length),t=e.length;while(t--){var n=e[t];if(n instanceof Value){r[t]=n.valueOf()}else{r[t]=n}}return r}var specials={LITERAL:Symbol["for"]("literal"),SPLICE:Symbol["for"]("splice"),SYMBOL:Symbol["for"]("symbol"),names:function e(){return Object.keys(this.__list__)},type:function e(r){try{return this.get(r).type}catch(e){console.log({name:r});console.log(e);return null}},get:function e(r){return this.__list__[r]},off:function e(r){var t=this;var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;if(Array.isArray(r)){r.forEach(function(e){return t.off(e,n)})}else if(n===null){delete this.__events__[r]}else{this.__events__=this.__events__.filter(function(e){return e!==n})}},on:function e(r,t){var n=this;if(Array.isArray(r)){r.forEach(function(e){return n.on(e,t)})}else if(!this.__events__[r]){this.__events__[r]=[t]}else{this.__events__[r].push(t)}},trigger:function e(r){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i",new LSymbol("quote-promise"),specials.LITERAL]];var builtins=defined_specials.map(function(e){return e[0]});Object.freeze(builtins);Object.defineProperty(specials,"__builtins__",{writable:false,value:builtins});defined_specials.forEach(function(e){var r=_slicedToArray(e,3),t=r[0],n=r[1],i=r[2];specials.append(t,n,i)});var Lexer=function(){function p(e){var r=this;var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},n=t.whitespace,i=n===void 0?false:n;_classCallCheck(this,p);read_only(this,"__input__",e.replace(/\r/g,""));var o={};["_i","_whitespace","_col","_newline","_line","_state","_next","_token","_prev_char"].forEach(function(t){Object.defineProperty(r,t,{configurable:false,enumerable:false,get:function e(){return o[t]},set:function e(r){o[t]=r}})});this._whitespace=i;this._i=this._line=this._col=this._newline=0;this._state=this._next=this._token=null;this._prev_char=""}_createClass(p,[{key:"get",value:function e(r){return this.__internal[r]}},{key:"set",value:function e(r,t){this.__internal[r]=t}},{key:"token",value:function e(){var r=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(r){var t=this._line;if(this._whitespace&&this._token==="\n"){--t}return{token:this._token,col:this._col,offset:this._i,line:t}}return this._token}},{key:"peek",value:function e(){var r=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(this._i>=this.__input__.length){return eof}if(this._token){return this.token(r)}var t=this.next_token();if(t){this._token=this.__input__.substring(this._i,this._next);return this.token(r)}return eof}},{key:"skip",value:function e(){if(this._next!==null){this._token=null;this._i=this._next}}},{key:"read_line",value:function e(){var r=this.__input__.length;if(this._i>=r){return eof}for(var t=this._i;t=t){return eof}if(r+this._i>=t){return this.read_rest()}var n=this._i+r;var i=this.__input__.substring(this._i,n);var o=i.match(/\n/g);if(o){this._line+=o.length}this._i=n;return i}},{key:"peek_char",value:function e(){if(this._i>=this.__input__.length){return eof}return LCharacter(this.__input__[this._i])}},{key:"read_char",value:function e(){var r=this.peek_char();this.skip_char();return r}},{key:"skip_char",value:function e(){if(this._i1&&arguments[1]!==undefined?arguments[1]:{},n=t.prev_char,i=t["char"],o=t.next_char;var a=_slicedToArray(r,4),u=a[0],s=a[1],c=a[2],l=a[3];if(r.length!==5){throw new Error("Lexer: Invalid rule of length ".concat(r.length))}if(is_string(u)){if(u!==i){return false}}else if(!i.match(u)){return false}if(!match_or_null(s,n)){return false}if(!match_or_null(c,o)){return false}if(l!==this._state){return false}return true}},{key:"next_token",value:function e(){if(this._i>=this.__input__.length){return false}var r=true;e:for(var t=this._i,n=this.__input__.length;t2&&arguments[2]!==undefined?arguments[2]:null;var i=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;if(r.length===0){throw new Error("Lexer: invalid literal rule")}if(r.length===1){return[[r,n,i,null,null]]}var o=[];for(var a=0,u=r.length;a1&&arguments[1]!==undefined?arguments[1]:{},t=r.env,n=r.meta,i=n===void 0?false:n,o=r.formatter,a=o===void 0?multiline_formatter:o;_classCallCheck(this,u);if(e instanceof LString){e=e.toString()}read_only(this,"_formatter",a,{hidden:true});read_only(this,"__lexer__",new Lexer(e));read_only(this,"__env__",t);read_only(this,"_meta",i,{hidden:true});read_only(this,"_refs",[],{hidden:true});read_only(this,"_state",{parentheses:0},{hidden:true})}_createClass(u,[{key:"resolve",value:function e(r){return this.__env__&&this.__env__.get(r,{throwError:false})}},{key:"peek",value:function(){var e=_asyncToGenerator(_regeneratorRuntime.mark(function e(){var t;return _regeneratorRuntime.wrap(function e(r){while(1)switch(r.prev=r.next){case 0:t=this.__lexer__.peek(true);if(!(t===eof)){r.next=4;break}return r.abrupt("return",eof);case 4:if(!this.is_comment(t.token)){r.next=7;break}this.skip();return r.abrupt("continue",0);case 7:if(!(t.token==="#;")){r.next=14;break}this.skip();if(!(this.__lexer__.peek()===eof)){r.next=11;break}throw new Error("Lexer: syntax error eof found after comment");case 11:r.next=13;return this._read_object();case 13:return r.abrupt("continue",0);case 14:return r.abrupt("break",17);case 17:t=this._formatter(t);if(!this._meta){r.next=20;break}return r.abrupt("return",t);case 20:return r.abrupt("return",t.token);case 21:case"end":return r.stop()}},e,this)}));function r(){return e.apply(this,arguments)}return r}()},{key:"reset",value:function e(){this._refs.length=0}},{key:"skip",value:function e(){this.__lexer__.skip()}},{key:"read",value:function(){var e=_asyncToGenerator(_regeneratorRuntime.mark(function e(){var t;return _regeneratorRuntime.wrap(function e(r){while(1)switch(r.prev=r.next){case 0:r.next=2;return this.peek();case 2:t=r.sent;this.skip();return r.abrupt("return",t);case 5:case"end":return r.stop()}},e,this)}));function r(){return e.apply(this,arguments)}return r}()},{key:"match_datum_label",value:function e(r){var t=r.match(/^#([0-9]+)=$/);return t&&t[1]}},{key:"match_datum_ref",value:function e(r){var t=r.match(/^#([0-9]+)#$/);return t&&t[1]}},{key:"is_open",value:function e(r){var t=["(","["].includes(r);if(t){this._state.parentheses++}return t}},{key:"is_close",value:function e(r){var t=[")","]"].includes(r);if(t){this._state.parentheses--}return t}},{key:"read_list",value:function(){var e=_asyncToGenerator(_regeneratorRuntime.mark(function e(){var t,n,i,o,a;return _regeneratorRuntime.wrap(function e(r){while(1)switch(r.prev=r.next){case 0:t=_nil,n=t;case 1:r.next=4;return this.peek();case 4:o=r.sent;if(!(o===eof)){r.next=7;break}return r.abrupt("break",32);case 7:if(!this.is_close(o)){r.next=10;break}this.skip();return r.abrupt("break",32);case 10:if(!(o==="."&&!is_nil(t))){r.next=18;break}this.skip();r.next=14;return this._read_object();case 14:n.cdr=r.sent;i=true;r.next=30;break;case 18:if(!i){r.next=22;break}throw new Error("Parser: syntax error more than one element after dot");case 22:r.t0=Pair;r.next=25;return this._read_object();case 25:r.t1=r.sent;r.t2=_nil;a=new r.t0(r.t1,r.t2);if(is_nil(t)){t=a}else{n.cdr=a}n=a;case 30:r.next=1;break;case 32:return r.abrupt("return",t);case 33:case"end":return r.stop()}},e,this)}));function r(){return e.apply(this,arguments)}return r}()},{key:"read_value",value:function(){var e=_asyncToGenerator(_regeneratorRuntime.mark(function e(){var t;return _regeneratorRuntime.wrap(function e(r){while(1)switch(r.prev=r.next){case 0:r.next=2;return this.read();case 2:t=r.sent;if(!(t===eof)){r.next=5;break}throw new Error("Parser: Expected token eof found");case 5:return r.abrupt("return",parse_argument(t));case 6:case"end":return r.stop()}},e,this)}));function r(){return e.apply(this,arguments)}return r}()},{key:"is_comment",value:function e(r){return r.match(/^;/)||r.match(/^#\|/)&&r.match(/\|#$/)}},{key:"evaluate",value:function e(r){return _evaluate(r,{env:this.__env__,error:function e(r){throw r}})}},{key:"read_object",value:function(){var e=_asyncToGenerator(_regeneratorRuntime.mark(function e(){var t;return _regeneratorRuntime.wrap(function e(r){while(1)switch(r.prev=r.next){case 0:this.reset();r.next=3;return this._read_object();case 3:t=r.sent;if(t instanceof DatumReference){t=t.valueOf()}if(!this._refs.length){r.next=7;break}return r.abrupt("return",unpromise(this._resolve_object(t),function(e){if(is_pair(e)){e.mark_cycles()}return e}));case 7:return r.abrupt("return",t);case 8:case"end":return r.stop()}},e,this)}));function r(){return e.apply(this,arguments)}return r}()},{key:"balanced",value:function e(){return this._state.parentheses===0}},{key:"ballancing_error",value:function e(r,t){var n=this._state.parentheses;var i;if(n<0){i=new Error("Parser: unexpected parenthesis");i.__code__=[t.toString()+")"]}else{i=new Error("Parser: expected parenthesis but eof found");var o=new RegExp("\\){".concat(n,"}$"));i.__code__=[r.toString().replace(o,"")]}throw i}},{key:"_resolve_object",value:function(){var r=_asyncToGenerator(_regeneratorRuntime.mark(function e(t){var n=this;var i;return _regeneratorRuntime.wrap(function e(r){while(1)switch(r.prev=r.next){case 0:if(!Array.isArray(t)){r.next=2;break}return r.abrupt("return",t.map(function(e){return n._resolve_object(e)}));case 2:if(!is_plain_object(t)){r.next=6;break}i={};Object.keys(t).forEach(function(e){i[e]=n._resolve_object(t[e])});return r.abrupt("return",i);case 6:if(!is_pair(t)){r.next=8;break}return r.abrupt("return",this._resolve_pair(t));case 8:return r.abrupt("return",t);case 9:case"end":return r.stop()}},e,this)}));function e(e){return r.apply(this,arguments)}return e}()},{key:"_resolve_pair",value:function(){var r=_asyncToGenerator(_regeneratorRuntime.mark(function e(t){return _regeneratorRuntime.wrap(function e(r){while(1)switch(r.prev=r.next){case 0:if(!is_pair(t)){r.next=15;break}if(!(t.car instanceof DatumReference)){r.next=7;break}r.next=4;return t.car.valueOf();case 4:t.car=r.sent;r.next=8;break;case 7:this._resolve_pair(t.car);case 8:if(!(t.cdr instanceof DatumReference)){r.next=14;break}r.next=11;return t.cdr.valueOf();case 11:t.cdr=r.sent;r.next=15;break;case 14:this._resolve_pair(t.cdr);case 15:return r.abrupt("return",t);case 16:case"end":return r.stop()}},e,this)}));function e(e){return r.apply(this,arguments)}return e}()},{key:"_read_object",value:function(){var e=_asyncToGenerator(_regeneratorRuntime.mark(function e(){var t,n,i,o,a,u,s,c,l,f,_;return _regeneratorRuntime.wrap(function e(r){while(1)switch(r.prev=r.next){case 0:r.next=2;return this.peek();case 2:t=r.sent;if(!(t===eof)){r.next=5;break}return r.abrupt("return",t);case 5:if(!is_special(t)){r.next=38;break}n=specials.get(t);i=is_builtin(t);this.skip();a=is_symbol_extension(t);if(!a){r.next=14;break}r.t0=undefined;r.next=17;break;case 14:r.next=16;return this._read_object();case 16:r.t0=r.sent;case 17:u=r.t0;if(i){r.next=25;break}s=this.__env__.get(n.symbol);if(!(typeof s==="function")){r.next=25;break}if(is_literal(t)){c=[u]}else if(is_nil(u)){c=[]}else if(is_pair(u)){c=u.to_array(false)}if(!(c||a)){r.next=24;break}return r.abrupt("return",call_function(s,a?[]:c,{env:this.__env__,dynamic_env:this.__env__,use_dynamic:false}));case 24:throw new Error("Parse Error: Invalid parser extension "+"invocation ".concat(n.symbol));case 25:if(is_literal(t)){o=new Pair(n.symbol,new Pair(u,_nil))}else{o=new Pair(n.symbol,u)}if(!i){r.next=28;break}return r.abrupt("return",o);case 28:if(!(s instanceof Macro)){r.next=37;break}r.next=31;return this.evaluate(o);case 31:l=r.sent;if(!(is_pair(l)||l instanceof LSymbol)){r.next=34;break}return r.abrupt("return",Pair.fromArray([LSymbol("quote"),l]));case 34:return r.abrupt("return",l);case 37:throw new Error("Parse Error: invalid parser extension: "+n.symbol);case 38:f=this.match_datum_ref(t);if(!(f!==null)){r.next=44;break}this.skip();if(!this._refs[f]){r.next=43;break}return r.abrupt("return",new DatumReference(f,this._refs[f]));case 43:throw new Error("Parse Error: invalid datum label #".concat(f,"#"));case 44:_=this.match_datum_label(t);if(!(_!==null)){r.next=51;break}this.skip();this._refs[_]=this._read_object();return r.abrupt("return",this._refs[_]);case 51:if(!this.is_close(t)){r.next=55;break}this.skip();r.next=61;break;case 55:if(!this.is_open(t)){r.next=60;break}this.skip();return r.abrupt("return",this.read_list());case 60:return r.abrupt("return",this.read_value());case 61:case"end":return r.stop()}},e,this)}));function r(){return e.apply(this,arguments)}return r}()}]);return u}();var DatumReference=function(){function t(e,r){_classCallCheck(this,t);this.name=e;this.data=r}_createClass(t,[{key:"valueOf",value:function e(){return this.data}}]);return t}();function _parse(e,r){return _parse2.apply(this,arguments)}function _parse2(){_parse2=_wrapAsyncGenerator(_regeneratorRuntime.mark(function e(t,n){var i,o,a;return _regeneratorRuntime.wrap(function e(r){while(1)switch(r.prev=r.next){case 0:if(!n){if(global_env){n=global_env.get("**interaction-environment**",{throwError:false})}else{n=user_env}}i=new Parser(t,{env:n});case 3:r.next=6;return _awaitAsyncGenerator(i.read_object());case 6:a=r.sent;if(!i.balanced()){i.ballancing_error(a,o)}if(!(a===eof)){r.next=10;break}return r.abrupt("break",15);case 10:o=a;r.next=13;return a;case 13:r.next=3;break;case 15:case"end":return r.stop()}},e)}));return _parse2.apply(this,arguments)}function unpromise(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(e){return e};var t=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;if(is_promise(e)){var n=e.then(r);if(t===null){return n}else{return n["catch"](t)}}if(e instanceof Array){return unpromise_array(e,r,t)}if(is_plain_object(e)){return unpromise_object(e,r,t)}return r(e)}function unpromise_array(r,t,e){if(r.find(is_promise)){return unpromise(promise_all(r),function(e){if(Object.isFrozen(r)){Object.freeze(e)}return t(e)},e)}return t(r)}function unpromise_object(r,e,t){var i=Object.keys(r);var n=[],o=[];var a=i.length;while(a--){var u=i[a];var s=r[u];n[a]=s;if(is_promise(s)){o.push(s)}}if(o.length){return unpromise(promise_all(n),function(e){var n={};e.forEach(function(e,r){var t=i[r];n[t]=e});if(Object.isFrozen(r)){Object.freeze(n)}return n},t)}return e(r)}function read_only(e,r,t){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{},i=n.hidden,o=i===void 0?false:i;Object.defineProperty(e,r,{value:t,configurable:true,enumerable:!o})}function uniterate_async(e){return _uniterate_async.apply(this,arguments)}function _uniterate_async(){_uniterate_async=_asyncToGenerator(_regeneratorRuntime.mark(function e(t){var n,i,o,a,u,s,c;return _regeneratorRuntime.wrap(function e(r){while(1)switch(r.prev=r.next){case 0:n=[];i=false;o=false;r.prev=3;u=_asyncIterator(t);case 5:r.next=7;return u.next();case 7:if(!(i=!(s=r.sent).done)){r.next=13;break}c=s.value;n.push(c);case 10:i=false;r.next=5;break;case 13:r.next=19;break;case 15:r.prev=15;r.t0=r["catch"](3);o=true;a=r.t0;case 19:r.prev=19;r.prev=20;if(!(i&&u["return"]!=null)){r.next=24;break}r.next=24;return u["return"]();case 24:r.prev=24;if(!o){r.next=27;break}throw a;case 27:return r.finish(24);case 28:return r.finish(19);case 29:return r.abrupt("return",n);case 30:case"end":return r.stop()}},e,null,[[3,15,19,29],[20,,24,28]])}));return _uniterate_async.apply(this,arguments)}function matcher(e,r){if(r instanceof RegExp){return function(e){return String(e).match(r)}}else if(is_function(r)){return r}throw new Error("Invalid matcher")}function doc(e,r,t,n){if(typeof e!=="string"){r=arguments[0];t=arguments[1];n=arguments[2];e=null}if(t){if(n){r.__doc__=t}else{r.__doc__=trim_lines(t)}}if(e){r.__name__=e}else if(r.name&&!is_lambda(r)){r.__name__=r.name}return r}function trim_lines(e){return e.split("\n").map(function(e){return e.trim()}).join("\n")}function previousSexp(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;var t=e.length;if(r<=0){throw Error("previousSexp: Invalid argument sexp = ".concat(r))}e:while(r--&&t>=0){var n=1;while(n>0){var i=e[--t];if(!i){break e}if(i==="("||i.token==="("){n--}else if(i===")"||i.token===")"){n++}}t--}return e.slice(t+1)}function lineIndent(e){if(!e||!e.length){return 0}var r=e.length;if(e[r-1].token==="\n"){return 0}while(--r){if(e[r].token==="\n"){var t=(e[r+1]||{}).token;if(t){return t.length}}}return 0}function match(e,r){return l(e,r)===r.length;function l(t,n){function e(e,r){var t=_createForOfIteratorHelper(e),n;try{for(t.s();!(n=t.n()).done;){var i=n.value;var o=l(i,r);if(o!==-1){return o}}}catch(e){t.e(e)}finally{t.f()}return-1}function r(){return t[o]===Symbol["for"]("symbol")&&!is_symbol_string(n[u])}function i(){var e=t[o+1];var r=n[u+1];if(e!==undefined&&r!==undefined){return l([e],[r])}}var o=0;var a={};for(var u=0;u0){continue}}else if(r()){return-1}}else if(t[o]instanceof Array){var c=l(t[o],n.slice(u));if(c===-1||c+u>n.length){return-1}u+=c-1;o++;continue}else{return-1}o++}if(t.length!==o){return-1}return n.length}}function Formatter(e){this.__code__=e.replace(/\r/g,"")}Formatter.defaults={offset:0,indent:2,exceptions:{specials:[/^(?:#:)?(?:define(?:-values|-syntax|-macro|-class|-record-type)?|(?:call-with-(?:input-file|output-file|port))|lambda|let-env|try|catch|when|unless|while|syntax-rules|(let|letrec)(-syntax|\*?-values|\*)?)$/],shift:{1:["&","#"]}}};Formatter.match=match;Formatter.prototype._options=function e(r){var t=Formatter.defaults;if(typeof r==="undefined"){return Object.assign({},t)}var n=r&&r.exceptions||{};var i=n.specials||[];var o=n.shift||{1:[]};return _objectSpread(_objectSpread(_objectSpread({},t),r),{},{exceptions:{specials:[].concat(_toConsumableArray(t.exceptions.specials),_toConsumableArray(i)),shift:_objectSpread(_objectSpread({},o),{},{1:[].concat(_toConsumableArray(t.exceptions.shift[1]),_toConsumableArray(o[1]))})}})};Formatter.prototype.indent=function e(r){var t=tokenize(this.__code__,true);return this._indent(t,r)};Formatter.exception_shift=function(o,e){function r(e){if(!e.length){return false}if(e.indexOf(o)!==-1){return true}else{var r=e.filter(function(e){return e instanceof RegExp});if(!r.length){return false}var t=_createForOfIteratorHelper(r),n;try{for(t.s();!(n=t.n()).done;){var i=n.value;if(o.match(i)){return true}}}catch(e){t.e(e)}finally{t.f()}}return false}if(r(e.exceptions.specials)){return e.indent}var t=e.exceptions.shift;for(var n=0,i=Object.entries(t);n0){n.offset=0}if(o.toString()===r.toString()&&balanced(o)){return n.offset+o[0].col}else if(o.length===1){return n.offset+o[0].col+1}else{var s=-1;if(a){var c=Formatter.exception_shift(a.token,n);if(c!==-1){s=c}}if(s===-1){s=Formatter.exception_shift(o[1].token,n)}if(s!==-1){return n.offset+o[0].col+s}else if(o[0].line3&&o[1].line===o[3].line){if(o[1].token==="("||o[1].token==="["){return n.offset+o[1].col}return n.offset+o[3].col}else if(o[0].line===o[1].line){return n.offset+n.indent+o[0].col}else{var l=o.slice(2);for(var f=0;f")};Ahead.prototype.match=function(e){return e.match(this.pattern)};function Pattern(){for(var e=arguments.length,r=new Array(e),t=0;t")};Formatter.Pattern=Pattern;Formatter.Ahead=Ahead;var p_o=/^[[(]$/;var p_e=/^[\])]$/;var not_p=/[^()[\]]/;var not_close=new Ahead(/[^)\]]/);var glob=Symbol["for"]("*");var sexp_or_atom=new Pattern([p_o,glob,p_e],[not_p],"+");var sexp=new Pattern([p_o,glob,p_e],"+");var symbol=new Pattern([Symbol["for"]("symbol")],"?");var symbols=new Pattern([Symbol["for"]("symbol")],"*");var identifiers=[p_o,symbols,p_e];var let_value=new Pattern([p_o,Symbol["for"]("symbol"),glob,p_e],"+");var syntax_rules=keywords_re("syntax-rules");var def_lambda_re=keywords_re("define","lambda","define-macro","syntax-rules");var non_def=/^(?!.*\b(?:[()[\]]|define(?:-macro)?|let(?:\*|rec|-env|-syntax|)?|lambda|syntax-rules)\b).*$/;var let_re=/^(?:#:)?(let(?:\*|rec|-env|-syntax)?)$/;function keywords_re(){for(var e=arguments.length,r=new Array(e),t=0;t0&&!u[e]){u[e]=previousSexp(a,e)}});var s=_createForOfIteratorHelper(i),c;try{for(s.s();!(c=s.n()).done;){var l=_slicedToArray(c.value,3),f=l[0],_=l[1],p=l[2];_=_.valueOf();var d=_>0?u[_]:a;var y=d.filter(function(e){return e.trim()&&!is_special(e)});var h=t(d);var m=match(f,y);var v=n.slice(o).find(function(e){return e.trim()&&!is_special(e)});if(m&&(p instanceof Ahead&&p.match(v)||!p)){var g=o-h;if(n[g]!=="\n"){if(!n[g].trim()){n[g]="\n"}else{n.splice(g,0,"\n");o++}}o+=h;continue e}}}catch(e){s.e(e)}finally{s.f()}}this.__code__=n.join("");return this};Formatter.prototype._spaces=function(e){return" ".repeat(e)};Formatter.prototype.format=function e(r){var t=this.__code__.replace(/[ \t]*\n[ \t]*/g,"\n ");var n=tokenize(t,true);var i=this._options(r);var o=0;var a=0;for(var u=0;u0){n=Math.floor(r()*t);t--;var i=[e[n],e[t]];e[t]=i[0];e[n]=i[1]}return e}function Nil(){}Nil.prototype.toString=function(){return"()"};Nil.prototype.valueOf=function(){return undefined};Nil.prototype.serialize=function(){return 0};Nil.prototype.to_object=function(){return{}};Nil.prototype.append=function(e){return new Pair(e,_nil)};Nil.prototype.to_array=function(){return[]};var _nil=new Nil;function Pair(e,r){if(typeof this!=="undefined"&&this.constructor!==Pair||typeof this==="undefined"){return new Pair(e,r)}this.car=e;this.cdr=r}function to_array(o,a){return function e(r){typecheck(o,r,["pair","nil"]);if(is_nil(r)){return[]}var t=[];var n=r;while(true){if(is_pair(n)){if(n.have_cycles("cdr")){break}var i=n.car;if(a&&is_pair(i)){i=this.get(o).call(this,i)}t.push(i);n=n.cdr}else if(is_nil(n)){break}else{throw new Error("".concat(o,": can't convert improper list"))}}return t}}Pair.prototype.flatten=function(){return Pair.fromArray(flatten(this.to_array()))};Pair.prototype.length=function(){var e=0;var r=this;while(true){if(!r||is_nil(r)||!is_pair(r)||r.have_cycles("cdr")){break}e++;r=r.cdr}return e};Pair.match=function(e,r){if(e instanceof LSymbol){return LSymbol.is(e,r)}else if(is_pair(e)){return Pair.match(e.car,r)||Pair.match(e.cdr,r)}else if(Array.isArray(e)){return e.some(function(e){return Pair.match(e,r)})}else if(is_plain_object(e)){return Object.values(e).some(function(e){return Pair.match(e,r)})}return false};Pair.prototype.find=function(e){return Pair.match(this,e)};Pair.prototype.clone=function(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;var n=new Map;function i(e){if(is_pair(e)){if(n.has(e)){return n.get(e)}var r=new Pair;n.set(e,r);if(t){r.car=i(e.car)}else{r.car=e.car}r.cdr=i(e.cdr);r[__cycles__]=e[__cycles__];return r}return e}return i(this)};Pair.prototype.last_pair=function(){var e=this;while(true){if(!is_pair(e.cdr)){return e}if(e.have_cycles("cdr")){break}e=e.cdr}};Pair.prototype.to_array=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;var r=[];if(is_pair(this.car)){if(e){r.push(this.car.to_array())}else{r.push(this.car)}}else{r.push(this.car.valueOf())}if(is_pair(this.cdr)){r=r.concat(this.cdr.to_array(e))}return r};Pair.fromArray=function(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;var t=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(is_pair(e)||t&&e instanceof Array&&e[__data__]){return e}if(r===false){var n=_nil;for(var i=e.length;i--;){n=new Pair(e[i],n)}return n}if(e.length&&!(e instanceof Array)){e=_toConsumableArray(e)}var o=_nil;var a=e.length;while(a--){var u=e[a];if(u instanceof Array){u=Pair.fromArray(u,r,t)}else if(typeof u==="string"){u=LString(u)}else if(typeof u==="number"&&!Number.isNaN(u)){u=LNumber(u)}o=new Pair(u,o)}return o};Pair.prototype.to_object=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;var r=this;var t={};while(true){if(is_pair(r)&&is_pair(r.car)){var n=r.car;var i=n.car;if(i instanceof LSymbol){i=i.__name__}if(i instanceof LString){i=i.valueOf()}var o=n.cdr;if(is_pair(o)){o=o.to_object(e)}if(is_native(o)){if(!e){o=o.valueOf()}}t[i]=o;r=r.cdr}else{break}}return t};Pair.fromPairs=function(e){return e.reduce(function(e,r){return new Pair(new Pair(new LSymbol(r[0]),r[1]),e)},_nil)};Pair.fromObject=function(r){var e=Object.keys(r).map(function(e){return[e,r[e]]});return Pair.fromPairs(e)};Pair.prototype.reduce=function(e){var r=this;var t=_nil;while(true){if(!is_nil(r)){t=e(t,r.car);r=r.cdr}else{break}}return t};Pair.prototype.reverse=function(){if(this.have_cycles()){throw new Error("You can't reverse list that have cycles")}var e=this;var r=_nil;while(!is_nil(e)){var t=e.cdr;e.cdr=r;r=e;e=t}return r};Pair.prototype.transform=function(n){function i(e){if(is_pair(e)){if(e.replace){delete e.replace;return e}var r=n(e.car);if(is_pair(r)){r=i(r)}var t=n(e.cdr);if(is_pair(t)){t=i(t)}return new Pair(r,t)}return e}return i(this)};Pair.prototype.map=function(e){if(typeof this.car!=="undefined"){return new Pair(e(this.car),is_nil(this.cdr)?_nil:this.cdr.map(e))}else{return _nil}};var repr=new Map;function is_plain_object(e){return e&&_typeof$1(e)==="object"&&e.constructor===Object}var props=Object.getOwnPropertyNames(Array.prototype);var array_methods=[];props.forEach(function(e){array_methods.push(Array[e],Array.prototype[e])});function is_array_method(e){e=unbind(e);return array_methods.includes(e)}function is_lips_function(e){return is_function(e)&&(is_lambda(e)||e.__doc__)}function user_repr(t){var e=t.constructor||Object;var n=is_plain_object(t);var i=is_function(t[Symbol.asyncIterator])||is_function(t[Symbol.iterator]);var o;if(repr.has(e)){o=repr.get(e)}else{repr.forEach(function(e,r){r=unbind(r);if(t instanceof r&&(r===Object&&n&&!i||r!==Object)){o=e}})}return o}var str_mapping=new Map;[[true,"#t"],[false,"#f"],[null,"#null"],[undefined,"#void"]].forEach(function(e){var r=_slicedToArray(e,2),t=r[0],n=r[1];str_mapping.set(t,n)});function symbolize(t){if(t&&_typeof$1(t)==="object"){var n={};var e=Object.getOwnPropertySymbols(t);e.forEach(function(e){var r=e.toString().replace(/Symbol\(([^)]+)\)/,"$1");n[r]=toString(t[e])});var r=Object.getOwnPropertyNames(t);r.forEach(function(e){var r=t[e];if(r&&_typeof$1(r)==="object"&&r.constructor===Object){n[e]=symbolize(r)}else{n[e]=toString(r)}});return n}return t}function get_props(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}function has_own_function(e,r){return e.hasOwnProperty(r)&&is_function(e.toString)}function function_to_string(e){if(is_native_function(e)){return"#"}var r=e.prototype&&e.prototype.constructor;if(is_function(r)&&is_lambda(r)){if(e[__class__]&&r.hasOwnProperty("__name__")){var t=r.__name__;if(LString.isString(t)){t=t.toString();return"#")}return"#"}}if(e.hasOwnProperty("__name__")){var n=e.__name__;if(_typeof$1(n)==="symbol"){n=symbol_to_string(n)}if(typeof n==="string"){return"#")}}if(has_own_function(e,"toString")){return e.toString()}else if(e.name&&!is_lambda(e)){return"#")}else{return"#"}}var instances=new Map;[[Error,function(e){return e.message}],[Pair,function(e,r){var t=r.quote,n=r.skip_cycles,i=r.pair_args;if(!n){e.mark_cycles()}return e.toString.apply(e,[t].concat(_toConsumableArray(i)))}],[LCharacter,function(e,r){var t=r.quote;if(t){return e.toString()}return e.valueOf()}],[LString,function(e,r){var t=r.quote;e=e.toString();if(t){return JSON.stringify(e).replace(/\\n/g,"\n")}return e}],[RegExp,function(e){return"#"+e.toString()}]].forEach(function(e){var r=_slicedToArray(e,2),t=r[0],n=r[1];instances.set(t,n)});var native_types=[LSymbol,Macro,Values,InputPort,OutputPort,Environment,QuotedPromise];function toString(e,r,t){if(typeof jQuery!=="undefined"&&e instanceof jQuery.fn.init){return"#"}if(str_mapping.has(e)){return str_mapping.get(e)}if(is_prototype(e)){return"#"}if(e){var n=e.constructor;if(instances.has(n)){for(var i=arguments.length,o=new Array(i>3?i-3:0),a=3;a"}if(e===null){return"null"}if(is_function(e)){if(is_function(e.toString)&&e.hasOwnProperty("toString")){return e.toString().valueOf()}return function_to_string(e)}if(_typeof$1(e)==="object"){var l=e.constructor;if(!l){l=Object}var f;if(typeof l.__class__==="string"){f=l.__class__}else{var _=user_repr(e);if(_){if(is_function(_)){return _(e,r)}else{throw new Error("toString: Invalid repr value")}}f=l.name}if(is_function(e.toString)&&e.hasOwnProperty("toString")){return e.toString().valueOf()}if(type(e)==="instance"){if(is_lambda(l)&&l.__name__){f=l.__name__.valueOf()}else if(!is_native_function(l)){f="instance"}}if(is_iterator(e,Symbol.iterator)){if(f){return"#")}return"#"}if(is_iterator(e,Symbol.asyncIterator)){if(f){return"#")}return"#"}if(f!==""){return"#<"+f+">"}return"#"}if(typeof e!=="string"){return e.toString()}return e}Pair.prototype.mark_cycles=function(){mark_cycles(this);return this};Pair.prototype.have_cycles=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;if(!e){return this.have_cycles("car")||this.have_cycles("cdr")}return!!(this[__cycles__]&&this[__cycles__][e])};Pair.prototype.is_cycle=function(){return is_cycle(this)};function is_cycle(e){if(!is_pair(e)){return false}if(e.have_cycles()){return true}return is_cycle(e.car,fn)||is_cycle(e.cdr,fn)}function mark_cycles(e){var r=[];var i=[];var o=[];function a(e){if(!r.includes(e)){r.push(e)}}function u(e,r,t,n){if(is_pair(t)){if(n.includes(t)){if(!o.includes(t)){o.push(t)}if(!e[__cycles__]){e[__cycles__]={}}e[__cycles__][r]=t;if(!i.includes(e)){i.push(e)}return true}}}var s=trampoline(function e(r,t){if(is_pair(r)){delete r.ref;delete r[__cycles__];a(r);t.push(r);var n=u(r,"car",r.car,t);var i=u(r,"cdr",r.cdr,t);if(!n){s(r.car,t.slice())}if(!i){return new Thunk(function(){return e(r.cdr,t.slice())})}}});function t(e,r){if(is_pair(e[__cycles__][r])){var t=n.indexOf(e[__cycles__][r]);e[__cycles__][r]="#".concat(t,"#")}}s(e,[]);var n=r.filter(function(e){return o.includes(e)});n.forEach(function(e,r){e[__ref__]="#".concat(r,"=")});i.forEach(function(e){t(e,"car");t(e,"cdr")})}Pair.prototype.toString=function(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},t=r.nested,n=t===void 0?false:t;var i=[];if(this[__ref__]){i.push(this[__ref__]+"(")}else if(!n){i.push("(")}var o;if(this[__cycles__]&&this[__cycles__].car){o=this[__cycles__].car}else{o=toString(this.car,e,true)}if(o!==undefined){i.push(o)}if(is_pair(this.cdr)){if(this[__cycles__]&&this[__cycles__].cdr){i.push(" . ");i.push(this[__cycles__].cdr)}else{if(this.cdr[__ref__]){i.push(" . ")}else{i.push(" ")}var a=this.cdr.toString(e,{nested:true});i.push(a)}}else if(!is_nil(this.cdr)){i=i.concat([" . ",toString(this.cdr,e,true)])}if(!n||this[__ref__]){i.push(")")}return i.join("")};Pair.prototype.set=function(e,r){this[e]=r;if(is_pair(r)){this.mark_cycles()}};Pair.prototype.append=function(e){if(e instanceof Array){return this.append(Pair.fromArray(e))}var r=this;if(r.car===undefined){if(is_pair(e)){this.car=e.car;this.cdr=e.cdr}else{this.car=e}}else if(!is_nil(e)){while(true){if(is_pair(r)&&!is_nil(r.cdr)){r=r.cdr}else{break}}r.cdr=e}return this};Pair.prototype.serialize=function(){return[this.car,this.cdr]};Pair.prototype[Symbol.iterator]=function(){var t=this;return{next:function e(){var r=t;t=r.cdr;if(is_nil(r)){return{value:undefined,done:true}}else{return{value:r.car,done:false}}}}};function abs(e){return e<0?-e:e}function seq_compare(e,r){var t=_toArray(r),n=t[0],i=t.slice(1);while(i.length>0){var o=i,a=_slicedToArray(o,1),u=a[0];if(!e(n,u)){return false}var s=i;var c=_toArray(s);n=c[0];i=c.slice(1)}return true}function equal(e,r){if(is_function(e)){return is_function(r)&&unbind(e)===unbind(r)}else if(e instanceof LNumber){if(!(r instanceof LNumber)){return false}var t;if(e.__type__===r.__type__){if(e.__type__==="complex"){t=e.__im__.__type__===r.__im__.__type__&&e.__re__.__type__===r.__re__.__type__}else{t=true}if(t&&e.cmp(r)===0){if(e.valueOf()===0){return Object.is(e.valueOf(),r.valueOf())}return true}}return false}else if(typeof e==="number"){if(typeof r!=="number"){return false}if(Number.isNaN(e)){return Number.isNaN(r)}if(e===Number.NEGATIVE_INFINITY){return r===Number.NEGATIVE_INFINITY}if(e===Number.POSITIVE_INFINITY){return r===Number.POSITIVE_INFINITY}return equal(LNumber(e),LNumber(r))}else if(e instanceof LCharacter){if(!(r instanceof LCharacter)){return false}return e.__char__===r.__char__}else{return e===r}}function same_atom(e,r){if(type(e)!==type(r)){return false}if(!is_atom(e)){return false}if(e instanceof RegExp){return e.source===r.source}if(e instanceof LString){return e.valueOf()===r.valueOf()}return equal(e,r)}function is_atom(e){return e instanceof LSymbol||LString.isString(e)||is_nil(e)||e===null||e instanceof LCharacter||e instanceof LNumber||e===true||e===false}var truncate=function(){if(Math.trunc){return Math.trunc}else{return function(e){if(e===0){return 0}else if(e<0){return Math.ceil(e)}else{return Math.floor(e)}}}}();function Macro(e,r,t,n){if(typeof this!=="undefined"&&this.constructor!==Macro||typeof this==="undefined"){return new Macro(e,r)}typecheck("Macro",e,"string",1);typecheck("Macro",r,"function",2);if(t){if(n){this.__doc__=t}else{this.__doc__=trim_lines(t)}}this.__name__=e;this.__fn__=r}Macro.defmacro=function(e,r,t,n){var i=new Macro(e,r,t,n);i.__defmacro__=true;return i};Macro.prototype.invoke=function(e,r,t){var n=r.env,i=_objectWithoutProperties(r,_excluded2);var o=_objectSpread(_objectSpread({},i),{},{macro_expand:t});var a=this.__fn__.call(n,e,o,this.__name__);return a};Macro.prototype.toString=function(){return"#")};var macro="define-macro";var recur_guard=-1e4;function macro_expand(c){return function(){var t=_asyncToGenerator(_regeneratorRuntime.mark(function e(t,v){var o,g,n,i,a,b,P,w,D,x,L,E,u,S,s;return _regeneratorRuntime.wrap(function e(r){while(1)switch(r.prev=r.next){case 0:s=function e(){s=_asyncToGenerator(_regeneratorRuntime.mark(function e(t,n,i){var o,a,u,s,c,l,f,_,p,d,y,h,m;return _regeneratorRuntime.wrap(function e(r){while(1)switch(r.prev=r.next){case 0:if(!(is_pair(t)&&t.car instanceof LSymbol)){r.next=50;break}if(!t[__data__]){r.next=3;break}return r.abrupt("return",t);case 3:o=t.car.valueOf();a=i.get(t.car,{throwError:false});u=b(t.car);s=u||P(a,t)||w(a);if(!(s&&is_pair(t.cdr.car))){r.next=28;break}if(!u){r.next=15;break}g=x(t.cdr.car);r.next=12;return E(t.cdr.car,n);case 12:c=r.sent;r.next=17;break;case 15:g=D(t.cdr.car);c=t.cdr.car;case 17:r.t0=Pair;r.t1=t.car;r.t2=Pair;r.t3=c;r.next=23;return S(t.cdr.cdr,n,i);case 23:r.t4=r.sent;r.t5=new r.t2(r.t3,r.t4);return r.abrupt("return",new r.t0(r.t1,r.t5));case 28:if(!L(o,a)){r.next=50;break}l=a instanceof Syntax?t:t.cdr;r.next=32;return a.invoke(l,_objectSpread(_objectSpread({},v),{},{env:i}),true);case 32:f=r.sent;if(!(a instanceof Syntax)){r.next=41;break}_=f,p=_.expr,d=_.scope;if(!is_pair(p)){r.next=40;break}if(!(n!==-1&&n<=1||n")}return"#"};var SyntaxParameter=_createClass(function e(r){_classCallCheck(this,e);read_only(this,"_syntax",r,{hidden:true});read_only(this._syntax,"_param",true,{hidden:true})});Syntax.Parameter=SyntaxParameter;function extract_patterns(e,r,B,I){var t=arguments.length>4&&arguments[4]!==undefined?arguments[4]:{};var j={"...":{symbols:{},lists:[]},symbols:{}};var R=t.expansion,T=t.define;log(B);function M(r,e){var t=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;log({code:e,pattern:r});if(is_atom(r)&&!(r instanceof LSymbol)){return same_atom(r,e)}if(r instanceof LSymbol&&B.includes(r.literal())){if(!LSymbol.is(e,r)){return false}var i=R.ref(r);return!i||i===T||i===global_env}if(Array.isArray(r)&&Array.isArray(e)){log("<<< a 1");if(r.length===0&&e.length===0){return true}if(LSymbol.is(r[1],I)){if(r[0]instanceof LSymbol){var o=r[0].valueOf();log("<<< a 2 "+n);if(n){var a=e.length-2;var u=a>0?e.slice(0,a):e;var s=Pair.fromArray(u,false);if(!j["..."].symbols[o]){j["..."].symbols[o]=new Pair(s,_nil)}else{j["..."].symbols[o].append(new Pair(s,_nil))}}else{j["..."].symbols[o]=Pair.fromArray(e,false)}}else if(Array.isArray(r[0])){log("<<< a 3");var c=_toConsumableArray(t);if(!e.every(function(e){return M(r[0],e,c,true)})){return false}}if(r.length>2){var l=r.slice(2);return M(l,e.slice(-l.length),t,n)}return true}var f=M(r[0],e[0],t,n);log({first:f,pattern:r[0],code:e[0]});var _=M(r.slice(1),e.slice(1),t,n);log({first:f,rest:_});return f&&_}if(is_pair(r)&&is_pair(r.car)&&is_pair(r.car.cdr)&&LSymbol.is(r.car.cdr.car,I)){log(">> 0");if(is_nil(e)){log({pattern:r});if(r.car.car instanceof LSymbol){var p=r.car.car.valueOf();if(j["..."].symbols[p]){throw new Error("syntax: named ellipsis can only "+"appear onces")}j["..."].symbols[p]=e}}}if(is_pair(r)&&is_pair(r.cdr)&&LSymbol.is(r.cdr.car,I)){if(!is_nil(r.cdr.cdr)){if(is_pair(r.cdr.cdr)){var d=r.cdr.cdr.length();if(!is_pair(e)){return false}var y=e.length();var h=e;while(y-1>d){h=h.cdr;y--}var m=h.cdr;h.cdr=_nil;if(!M(r.cdr.cdr,m,t,n)){return false}}}if(r.car instanceof LSymbol){var v=r.car.__name__;if(j["..."].symbols[v]&&!t.includes(v)&&!n){throw new Error("syntax: named ellipsis can only appear onces")}log(">> 1");if(is_nil(e)){log(">> 2");if(n){log("NIL");j["..."].symbols[v]=_nil}else{log("NULL");j["..."].symbols[v]=null}}else if(is_pair(e)&&(is_pair(e.car)||is_nil(e.car))){log(">> 3 "+n);if(n){if(j["..."].symbols[v]){var g=j["..."].symbols[v];if(is_nil(g)){g=new Pair(_nil,new Pair(e,_nil))}else{g=g.append(new Pair(e,_nil))}j["..."].symbols[v]=g}else{j["..."].symbols[v]=new Pair(e,_nil)}}else{log(">> 4");j["..."].symbols[v]=new Pair(e,_nil)}}else{log(">> 6");if(is_pair(e)){if(!is_pair(e.cdr)&&!is_nil(e.cdr)){log(">> 7 (b)");if(is_nil(r.cdr.cdr)){return false}else if(!j["..."].symbols[v]){j["..."].symbols[v]=new Pair(e.car,_nil);return M(r.cdr.cdr,e.cdr)}}var b=e.last_pair();if(!is_nil(b.cdr)){if(is_nil(r.cdr.cdr)){return false}else{var P=e.clone();P.last_pair().cdr=_nil;j["..."].symbols[v]=P;return M(r.cdr.cdr,b.cdr)}}log(">> 7 "+n);t.push(v);if(!j["..."].symbols[v]){j["..."].symbols[v]=new Pair(e,_nil)}else{var w=j["..."].symbols[v];j["..."].symbols[v]=w.append(new Pair(e,_nil))}log({IIIIII:j["..."].symbols[v]})}else if(r.car instanceof LSymbol&&is_pair(r.cdr)&&LSymbol.is(r.cdr.car,I)){log(">> 8");j["..."].symbols[v]=null;return M(r.cdr.cdr,e)}else{log(">> 9");return false}}return true}else if(is_pair(r.car)){var D=_toConsumableArray(t);if(is_nil(e)){log(">> 10");j["..."].lists.push(_nil);return true}log(">> 11");var x=e;while(is_pair(x)){if(!M(r.car,x.car,D,true)){return false}x=x.cdr}return true}if(Array.isArray(r.car)){var D=_toConsumableArray(t);var L=e;while(is_pair(L)){if(!M(r.car,L.car,D,true)){return false}L=L.cdr}return true}return false}if(r instanceof LSymbol){if(LSymbol.is(r,I)){throw new Error("syntax: invalid usage of ellipsis")}log(">> 12");var E=r.__name__;if(B.includes(E)){return true}if(n){var S,A;log(j["..."].symbols[E]);(A=(S=j["..."].symbols)[E])!==null&&A!==void 0?A:S[E]=[];j["..."].symbols[E].push(e)}else{j.symbols[E]=e}return true}if(is_pair(r)&&is_pair(e)){log(">> 13");log({a:13,code:e,pattern:r});if(is_nil(e.cdr)){var F=r.car instanceof LSymbol&&r.cdr instanceof LSymbol;if(F){if(!M(r.car,e.car,t,n)){return false}log(">> 14");var k=r.cdr.valueOf();if(!(k in j.symbols)){j.symbols[k]=_nil}k=r.car.valueOf();if(!(k in j.symbols)){j.symbols[k]=e.car}return true}}log({pattern:r,code:e});if(is_pair(r.cdr)&&is_pair(r.cdr.cdr)&&r.cdr.car instanceof LSymbol&&LSymbol.is(r.cdr.cdr.car,I)&&is_pair(r.cdr.cdr.cdr)&&!LSymbol.is(r.cdr.cdr.cdr.car,I)&&M(r.car,e.car,t,n)&&M(r.cdr.cdr.cdr,e.cdr,t,n)){var C=r.cdr.car.__name__;log({pattern:r,code:e,name:C});if(B.includes(C)){return true}j["..."].symbols[C]=null;return true}log("recur");log({pattern:r,code:e});var O=M(r.car,e.car,t,n);log({car:O,pattern:r.car,code:e.car});var N=M(r.cdr,e.cdr,t,n);log({car:O,cdr:N});if(O&&N){return true}}else if(is_nil(r)&&(is_nil(e)||e===undefined)){return true}else if(is_pair(r.car)&&LSymbol.is(r.car.car,I)){throw new Error("syntax: invalid usage of ellipsis")}else{return false}}if(M(e,r)){return j}}function clear_gensyms(e,i){function o(r){if(is_pair(r)){if(!i.length){return r}var e=o(r.car);var t=o(r.cdr);return new Pair(e,t)}else if(r instanceof LSymbol){var n=i.find(function(e){return e.gensym===r});if(n){return LSymbol(n.name)}return r}else{return r}}return o(e)}function transform_syntax(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var O=e.bindings,r=e.expr,N=e.scope,a=e.symbols,l=e.names,B=e.ellipsis;var f={};function u(e){if(e instanceof LSymbol){return true}return["string","symbol"].includes(_typeof$1(e))}function I(e){if(!u(e)){var r=type(e);throw new Error("syntax: internal error, need symbol got ".concat(r))}var t=e.valueOf();if(t===B){throw new Error("syntax: internal error, ellipis not transformed")}var n=_typeof$1(t);if(["string","symbol"].includes(n)){if(t in O.symbols){return O.symbols[t]}else if(n==="string"&&t.match(/\./)){var i=t.split(".");var o=i[0];if(o in O.symbols){return Pair.fromArray([LSymbol("."),O.symbols[o]].concat(i.slice(1).map(function(e){return LString(e)})))}}}if(a.includes(t)){return e}return s(t,e)}function s(e,r){if(!f[e]){var t=N.ref(e);if(_typeof$1(e)==="symbol"&&!t){e=r.literal()}if(f[e]){return f[e]}var n=gensym(e);if(t){var i=N.get(e);N.set(n,i)}else{var o=N.get(e,{throwError:false});if(typeof o!=="undefined"){N.set(n,o)}}l.push({name:e,gensym:n});f[e]=n;if(typeof e==="string"&&e.match(/\./)){var a=e.split(".").filter(Boolean),u=_toArray(a),s=u[0],c=u.slice(1);if(f[s]){hidden_prop(n,"__object__",[f[s]].concat(_toConsumableArray(c)))}}}return f[e]}function j(e,r,t){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:function(){};var i=t.nested;log({bindings:r,expr:e});if(Array.isArray(e)&&!e.length){return e}if(e instanceof LSymbol){var o=e.valueOf();if(is_gensym(e)&&!r[o]);log("[t 1");if(r[o]){if(is_pair(r[o])){var a=r[o],u=a.car,s=a.cdr;if(i){var c=u.car,l=u.cdr;if(!is_nil(l)){n(o,new Pair(l,_nil))}return c}if(!is_nil(s)){n(o,s)}return u}else if(r[o]instanceof Array){n(o,r[o].slice(1));return r[o][0]}}return I(e)}var f=Array.isArray(e);if(is_pair(e)||f){var _=f?e[0]:e.car;var p=f?e[1]:is_pair(e.cdr)&&e.cdr.car;if(_ instanceof LSymbol&&LSymbol.is(p,B)){f?e.slice(2):e.cdr.cdr;log("[t 2");var d=_.valueOf();var y=r[d];if(y===null){return}else if(y){log({name:d,binding:r[d]});if(is_pair(y)){log("[t 2 Pair "+i);var h=y.car,m=y.cdr;var v=f?e.slice(2):e.cdr.cdr;if(i){if(!is_nil(m)){log("|| next 1");n(d,m)}if(f&&v.length||!is_nil(v)&&!f){var g=j(v,r,t,n);if(f){return h.concat(g)}else if(is_pair(h)){return h.append(g)}else{log("UNKNOWN")}}return h}else if(is_pair(h)){if(!is_nil(h.cdr)){log("|| next 2");n(d,new Pair(h.cdr,m))}return h.car}else if(is_nil(m)){return h}else{var b=e.last_pair();if(b.cdr instanceof LSymbol){log("|| next 3");n(d,y.last_pair());return h}}}else if(y instanceof Array){log("[t 2 Array "+i);if(i){n(d,y.slice(1));return Pair.fromArray(y)}else{var P=y.slice(1);if(P.length){n(d,P)}return y[0]}}else{return y}}}log("[t 3 recur ",e);var w=f?e.slice(1):e.cdr;var D=j(_,r,t,n);var x=j(w,r,t,n);log({head:D,rest:x});if(f){return[D].concat(x)}return new Pair(D,x)}return e}function R(r,t){var e=Object.values(r);var n=Object.getOwnPropertySymbols(r);if(n.length){e.push.apply(e,_toConsumableArray(n.map(function(e){return r[e]})))}return e.length&&e.every(function(e){if(e===null){return!t}return is_pair(e)||is_nil(e)||Array.isArray(e)&&e.length})}function T(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}function M(i){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},r=e.disabled;log("traverse>> ",i);var o=Array.isArray(i);if(o&&i.length===0){return i}if(is_pair(i)||o){var t=o?i[0]:i.car;var n,a;if(o){n=i[1];a=i.slice(2)}else if(is_pair(i.cdr)){n=i.cdr.car;a=i.cdr.cdr}log({first:t,second:n,rest_second:a});if(!r&&is_pair(t)&&LSymbol.is(t.car,B)){return new Pair(t.cdr.car,M(i.cdr))}if(n&&LSymbol.is(n,B)&&!r){log(">> 1");var u=O["..."].symbols;var s=Object.values(u);if(s.length&&s.every(function(e){return e===null})){log(">>> 1 (a)");return M(a,{disabled:r})}var c=T(u);var l=t instanceof LSymbol&&LSymbol.is(a.car,B);if(is_pair(t)||l){log(">>> 1 (b)");if(is_nil(O["..."].lists[0])){if(!l){return M(a,{disabled:r})}log(a);return _nil}var f=t;if(l){log(">>> 1 (c)");f=new Pair(t,new Pair(n,_nil))}log(">> 2");var _;if(c.length){log(">> 2 (a)");var p=_objectSpread({},u);_=o?[]:_nil;var d=function e(){log({bind:p});if(!R(p)){return 1}var n={};var r=function e(r,t){n[r]=t};var t=j(f,p,{nested:true},r);if(t!==undefined){if(l){if(o){if(Array.isArray(t)){var i;(i=_).push.apply(i,_toConsumableArray(t))}else{log("ZONK {1}")}}else{if(is_nil(_)){_=t}else{_=_.append(t)}}}else if(o){_.push(t)}else{_=new Pair(t,_)}}p=n};while(true){if(d())break}if(!is_nil(_)&&!l&&!o){_=_.reverse()}if(o){if(a){log({rest_second:a,expr:i});var y=M(a,{disabled:r});return _.concat(y)}return _}if(!is_nil(i.cdr.cdr)&&!LSymbol.is(i.cdr.cdr.car,B)){var h=M(i.cdr.cdr,{disabled:r});return _.append(h)}return _}else{log(">> 3");var m=j(t,u,{nested:true});if(m){return new Pair(m,_nil)}return _nil}}else if(t instanceof LSymbol){log(">> 4");if(LSymbol.is(a.car,B)){log(">> 4 (a)")}else{log(">> 4 (b)")}var v=t.__name__;var g=_defineProperty({},v,u[v]);log({bind:g});var b=u[v]===null;var P=o?[]:_nil;var w=function e(){if(!R(g,true)){log({bind:g});return 1}var n={};var r=function e(r,t){n[r]=t};var t=j(i,g,{nested:false},r);log({value:t});if(typeof t!=="undefined"){if(o){P.push(t)}else{P=new Pair(t,P)}}g=n};while(true){if(w())break}if(!is_nil(P)&&!o){P=P.reverse()}if(is_pair(i.cdr)){if(is_pair(i.cdr.cdr)||i.cdr.cdr instanceof LSymbol){var D=M(i.cdr.cdr,{disabled:r});log({node:D});if(b){return D}if(is_nil(P)){P=D}else{P.append(D)}log({result:P,node:D})}}log("<<<< 2");return P}}var x=M(t,{disabled:r});var L;var E;if(t instanceof LSymbol){var S=N.get(t,{throwError:false});E=S instanceof Macro&&S.__name__==="syntax-rules"}if(E){if(i.cdr.car instanceof LSymbol){L=new Pair(M(i.cdr.car,{disabled:r}),new Pair(i.cdr.cdr.car,M(i.cdr.cdr.cdr,{disabled:r})))}else{L=new Pair(i.cdr.car,M(i.cdr.cdr,{disabled:r}))}log("REST >>>> ",L)}else{L=M(i.cdr,{disabled:r})}log({a:true,car:toString(i.car),cdr:toString(i.cdr),head:toString(x),rest:toString(L)});return new Pair(x,L)}if(i instanceof LSymbol){if(r&&LSymbol.is(i,B)){return i}var A=Object.keys(O["..."].symbols);var F=i.literal();if(A.includes(F)){var k="missing ellipsis symbol next to name `".concat(F,"'");throw new Error("syntax-rules: ".concat(k))}var C=I(i);if(typeof C!=="undefined"){return C}}return i}return M(r,{})}function is_null(e){return is_undef(e)||is_nil(e)||e===null}function is_nil(e){return e===_nil}function is_function(e){return typeof e==="function"&&typeof e.bind==="function"}function is_false(e){return e===false||e===null}function is_string(e){return typeof e==="string"}function is_prototype(e){return e&&_typeof$1(e)==="object"&&e.hasOwnProperty&&e.hasOwnProperty("constructor")&&typeof e.constructor==="function"&&e.constructor.prototype===e}function is_continuation(e){return e instanceof Continuation}function is_context(e){return e instanceof LambdaContext}function is_parameter(e){return e instanceof Parameter}function is_pair(e){return e instanceof Pair}function is_env(e){return e instanceof Environment}function is_callable(e){return is_function(e)||is_continuation(e)||is_parameter(e)||is_macro(e)}function is_macro(e){return e instanceof Macro||e instanceof SyntaxParameter}function is_promise(e){if(e instanceof QuotedPromise){return false}if(e instanceof Promise){return true}return!!e&&is_function(e.then)}function is_undef(e){return typeof e==="undefined"}function is_iterator(e,r){if(has_own_symbol(e,r)||has_own_symbol(e.__proto__,r)){return is_function(e[r])}}function is_instance(e){if(!e){return false}if(_typeof$1(e)!=="object"){return false}if(e.__instance__){e.__instance__=false;return e.__instance__}return false}function self_evaluated(e){var r=_typeof$1(e);return["string","function"].includes(r)||_typeof$1(e)==="symbol"||e instanceof QuotedPromise||e instanceof LSymbol||e instanceof LNumber||e instanceof LString||e instanceof RegExp}function is_native(e){return e instanceof LNumber||e instanceof LString||e instanceof LCharacter}function has_own_symbol(e,r){if(e===null){return false}return _typeof$1(e)==="object"&&r in Object.getOwnPropertySymbols(e)}function box(e){switch(_typeof$1(e)){case"string":return LString(e);case"bigint":return LNumber(e);case"number":if(Number.isNaN(e)){return nan}else{return LNumber(e)}}return e}function map_object(t,n){var e=Object.getOwnPropertyNames(t);var r=Object.getOwnPropertySymbols(t);var i={};e.concat(r).forEach(function(e){var r=n(t[e]);i[e]=r});return i}function unbox(r){var e=[LString,LNumber,LCharacter].some(function(e){return r instanceof e});if(e){return r.valueOf()}if(r instanceof Array){return r.map(unbox)}if(r instanceof QuotedPromise){delete r.then}if(is_plain_object(r)){return map_object(r,unbox)}return r}function patch_value(e,r){if(is_pair(e)){e.mark_cycles();return quote(e)}if(is_function(e)){if(r){return bind(e,r)}}return box(e)}function unbind(e){if(is_bound(e)){return e[__fn__]}return e}function bind(e,r){if(e[Symbol["for"]("__bound__")]){return e}var t=e.bind(r);var n=Object.getOwnPropertyNames(e);var i=_createForOfIteratorHelper(n),o;try{for(i.s();!(o=i.n()).done;){var a=o.value;if(filter_fn_names(a)){try{t[a]=e[a]}catch(e){}}}}catch(e){i.e(e)}finally{i.f()}hidden_prop(t,"__fn__",e);hidden_prop(t,"__context__",r);hidden_prop(t,"__bound__",true);if(is_native_function(e)){hidden_prop(t,"__native__",true)}if(is_plain_object(r)&&is_lambda(e)){hidden_prop(t,"__method__",true)}t.valueOf=function(){return e};return t}function is_object_bound(e){return is_bound(e)&&e[Symbol["for"]("__context__")]===Object}function is_bound(e){return!!(is_function(e)&&e[__fn__])}function lips_context(e){if(is_function(e)){var r=e[__context__];if(r&&(r===lips||r.constructor&&r.constructor.__class__)){return true}}return false}function is_port(e){return e instanceof InputPort||e instanceof OutputPort}function is_port_method(e){if(is_function(e)){if(is_port(e[__context__])){return true}}return false}var __context__=Symbol["for"]("__context__");var __fn__=Symbol["for"]("__fn__");var __data__=Symbol["for"]("__data__");var __ref__=Symbol["for"]("__ref__");var __cycles__=Symbol["for"]("__cycles__");var __class__=Symbol["for"]("__class__");var __method__=Symbol["for"]("__method__");var __prototype__=Symbol["for"]("__prototype__");var __lambda__=Symbol["for"]("__lambda__");var exluded_names=["name","length","caller","callee","arguments","prototype"];function filter_fn_names(e){return!exluded_names.includes(e)}function hidden_prop(e,r,t){Object.defineProperty(e,Symbol["for"](r),{get:function e(){return t},set:function e(){},configurable:false,enumerable:false})}function set_fn_length(r,t){try{Object.defineProperty(r,"length",{get:function e(){return t}});return r}catch(e){var n=new Array(t).fill(0).map(function(e,r){return"a"+r}).join(",");var i=new Function("f","return function(".concat(n,") {\n return f.apply(this, arguments);\n };"));return i(r)}}function is_lambda(e){return e&&e[__lambda__]}function is_method(e){return e&&e[__method__]}function is_raw_lambda(e){return is_lambda(e)&&!e[__prototype__]&&!is_method(e)&&!is_port_method(e)}function is_native_function(e){var r=Symbol["for"]("__native__");return is_function(e)&&e.toString().match(/\{\s*\[native code\]\s*\}/)&&(e.name.match(/^bound /)&&e[r]===true||!e.name.match(/^bound /)&&!e[r])}function let_macro(e){var P;switch(e){case Symbol["for"]("letrec"):P="letrec";break;case Symbol["for"]("let"):P="let";break;case Symbol["for"]("let*"):P="let*";break;default:throw new Error("Invalid let_macro value")}return Macro.defmacro(P,function(r,e){var l=e.dynamic_env;var f=e.error,t=e.macro_expand,_=e.use_dynamic;var p;if(r.car instanceof LSymbol){if(!(is_pair(r.cdr.car)||is_nil(r.cdr.car))){throw new Error("let require list of pairs")}var n;if(is_nil(r.cdr.car)){p=_nil;n=_nil}else{n=r.cdr.car.map(function(e){return e.car});p=r.cdr.car.map(function(e){return e.cdr.car})}var i=gensym("args");return Pair.fromArray([LSymbol("let"),[[i,Pair(LSymbol("list"),p)]],[LSymbol("letrec"),[[r.car,Pair(LSymbol("lambda"),Pair(n,r.cdr.cdr))]],[LSymbol("apply"),r.car,i]]])}else if(t){return}var d=this;p=global_env.get("list->array")(r.car);var y=d.inherit(P);var h,m;if(P==="let*"){m=y}else if(P==="let"){h=[]}var v=0;function g(){var e=new Pair(new LSymbol("begin"),r.cdr);return _evaluate(e,{env:y,dynamic_env:y,use_dynamic:_,error:f})}function b(e){if(e in y.__env__){throw new Error("Duplicated let variable ".concat(e))}}return function r(){var t=p[v++];l=P==="let*"?y:d;if(!t){if(h&&h.length){var e=h.map(function(e){return e.value});var n=e.filter(is_promise);if(n.length){return promise_all(e).then(function(e){for(var r=0,t=e.length;r1&&arguments[1]!==undefined?arguments[1]:{},t=r.use_dynamic,n=r.error;var i=this;var o=this;var a=[];var u=e;while(is_pair(u)){a.push(_evaluate(u.car,{env:i,dynamic_env:o,use_dynamic:t,error:n}));u=u.cdr}var s=a.filter(is_promise).length;if(s){return promise_all(a).then(c.bind(this))}else{return c.call(this,a)}})}function guard_math_call(e){for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n2?n-2:0),o=2;o1&&arguments[1]!==undefined?arguments[1]:null;return function(){for(var e=arguments.length,r=new Array(e),t=0;t1?e-1:0),t=1;t=a){return o.apply(this,n)}else{return i}}return i.apply(this,arguments)}}function limit(n,i){typecheck("limit",i,"function",2);return function(){for(var e=arguments.length,r=new Array(e),t=0;t1){e=e.toLowerCase();if(LCharacter.__names__[e]){r=e;e=LCharacter.__names__[e]}else{throw new Error("Internal: Unknown named character")}}else{r=LCharacter.__rev_names__[e]}Object.defineProperty(this,"__char__",{value:e,enumerable:true});if(r){Object.defineProperty(this,"__name__",{value:r,enumerable:true})}}LCharacter.__names__=characters;LCharacter.__rev_names__={};Object.keys(LCharacter.__names__).forEach(function(e){var r=LCharacter.__names__[e];LCharacter.__rev_names__[r]=e});LCharacter.prototype.toUpperCase=function(){return LCharacter(this.__char__.toUpperCase())};LCharacter.prototype.toLowerCase=function(){return LCharacter(this.__char__.toLowerCase())};LCharacter.prototype.toString=function(){return"#\\"+(this.__name__||this.__char__)};LCharacter.prototype.valueOf=LCharacter.prototype.serialize=function(){return this.__char__};function LString(e){if(typeof this!=="undefined"&&!(this instanceof LString)||typeof this==="undefined"){return new LString(e)}if(e instanceof Array){this.__string__=e.map(function(e,r){typecheck("LString",e,"character",r+1);return e.toString()}).join("")}else{this.__string__=e.valueOf()}}{var ignore=["length","constructor"];var _keys=Object.getOwnPropertyNames(String.prototype).filter(function(e){return!ignore.includes(e)});var wrap=function e(n){return function(){for(var e=arguments.length,r=new Array(e),t=0;t0){t.push(this.__string__.substring(0,e))}t.push(r);if(e1&&arguments[1]!==undefined?arguments[1]:false;if(e instanceof LNumber){return e}if(typeof this!=="undefined"&&!(this instanceof LNumber)||typeof this==="undefined"){return new LNumber(e,r)}if(typeof e==="undefined"){throw new Error("Invalid LNumber constructor call")}var t=LNumber.getType(e);if(LNumber.types[t]){return LNumber.types[t](e,r)}var n=e instanceof Array&&LString.isString(e[0])&&LNumber.isNumber(e[1]);if(e instanceof LNumber){return LNumber(e.value)}if(!LNumber.isNumber(e)&&!n){throw new Error("You can't create LNumber from ".concat(type(e)))}if(e===null){e=0}var i;if(n){var o=e,a=_slicedToArray(o,2),u=a[0],s=a[1];if(u instanceof LString){u=u.valueOf()}if(s instanceof LNumber){s=s.valueOf()}var c=u.match(/^([+-])/);var l=false;if(c){u=u.replace(/^[+-]/,"");if(c[1]==="-"){l=true}}}if(Number.isNaN(e)){return LFloat(e)}else if(n&&Number.isNaN(parseInt(u,s))){return nan}else if(typeof BigInt!=="undefined"){if(typeof e!=="bigint"){if(n){var f;switch(s){case 8:f="0o";break;case 16:f="0x";break;case 2:f="0b";break;case 10:f="";break}if(typeof f==="undefined"){var _=BigInt(s);i=_toConsumableArray(u).map(function(e,r){return BigInt(parseInt(e,s))*pow(_,BigInt(r))}).reduce(function(e,r){return e+r})}else{i=BigInt(f+u)}}else{i=BigInt(e)}if(l){i*=BigInt(-1)}}else{i=e}return LBigInteger(i,true)}else if(typeof BN!=="undefined"&&!(e instanceof BN)){if(e instanceof Array){return LBigInteger(_construct(BN,_toConsumableArray(e)))}return LBigInteger(new BN(e))}else if(n){this.constant(parseInt(u,s),"integer")}else{this.constant(e,"integer")}}LNumber.prototype.constant=function(e,r){Object.defineProperty(this,"__value__",{value:e,enumerable:true});Object.defineProperty(this,"__type__",{value:r,enumerable:true})};LNumber.types={float:function e(r){return new LFloat(r)},complex:function e(r){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(!LNumber.isComplex(r)){r={im:0,re:r}}return new LComplex(r,t)},rational:function e(r){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(!LNumber.isRational(r)){r={num:r,denom:1}}return new LRational(r,t)}};LNumber.prototype.serialize=function(){return this.__value__};LNumber.prototype.isNaN=function(){return Number.isNaN(this.__value__)};LNumber.prototype.gcd=function(e){var r=this.abs();e=e.abs();if(e.cmp(r)===1){var t=r;r=e;e=t}while(true){r=r.rem(e);if(r.cmp(0)===0){return e}e=e.rem(r);if(e.cmp(0)===0){return r}}};LNumber.isFloat=function e(r){return r instanceof LFloat||Number(r)===r&&r%1!==0};LNumber.isNumber=function(e){return e instanceof LNumber||LNumber.isNative(e)||LNumber.isBN(e)};LNumber.isComplex=function(e){if(!e){return false}var r=e instanceof LComplex||(LNumber.isNumber(e.im)||LNumber.isRational(e.im)||Number.isNaN(e.im))&&(LNumber.isNumber(e.re)||LNumber.isRational(e.re)||Number.isNaN(e.re));return r};LNumber.isRational=function(e){if(!e){return false}return e instanceof LRational||LNumber.isNumber(e.num)&&LNumber.isNumber(e.denom)};LNumber.isInteger=function(e){if(!(LNumber.isNative(e)||e instanceof LNumber)){return false}if(LNumber.isFloat(e)){return false}if(LNumber.isRational(e)){return false}if(LNumber.isComplex(e)){return false}return true};LNumber.isNative=function(e){return typeof e==="bigint"||typeof e==="number"};LNumber.isBigInteger=function(e){return e instanceof LBigInteger||typeof e==="bigint"||LNumber.isBN(e)};LNumber.isBN=function(e){return typeof BN!=="undefined"&&e instanceof BN};LNumber.getArgsType=function(e,r){if(e instanceof LFloat||r instanceof LFloat){return LFloat}if(e instanceof LBigInteger||r instanceof LBigInteger){return LBigInteger}return LNumber};LNumber.prototype.toString=function(e){if(Number.isNaN(this.__value__)){return"+nan.0"}if(e>=2&&e<36){return this.__value__.toString(e)}return this.__value__.toString()};LNumber.prototype.asType=function(e){var r=LNumber.getType(this);return LNumber.types[r]?LNumber.types[r](e):LNumber(e)};LNumber.prototype.isBigNumber=function(){return typeof this.__value__==="bigint"||typeof BN!=="undefined"&&!(this.value instanceof BN)};["floor","ceil","round"].forEach(function(e){LNumber.prototype[e]=function(){if(this["float"]||LNumber.isFloat(this.__value__)){return LNumber(Math[e](this.__value__))}else{return LNumber(Math[e](this.valueOf()))}}});LNumber.prototype.valueOf=function(){if(LNumber.isNative(this.__value__)){return Number(this.__value__)}else if(LNumber.isBN(this.__value__)){return this.__value__.toNumber()}};var matrix=function(){var e=function e(r,t){return[r,t]};return{bigint:{bigint:e,float:function e(r,t){return[LFloat(r.valueOf()),t]},rational:function e(r,t){return[{num:r,denom:1},t]},complex:function e(r,t){return[{im:0,re:r},t]}},integer:{integer:e,float:function e(r,t){return[LFloat(r.valueOf()),t]},rational:function e(r,t){return[{num:r,denom:1},t]},complex:function e(r,t){return[{im:0,re:r},t]}},float:{bigint:function e(r,t){return[r,t&&LFloat(t.valueOf())]},integer:function e(r,t){return[r,t&&LFloat(t.valueOf())]},float:e,rational:function e(r,t){return[r,t&&LFloat(t.valueOf())]},complex:function e(r,t){return[{re:r,im:LFloat(0)},t]}},complex:{bigint:r("bigint"),integer:r("integer"),float:r("float"),rational:r("rational"),complex:function e(r,t){var n=LNumber.coerce(r.__re__,t.__re__),i=_slicedToArray(n,2),o=i[0],a=i[1];var u=LNumber.coerce(r.__im__,t.__im__),s=_slicedToArray(u,2),c=s[0],l=s[1];return[{im:c,re:o},{im:l,re:a}]}},rational:{bigint:function e(r,t){return[r,t&&{num:t,denom:1}]},integer:function e(r,t){return[r,t&&{num:t,denom:1}]},float:function e(r,t){return[LFloat(r.valueOf()),t]},rational:e,complex:function e(r,t){return[{im:coerce(r.__type__,t.__im__.__type__,0)[0],re:coerce(r.__type__,t.__re__.__type__,r)[0]},{im:coerce(r.__type__,t.__im__.__type__,t.__im__)[0],re:coerce(r.__type__,t.__re__.__type__,t.__re__)[0]}]}}};function r(t){return function(e,r){return[{im:coerce(t,e.__im__.__type__,0,e.__im__)[1],re:coerce(t,e.__re__.__type__,0,e.__re__)[1]},{im:coerce(t,e.__im__.__type__,0,0)[1],re:coerce(t,r.__type__,0,r)[1]}]}}}();function coerce(e,r,t,n){return matrix[e][r](t,n)}LNumber.coerce=function(e,r){var t=LNumber.getType(e);var n=LNumber.getType(r);if(!matrix[t]){throw new Error("LNumber::coerce unknown lhs type ".concat(t))}else if(!matrix[t][n]){throw new Error("LNumber::coerce unknown rhs type ".concat(n))}var i=matrix[t][n](e,r);return i.map(function(e){return LNumber(e,true)})};LNumber.prototype.coerce=function(e){if(!(typeof e==="number"||e instanceof LNumber)){throw new Error("LNumber: you can't coerce ".concat(type(e)))}if(typeof e==="number"){e=LNumber(e)}return LNumber.coerce(this,e)};LNumber.getType=function(e){if(e instanceof LNumber){return e.__type__}if(LNumber.isFloat(e)){return"float"}if(LNumber.isComplex(e)){return"complex"}if(LNumber.isRational(e)){return"rational"}if(typeof e==="number"){return"integer"}if(typeof BigInt!=="undefined"&&typeof e!=="bigint"||typeof BN!=="undefined"&&!(e instanceof BN)){return"bigint"}};LNumber.prototype.isFloat=function(){return!!(LNumber.isFloat(this.__value__)||this["float"])};var mapping={add:"+",sub:"-",mul:"*",div:"/",rem:"%",or:"|",and:"&",neg:"~",shl:">>",shr:"<<"};var rev_mapping={};Object.keys(mapping).forEach(function(r){rev_mapping[mapping[r]]=r;LNumber.prototype[r]=function(e){return this.op(mapping[r],e)}});LNumber._ops={"*":function e(r,t){return r*t},"+":function e(r,t){return r+t},"-":function e(r,t){if(typeof t==="undefined"){return-r}return r-t},"/":function e(r,t){return r/t},"%":function e(r,t){return r%t},"|":function e(r,t){return r|t},"&":function e(r,t){return r&t},"~":function e(r){return~r},">>":function e(r,t){return r>>t},"<<":function e(r,t){return r<1&&arguments[1]!==undefined?arguments[1]:false;if(typeof this!=="undefined"&&!(this instanceof LComplex)||typeof this==="undefined"){return new LComplex(e,r)}if(e instanceof LComplex){return LComplex({im:e.__im__,re:e.__re__})}if(LNumber.isNumber(e)&&r){if(!r){return Number(e)}}else if(!LNumber.isComplex(e)){var t="Invalid constructor call for LComplex expect &(:im :re ) object but got ".concat(toString(e));throw new Error(t)}var n=e.im instanceof LNumber?e.im:LNumber(e.im);var i=e.re instanceof LNumber?e.re:LNumber(e.re);this.constant(n,i)}LComplex.prototype=Object.create(LNumber.prototype);LComplex.prototype.constructor=LComplex;LComplex.prototype.constant=function(e,r){Object.defineProperty(this,"__im__",{value:e,enumerable:true});Object.defineProperty(this,"__re__",{value:r,enumerable:true});Object.defineProperty(this,"__type__",{value:"complex",enumerable:true})};LComplex.prototype.serialize=function(){return{re:this.__re__,im:this.__im__}};LComplex.prototype.toRational=function(e){var r=this.__im__,t=this.__re__;if(LNumber.isFloat(this.__im__)){r=LFloat(this.__im__).toRational(e)}if(LNumber.isFloat(this.__re__)){t=LFloat(this.__re__).toRational(e)}return LComplex({im:r,re:t})};LComplex.prototype.pow=function(e){e.cmp(0);if(e===0){return LNumber(1)}var r=LNumber(Math.atan2(this.__im__.valueOf(),this.__re__.valueOf()));var t=LNumber(this.modulus());if(LNumber.isComplex(e)&&e.__im__.cmp(0)!==0){var n=e.mul(Math.log(t.valueOf())).add(LComplex.i.mul(r).mul(e));if(!LNumber.isComplex(n)){return LFloat(Math.E).pow(n)}var i=LFloat(Math.E).pow(n.__re__.valueOf());return LComplex({re:i.mul(Math.cos(n.__im__.valueOf())),im:i.mul(Math.sin(n.__im__.valueOf()))})}var o=e.__re__.cmp(0)>0;e=e.__re__.valueOf();if(LNumber.isInteger(e)&&o){var a=this;while(--e){a=a.mul(this)}return a}var u=t.pow(e);var s=r.mul(e);return LComplex({re:u.mul(Math.cos(s)),im:u.mul(Math.sin(s))})};LComplex.prototype.add=function(e){return this.complex_op("add",e,function(e,r,t,n){return{re:e.add(r),im:t.add(n)}})};LComplex.prototype.factor=function(){if(this.__im__ instanceof LFloat||this.__im__ instanceof LFloat){var e=this.__re__,r=this.__im__;var t,n;if(e instanceof LFloat){t=e.toRational().mul(e.toRational())}else{t=e.mul(e)}if(r instanceof LFloat){n=r.toRational().mul(r.toRational())}else{n=r.mul(r)}return t.add(n)}else{return this.__re__.mul(this.__re__).add(this.__im__.mul(this.__im__))}};LComplex.prototype.modulus=function(){return this.factor().sqrt()};LComplex.prototype.conjugate=function(){return LComplex({re:this.__re__,im:this.__im__.sub()})};LComplex.prototype.sqrt=function(){var e=this.modulus();var r,t;if(e.cmp(0)===0){r=t=e}else if(this.__re__.cmp(0)===1){r=LFloat(.5).mul(e.add(this.__re__)).sqrt();t=this.__im__.div(r).div(2)}else{t=LFloat(.5).mul(e.sub(this.__re__)).sqrt();if(this.__im__.cmp(0)===-1){t=t.sub()}r=this.__im__.div(t).div(2)}return LComplex({im:t,re:r})};LComplex.prototype.div=function(e){if(LNumber.isNumber(e)&&!LNumber.isComplex(e)){if(!(e instanceof LNumber)){e=LNumber(e)}var r=this.__re__.div(e);var t=this.__im__.div(e);return LComplex({re:r,im:t})}else if(!LNumber.isComplex(e)){throw new Error("[LComplex::div] Invalid value")}if(this.cmp(e)===0){var n=this.coerce(e),i=_slicedToArray(n,2),o=i[0],a=i[1];var u=o.__im__.div(a.__im__);return u.coerce(a.__re__)[0]}var s=this.coerce(e),c=_slicedToArray(s,2),l=c[0],f=c[1];var _=f.factor();var p=f.conjugate();var d=l.mul(p);if(!LNumber.isComplex(d)){return d.div(_)}var y=d.__re__.op("/",_);var h=d.__im__.op("/",_);return LComplex({re:y,im:h})};LComplex.prototype.sub=function(e){return this.complex_op("sub",e,function(e,r,t,n){return{re:e.sub(r),im:t.sub(n)}})};LComplex.prototype.mul=function(e){return this.complex_op("mul",e,function(e,r,t,n){var i={re:e.mul(r).sub(t.mul(n)),im:e.mul(n).add(r.mul(t))};return i})};LComplex.prototype.complex_op=function(e,r,i){var o=this;var t=function e(r,t){var n=i(o.__re__,r,o.__im__,t);if("im"in n&&"re"in n){if(n.im.cmp(0)===0){return n.re}return LComplex(n,true)}return n};if(typeof r==="undefined"){return t()}if(LNumber.isNumber(r)&&!LNumber.isComplex(r)){if(!(r instanceof LNumber)){r=LNumber(r)}var n=r.asType(0);r={__im__:n,__re__:r}}else if(!LNumber.isComplex(r)){throw new Error("[LComplex::".concat(e,"] Invalid value"))}var a=r.__re__ instanceof LNumber?r.__re__:this.__re__.asType(r.__re__);var u=r.__im__ instanceof LNumber?r.__im__:this.__im__.asType(r.__im__);return t(a,u)};LComplex._op={"+":"add","-":"sub","*":"mul","/":"div"};LComplex.prototype._op=function(e,r){var t=LComplex._op[e];return this[t](r)};LComplex.prototype.cmp=function(e){var r=this.coerce(e),t=_slicedToArray(r,2),n=t[0],i=t[1];var o=n.__re__.coerce(i.__re__),a=_slicedToArray(o,2),u=a[0],s=a[1];var c=u.cmp(s);if(c!==0){return c}else{var l=n.__im__.coerce(i.__im__),f=_slicedToArray(l,2),_=f[0],p=f[1];return _.cmp(p)}};LComplex.prototype.valueOf=function(){return[this.__re__,this.__im__].map(function(e){return e.valueOf()})};LComplex.prototype.toString=function(){var e;if(this.__re__.cmp(0)!==0){e=[toString(this.__re__)]}else{e=[]}var r=this.__im__.valueOf();var t=[Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY].includes(r);var n=toString(this.__im__);if(!t&&!Number.isNaN(r)){var i=this.__im__.cmp(0);if(i<0||i===0&&this.__im__._minus){e.push("-")}else{e.push("+")}n=n.replace(/^-/,"")}e.push(n);e.push("i");return e.join("")};function LFloat(e){if(typeof this!=="undefined"&&!(this instanceof LFloat)||typeof this==="undefined"){return new LFloat(e)}if(!LNumber.isNumber(e)){throw new Error("Invalid constructor call for LFloat")}if(e instanceof LNumber){return LFloat(e.valueOf())}if(typeof e==="number"){if(Object.is(e,-0)){Object.defineProperty(this,"_minus",{value:true})}this.constant(e,"float")}}LFloat.prototype=Object.create(LNumber.prototype);LFloat.prototype.constructor=LFloat;LFloat.prototype.toString=function(e){if(this.__value__===Number.NEGATIVE_INFINITY){return"-inf.0"}if(this.__value__===Number.POSITIVE_INFINITY){return"+inf.0"}if(Number.isNaN(this.__value__)){return"+nan.0"}e&&(e=e.valueOf());var r=this.__value__.toString(e);if(!r.match(/e[+-]?[0-9]+$/i)){var t=r.replace(/^-/,"");var n=this.__value__<0?"-":"";if(r.match(/^-?0\.0{3}/)){var i=t.match(/^[.0]+/g)[0].length-1;var o=t.replace(/^[.0]+/,"").replace(/^([0-9a-f])/i,"$1.");return"".concat(n).concat(o,"e-").concat(i.toString(e))}if(r.match(/^-?[0-9a-f]{7,}\.?/i)){var a=t.match(/^[0-9a-f]+/gi)[0].length-1;var u=t.replace(/\./,"").replace(/^([0-9a-f])/i,"$1.").replace(/0+$/,"").replace(/\.$/,".0");return"".concat(n).concat(u,"e+").concat(a.toString(e))}if(!LNumber.isFloat(this.__value__)){var s=r+".0";return this._minus?"-"+s:s}}return r.replace(/^([0-9]+)e/,"$1.0e")};LFloat.prototype._op=function(e,r){if(r instanceof LNumber){r=r.__value__}var t=LNumber._ops[e];if(e==="/"&&this.__value__===0&&r===0){return NaN}return LFloat(t(this.__value__,r))};LFloat.prototype.toRational=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;if(e===null){return toRational(this.__value__.valueOf())}return approxRatio(e.valueOf())(this.__value__.valueOf())};LFloat.prototype.sqrt=function(){var e=this.valueOf();if(this.cmp(0)<0){var r=LFloat(Math.sqrt(-e));return LComplex({re:0,im:r})}return LFloat(Math.sqrt(e))};LFloat.prototype.abs=function(){var e=this.valueOf();if(e<0){e=-e}return LFloat(e)};var toRational=approxRatio(1e-10);function approxRatio(n){return function(e){var r=function e(n,r,t){var i=function e(r,t){return t0){i=simplest_rational2(n,t)}else if(n.cmp(t)<=0){i=t}else if(t.cmp(0)>0){i=simplest_rational2(t,n)}else if(r.cmp(0)<0){i=LNumber(simplest_rational2(n.sub(),t.sub())).sub()}else{i=LNumber(0)}if(LNumber.isFloat(r)||LNumber.isFloat(e)){return LFloat(i)}return i}function simplest_rational2(e,r){var t=LNumber(e).floor();var n=LNumber(r).floor();if(e.cmp(t)<1){return t}else if(t.cmp(n)===0){var i=LNumber(1).div(r.sub(n));var o=LNumber(1).div(e.sub(t));return t.add(LNumber(1).div(simplest_rational2(i,o)))}else{return t.add(LNumber(1))}}function LRational(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(typeof this!=="undefined"&&!(this instanceof LRational)||typeof this==="undefined"){return new LRational(e,r)}if(!LNumber.isRational(e)){throw new Error("Invalid constructor call for LRational")}var t,n;if(e instanceof LRational){t=LNumber(e.__num__);n=LNumber(e.__denom__)}else{t=LNumber(e.num);n=LNumber(e.denom)}if(!r&&n.cmp(0)!==0){var i=t.op("%",n).cmp(0)===0;if(i){return LNumber(t.div(n))}}this.constant(t,n)}LRational.prototype=Object.create(LNumber.prototype);LRational.prototype.constructor=LRational;LRational.prototype.constant=function(e,r){Object.defineProperty(this,"__num__",{value:e,enumerable:true});Object.defineProperty(this,"__denom__",{value:r,enumerable:true});Object.defineProperty(this,"__type__",{value:"rational",enumerable:true})};LRational.prototype.serialize=function(){return{num:this.__num__,denom:this.__denom__}};LRational.prototype.pow=function(e){if(LNumber.isRational(e)){return pow(this.valueOf(),e.valueOf())}var r=e.cmp(0);if(r===0){return LNumber(1)}if(r===-1){e=e.sub();var t=this.__denom__.pow(e);var n=this.__num__.pow(e);return LRational({num:t,denom:n})}var i=this;e=e.valueOf();while(e>1){i=i.mul(this);e--}return i};LRational.prototype.sqrt=function(){var e=this.__num__.sqrt();var r=this.__denom__.sqrt();if(e instanceof LFloat||r instanceof LFloat){return e.div(r)}return LRational({num:e,denom:r})};LRational.prototype.abs=function(){var e=this.__num__;var r=this.__denom__;if(e.cmp(0)===-1){e=e.sub()}if(r.cmp(0)!==1){r=r.sub()}return LRational({num:e,denom:r})};LRational.prototype.cmp=function(e){return LNumber(this.valueOf(),true).cmp(e)};LRational.prototype.toString=function(){var e=this.__num__.gcd(this.__denom__);var r,t;if(e.cmp(1)!==0){r=this.__num__.div(e);if(r instanceof LRational){r=LNumber(r.valueOf(true))}t=this.__denom__.div(e);if(t instanceof LRational){t=LNumber(t.valueOf(true))}}else{r=this.__num__;t=this.__denom__}var n=this.cmp(0)<0;if(n){if(r.abs().cmp(t.abs())===0){return r.toString()}}else if(r.cmp(t)===0){return r.toString()}return r.toString()+"/"+t.toString()};LRational.prototype.valueOf=function(e){if(this.__denom__.cmp(0)===0){if(this.__num__.cmp(0)<0){return Number.NEGATIVE_INFINITY}return Number.POSITIVE_INFINITY}if(e){return LNumber._ops["/"](this.__num__.value,this.__denom__.value)}return LFloat(this.__num__.valueOf()).div(this.__denom__.valueOf())};LRational.prototype.mul=function(e){if(!(e instanceof LNumber)){e=LNumber(e)}if(LNumber.isRational(e)){var r=this.__num__.mul(e.__num__);var t=this.__denom__.mul(e.__denom__);return LRational({num:r,denom:t})}var n=LNumber.coerce(this,e),i=_slicedToArray(n,2),o=i[0],a=i[1];return o.mul(a)};LRational.prototype.div=function(e){if(!(e instanceof LNumber)){e=LNumber(e)}if(LNumber.isRational(e)){var r=this.__num__.mul(e.__denom__);var t=this.__denom__.mul(e.__num__);return LRational({num:r,denom:t})}var n=LNumber.coerce(this,e),i=_slicedToArray(n,2),o=i[0],a=i[1];var u=o.div(a);return u};LRational.prototype._op=function(e,r){return this[rev_mapping[e]](r)};LRational.prototype.sub=function(e){if(typeof e==="undefined"){return this.mul(-1)}if(!(e instanceof LNumber)){e=LNumber(e)}if(LNumber.isRational(e)){var r=e.__num__.sub();var t=e.__denom__;return this.add(LRational({num:r,denom:t}))}if(!(e instanceof LNumber)){e=LNumber(e).sub()}else{e=e.sub()}var n=LNumber.coerce(this,e),i=_slicedToArray(n,2),o=i[0],a=i[1];return o.add(a)};LRational.prototype.add=function(e){if(!(e instanceof LNumber)){e=LNumber(e)}if(LNumber.isRational(e)){var r=this.__denom__;var t=e.__denom__;var n=this.__num__;var i=e.__num__;var o,a;if(r!==t){a=t.mul(n).add(i.mul(r));o=r.mul(t)}else{a=n.add(i);o=r}return LRational({num:a,denom:o})}if(LNumber.isFloat(e)){return LFloat(this.valueOf()).add(e)}var u=LNumber.coerce(this,e),s=_slicedToArray(u,2),c=s[0],l=s[1];return c.add(l)};function LBigInteger(e,r){if(typeof this!=="undefined"&&!(this instanceof LBigInteger)||typeof this==="undefined"){return new LBigInteger(e,r)}if(e instanceof LBigInteger){return LBigInteger(e.__value__,e._native)}if(!LNumber.isBigInteger(e)){throw new Error("Invalid constructor call for LBigInteger")}this.constant(e,"bigint");Object.defineProperty(this,"_native",{value:r})}LBigInteger.prototype=Object.create(LNumber.prototype);LBigInteger.prototype.constructor=LBigInteger;LBigInteger.bn_op={"+":"iadd","-":"isub","*":"imul","/":"idiv","%":"imod","|":"ior","&":"iand","~":"inot","<<":"ishrn",">>":"ishln"};LBigInteger.prototype.serialize=function(){return this.__value__.toString()};LBigInteger.prototype._op=function(e,r){if(typeof r==="undefined"){if(LNumber.isBN(this.__value__)){e=LBigInteger.bn_op[e];return LBigInteger(this.__value__.clone()[e](),false)}return LBigInteger(LNumber._ops[e](this.__value__),true)}if(LNumber.isBN(this.__value__)&&LNumber.isBN(r.__value__)){e=LBigInteger.bn_op[e];return LBigInteger(this.__value__.clone()[e](r),false)}var t=LNumber._ops[e](this.__value__,r.__value__);if(e==="/"){var n=this.op("%",r).cmp(0)===0;if(n){return LNumber(t)}return LRational({num:this,denom:r})}return LBigInteger(t,true)};LBigInteger.prototype.sqrt=function(){var e;var r=this.cmp(0)<0;if(LNumber.isNative(this.__value__)){e=LNumber(Math.sqrt(r?-this.valueOf():this.valueOf()))}else if(LNumber.isBN(this.__value__)){e=r?this.__value__.neg().sqrt():this.__value__.sqrt()}if(r){return LComplex({re:0,im:e})}return e};LNumber.NaN=LNumber(NaN);LComplex.i=LComplex({im:1,re:0});function InputPort(e){var n=this;if(typeof this!=="undefined"&&!(this instanceof InputPort)||typeof this==="undefined"){return new InputPort(e)}typecheck("InputPort",e,"function");read_only(this,"__type__",text_port);var i;Object.defineProperty(this,"__parser__",{enumerable:true,get:function e(){return i},set:function e(r){typecheck("InputPort::__parser__",r,"parser");i=r}});this._read=e;this._with_parser=this._with_init_parser.bind(this,_asyncToGenerator(_regeneratorRuntime.mark(function e(){var t;return _regeneratorRuntime.wrap(function e(r){while(1)switch(r.prev=r.next){case 0:if(n.char_ready()){r.next=5;break}r.next=3;return n._read();case 3:t=r.sent;i=new Parser(t,{env:n});case 5:return r.abrupt("return",n.__parser__);case 6:case"end":return r.stop()}},e)})));this.char_ready=function(){return!!this.__parser__&&this.__parser__.__lexer__.peek()!==eof};this._make_defaults()}InputPort.prototype._make_defaults=function(){this.read=this._with_parser(function(e){return e.read_object()});this.read_line=this._with_parser(function(e){return e.__lexer__.read_line()});this.read_char=this._with_parser(function(e){return e.__lexer__.read_char()});this.read_string=this._with_parser(function(e,r){if(!LNumber.isInteger(r)){var t=LNumber.getType(r);typeErrorMessage("read-string",t,"integer")}return e.__lexer__.read_string(r.valueOf())});this.peek_char=this._with_parser(function(e){return e.__lexer__.peek_char()})};InputPort.prototype._with_init_parser=function(u,s){var c=this;return _asyncToGenerator(_regeneratorRuntime.mark(function e(){var t,n,i,o,a=arguments;return _regeneratorRuntime.wrap(function e(r){while(1)switch(r.prev=r.next){case 0:r.next=2;return u.call(c);case 2:t=r.sent;for(n=a.length,i=new Array(n),o=0;o"};function OutputPort(e){if(typeof this!=="undefined"&&!(this instanceof OutputPort)||typeof this==="undefined"){return new OutputPort(e)}typecheck("OutputPort",e,"function");read_only(this,"__type__",text_port);this.write=e}OutputPort.prototype.is_open=function(){return this._closed!==true};OutputPort.prototype.close=function(){Object.defineProperty(this,"_closed",{get:function e(){return true},set:function e(){},configurable:false,enumerable:false});this.write=function(){throw new Error("output-port: port is closed")}};OutputPort.prototype.flush=function(){};OutputPort.prototype.toString=function(){return"#"};var BufferedOutputPort=function(e){_inherits(t,e);function t(e){var r;_classCallCheck(this,t);r=_callSuper(this,t,[function(){var e;return(e=r)._write.apply(e,arguments)}]);typecheck("BufferedOutputPort",e,"function");read_only(_assertThisInitialized(r),"_fn",e,{hidden:true});read_only(_assertThisInitialized(r),"_buffer",[],{hidden:true});return r}_createClass(t,[{key:"flush",value:function e(){if(this._buffer.length){this._fn(this._buffer.join(""));this._buffer.length=0}}},{key:"_write",value:function e(){var r=this;for(var t=arguments.length,n=new Array(t),i=0;i"};OutputStringPort.prototype.valueOf=function(){return this.__buffer__.map(function(e){return e.valueOf()}).join("")};function OutputFilePort(e,r){var t=this;if(typeof this!=="undefined"&&!(this instanceof OutputFilePort)||typeof this==="undefined"){return new OutputFilePort(e,r)}typecheck("OutputFilePort",e,"string");read_only(this,"__filename__",e);read_only(this,"_fd",r.valueOf(),{hidden:true});read_only(this,"__type__",text_port);this.write=function(e){if(!LString.isString(e)){e=toString(e)}else{e=e.valueOf()}t.fs().write(t._fd,e,function(e){if(e){throw e}})}}OutputFilePort.prototype=Object.create(OutputPort.prototype);OutputFilePort.prototype.constructor=OutputFilePort;OutputFilePort.prototype.fs=function(){if(!this._fs){this._fs=this.internal("fs")}return this._fs};OutputFilePort.prototype.internal=function(e){return user_env.get("**internal-env**").get(e)};OutputFilePort.prototype.close=function(){var n=this;return new Promise(function(r,t){n.fs().close(n._fd,function(e){if(e){t(e)}else{read_only(n,"_fd",null,{hidden:true});OutputPort.prototype.close.call(n);r()}})})};OutputFilePort.prototype.toString=function(){return"#")};function InputStringPort(e,r){var t=this;if(typeof this!=="undefined"&&!(this instanceof InputStringPort)||typeof this==="undefined"){return new InputStringPort(e)}typecheck("InputStringPort",e,"string");r=r||global_env;e=e.valueOf();this._with_parser=this._with_init_parser.bind(this,function(){if(!t.__parser__){t.__parser__=new Parser(e,{env:r})}return t.__parser__});read_only(this,"__type__",text_port);this._make_defaults()}InputStringPort.prototype.char_ready=function(){return true};InputStringPort.prototype=Object.create(InputPort.prototype);InputStringPort.prototype.constructor=InputStringPort;InputStringPort.prototype.toString=function(){return"#"};function InputByteVectorPort(e){if(typeof this!=="undefined"&&!(this instanceof InputByteVectorPort)||typeof this==="undefined"){return new InputByteVectorPort(e)}typecheck("InputByteVectorPort",e,"uint8array");read_only(this,"__vector__",e);read_only(this,"__type__",binary_port);var t=0;Object.defineProperty(this,"__index__",{enumerable:true,get:function e(){return t},set:function e(r){typecheck("InputByteVectorPort::__index__",r,"number");if(r instanceof LNumber){r=r.valueOf()}if(typeof r==="bigint"){r=Number(r)}if(Math.floor(r)!==r){throw new Error("InputByteVectorPort::__index__ value is "+"not integer")}t=r}})}InputByteVectorPort.prototype=Object.create(InputPort.prototype);InputByteVectorPort.prototype.constructor=InputByteVectorPort;InputByteVectorPort.prototype.toString=function(){return"#"};InputByteVectorPort.prototype.close=function(){var r=this;read_only(this,"__vector__",_nil);var t=function e(){throw new Error("Input-binary-port: port is closed")};["read_u8","close","peek_u8","read_u8_vector"].forEach(function(e){r[e]=t});this.u8_ready=this.char_ready=function(){return false}};InputByteVectorPort.prototype.u8_ready=function(){return true};InputByteVectorPort.prototype.peek_u8=function(){if(this.__index__>=this.__vector__.length){return eof}return this.__vector__[this.__index__]};InputByteVectorPort.prototype.skip=function(){if(this.__index__<=this.__vector__.length){++this.__index__}};InputByteVectorPort.prototype.read_u8=function(){var e=this.peek_u8();this.skip();return e};InputByteVectorPort.prototype.read_u8_vector=function(e){if(typeof e==="undefined"){e=this.__vector__.length}else if(e>this.__index__+this.__vector__.length){e=this.__index__+this.__vector__.length}if(this.peek_u8()===eof){return eof}return this.__vector__.slice(this.__index__,e)};function OutputByteVectorPort(){if(typeof this!=="undefined"&&!(this instanceof OutputByteVectorPort)||typeof this==="undefined"){return new OutputByteVectorPort}read_only(this,"__type__",binary_port);read_only(this,"_buffer",[],{hidden:true});this.write=function(e){typecheck("write",e,["number","uint8array"]);if(LNumber.isNumber(e)){this._buffer.push(e.valueOf())}else{var r;(r=this._buffer).push.apply(r,_toConsumableArray(Array.from(e)))}};Object.defineProperty(this,"__buffer__",{enumerable:true,get:function e(){return Uint8Array.from(this._buffer)}})}OutputByteVectorPort.prototype=Object.create(OutputPort.prototype);OutputByteVectorPort.prototype.constructor=OutputByteVectorPort;OutputByteVectorPort.prototype.close=function(){OutputPort.prototype.close.call(this);read_only(this,"_buffer",null,{hidden:true})};OutputByteVectorPort.prototype._close_guard=function(){if(this._closed){throw new Error("output-port: binary port is closed")}};OutputByteVectorPort.prototype.write_u8=function(e){typecheck("OutputByteVectorPort::write_u8",e,"number");this.write(e)};OutputByteVectorPort.prototype.write_u8_vector=function(e){typecheck("OutputByteVectorPort::write_u8_vector",e,"uint8array");this.write(e)};OutputByteVectorPort.prototype.toString=function(){return"#"};OutputByteVectorPort.prototype.valueOf=function(){return this.__buffer__};function InputFilePort(e,r){if(typeof this!=="undefined"&&!(this instanceof InputFilePort)||typeof this==="undefined"){return new InputFilePort(e,r)}InputStringPort.call(this,e);typecheck("InputFilePort",r,"string");read_only(this,"__filename__",r)}InputFilePort.prototype=Object.create(InputStringPort.prototype);InputFilePort.prototype.constructor=InputFilePort;InputFilePort.prototype.toString=function(){return"#")};function InputBinaryFilePort(e,r){if(typeof this!=="undefined"&&!(this instanceof InputBinaryFilePort)||typeof this==="undefined"){return new InputBinaryFilePort(e,r)}InputByteVectorPort.call(this,e);typecheck("InputBinaryFilePort",r,"string");read_only(this,"__filename__",r)}InputBinaryFilePort.prototype=Object.create(InputByteVectorPort.prototype);InputBinaryFilePort.prototype.constructor=InputBinaryFilePort;InputBinaryFilePort.prototype.toString=function(){return"#")};function OutputBinaryFilePort(e,r){var i=this;if(typeof this!=="undefined"&&!(this instanceof OutputBinaryFilePort)||typeof this==="undefined"){return new OutputBinaryFilePort(e,r)}typecheck("OutputBinaryFilePort",e,"string");read_only(this,"__filename__",e);read_only(this,"_fd",r.valueOf(),{hidden:true});read_only(this,"__type__",binary_port);var o;this.write=function(e){typecheck("write",e,["number","uint8array"]);var n;if(!o){o=i.internal("fs")}if(LNumber.isNumber(e)){n=new Uint8Array([e.valueOf()])}else{n=new Uint8Array(Array.from(e))}return new Promise(function(r,t){o.write(i._fd,n,function(e){if(e){t(e)}else{r()}})})}}OutputBinaryFilePort.prototype=Object.create(OutputFilePort.prototype);OutputBinaryFilePort.prototype.constructor=OutputBinaryFilePort;OutputBinaryFilePort.prototype.write_u8=function(e){typecheck("OutputByteVectorPort::write_u8",e,"number");this.write(e)};OutputBinaryFilePort.prototype.write_u8_vector=function(e){typecheck("OutputByteVectorPort::write_u8_vector",e,"uint8array");this.write(e)};var binary_port=Symbol["for"]("binary");var text_port=Symbol["for"]("text");var eof=new EOF;function EOF(){}EOF.prototype.toString=function(){return"#"};function Interpreter(e){var r=this;var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},n=t.stderr,i=t.stdin,o=t.stdout,a=t.command_line,u=a===void 0?null:a,s=_objectWithoutProperties(t,_excluded3);if(typeof this!=="undefined"&&!(this instanceof Interpreter)||typeof this==="undefined"){return new Interpreter(e,_objectSpread({stdin:i,stdout:o,stderr:n,command_line:u},s))}if(typeof e==="undefined"){e="anonymous"}this.__env__=user_env.inherit(e,s);this.__env__.set("parent.frame",doc("parent.frame",function(){return r.__env__},global_env.__env__["parent.frame"].__doc__));var c="**interaction-environment-defaults**";this.set(c,get_props(s).concat(c));var l=internal_env.inherit("internal-".concat(e));if(is_port(i)){l.set("stdin",i)}if(is_port(n)){l.set("stderr",n)}if(is_port(o)){l.set("stdout",o)}l.set("command-line",u);set_interaction_env(this.__env__,l)}Interpreter.prototype.exec=function(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var t=r.use_dynamic,n=t===void 0?false:t,i=r.dynamic_env,o=r.env;typecheck("Interpreter::exec",e,["string","array"],1);typecheck("Interpreter::exec",n,"boolean",2);if(!o){o=this.__env__}if(!i){i=o}global_env.set("**interaction-environment**",this.__env__);return exec(e,{env:o,dynamic_env:i,use_dynamic:n})};Interpreter.prototype.get=function(e){var r=this.__env__.get(e);if(is_function(r)){var t=new LambdaContext({env:this.__env__});return r.bind(t)}return r};Interpreter.prototype.set=function(e,r){return this.__env__.set(e,r)};Interpreter.prototype.constant=function(e,r){return this.__env__.constant(e,r)};function LipsError(e,r){this.name="LipsError";this.message=e;this.args=r;this.stack=(new Error).stack}LipsError.prototype=new Error;LipsError.prototype.constructor=LipsError;var IgnoreException=function(e){_inherits(r,e);function r(){_classCallCheck(this,r);return _callSuper(this,r,arguments)}return _createClass(r)}(_wrapNativeSuper(Error));function Environment(e,r,t){if(arguments.length===1){if(_typeof$1(arguments[0])==="object"){e=arguments[0];r=null}else if(typeof arguments[0]==="string"){e={};r=null;t=arguments[0]}}this.__docs__=new Map;this.__env__=e;this.__parent__=r;this.__name__=t||"anonymous"}Environment.prototype.list=function(){return get_props(this.__env__)};Environment.prototype.fs=function(){return this.get("**fs**")};Environment.prototype.unset=function(e){if(e instanceof LSymbol){e=e.valueOf()}if(e instanceof LString){e=e.valueOf()}delete this.__env__[e]};Environment.prototype.inherit=function(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(_typeof$1(e)==="object"){r=e}if(!e||_typeof$1(e)==="object"){e="child of "+(this.__name__||"unknown")}return new Environment(r||{},this,e)};Environment.prototype.doc=function(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var t=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(e instanceof LSymbol){e=e.__name__}if(e instanceof LString){e=e.valueOf()}if(r){if(!t){r=trim_lines(r)}this.__docs__.set(e,r);return this}if(this.__docs__.has(e)){return this.__docs__.get(e)}if(this.__parent__){return this.__parent__.doc(e)}};Environment.prototype.new_frame=function(e,r){var n=this.inherit("__frame__");n.set("parent.frame",doc("parent.frame",function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:1;e=e.valueOf();var r=n.__parent__;if(!is_env(r)){return _nil}if(e<=0){return r}var t=r.get("parent.frame");return t(e-1)},global_env.__env__["parent.frame"].__doc__));r.callee=e;n.set("arguments",r);return n};Environment.prototype._lookup=function(e){if(e instanceof LSymbol){e=e.__name__}if(e instanceof LString){e=e.valueOf()}if(this.__env__.hasOwnProperty(e)){return Value(this.__env__[e])}if(this.__parent__){return this.__parent__._lookup(e)}};Environment.prototype.toString=function(){return"#"};Environment.prototype.clone=function(){var r=this;var t={};Object.keys(this.__env__).forEach(function(e){t[e]=r.__env__[e]});return new Environment(t,this.__parent__,this.__name__)};Environment.prototype.merge=function(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"merge";typecheck("Environment::merge",e,"environment");return this.inherit(r,e.__env__)};function Value(e){if(typeof this!=="undefined"&&!(this instanceof Value)||typeof this==="undefined"){return new Value(e)}this.value=e}Value.isUndefined=function(e){return e instanceof Value&&typeof e.value==="undefined"};Value.prototype.valueOf=function(){return this.value};function Values(e){if(!e.length){return}if(e.length===1){return e[0]}if(typeof this!=="undefined"&&!(this instanceof Values)||typeof this==="undefined"){return new Values(e)}this.__values__=e}Values.prototype.toString=function(){return this.__values__.map(function(e){return toString(e)}).join("\n")};Values.prototype.valueOf=function(){return this.__values__};Environment.prototype.get=function(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};typecheck("Environment::get",e,["symbol","string"]);var t=r.throwError,n=t===void 0?true:t;var i=e;if(i instanceof LSymbol||i instanceof LString){i=i.valueOf()}var o=this._lookup(i);if(o instanceof Value){if(Value.isUndefined(o)){return undefined}return patch_value(o.valueOf())}var a;if(e instanceof LSymbol&&e[LSymbol.object]){a=e[LSymbol.object]}else if(typeof i==="string"){a=i.split(".").filter(Boolean)}if(a&&a.length>0){var u=a,s=_toArray(u),c=s[0],l=s.slice(1);o=this._lookup(c);if(l.length){try{if(o instanceof Value){o=o.valueOf()}else{o=get(root,c);if(is_function(o)){o=unbind(o)}}if(typeof o!=="undefined"){return get.apply(void 0,[o].concat(_toConsumableArray(l)))}}catch(e){throw e}}else if(o instanceof Value){return patch_value(o.valueOf())}o=get(root,i)}if(typeof o!=="undefined"){return o}if(n){throw new Error("Unbound variable `"+i.toString()+"'")}};Environment.prototype.set=function(e,r){var t=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;typecheck("Environment::set",e,["string","symbol"]);if(LNumber.isNumber(r)){r=LNumber(r)}if(e instanceof LSymbol){e=e.__name__}if(e instanceof LString){e=e.valueOf()}this.__env__[e]=r;if(t){this.doc(e,t,true)}return this};Environment.prototype.constant=function(r,e){var t=this;if(this.__env__.hasOwnProperty(r)){throw new Error("Environment::constant: ".concat(r," already exists"))}if(arguments.length===1&&is_plain_object(arguments[0])){var n=arguments[0];Object.keys(n).forEach(function(e){t.constant(r,n[e])})}else{Object.defineProperty(this.__env__,r,{value:e,enumerable:true})}return this};Environment.prototype.has=function(e){return this.__env__.hasOwnProperty(e)};Environment.prototype.ref=function(e){var r=this;while(true){if(!r){break}if(r.has(e)){return r}r=r.__parent__}};Environment.prototype.parents=function(){var e=this;var r=[];while(e){r.unshift(e);e=e.__parent__}return r};function quote(e){if(is_promise(e)){return e.then(quote)}if(is_pair(e)||e instanceof LSymbol){e[__data__]=true}return e}var native_lambda=_parse(tokenize('(lambda ()\n "[native code]"\n (throw "Invalid Invocation"))'))[0];var get=doc("get",function e(r){var t;for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o0&&arguments[0]!==undefined?arguments[0]:null;if(e===null){e=internal(this,"stdin")}typecheck_text_port("peek-char",e,"input-port");return e.peek_char()},"(peek-char port)\n\n This function reads and returns a character from the string\n port, or, if there is no more data in the string port, it\n returns an EOF."),"read-line":doc("read-line",function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;if(e===null){e=internal(this,"stdin")}typecheck_text_port("read-line",e,"input-port");return e.read_line()},"(read-line port)\n\n This function reads and returns the next line from the input\n port."),"read-char":doc("read-char",function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;if(e===null){e=internal(this,"stdin")}typecheck_text_port("read-char",e,"input-port");return e.read_char()},"(read-char port)\n\n This function reads and returns the next character from the\n input port."),read:doc("read",function(){var e=_asyncToGenerator(function(){var i=this;var o=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;return _regeneratorRuntime.mark(function e(){var t,n;return _regeneratorRuntime.wrap(function e(r){while(1)switch(r.prev=r.next){case 0:t=i.env;if(o===null){n=internal(t,"stdin")}else{n=o}typecheck_text_port("read",n,"input-port");return r.abrupt("return",n.read.call(t));case 4:case"end":return r.stop()}},e)})()});function r(){return e.apply(this,arguments)}return r}(),"(read [port])\n\n This function, if called with a port, it will parse the next\n item from the port. If called without an input, it will read\n a string from standard input (using the browser's prompt or\n a user defined input method) and parse it. This function can be\n used together with `eval` to evaluate code from port."),pprint:doc("pprint",function e(r){if(is_pair(r)){r=new lips.Formatter(r.toString(true))["break"]().format();global_env.get("display").call(global_env,r)}else{global_env.get("write").call(global_env,r)}global_env.get("newline").call(global_env)},"(pprint expression)\n\n This function will pretty print its input to stdout. If it is called\n with a non-list, it will just call the print function on its\n input."),print:doc("print",function e(){var r=global_env.get("display");var t=global_env.get("newline");var n=this.use_dynamic;var i=global_env;var o=global_env;for(var a=arguments.length,u=new Array(a),s=0;s1?t-1:0),i=1;in.length){throw new Error("Not enough arguments")}var u=0;var s=global_env.get("repr");r=r.replace(o,function(e){var r=e[1];if(r==="~"){return"~"}else if(r==="%"){return"\n"}else{var t=n[u++];if(r==="a"){return s(t)}else{return s(t,true)}}});a=r.match(/~([\S])/);if(a){throw new Error("format: Unrecognized escape sequence ".concat(a[1]))}return r},"(format string n1 n2 ...)\n\n This function accepts a string template and replaces any\n escape sequences in its inputs:\n\n * ~a value as if printed with `display`\n * ~s value as if printed with `write`\n * ~% newline character\n * ~~ literal tilde '~'\n\n If there are missing inputs or other escape characters it\n will error."),display:doc("display",function e(r){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;if(t===null){t=internal(this,"stdout")}else{typecheck("display",t,"output-port")}var n=r;if(!(t instanceof OutputBinaryFilePort)){n=global_env.get("repr")(r)}t.write.call(global_env,n)},"(display string [port])\n\n This function outputs the string to the standard output or\n the port if given. No newline."),"display-error":doc("display-error",function e(){var r=internal(this,"stderr");var t=global_env.get("repr");for(var n=arguments.length,i=new Array(n),o=0;o1&&arguments[1]!==undefined?arguments[1]:{},t=r.use_dynamic,n=_objectWithoutProperties(r,_excluded4);var i=this;var a=this;var u;var s=_objectSpread(_objectSpread({},n),{},{env:this,dynamic_env:i,use_dynamic:t});var c=_evaluate(e.cdr.car,s);c=resolve_promises(c);function l(r,t,n){if(is_promise(r)){return r.then(function(e){return l(r,e,n)})}if(is_promise(t)){return t.then(function(e){return l(r,e,n)})}if(is_promise(n)){return n.then(function(e){return l(r,t,e)})}a.get("set-obj!").call(a,r,t,n);return n}if(is_pair(e.car)&&LSymbol.is(e.car.car,".")){var f=e.car.cdr.car;var _=e.car.cdr.cdr.car;var p=_evaluate(f,s);var d=_evaluate(_,s);return l(p,d,c)}if(!(e.car instanceof LSymbol)){throw new Error("set! first argument need to be a symbol or "+"dot accessor that evaluate to object.")}var y=e.car.valueOf();u=this.ref(e.car.__name__);return unpromise(c,function(e){if(!u){var r=y.split(".");if(r.length>1){var t=r.pop();var n=r.join(".");var i=o.get(n,{throwError:false});if(i){l(i,t,e);return}}throw new Error("Unbound variable `"+y+"'")}u.set(y,e)})}),"(set! name value)\n\n Macro that can be used to set the value of the variable or slot (mutate it).\n set! searches the scope chain until it finds first non empty slot and sets it."),"unset!":doc(new Macro("set!",function(e){if(!(e.car instanceof LSymbol)){throw new Error("unset! first argument need to be a symbol or "+"dot accessor that evaluate to object.")}var r=e.car;var t=this.ref(r);if(t){delete t.__env__[r.__name__]}}),"(unset! name)\n\n Function to delete the specified name from environment.\n Trying to access the name afterwards will error."),"set-car!":doc("set-car!",function(e,r){typecheck("set-car!",e,"pair");e.car=r},"(set-car! obj value)\n\n Function that sets the car (first item) of the list/pair to specified value.\n The old value is lost."),"set-cdr!":doc("set-cdr!",function(e,r){typecheck("set-cdr!",e,"pair");e.cdr=r},"(set-cdr! obj value)\n\n Function that sets the cdr (tail) of the list/pair to specified value.\n It will destroy the list. The old tail is lost."),"empty?":doc("empty?",function(e){return typeof e==="undefined"||is_nil(e)},"(empty? object)\n\n Function that returns #t if value is nil (an empty list) or undefined."),gensym:doc("gensym",gensym,"(gensym)\n\n Generates a unique symbol that is not bound anywhere,\n to use with macros as meta name."),load:doc("load",function e(u,r){typecheck("load",u,"string");var s=this;if(s.__name__==="__frame__"){s=s.__parent__}if(!(r instanceof Environment)){if(s===global_env){r=s}else{r=this.get("**interaction-environment**")}}var c="**module-path**";var l=global_env.get(c,{throwError:false});u=u.valueOf();if(!u.match(/.[^.]+$/)){u+=".scm"}var t=u.match(/\.xcb$/);function f(e){if(t){e=unserialize_bin(e)}else{if(type(e)==="buffer"){e=e.toString()}e=e.replace(/^#!.*/,"");if(e.match(/^\{/)){e=unserialize(e)}}return exec(e,{env:r})}function n(e){return root.fetch(e).then(function(e){return t?e.arrayBuffer():e.text()}).then(function(e){if(t){e=new Uint8Array(e)}return e})}if(is_node()){return new Promise(function(){var t=_asyncToGenerator(_regeneratorRuntime.mark(function e(t,n){var i,o,a;return _regeneratorRuntime.wrap(function e(r){while(1)switch(r.prev=r.next){case 0:i=nodeRequire("path");if(!l){r.next=6;break}l=l.valueOf();u=i.join(l,u);r.next=12;break;case 6:o=s.get("command-line",{throwError:false});if(!o){r.next=11;break}r.next=10;return o();case 10:a=r.sent;case 11:if(a&&!is_nil(a)){process.cwd();u=i.join(i.dirname(a.car.valueOf()),u)}case 12:global_env.set(c,i.dirname(u));nodeRequire("fs").readFile(u,function(e,r){if(e){n(e);global_env.set(c,l)}else{try{f(r).then(function(){t();global_env.set(c,l)})["catch"](n)}catch(e){n(e)}}});case 14:case"end":return r.stop()}},e)}));return function(e,r){return t.apply(this,arguments)}}())}if(l){l=l.valueOf();u=l+"/"+u.replace(/^\.?\/?/,"")}return n(u).then(function(e){global_env.set(c,u.replace(/\/[^/]*$/,""));return f(e)}).then(function(){})["finally"](function(){global_env.set(c,l)})},"(load filename)\n (load filename environment)\n\n Fetches the file (from disk or network) and evaluates its content as LIPS code.\n If the second argument is provided and it's an environment the evaluation\n will happen in that environment."),while:doc(new Macro("while",function(e,r){var t=e.car;var n=_objectSpread(_objectSpread({},r),{},{env:this});var i=new Pair(new LSymbol("begin"),e.cdr);return function r(){return unpromise(_evaluate(t,n),function(e){if(e){return unpromise(_evaluate(i,n),r)}})}()}),"(while cond body)\n\n Creates a loop, it executes cond and body until cond expression is false."),do:doc(new Macro("do",function(){var t=_asyncToGenerator(function(_,e){var p=this;var d=e.use_dynamic,y=e.error;return _regeneratorRuntime.mark(function e(){var u,t,s,c,n,l,f,i,o,a;return _regeneratorRuntime.wrap(function e(r){while(1)switch(r.prev=r.next){case 0:u=p;t=u;s=u.inherit("do");c=_.car;n=_.cdr.car;l=_.cdr.cdr;if(!is_nil(l)){l=new Pair(LSymbol("begin"),l)}f={env:u,dynamic_env:t,use_dynamic:d,error:y};i=c;case 9:if(is_nil(i)){r.next=20;break}o=i.car;r.t0=s;r.t1=o.car;r.next=15;return _evaluate(o.cdr.car,f);case 15:r.t2=r.sent;r.t0.set.call(r.t0,r.t1,r.t2);i=i.cdr;r.next=9;break;case 20:f={env:s,dynamic_env:t,error:y};a=_regeneratorRuntime.mark(function e(){var t,n,i,o,a;return _regeneratorRuntime.wrap(function e(r){while(1)switch(r.prev=r.next){case 0:if(is_nil(l)){r.next=3;break}r.next=3;return lips.evaluate(l,f);case 3:t=c;n={};case 5:if(is_nil(t)){r.next=15;break}i=t.car;if(is_nil(i.cdr.cdr)){r.next=12;break}r.next=10;return _evaluate(i.cdr.cdr.car,f);case 10:o=r.sent;n[i.car.valueOf()]=o;case 12:t=t.cdr;r.next=5;break;case 15:a=Object.getOwnPropertySymbols(n);f.env=s=u.inherit("do");Object.keys(n).concat(a).forEach(function(e){s.set(e,n[e])});case 18:case"end":return r.stop()}},e)});case 22:r.next=24;return _evaluate(n.car,f);case 24:r.t3=r.sent;if(!(r.t3===false)){r.next=29;break}return r.delegateYield(a(),"t4",27);case 27:r.next=22;break;case 29:if(is_nil(n.cdr)){r.next=33;break}r.next=32;return _evaluate(n.cdr.car,f);case 32:return r.abrupt("return",r.sent);case 33:case"end":return r.stop()}},e)})()});return function(e,r){return t.apply(this,arguments)}}()),"(do (( )) (test return) . body)\n\n Iteration macro that evaluates the expression body in scope of the variables.\n On each loop it changes the variables according to the expression and runs\n test to check if the loop should continue. If test is a single value, the macro\n will return undefined. If the test is a pair of expressions the macro will\n evaluate and return the second expression after the loop exits."),if:doc(new Macro("if",function(t,e){var r=e.error,n=e.use_dynamic;var i=this;var o=this;var a={env:o,dynamic_env:i,use_dynamic:n,error:r};var u=function e(r){if(is_false(r)){return _evaluate(t.cdr.cdr.car,a)}else{return _evaluate(t.cdr.car,a)}};if(is_nil(t)){throw new Error("too few expressions for `if`")}var s=_evaluate(t.car,a);return unpromise(s,u)}),"(if cond true-expr false-expr)\n\n Macro that evaluates cond expression and if the value is true, it\n evaluates and returns true-expression, if not it evaluates and returns\n false-expression."),"let-env":new Macro("let-env",function(r){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var t=e.dynamic_env,n=e.use_dynamic,i=e.error;typecheck("let-env",r,"pair");var o=_evaluate(r.car,{env:this,dynamic_env:t,error:i,use_dynamic:n});return unpromise(o,function(e){typecheck("let-env",e,"environment");return _evaluate(Pair(LSymbol("begin"),r.cdr),{env:e,dynamic_env:t,error:i})})},"(let-env env . body)\n\n Special macro that evaluates body in context of given environment\n object."),letrec:doc(let_macro(Symbol["for"]("letrec")),"(letrec ((a value-a) (b value-b) ...) . body)\n\n Macro that creates a new environment, then evaluates and assigns values to\n names and then evaluates the body in context of that environment.\n Values are evaluated sequentially and the next value can access the\n previous values/names."),"letrec*":doc(let_macro(Symbol["for"]("letrec")),"(letrec* ((a value-a) (b value-b) ...) . body)\n\n Same as letrec but the order of execution of the binding is guaranteed,\n so you can use recursive code as well as referencing the previous binding.\n\n In LIPS both letrec and letrec* behave the same."),"let*":doc(let_macro(Symbol["for"]("let*")),"(let* ((a value-a) (b value-b) ...) . body)\n\n Macro similar to `let`, but the subsequent bindings after the first\n are evaluated in the environment including the previous let variables,\n so you can define one variable, and use it in the next's definition."),let:doc(let_macro(Symbol["for"]("let")),"(let ((a value-a) (b value-b) ...) . body)\n\n Macro that creates a new environment, then evaluates and assigns values to names,\n and then evaluates the body in context of that environment. Values are evaluated\n sequentially but you can't access previous values/names when the next are\n evaluated. You can only get them in the body of the let expression. (If you want\n to define multiple variables and use them in each other's definitions, use\n `let*`.)"),"begin*":doc(parallel("begin*",function(e){return e.pop()}),"(begin* . body)\n\n This macro is a parallel version of begin. It evaluates each expression\n in the body and if it's a promise it will await it in parallel and return\n the value of the last expression (i.e. it uses Promise.all())."),shuffle:doc("shuffle",function(e){typecheck("shuffle",e,["pair","nil","array"]);var r=global_env.get("random");if(is_nil(e)){return _nil}if(Array.isArray(e)){return shuffle(e.slice(),r)}var t=global_env.get("list->array")(e);t=shuffle(t,r);return global_env.get("array->list")(t)},"(shuffle obj)\n\n Order items in vector or list in random order."),begin:doc(new Macro("begin",function(e,r){var n=_objectSpread(_objectSpread({},r),{},{env:this});var i=global_env.get("list->array")(e);var o;return function r(){if(i.length){var e=i.shift();var t=_evaluate(e,n);return unpromise(t,function(e){o=e;return r()})}else{return o}}()}),"(begin . args)\n\n Macro that runs a list of expressions in order and returns the value\n of the last one. It can be used in places where you can only have a\n single expression, like (if)."),ignore:new Macro("ignore",function(e,r){var t=_objectSpread(_objectSpread({},r),{},{env:this,dynamic_env:this});_evaluate(new Pair(new LSymbol("begin"),e),t)},"(ignore . body)\n\n Macro that will evaluate the expression and swallow any promises that may\n be created. It will discard any value that may be returned by the last body\n expression. The code should have side effects and/or when it's promise\n it should resolve to undefined."),"call/cc":doc(Macro.defmacro("call/cc",function(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var t=_objectSpread({env:this},r);return unpromise(_evaluate(e.car,t),function(e){if(is_function(e)){return e(new Continuation(null))}})}),"(call/cc proc)\n\n Call-with-current-continuation.\n\n NOT SUPPORTED BY LIPS RIGHT NOW"),parameterize:doc(new Macro("parameterize",function(r,e){var i=e.dynamic_env;var o=i.inherit("parameterize").new_frame(null,{});var a=_objectSpread(_objectSpread({},e),{},{env:this});var u=r.car;if(!is_pair(u)){var t=type(u);throw new Error("Invalid syntax for parameterize expecting pair got ".concat(t))}function s(){var e=new Pair(new LSymbol("begin"),r.cdr);return _evaluate(e,_objectSpread(_objectSpread({},a),{},{dynamic_env:o}))}return function t(){var e=u.car;var n=e.car.valueOf();return unpromise(_evaluate(e.cdr.car,a),function(e){var r=i.get(n,{throwError:false});if(!is_parameter(r)){throw new Error("Unknown parameter ".concat(n))}o.set(n,r.inherit(e));if(!is_null(u.cdr)){u=u.cdr;return t()}else{return s()}})}()}),"(parameterize ((name value) ...)\n\n Macro that change the dynamic variable created by make-parameter."),"make-parameter":doc(new Macro("make-parameter",function(e,r){r.dynamic_env;var t=_evaluate(e.car,r);var n;if(is_pair(e.cdr.car)){n=_evaluate(e.cdr.car,r)}return new Parameter(t,n)}),"(make-parameter init converter)\n\n Function creates new dynamic variable that can be custimized with parameterize\n macro. The value should be assigned to a variable e.g.:\n\n (define radix (make-parameter 10))\n\n The result value is a procedure that return the value of dynamic variable."),"define-syntax-parameter":doc(new Macro("define-syntax-parameter",function(e,r){var t=e.car;var n=this;if(!(t instanceof LSymbol)){throw new Error("define-syntax-parameter: invalid syntax expecting symbol got ".concat(type(t)))}var i=_evaluate(e.cdr.car,_objectSpread({env:n},r));typecheck("define-syntax-parameter",i,"syntax",2);i.__name__=t.valueOf();if(i.__name__ instanceof LString){i.__name__=i.__name__.valueOf()}var o;if(is_pair(e.cdr.cdr)&&LString.isString(e.cdr.cdr.car)){o=e.cdr.cdr.car.valueOf()}n.set(e.car,new SyntaxParameter(i),o,true)}),"(define-syntax-parameter name syntax [__doc__])\n\n Binds to the transformer obtained by evaluating .\n The transformer provides the default expansion for the syntax parameter,\n and in the absence of syntax-parameterize, is functionally equivalent to\n define-syntax."),"syntax-parameterize":doc(new Macro("syntax-parameterize",function(e,r){var t=global_env.get("list->array")(e.car);var n=this.inherit("syntax-parameterize");while(t.length){var i=t.shift();if(!(is_pair(i)||i.car instanceof LSymbol)){var o="invalid syntax for syntax-parameterize: ".concat(repr(e,true));throw new Error("syntax-parameterize: ".concat(o))}var a=_evaluate(i.cdr.car,_objectSpread(_objectSpread({},r),{},{env:this}));var u=i.car;typecheck("syntax-parameterize",a,["syntax"]);typecheck("syntax-parameterize",u,"symbol");a.__name__=u.valueOf();if(a.__name__ instanceof LString){a.__name__=a.__name__.valueOf()}var s=new SyntaxParameter(a);if(u.is_gensym()){var c=u.literal();var l=this.get(c,{throwError:false});if(l instanceof SyntaxParameter){n.set(c,s)}}n.set(u,s)}var f=new Pair(new LSymbol("begin"),e.cdr);return _evaluate(f,_objectSpread(_objectSpread({},r),{},{env:n}))}),"(syntax-parameterize (bindings) body)\n\n Macro work similar to let-syntax but the the bindnds will be exposed to the user.\n With syntax-parameterize you can define anaphoric macros."),define:doc(Macro.defmacro("define",function(t,e){var n=this;if(is_pair(t.car)&&t.car.car instanceof LSymbol){var r=new Pair(new LSymbol("define"),new Pair(t.car.car,new Pair(new Pair(new LSymbol("lambda"),new Pair(t.car.cdr,t.cdr)))));return r}else if(e.macro_expand){return}e.dynamic_env=this;e.env=n;var i=t.cdr.car;var o;if(is_pair(i)){i=_evaluate(i,e);o=true}else if(i instanceof LSymbol){i=n.get(i)}typecheck("define",t.car,"symbol");return unpromise(i,function(e){if(n.__name__===Syntax.__merge_env__){n=n.__parent__}if(o&&(is_function(e)&&is_lambda(e)||e instanceof Syntax||is_parameter(e))){e.__name__=t.car.valueOf();if(e.__name__ instanceof LString){e.__name__=e.__name__.valueOf()}}var r;if(is_pair(t.cdr.cdr)&&LString.isString(t.cdr.cdr.car)){r=t.cdr.cdr.car.valueOf()}n.set(t.car,e,r,true)})}),'(define name expression)\n (define name expression "doc string")\n (define (function-name . args) . body)\n\n Macro for defining values. It can be used to define variables,\n or functions. If the first argument is list it will create a function\n with name being first element of the list. This form expands to\n `(define function-name (lambda args body))`'),"set-obj!":doc("set-obj!",function(e,r,t){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;var i=_typeof$1(e);if(is_null(e)||i!=="object"&&i!=="function"){var o=typeErrorMessage("set-obj!",type(e),["object","function"]);throw new Error(o)}typecheck("set-obj!",r,["string","symbol","number"]);e=unbind(e);r=r.valueOf();if(arguments.length===2){delete e[r]}else if(is_prototype(e)&&is_function(t)){e[r]=unbind(t);e[r][__prototype__]=true}else if(is_function(t)||is_native(t)||is_nil(t)){e[r]=t}else{e[r]=t&&!is_prototype(t)?t.valueOf():t}if(props){var a=e[r];Object.defineProperty(e,r,_objectSpread(_objectSpread({},n),{},{value:a}))}},"(set-obj! obj key value)\n (set-obj! obj key value props)\n\n Function set a property of a JavaScript object. props should be a vector of pairs,\n passed to Object.defineProperty."),"null-environment":doc("null-environment",function(){return global_env.inherit("null")},"(null-environment)\n\n Returns a clean environment with only the standard library."),values:doc("values",function e(){for(var r=arguments.length,t=new Array(r),n=0;n1&&arguments[1]!==undefined?arguments[1]:{},m=e.use_dynamic,v=e.error;var g=this;var b;if(is_pair(h.cdr)&&LString.isString(h.cdr.car)&&!is_nil(h.cdr.cdr)){b=h.cdr.car.valueOf()}function P(){var e=is_context(this)?this:{dynamic_env:g},t=e.dynamic_env;var n=g.inherit("lambda");t=t.inherit("lambda");if(this&&!is_context(this)){if(this&&!this.__instance__){Object.defineProperty(this,"__instance__",{enumerable:false,get:function e(){return true},set:function e(){},configurable:false})}n.set("this",this)}for(var r=arguments.length,i=new Array(r),o=0;o> SYNTAX");log(e);log(v);var n=P.inherit("syntax");var i=n;var o=this;if(o.__name__===Syntax.__merge_env__){var a=Object.getOwnPropertySymbols(o.__env__);a.forEach(function(e){o.__parent__.set(e,o.__env__[e])});o=o.__parent__}var u={env:n,dynamic_env:i,use_dynamic:g,error:b};var s,c,l;if(v.car instanceof LSymbol){s=v.car;l=w(v.cdr.car);c=v.cdr.cdr}else{s="...";l=w(v.car);c=v.cdr}try{while(!is_nil(c)){var f=c.car.car;var _=c.car.cdr.car;log("[[[ RULE");log(f);var p=extract_patterns(f,e,l,s,{expansion:this,define:P});if(p){if(is_debug()){console.log(JSON.stringify(symbolize(p),true,2));console.log("PATTERN: "+f.toString(true));console.log("MACRO: "+e.toString(true))}var d=[];var y=transform_syntax({bindings:p,expr:_,symbols:l,scope:n,lex_scope:o,names:d,ellipsis:s});log("OUPUT>>> ",y);if(y){_=y}var h=o.merge(n,Syntax.__merge_env__);if(t){return{expr:_,scope:h}}var m=_evaluate(_,_objectSpread(_objectSpread({},u),{},{env:h}));return clear_gensyms(m,d)}c=c.cdr}}catch(e){e.message+="\nin macro:\n ".concat(v.toString(true));throw e}throw new Error("syntax-rules: no matching syntax in macro ".concat(e.toString(true)))},P);t.__code__=v;return t},"(syntax-rules () (pattern expression) ...)\n\n Base of hygienic macros, it will return a new syntax expander\n that works like Lisp macros."),quote:doc(new Macro("quote",function(e){return quote(e.car)}),"(quote expression) or 'expression\n\n Macro that returns a single LIPS expression as data (it won't evaluate the\n argument). It will return a list if put in front of LIPS code.\n And if put in front of a symbol it will return the symbol itself, not the value\n bound to that name."),"unquote-splicing":doc("unquote-splicing",function(){throw new Error("You can't call `unquote-splicing` outside of quasiquote")},"(unquote-splicing code) or ,@code\n\n Special form used in the quasiquote macro. It evaluates the expression inside and\n splices the list into quasiquote's result. If it is not the last element of the\n expression, the computed value must be a pair."),unquote:doc("unquote",function(){throw new Error("You can't call `unquote` outside of quasiquote")},"(unquote code) or ,code\n\n Special form used in the quasiquote macro. It evaluates the expression inside and\n substitutes the value into quasiquote's result."),quasiquote:Macro.defmacro("quasiquote",function(e,r){var u=r.use_dynamic,s=r.error;var c=this;var l=c;function o(e){return is_pair(e)||is_plain_object(e)||Array.isArray(e)}function f(e,r){var t=arguments.length>2&&arguments[2]!==undefined?arguments[2]:o;if(is_pair(e)){var n=e.car;var i=e.cdr;if(t(n)){n=r(n)}if(t(i)){i=r(i)}if(is_promise(n)||is_promise(i)){return promise_all([n,i]).then(function(e){var r=_slicedToArray(e,2),t=r[0],n=r[1];return new Pair(t,n)})}else{return new Pair(n,i)}}return e}function a(e,r){if(is_pair(e)){if(!is_nil(r)){e.append(r)}}else{e=new Pair(e,r)}return e}function t(e){return!!e.filter(function(e){return is_pair(e)&&LSymbol.is(e.car,/^(unquote|unquote-splicing)$/)}).length}function _(e,n,i){return e.reduce(function(e,r){if(!is_pair(r)){e.push(r);return e}if(LSymbol.is(r.car,"unquote-splicing")){var t;if(n+11){var r="You can't splice multiple atoms inside list";throw new Error(r)}if(!(is_pair(i.cdr)&&is_nil(t[0]))){return t[0]}}t=t.map(function(e){if(y.has(e)){return e.clone()}else{y.add(e);return e}});var n=h(i.cdr,0,1);if(is_nil(n)&&is_nil(t[0])){return undefined}return unpromise(n,function(e){if(is_nil(t[0])){return e}if(t.length===1){return a(t[0],e)}var r=t.reduce(function(e,r){return a(e,r)});return a(r,e)})})}(i.car.cdr)}var y=new Set;function h(e,r,t){if(is_pair(e)){if(is_pair(e.car)){if(LSymbol.is(e.car.car,"unquote-splicing")){return d(e,r+1,t)}if(LSymbol.is(e.car.car,"unquote")){if(r+2===t&&is_pair(e.car.cdr)&&is_pair(e.car.cdr.car)&&LSymbol.is(e.car.cdr.car.car,"unquote-splicing")){var n=e.car.cdr;return new Pair(new Pair(new LSymbol("unquote"),d(n,r+2,t)),_nil)}else if(is_pair(e.car.cdr)&&!is_nil(e.car.cdr.cdr)){if(is_pair(e.car.cdr.car)){var i=[];return function r(t){if(is_nil(t)){return Pair.fromArray(i)}return unpromise(_evaluate(t.car,{env:c,dynamic_env:l,use_dynamic:u,error:s}),function(e){i.push(e);return r(t.cdr)})}(e.car.cdr)}else{return e.car.cdr}}}}if(LSymbol.is(e.car,"quasiquote")){var o=h(e.cdr,r,t+1);return new Pair(e.car,o)}if(LSymbol.is(e.car,"quote")){return new Pair(e.car,h(e.cdr,r,t))}if(LSymbol.is(e.car,"unquote")){r++;if(rt){throw new Error("You can't call `unquote` outside "+"of quasiquote")}if(is_pair(e.cdr)){if(!is_nil(e.cdr.cdr)){if(is_pair(e.cdr.car)){var a=[];return function r(t){if(is_nil(t)){return Pair.fromArray(a)}return unpromise(_evaluate(t.car,{env:c,dynamic_env:l,use_dynamic:u,error:s}),function(e){a.push(e);return r(t.cdr)})}(e.cdr)}else{return e.cdr}}else{return _evaluate(e.cdr.car,{env:c,dynamic_env:l,error:s})}}else{return e.cdr}}return f(e,function(e){return h(e,r,t)})}else if(is_plain_object(e)){return p(e,r,t)}else if(e instanceof Array){return _(e,r,t)}return e}function n(e){if(is_pair(e)){delete e[__data__];if(!e.have_cycles("car")){n(e.car)}if(!e.have_cycles("cdr")){n(e.cdr)}}}if(is_plain_object(e.car)&&!t(Object.values(e.car))){return quote(e.car)}if(Array.isArray(e.car)&&!t(e.car)){return quote(e.car)}if(is_pair(e.car)&&!e.car.find("unquote")&&!e.car.find("unquote-splicing")&&!e.car.find("quasiquote")){return quote(e.car)}var i=h(e.car,0,1);return unpromise(i,function(e){n(e);return quote(e)})},"(quasiquote list)\n\n Similar macro to `quote` but inside it you can use special expressions (unquote\n x) abbreviated to ,x that will evaluate x and insert its value verbatim or\n (unquote-splicing x) abbreviated to ,@x that will evaluate x and splice the value\n into the result. Best used with macros but it can be used outside."),clone:doc("clone",function e(r){typecheck("clone",r,"pair");return r.clone()},"(clone list)\n\n Function that returns a clone of the list, that does not share any pairs with the\n original, so the clone can be safely mutated without affecting the original."),append:doc("append",function e(){var r;for(var t=arguments.length,n=new Array(t),i=0;iarray")(r).reverse();return global_env.get("array->list")(t)}else if(Array.isArray(r)){return r.reverse()}else{throw new Error(typeErrorMessage("reverse",type(r),"array or pair"))}},"(reverse list)\n\n Function that reverses the list or array. If value is not a list\n or array it will error."),nth:doc("nth",function e(r,t){typecheck("nth",r,"number");typecheck("nth",t,["array","pair"]);if(is_pair(t)){var n=t;var i=0;while(iarray")(t).join(r)},"(join separator list)\n\n Function that returns a string by joining elements of the list using separator."),split:doc("split",function e(r,t){typecheck("split",r,["regex","string"]);typecheck("split",t,"string");return global_env.get("array->list")(t.split(r))},"(split separator string)\n\n Function that creates a list by splitting string by separator which can\n be a string or regular expression."),replace:doc("replace",function e(r,t,n){typecheck("replace",r,["regex","string"]);typecheck("replace",t,["string","function"]);typecheck("replace",n,"string");if(is_function(t)){var i=[];n.replace(r,function(){i.push(t.apply(void 0,arguments))});return unpromise(i,function(e){return n.replace(r,function(){return e.shift()})})}return n.replace(r,t)},"(replace pattern replacement string)\n\n Function that changes pattern to replacement inside string. Pattern can be a\n string or regex and replacement can be function or string. See Javascript\n String.replace()."),match:doc("match",function e(r,t){typecheck("match",r,["regex","string"]);typecheck("match",t,"string");var n=t.match(r);return n?global_env.get("array->list")(n):false},"(match pattern string)\n\n Function that returns a match object from JavaScript as a list or #f if\n no match."),search:doc("search",function e(r,t){typecheck("search",r,["regex","string"]);typecheck("search",t,"string");return t.search(r)},"(search pattern string)\n\n Function that returns the first found index of the pattern inside a string."),repr:doc("repr",function e(r,t){return toString(r,t)},"(repr obj)\n\n Function that returns a LIPS code representation of the object as a string."),"escape-regex":doc("escape-regex",function(e){typecheck("escape-regex",e,"string");return escape_regex(e.valueOf())},"(escape-regex string)\n\n Function that returns a new string where all special operators used in regex,\n are escaped with backslashes so they can be used in the RegExp constructor\n to match a literal string."),env:doc("env",function e(e){e=e||this.env;var r=Object.keys(e.__env__).map(LSymbol);var t;if(r.length){t=Pair.fromArray(r)}else{t=_nil}if(e.__parent__ instanceof Environment){return global_env.get("env").call(this,e.__parent__).append(t)}return t},"(env)\n (env obj)\n\n Function that returns a list of names (functions, macros and variables)\n that are bound in the current environment or one of its parents."),new:doc("new",function(e){for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n2&&arguments[2]!==undefined?arguments[2]:specials.LITERAL;typecheck("set-special!",e,"string",1);typecheck("set-special!",r,"symbol",2);specials.append(e.valueOf(),r,t)},'(set-special! symbol name [type])\n\n Add a special symbol to the list of transforming operators by the parser.\n e.g.: `(add-special! "#" \'x)` will allow to use `#(1 2 3)` and it will be\n transformed into (x (1 2 3)) so you can write x macro that will process\n the list. 3rd argument is optional, and it can be one of two values:\n lips.specials.LITERAL, which is the default behavior, or\n lips.specials.SPLICE which causes the value to be unpacked into the expression.\n This can be used for e.g. to make `#(1 2 3)` into (x 1 2 3) that is needed\n by # that defines vectors.'),get:get,".":get,unbind:doc(unbind,"(unbind fn)\n\n Function that removes the weak 'this' binding from a function so you\n can get properties from the actual function object."),type:doc(type,"(type object)\n\n Function that returns the type of an object as string."),debugger:doc("debugger",function(){debugger},'(debugger)\n\n Function that triggers the JavaScript debugger (e.g. the browser devtools)\n using the "debugger;" statement. If a debugger is not running this\n function does nothing.'),in:doc("in",function(e,r){if(e instanceof LSymbol||e instanceof LString||e instanceof LNumber){e=e.valueOf()}return e in unbox(r)},'(in key value)\n\n Function that uses the Javascript "in" operator to check if key is\n a valid property in the value.'),"instance?":doc("instance?",function(e){return is_instance(e)},"(instance? obj)\n\n Checks if object is an instance, created with a new operator"),instanceof:doc("instanceof",function(e,r){return r instanceof unbind(e)},"(instanceof type obj)\n\n Predicate that tests if the obj is an instance of type."),"prototype?":doc("prototype?",is_prototype,"(prototype? obj)\n\n Predicate that tests if value is a valid JavaScript prototype,\n i.e. calling (new) with it will not throw ' is not a constructor'."),"macro?":doc("macro?",function(e){return e instanceof Macro},"(macro? expression)\n\n Predicate that tests if value is a macro."),"continuation?":doc("continuation?",is_continuation,"(continuation? expression)\n\n Predicate that tests if value is a callable continuation."),"function?":doc("function?",is_function,"(function? expression)\n\n Predicate that tests if value is a callable function."),"real?":doc("real?",function(e){if(type(e)!=="number"){return false}if(e instanceof LNumber){return e.isFloat()}return LNumber.isFloat(e)},"(real? number)\n\n Predicate that tests if value is a real number (not complex)."),"number?":doc("number?",function(e){return Number.isNaN(e)||LNumber.isNumber(e)},"(number? expression)\n\n Predicate that tests if value is a number or NaN value."),"string?":doc("string?",function(e){return LString.isString(e)},"(string? expression)\n\n Predicate that tests if value is a string."),"pair?":doc("pair?",is_pair,"(pair? expression)\n\n Predicate that tests if value is a pair or list structure."),"regex?":doc("regex?",function(e){return e instanceof RegExp},"(regex? expression)\n\n Predicate that tests if value is a regular expression."),"null?":doc("null?",function(e){return is_null(e)},"(null? expression)\n\n Predicate that tests if value is null-ish (i.e. undefined, nil, or\n Javascript null)."),"boolean?":doc("boolean?",function(e){return typeof e==="boolean"},"(boolean? expression)\n\n Predicate that tests if value is a boolean (#t or #f)."),"symbol?":doc("symbol?",function(e){return e instanceof LSymbol},"(symbol? expression)\n\n Predicate that tests if value is a LIPS symbol."),"array?":doc("array?",function(e){return e instanceof Array},"(array? expression)\n\n Predicate that tests if value is an array."),"object?":doc("object?",function(e){return!is_nil(e)&&e!==null&&!(e instanceof LCharacter)&&!(e instanceof RegExp)&&!(e instanceof LString)&&!is_pair(e)&&!(e instanceof LNumber)&&_typeof$1(e)==="object"&&!(e instanceof Array)},"(object? expression)\n\n Predicate that tests if value is an plain object (not another LIPS type)."),flatten:doc("flatten",function e(r){typecheck("flatten",r,"pair");return r.flatten()},"(flatten list)\n\n Returns a shallow list from tree structure (pairs)."),"array->list":doc("array->list",function(e){typecheck("array->list",e,"array");return Pair.fromArray(e)},"(array->list array)\n\n Function that converts a JavaScript array to a LIPS cons list."),"tree->array":doc("tree->array",to_array("tree->array",true),"(tree->array list)\n\n Function that converts a LIPS cons tree structure into a JavaScript array."),"list->array":doc("list->array",to_array("list->array"),"(list->array list)\n\n Function that converts a LIPS list into a JavaScript array."),apply:doc("apply",function e(r){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;iarray").call(this,o));return r.apply(this,prepare_fn_args(r,n))},"(apply fn list)\n\n Function that calls fn with the list of arguments."),length:doc("length",function e(r){if(!r||is_nil(r)){return 0}if(is_pair(r)){return r.length()}if("length"in r){return r.length}},'(length expression)\n\n Function that returns the length of the object. The object can be a LIPS\n list or any object that has a "length" property. Returns undefined if the\n length could not be found.'),"string->number":doc("string->number",function(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:10;typecheck("string->number",e,"string",1);typecheck("string->number",r,"number",2);e=e.valueOf();r=r.valueOf();if(e.match(rational_bare_re)||e.match(rational_re)){return parse_rational(e,r)}else if(e.match(complex_bare_re)||e.match(complex_re)){return parse_complex(e,r)}else{var t=r===10&&!e.match(/e/i)||r===16;if(e.match(int_bare_re)&&t||e.match(int_re)){return parse_integer(e,r)}if(e.match(float_re)){return parse_float(e)}}return false},"(string->number number [radix])\n\n Function that parses a string into a number."),try:doc(new Macro("try",function(t,e){var f=this;var _=e.use_dynamic;e.error;return new Promise(function(r,u){var s,n;if(LSymbol.is(t.cdr.car.car,"catch")){s=t.cdr.car;if(is_pair(t.cdr.cdr)&&LSymbol.is(t.cdr.cdr.car.car,"finally")){n=t.cdr.cdr.car}}else if(LSymbol.is(t.cdr.car.car,"finally")){n=t.cdr.car}if(!(n||s)){throw new Error("try: invalid syntax")}function c(e){r(e);throw new IgnoreException("[CATCH]")}var l=function e(r,t){t(r)};if(n){l=function e(r,t){l=u;i.error=function(e){throw e};unpromise(_evaluate(new Pair(new LSymbol("begin"),n.cdr),i),function(){t(r)})}}var i={env:f,use_dynamic:_,dynamic_env:f,error:function e(r){if(r instanceof IgnoreException){throw r}if(s){var t=f.inherit("try");var n=s.cdr.car.car;if(!(n instanceof LSymbol)){throw new Error("try: invalid syntax: catch require variable name")}t.set(n,r);var i;var o={env:t,use_dynamic:_,dynamic_env:f,error:function e(r){i=true;u(r);throw new IgnoreException("[CATCH]")}};var a=_evaluate(new Pair(new LSymbol("begin"),s.cdr.cdr),o);unpromise(a,function e(r){if(!i){l(r,c)}})}else{l(undefined,function(){u(r)})}}};var e=_evaluate(t.car,i);unpromise(e,function(e){l(e,r)},i.error)})}),"(try expr (catch (e) code))\n (try expr (catch (e) code) (finally code))\n (try expr (finally code))\n\n Macro that executes expr and catches any exceptions thrown. If catch is provided\n it's executed when an error is thrown. If finally is provided it's always\n executed at the end."),raise:doc("raise",function(e){throw e},"(raise obj)\n\n Throws the object verbatim (no wrapping an a new Error)."),throw:doc("throw",function(e){throw new Error(e)},"(throw string)\n\n Throws a new exception."),find:doc("find",function r(t,n){typecheck("find",t,["regex","function"]);typecheck("find",n,["pair","nil"]);if(is_null(n)){return _nil}var e=matcher("find",t);return unpromise(e(n.car),function(e){if(e&&!is_nil(e)){return n.car}return r(t,n.cdr)})},"(find fn list)\n (find regex list)\n\n Higher-order function that finds the first value for which fn return true.\n If called with a regex it will create a matcher function."),"for-each":doc("for-each",function(e){var r;typecheck("for-each",e,"function");for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i1?r-1:0),o=1;o3?n-3:0),o=3;o3?i-3:0),a=3;aarray")(t);var o=[];var a=matcher("filter",r);return function r(t){function e(e){if(e&&!is_nil(e)){o.push(n)}return r(++t)}if(t===i.length){return Pair.fromArray(o)}var n=i[t];return unpromise(a(n),e)}(0)},"(filter fn list)\n (filter regex list)\n\n Higher-order function that calls `fn` for each element of the list\n and return a new list for only those elements for which fn returns\n a truthy value. If called with a regex it will create a matcher function."),compose:doc(compose,"(compose . fns)\n\n Higher-order function that creates a new function that applies all functions\n from right to left and returns the last value. Reverse of pipe.\n e.g.:\n ((compose (curry + 2) (curry * 3)) 10) --\x3e (+ 2 (* 3 10)) --\x3e 32"),pipe:doc(pipe,"(pipe . fns)\n\n Higher-order function that creates a new function that applies all functions\n from left to right and returns the last value. Reverse of compose.\n e.g.:\n ((pipe (curry + 2) (curry * 3)) 10) --\x3e (* 3 (+ 2 10)) --\x3e 36"),curry:doc(curry,"(curry fn . args)\n\n Higher-order function that creates a curried version of the function.\n The result function will have partially applied arguments and it\n will keep returning one-argument functions until all arguments are provided,\n then it calls the original function with the accumulated arguments.\n\n e.g.:\n (define (add a b c d) (+ a b c d))\n (define add1 (curry add 1))\n (define add12 (add 2))\n (display (add12 3 4))"),gcd:doc("gcd",function e(){for(var r=arguments.length,t=new Array(r),n=0;nu?o%=u:u%=o}o=abs(s*t[a])/(o+u)}return LNumber(o)},"(lcm n1 n2 ...)\n\n Function that returns the least common multiple of the arguments."),"odd?":doc("odd?",single_math_op(function(e){return LNumber(e).isOdd()}),"(odd? number)\n\n Checks if number is odd."),"even?":doc("even?",single_math_op(function(e){return LNumber(e).isEven()}),"(even? number)\n\n Checks if number is even."),"*":doc("*",reduce_math_op(function(e,r){return LNumber(e).mul(r)},LNumber(1)),"(* . numbers)\n\n Multiplies all numbers passed as arguments. If single value is passed\n it will return that value."),"+":doc("+",reduce_math_op(function(e,r){return LNumber(e).add(r)},LNumber(0)),"(+ . numbers)\n\n Sums all numbers passed as arguments. If single value is passed it will\n return that value."),"-":doc("-",function(){for(var e=arguments.length,r=new Array(e),t=0;t":doc(">",function(){for(var e=arguments.length,r=new Array(e),t=0;t",r,["bigint","float","rational"]);return seq_compare(function(e,r){return LNumber(e).cmp(r)===1},r)},"(> x1 x2 x3 ...)\n\n Function that compares its numerical arguments and checks if they are\n monotonically decreasing, i.e. x1 > x2 and x2 > x3 and so on."),"<":doc("<",function(){for(var e=arguments.length,r=new Array(e),t=0;t=":doc(">=",function(){for(var e=arguments.length,r=new Array(e),t=0;t=",r,["bigint","float","rational"]);return seq_compare(function(e,r){return[0,1].includes(LNumber(e).cmp(r))},r)},"(>= x1 x2 ...)\n\n Function that compares its numerical arguments and checks if they are\n monotonically nonincreasing, i.e. x1 >= x2 and x2 >= x3 and so on."),"eq?":doc("eq?",equal,"(eq? a b)\n\n Function that compares two values if they are identical."),or:doc(new Macro("or",function(e,r){var i=r.use_dynamic,o=r.error;var a=global_env.get("list->array")(e);var u=this;var s=u;if(!a.length){return false}var c;return function r(){function e(e){c=e;if(!is_false(c)){return c}else{return r()}}if(!a.length){if(!is_false(c)){return c}else{return false}}else{var t=a.shift();var n=_evaluate(t,{env:u,dynamic_env:s,use_dynamic:i,error:o});return unpromise(n,e)}}()}),"(or . expressions)\n\n Macro that executes the values one by one and returns the first that is\n a truthy value. If there are no expressions that evaluate to true it\n returns false."),and:doc(new Macro("and",function(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},t=r.use_dynamic,n=r.error;var i=global_env.get("list->array")(e);var o=this;var a=o;if(!i.length){return true}var u;var s={env:o,dynamic_env:a,use_dynamic:t,error:n};return function r(){function e(e){u=e;if(is_false(u)){return u}else{return r()}}if(!i.length){if(!is_false(u)){return u}else{return false}}else{var t=i.shift();return unpromise(_evaluate(t,s),e)}}()}),"(and . expressions)\n\n Macro that evaluates each expression in sequence and if any value returns false\n it will stop and return false. If each value returns true it will return the\n last value. If it's called without arguments it will return true."),"|":doc("|",function(e,r){return LNumber(e).or(r)},"(| a b)\n\n Function that calculates the bitwise or operation."),"&":doc("&",function(e,r){return LNumber(e).and(r)},"(& a b)\n\n Function that calculates the bitwise and operation."),"~":doc("~",function(e){return LNumber(e).neg()},"(~ number)\n\n Function that calculates the bitwise inverse (flip all the bits)."),">>":doc(">>",function(e,r){return LNumber(e).shr(r)},"(>> a b)\n\n Function that right shifts the value a by value b bits."),"<<":doc("<<",function(e,r){return LNumber(e).shl(r)},"(<< a b)\n\n Function that left shifts the value a by value b bits."),not:doc("not",function e(r){if(is_null(r)){return true}return!r},"(not object)\n\n Function that returns the Boolean negation of its argument.")},undefined,"global");var user_env=global_env.inherit("user-env");function set_interaction_env(e,r){e.constant("**internal-env**",r);e.doc("**internal-env**","**internal-env**\n\n Constant used to hide stdin, stdout and stderr so they don't interfere\n with variables with the same name. Constants are an internal type\n of variable that can't be redefined, defining a variable with the same name\n will throw an error.");global_env.set("**interaction-environment**",e)}set_interaction_env(user_env,internal_env);global_env.doc("**interaction-environment**","**interaction-environment**\n\n Internal dynamic, global variable used to find interpreter environment.\n It's used so the read and write functions can locate **internal-env**\n that contains the references to stdin, stdout and stderr.");function set_fs(e){user_env.get("**internal-env**").set("fs",e)}(function(){var e={ceil:"ceiling"};["floor","round","ceil"].forEach(function(r){var t=e[r]?e[r]:r;global_env.set(t,doc(t,function(e){typecheck(t,e,"number");if(e instanceof LNumber){return e[r]()}},"(".concat(t," number)\n\n Function that calculates the ").concat(t," of a number.")))})})();function allPossibleCases(e){if(e.length===1){return e[0]}else{var r=[];var t=allPossibleCases(e.slice(1));for(var n=0;n3&&arguments[3]!==undefined?arguments[3]:null;var i=e?" in expression `".concat(e,"`"):"";if(n!==null){i+=" (argument ".concat(n,")")}if(is_function(t)){return"Invalid type: got ".concat(r).concat(i)}if(t instanceof Array){if(t.length===1){var o=t[0].toLowerCase();t="a"+("aeiou".includes(o)?"n ":" ")+t[0]}else{t=new Intl.ListFormat("en",{style:"long",type:"disjunction"}).format(t)}}return"Expecting ".concat(t," got ").concat(r).concat(i)}function typecheck_number(e,r,t){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;typecheck(e,r,"number",n);var i=r.__type__;var o;if(is_pair(t)){t=t.to_array()}if(t instanceof Array){t=t.map(function(e){return e.valueOf()})}if(t instanceof Array){t=t.map(function(e){return e.valueOf().toLowerCase()});if(t.includes(i)){o=true}}else{t=t.valueOf().toLowerCase()}if(!o&&i!==t){throw new Error(typeErrorMessage(e,i,t,n))}}function typecheck_numbers(t,e,n){e.forEach(function(e,r){typecheck_number(t,e,n,r+1)})}function typecheck_args(t,e,n){e.forEach(function(e,r){typecheck(t,e,n,r+1)})}function typecheck_text_port(e,r,t){typecheck(e,r,t);if(r.__type__===binary_port){throw new Error(typeErrorMessage(e,"binary-port","textual-port"))}}function typecheck(e,r,t){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;e=e.valueOf();var i=type(r).toLowerCase();if(is_function(t)){if(!t(r)){throw new Error(typeErrorMessage(e,i,t,n))}return}var o=false;if(is_pair(t)){t=t.to_array()}if(t instanceof Array){t=t.map(function(e){return e.valueOf()})}if(t instanceof Array){t=t.map(function(e){return e.valueOf().toLowerCase()});if(t.includes(i)){o=true}}else{t=t.valueOf().toLowerCase()}if(!o&&i!==t){throw new Error(typeErrorMessage(e,i,t,n))}}function memoize(t){var n=new WeakMap;return function(e){var r=n.get(e);if(!r){r=t(e)}return r}}type=memoize(type);function type(e){var r=type_constants.get(e);if(r){return r}if(_typeof$1(e)==="object"){for(var t=0,n=Object.entries(type_mapping);t2&&arguments[2]!==undefined?arguments[2]:{},n=t.env,i=t.dynamic_env,o=t.use_dynamic;var a=n===null||n===void 0?void 0:n.new_frame(e,r);var u=i===null||i===void 0?void 0:i.new_frame(e,r);var s=new LambdaContext({env:a,use_dynamic:o,dynamic_env:u});return resolve_promises(e.apply(s,r))}function apply(n,e){var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{},i=r.env,o=r.dynamic_env,a=r.use_dynamic,t=r.error,u=t===void 0?function(){}:t;e=evaluate_args(e,{env:i,dynamic_env:o,error:u,use_dynamic:a});return unpromise(e,function(e){if(is_raw_lambda(n)){n=unbind(n)}e=prepare_fn_args(n,e);var r=e.slice();var t=call_function(n,r,{env:i,dynamic_env:o,use_dynamic:a});return unpromise(t,function(e){if(is_pair(e)){e.mark_cycles();return quote(e)}return box(e)},u)})}var _p_name__=new WeakMap;var Parameter=function(){function n(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var t=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;_classCallCheck(this,n);_defineProperty(this,"__value__",void 0);_defineProperty(this,"__fn__",void 0);_classPrivateFieldInitSpec(this,_p_name__,{writable:true,value:void 0});this.__value__=e;if(r){if(!is_function(r)){throw new Error("Section argument to Parameter need to be function "+"".concat(type(r)," given"))}this.__fn__=r}if(t){_classPrivateFieldSet(this,_p_name__,t)}}_createClass(n,[{key:"__name__",get:function e(){return _classPrivateFieldGet(this,_p_name__)},set:function e(r){_classPrivateFieldSet(this,_p_name__,r);if(this.__fn__){this.__fn__.__name__="fn-".concat(r)}}},{key:"invoke",value:function e(){if(is_function(this.__fn__)){return this.__fn__(this.__value__)}return this.__value__}},{key:"inherit",value:function e(r){return new n(r,this.__fn__,this.__name__)}}]);return n}();var LambdaContext=function(){function r(e){_classCallCheck(this,r);_defineProperty(this,"env",void 0);_defineProperty(this,"dynamic_env",void 0);_defineProperty(this,"use_dynamic",void 0);Object.assign(this,e)}_createClass(r,[{key:"__name__",get:function e(){return this.env.__name__}},{key:"__parent__",get:function e(){return this.env.__parent__}},{key:"get",value:function e(){var r;return(r=this.env).get.apply(r,arguments)}}]);return r}();function search_param(e,r){var t=e.get(r.__name__,{throwError:false});if(is_parameter(t)&&t!==r){return t}var n=user_env.get("**interaction-environment**");while(true){var i=e.get("parent.frame",{throwError:false});e=i(0);if(e===n){break}t=e.get(r.__name__,{throwError:false});if(is_parameter(t)&&t!==r){return t}}return r}var Continuation=function(){function r(e){_classCallCheck(this,r);_defineProperty(this,"__value__",void 0);this.__value__=e}_createClass(r,[{key:"invoke",value:function e(){if(this.__value__===null){throw new Error("Continuations are not implemented yet")}}}]);return r}();function _evaluate(u){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},s=e.env,c=e.dynamic_env,l=e.use_dynamic,r=e.error,f=r===void 0?noop:r,t=_objectWithoutProperties(e,_excluded6);return function(e){try{if(!is_env(c)){c=s===true?user_env:s||user_env}if(l){s=c}else if(s===true){s=user_env}else{s=s||global_env}var r={env:s,dynamic_env:c,use_dynamic:l,error:f};var t;if(is_null(u)){return u}if(u instanceof LSymbol){return s.get(u)}if(!is_pair(u)){return u}var n=u.car;var e=u.cdr;if(is_pair(n)){t=resolve_promises(_evaluate(n,r));if(is_promise(t)){return t.then(function(e){if(!is_callable(e)){throw new Error(type(e)+" "+s.get("repr")(e)+" is not callable while evaluating "+u.toString())}return _evaluate(new Pair(e,u.cdr),r)})}else if(!is_callable(t)){throw new Error(type(t)+" "+s.get("repr")(t)+" is not callable while evaluating "+u.toString())}}if(n instanceof LSymbol){t=s.get(n)}else if(is_function(n)){t=n}var i;if(t instanceof Syntax){i=evaluate_syntax(t,u,r)}else if(t instanceof Macro){i=evaluate_macro(t,e,r)}else if(is_function(t)){i=apply(t,e,r)}else if(t instanceof SyntaxParameter){i=evaluate_syntax(t._syntax,u,r)}else if(is_parameter(t)){var o=search_param(c,t);if(is_null(u.cdr)){i=o.invoke()}else{return unpromise(_evaluate(u.cdr.car,r),function(e){o.__value__=e})}}else if(is_continuation(t)){i=t.invoke()}else if(is_pair(u)){t=n&&n.toString();throw new Error("".concat(type(n)," ").concat(t," is not a function"))}else{return u}var a=s.get(Symbol["for"]("__promise__"),{throwError:false});if(a===true&&is_promise(i)){i=i.then(function(e){if(is_pair(e)&&!t[__data__]){return _evaluate(e,r)}return e});return new QuotedPromise(i)}return i}catch(e){f&&f.call(s,e,u)}}(t)}var compile=exec_collect(function(e){return e});var exec=exec_collect(function(e,r){return r});function exec_with_stacktrace(e){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},t=r.env,n=r.dynamic_env,i=r.use_dynamic;return _evaluate(e,{env:t,dynamic_env:n,use_dynamic:i,error:function e(r,t){if(r&&r.message){if(r.message.match(/^Error:/)){var n=/^(Error:)\s*([^:]+:\s*)/;r.message=r.message.replace(n,"$1 $2")}if(t){if(!(r.__code__ instanceof Array)){r.__code__=[]}r.__code__.push(t.toString(true))}}if(!(r instanceof IgnoreException)){throw r}}})}function exec_collect(y){return function(){var r=_asyncToGenerator(function(f){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_=e.env,p=e.dynamic_env,d=e.use_dynamic;return _regeneratorRuntime.mark(function e(){var t,n,i,o,a,u,s,c,l;return _regeneratorRuntime.wrap(function e(r){while(1)switch(r.prev=r.next){case 0:if(!is_env(p)){p=_===true?user_env:_||user_env}if(_===true){_=user_env}else{_=_||user_env}t=[];if(!is_pair(f)){r.next=8;break}r.next=6;return exec_with_stacktrace(code,{env:_,dynamic_env:p,use_dynamic:d});case 6:r.t0=r.sent;return r.abrupt("return",[r.t0]);case 8:n=Array.isArray(f)?f:_parse(f);i=false;o=false;r.prev=11;u=_asyncIterator(n);case 13:r.next=15;return u.next();case 15:if(!(i=!(s=r.sent).done)){r.next=31;break}c=s.value;r.next=19;return exec_with_stacktrace(c,{env:_,dynamic_env:p,use_dynamic:d});case 19:l=r.sent;r.t1=t;r.t2=y;r.t3=c;r.next=25;return l;case 25:r.t4=r.sent;r.t5=(0,r.t2)(r.t3,r.t4);r.t1.push.call(r.t1,r.t5);case 28:i=false;r.next=13;break;case 31:r.next=37;break;case 33:r.prev=33;r.t6=r["catch"](11);o=true;a=r.t6;case 37:r.prev=37;r.prev=38;if(!(i&&u["return"]!=null)){r.next=42;break}r.next=42;return u["return"]();case 42:r.prev=42;if(!o){r.next=45;break}throw a;case 45:return r.finish(42);case 46:return r.finish(37);case 47:return r.abrupt("return",t);case 48:case"end":return r.stop()}},e,null,[[11,33,37,47],[38,,42,46]])})()});function e(e){return r.apply(this,arguments)}return e}()}function balanced(e){var r={"[":"]","(":")"};var t;if(typeof e==="string"){t=tokenize(e)}else{t=e.map(function(e){return e&&e.token?e.token:e})}var n=Object.keys(r);var i=Object.values(r).concat(n);t=t.filter(function(e){return i.includes(e)});var o=new Stack;var a=_createForOfIteratorHelper(t),u;try{for(a.s();!(u=a.n()).done;){var s=u.value;if(n.includes(s)){o.push(s)}else if(!o.is_empty()){var c=o.top();var l=r[c];if(s===l){o.pop()}else{throw new Error("Syntax error: missing closing ".concat(l))}}else{throw new Error("Syntax error: not matched closing ".concat(s))}}}catch(e){a.e(e)}finally{a.f()}return o.is_empty()}function fworker(e){var r="("+e.toString()+")()";var t=window.URL||window.webkitURL;var n;try{n=new Blob([r],{type:"application/javascript"})}catch(e){var i=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder;n=new i;n.append(r);n=n.getBlob()}return new root.Worker(t.createObjectURL(n))}function is_dev(){return lips.version.match(/^(\{\{VER\}\}|DEV)$/)}function get_current_script(){if(is_node()){return}var e;if(document.currentScript){e=document.currentScript}else{var r=document.querySelectorAll("script");if(!r.length){return}e=r[r.length-1]}var t=e.getAttribute("src");return t}var current_script=get_current_script();function bootstrap(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"";var r="dist/std.xcb";if(e===""){if(current_script){e=current_script.replace(/[^/]*$/,"std.xcb")}else if(is_dev()){e="https://cdn.jsdelivr.net/gh/jcubic/lips@devel/".concat(r)}else{e="https://cdn.jsdelivr.net/npm/@jcubic/lips@".concat(lips.version,"/").concat(r)}}var t=global_env.get("load");return t.call(user_env,e,global_env)}function Worker(e){this.url=e;var a=this.worker=fworker(function(){var a;var u;self.addEventListener("message",function(e){var t=e.data;var r=t.id;if(t.type!=="RPC"||r===null){return}function n(e){self.postMessage({id:r,type:"RPC",result:e})}function i(e){self.postMessage({id:r,type:"RPC",error:e})}if(t.method==="eval"){if(!u){i("Worker RPC: LIPS not initialized, call init first");return}u.then(function(){var e=t.params[0];var r=t.params[1];a.exec(e,{use_dynamic:r}).then(function(e){e=e.map(function(e){return e&&e.valueOf()});n(e)})["catch"](function(e){i(e)})})}else if(t.method==="init"){var o=t.params[0];if(typeof o!=="string"){i("Worker RPC: url is not a string")}else{importScripts("".concat(o,"/dist/lips.min.js"));a=new lips.Interpreter("worker");u=bootstrap(o);u.then(function(){n(true)})}}})});this.rpc=function(){var n=0;return function e(r,t){var o=++n;return new Promise(function(n,i){a.addEventListener("message",function e(r){var t=r.data;if(t&&t.type==="RPC"&&t.id===o){if(t.error){i(t.error)}else{n(t.result)}a.removeEventListener("message",e)}});a.postMessage({type:"RPC",method:r,id:o,params:t})})}}();this.rpc("init",[e])["catch"](function(e){console.error(e)});this.exec=function(e,r){var t=r.use_dynamic,n=t===void 0?false:t;return this.rpc("eval",[e,n])}}var serialization_map={pair:function e(r){var t=_slicedToArray(r,2),n=t[0],i=t[1];return Pair(n,i)},number:function e(r){if(LString.isString(r)){return LNumber([r,10])}return LNumber(r)},regex:function e(r){var t=_slicedToArray(r,2),n=t[0],i=t[1];return new RegExp(n,i)},nil:function e(){return _nil},symbol:function e(r){if(LString.isString(r)){return LSymbol(r)}else if(Array.isArray(r)){return LSymbol(Symbol["for"](r[0]))}},string:LString,character:LCharacter};var available_class=Object.keys(serialization_map);var class_map={};for(var _i6=0,_Object$entries3=Object.entries(available_class);_i6<_Object$entries3.length;_i6++){var _Object$entries3$_i=_slicedToArray(_Object$entries3[_i6],2),i=_Object$entries3$_i[0],cls=_Object$entries3$_i[1];class_map[cls]=+i}function mangle_name(e){return class_map[e]}function resolve_name(e){return available_class[e]}function serialize(e){return JSON.stringify(e,function(e,r){var t=this[e];if(t){if(t instanceof RegExp){return{"@":mangle_name("regex"),"#":[t.source,t.flags]}}var n=mangle_name(t.constructor.__class__);if(!is_undef(n)){return{"@":n,"#":t.serialize()}}}return r})}function unserialize(e){return JSON.parse(e,function(e,r){if(r&&_typeof$1(r)==="object"){if(!is_undef(r["@"])){var t=resolve_name(r["@"]);if(serialization_map[t]){return serialization_map[t](r["#"])}}}return r})}var cbor=function(){var e={pair:Pair,symbol:LSymbol,number:LNumber,string:LString,character:LCharacter,nil:_nil.constructor,regex:RegExp};function r(e,r){return{deserialize:r,Class:e}}var t=new Encoder;var o={};for(var n=0,i=Object.entries(serialization_map);n1){var n=r.reduce(function(e,r){return e+r.length},0);var i=new Uint8Array(n);var o=0;r.forEach(function(e){i.set(e,o);o+=e.length});return i}else if(r.length){return r[0]}}function encode_magic(){var e=1;var r=new TextEncoder("utf-8");return r.encode("LIPS".concat(e.toString().padStart(3," ")))}var MAGIC_LENGTH=7;function decode_magic(e){var r=new TextDecoder("utf-8");var t=r.decode(e.slice(0,MAGIC_LENGTH));var n=t.substring(0,4);if(n==="LIPS"){var i=t.match(/^(....).*([0-9]+)$/);if(i){return{type:i[1],version:Number(i[2])}}}return{type:"unknown"}}function serialize_bin(e){var r=encode_magic();var t=cbor.encode(e);return merge_uint8_array(r,pack_1(t,{magic:false}))}function unserialize_bin(e){var r=decode_magic(e),t=r.type,n=r.version;if(t==="LIPS"&&n===1){var i=unpack_1(e.slice(MAGIC_LENGTH),{magic:false});return cbor.decode(i)}else{throw new Error("Invalid file format ".concat(t))}}function execError(e){console.error(e.message||e);if(Array.isArray(e.code)){console.error(e.code.map(function(e,r){return"[".concat(r+1,"]: ").concat(e)}))}}function init(){var a=["text/x-lips","text/x-scheme"];var u;function s(e){var r;return(r=e.getAttribute("data-bootstrap"))!==null&&r!==void 0?r:e.getAttribute("bootstrap")}function c(t){return new Promise(function(r){var e=t.getAttribute("src");if(e){return fetch(e).then(function(e){return e.text()}).then(exec).then(r)["catch"](function(e){execError(e);r()})}else{return exec(t.innerHTML).then(r)["catch"](function(e){execError(e);r()})}})}function e(){return new Promise(function(i){var o=Array.from(document.querySelectorAll("script"));return function e(){var r=o.shift();if(!r){i()}else{var t=r.getAttribute("type");if(a.includes(t)){var n=s(r);if(!u&&typeof n==="string"){return bootstrap(n).then(function(){return c(r)}).then(e)}else{return c(r).then(e)}}else if(t&&t.match(/lips|lisp/)){console.warn("Expecting "+a.join(" or ")+" found "+t)}return e()}}()})}if(!window.document){return Promise.resolve()}else if(currentScript){var r=currentScript;var t=s(r);if(typeof t==="string"){return bootstrap(t).then(function(){u=true;return e()})}}return e()}var currentScript=typeof window!=="undefined"&&window.document&&document.currentScript;if(typeof window!=="undefined"){contentLoaded(window,init)}var banner=function(){var e=LString("Fri, 22 Mar 2024 12:40:41 +0000").valueOf();var r=e==="{{"+"DATE}}"?new Date:new Date(e);var t=function e(r){return r.toString().padStart(2,"0")};var n=r.getFullYear();var i=[n,t(r.getMonth()+1),t(r.getDate())].join("-");var o="\n __ __ __\n / / \\ \\ _ _ ___ ___ \\ \\\n| | \\ \\ | | | || . \\/ __> | |\n| | > \\ | |_ | || _/\\__ \\ | |\n| | / ^ \\ |___||_||_| <___/ | |\n \\_\\ /_/ \\_\\ /_/\n\nLIPS Interpreter DEV (".concat(i,") \nCopyright (c) 2018-").concat(n," Jakub T. Jankiewicz\n\nType (env) to see environment with functions macros and variables. You can also\nuse (help name) to display help for specific function or macro, (apropos name)\nto display list of matched names in environment and (dir object) to list\nproperties of an object.\n").replace(/^.*\n/,"");return o}();read_only(Ahead,"__class__","ahead");read_only(Pair,"__class__","pair");read_only(Nil,"__class__","nil");read_only(Pattern,"__class__","pattern");read_only(Formatter,"__class__","formatter");read_only(Macro,"__class__","macro");read_only(Syntax,"__class__","syntax");read_only(Syntax.Parameter,"__class__","syntax-parameter");read_only(Environment,"__class__","environment");read_only(InputPort,"__class__","input-port");read_only(OutputPort,"__class__","output-port");read_only(BufferedOutputPort,"__class__","output-port");read_only(OutputStringPort,"__class__","output-string-port");read_only(InputStringPort,"__class__","input-string-port");read_only(InputFilePort,"__class__","input-file-port");read_only(OutputFilePort,"__class__","output-file-port");read_only(LipsError,"__class__","lips-error");[LNumber,LComplex,LRational,LFloat,LBigInteger].forEach(function(e){read_only(e,"__class__","number")});read_only(LCharacter,"__class__","character");read_only(LSymbol,"__class__","symbol");read_only(LString,"__class__","string");read_only(QuotedPromise,"__class__","promise");read_only(Parameter,"__class__","parameter");var version="DEV";var date="Fri, 22 Mar 2024 12:40:41 +0000";var parse=compose(uniterate_async,_parse);var lips={version:version,banner:banner,date:date,exec:exec,parse:parse,tokenize:tokenize,evaluate:_evaluate,compile:compile,serialize:serialize,unserialize:unserialize,serialize_bin:serialize_bin,unserialize_bin:unserialize_bin,bootstrap:bootstrap,Environment:Environment,env:user_env,Worker:Worker,Interpreter:Interpreter,balanced_parenthesis:balanced,balancedParenthesis:balanced,balanced:balanced,Macro:Macro,Syntax:Syntax,Pair:Pair,Values:Values,QuotedPromise:QuotedPromise,Error:LipsError,quote:quote,InputPort:InputPort,OutputPort:OutputPort,BufferedOutputPort:BufferedOutputPort,InputFilePort:InputFilePort,OutputFilePort:OutputFilePort,InputStringPort:InputStringPort,OutputStringPort:OutputStringPort,InputByteVectorPort:InputByteVectorPort,OutputByteVectorPort:OutputByteVectorPort,InputBinaryFilePort:InputBinaryFilePort,OutputBinaryFilePort:OutputBinaryFilePort,set_fs:set_fs,Formatter:Formatter,Parser:Parser,Lexer:Lexer,specials:specials,repr:repr,nil:_nil,eof:eof,LSymbol:LSymbol,LNumber:LNumber,LFloat:LFloat,LComplex:LComplex,LRational:LRational,LBigInteger:LBigInteger,LCharacter:LCharacter,LString:LString,Parameter:Parameter,rationalize:rationalize};global_env.set("lips",lips);export{BufferedOutputPort,Environment,LipsError as Error,Formatter,InputBinaryFilePort,InputByteVectorPort,InputFilePort,InputPort,InputStringPort,Interpreter,LBigInteger,LCharacter,LComplex,LFloat,LNumber,LRational,LString,LSymbol,Lexer,Macro,OutputBinaryFilePort,OutputByteVectorPort,OutputFilePort,OutputPort,OutputStringPort,Pair,Parameter,Parser,QuotedPromise,Syntax,Values,Worker,balanced,balanced as balancedParenthesis,balanced as balanced_parenthesis,banner,bootstrap,compile,date,user_env as env,eof,_evaluate as evaluate,exec,_nil as nil,parse,quote,rationalize,repr,serialize,serialize_bin,set_fs,specials,tokenize,unserialize,unserialize_bin,version}; \ No newline at end of file diff --git a/dist/lips.js b/dist/lips.js index 456464ffc..55c7f4b86 100644 --- a/dist/lips.js +++ b/dist/lips.js @@ -31,7 +31,7 @@ * Copyright (c) 2014-present, Facebook, Inc. * released under MIT license * - * build: Sun, 17 Mar 2024 22:45:05 +0000 + * build: Fri, 22 Mar 2024 12:40:41 +0000 */ (function (global, factory) { @@ -3418,6 +3418,7 @@ * TODO: consider using exec in env.eval or use different maybe_async code */ /* global jQuery, BigInt, Map, WeakMap, Set, Symbol, importScripts, Uint8Array */ + var _fold_case_mapping; var _excluded = ["token"], _excluded2 = ["env"], _excluded3 = ["stderr", "stdin", "stdout", "command_line"], @@ -6232,6 +6233,553 @@ }).join(''); }; // ---------------------------------------------------------------------- + // :: the Unicode folding case mapping generated scripts/fold.scm to get + // :: latest version of the file use `make fold` + // ---------------------------------------------------------------------- + var fold_case_mapping = (_fold_case_mapping = { + "65": 97, + "66": 98, + "67": 99, + "68": 100, + "69": 101, + "70": 102, + "71": 103, + "72": 104, + "73": 105, + "74": 106, + "75": 107, + "76": 108, + "77": 109, + "78": 110, + "79": 111, + "80": 112, + "81": 113, + "82": 114, + "83": 115, + "84": 116, + "85": 117, + "86": 118, + "87": 119, + "88": 120, + "89": 121, + "90": 122, + "181": 956, + "192": 224, + "193": 225, + "194": 226, + "195": 227, + "196": 228, + "197": 229, + "198": 230, + "199": 231, + "200": 232, + "201": 233, + "202": 234, + "203": 235, + "204": 236, + "205": 237, + "206": 238, + "207": 239, + "208": 240, + "209": 241, + "210": 242, + "211": 243, + "212": 244, + "213": 245, + "214": 246, + "216": 248, + "217": 249, + "218": 250, + "219": 251, + "220": 252, + "221": 253, + "222": 254, + "256": 257, + "258": 259, + "260": 261, + "262": 263, + "264": 265, + "266": 267, + "268": 269, + "270": 271, + "272": 273, + "274": 275, + "276": 277, + "278": 279, + "280": 281, + "282": 283, + "284": 285, + "286": 287, + "288": 289, + "290": 291, + "292": 293, + "294": 295, + "296": 297, + "298": 299, + "300": 301, + "302": 303, + "306": 307, + "308": 309, + "310": 311, + "313": 314, + "315": 316, + "317": 318, + "319": 320, + "321": 322, + "323": 324, + "325": 326, + "327": 328, + "330": 331, + "332": 333, + "334": 335, + "336": 337, + "338": 339, + "340": 341, + "342": 343, + "344": 345, + "346": 347, + "348": 349, + "350": 351, + "352": 353, + "354": 355, + "356": 357, + "358": 359, + "360": 361, + "362": 363, + "364": 365, + "366": 367, + "368": 369, + "370": 371, + "372": 373, + "374": 375, + "376": 255, + "377": 378, + "379": 380, + "381": 382, + "115": 383, + "385": 595, + "386": 387, + "388": 389, + "390": 596, + "391": 392, + "393": 598, + "394": 599, + "395": 396, + "398": 477, + "399": 601, + "400": 603, + "401": 402, + "403": 608, + "404": 611, + "406": 617, + "407": 616, + "408": 409, + "412": 623, + "413": 626, + "415": 629, + "416": 417, + "418": 419, + "420": 421, + "422": 640, + "423": 424, + "425": 643, + "428": 429, + "430": 648, + "431": 432, + "433": 650, + "434": 651, + "435": 436, + "437": 438, + "439": 658, + "440": 441, + "444": 445, + "452": 454, + "454": 453, + "455": 457, + "457": 456, + "458": 460, + "460": 459, + "461": 462, + "463": 464, + "465": 466, + "467": 468, + "469": 470, + "471": 472, + "473": 474, + "475": 476, + "478": 479, + "480": 481, + "482": 483, + "484": 485, + "486": 487, + "488": 489, + "490": 491, + "492": 493, + "494": 495, + "497": 499, + "499": 498, + "500": 501, + "502": 405, + "503": 447, + "504": 505, + "506": 507, + "508": 509, + "510": 511, + "512": 513, + "514": 515, + "516": 517, + "518": 519, + "520": 521, + "522": 523, + "524": 525, + "526": 527, + "528": 529, + "530": 531, + "532": 533, + "534": 535, + "536": 537, + "538": 539, + "540": 541, + "542": 543, + "544": 414, + "546": 547, + "548": 549, + "550": 551, + "552": 553, + "554": 555, + "556": 557, + "558": 559, + "560": 561, + "562": 563, + "570": 11365, + "571": 572, + "573": 410, + "574": 11366, + "577": 578, + "579": 384, + "580": 649, + "581": 652, + "582": 583, + "584": 585, + "587": 586, + "588": 589, + "590": 591, + "837": 953, + "880": 881, + "882": 883, + "886": 887, + "895": 1011, + "902": 940, + "904": 941, + "905": 942, + "906": 943, + "908": 972, + "910": 973, + "911": 974, + "913": 945, + "914": 946, + "915": 947, + "916": 948, + "917": 949, + "918": 950, + "919": 951, + "920": 952, + "921": 953, + "922": 954, + "923": 955, + "924": 956, + "925": 957, + "926": 958, + "927": 959, + "928": 960, + "929": 961, + "931": 963, + "932": 964, + "933": 965, + "934": 966, + "935": 967, + "936": 968, + "937": 969, + "938": 970, + "939": 971, + "963": 962, + "975": 983, + "976": 946, + "977": 952, + "981": 966, + "982": 960, + "984": 985, + "986": 987, + "988": 989, + "990": 991, + "992": 993, + "994": 995, + "996": 997, + "998": 999, + "1000": 1001, + "1002": 1003, + "1004": 1005, + "1006": 1007, + "1008": 954, + "1009": 961, + "1012": 952, + "1013": 949, + "1015": 1016, + "1017": 1010, + "1018": 1019, + "1021": 891, + "1022": 892, + "1023": 893, + "1024": 1104, + "1025": 1105, + "1026": 1106, + "1027": 1107, + "1028": 1108, + "1029": 1109, + "1030": 1110, + "1031": 1111, + "1032": 1112, + "1033": 1113, + "1034": 1114, + "1035": 1115, + "1036": 1116, + "1037": 1117, + "1038": 1118, + "1039": 1119, + "1040": 1072, + "1041": 1073, + "1042": 1074, + "1043": 1075, + "1044": 1076, + "1045": 1077, + "1046": 1078, + "1047": 1079, + "1048": 1080, + "1049": 1081, + "1050": 1082, + "1051": 1083, + "1052": 1084, + "1053": 1085, + "1054": 1086, + "1055": 1087, + "1056": 1088, + "1057": 1089, + "1058": 1090, + "1059": 1091, + "1060": 1092, + "1061": 1093, + "1062": 1094, + "1063": 1095, + "1064": 1096, + "1065": 1097, + "1066": 1098, + "1067": 1099, + "1068": 1100, + "1069": 1101, + "1070": 1102, + "1071": 1103, + "1120": 1121, + "1122": 1123, + "1124": 1125, + "1126": 1127, + "1128": 1129, + "1130": 1131, + "1132": 1133, + "1134": 1135, + "1136": 1137, + "1138": 1139, + "1140": 1141, + "1142": 1143, + "1144": 1145, + "1146": 1147, + "1148": 1149, + "1150": 1151, + "1152": 1153, + "1162": 1163, + "1164": 1165, + "1166": 1167, + "1168": 1169, + "1170": 1171, + "1172": 1173, + "1174": 1175, + "1176": 1177, + "1178": 1179, + "1180": 1181, + "1182": 1183, + "1184": 1185, + "1186": 1187, + "1188": 1189, + "1190": 1191, + "1192": 1193, + "1194": 1195, + "1196": 1197, + "1198": 1199, + "1200": 1201, + "1202": 1203, + "1204": 1205, + "1206": 1207, + "1208": 1209, + "1210": 1211, + "1212": 1213, + "1214": 1215, + "1216": 1231, + "1217": 1218, + "1219": 1220, + "1221": 1222, + "1223": 1224, + "1225": 1226, + "1227": 1228, + "1229": 1230, + "1232": 1233, + "1234": 1235, + "1236": 1237, + "1238": 1239, + "1240": 1241, + "1242": 1243, + "1244": 1245, + "1246": 1247, + "1248": 1249, + "1250": 1251, + "1252": 1253, + "1254": 1255, + "1256": 1257, + "1258": 1259, + "1260": 1261, + "1262": 1263, + "1264": 1265, + "1266": 1267, + "1268": 1269, + "1270": 1271, + "1272": 1273, + "1274": 1275, + "1276": 1277, + "1278": 1279, + "1280": 1281, + "1282": 1283, + "1284": 1285, + "1286": 1287, + "1288": 1289, + "1290": 1291, + "1292": 1293, + "1294": 1295, + "1296": 1297, + "1298": 1299, + "1300": 1301, + "1302": 1303, + "1304": 1305, + "1306": 1307, + "1308": 1309, + "1310": 1311, + "1312": 1313, + "1314": 1315, + "1316": 1317, + "1318": 1319, + "1320": 1321, + "1322": 1323, + "1324": 1325, + "1326": 1327, + "1329": 1377, + "1330": 1378, + "1331": 1379, + "1332": 1380, + "1333": 1381, + "1334": 1382, + "1335": 1383, + "1336": 1384, + "1337": 1385, + "1338": 1386, + "1339": 1387, + "1340": 1388, + "1341": 1389, + "1342": 1390, + "1343": 1391, + "1344": 1392, + "1345": 1393, + "1346": 1394, + "1347": 1395, + "1348": 1396, + "1349": 1397, + "1350": 1398, + "1351": 1399, + "1352": 1400, + "1353": 1401, + "1354": 1402, + "1355": 1403, + "1356": 1404, + "1357": 1405, + "1358": 1406, + "1359": 1407, + "1360": 1408, + "1361": 1409, + "1362": 1410, + "1363": 1411, + "1364": 1412, + "1365": 1413, + "1366": 1414, + "4256": 11520, + "4257": 11521, + "4258": 11522, + "4259": 11523, + "4260": 11524, + "4261": 11525, + "4262": 11526, + "4263": 11527, + "4264": 11528, + "4265": 11529, + "4266": 11530, + "4267": 11531, + "4268": 11532, + "4269": 11533, + "4270": 11534, + "4271": 11535, + "4272": 11536, + "4273": 11537, + "4274": 11538, + "4275": 11539, + "4276": 11540, + "4277": 11541, + "4278": 11542, + "4279": 11543, + "4280": 11544, + "4281": 11545, + "4282": 11546, + "4283": 11547, + "4284": 11548, + "4285": 11549, + "4286": 11550, + "4287": 11551, + "4288": 11552, + "4289": 11553, + "4290": 11554, + "4291": 11555, + "4292": 11556, + "4293": 11557, + "4295": 11559, + "4301": 11565, + "5104": 5112, + "5105": 5113, + "5106": 5114, + "5107": 5115, + "5108": 5116, + "5109": 5117, + "1074": 7296, + "1076": 7297, + "1086": 7298, + "1089": 7299, + "1090": 7300 + }, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "1090", 7301), "1098", 7302), "1123", 7303), "42571", 7304), "7312", 4304), "7313", 4305), "7314", 4306), "7315", 4307), "7316", 4308), "7317", 4309), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7318", 4310), "7319", 4311), "7320", 4312), "7321", 4313), "7322", 4314), "7323", 4315), "7324", 4316), "7325", 4317), "7326", 4318), "7327", 4319), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7328", 4320), "7329", 4321), "7330", 4322), "7331", 4323), "7332", 4324), "7333", 4325), "7334", 4326), "7335", 4327), "7336", 4328), "7337", 4329), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7338", 4330), "7339", 4331), "7340", 4332), "7341", 4333), "7342", 4334), "7343", 4335), "7344", 4336), "7345", 4337), "7346", 4338), "7347", 4339), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7348", 4340), "7349", 4341), "7350", 4342), "7351", 4343), "7352", 4344), "7353", 4345), "7354", 4346), "7357", 4349), "7358", 4350), "7359", 4351), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7680", 7681), "7682", 7683), "7684", 7685), "7686", 7687), "7688", 7689), "7690", 7691), "7692", 7693), "7694", 7695), "7696", 7697), "7698", 7699), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7700", 7701), "7702", 7703), "7704", 7705), "7706", 7707), "7708", 7709), "7710", 7711), "7712", 7713), "7714", 7715), "7716", 7717), "7718", 7719), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7720", 7721), "7722", 7723), "7724", 7725), "7726", 7727), "7728", 7729), "7730", 7731), "7732", 7733), "7734", 7735), "7736", 7737), "7738", 7739), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7740", 7741), "7742", 7743), "7744", 7745), "7746", 7747), "7748", 7749), "7750", 7751), "7752", 7753), "7754", 7755), "7756", 7757), "7758", 7759), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7760", 7761), "7762", 7763), "7764", 7765), "7766", 7767), "7768", 7769), "7770", 7771), "7772", 7773), "7774", 7775), "7776", 7777), "7778", 7779), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7780", 7781), "7782", 7783), "7784", 7785), "7786", 7787), "7788", 7789), "7790", 7791), "7792", 7793), "7794", 7795), "7796", 7797), "7798", 7799), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7800", 7801), "7802", 7803), "7804", 7805), "7806", 7807), "7808", 7809), "7810", 7811), "7812", 7813), "7814", 7815), "7816", 7817), "7818", 7819), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7820", 7821), "7822", 7823), "7824", 7825), "7826", 7827), "7828", 7829), "7777", 7835), "7840", 7841), "7842", 7843), "7844", 7845), "7846", 7847), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7848", 7849), "7850", 7851), "7852", 7853), "7854", 7855), "7856", 7857), "7858", 7859), "7860", 7861), "7862", 7863), "7864", 7865), "7866", 7867), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7868", 7869), "7870", 7871), "7872", 7873), "7874", 7875), "7876", 7877), "7878", 7879), "7880", 7881), "7882", 7883), "7884", 7885), "7886", 7887), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7888", 7889), "7890", 7891), "7892", 7893), "7894", 7895), "7896", 7897), "7898", 7899), "7900", 7901), "7902", 7903), "7904", 7905), "7906", 7907), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7908", 7909), "7910", 7911), "7912", 7913), "7914", 7915), "7916", 7917), "7918", 7919), "7920", 7921), "7922", 7923), "7924", 7925), "7926", 7927), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7928", 7929), "7930", 7931), "7932", 7933), "7934", 7935), "7944", 7936), "7945", 7937), "7946", 7938), "7947", 7939), "7948", 7940), "7949", 7941), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7950", 7942), "7951", 7943), "7960", 7952), "7961", 7953), "7962", 7954), "7963", 7955), "7964", 7956), "7965", 7957), "7976", 7968), "7977", 7969), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7978", 7970), "7979", 7971), "7980", 7972), "7981", 7973), "7982", 7974), "7983", 7975), "7992", 7984), "7993", 7985), "7994", 7986), "7995", 7987), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "7996", 7988), "7997", 7989), "7998", 7990), "7999", 7991), "8008", 8000), "8009", 8001), "8010", 8002), "8011", 8003), "8012", 8004), "8013", 8005), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "8025", 8017), "8027", 8019), "8029", 8021), "8031", 8023), "8040", 8032), "8041", 8033), "8042", 8034), "8043", 8035), "8044", 8036), "8045", 8037), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "8046", 8038), "8047", 8039), "8120", 8112), "8121", 8113), "8122", 8048), "8123", 8049), "8126", 953), "8136", 8050), "8137", 8051), "8138", 8052), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "8139", 8053), "8152", 8144), "8153", 8145), "8154", 8054), "8155", 8055), "8168", 8160), "8169", 8161), "8170", 8058), "8171", 8059), "8172", 8165), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "8184", 8056), "8185", 8057), "8186", 8060), "8187", 8061), "8486", 969), "8490", 107), "8491", 229), "8498", 8526), "8544", 8560), "8545", 8561), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "8546", 8562), "8547", 8563), "8548", 8564), "8549", 8565), "8550", 8566), "8551", 8567), "8552", 8568), "8553", 8569), "8554", 8570), "8555", 8571), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "8556", 8572), "8557", 8573), "8558", 8574), "8559", 8575), "8579", 8580), "9398", 9424), "9399", 9425), "9400", 9426), "9401", 9427), "9402", 9428), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "9403", 9429), "9404", 9430), "9405", 9431), "9406", 9432), "9407", 9433), "9408", 9434), "9409", 9435), "9410", 9436), "9411", 9437), "9412", 9438), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "9413", 9439), "9414", 9440), "9415", 9441), "9416", 9442), "9417", 9443), "9418", 9444), "9419", 9445), "9420", 9446), "9421", 9447), "9422", 9448), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "9423", 9449), "11264", 11312), "11265", 11313), "11266", 11314), "11267", 11315), "11268", 11316), "11269", 11317), "11270", 11318), "11271", 11319), "11272", 11320), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11273", 11321), "11274", 11322), "11275", 11323), "11276", 11324), "11277", 11325), "11278", 11326), "11279", 11327), "11280", 11328), "11281", 11329), "11282", 11330), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11283", 11331), "11284", 11332), "11285", 11333), "11286", 11334), "11287", 11335), "11288", 11336), "11289", 11337), "11290", 11338), "11291", 11339), "11292", 11340), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11293", 11341), "11294", 11342), "11295", 11343), "11296", 11344), "11297", 11345), "11298", 11346), "11299", 11347), "11348", 11300), "11349", 11301), "11302", 11350), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11351", 11303), "11304", 11352), "11305", 11353), "11306", 11354), "11307", 11355), "11308", 11356), "11309", 11357), "11310", 11358), "11311", 11359), "11360", 11361), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11362", 619), "11363", 7549), "11364", 637), "11367", 11368), "11369", 11370), "11371", 11372), "11373", 593), "11374", 625), "11375", 592), "11376", 594), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11378", 11379), "11381", 11382), "11390", 575), "11391", 576), "11392", 11393), "11394", 11395), "11396", 11397), "11398", 11399), "11400", 11401), "11402", 11403), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11404", 11405), "11406", 11407), "11408", 11409), "11410", 11411), "11412", 11413), "11414", 11415), "11416", 11417), "11418", 11419), "11420", 11421), "11422", 11423), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11424", 11425), "11426", 11427), "11428", 11429), "11430", 11431), "11432", 11433), "11434", 11435), "11436", 11437), "11438", 11439), "11440", 11441), "11442", 11443), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11444", 11445), "11446", 11447), "11448", 11449), "11450", 11451), "11452", 11453), "11454", 11455), "11456", 11457), "11458", 11459), "11460", 11461), "11462", 11463), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11464", 11465), "11466", 11467), "11468", 11469), "11470", 11471), "11472", 11473), "11474", 11475), "11476", 11477), "11478", 11479), "11480", 11481), "11482", 11483), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "11484", 11485), "11486", 11487), "11488", 11489), "11490", 11491), "11499", 11500), "11501", 11502), "11506", 11507), "42560", 42561), "42562", 42563), "42564", 42565), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42566", 42567), "42568", 42569), "42570", 42571), "42572", 42573), "42574", 42575), "42576", 42577), "42578", 42579), "42580", 42581), "42582", 42583), "42584", 42585), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42586", 42587), "42588", 42589), "42590", 42591), "42592", 42593), "42594", 42595), "42596", 42597), "42598", 42599), "42600", 42601), "42602", 42603), "42604", 42605), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42624", 42625), "42626", 42627), "42628", 42629), "42630", 42631), "42632", 42633), "42634", 42635), "42636", 42637), "42638", 42639), "42640", 42641), "42642", 42643), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42644", 42645), "42646", 42647), "42648", 42649), "42650", 42651), "42786", 42787), "42788", 42789), "42790", 42791), "42792", 42793), "42794", 42795), "42796", 42797), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42798", 42799), "42802", 42803), "42804", 42805), "42806", 42807), "42808", 42809), "42810", 42811), "42812", 42813), "42814", 42815), "42816", 42817), "42818", 42819), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42820", 42821), "42822", 42823), "42824", 42825), "42826", 42827), "42828", 42829), "42830", 42831), "42832", 42833), "42834", 42835), "42836", 42837), "42838", 42839), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42840", 42841), "42842", 42843), "42844", 42845), "42846", 42847), "42848", 42849), "42850", 42851), "42852", 42853), "42854", 42855), "42856", 42857), "42858", 42859), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42860", 42861), "42862", 42863), "42873", 42874), "42875", 42876), "42877", 7545), "42878", 42879), "42880", 42881), "42882", 42883), "42884", 42885), "42886", 42887), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42891", 42892), "42893", 613), "42896", 42897), "42898", 42899), "42902", 42903), "42904", 42905), "42906", 42907), "42908", 42909), "42910", 42911), "42912", 42913), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42914", 42915), "42916", 42917), "42918", 42919), "42920", 42921), "42922", 614), "42923", 604), "42924", 609), "42925", 620), "618", 42926), "42928", 670), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42929", 647), "42930", 669), "42931", 43859), "42932", 42933), "42934", 42935), "42936", 42937), "42938", 42939), "42940", 42941), "42942", 42943), "42944", 42945), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "42946", 42947), "42948", 42900), "42949", 642), "42950", 7566), "42951", 42952), "42953", 42954), "42960", 42961), "42966", 42967), "42968", 42969), "42997", 42998), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5024", 43888), "5025", 43889), "5026", 43890), "5027", 43891), "5028", 43892), "5029", 43893), "5030", 43894), "5031", 43895), "5032", 43896), "5033", 43897), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5034", 43898), "5035", 43899), "5036", 43900), "5037", 43901), "5038", 43902), "5039", 43903), "5040", 43904), "5041", 43905), "5042", 43906), "5043", 43907), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5044", 43908), "5045", 43909), "5046", 43910), "5047", 43911), "5048", 43912), "5049", 43913), "5050", 43914), "5051", 43915), "5052", 43916), "5053", 43917), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5054", 43918), "5055", 43919), "5056", 43920), "5057", 43921), "5058", 43922), "5059", 43923), "5060", 43924), "5061", 43925), "5062", 43926), "5063", 43927), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5064", 43928), "5065", 43929), "5066", 43930), "5067", 43931), "5068", 43932), "5069", 43933), "5070", 43934), "5071", 43935), "5072", 43936), "5073", 43937), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5074", 43938), "5075", 43939), "5076", 43940), "5077", 43941), "5078", 43942), "5079", 43943), "5080", 43944), "5081", 43945), "5082", 43946), "5083", 43947), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5084", 43948), "5085", 43949), "5086", 43950), "5087", 43951), "5088", 43952), "5089", 43953), "5090", 43954), "5091", 43955), "5092", 43956), "5093", 43957), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "5094", 43958), "5095", 43959), "5096", 43960), "5097", 43961), "5098", 43962), "5099", 43963), "5100", 43964), "5101", 43965), "5102", 43966), "5103", 43967), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "65313", 65345), "65314", 65346), "65315", 65347), "65316", 65348), "65317", 65349), "65318", 65350), "65319", 65351), "65320", 65352), "65321", 65353), "65322", 65354), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "65323", 65355), "65324", 65356), "65325", 65357), "65326", 65358), "65327", 65359), "65328", 65360), "65329", 65361), "65330", 65362), "65331", 65363), "65332", 65364), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "65333", 65365), "65334", 65366), "65335", 65367), "65336", 65368), "65337", 65369), "65338", 65370), "66560", 66600), "66561", 66601), "66562", 66602), "66563", 66603), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66564", 66604), "66565", 66605), "66566", 66606), "66567", 66607), "66568", 66608), "66569", 66609), "66570", 66610), "66571", 66611), "66572", 66612), "66573", 66613), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66574", 66614), "66575", 66615), "66576", 66616), "66577", 66617), "66578", 66618), "66579", 66619), "66580", 66620), "66581", 66621), "66582", 66622), "66583", 66623), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66584", 66624), "66585", 66625), "66586", 66626), "66587", 66627), "66588", 66628), "66589", 66629), "66590", 66630), "66591", 66631), "66592", 66632), "66593", 66633), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66594", 66634), "66595", 66635), "66596", 66636), "66597", 66637), "66598", 66638), "66599", 66639), "66736", 66776), "66737", 66777), "66738", 66778), "66739", 66779), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66740", 66780), "66741", 66781), "66742", 66782), "66743", 66783), "66744", 66784), "66745", 66785), "66746", 66786), "66747", 66787), "66748", 66788), "66749", 66789), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66750", 66790), "66751", 66791), "66752", 66792), "66753", 66793), "66754", 66794), "66755", 66795), "66756", 66796), "66757", 66797), "66758", 66798), "66759", 66799), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66760", 66800), "66761", 66801), "66762", 66802), "66763", 66803), "66764", 66804), "66765", 66805), "66766", 66806), "66767", 66807), "66768", 66808), "66769", 66809), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66770", 66810), "66771", 66811), "66928", 66967), "66929", 66968), "66930", 66969), "66931", 66970), "66932", 66971), "66933", 66972), "66934", 66973), "66935", 66974), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66936", 66975), "66937", 66976), "66938", 66977), "66940", 66979), "66941", 66980), "66942", 66981), "66943", 66982), "66944", 66983), "66945", 66984), "66946", 66985), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66947", 66986), "66948", 66987), "66949", 66988), "66950", 66989), "66951", 66990), "66952", 66991), "66953", 66992), "66954", 66993), "66956", 66995), "66957", 66996), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "66958", 66997), "66959", 66998), "66960", 66999), "66961", 67000), "66962", 67001), "66964", 67003), "66965", 67004), "68736", 68800), "68737", 68801), "68738", 68802), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "68739", 68803), "68740", 68804), "68741", 68805), "68742", 68806), "68743", 68807), "68744", 68808), "68745", 68809), "68746", 68810), "68747", 68811), "68748", 68812), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "68749", 68813), "68750", 68814), "68751", 68815), "68752", 68816), "68753", 68817), "68754", 68818), "68755", 68819), "68756", 68820), "68757", 68821), "68758", 68822), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "68759", 68823), "68760", 68824), "68761", 68825), "68762", 68826), "68763", 68827), "68764", 68828), "68765", 68829), "68766", 68830), "68767", 68831), "68768", 68832), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "68769", 68833), "68770", 68834), "68771", 68835), "68772", 68836), "68773", 68837), "68774", 68838), "68775", 68839), "68776", 68840), "68777", 68841), "68778", 68842), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "68779", 68843), "68780", 68844), "68781", 68845), "68782", 68846), "68783", 68847), "68784", 68848), "68785", 68849), "68786", 68850), "71840", 71872), "71841", 71873), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "71842", 71874), "71843", 71875), "71844", 71876), "71845", 71877), "71846", 71878), "71847", 71879), "71848", 71880), "71849", 71881), "71850", 71882), "71851", 71883), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "71852", 71884), "71853", 71885), "71854", 71886), "71855", 71887), "71856", 71888), "71857", 71889), "71858", 71890), "71859", 71891), "71860", 71892), "71861", 71893), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "71862", 71894), "71863", 71895), "71864", 71896), "71865", 71897), "71866", 71898), "71867", 71899), "71868", 71900), "71869", 71901), "71870", 71902), "71871", 71903), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "93760", 93792), "93761", 93793), "93762", 93794), "93763", 93795), "93764", 93796), "93765", 93797), "93766", 93798), "93767", 93799), "93768", 93800), "93769", 93801), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "93770", 93802), "93771", 93803), "93772", 93804), "93773", 93805), "93774", 93806), "93775", 93807), "93776", 93808), "93777", 93809), "93778", 93810), "93779", 93811), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "93780", 93812), "93781", 93813), "93782", 93814), "93783", 93815), "93784", 93816), "93785", 93817), "93786", 93818), "93787", 93819), "93788", 93820), "93789", 93821), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "93790", 93822), "93791", 93823), "125184", 125218), "125185", 125219), "125186", 125220), "125187", 125221), "125188", 125222), "125189", 125223), "125190", 125224), "125191", 125225), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "125192", 125226), "125193", 125227), "125194", 125228), "125195", 125229), "125196", 125230), "125197", 125231), "125198", 125232), "125199", 125233), "125200", 125234), "125201", 125235), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "125202", 125236), "125203", 125237), "125204", 125238), "125205", 125239), "125206", 125240), "125207", 125241), "125208", 125242), "125209", 125243), "125210", 125244), "125211", 125245), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_fold_case_mapping, "125212", 125246), "125213", 125247), "125214", 125248), "125215", 125249), "125216", 125250), "125217", 125251)); + // ---------------------------------------------------------------------- + function foldcase_string(string) { + return Array.from(string).map(function (str) { + var ord = str.codePointAt(0); + var output = fold_case_mapping[ord]; + if (output) { + return String.fromCodePoint(output); + } + return str; + }).join(''); + } + // ---------------------------------------------------------------------- // :: Flatten nested arrays // :: ref: https://stackoverflow.com/a/27282907/387194 // ---------------------------------------------------------------------- @@ -11841,6 +12389,8 @@ global_env.get('newline')(port); }, "(display-error . args)\n\n Display an error message on stderr."), // ------------------------------------------------------------------ + '%foldcase-string': doc('%foldcase-string', foldcase_string, "(%foldcase-string string)\n\n Same as string-foldcase but without typechecking"), + // ------------------------------------------------------------------ '%same-functions': doc('%same-functions', function (a, b) { if (!is_function(a)) { return false; @@ -15616,10 +16166,10 @@ // ------------------------------------------------------------------------- var banner = function () { // Rollup tree-shaking is removing the variable if it's normal string because - // obviously 'Sun, 17 Mar 2024 22:45:05 +0000' == '{{' + 'DATE}}'; can be removed + // obviously 'Fri, 22 Mar 2024 12:40:41 +0000' == '{{' + 'DATE}}'; can be removed // but disabling Tree-shaking is adding lot of not used code so we use this // hack instead - var date = LString('Sun, 17 Mar 2024 22:45:05 +0000').valueOf(); + var date = LString('Fri, 22 Mar 2024 12:40:41 +0000').valueOf(); var _date = date === '{{' + 'DATE}}' ? new Date() : new Date(date); var _format = function _format(x) { return x.toString().padStart(2, '0'); @@ -15659,7 +16209,7 @@ read_only(Parameter, '__class__', 'parameter'); // ------------------------------------------------------------------------- var version = 'DEV'; - var date = 'Sun, 17 Mar 2024 22:45:05 +0000'; + var date = 'Fri, 22 Mar 2024 12:40:41 +0000'; // unwrap async generator into Promise var parse = compose(uniterate_async, _parse); diff --git a/dist/lips.min.js b/dist/lips.min.js index 6e861c7df..638100ca6 100644 --- a/dist/lips.min.js +++ b/dist/lips.min.js @@ -31,9 +31,9 @@ * Copyright (c) 2014-present, Facebook, Inc. * released under MIT license * - * build: Sun, 17 Mar 2024 22:45:05 +0000 + * build: Fri, 22 Mar 2024 12:40:41 +0000 */ -(function(e,t){typeof exports==="object"&&typeof module!=="undefined"?t(exports):typeof define==="function"&&define.amd?define(["exports"],t):(e=typeof globalThis!=="undefined"?globalThis:e||self,t(e.lips={}))})(this,function(e){"use strict";var o=typeof document!=="undefined"?document.currentScript:null;function n(e,t){if(t.get){return t.get.call(e)}return t.value}function i(e,t,r){if(!t.has(e)){throw new TypeError("attempted to "+r+" private field on non-instance")}return t.get(e)}function t(e,t){var r=i(e,t,"get");return n(e,r)}function a(e,t,r){if(t.set){t.set.call(e,r)}else{if(!t.writable){throw new TypeError("attempted to set read only private field")}t.value=r}}function f(e,t,r){var n=i(e,t,"set");a(e,n,r);return r}function I(e){I=Object.setPrototypeOf?Object.getPrototypeOf.bind():function e(t){return t.__proto__||Object.getPrototypeOf(t)};return I(e)}function P(e,t){P=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,r){t.__proto__=r;return t};return P(e,t)}function N(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch(e){return typeof t==="function"}}function T(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(T=function e(){return!!t})()}function L(e,t,r){if(T())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,t);var i=new(e.bind.apply(e,n));return r&&P(i,r.prototype),i}function r(e){var n=typeof Map==="function"?new Map:undefined;r=function e(t){if(t===null||!N(t))return t;if(typeof t!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof n!=="undefined"){if(n.has(t))return n.get(t);n.set(t,r)}function r(){return L(t,arguments,I(this).constructor)}r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:false,writable:true,configurable:true}});return P(r,t)};return r(e)}function _(e){"@babel/helpers - typeof";return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_(e)}function M(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function R(e,t){if(t&&(_(t)==="object"||typeof t==="function")){return t}else if(t!==void 0){throw new TypeError("Derived constructors may only return object or undefined")}return M(e)}function W(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});Object.defineProperty(e,"prototype",{writable:false});if(t)P(e,t)}function Q(e){if(Array.isArray(e))return e}function Z(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function X(e,t){if(t==null||t>e.length)t=e.length;for(var r=0,n=new Array(t);r=0)continue;r[i]=e[i]}return r}function he(e,t){if(e==null)return{};var r=le(e,t);var n,i;if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(i=0;i=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,n))continue;r[n]=e[n]}}return r}function _e(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,u,a,o=[],s=!0,c=!1;try{if(u=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=u.call(r)).done)&&(o.push(n.value),o.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r["return"]&&(a=r["return"](),Object(a)!==a))return}finally{if(c)throw i}}return o}}function b(e,t){return Q(e)||_e(e,t)||ee(e,t)||te()}function pe(e){if(Array.isArray(e))return X(e)}function de(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function q(e){return pe(e)||Z(e)||ee(e)||de()}function ve(e,t){this.v=e,this.k=t}function me(e){return new ve(e,0)}function ye(a){var u,o;function s(r,e){try{var n=a[r](e),i=n.value,u=i instanceof ve;Promise.resolve(u?i.v:i).then(function(e){if(u){var t="return"===r?"return":"next";if(!i.k||e.done)return s(t,e);e=a[t](e).value}c(n.done?"return":"normal",e)},function(e){s("throw",e)})}catch(e){c("throw",e)}}function c(e,t){switch(e){case"return":u.resolve({value:t,done:!0});break;case"throw":u.reject(t);break;default:u.resolve({value:t,done:!1})}(u=u.next)?s(u.key,u.arg):o=null}this._invoke=function(n,i){return new Promise(function(e,t){var r={key:n,arg:i,resolve:e,reject:t,next:null};o?o=o.next=r:(u=o=r,s(n,i))})},"function"!=typeof a["return"]&&(this["return"]=void 0)}ye.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},ye.prototype.next=function(e){return this._invoke("next",e)},ye.prototype["throw"]=function(e){return this._invoke("throw",e)},ye.prototype["return"]=function(e){return this._invoke("return",e)};function ge(e){return function(){return new ye(e.apply(this,arguments))}}function be(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e["default"]:e}var we={exports:{}};var De={exports:{}};(function(t){function r(e){"@babel/helpers - typeof";return t.exports=r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t.exports.__esModule=true,t.exports["default"]=t.exports,r(e)}t.exports=r,t.exports.__esModule=true,t.exports["default"]=t.exports})(De);var xe=De.exports;(function(B){var I=xe["default"];function P(){B.exports=P=function e(){return a},B.exports.__esModule=true,B.exports["default"]=B.exports;var c,a={},e=Object.prototype,f=e.hasOwnProperty,l=Object.defineProperty||function(e,t,r){e[t]=r.value},t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",r=t.asyncIterator||"@@asyncIterator",n=t.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(c){u=function e(t,r,n){return t[r]=n}}function o(e,t,r,n){var i=t&&t.prototype instanceof s?t:s,u=Object.create(i.prototype),a=new S(n||[]);return l(u,"_invoke",{value:A(e,r,a)}),u}function h(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}a.wrap=o;var _="suspendedStart",p="suspendedYield",d="executing",v="completed",m={};function s(){}function y(){}function g(){}var b={};u(b,i,function(){return this});var w=Object.getPrototypeOf,D=w&&w(w(j([])));D&&D!==e&&f.call(D,i)&&(b=D);var x=g.prototype=s.prototype=Object.create(b);function E(e){["next","throw","return"].forEach(function(t){u(e,t,function(e){return this._invoke(t,e)})})}function F(o,s){function c(e,t,r,n){var i=h(o[e],o,t);if("throw"!==i.type){var u=i.arg,a=u.value;return a&&"object"==I(a)&&f.call(a,"__await")?s.resolve(a.__await).then(function(e){c("next",e,r,n)},function(e){c("throw",e,r,n)}):s.resolve(a).then(function(e){u.value=e,r(u)},function(e){return c("throw",e,r,n)})}n(i.arg)}var i;l(this,"_invoke",{value:function e(r,n){function t(){return new s(function(e,t){c(r,n,e,t)})}return i=i?i.then(t,t):t()}})}function A(u,a,o){var s=_;return function(e,t){if(s===d)throw new Error("Generator is already running");if(s===v){if("throw"===e)throw t;return{value:c,done:!0}}for(o.method=e,o.arg=t;;){var r=o.delegate;if(r){var n=k(r,o);if(n){if(n===m)continue;return n}}if("next"===o.method)o.sent=o._sent=o.arg;else if("throw"===o.method){if(s===_)throw s=v,o.arg;o.dispatchException(o.arg)}else"return"===o.method&&o.abrupt("return",o.arg);s=d;var i=h(u,a,o);if("normal"===i.type){if(s=o.done?v:p,i.arg===m)continue;return{value:i.arg,done:o.done}}"throw"===i.type&&(s=v,o.method="throw",o.arg=i.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(n===c)return t.delegate=null,"throw"===r&&e.iterator["return"]&&(t.method="return",t.arg=c,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),m;var i=h(n,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,m;var u=i.arg;return u?u.done?(t[e.resultName]=u.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=c),t.delegate=null,m):u:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,m)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function S(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function j(t){if(t||""===t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,n=function e(){for(;++r=0;--i){var u=this.tryEntries[i],a=u.completion;if("root"===u.tryLoc)return t("end");if(u.tryLoc<=this.prev){var o=f.call(u,"catchLoc"),s=f.call(u,"finallyLoc");if(o&&s){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&f.call(i,"finallyLoc")&&this.prev=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),C(n),m}},catch:function e(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var u=i.arg;C(n)}return u}}throw new Error("illegal catch attempt")},delegateYield:function e(t,r,n){return this.delegate={iterator:j(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=c),m}},a}B.exports=P,B.exports.__esModule=true,B.exports["default"]=B.exports})(we);var Ee=we.exports;var Fe=Ee();var Ae=Fe;try{regeneratorRuntime=Fe}catch(e){if(typeof globalThis==="object"){globalThis.regeneratorRuntime=Fe}else{Function("r","regeneratorRuntime = r")(Fe)}}var O=be(Ae);let ke;try{ke=new TextDecoder}catch(e){}let v;let Oe;let m=0;const Ce=105;const Se=57342;const je=57343;const Be=57337;const Ie=6;const Pe={};let p={};let Ne;let Te;let Le=0;let Me=0;let Re;let qe;let Ue=[];let ze=[];let Ve;let $e;let Ye;let Je={useRecords:false,mapsAsObjects:true};let Ke=false;let He=2;try{new Function("")}catch(e){He=Infinity}class Ge{constructor(r){if(r){if((r.keyMap||r._keyMap)&&!r.useRecords){r.useRecords=false;r.mapsAsObjects=true}if(r.useRecords===false&&r.mapsAsObjects===undefined)r.mapsAsObjects=true;if(r.getStructures)r.getShared=r.getStructures;if(r.getShared&&!r.structures)(r.structures=[]).uninitialized=true;if(r.keyMap){this.mapKey=new Map;for(let[e,t]of Object.entries(r.keyMap))this.mapKey.set(t,e)}}Object.assign(this,r)}decodeKey(e){return this.keyMap?this.mapKey.get(e)||e:e}encodeKey(e){return this.keyMap&&this.keyMap.hasOwnProperty(e)?this.keyMap[e]:e}encodeKeys(r){if(!this._keyMap)return r;let n=new Map;for(let[e,t]of Object.entries(r))n.set(this._keyMap.hasOwnProperty(e)?this._keyMap[e]:e,t);return n}decodeKeys(e){if(!this._keyMap||e.constructor.name!="Map")return e;if(!this._mapKey){this._mapKey=new Map;for(let[e,t]of Object.entries(this._keyMap))this._mapKey.set(t,e)}let r={};e.forEach((e,t)=>r[Xe(this._mapKey.has(t)?this._mapKey.get(t):t)]=e);return r}mapDecode(e,t){let r=this.decode(e);if(this._keyMap){switch(r.constructor.name){case"Array":return r.map(e=>this.decodeKeys(e))}}return r}decode(t,e){if(v){return xt(()=>{Et();return this?this.decode(t,e):Ge.prototype.decode.call(Je,t,e)})}Oe=e>-1?e:t.length;m=0;Me=0;Te=null;Re=null;v=t;try{$e=t.dataView||(t.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength))}catch(e){v=null;if(t instanceof Uint8Array)throw e;throw new Error("Source must be a Uint8Array or Buffer but was a "+(t&&typeof t=="object"?t.constructor.name:typeof t))}if(this instanceof Ge){p=this;Ve=this.sharedValues&&(this.pack?new Array(this.maxPrivatePackedValues||16).concat(this.sharedValues):this.sharedValues);if(this.structures){Ne=this.structures;return We()}else if(!Ne||Ne.length>0){Ne=[]}}else{p=Je;if(!Ne||Ne.length>0)Ne=[];Ve=null}return We()}decodeMultiple(r,n){let i,u=0;try{let e=r.length;Ke=true;let t=this?this.decode(r,e):kt.decode(r,e);if(n){if(n(t)===false){return}while(m=Re.postBundlePosition){let e=new Error("Unexpected bundle position");e.incomplete=true;throw e}m=Re.postBundlePosition;Re=null}if(m==Oe){Ne=null;v=null;if(qe)qe=null}else if(m>Oe){let e=new Error("Unexpected end of CBOR data");e.incomplete=true;throw e}else if(!Ke){throw new Error("Data read, but end of buffer not reached")}return e}catch(e){Et();if(e instanceof RangeError||e.message.startsWith("Unexpected end of buffer")){e.incomplete=true}throw e}}function u(){let n=v[m++];let i=n>>5;n=n&31;if(n>23){switch(n){case 24:n=v[m++];break;case 25:if(i==7){return st()}n=$e.getUint16(m);m+=2;break;case 26:if(i==7){let t=$e.getFloat32(m);if(p.useFloat32>2){let e=At[(v[m]&127)<<1|v[m+1]>>7];m+=4;return(e*t+(t>0?.5:-.5)>>0)/e}m+=4;return t}n=$e.getUint32(m);m+=4;break;case 27:if(i==7){let e=$e.getFloat64(m);m+=8;return e}if(i>1){if($e.getUint32(m)>0)throw new Error("JavaScript does not support arrays, maps, or strings with length over 4294967295");n=$e.getUint32(m+4)}else if(p.int64AsNumber){n=$e.getUint32(m)*4294967296;n+=$e.getUint32(m+4)}else n=$e.getBigUint64(m);m+=8;break;case 31:switch(i){case 2:case 3:throw new Error("Indefinite length not supported for byte or text strings");case 4:let e=[];let t,r=0;while((t=u())!=Pe){e[r++]=t}return i==4?e:i==3?e.join(""):Buffer.concat(e);case 5:let n;if(p.mapsAsObjects){let e={};if(p.keyMap)while((n=u())!=Pe)e[Xe(p.decodeKey(n))]=u();else while((n=u())!=Pe)e[Xe(n)]=u();return e}else{if(Ye){p.mapsAsObjects=true;Ye=false}let e=new Map;if(p.keyMap)while((n=u())!=Pe)e.set(p.decodeKey(n),u());else while((n=u())!=Pe)e.set(n,u());return e}case 7:return Pe;default:throw new Error("Invalid major type for indefinite length "+i)}default:throw new Error("Unknown token "+n)}}switch(i){case 0:return n;case 1:return~n;case 2:return ut(n);case 3:if(Me>=m){return Te.slice(m-Le,(m+=n)-Le)}if(Me==0&&Oe<140&&n<32){let e=n<16?it(n):nt(n);if(e!=null)return e}return et(n);case 4:let t=new Array(n);for(let e=0;e=Be){let e=Ne[n&8191];if(e){if(!e.read)e.read=Ze(e);return e.read()}if(n<65536){if(n==je){let e=wt();let t=u();let r=u();ft(t,r);let n={};if(p.keyMap)for(let t=2;t23){switch(t){case 24:t=v[m++];break;case 25:t=$e.getUint16(m);m+=2;break;case 26:t=$e.getUint32(m);m+=4;break;default:throw new Error("Expected array header, but got "+v[m-1])}}let r=this.compiledReader;while(r){if(r.propertyCount===t)return r(u);r=r.next}if(this.slowReads++>=He){let e=this.length==t?this:this.slice(0,t);r=p.keyMap?new Function("r","return {"+e.map(e=>p.decodeKey(e)).map(e=>Qe.test(e)?Xe(e)+":r()":"["+JSON.stringify(e)+"]:r()").join(",")+"}"):new Function("r","return {"+e.map(e=>Qe.test(e)?Xe(e)+":r()":"["+JSON.stringify(e)+"]:r()").join(",")+"}");if(this.compiledReader)r.next=this.compiledReader;r.propertyCount=t;this.compiledReader=r;return r(u)}let n={};if(p.keyMap)for(let e=0;e64&&ke)return ke.decode(v.subarray(m,m+=e));const r=m+e;const n=[];t="";while(m65535){e-=65536;n.push(e>>>10&1023|55296);e=56320|e&1023}n.push(e)}else{n.push(i)}if(n.length>=4096){t+=rt.apply(String,n);n.length=0}}if(n.length>0){t+=rt.apply(String,n)}return t}let rt=String.fromCharCode;function nt(t){let r=m;let n=new Array(t);for(let e=0;e0){m=r;return}n[e]=i}return rt.apply(String,n)}function it(d){if(d<4){if(d<2){if(d===0)return"";else{let e=v[m++];if((e&128)>1){m-=1;return}return rt(e)}}else{let e=v[m++];let t=v[m++];if((e&128)>0||(t&128)>0){m-=2;return}if(d<3)return rt(e,t);let r=v[m++];if((r&128)>0){m-=3;return}return rt(e,t,r)}}else{let l=v[m++];let h=v[m++];let _=v[m++];let p=v[m++];if((l&128)>0||(h&128)>0||(_&128)>0||(p&128)>0){m-=4;return}if(d<6){if(d===4)return rt(l,h,_,p);else{let e=v[m++];if((e&128)>0){m-=5;return}return rt(l,h,_,p,e)}}else if(d<8){let e=v[m++];let t=v[m++];if((e&128)>0||(t&128)>0){m-=6;return}if(d<7)return rt(l,h,_,p,e,t);let r=v[m++];if((r&128)>0){m-=7;return}return rt(l,h,_,p,e,t,r)}else{let o=v[m++];let s=v[m++];let c=v[m++];let f=v[m++];if((o&128)>0||(s&128)>0||(c&128)>0||(f&128)>0){m-=8;return}if(d<10){if(d===8)return rt(l,h,_,p,o,s,c,f);else{let e=v[m++];if((e&128)>0){m-=9;return}return rt(l,h,_,p,o,s,c,f,e)}}else if(d<12){let e=v[m++];let t=v[m++];if((e&128)>0||(t&128)>0){m-=10;return}if(d<11)return rt(l,h,_,p,o,s,c,f,e,t);let r=v[m++];if((r&128)>0){m-=11;return}return rt(l,h,_,p,o,s,c,f,e,t,r)}else{let n=v[m++];let i=v[m++];let u=v[m++];let a=v[m++];if((n&128)>0||(i&128)>0||(u&128)>0||(a&128)>0){m-=12;return}if(d<14){if(d===12)return rt(l,h,_,p,o,s,c,f,n,i,u,a);else{let e=v[m++];if((e&128)>0){m-=13;return}return rt(l,h,_,p,o,s,c,f,n,i,u,a,e)}}else{let e=v[m++];let t=v[m++];if((e&128)>0||(t&128)>0){m-=14;return}if(d<15)return rt(l,h,_,p,o,s,c,f,n,i,u,a,e,t);let r=v[m++];if((r&128)>0){m-=15;return}return rt(l,h,_,p,o,s,c,f,n,i,u,a,e,t,r)}}}}}function ut(e){return p.copyBuffers?Uint8Array.prototype.slice.call(v,m,m+=e):v.subarray(m,m+=e)}let at=new Float32Array(1);let ot=new Uint8Array(at.buffer,0,4);function st(){let t=v[m++];let r=v[m++];let e=(t&127)>>2;if(e===31){if(r||t&3)return NaN;return t&128?-Infinity:Infinity}if(e===0){let e=((t&3)<<8|r)/(1<<24);return t&128?-e:e}ot[3]=t&128|(e>>1)+56;ot[2]=(t&7)<<5|r>>3;ot[1]=r<<5;ot[0]=0;return at[0]}new Array(4096);class ct{constructor(e,t){this.value=e;this.tag=t}}Ue[0]=e=>{return new Date(e)};Ue[1]=e=>{return new Date(Math.round(e*1e3))};Ue[2]=r=>{let n=BigInt(0);for(let e=0,t=r.byteLength;e{return BigInt(-1)-Ue[2](e)};Ue[4]=e=>{return+(e[1]+"e"+e[0])};Ue[5]=e=>{return e[1]*Math.exp(e[0]*Math.log(2))};const ft=(e,t)=>{e=e-57344;let r=Ne[e];if(r&&r.isShared){(Ne.restoreStructures||(Ne.restoreStructures=[]))[e]=r}Ne[e]=t;t.read=Ze(t)};Ue[Ce]=r=>{let e=r.length;let n=r[1];ft(r[0],n);let i={};for(let t=2;t{if(Re)return Re[0].slice(Re.position0,Re.position0+=e);return new ct(e,14)};Ue[15]=e=>{if(Re)return Re[1].slice(Re.position1,Re.position1+=e);return new ct(e,15)};let lt={Error:Error,RegExp:RegExp};Ue[27]=e=>{return(lt[e[0]]||Error)(e[1],e[2])};const ht=e=>{if(v[m++]!=132){let e=new Error("Packed values structure must be followed by a 4 element array");if(v.length{if(!Ve){if(p.getShared)Dt();else return new ct(e,Ie)}if(typeof e=="number")return Ve[16+(e>=0?2*e:-2*e-1)];let t=new Error("No support for non-integer packed references yet");if(e===undefined)t.incomplete=true;throw t};Ue[28]=e=>{if(!qe){qe=new Map;qe.id=0}let t=qe.id++;let r=v[m];let n;if(r>>5==4)n=[];else n={};let i={target:n};qe.set(t,i);let u=e();if(i.used)return Object.assign(n,u);i.target=u;return u};Ue[28].handlesRead=true;Ue[29]=e=>{let t=qe.get(e);t.used=true;return t.target};Ue[258]=e=>new Set(e);(Ue[259]=e=>{if(p.mapsAsObjects){p.mapsAsObjects=false;Ye=true}return e()}).handlesRead=true;function _t(e,t){if(typeof e==="string")return e+t;if(e instanceof Array)return e.concat(t);return Object.assign({},e,t)}function pt(){if(!Ve){if(p.getShared)Dt();else throw new Error("No packed values available")}return Ve}const dt=1399353956;ze.push((e,t)=>{if(e>=225&&e<=255)return _t(pt().prefixes[e-224],t);if(e>=28704&&e<=32767)return _t(pt().prefixes[e-28672],t);if(e>=1879052288&&e<=2147483647)return _t(pt().prefixes[e-1879048192],t);if(e>=216&&e<=223)return _t(t,pt().suffixes[e-216]);if(e>=27647&&e<=28671)return _t(t,pt().suffixes[e-27639]);if(e>=1811940352&&e<=1879048191)return _t(t,pt().suffixes[e-1811939328]);if(e==dt){return{packedValues:Ve,structures:Ne.slice(0),version:t}}if(e==55799)return t});const vt=new Uint8Array(new Uint16Array([1]).buffer)[0]==1;const mt=[Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array=="undefined"?{name:"BigUint64Array"}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array=="undefined"?{name:"BigInt64Array"}:BigInt64Array,Float32Array,Float64Array];const yt=[64,68,69,70,71,72,77,78,79,85,86];for(let e=0;e{if(!o)throw new Error("Could not find typed array for code "+s);if(!p.copyBuffers){if(t===1||t===2&&!(e.byteOffset&1)||t===4&&!(e.byteOffset&3)||t===8&&!(e.byteOffset&7))return new o(e.buffer,e.byteOffset,e.byteLength)}return new o(Uint8Array.prototype.slice.call(e,0).buffer)}:e=>{if(!o)throw new Error("Could not find typed array for code "+s);let t=new DataView(e.buffer,e.byteOffset,e.byteLength);let r=e.length>>u;let n=new o(r);let i=t[c];for(let e=0;e23){switch(e){case 24:e=v[m++];break;case 25:e=$e.getUint16(m);m+=2;break;case 26:e=$e.getUint32(m);m+=4;break}}return e}function Dt(){if(p.getShared){let e=xt(()=>{v=null;return p.getShared()})||{};let t=e.structures||[];p.sharedVersion=e.version;Ve=p.sharedValues=e.packedValues;if(Ne===true)p.structures=Ne=t;else Ne.splice.apply(Ne,[0,t.length].concat(t))}}function xt(e){let t=Oe;let r=m;let n=Le;let i=Me;let u=Te;let a=qe;let o=Re;let s=new Uint8Array(v.slice(0,Oe));let c=Ne;let f=p;let l=Ke;let h=e();Oe=t;m=r;Le=n;Me=i;Te=u;qe=a;Re=o;v=s;Ke=l;Ne=c;p=f;$e=new DataView(v.buffer,v.byteOffset,v.byteLength);return h}function Et(){v=null;qe=null;Ne=null}function Ft(e){Ue[e.tag]=e.decode}const At=new Array(147);for(let e=0;e<256;e++){At[e]=+("1e"+Math.floor(45.15-e*.30103))}let kt=new Ge({useRecords:false});kt.decode;kt.decodeMultiple;let Ot;try{Ot=new TextEncoder}catch(e){}let Ct,St;const jt=typeof globalThis==="object"&&globalThis.Buffer;const Bt=typeof jt!=="undefined";const It=Bt?jt.allocUnsafeSlow:Uint8Array;const Pt=Bt?jt:Uint8Array;const Nt=256;const Tt=Bt?4294967296:2144337920;let Lt;let C;let S;let j=0;let Mt;let Rt=null;const qt=61440;const Ut=/[\u0080-\uFFFF]/;const zt=Symbol("record-id");class Vt extends Ge{constructor(r){super(r);this.offset=0;let s;let a;let f;let l;let n;r=r||{};let c=Pt.prototype.utf8Write?function(e,t,r){return C.utf8Write(e,t,r)}:Ot&&Ot.encodeInto?function(e,t){return Ot.encodeInto(e,C.subarray(t)).written}:false;let u=this;let e=r.structures||r.saveStructures;let h=r.maxSharedStructures;if(h==null)h=e?128:0;if(h>8190)throw new Error("Maximum maxSharedStructure is 8190");let i=r.sequential;if(i){h=0}if(!this.structures)this.structures=[];if(this.saveStructures)this.saveShared=this.saveStructures;let _,p,o=r.sharedValues;let d;if(o){d=Object.create(null);for(let e=0,t=o.length;ethis.encodeKeys(e));break}}return this.encode(e,t)};this.encode=function(t,e){if(!C){C=new It(8192);S=new DataView(C.buffer,0,8192);j=0}Mt=C.length-10;if(Mt-j<2048){C=new It(C.length);S=new DataView(C.buffer,0,C.length);Mt=C.length-10;j=0}else if(e===nr)j=j+7&2147483640;s=j;if(u.useSelfDescribedHeader){S.setUint32(j,3654940416);j+=3}n=u.structuredClone?new Map:null;if(u.bundleStrings&&typeof t!=="string"){Rt=[];Rt.size=Infinity}else Rt=null;a=u.structures;if(a){if(a.uninitialized){let e=u.getShared()||{};u.structures=a=e.structures||[];u.sharedVersion=e.version;let r=u.sharedValues=e.packedValues;if(r){d={};for(let e=0,t=r.length;eh&&!i)e=h;if(!a.transitions){a.transitions=Object.create(null);for(let u=0;u0){C[j++]=216;C[j++]=51;Jt(4);let r=e.values;g(r);Jt(0);Jt(0);p=Object.create(d||null);for(let e=0,t=r.length;eMt)w(j);u.offset=j;let e=Xt(C.subarray(s,j),n.idsToInsert);n=null;return e}if(e&nr){C.start=s;C.end=j;return C}return C.subarray(s,j)}finally{if(a){if(y<10)y++;if(a.length>h)a.length=h;if(m>1e4){a.transitions=null;y=0;m=0;if(v.length>0)v=[]}else if(v.length>0&&!i){for(let e=0,t=v.length;eh){u.structures=u.structures.slice(0,h)}let e=C.subarray(s,j);if(u.updateSharedData()===false)return u.encode(t);return e}if(e&ir)j=s}};this.findCommonStringsToPack=()=>{_=new Map;if(!d)d=Object.create(null);return e=>{let r=e&&e.threshold||4;let n=this.pack?e.maxPrivatePackedValues||16:0;if(!o)o=this.sharedValues=[];for(let[e,t]of _){if(t.count>r){d[e]=n++;o.push(e);f=true}}while(this.saveShared&&this.updateSharedData()===false){}_=null}};const g=a=>{if(j>Mt)C=w(j);var e=typeof a;var o;if(e==="string"){if(p){let e=p[a];if(e>=0){if(e<16)C[j++]=e+224;else{C[j++]=198;if(e&1)g(15-e>>1);else g(e-16>>1)}return}else if(_&&!r.pack){let e=_.get(a);if(e)e.count++;else _.set(a,{count:1})}}let i=a.length;if(Rt&&i>=4&&i<1024){if((Rt.size+=i)>qt){let e;let t=(Rt[0]?Rt[0].length*3+Rt[1].length:0)+10;if(j+t>Mt)C=w(j+t);C[j++]=217;C[j++]=223;C[j++]=249;C[j++]=Rt.position?132:130;C[j++]=26;e=j-s;j+=4;if(Rt.position){er(s,g)}Rt=["",""];Rt.size=0;Rt.position=e}let e=Ut.test(a);Rt[e?0:1]+=a;C[j++]=e?206:207;g(i);return}let u;if(i<32){u=1}else if(i<256){u=2}else if(i<65536){u=3}else{u=5}let e=i*3;if(j+e>Mt)C=w(j+e);if(i<64||!c){let e,t,r,n=j+u;for(e=0;e>6|192;C[n++]=t&63|128}else if((t&64512)===55296&&((r=a.charCodeAt(e+1))&64512)===56320){t=65536+((t&1023)<<10)+(r&1023);e++;C[n++]=t>>18|240;C[n++]=t>>12&63|128;C[n++]=t>>6&63|128;C[n++]=t&63|128}else{C[n++]=t>>12|224;C[n++]=t>>6&63|128;C[n++]=t&63|128}}o=n-j-u}else{o=c(a,j+u,e)}if(o<24){C[j++]=96|o}else if(o<256){if(u<2){C.copyWithin(j+2,j+1,j+1+o)}C[j++]=120;C[j++]=o}else if(o<65536){if(u<3){C.copyWithin(j+3,j+2,j+2+o)}C[j++]=121;C[j++]=o>>8;C[j++]=o&255}else{if(u<5){C.copyWithin(j+5,j+3,j+3+o)}C[j++]=122;S.setUint32(j,o);j+=4}j+=o}else if(e==="number"){if(!this.alwaysUseFloat&&a>>>0===a){if(a<24){C[j++]=a}else if(a<256){C[j++]=24;C[j++]=a}else if(a<65536){C[j++]=25;C[j++]=a>>8;C[j++]=a&255}else{C[j++]=26;S.setUint32(j,a);j+=4}}else if(!this.alwaysUseFloat&&a>>0===a){if(a>=-24){C[j++]=31-a}else if(a>=-256){C[j++]=56;C[j++]=~a}else if(a>=-65536){C[j++]=57;S.setUint16(j,~a);j+=2}else{C[j++]=58;S.setUint32(j,~a);j+=4}}else{let t;if((t=this.useFloat32)>0&&a<4294967296&&a>=-2147483648){C[j++]=250;S.setFloat32(j,a);let e;if(t<4||(e=a*At[(C[j]&127)<<1|C[j+1]>>7])>>0===e){j+=4;return}else j--}C[j++]=251;S.setFloat64(j,a);j+=8}}else if(e==="object"){if(!a)C[j++]=246;else{if(n){let t=n.get(a);if(t){C[j++]=216;C[j++]=29;C[j++]=25;if(!t.references){let e=n.idsToInsert||(n.idsToInsert=[]);t.references=[];e.push(t)}t.references.push(j-s);j+=2;return}else n.set(a,{offset:j-s})}let e=a.constructor;if(e===Object){b(a,true)}else if(e===Array){o=a.length;if(o<24){C[j++]=128|o}else{Jt(o)}for(let e=0;e>8;C[j++]=o&255}else{C[j++]=186;S.setUint32(j,o);j+=4}if(u.keyMap){for(let[e,t]of a){g(u.encodeKey(e));g(t)}}else{for(let[e,t]of a){g(e);g(t)}}}else{for(let r=0,e=Ct.length;r>8;C[j++]=t&255}else if(t>-1){C[j++]=218;S.setUint32(j,t);j+=4}e.encode.call(this,a,g,w);return}}if(a[Symbol.iterator]){if(Lt){let e=new Error("Iterable should be serialized as iterator");e.iteratorNotHandled=true;throw e}C[j++]=159;for(let e of a){g(e)}C[j++]=255;return}if(a[Symbol.asyncIterator]||Ht(a)){let e=new Error("Iterable/blob should be serialized as iterator");e.iteratorNotHandled=true;throw e}if(this.useToJSON&&a.toJSON){const t=a.toJSON();if(t!==a)return g(t)}b(a,!a.hasOwnProperty)}}}else if(e==="boolean"){C[j++]=a?245:244}else if(e==="bigint"){if(a=0){C[j++]=27;S.setBigUint64(j,a)}else if(a>-(BigInt(1)<{let t=Object.keys(e);let r=Object.values(e);let n=t.length;if(n<24){C[j++]=160|n}else if(n<256){C[j++]=184;C[j++]=n}else if(n<65536){C[j++]=185;C[j++]=n>>8;C[j++]=n&255}else{C[j++]=186;S.setUint32(j,n);j+=4}if(u.keyMap){for(let e=0;e{C[j++]=185;let e=j-s;j+=2;let n=0;if(u.keyMap){for(let e in t)if(r||t.hasOwnProperty(e)){g(u.encodeKey(e));g(t[e]);n++}}else{for(let e in t)if(r||t.hasOwnProperty(e)){g(e);g(t[e]);n++}}C[e+++s]=n>>8;C[e+s]=n&255}:(t,r)=>{let n,i=l.transitions||(l.transitions=Object.create(null));let u=0;let a=0;let o;let s;if(this.keyMap){s=Object.keys(t).map(e=>this.encodeKey(e));a=s.length;for(let t=0;t>8|224;C[j++]=c&255}else{if(!s)s=i.__keys__||(i.__keys__=Object.keys(t));if(o===undefined){c=l.nextId++;if(!c){c=0;l.nextId=1}if(c>=Nt){l.nextId=(c=h)+1}}else{c=o}l[c]=s;if(c>8|224;C[j++]=c&255;i=l.transitions;for(let e=0;e=Nt-h)v.shift()[zt]=undefined;v.push(i);Jt(a+2);g(57344+c);g(s);if(r===null)return;for(let e in t)if(r||t.hasOwnProperty(e))g(t[e]);return}}if(a<24){C[j++]=128|a}else{Jt(a)}if(r===null)return;for(let e in t)if(r||t.hasOwnProperty(e))g(t[e])};const w=e=>{let t;if(e>16777216){if(e-s>Tt)throw new Error("Encoded buffer would be larger than maximum buffer size");t=Math.min(Tt,Math.round(Math.max((e-s)*(e>67108864?1.25:2),4194304)/4096)*4096)}else t=(Math.max(e-s<<2,C.length-1)>>12)+1<<12;let r=new It(t);S=new DataView(r.buffer,0,t);if(C.copy)C.copy(r,0,s,e);else r.set(C.slice(s,e));j-=s;s=0;Mt=r.length-10;return C=r};let D=100;let x=1e3;this.encodeAsIterable=function(e,t){return k(e,t,E)};this.encodeAsAsyncIterable=function(e,t){return k(e,t,O)};function*E(n,i,e){let t=n.constructor;if(t===Object){let r=u.useRecords!==false;if(r)b(n,null);else $t(Object.keys(n).length,160);for(let t in n){let e=n[t];if(!r)g(t);if(e&&typeof e==="object"){if(i[t])yield*E(e,i[t]);else yield*F(e,i,t)}else g(e)}}else if(t===Array){let e=n.length;Jt(e);for(let t=0;tD)){if(i.element)yield*E(e,i.element);else yield*F(e,i,"element")}else g(e)}}else if(n[Symbol.iterator]){C[j++]=159;for(let e of n){if(e&&(typeof e==="object"||j-s>D)){if(i.element)yield*E(e,i.element);else yield*F(e,i,"element")}else g(e)}C[j++]=255}else if(Ht(n)){$t(n.size,64);yield C.subarray(s,j);yield n;A()}else if(n[Symbol.asyncIterator]){C[j++]=159;yield C.subarray(s,j);yield n;A();C[j++]=255}else{g(n)}if(e&&j>s)yield C.subarray(s,j);else if(j-s>D){yield C.subarray(s,j);A()}}function*F(t,r,n){let i=j-s;try{g(t);if(j-s>D){yield C.subarray(s,j);A()}}catch(e){if(e.iteratorNotHandled){r[n]={};j=s+i;yield*E.call(this,t,r[n])}else throw e}}function A(){D=x;u.encode(null,ur)}function k(e,t,r){if(t&&t.chunkThreshold)D=x=t.chunkThreshold;else D=100;if(e&&typeof e==="object"){u.encode(null,ur);return r(e,u.iterateProperties||(u.iterateProperties={}),true)}return[u.encode(e)]}async function*O(e,t){for(let r of E(e,t,true)){let e=r.constructor;if(e===Pt||e===Uint8Array)yield r;else if(Ht(r)){let e=r.stream().getReader();let t;while(!(t=await e.read()).done){yield t.value}}else if(r[Symbol.asyncIterator]){for await(let e of r){A();if(e)yield*O(e,t.async||(t.async={}));else yield u.encode(e)}}else{yield r}}}}useBuffer(e){C=e;S=new DataView(C.buffer,C.byteOffset,C.byteLength);j=0}clearSharedData(){if(this.structures)this.structures=[];if(this.sharedValues)this.sharedValues=undefined}updateSharedData(){let t=this.sharedVersion||0;this.sharedVersion=t+1;let e=this.structures.slice(0);let r=new Yt(e,this.sharedValues,this.sharedVersion);let n=this.saveShared(r,e=>(e&&e.version||0)==t);if(n===false){r=this.getShared()||{};this.structures=r.structures||[];this.sharedValues=r.packedValues;this.sharedVersion=r.version;this.structures.nextId=this.structures.length}else{e.forEach((e,t)=>this.structures[t]=e)}return n}}function $t(e,t){if(e<24)C[j++]=t|e;else if(e<256){C[j++]=t|24;C[j++]=e}else if(e<65536){C[j++]=t|25;C[j++]=e>>8;C[j++]=e&255}else{C[j++]=t|26;S.setUint32(j,e);j+=4}}class Yt{constructor(e,t,r){this.structures=e;this.packedValues=t;this.version=r}}function Jt(e){if(e<24)C[j++]=128|e;else if(e<256){C[j++]=152;C[j++]=e}else if(e<65536){C[j++]=153;C[j++]=e>>8;C[j++]=e&255}else{C[j++]=154;S.setUint32(j,e);j+=4}}const Kt=typeof Blob==="undefined"?function(){}:Blob;function Ht(e){if(e instanceof Kt)return true;let t=e[Symbol.toStringTag];return t==="Blob"||t==="File"}function Gt(r,n){switch(typeof r){case"string":if(r.length>3){if(n.objectMap[r]>-1||n.values.length>=n.maxValues)return;let e=n.get(r);if(e){if(++e.count==2){n.values.push(r)}}else{n.set(r,{count:1});if(n.samplingPackedValues){let e=n.samplingPackedValues.get(r);if(e)e.count++;else n.samplingPackedValues.set(r,{count:1})}}}break;case"object":if(r){if(r instanceof Array){for(let e=0,t=r.length;e=0&&r<4294967296){C[j++]=26;S.setUint32(j,r);j+=4}else{C[j++]=251;S.setFloat64(j,r);j+=8}}},{tag:258,encode(e,t){let r=Array.from(e);t(r)}},{tag:27,encode(e,t){t([e.name,e.message])}},{tag:27,encode(e,t){t(["RegExp",e.source,e.flags])}},{getTag(e){return e.tag},encode(e,t){t(e.value)}},{encode(e,t,r){Zt(e,r)}},{getTag(e){if(e.constructor===Uint8Array){if(this.tagUint8Array||Bt&&this.tagUint8Array!==false)return 64}},encode(e,t,r){Zt(e,r)}},Qt(68,1),Qt(69,2),Qt(70,4),Qt(71,8),Qt(72,1),Qt(77,2),Qt(78,4),Qt(79,8),Qt(85,4),Qt(86,8),{encode(t,n){let e=t.packedValues||[];let r=t.structures||[];if(e.values.length>0){C[j++]=216;C[j++]=51;Jt(4);let r=e.values;n(r);Jt(0);Jt(0);packedObjectMap=Object.create(sharedPackedObjectMap||null);for(let e=0,t=r.length;e1)e-=4;return{tag:e,encode:function e(t,r){let n=t.byteLength;let i=t.byteOffset||0;let u=t.buffer||t;r(Bt?jt.from(u,i,n):new Uint8Array(u,i,n))}}}function Zt(e,t){let r=e.byteLength;if(r<24){C[j++]=64+r}else if(r<256){C[j++]=88;C[j++]=r}else if(r<65536){C[j++]=89;C[j++]=r>>8;C[j++]=r&255}else{C[j++]=90;S.setUint32(j,r);j+=4}if(j+r>=C.length){t(j+r)}C.set(e.buffer?e:new Uint8Array(e),j);j+=r}function Xt(n,e){let r;let i=e.length*2;let u=n.length-i;e.sort((e,t)=>e.offset>t.offset?1:-1);for(let r=0;r>8;n[e]=r&255}}while(r=e.pop()){let e=r.offset;n.copyWithin(e+i,e,u);i-=2;let t=e+i;n[t++]=216;n[t++]=28;u=e}return n}function er(e,t){S.setUint32(Rt.position+e,j-Rt.position-e+1);let r=Rt;Rt=null;t(r[0]);t(r[1])}function tr(e){if(e.Class){if(!e.encode)throw new Error("Extension has no encode function");St.unshift(e.Class);Ct.unshift(e)}Ft(e)}let rr=new Vt({useRecords:false});rr.encode;rr.encodeAsIterable;rr.encodeAsAsyncIterable;const nr=512;const ir=1024;const ur=2048;var ar={}; +(function(e,t){typeof exports==="object"&&typeof module!=="undefined"?t(exports):typeof define==="function"&&define.amd?define(["exports"],t):(e=typeof globalThis!=="undefined"?globalThis:e||self,t(e.lips={}))})(this,function(e){"use strict";var o=typeof document!=="undefined"?document.currentScript:null;function n(e,t){if(t.get){return t.get.call(e)}return t.value}function i(e,t,r){if(!t.has(e)){throw new TypeError("attempted to "+r+" private field on non-instance")}return t.get(e)}function r(e,t){var r=i(e,t,"get");return n(e,r)}function a(e,t,r){if(t.set){t.set.call(e,r)}else{if(!t.writable){throw new TypeError("attempted to set read only private field")}t.value=r}}function f(e,t,r){var n=i(e,t,"set");a(e,n,r);return r}function k(e){k=Object.setPrototypeOf?Object.getPrototypeOf.bind():function e(t){return t.__proto__||Object.getPrototypeOf(t)};return k(e)}function B(e,t){B=Object.setPrototypeOf?Object.setPrototypeOf.bind():function e(t,r){t.__proto__=r;return t};return B(e,t)}function I(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch(e){return typeof t==="function"}}function P(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(P=function e(){return!!t})()}function N(e,t,r){if(P())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,t);var i=new(e.bind.apply(e,n));return r&&B(i,r.prototype),i}function T(e){var n=typeof Map==="function"?new Map:undefined;T=function e(t){if(t===null||!I(t))return t;if(typeof t!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof n!=="undefined"){if(n.has(t))return n.get(t);n.set(t,r)}function r(){return N(t,arguments,k(this).constructor)}r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:false,writable:true,configurable:true}});return B(r,t)};return T(e)}function _(e){"@babel/helpers - typeof";return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_(e)}function L(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function M(e,t){if(t&&(_(t)==="object"||typeof t==="function")){return t}else if(t!==void 0){throw new TypeError("Derived constructors may only return object or undefined")}return L(e)}function R(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});Object.defineProperty(e,"prototype",{writable:false});if(t)B(e,t)}function Q(e){if(Array.isArray(e))return e}function Z(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function X(e,t){if(t==null||t>e.length)t=e.length;for(var r=0,n=new Array(t);r=0)continue;r[i]=e[i]}return r}function le(e,t){if(e==null)return{};var r=fe(e,t);var n,i;if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(i=0;i=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,n))continue;r[n]=e[n]}}return r}function he(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,u,a,o=[],s=!0,c=!1;try{if(u=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=u.call(r)).done)&&(o.push(n.value),o.length!==t);s=!0);}catch(e){c=!0,i=e}finally{try{if(!s&&null!=r["return"]&&(a=r["return"](),Object(a)!==a))return}finally{if(c)throw i}}return o}}function b(e,t){return Q(e)||he(e,t)||ee(e,t)||te()}function _e(e){if(Array.isArray(e))return X(e)}function pe(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function U(e){return _e(e)||Z(e)||ee(e)||pe()}function de(e,t){this.v=e,this.k=t}function ve(e){return new de(e,0)}function me(a){var u,o;function s(r,e){try{var n=a[r](e),i=n.value,u=i instanceof de;Promise.resolve(u?i.v:i).then(function(e){if(u){var t="return"===r?"return":"next";if(!i.k||e.done)return s(t,e);e=a[t](e).value}c(n.done?"return":"normal",e)},function(e){s("throw",e)})}catch(e){c("throw",e)}}function c(e,t){switch(e){case"return":u.resolve({value:t,done:!0});break;case"throw":u.reject(t);break;default:u.resolve({value:t,done:!1})}(u=u.next)?s(u.key,u.arg):o=null}this._invoke=function(n,i){return new Promise(function(e,t){var r={key:n,arg:i,resolve:e,reject:t,next:null};o?o=o.next=r:(u=o=r,s(n,i))})},"function"!=typeof a["return"]&&(this["return"]=void 0)}me.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},me.prototype.next=function(e){return this._invoke("next",e)},me.prototype["throw"]=function(e){return this._invoke("throw",e)},me.prototype["return"]=function(e){return this._invoke("return",e)};function ye(e){return function(){return new me(e.apply(this,arguments))}}function ge(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e["default"]:e}var be={exports:{}};var we={exports:{}};(function(t){function r(e){"@babel/helpers - typeof";return t.exports=r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t.exports.__esModule=true,t.exports["default"]=t.exports,r(e)}t.exports=r,t.exports.__esModule=true,t.exports["default"]=t.exports})(we);var De=we.exports;(function(B){var I=De["default"];function P(){B.exports=P=function e(){return a},B.exports.__esModule=true,B.exports["default"]=B.exports;var c,a={},e=Object.prototype,f=e.hasOwnProperty,l=Object.defineProperty||function(e,t,r){e[t]=r.value},t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",r=t.asyncIterator||"@@asyncIterator",n=t.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(c){u=function e(t,r,n){return t[r]=n}}function o(e,t,r,n){var i=t&&t.prototype instanceof s?t:s,u=Object.create(i.prototype),a=new S(n||[]);return l(u,"_invoke",{value:A(e,r,a)}),u}function h(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}a.wrap=o;var _="suspendedStart",p="suspendedYield",d="executing",v="completed",m={};function s(){}function y(){}function g(){}var b={};u(b,i,function(){return this});var w=Object.getPrototypeOf,D=w&&w(w(j([])));D&&D!==e&&f.call(D,i)&&(b=D);var x=g.prototype=s.prototype=Object.create(b);function E(e){["next","throw","return"].forEach(function(t){u(e,t,function(e){return this._invoke(t,e)})})}function F(o,s){function c(e,t,r,n){var i=h(o[e],o,t);if("throw"!==i.type){var u=i.arg,a=u.value;return a&&"object"==I(a)&&f.call(a,"__await")?s.resolve(a.__await).then(function(e){c("next",e,r,n)},function(e){c("throw",e,r,n)}):s.resolve(a).then(function(e){u.value=e,r(u)},function(e){return c("throw",e,r,n)})}n(i.arg)}var i;l(this,"_invoke",{value:function e(r,n){function t(){return new s(function(e,t){c(r,n,e,t)})}return i=i?i.then(t,t):t()}})}function A(u,a,o){var s=_;return function(e,t){if(s===d)throw new Error("Generator is already running");if(s===v){if("throw"===e)throw t;return{value:c,done:!0}}for(o.method=e,o.arg=t;;){var r=o.delegate;if(r){var n=k(r,o);if(n){if(n===m)continue;return n}}if("next"===o.method)o.sent=o._sent=o.arg;else if("throw"===o.method){if(s===_)throw s=v,o.arg;o.dispatchException(o.arg)}else"return"===o.method&&o.abrupt("return",o.arg);s=d;var i=h(u,a,o);if("normal"===i.type){if(s=o.done?v:p,i.arg===m)continue;return{value:i.arg,done:o.done}}"throw"===i.type&&(s=v,o.method="throw",o.arg=i.arg)}}}function k(e,t){var r=t.method,n=e.iterator[r];if(n===c)return t.delegate=null,"throw"===r&&e.iterator["return"]&&(t.method="return",t.arg=c,k(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),m;var i=h(n,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,m;var u=i.arg;return u?u.done?(t[e.resultName]=u.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=c),t.delegate=null,m):u:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,m)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function S(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function j(t){if(t||""===t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,n=function e(){for(;++r=0;--i){var u=this.tryEntries[i],a=u.completion;if("root"===u.tryLoc)return t("end");if(u.tryLoc<=this.prev){var o=f.call(u,"catchLoc"),s=f.call(u,"finallyLoc");if(o&&s){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&f.call(i,"finallyLoc")&&this.prev=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),C(n),m}},catch:function e(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var u=i.arg;C(n)}return u}}throw new Error("illegal catch attempt")},delegateYield:function e(t,r,n){return this.delegate={iterator:j(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=c),m}},a}B.exports=P,B.exports.__esModule=true,B.exports["default"]=B.exports})(be);var xe=be.exports;var Ee=xe();var Fe=Ee;try{regeneratorRuntime=Ee}catch(e){if(typeof globalThis==="object"){globalThis.regeneratorRuntime=Ee}else{Function("r","regeneratorRuntime = r")(Ee)}}var O=ge(Fe);let Ae;try{Ae=new TextDecoder}catch(e){}let v;let ke;let m=0;const Oe=105;const Ce=57342;const Se=57343;const je=57337;const Be=6;const Ie={};let p={};let Pe;let Ne;let Te=0;let Le=0;let Me;let Re;let qe=[];let Ue=[];let ze;let Ve;let $e;let Ye={useRecords:false,mapsAsObjects:true};let Je=false;let Ke=2;try{new Function("")}catch(e){Ke=Infinity}class He{constructor(r){if(r){if((r.keyMap||r._keyMap)&&!r.useRecords){r.useRecords=false;r.mapsAsObjects=true}if(r.useRecords===false&&r.mapsAsObjects===undefined)r.mapsAsObjects=true;if(r.getStructures)r.getShared=r.getStructures;if(r.getShared&&!r.structures)(r.structures=[]).uninitialized=true;if(r.keyMap){this.mapKey=new Map;for(let[e,t]of Object.entries(r.keyMap))this.mapKey.set(t,e)}}Object.assign(this,r)}decodeKey(e){return this.keyMap?this.mapKey.get(e)||e:e}encodeKey(e){return this.keyMap&&this.keyMap.hasOwnProperty(e)?this.keyMap[e]:e}encodeKeys(r){if(!this._keyMap)return r;let n=new Map;for(let[e,t]of Object.entries(r))n.set(this._keyMap.hasOwnProperty(e)?this._keyMap[e]:e,t);return n}decodeKeys(e){if(!this._keyMap||e.constructor.name!="Map")return e;if(!this._mapKey){this._mapKey=new Map;for(let[e,t]of Object.entries(this._keyMap))this._mapKey.set(t,e)}let r={};e.forEach((e,t)=>r[Ze(this._mapKey.has(t)?this._mapKey.get(t):t)]=e);return r}mapDecode(e,t){let r=this.decode(e);if(this._keyMap){switch(r.constructor.name){case"Array":return r.map(e=>this.decodeKeys(e))}}return r}decode(t,e){if(v){return Dt(()=>{xt();return this?this.decode(t,e):He.prototype.decode.call(Ye,t,e)})}ke=e>-1?e:t.length;m=0;Le=0;Ne=null;Me=null;v=t;try{Ve=t.dataView||(t.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength))}catch(e){v=null;if(t instanceof Uint8Array)throw e;throw new Error("Source must be a Uint8Array or Buffer but was a "+(t&&typeof t=="object"?t.constructor.name:typeof t))}if(this instanceof He){p=this;ze=this.sharedValues&&(this.pack?new Array(this.maxPrivatePackedValues||16).concat(this.sharedValues):this.sharedValues);if(this.structures){Pe=this.structures;return Ge()}else if(!Pe||Pe.length>0){Pe=[]}}else{p=Ye;if(!Pe||Pe.length>0)Pe=[];ze=null}return Ge()}decodeMultiple(r,n){let i,u=0;try{let e=r.length;Je=true;let t=this?this.decode(r,e):At.decode(r,e);if(n){if(n(t)===false){return}while(m=Me.postBundlePosition){let e=new Error("Unexpected bundle position");e.incomplete=true;throw e}m=Me.postBundlePosition;Me=null}if(m==ke){Pe=null;v=null;if(Re)Re=null}else if(m>ke){let e=new Error("Unexpected end of CBOR data");e.incomplete=true;throw e}else if(!Je){throw new Error("Data read, but end of buffer not reached")}return e}catch(e){xt();if(e instanceof RangeError||e.message.startsWith("Unexpected end of buffer")){e.incomplete=true}throw e}}function u(){let n=v[m++];let i=n>>5;n=n&31;if(n>23){switch(n){case 24:n=v[m++];break;case 25:if(i==7){return ot()}n=Ve.getUint16(m);m+=2;break;case 26:if(i==7){let t=Ve.getFloat32(m);if(p.useFloat32>2){let e=Ft[(v[m]&127)<<1|v[m+1]>>7];m+=4;return(e*t+(t>0?.5:-.5)>>0)/e}m+=4;return t}n=Ve.getUint32(m);m+=4;break;case 27:if(i==7){let e=Ve.getFloat64(m);m+=8;return e}if(i>1){if(Ve.getUint32(m)>0)throw new Error("JavaScript does not support arrays, maps, or strings with length over 4294967295");n=Ve.getUint32(m+4)}else if(p.int64AsNumber){n=Ve.getUint32(m)*4294967296;n+=Ve.getUint32(m+4)}else n=Ve.getBigUint64(m);m+=8;break;case 31:switch(i){case 2:case 3:throw new Error("Indefinite length not supported for byte or text strings");case 4:let e=[];let t,r=0;while((t=u())!=Ie){e[r++]=t}return i==4?e:i==3?e.join(""):Buffer.concat(e);case 5:let n;if(p.mapsAsObjects){let e={};if(p.keyMap)while((n=u())!=Ie)e[Ze(p.decodeKey(n))]=u();else while((n=u())!=Ie)e[Ze(n)]=u();return e}else{if($e){p.mapsAsObjects=true;$e=false}let e=new Map;if(p.keyMap)while((n=u())!=Ie)e.set(p.decodeKey(n),u());else while((n=u())!=Ie)e.set(n,u());return e}case 7:return Ie;default:throw new Error("Invalid major type for indefinite length "+i)}default:throw new Error("Unknown token "+n)}}switch(i){case 0:return n;case 1:return~n;case 2:return it(n);case 3:if(Le>=m){return Ne.slice(m-Te,(m+=n)-Te)}if(Le==0&&ke<140&&n<32){let e=n<16?nt(n):rt(n);if(e!=null)return e}return Xe(n);case 4:let t=new Array(n);for(let e=0;e=je){let e=Pe[n&8191];if(e){if(!e.read)e.read=Qe(e);return e.read()}if(n<65536){if(n==Se){let e=bt();let t=u();let r=u();ct(t,r);let n={};if(p.keyMap)for(let t=2;t23){switch(t){case 24:t=v[m++];break;case 25:t=Ve.getUint16(m);m+=2;break;case 26:t=Ve.getUint32(m);m+=4;break;default:throw new Error("Expected array header, but got "+v[m-1])}}let r=this.compiledReader;while(r){if(r.propertyCount===t)return r(u);r=r.next}if(this.slowReads++>=Ke){let e=this.length==t?this:this.slice(0,t);r=p.keyMap?new Function("r","return {"+e.map(e=>p.decodeKey(e)).map(e=>We.test(e)?Ze(e)+":r()":"["+JSON.stringify(e)+"]:r()").join(",")+"}"):new Function("r","return {"+e.map(e=>We.test(e)?Ze(e)+":r()":"["+JSON.stringify(e)+"]:r()").join(",")+"}");if(this.compiledReader)r.next=this.compiledReader;r.propertyCount=t;this.compiledReader=r;return r(u)}let n={};if(p.keyMap)for(let e=0;e64&&Ae)return Ae.decode(v.subarray(m,m+=e));const r=m+e;const n=[];t="";while(m65535){e-=65536;n.push(e>>>10&1023|55296);e=56320|e&1023}n.push(e)}else{n.push(i)}if(n.length>=4096){t+=tt.apply(String,n);n.length=0}}if(n.length>0){t+=tt.apply(String,n)}return t}let tt=String.fromCharCode;function rt(t){let r=m;let n=new Array(t);for(let e=0;e0){m=r;return}n[e]=i}return tt.apply(String,n)}function nt(d){if(d<4){if(d<2){if(d===0)return"";else{let e=v[m++];if((e&128)>1){m-=1;return}return tt(e)}}else{let e=v[m++];let t=v[m++];if((e&128)>0||(t&128)>0){m-=2;return}if(d<3)return tt(e,t);let r=v[m++];if((r&128)>0){m-=3;return}return tt(e,t,r)}}else{let l=v[m++];let h=v[m++];let _=v[m++];let p=v[m++];if((l&128)>0||(h&128)>0||(_&128)>0||(p&128)>0){m-=4;return}if(d<6){if(d===4)return tt(l,h,_,p);else{let e=v[m++];if((e&128)>0){m-=5;return}return tt(l,h,_,p,e)}}else if(d<8){let e=v[m++];let t=v[m++];if((e&128)>0||(t&128)>0){m-=6;return}if(d<7)return tt(l,h,_,p,e,t);let r=v[m++];if((r&128)>0){m-=7;return}return tt(l,h,_,p,e,t,r)}else{let o=v[m++];let s=v[m++];let c=v[m++];let f=v[m++];if((o&128)>0||(s&128)>0||(c&128)>0||(f&128)>0){m-=8;return}if(d<10){if(d===8)return tt(l,h,_,p,o,s,c,f);else{let e=v[m++];if((e&128)>0){m-=9;return}return tt(l,h,_,p,o,s,c,f,e)}}else if(d<12){let e=v[m++];let t=v[m++];if((e&128)>0||(t&128)>0){m-=10;return}if(d<11)return tt(l,h,_,p,o,s,c,f,e,t);let r=v[m++];if((r&128)>0){m-=11;return}return tt(l,h,_,p,o,s,c,f,e,t,r)}else{let n=v[m++];let i=v[m++];let u=v[m++];let a=v[m++];if((n&128)>0||(i&128)>0||(u&128)>0||(a&128)>0){m-=12;return}if(d<14){if(d===12)return tt(l,h,_,p,o,s,c,f,n,i,u,a);else{let e=v[m++];if((e&128)>0){m-=13;return}return tt(l,h,_,p,o,s,c,f,n,i,u,a,e)}}else{let e=v[m++];let t=v[m++];if((e&128)>0||(t&128)>0){m-=14;return}if(d<15)return tt(l,h,_,p,o,s,c,f,n,i,u,a,e,t);let r=v[m++];if((r&128)>0){m-=15;return}return tt(l,h,_,p,o,s,c,f,n,i,u,a,e,t,r)}}}}}function it(e){return p.copyBuffers?Uint8Array.prototype.slice.call(v,m,m+=e):v.subarray(m,m+=e)}let ut=new Float32Array(1);let at=new Uint8Array(ut.buffer,0,4);function ot(){let t=v[m++];let r=v[m++];let e=(t&127)>>2;if(e===31){if(r||t&3)return NaN;return t&128?-Infinity:Infinity}if(e===0){let e=((t&3)<<8|r)/(1<<24);return t&128?-e:e}at[3]=t&128|(e>>1)+56;at[2]=(t&7)<<5|r>>3;at[1]=r<<5;at[0]=0;return ut[0]}new Array(4096);class st{constructor(e,t){this.value=e;this.tag=t}}qe[0]=e=>{return new Date(e)};qe[1]=e=>{return new Date(Math.round(e*1e3))};qe[2]=r=>{let n=BigInt(0);for(let e=0,t=r.byteLength;e{return BigInt(-1)-qe[2](e)};qe[4]=e=>{return+(e[1]+"e"+e[0])};qe[5]=e=>{return e[1]*Math.exp(e[0]*Math.log(2))};const ct=(e,t)=>{e=e-57344;let r=Pe[e];if(r&&r.isShared){(Pe.restoreStructures||(Pe.restoreStructures=[]))[e]=r}Pe[e]=t;t.read=Qe(t)};qe[Oe]=r=>{let e=r.length;let n=r[1];ct(r[0],n);let i={};for(let t=2;t{if(Me)return Me[0].slice(Me.position0,Me.position0+=e);return new st(e,14)};qe[15]=e=>{if(Me)return Me[1].slice(Me.position1,Me.position1+=e);return new st(e,15)};let ft={Error:Error,RegExp:RegExp};qe[27]=e=>{return(ft[e[0]]||Error)(e[1],e[2])};const lt=e=>{if(v[m++]!=132){let e=new Error("Packed values structure must be followed by a 4 element array");if(v.length{if(!ze){if(p.getShared)wt();else return new st(e,Be)}if(typeof e=="number")return ze[16+(e>=0?2*e:-2*e-1)];let t=new Error("No support for non-integer packed references yet");if(e===undefined)t.incomplete=true;throw t};qe[28]=e=>{if(!Re){Re=new Map;Re.id=0}let t=Re.id++;let r=v[m];let n;if(r>>5==4)n=[];else n={};let i={target:n};Re.set(t,i);let u=e();if(i.used)return Object.assign(n,u);i.target=u;return u};qe[28].handlesRead=true;qe[29]=e=>{let t=Re.get(e);t.used=true;return t.target};qe[258]=e=>new Set(e);(qe[259]=e=>{if(p.mapsAsObjects){p.mapsAsObjects=false;$e=true}return e()}).handlesRead=true;function ht(e,t){if(typeof e==="string")return e+t;if(e instanceof Array)return e.concat(t);return Object.assign({},e,t)}function _t(){if(!ze){if(p.getShared)wt();else throw new Error("No packed values available")}return ze}const pt=1399353956;Ue.push((e,t)=>{if(e>=225&&e<=255)return ht(_t().prefixes[e-224],t);if(e>=28704&&e<=32767)return ht(_t().prefixes[e-28672],t);if(e>=1879052288&&e<=2147483647)return ht(_t().prefixes[e-1879048192],t);if(e>=216&&e<=223)return ht(t,_t().suffixes[e-216]);if(e>=27647&&e<=28671)return ht(t,_t().suffixes[e-27639]);if(e>=1811940352&&e<=1879048191)return ht(t,_t().suffixes[e-1811939328]);if(e==pt){return{packedValues:ze,structures:Pe.slice(0),version:t}}if(e==55799)return t});const dt=new Uint8Array(new Uint16Array([1]).buffer)[0]==1;const vt=[Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array=="undefined"?{name:"BigUint64Array"}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array=="undefined"?{name:"BigInt64Array"}:BigInt64Array,Float32Array,Float64Array];const mt=[64,68,69,70,71,72,77,78,79,85,86];for(let e=0;e{if(!o)throw new Error("Could not find typed array for code "+s);if(!p.copyBuffers){if(t===1||t===2&&!(e.byteOffset&1)||t===4&&!(e.byteOffset&3)||t===8&&!(e.byteOffset&7))return new o(e.buffer,e.byteOffset,e.byteLength)}return new o(Uint8Array.prototype.slice.call(e,0).buffer)}:e=>{if(!o)throw new Error("Could not find typed array for code "+s);let t=new DataView(e.buffer,e.byteOffset,e.byteLength);let r=e.length>>u;let n=new o(r);let i=t[c];for(let e=0;e23){switch(e){case 24:e=v[m++];break;case 25:e=Ve.getUint16(m);m+=2;break;case 26:e=Ve.getUint32(m);m+=4;break}}return e}function wt(){if(p.getShared){let e=Dt(()=>{v=null;return p.getShared()})||{};let t=e.structures||[];p.sharedVersion=e.version;ze=p.sharedValues=e.packedValues;if(Pe===true)p.structures=Pe=t;else Pe.splice.apply(Pe,[0,t.length].concat(t))}}function Dt(e){let t=ke;let r=m;let n=Te;let i=Le;let u=Ne;let a=Re;let o=Me;let s=new Uint8Array(v.slice(0,ke));let c=Pe;let f=p;let l=Je;let h=e();ke=t;m=r;Te=n;Le=i;Ne=u;Re=a;Me=o;v=s;Je=l;Pe=c;p=f;Ve=new DataView(v.buffer,v.byteOffset,v.byteLength);return h}function xt(){v=null;Re=null;Pe=null}function Et(e){qe[e.tag]=e.decode}const Ft=new Array(147);for(let e=0;e<256;e++){Ft[e]=+("1e"+Math.floor(45.15-e*.30103))}let At=new He({useRecords:false});At.decode;At.decodeMultiple;let kt;try{kt=new TextEncoder}catch(e){}let Ot,Ct;const St=typeof globalThis==="object"&&globalThis.Buffer;const jt=typeof St!=="undefined";const Bt=jt?St.allocUnsafeSlow:Uint8Array;const It=jt?St:Uint8Array;const Pt=256;const Nt=jt?4294967296:2144337920;let Tt;let C;let Lt;let S=0;let Mt;let Rt=null;const qt=61440;const Ut=/[\u0080-\uFFFF]/;const zt=Symbol("record-id");class Vt extends He{constructor(r){super(r);this.offset=0;let s;let a;let f;let l;let n;r=r||{};let c=It.prototype.utf8Write?function(e,t,r){return C.utf8Write(e,t,r)}:kt&&kt.encodeInto?function(e,t){return kt.encodeInto(e,C.subarray(t)).written}:false;let u=this;let e=r.structures||r.saveStructures;let h=r.maxSharedStructures;if(h==null)h=e?128:0;if(h>8190)throw new Error("Maximum maxSharedStructure is 8190");let i=r.sequential;if(i){h=0}if(!this.structures)this.structures=[];if(this.saveStructures)this.saveShared=this.saveStructures;let _,p,o=r.sharedValues;let d;if(o){d=Object.create(null);for(let e=0,t=o.length;ethis.encodeKeys(e));break}}return this.encode(e,t)};this.encode=function(t,e){if(!C){C=new Bt(8192);Lt=new DataView(C.buffer,0,8192);S=0}Mt=C.length-10;if(Mt-S<2048){C=new Bt(C.length);Lt=new DataView(C.buffer,0,C.length);Mt=C.length-10;S=0}else if(e===nr)S=S+7&2147483640;s=S;if(u.useSelfDescribedHeader){Lt.setUint32(S,3654940416);S+=3}n=u.structuredClone?new Map:null;if(u.bundleStrings&&typeof t!=="string"){Rt=[];Rt.size=Infinity}else Rt=null;a=u.structures;if(a){if(a.uninitialized){let e=u.getShared()||{};u.structures=a=e.structures||[];u.sharedVersion=e.version;let r=u.sharedValues=e.packedValues;if(r){d={};for(let e=0,t=r.length;eh&&!i)e=h;if(!a.transitions){a.transitions=Object.create(null);for(let u=0;u0){C[S++]=216;C[S++]=51;Jt(4);let r=e.values;g(r);Jt(0);Jt(0);p=Object.create(d||null);for(let e=0,t=r.length;eMt)w(S);u.offset=S;let e=Xt(C.subarray(s,S),n.idsToInsert);n=null;return e}if(e&nr){C.start=s;C.end=S;return C}return C.subarray(s,S)}finally{if(a){if(y<10)y++;if(a.length>h)a.length=h;if(m>1e4){a.transitions=null;y=0;m=0;if(v.length>0)v=[]}else if(v.length>0&&!i){for(let e=0,t=v.length;eh){u.structures=u.structures.slice(0,h)}let e=C.subarray(s,S);if(u.updateSharedData()===false)return u.encode(t);return e}if(e&ir)S=s}};this.findCommonStringsToPack=()=>{_=new Map;if(!d)d=Object.create(null);return e=>{let r=e&&e.threshold||4;let n=this.pack?e.maxPrivatePackedValues||16:0;if(!o)o=this.sharedValues=[];for(let[e,t]of _){if(t.count>r){d[e]=n++;o.push(e);f=true}}while(this.saveShared&&this.updateSharedData()===false){}_=null}};const g=a=>{if(S>Mt)C=w(S);var e=typeof a;var o;if(e==="string"){if(p){let e=p[a];if(e>=0){if(e<16)C[S++]=e+224;else{C[S++]=198;if(e&1)g(15-e>>1);else g(e-16>>1)}return}else if(_&&!r.pack){let e=_.get(a);if(e)e.count++;else _.set(a,{count:1})}}let i=a.length;if(Rt&&i>=4&&i<1024){if((Rt.size+=i)>qt){let e;let t=(Rt[0]?Rt[0].length*3+Rt[1].length:0)+10;if(S+t>Mt)C=w(S+t);C[S++]=217;C[S++]=223;C[S++]=249;C[S++]=Rt.position?132:130;C[S++]=26;e=S-s;S+=4;if(Rt.position){er(s,g)}Rt=["",""];Rt.size=0;Rt.position=e}let e=Ut.test(a);Rt[e?0:1]+=a;C[S++]=e?206:207;g(i);return}let u;if(i<32){u=1}else if(i<256){u=2}else if(i<65536){u=3}else{u=5}let e=i*3;if(S+e>Mt)C=w(S+e);if(i<64||!c){let e,t,r,n=S+u;for(e=0;e>6|192;C[n++]=t&63|128}else if((t&64512)===55296&&((r=a.charCodeAt(e+1))&64512)===56320){t=65536+((t&1023)<<10)+(r&1023);e++;C[n++]=t>>18|240;C[n++]=t>>12&63|128;C[n++]=t>>6&63|128;C[n++]=t&63|128}else{C[n++]=t>>12|224;C[n++]=t>>6&63|128;C[n++]=t&63|128}}o=n-S-u}else{o=c(a,S+u,e)}if(o<24){C[S++]=96|o}else if(o<256){if(u<2){C.copyWithin(S+2,S+1,S+1+o)}C[S++]=120;C[S++]=o}else if(o<65536){if(u<3){C.copyWithin(S+3,S+2,S+2+o)}C[S++]=121;C[S++]=o>>8;C[S++]=o&255}else{if(u<5){C.copyWithin(S+5,S+3,S+3+o)}C[S++]=122;Lt.setUint32(S,o);S+=4}S+=o}else if(e==="number"){if(!this.alwaysUseFloat&&a>>>0===a){if(a<24){C[S++]=a}else if(a<256){C[S++]=24;C[S++]=a}else if(a<65536){C[S++]=25;C[S++]=a>>8;C[S++]=a&255}else{C[S++]=26;Lt.setUint32(S,a);S+=4}}else if(!this.alwaysUseFloat&&a>>0===a){if(a>=-24){C[S++]=31-a}else if(a>=-256){C[S++]=56;C[S++]=~a}else if(a>=-65536){C[S++]=57;Lt.setUint16(S,~a);S+=2}else{C[S++]=58;Lt.setUint32(S,~a);S+=4}}else{let t;if((t=this.useFloat32)>0&&a<4294967296&&a>=-2147483648){C[S++]=250;Lt.setFloat32(S,a);let e;if(t<4||(e=a*Ft[(C[S]&127)<<1|C[S+1]>>7])>>0===e){S+=4;return}else S--}C[S++]=251;Lt.setFloat64(S,a);S+=8}}else if(e==="object"){if(!a)C[S++]=246;else{if(n){let t=n.get(a);if(t){C[S++]=216;C[S++]=29;C[S++]=25;if(!t.references){let e=n.idsToInsert||(n.idsToInsert=[]);t.references=[];e.push(t)}t.references.push(S-s);S+=2;return}else n.set(a,{offset:S-s})}let e=a.constructor;if(e===Object){b(a,true)}else if(e===Array){o=a.length;if(o<24){C[S++]=128|o}else{Jt(o)}for(let e=0;e>8;C[S++]=o&255}else{C[S++]=186;Lt.setUint32(S,o);S+=4}if(u.keyMap){for(let[e,t]of a){g(u.encodeKey(e));g(t)}}else{for(let[e,t]of a){g(e);g(t)}}}else{for(let r=0,e=Ot.length;r>8;C[S++]=t&255}else if(t>-1){C[S++]=218;Lt.setUint32(S,t);S+=4}e.encode.call(this,a,g,w);return}}if(a[Symbol.iterator]){if(Tt){let e=new Error("Iterable should be serialized as iterator");e.iteratorNotHandled=true;throw e}C[S++]=159;for(let e of a){g(e)}C[S++]=255;return}if(a[Symbol.asyncIterator]||Ht(a)){let e=new Error("Iterable/blob should be serialized as iterator");e.iteratorNotHandled=true;throw e}if(this.useToJSON&&a.toJSON){const t=a.toJSON();if(t!==a)return g(t)}b(a,!a.hasOwnProperty)}}}else if(e==="boolean"){C[S++]=a?245:244}else if(e==="bigint"){if(a=0){C[S++]=27;Lt.setBigUint64(S,a)}else if(a>-(BigInt(1)<{let t=Object.keys(e);let r=Object.values(e);let n=t.length;if(n<24){C[S++]=160|n}else if(n<256){C[S++]=184;C[S++]=n}else if(n<65536){C[S++]=185;C[S++]=n>>8;C[S++]=n&255}else{C[S++]=186;Lt.setUint32(S,n);S+=4}if(u.keyMap){for(let e=0;e{C[S++]=185;let e=S-s;S+=2;let n=0;if(u.keyMap){for(let e in t)if(r||t.hasOwnProperty(e)){g(u.encodeKey(e));g(t[e]);n++}}else{for(let e in t)if(r||t.hasOwnProperty(e)){g(e);g(t[e]);n++}}C[e+++s]=n>>8;C[e+s]=n&255}:(t,r)=>{let n,i=l.transitions||(l.transitions=Object.create(null));let u=0;let a=0;let o;let s;if(this.keyMap){s=Object.keys(t).map(e=>this.encodeKey(e));a=s.length;for(let t=0;t>8|224;C[S++]=c&255}else{if(!s)s=i.__keys__||(i.__keys__=Object.keys(t));if(o===undefined){c=l.nextId++;if(!c){c=0;l.nextId=1}if(c>=Pt){l.nextId=(c=h)+1}}else{c=o}l[c]=s;if(c>8|224;C[S++]=c&255;i=l.transitions;for(let e=0;e=Pt-h)v.shift()[zt]=undefined;v.push(i);Jt(a+2);g(57344+c);g(s);if(r===null)return;for(let e in t)if(r||t.hasOwnProperty(e))g(t[e]);return}}if(a<24){C[S++]=128|a}else{Jt(a)}if(r===null)return;for(let e in t)if(r||t.hasOwnProperty(e))g(t[e])};const w=e=>{let t;if(e>16777216){if(e-s>Nt)throw new Error("Encoded buffer would be larger than maximum buffer size");t=Math.min(Nt,Math.round(Math.max((e-s)*(e>67108864?1.25:2),4194304)/4096)*4096)}else t=(Math.max(e-s<<2,C.length-1)>>12)+1<<12;let r=new Bt(t);Lt=new DataView(r.buffer,0,t);if(C.copy)C.copy(r,0,s,e);else r.set(C.slice(s,e));S-=s;s=0;Mt=r.length-10;return C=r};let D=100;let x=1e3;this.encodeAsIterable=function(e,t){return k(e,t,E)};this.encodeAsAsyncIterable=function(e,t){return k(e,t,O)};function*E(n,i,e){let t=n.constructor;if(t===Object){let r=u.useRecords!==false;if(r)b(n,null);else $t(Object.keys(n).length,160);for(let t in n){let e=n[t];if(!r)g(t);if(e&&typeof e==="object"){if(i[t])yield*E(e,i[t]);else yield*F(e,i,t)}else g(e)}}else if(t===Array){let e=n.length;Jt(e);for(let t=0;tD)){if(i.element)yield*E(e,i.element);else yield*F(e,i,"element")}else g(e)}}else if(n[Symbol.iterator]){C[S++]=159;for(let e of n){if(e&&(typeof e==="object"||S-s>D)){if(i.element)yield*E(e,i.element);else yield*F(e,i,"element")}else g(e)}C[S++]=255}else if(Ht(n)){$t(n.size,64);yield C.subarray(s,S);yield n;A()}else if(n[Symbol.asyncIterator]){C[S++]=159;yield C.subarray(s,S);yield n;A();C[S++]=255}else{g(n)}if(e&&S>s)yield C.subarray(s,S);else if(S-s>D){yield C.subarray(s,S);A()}}function*F(t,r,n){let i=S-s;try{g(t);if(S-s>D){yield C.subarray(s,S);A()}}catch(e){if(e.iteratorNotHandled){r[n]={};S=s+i;yield*E.call(this,t,r[n])}else throw e}}function A(){D=x;u.encode(null,ur)}function k(e,t,r){if(t&&t.chunkThreshold)D=x=t.chunkThreshold;else D=100;if(e&&typeof e==="object"){u.encode(null,ur);return r(e,u.iterateProperties||(u.iterateProperties={}),true)}return[u.encode(e)]}async function*O(e,t){for(let r of E(e,t,true)){let e=r.constructor;if(e===It||e===Uint8Array)yield r;else if(Ht(r)){let e=r.stream().getReader();let t;while(!(t=await e.read()).done){yield t.value}}else if(r[Symbol.asyncIterator]){for await(let e of r){A();if(e)yield*O(e,t.async||(t.async={}));else yield u.encode(e)}}else{yield r}}}}useBuffer(e){C=e;Lt=new DataView(C.buffer,C.byteOffset,C.byteLength);S=0}clearSharedData(){if(this.structures)this.structures=[];if(this.sharedValues)this.sharedValues=undefined}updateSharedData(){let t=this.sharedVersion||0;this.sharedVersion=t+1;let e=this.structures.slice(0);let r=new Yt(e,this.sharedValues,this.sharedVersion);let n=this.saveShared(r,e=>(e&&e.version||0)==t);if(n===false){r=this.getShared()||{};this.structures=r.structures||[];this.sharedValues=r.packedValues;this.sharedVersion=r.version;this.structures.nextId=this.structures.length}else{e.forEach((e,t)=>this.structures[t]=e)}return n}}function $t(e,t){if(e<24)C[S++]=t|e;else if(e<256){C[S++]=t|24;C[S++]=e}else if(e<65536){C[S++]=t|25;C[S++]=e>>8;C[S++]=e&255}else{C[S++]=t|26;Lt.setUint32(S,e);S+=4}}class Yt{constructor(e,t,r){this.structures=e;this.packedValues=t;this.version=r}}function Jt(e){if(e<24)C[S++]=128|e;else if(e<256){C[S++]=152;C[S++]=e}else if(e<65536){C[S++]=153;C[S++]=e>>8;C[S++]=e&255}else{C[S++]=154;Lt.setUint32(S,e);S+=4}}const Kt=typeof Blob==="undefined"?function(){}:Blob;function Ht(e){if(e instanceof Kt)return true;let t=e[Symbol.toStringTag];return t==="Blob"||t==="File"}function Gt(r,n){switch(typeof r){case"string":if(r.length>3){if(n.objectMap[r]>-1||n.values.length>=n.maxValues)return;let e=n.get(r);if(e){if(++e.count==2){n.values.push(r)}}else{n.set(r,{count:1});if(n.samplingPackedValues){let e=n.samplingPackedValues.get(r);if(e)e.count++;else n.samplingPackedValues.set(r,{count:1})}}}break;case"object":if(r){if(r instanceof Array){for(let e=0,t=r.length;e=0&&r<4294967296){C[S++]=26;Lt.setUint32(S,r);S+=4}else{C[S++]=251;Lt.setFloat64(S,r);S+=8}}},{tag:258,encode(e,t){let r=Array.from(e);t(r)}},{tag:27,encode(e,t){t([e.name,e.message])}},{tag:27,encode(e,t){t(["RegExp",e.source,e.flags])}},{getTag(e){return e.tag},encode(e,t){t(e.value)}},{encode(e,t,r){Zt(e,r)}},{getTag(e){if(e.constructor===Uint8Array){if(this.tagUint8Array||jt&&this.tagUint8Array!==false)return 64}},encode(e,t,r){Zt(e,r)}},Qt(68,1),Qt(69,2),Qt(70,4),Qt(71,8),Qt(72,1),Qt(77,2),Qt(78,4),Qt(79,8),Qt(85,4),Qt(86,8),{encode(t,n){let e=t.packedValues||[];let r=t.structures||[];if(e.values.length>0){C[S++]=216;C[S++]=51;Jt(4);let r=e.values;n(r);Jt(0);Jt(0);packedObjectMap=Object.create(sharedPackedObjectMap||null);for(let e=0,t=r.length;e1)e-=4;return{tag:e,encode:function e(t,r){let n=t.byteLength;let i=t.byteOffset||0;let u=t.buffer||t;r(jt?St.from(u,i,n):new Uint8Array(u,i,n))}}}function Zt(e,t){let r=e.byteLength;if(r<24){C[S++]=64+r}else if(r<256){C[S++]=88;C[S++]=r}else if(r<65536){C[S++]=89;C[S++]=r>>8;C[S++]=r&255}else{C[S++]=90;Lt.setUint32(S,r);S+=4}if(S+r>=C.length){t(S+r)}C.set(e.buffer?e:new Uint8Array(e),S);S+=r}function Xt(n,e){let r;let i=e.length*2;let u=n.length-i;e.sort((e,t)=>e.offset>t.offset?1:-1);for(let r=0;r>8;n[e]=r&255}}while(r=e.pop()){let e=r.offset;n.copyWithin(e+i,e,u);i-=2;let t=e+i;n[t++]=216;n[t++]=28;u=e}return n}function er(e,t){Lt.setUint32(Rt.position+e,S-Rt.position-e+1);let r=Rt;Rt=null;t(r[0]);t(r[1])}function tr(e){if(e.Class){if(!e.encode)throw new Error("Extension has no encode function");Ct.unshift(e.Class);Ot.unshift(e)}Et(e)}let rr=new Vt({useRecords:false});rr.encode;rr.encodeAsIterable;rr.encodeAsAsyncIterable;const nr=512;const ir=1024;const ur=2048;var ar={}; /**@license * * No Dependency fast and small LZJB Compression for Browser and Node @@ -42,4 +42,4 @@ * Released under BSD-3-Clause License * * build: Wed, 27 Oct 2021 10:43:10 GMT - */Object.defineProperty(ar,"__esModule",{value:true});const or=8,sr=6,cr=3,fr=(1<r-fr){t[i++]=e[n++];continue}f=(e[n]+13^e[n+1]-13^e[n+2])&hr-1;c=n-l[f]&lr;l[f]=n;u=n-c;if(u>=0&&u!=n&&e[n]==e[u]&&e[n+1]==e[u+1]&&e[n+2]==e[u+2]){t[a]|=o;for(s=cr;s>or;t[i++]=c;n+=s}else{t[i++]=e[n++]}}console.assert(e.length>=n);return i}function pr(e,t,r){t=t|0;var n=0,i=0,u=0,a=0,o=1<<(or-1|0),s=0,c=0;while(n>(or-sr|0))+cr|0;c=(e[n]<4){r[i]=r[u];i=i+1|0;u=u+1|0;r[i]=r[u];i=i+1|0;u=u+1|0;r[i]=r[u];i=i+1|0;u=u+1|0;r[i]=r[u];i=i+1|0;u=u+1|0;s=s-4|0}while(s>0){r[i]=r[u];i=i+1|0;u=u+1|0;s=s-1|0}}}else{r[i]=e[n];i=i+1|0;n=n+1|0}}return i}function dr(){const e=new TextEncoder("utf-8");return e.encode(vr)}const vr="@lzjb";const mr=dr();function yr(...e){if(e.length>1){const r=e.reduce((e,t)=>e+t.length,0);const n=new Uint8Array(r);let t=0;e.forEach(e=>{n.set(e,t);t+=e.length});return n}else if(e.length){return e[0]}}function gr(t){const e=Math.ceil(Math.log2(t)/8);const r=new Uint8Array(e);for(let e=0;e=0;e--){r=r*256+t[e]}return r}function wr(e,{magic:t=true}={}){const r=new Uint8Array(Math.max(e.length*1.5|0,16*1024));const n=_r(e,r);const i=gr(e.length);const u=[Uint8Array.of(i.length),i,r.slice(0,n)];if(t){u.unshift(mr)}return yr(...u)}function Dr(t,{magic:e=true}={}){if(e){const e=new TextDecoder("utf-8");const s=e.decode(t.slice(0,mr.length));if(s!==vr){throw new Error("Invalid magic value")}}const r=e?mr.length:0;const n=t[r];const i=r+1;const u=r+n+1;const a=br(t.slice(i,u));t=t.slice(u);const o=new Uint8Array(a);pr(t,t.length,o);return o}var xr=ar.pack=wr;var Er=ar.unpack=Dr;function Fr(s,c){return c=c||{},new Promise(function(e,t){var r=new XMLHttpRequest,n=[],i=[],u={},a=function(){return{ok:2==(r.status/100|0),statusText:r.statusText,status:r.status,url:r.responseURL,text:function(){return Promise.resolve(r.responseText)},json:function(){return Promise.resolve(r.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([r.response]))},clone:a,headers:{keys:function(){return n},entries:function(){return i},get:function(e){return u[e.toLowerCase()]},has:function(e){return e.toLowerCase()in u}}}};for(var o in r.open(c.method||"get",s,!0),r.onload=function(){r.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(e,t,r){n.push(t=t.toLowerCase()),i.push([t,r]),u[t]=u[t]?u[t]+","+r:r}),e(a())},r.onerror=t,r.withCredentials="include"==c.credentials,c.headers)r.setRequestHeader(o,c.headers[o]);r.send(c.body||null)})}var Ar=["token"],kr=["env"],Or=["stderr","stdin","stdout","command_line"],Cr=["use_dynamic"],Sr=["use_dynamic"],jr=["env","dynamic_env","use_dynamic","error"];function Br(e,t,r){Ir(e,t);t.set(e,r)}function Ir(e,t){if(t.has(e)){throw new TypeError("Cannot initialize the same private elements twice on an object")}}function Pr(e,t,r){return t=I(t),R(e,Nr()?Reflect.construct(t,r||[],I(e).constructor):t.apply(e,r))}function Nr(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(Nr=function e(){return!!t})()}function Tr(t,e){var r=typeof Symbol!=="undefined"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=Lr(t))||e&&t&&typeof t.length==="number"){if(r)t=r;var n=0;var i=function e(){};return{s:i,n:function e(){if(n>=t.length)return{done:true};return{done:false,value:t[n++]}},e:function e(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var u=true,a=false,o;return{s:function e(){r=r.call(t)},n:function e(){var t=r.next();u=t.done;return t},e:function e(t){a=true;o=t},f:function e(){try{if(!u&&r["return"]!=null)r["return"]()}finally{if(a)throw o}}}}function Lr(e,t){if(!e)return;if(typeof e==="string")return Mr(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor)r=e.constructor.name;if(r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Mr(e,t)}function Mr(e,t){if(t==null||t>e.length)t=e.length;for(var r=0,n=new Array(t);r1?r-1:0),i=1;i0&&arguments[0]!==undefined?arguments[0]:null;var t=yo&&yo.get("DEBUG",{throwError:false});if(e===null){return t===true}return(t===null||t===void 0?void 0:t.valueOf())===e.valueOf()}function Qr(e){return e?"(?:#".concat(e,"(?:#[ie])?|#[ie]#").concat(e,")"):"(?:#[ie])?"}function Zr(e,t){return"".concat(Qr(e),"[+-]?").concat(t,"+/").concat(t,"+")}function Xr(e,t){return"".concat(Qr(e),"(?:[+-]?(?:").concat(t,"+/").concat(t,"+|nan.0|inf.0|").concat(t,"+))?(?:[+-]i|[+-]?(?:").concat(t,"+/").concat(t,"+|").concat(t,"+|nan.0|inf.0)i)(?=[()[\\]\\s]|$)")}function en(e,t){return"".concat(Qr(e),"[+-]?").concat(t,"+")}var tn=/^#\/((?:\\\/|[^/]|\[[^\]]*\/[^\]]*\])+)\/([gimyus]*)$/;var rn="(?:[-+]?(?:[0-9]+(?:[eE][-+]?[0-9]+)|(?:\\.[0-9]+|[0-9]+\\.[0-9]+)(?:[eE][-+]?[0-9]+)?)|[0-9]+\\.)";var nn="(?:#[ie])?(?:[+-]?(?:[0-9][0-9_]*/[0-9][0-9_]*|nan.0|inf.0|".concat(rn,"|[+-]?[0-9]+))?(?:").concat(rn,"|[+-](?:[0-9]+/[0-9]+|[0-9]+|nan.0|inf.0))i");var un=new RegExp("^(#[ie])?".concat(rn,"$"),"i");function an(e,t){var r=e==="x"?"(?!\\+|".concat(t,")"):"(?!\\.|".concat(t,")");var n="";if(e===""){n="(?:[-+]?(?:[0-9]+(?:[eE][-+]?[0-9]+)|(?:\\.[0-9]+|[0-9]+\\.[0-9]+(?![0-9]))(?:[eE][-+]?[0-9]+)?))"}return new RegExp("^((?:(?:".concat(n,"|[-+]?inf.0|[-+]?nan.0|[+-]?").concat(t,"+/").concat(t,"+(?!").concat(t,")|[+-]?").concat(t,"+)").concat(r,")?)(").concat(n,"|[-+]?inf.0|[-+]?nan.0|[+-]?").concat(t,"+/").concat(t,"+|[+-]?").concat(t,"+|[+-])i$"),"i")}var on=function(){var u={};[[10,"","[0-9]"],[16,"x","[0-9a-fA-F]"],[8,"o","[0-7]"],[2,"b","[01]"]].forEach(function(e){var t=b(e,3),r=t[0],n=t[1],i=t[2];u[r]=an(n,i)});return u}();var sn={alarm:"",backspace:"\b",delete:"",escape:"",newline:"\n",null:"\0",return:"\r",space:" ",tab:"\t",dle:"",soh:"",dc1:"",stx:"",dc2:"",etx:"",dc3:"",eot:"",dc4:"",enq:"",nak:"",ack:"",syn:"",bel:"",etb:"",bs:"\b",can:"",ht:"\t",em:"",lf:"\n",sub:"",vt:"\v",esc:"",ff:"\f",fs:"",cr:"\r",gs:"",so:"",rs:"",si:"",us:"",del:""};function cn(e){var t=[];var r=0;var n=e.length;while(r=55296&&i<=56319&&r1&&arguments[1]!==undefined?arguments[1]:10;var r=En(e);var n=r.number.split("/");var i=w({num:B([n[0],r.radix||t]),denom:B([n[1],r.radix||t])});if(r.inexact){return i.valueOf()}else{return i}}function An(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:10;var r=En(e);if(r.inexact){return g(parseInt(r.number,r.radix||t))}return B([r.number,r.radix||t])}function kn(e){var t=e.match(/#\\x([0-9a-f]+)$/i);var r;if(t){var n=parseInt(t[1],16);r=String.fromCodePoint(n)}else{t=e.match(/#\\([\s\S]+)$/);if(t){r=t[1]}}if(r){return h(r)}throw new Error("Parse: invalid character")}function On(e){var i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:10;function t(e){var t;if(e==="+"){t=B(1)}else if(e==="-"){t=B(-1)}else if(e.match(gn)){t=B([e,i])}else if(e.match(bn)){var r=e.split("/");t=w({num:B([r[0],i]),denom:B([r[1],i])})}else if(e.match(un)){var n=Bn(e);if(u.exact){return n.toRational()}return n}else if(e.match(/nan.0$/)){return B(NaN)}else if(e.match(/inf.0$/)){if(e[0]==="-"){return B(Number.NEGATIVE_INFINITY)}return B(Number.POSITIVE_INFINITY)}else{throw new Error("Internal Parser Error")}if(u.inexact){return g(t.valueOf())}return t}var u=En(e);i=u.radix||i;var r;var n=u.number.match(Dn);if(i!==10&&n){r=n}else{r=u.number.match(on[i])}var a,o;o=t(r[2]);if(r[1]){a=t(r[1])}else if(o instanceof g){a=g(0)}else{a=B(0)}if(o.cmp(0)===0&&o.__type__==="bigint"){return a}return y({im:o,re:a})}function Cn(e){return parseInt(e.toString(),10)===e}function Sn(e){var t=e.match(/^(([-+]?[0-9]*)(?:\.([0-9]+))?)e([-+]?[0-9]+)/i);if(t){var r=parseInt(t[4],10);var n;var i=t[1].replace(/[-+]?([0-9]*)\..+$/,"$1").length;var u=t[3]&&t[3].length;if(i0&&(t.exact||!t.number.match(/\./))){return B(u).mul(o)}}}r=g(r);if(t.exact){return r.toRational()}return r}function In(e){e=e.replace(/\\x([0-9a-f]+);/gi,function(e,t){return"\\u"+t.padStart(4,"0")}).replace(/\n/g,"\\n");var t=e.match(/(\\*)(\\x[0-9A-F])/i);if(t&&t[1].length%2===0){throw new Error("Invalid string literal, unclosed ".concat(t[2]))}try{var r=x(JSON.parse(e));r.freeze();return r}catch(e){var n=e.message.replace(/in JSON /,"").replace(/.*Error: /,"");throw new Error("Invalid string literal: ".concat(n))}}function Pn(e){if(e.match(/^\|.*\|$/)){e=e.replace(/(^\|)|(\|$)/g,"");var r={t:"\t",r:"\r",n:"\n"};e=e.replace(/\\(x[^;]+);/g,function(e,t){return String.fromCharCode(parseInt("0"+t,16))}).replace(/\\(.)/g,function(e,t){return r[t]||t})}return new V(e)}function Nn(e){if(mo.hasOwnProperty(e)){return mo[e]}if(e.match(/^"[\s\S]*"$/)){return In(e)}else if(e[0]==="#"){var t=e.match(tn);if(t){return new RegExp(t[1],t[2])}else if(e.match(_n)){return kn(e)}var r=e.match(/#\\(.+)/);if(r&&cn(r[1]).length===1){return kn(e)}}if(e.match(/[0-9a-f]|[+-]i/i)){if(e.match(yn)){return An(e)}else if(e.match(un)){return Bn(e)}else if(e.match(mn)){return Fn(e)}else if(e.match(vn)){return On(e)}}if(e.match(/^#[iexobd]/)){throw new Error("Invalid numeric constant: "+e)}return Pn(e)}function Tn(e){return!(["(",")","[","]"].includes(e)||ri.names().includes(e))}function Ln(e){return Tn(e)&&!(e.match(tn)||e.match(/^"[\s\S]*"$/)||e.match(yn)||e.match(un)||e.match(vn)||e.match(mn)||e.match(_n)||["#t","#f","nil"].includes(e))}var Mn=/"(?:\\[\S\s]|[^"])*"?/g;function Rn(e){if(typeof e==="string"){var t=/([-\\^$[\]()+{}?*.|])/g;return e.replace(t,"\\$1")}return e}function qn(){this.data=[]}qn.prototype.push=function(e){this.data.push(e)};qn.prototype.top=function(){return this.data[this.data.length-1]};qn.prototype.pop=function(){return this.data.pop()};qn.prototype.is_empty=function(){return!this.data.length};function Un(e){if(e instanceof x){e=e.valueOf()}var t=new s(e,{whitespace:true});var r=[];while(true){var n=t.peek(true);if(n===ro){break}r.push(n);t.skip()}return r}function zn(e){var t=e.token,r=he(e,Ar);if(t.match(/^"[\s\S]*"$/)&&t.match(/\n/)){var n=new RegExp("^ {1,"+(e.col+1)+"}","mg");t=t.replace(n,"")}return U({token:t},r)}function Vn(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(){};this.fn=e;this.cont=t}Vn.prototype.toString=function(){return"#"};function $n(n){return function(){for(var e=arguments.length,t=new Array(e),r=0;r1&&arguments[1]!==undefined?arguments[1]:false;if(e instanceof x){e=e.toString()}if(t){return Un(e)}else{var r=Un(e).map(function(e){if(e.token==="#\\ "||e.token=="#\\\n"){return e.token}return e.token.trim()}).filter(function(e){return e&&!e.match(/^;/)&&!e.match(/^#\|[\s\S]*\|#$/)});return Kn(r)}}function Kn(e){var t=0;var r=null;var n=[];for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:null;if(e instanceof V){if(e.is_gensym()){return e}e=e.valueOf()}if(Wn(e)){return V(e)}if(e!==null){return r(e,Symbol("#:".concat(e)))}t++;return r(t,Symbol("#:g".concat(t)))}}();function Zn(e){var r=this;var n={pending:true,rejected:false,fulfilled:false,reason:undefined,type:undefined};e=e.then(function(e){n.type=No(e);n.fulfilled=true;n.pending=false;return e});c(this,"_promise",e,{hidden:true});if(d(e["catch"])){e=e["catch"](function(e){n.rejected=true;n.pending=false;n.reason=e})}Object.keys(n).forEach(function(t){Object.defineProperty(r,"__".concat(t,"__"),{enumerable:true,get:function e(){return n[t]}})});c(this,"__promise__",e);this.then=false}Zn.prototype.then=function(e){return new Zn(this.valueOf().then(e))};Zn.prototype["catch"]=function(e){return new Zn(this.valueOf()["catch"](e))};Zn.prototype.valueOf=function(){if(!this._promise){throw new Error("QuotedPromise: invalid promise created")}return this._promise};Zn.prototype.toString=function(){if(this.__pending__){return Zn.pending_str}if(this.__rejected__){return Zn.rejected_str}return"#")};Zn.pending_str="#";Zn.rejected_str="#";function Xn(e){if(Array.isArray(e)){return Promise.all(ei(e)).then(ti)}return e}function ei(e){var t=new Array(e.length),r=e.length;while(r--){var n=e[r];if(n instanceof Zn){t[r]=new oo(n)}else{t[r]=n}}return t}function ti(e){var t=new Array(e.length),r=e.length;while(r--){var n=e[r];if(n instanceof oo){t[r]=n.valueOf()}else{t[r]=n}}return t}var ri={LITERAL:Symbol["for"]("literal"),SPLICE:Symbol["for"]("splice"),SYMBOL:Symbol["for"]("symbol"),names:function e(){return Object.keys(this.__list__)},type:function e(t){try{return this.get(t).type}catch(e){console.log({name:t});console.log(e);return null}},get:function e(t){return this.__list__[t]},off:function e(t){var r=this;var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;if(Array.isArray(t)){t.forEach(function(e){return r.off(e,n)})}else if(n===null){delete this.__events__[t]}else{this.__events__=this.__events__.filter(function(e){return e!==n})}},on:function e(t,r){var n=this;if(Array.isArray(t)){t.forEach(function(e){return n.on(e,r)})}else if(!this.__events__[t]){this.__events__[t]=[r]}else{this.__events__[t].push(r)}},trigger:function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i",new V("quote-promise"),ri.LITERAL]];var si=oi.map(function(e){return e[0]});Object.freeze(si);Object.defineProperty(ri,"__builtins__",{writable:false,value:si});oi.forEach(function(e){var t=b(e,3),r=t[0],n=t[1],i=t[2];ri.append(r,n,i)});var s=function(){function _(e){var t=this;var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},n=r.whitespace,i=n===void 0?false:n;ue(this,_);c(this,"__input__",e.replace(/\r/g,""));var u={};["_i","_whitespace","_col","_newline","_line","_state","_next","_token","_prev_char"].forEach(function(r){Object.defineProperty(t,r,{configurable:false,enumerable:false,get:function e(){return u[r]},set:function e(t){u[r]=t}})});this._whitespace=i;this._i=this._line=this._col=this._newline=0;this._state=this._next=this._token=null;this._prev_char=""}ce(_,[{key:"get",value:function e(t){return this.__internal[t]}},{key:"set",value:function e(t,r){this.__internal[t]=r}},{key:"token",value:function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(t){var r=this._line;if(this._whitespace&&this._token==="\n"){--r}return{token:this._token,col:this._col,offset:this._i,line:r}}return this._token}},{key:"peek",value:function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(this._i>=this.__input__.length){return ro}if(this._token){return this.token(t)}var r=this.next_token();if(r){this._token=this.__input__.substring(this._i,this._next);return this.token(t)}return ro}},{key:"skip",value:function e(){if(this._next!==null){this._token=null;this._i=this._next}}},{key:"read_line",value:function e(){var t=this.__input__.length;if(this._i>=t){return ro}for(var r=this._i;r=r){return ro}if(t+this._i>=r){return this.read_rest()}var n=this._i+t;var i=this.__input__.substring(this._i,n);var u=i.match(/\n/g);if(u){this._line+=u.length}this._i=n;return i}},{key:"peek_char",value:function e(){if(this._i>=this.__input__.length){return ro}return h(this.__input__[this._i])}},{key:"read_char",value:function e(){var t=this.peek_char();this.skip_char();return t}},{key:"skip_char",value:function e(){if(this._i1&&arguments[1]!==undefined?arguments[1]:{},n=r.prev_char,i=r["char"],u=r.next_char;var a=b(t,4),o=a[0],s=a[1],c=a[2],f=a[3];if(t.length!==5){throw new Error("Lexer: Invalid rule of length ".concat(t.length))}if(Au(o)){if(o!==i){return false}}else if(!i.match(o)){return false}if(!fi(s,n)){return false}if(!fi(c,u)){return false}if(f!==this._state){return false}return true}},{key:"next_token",value:function e(){if(this._i>=this.__input__.length){return false}var t=true;e:for(var r=this._i,n=this.__input__.length;r2&&arguments[2]!==undefined?arguments[2]:null;var i=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;if(t.length===0){throw new Error("Lexer: invalid literal rule")}if(t.length===1){return[[t,n,i,null,null]]}var u=[];for(var a=0,o=t.length;a1&&arguments[1]!==undefined?arguments[1]:{},r=t.env,n=t.meta,i=n===void 0?false:n,u=t.formatter,a=u===void 0?zn:u;ue(this,o);if(e instanceof x){e=e.toString()}c(this,"_formatter",a,{hidden:true});c(this,"__lexer__",new s(e));c(this,"__env__",r);c(this,"_meta",i,{hidden:true});c(this,"_refs",[],{hidden:true});c(this,"_state",{parentheses:0},{hidden:true})}ce(o,[{key:"resolve",value:function e(t){return this.__env__&&this.__env__.get(t,{throwError:false})}},{key:"peek",value:function(){var e=ie(O.mark(function e(){var r;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:r=this.__lexer__.peek(true);if(!(r===ro)){t.next=4;break}return t.abrupt("return",ro);case 4:if(!this.is_comment(r.token)){t.next=7;break}this.skip();return t.abrupt("continue",0);case 7:if(!(r.token==="#;")){t.next=14;break}this.skip();if(!(this.__lexer__.peek()===ro)){t.next=11;break}throw new Error("Lexer: syntax error eof found after comment");case 11:t.next=13;return this._read_object();case 13:return t.abrupt("continue",0);case 14:return t.abrupt("break",17);case 17:r=this._formatter(r);if(!this._meta){t.next=20;break}return t.abrupt("return",r);case 20:return t.abrupt("return",r.token);case 21:case"end":return t.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()},{key:"reset",value:function e(){this._refs.length=0}},{key:"skip",value:function e(){this.__lexer__.skip()}},{key:"read",value:function(){var e=ie(O.mark(function e(){var r;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:t.next=2;return this.peek();case 2:r=t.sent;this.skip();return t.abrupt("return",r);case 5:case"end":return t.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()},{key:"match_datum_label",value:function e(t){var r=t.match(/^#([0-9]+)=$/);return r&&r[1]}},{key:"match_datum_ref",value:function e(t){var r=t.match(/^#([0-9]+)#$/);return r&&r[1]}},{key:"is_open",value:function e(t){var r=["(","["].includes(t);if(r){this._state.parentheses++}return r}},{key:"is_close",value:function e(t){var r=[")","]"].includes(t);if(r){this._state.parentheses--}return r}},{key:"read_list",value:function(){var e=ie(O.mark(function e(){var r,n,i,u,a;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:r=$,n=r;case 1:t.next=4;return this.peek();case 4:u=t.sent;if(!(u===ro)){t.next=7;break}return t.abrupt("break",32);case 7:if(!this.is_close(u)){t.next=10;break}this.skip();return t.abrupt("break",32);case 10:if(!(u==="."&&!K(r))){t.next=18;break}this.skip();t.next=14;return this._read_object();case 14:n.cdr=t.sent;i=true;t.next=30;break;case 18:if(!i){t.next=22;break}throw new Error("Parser: syntax error more than one element after dot");case 22:t.t0=Y;t.next=25;return this._read_object();case 25:t.t1=t.sent;t.t2=$;a=new t.t0(t.t1,t.t2);if(K(r)){r=a}else{n.cdr=a}n=a;case 30:t.next=1;break;case 32:return t.abrupt("return",r);case 33:case"end":return t.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()},{key:"read_value",value:function(){var e=ie(O.mark(function e(){var r;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:t.next=2;return this.read();case 2:r=t.sent;if(!(r===ro)){t.next=5;break}throw new Error("Parser: Expected token eof found");case 5:return t.abrupt("return",Nn(r));case 6:case"end":return t.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()},{key:"is_comment",value:function e(t){return t.match(/^;/)||t.match(/^#\|/)&&t.match(/\|#$/)}},{key:"evaluate",value:function e(t){return k(t,{env:this.__env__,error:function e(t){throw t}})}},{key:"read_object",value:function(){var e=ie(O.mark(function e(){var r;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:this.reset();t.next=3;return this._read_object();case 3:r=t.sent;if(r instanceof hi){r=r.valueOf()}if(!this._refs.length){t.next=7;break}return t.abrupt("return",D(this._resolve_object(r),function(e){if(H(e)){e.mark_cycles()}return e}));case 7:return t.abrupt("return",r);case 8:case"end":return t.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()},{key:"balanced",value:function e(){return this._state.parentheses===0}},{key:"ballancing_error",value:function e(t,r){var n=this._state.parentheses;var i;if(n<0){i=new Error("Parser: unexpected parenthesis");i.__code__=[r.toString()+")"]}else{i=new Error("Parser: expected parenthesis but eof found");var u=new RegExp("\\){".concat(n,"}$"));i.__code__=[t.toString().replace(u,"")]}throw i}},{key:"_resolve_object",value:function(){var t=ie(O.mark(function e(r){var n=this;var i;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(!Array.isArray(r)){t.next=2;break}return t.abrupt("return",r.map(function(e){return n._resolve_object(e)}));case 2:if(!Hi(r)){t.next=6;break}i={};Object.keys(r).forEach(function(e){i[e]=n._resolve_object(r[e])});return t.abrupt("return",i);case 6:if(!H(r)){t.next=8;break}return t.abrupt("return",this._resolve_pair(r));case 8:return t.abrupt("return",r);case 9:case"end":return t.stop()}},e,this)}));function e(e){return t.apply(this,arguments)}return e}()},{key:"_resolve_pair",value:function(){var t=ie(O.mark(function e(r){return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(!H(r)){t.next=15;break}if(!(r.car instanceof hi)){t.next=7;break}t.next=4;return r.car.valueOf();case 4:r.car=t.sent;t.next=8;break;case 7:this._resolve_pair(r.car);case 8:if(!(r.cdr instanceof hi)){t.next=14;break}t.next=11;return r.cdr.valueOf();case 11:r.cdr=t.sent;t.next=15;break;case 14:this._resolve_pair(r.cdr);case 15:return t.abrupt("return",r);case 16:case"end":return t.stop()}},e,this)}));function e(e){return t.apply(this,arguments)}return e}()},{key:"_read_object",value:function(){var e=ie(O.mark(function e(){var r,n,i,u,a,o,s,c,f,l,h;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:t.next=2;return this.peek();case 2:r=t.sent;if(!(r===ro)){t.next=5;break}return t.abrupt("return",r);case 5:if(!ni(r)){t.next=38;break}n=ri.get(r);i=ii(r);this.skip();a=ai(r);if(!a){t.next=14;break}t.t0=undefined;t.next=17;break;case 14:t.next=16;return this._read_object();case 16:t.t0=t.sent;case 17:o=t.t0;if(i){t.next=25;break}s=this.__env__.get(n.symbol);if(!(typeof s==="function")){t.next=25;break}if(ui(r)){c=[o]}else if(K(o)){c=[]}else if(H(o)){c=o.to_array(false)}if(!(c||a)){t.next=24;break}return t.abrupt("return",Uo(s,a?[]:c,{env:this.__env__,dynamic_env:this.__env__,use_dynamic:false}));case 24:throw new Error("Parse Error: Invalid parser extension "+"invocation ".concat(n.symbol));case 25:if(ui(r)){u=new Y(n.symbol,new Y(o,$))}else{u=new Y(n.symbol,o)}if(!i){t.next=28;break}return t.abrupt("return",u);case 28:if(!(s instanceof J)){t.next=37;break}t.next=31;return this.evaluate(u);case 31:f=t.sent;if(!(H(f)||f instanceof V)){t.next=34;break}return t.abrupt("return",Y.fromArray([V("quote"),f]));case 34:return t.abrupt("return",f);case 37:throw new Error("Parse Error: invalid parser extension: "+n.symbol);case 38:l=this.match_datum_ref(r);if(!(l!==null)){t.next=44;break}this.skip();if(!this._refs[l]){t.next=43;break}return t.abrupt("return",new hi(l,this._refs[l]));case 43:throw new Error("Parse Error: invalid datum label #".concat(l,"#"));case 44:h=this.match_datum_label(r);if(!(h!==null)){t.next=51;break}this.skip();this._refs[h]=this._read_object();return t.abrupt("return",this._refs[h]);case 51:if(!this.is_close(r)){t.next=55;break}this.skip();t.next=61;break;case 55:if(!this.is_open(r)){t.next=60;break}this.skip();return t.abrupt("return",this.read_list());case 60:return t.abrupt("return",this.read_value());case 61:case"end":return t.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()}]);return o}();var hi=function(){function r(e,t){ue(this,r);this.name=e;this.data=t}ce(r,[{key:"valueOf",value:function e(){return this.data}}]);return r}();function _i(e,t){return pi.apply(this,arguments)}function pi(){pi=ge(O.mark(function e(r,n){var i,u,a;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(!n){if(G){n=G.get("**interaction-environment**",{throwError:false})}else{n=yo}}i=new li(r,{env:n});case 3:t.next=6;return me(i.read_object());case 6:a=t.sent;if(!i.balanced()){i.ballancing_error(a,u)}if(!(a===ro)){t.next=10;break}return t.abrupt("break",15);case 10:u=a;t.next=13;return a;case 13:t.next=3;break;case 15:case"end":return t.stop()}},e)}));return pi.apply(this,arguments)}function D(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(e){return e};var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;if(Pu(e)){var n=e.then(t);if(r===null){return n}else{return n["catch"](r)}}if(e instanceof Array){return di(e,t,r)}if(Hi(e)){return vi(e,t,r)}return t(e)}function di(t,r,e){if(t.find(Pu)){return D(Xn(t),function(e){if(Object.isFrozen(t)){Object.freeze(e)}return r(e)},e)}return r(t)}function vi(t,e,r){var i=Object.keys(t);var n=[],u=[];var a=i.length;while(a--){var o=i[a];var s=t[o];n[a]=s;if(Pu(s)){u.push(s)}}if(u.length){return D(Xn(n),function(e){var n={};e.forEach(function(e,t){var r=i[t];n[r]=e});if(Object.isFrozen(t)){Object.freeze(n)}return n},r)}return e(t)}function c(e,t,r){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{},i=n.hidden,u=i===void 0?false:i;Object.defineProperty(e,t,{value:r,configurable:true,enumerable:!u})}function mi(e){return yi.apply(this,arguments)}function yi(){yi=ie(O.mark(function e(r){var n,i,u,a,o,s,c;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:n=[];i=false;u=false;t.prev=3;o=qr(r);case 5:t.next=7;return o.next();case 7:if(!(i=!(s=t.sent).done)){t.next=13;break}c=s.value;n.push(c);case 10:i=false;t.next=5;break;case 13:t.next=19;break;case 15:t.prev=15;t.t0=t["catch"](3);u=true;a=t.t0;case 19:t.prev=19;t.prev=20;if(!(i&&o["return"]!=null)){t.next=24;break}t.next=24;return o["return"]();case 24:t.prev=24;if(!u){t.next=27;break}throw a;case 27:return t.finish(24);case 28:return t.finish(19);case 29:return t.abrupt("return",n);case 30:case"end":return t.stop()}},e,null,[[3,15,19,29],[20,,24,28]])}));return yi.apply(this,arguments)}function gi(e,t){if(t instanceof RegExp){return function(e){return String(e).match(t)}}else if(d(t)){return t}throw new Error("Invalid matcher")}function l(e,t,r,n){if(typeof e!=="string"){t=arguments[0];r=arguments[1];n=arguments[2];e=null}if(r){if(n){t.__doc__=r}else{t.__doc__=bi(r)}}if(e){t.__name__=e}else if(t.name&&!la(t)){t.__name__=t.name}return t}function bi(e){return e.split("\n").map(function(e){return e.trim()}).join("\n")}function wi(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;var r=e.length;if(t<=0){throw Error("previousSexp: Invalid argument sexp = ".concat(t))}e:while(t--&&r>=0){var n=1;while(n>0){var i=e[--r];if(!i){break e}if(i==="("||i.token==="("){n--}else if(i===")"||i.token===")"){n++}}r--}return e.slice(r+1)}function Di(e){if(!e||!e.length){return 0}var t=e.length;if(e[t-1].token==="\n"){return 0}while(--t){if(e[t].token==="\n"){var r=(e[t+1]||{}).token;if(r){return r.length}}}return 0}function xi(e,t){return f(e,t)===t.length;function f(r,n){function e(e,t){var r=Tr(e),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;var u=f(i,t);if(u!==-1){return u}}}catch(e){r.e(e)}finally{r.f()}return-1}function t(){return r[u]===Symbol["for"]("symbol")&&!Ln(n[o])}function i(){var e=r[u+1];var t=n[o+1];if(e!==undefined&&t!==undefined){return f([e],[t])}}var u=0;var a={};for(var o=0;o0){continue}}else if(t()){return-1}}else if(r[u]instanceof Array){var c=f(r[u],n.slice(o));if(c===-1||c+o>n.length){return-1}o+=c-1;u++;continue}else{return-1}u++}if(r.length!==u){return-1}return n.length}}function Ei(e){this.__code__=e.replace(/\r/g,"")}Ei.defaults={offset:0,indent:2,exceptions:{specials:[/^(?:#:)?(?:define(?:-values|-syntax|-macro|-class|-record-type)?|(?:call-with-(?:input-file|output-file|port))|lambda|let-env|try|catch|when|unless|while|syntax-rules|(let|letrec)(-syntax|\*?-values|\*)?)$/],shift:{1:["&","#"]}}};Ei.match=xi;Ei.prototype._options=function e(t){var r=Ei.defaults;if(typeof t==="undefined"){return Object.assign({},r)}var n=t&&t.exceptions||{};var i=n.specials||[];var u=n.shift||{1:[]};return U(U(U({},r),t),{},{exceptions:{specials:[].concat(q(r.exceptions.specials),q(i)),shift:U(U({},u),{},{1:[].concat(q(r.exceptions.shift[1]),q(u[1]))})}})};Ei.prototype.indent=function e(t){var r=Jn(this.__code__,true);return this._indent(r,t)};Ei.exception_shift=function(u,e){function t(e){if(!e.length){return false}if(e.indexOf(u)!==-1){return true}else{var t=e.filter(function(e){return e instanceof RegExp});if(!t.length){return false}var r=Tr(t),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;if(u.match(i)){return true}}}catch(e){r.e(e)}finally{r.f()}}return false}if(t(e.exceptions.specials)){return e.indent}var r=e.exceptions.shift;for(var n=0,i=Object.entries(r);n0){n.offset=0}if(u.toString()===t.toString()&&Zo(u)){return n.offset+u[0].col}else if(u.length===1){return n.offset+u[0].col+1}else{var s=-1;if(a){var c=Ei.exception_shift(a.token,n);if(c!==-1){s=c}}if(s===-1){s=Ei.exception_shift(u[1].token,n)}if(s!==-1){return n.offset+u[0].col+s}else if(u[0].line3&&u[1].line===u[3].line){if(u[1].token==="("||u[1].token==="["){return n.offset+u[1].col}return n.offset+u[3].col}else if(u[0].line===u[1].line){return n.offset+n.indent+u[0].col}else{var f=u.slice(2);for(var l=0;l")};Fi.prototype.match=function(e){return e.match(this.pattern)};function Ai(){for(var e=arguments.length,t=new Array(e),r=0;r")};Ei.Pattern=Ai;Ei.Ahead=Fi;var ki=/^[[(]$/;var Oi=/^[\])]$/;var Ci=/[^()[\]]/;var Si=new Fi(/[^)\]]/);var ji=Symbol["for"]("*");var Bi=new Ai([ki,ji,Oi],[Ci],"+");var Ii=new Ai([ki,ji,Oi],"+");var Pi=new Ai([Symbol["for"]("symbol")],"?");var Ni=new Ai([Symbol["for"]("symbol")],"*");var Ti=[ki,Ni,Oi];var Li=new Ai([ki,Symbol["for"]("symbol"),ji,Oi],"+");var Mi=zi("syntax-rules");var Ri=zi("define","lambda","define-macro","syntax-rules");var qi=/^(?!.*\b(?:[()[\]]|define(?:-macro)?|let(?:\*|rec|-env|-syntax|)?|lambda|syntax-rules)\b).*$/;var Ui=/^(?:#:)?(let(?:\*|rec|-env|-syntax)?)$/;function zi(){for(var e=arguments.length,t=new Array(e),r=0;r0&&!o[e]){o[e]=wi(a,e)}});var s=Tr(i),c;try{for(s.s();!(c=s.n()).done;){var f=b(c.value,3),l=f[0],h=f[1],_=f[2];h=h.valueOf();var p=h>0?o[h]:a;var d=p.filter(function(e){return e.trim()&&!ni(e)});var v=r(p);var m=xi(l,d);var y=n.slice(u).find(function(e){return e.trim()&&!ni(e)});if(m&&(_ instanceof Fi&&_.match(y)||!_)){var g=u-v;if(n[g]!=="\n"){if(!n[g].trim()){n[g]="\n"}else{n.splice(g,0,"\n");u++}}u+=v;continue e}}}catch(e){s.e(e)}finally{s.f()}}this.__code__=n.join("");return this};Ei.prototype._spaces=function(e){return" ".repeat(e)};Ei.prototype.format=function e(t){var r=this.__code__.replace(/[ \t]*\n[ \t]*/g,"\n ");var n=Jn(r,true);var i=this._options(t);var u=0;var a=0;for(var o=0;o0){n=Math.floor(t()*r);r--;var i=[e[n],e[r]];e[r]=i[0];e[n]=i[1]}return e}function Yi(){}Yi.prototype.toString=function(){return"()"};Yi.prototype.valueOf=function(){return undefined};Yi.prototype.serialize=function(){return 0};Yi.prototype.to_object=function(){return{}};Yi.prototype.append=function(e){return new Y(e,$)};Yi.prototype.to_array=function(){return[]};var $=new Yi;function Y(e,t){if(typeof this!=="undefined"&&this.constructor!==Y||typeof this==="undefined"){return new Y(e,t)}this.car=e;this.cdr=t}function Ji(u,a){return function e(t){A(u,t,["pair","nil"]);if(K(t)){return[]}var r=[];var n=t;while(true){if(H(n)){if(n.have_cycles("cdr")){break}var i=n.car;if(a&&H(i)){i=this.get(u).call(this,i)}r.push(i);n=n.cdr}else if(K(n)){break}else{throw new Error("".concat(u,": can't convert improper list"))}}return r}}Y.prototype.flatten=function(){return Y.fromArray(Vi(this.to_array()))};Y.prototype.length=function(){var e=0;var t=this;while(true){if(!t||K(t)||!H(t)||t.have_cycles("cdr")){break}e++;t=t.cdr}return e};Y.match=function(e,t){if(e instanceof V){return V.is(e,t)}else if(H(e)){return Y.match(e.car,t)||Y.match(e.cdr,t)}else if(Array.isArray(e)){return e.some(function(e){return Y.match(e,t)})}else if(Hi(e)){return Object.values(e).some(function(e){return Y.match(e,t)})}return false};Y.prototype.find=function(e){return Y.match(this,e)};Y.prototype.clone=function(){var r=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;var n=new Map;function i(e){if(H(e)){if(n.has(e)){return n.get(e)}var t=new Y;n.set(e,t);if(r){t.car=i(e.car)}else{t.car=e.car}t.cdr=i(e.cdr);t[ra]=e[ra];return t}return e}return i(this)};Y.prototype.last_pair=function(){var e=this;while(true){if(!H(e.cdr)){return e}if(e.have_cycles("cdr")){break}e=e.cdr}};Y.prototype.to_array=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;var t=[];if(H(this.car)){if(e){t.push(this.car.to_array())}else{t.push(this.car)}}else{t.push(this.car.valueOf())}if(H(this.cdr)){t=t.concat(this.cdr.to_array(e))}return t};Y.fromArray=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(H(e)||r&&e instanceof Array&&e[ea]){return e}if(t===false){var n=$;for(var i=e.length;i--;){n=new Y(e[i],n)}return n}if(e.length&&!(e instanceof Array)){e=q(e)}var u=$;var a=e.length;while(a--){var o=e[a];if(o instanceof Array){o=Y.fromArray(o,t,r)}else if(typeof o==="string"){o=x(o)}else if(typeof o==="number"&&!Number.isNaN(o)){o=B(o)}u=new Y(o,u)}return u};Y.prototype.to_object=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;var t=this;var r={};while(true){if(H(t)&&H(t.car)){var n=t.car;var i=n.car;if(i instanceof V){i=i.__name__}if(i instanceof x){i=i.valueOf()}var u=n.cdr;if(H(u)){u=u.to_object(e)}if(Ru(u)){if(!e){u=u.valueOf()}}r[i]=u;t=t.cdr}else{break}}return r};Y.fromPairs=function(e){return e.reduce(function(e,t){return new Y(new Y(new V(t[0]),t[1]),e)},$)};Y.fromObject=function(t){var e=Object.keys(t).map(function(e){return[e,t[e]]});return Y.fromPairs(e)};Y.prototype.reduce=function(e){var t=this;var r=$;while(true){if(!K(t)){r=e(r,t.car);t=t.cdr}else{break}}return r};Y.prototype.reverse=function(){if(this.have_cycles()){throw new Error("You can't reverse list that have cycles")}var e=this;var t=$;while(!K(e)){var r=e.cdr;e.cdr=t;t=e;e=r}return t};Y.prototype.transform=function(n){function i(e){if(H(e)){if(e.replace){delete e.replace;return e}var t=n(e.car);if(H(t)){t=i(t)}var r=n(e.cdr);if(H(r)){r=i(r)}return new Y(t,r)}return e}return i(this)};Y.prototype.map=function(e){if(typeof this.car!=="undefined"){return new Y(e(this.car),K(this.cdr)?$:this.cdr.map(e))}else{return $}};var Ki=new Map;function Hi(e){return e&&_(e)==="object"&&e.constructor===Object}var Gi=Object.getOwnPropertyNames(Array.prototype);var Wi=[];Gi.forEach(function(e){Wi.push(Array[e],Array.prototype[e])});function Qi(e){e=Yu(e);return Wi.includes(e)}function Zi(e){return d(e)&&(la(e)||e.__doc__)}function Xi(r){var e=r.constructor||Object;var n=Hi(r);var i=d(r[Symbol.asyncIterator])||d(r[Symbol.iterator]);var u;if(Ki.has(e)){u=Ki.get(e)}else{Ki.forEach(function(e,t){t=Yu(t);if(r instanceof t&&(t===Object&&n&&!i||t!==Object)){u=e}})}return u}var eu=new Map;[[true,"#t"],[false,"#f"],[null,"#null"],[undefined,"#void"]].forEach(function(e){var t=b(e,2),r=t[0],n=t[1];eu.set(r,n)});function tu(r){if(r&&_(r)==="object"){var n={};var e=Object.getOwnPropertySymbols(r);e.forEach(function(e){var t=e.toString().replace(/Symbol\(([^)]+)\)/,"$1");n[t]=ou(r[e])});var t=Object.getOwnPropertyNames(r);t.forEach(function(e){var t=r[e];if(t&&_(t)==="object"&&t.constructor===Object){n[e]=tu(t)}else{n[e]=ou(t)}});return n}return r}function ru(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}function nu(e,t){return e.hasOwnProperty(t)&&d(e.toString)}function iu(e){if(pa(e)){return"#"}var t=e.prototype&&e.prototype.constructor;if(d(t)&&la(t)){if(e[na]&&t.hasOwnProperty("__name__")){var r=t.__name__;if(x.isString(r)){r=r.toString();return"#")}return"#"}}if(e.hasOwnProperty("__name__")){var n=e.__name__;if(_(n)==="symbol"){n=Gn(n)}if(typeof n==="string"){return"#")}}if(nu(e,"toString")){return e.toString()}else if(e.name&&!la(e)){return"#")}else{return"#"}}var uu=new Map;[[Error,function(e){return e.message}],[Y,function(e,t){var r=t.quote,n=t.skip_cycles,i=t.pair_args;if(!n){e.mark_cycles()}return e.toString.apply(e,[r].concat(q(i)))}],[h,function(e,t){var r=t.quote;if(r){return e.toString()}return e.valueOf()}],[x,function(e,t){var r=t.quote;e=e.toString();if(r){return JSON.stringify(e).replace(/\\n/g,"\n")}return e}],[RegExp,function(e){return"#"+e.toString()}]].forEach(function(e){var t=b(e,2),r=t[0],n=t[1];uu.set(r,n)});var au=[V,J,so,Va,$a,F,Zn];function ou(e,t,r){if(typeof jQuery!=="undefined"&&e instanceof jQuery.fn.init){return"#"}if(eu.has(e)){return eu.get(e)}if(ku(e)){return"#"}if(e){var n=e.constructor;if(uu.has(n)){for(var i=arguments.length,u=new Array(i>3?i-3:0),a=3;a"}if(e===null){return"null"}if(d(e)){if(d(e.toString)&&e.hasOwnProperty("toString")){return e.toString().valueOf()}return iu(e)}if(_(e)==="object"){var f=e.constructor;if(!f){f=Object}var l;if(typeof f.__class__==="string"){l=f.__class__}else{var h=Xi(e);if(h){if(d(h)){return h(e,t)}else{throw new Error("toString: Invalid repr value")}}l=f.name}if(d(e.toString)&&e.hasOwnProperty("toString")){return e.toString().valueOf()}if(No(e)==="instance"){if(la(f)&&f.__name__){l=f.__name__.valueOf()}else if(!pa(f)){l="instance"}}if(Tu(e,Symbol.iterator)){if(l){return"#")}return"#"}if(Tu(e,Symbol.asyncIterator)){if(l){return"#")}return"#"}if(l!==""){return"#<"+l+">"}return"#"}if(typeof e!=="string"){return e.toString()}return e}Y.prototype.mark_cycles=function(){cu(this);return this};Y.prototype.have_cycles=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;if(!e){return this.have_cycles("car")||this.have_cycles("cdr")}return!!(this[ra]&&this[ra][e])};Y.prototype.is_cycle=function(){return su(this)};function su(e){if(!H(e)){return false}if(e.have_cycles()){return true}return su(e.car,fn)||su(e.cdr,fn)}function cu(e){var t=[];var i=[];var u=[];function a(e){if(!t.includes(e)){t.push(e)}}function o(e,t,r,n){if(H(r)){if(n.includes(r)){if(!u.includes(r)){u.push(r)}if(!e[ra]){e[ra]={}}e[ra][t]=r;if(!i.includes(e)){i.push(e)}return true}}}var s=$n(function e(t,r){if(H(t)){delete t.ref;delete t[ra];a(t);r.push(t);var n=o(t,"car",t.car,r);var i=o(t,"cdr",t.cdr,r);if(!n){s(t.car,r.slice())}if(!i){return new Vn(function(){return e(t.cdr,r.slice())})}}});function r(e,t){if(H(e[ra][t])){var r=n.indexOf(e[ra][t]);e[ra][t]="#".concat(r,"#")}}s(e,[]);var n=t.filter(function(e){return u.includes(e)});n.forEach(function(e,t){e[ta]="#".concat(t,"=")});i.forEach(function(e){r(e,"car");r(e,"cdr")})}Y.prototype.toString=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},r=t.nested,n=r===void 0?false:r;var i=[];if(this[ta]){i.push(this[ta]+"(")}else if(!n){i.push("(")}var u;if(this[ra]&&this[ra].car){u=this[ra].car}else{u=ou(this.car,e,true)}if(u!==undefined){i.push(u)}if(H(this.cdr)){if(this[ra]&&this[ra].cdr){i.push(" . ");i.push(this[ra].cdr)}else{if(this.cdr[ta]){i.push(" . ")}else{i.push(" ")}var a=this.cdr.toString(e,{nested:true});i.push(a)}}else if(!K(this.cdr)){i=i.concat([" . ",ou(this.cdr,e,true)])}if(!n||this[ta]){i.push(")")}return i.join("")};Y.prototype.set=function(e,t){this[e]=t;if(H(t)){this.mark_cycles()}};Y.prototype.append=function(e){if(e instanceof Array){return this.append(Y.fromArray(e))}var t=this;if(t.car===undefined){if(H(e)){this.car=e.car;this.cdr=e.cdr}else{this.car=e}}else if(!K(e)){while(true){if(H(t)&&!K(t.cdr)){t=t.cdr}else{break}}t.cdr=e}return this};Y.prototype.serialize=function(){return[this.car,this.cdr]};Y.prototype[Symbol.iterator]=function(){var r=this;return{next:function e(){var t=r;r=t.cdr;if(K(t)){return{value:undefined,done:true}}else{return{value:t.car,done:false}}}}};function fu(e){return e<0?-e:e}function lu(e,t){var r=re(t),n=r[0],i=r.slice(1);while(i.length>0){var u=i,a=b(u,1),o=a[0];if(!e(n,o)){return false}var s=i;var c=re(s);n=c[0];i=c.slice(1)}return true}function hu(e,t){if(d(e)){return d(t)&&Yu(e)===Yu(t)}else if(e instanceof B){if(!(t instanceof B)){return false}var r;if(e.__type__===t.__type__){if(e.__type__==="complex"){r=e.__im__.__type__===t.__im__.__type__&&e.__re__.__type__===t.__re__.__type__}else{r=true}if(r&&e.cmp(t)===0){if(e.valueOf()===0){return Object.is(e.valueOf(),t.valueOf())}return true}}return false}else if(typeof e==="number"){if(typeof t!=="number"){return false}if(Number.isNaN(e)){return Number.isNaN(t)}if(e===Number.NEGATIVE_INFINITY){return t===Number.NEGATIVE_INFINITY}if(e===Number.POSITIVE_INFINITY){return t===Number.POSITIVE_INFINITY}return hu(B(e),B(t))}else if(e instanceof h){if(!(t instanceof h)){return false}return e.__char__===t.__char__}else{return e===t}}function _u(e,t){if(No(e)!==No(t)){return false}if(!pu(e)){return false}if(e instanceof RegExp){return e.source===t.source}if(e instanceof x){return e.valueOf()===t.valueOf()}return hu(e,t)}function pu(e){return e instanceof V||x.isString(e)||K(e)||e===null||e instanceof h||e instanceof B||e===true||e===false}var du=function(){if(Math.trunc){return Math.trunc}else{return function(e){if(e===0){return 0}else if(e<0){return Math.ceil(e)}else{return Math.floor(e)}}}}();function J(e,t,r,n){if(typeof this!=="undefined"&&this.constructor!==J||typeof this==="undefined"){return new J(e,t)}A("Macro",e,"string",1);A("Macro",t,"function",2);if(r){if(n){this.__doc__=r}else{this.__doc__=bi(r)}}this.__name__=e;this.__fn__=t}J.defmacro=function(e,t,r,n){var i=new J(e,t,r,n);i.__defmacro__=true;return i};J.prototype.invoke=function(e,t,r){var n=t.env,i=he(t,kr);var u=U(U({},i),{},{macro_expand:r});var a=this.__fn__.call(n,e,u,this.__name__);return a};J.prototype.toString=function(){return"#")};var vu="define-macro";var mu=-1e4;function yu(c){return function(){var r=ie(O.mark(function e(r,y){var u,g,n,i,a,b,w,D,x,E,F,A,o,k,s;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:s=function e(){s=ie(O.mark(function e(r,n,i){var u,a,o,s,c,f,l,h,_,p,d,v,m;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(!(H(r)&&r.car instanceof V)){t.next=50;break}if(!r[ea]){t.next=3;break}return t.abrupt("return",r);case 3:u=r.car.valueOf();a=i.get(r.car,{throwError:false});o=b(r.car);s=o||w(a,r)||D(a);if(!(s&&H(r.cdr.car))){t.next=28;break}if(!o){t.next=15;break}g=E(r.cdr.car);t.next=12;return A(r.cdr.car,n);case 12:c=t.sent;t.next=17;break;case 15:g=x(r.cdr.car);c=r.cdr.car;case 17:t.t0=Y;t.t1=r.car;t.t2=Y;t.t3=c;t.next=23;return k(r.cdr.cdr,n,i);case 23:t.t4=t.sent;t.t5=new t.t2(t.t3,t.t4);return t.abrupt("return",new t.t0(t.t1,t.t5));case 28:if(!F(u,a)){t.next=50;break}f=a instanceof gu?r:r.cdr;t.next=32;return a.invoke(f,U(U({},y),{},{env:i}),true);case 32:l=t.sent;if(!(a instanceof gu)){t.next=41;break}h=l,_=h.expr,p=h.scope;if(!H(_)){t.next=40;break}if(!(n!==-1&&n<=1||n")}return"#"};var bu=ce(function e(t){ue(this,e);c(this,"_syntax",t,{hidden:true});c(this._syntax,"_param",true,{hidden:true})});gu.Parameter=bu;function wu(e,t,P,N){var r=arguments.length>4&&arguments[4]!==undefined?arguments[4]:{};var T={"...":{symbols:{},lists:[]},symbols:{}};var L=r.expansion,M=r.define;z(P);function R(t,e){var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;z({code:e,pattern:t});if(pu(t)&&!(t instanceof V)){return _u(t,e)}if(t instanceof V&&P.includes(t.literal())){if(!V.is(e,t)){return false}var i=L.ref(t);return!i||i===M||i===G}if(Array.isArray(t)&&Array.isArray(e)){z("<<< a 1");if(t.length===0&&e.length===0){return true}if(V.is(t[1],N)){if(t[0]instanceof V){var u=t[0].valueOf();z("<<< a 2 "+n);if(n){var a=e.length-2;var o=a>0?e.slice(0,a):e;var s=Y.fromArray(o,false);if(!T["..."].symbols[u]){T["..."].symbols[u]=new Y(s,$)}else{T["..."].symbols[u].append(new Y(s,$))}}else{T["..."].symbols[u]=Y.fromArray(e,false)}}else if(Array.isArray(t[0])){z("<<< a 3");var c=q(r);if(!e.every(function(e){return R(t[0],e,c,true)})){return false}}if(t.length>2){var f=t.slice(2);return R(f,e.slice(-f.length),r,n)}return true}var l=R(t[0],e[0],r,n);z({first:l,pattern:t[0],code:e[0]});var h=R(t.slice(1),e.slice(1),r,n);z({first:l,rest:h});return l&&h}if(H(t)&&H(t.car)&&H(t.car.cdr)&&V.is(t.car.cdr.car,N)){z(">> 0");if(K(e)){z({pattern:t});if(t.car.car instanceof V){var _=t.car.car.valueOf();if(T["..."].symbols[_]){throw new Error("syntax: named ellipsis can only "+"appear onces")}T["..."].symbols[_]=e}}}if(H(t)&&H(t.cdr)&&V.is(t.cdr.car,N)){if(!K(t.cdr.cdr)){if(H(t.cdr.cdr)){var p=t.cdr.cdr.length();if(!H(e)){return false}var d=e.length();var v=e;while(d-1>p){v=v.cdr;d--}var m=v.cdr;v.cdr=$;if(!R(t.cdr.cdr,m,r,n)){return false}}}if(t.car instanceof V){var y=t.car.__name__;if(T["..."].symbols[y]&&!r.includes(y)&&!n){throw new Error("syntax: named ellipsis can only appear onces")}z(">> 1");if(K(e)){z(">> 2");if(n){z("NIL");T["..."].symbols[y]=$}else{z("NULL");T["..."].symbols[y]=null}}else if(H(e)&&(H(e.car)||K(e.car))){z(">> 3 "+n);if(n){if(T["..."].symbols[y]){var g=T["..."].symbols[y];if(K(g)){g=new Y($,new Y(e,$))}else{g=g.append(new Y(e,$))}T["..."].symbols[y]=g}else{T["..."].symbols[y]=new Y(e,$)}}else{z(">> 4");T["..."].symbols[y]=new Y(e,$)}}else{z(">> 6");if(H(e)){if(!H(e.cdr)&&!K(e.cdr)){z(">> 7 (b)");if(K(t.cdr.cdr)){return false}else if(!T["..."].symbols[y]){T["..."].symbols[y]=new Y(e.car,$);return R(t.cdr.cdr,e.cdr)}}var b=e.last_pair();if(!K(b.cdr)){if(K(t.cdr.cdr)){return false}else{var w=e.clone();w.last_pair().cdr=$;T["..."].symbols[y]=w;return R(t.cdr.cdr,b.cdr)}}z(">> 7 "+n);r.push(y);if(!T["..."].symbols[y]){T["..."].symbols[y]=new Y(e,$)}else{var D=T["..."].symbols[y];T["..."].symbols[y]=D.append(new Y(e,$))}z({IIIIII:T["..."].symbols[y]})}else if(t.car instanceof V&&H(t.cdr)&&V.is(t.cdr.car,N)){z(">> 8");T["..."].symbols[y]=null;return R(t.cdr.cdr,e)}else{z(">> 9");return false}}return true}else if(H(t.car)){var x=q(r);if(K(e)){z(">> 10");T["..."].lists.push($);return true}z(">> 11");var E=e;while(H(E)){if(!R(t.car,E.car,x,true)){return false}E=E.cdr}return true}if(Array.isArray(t.car)){var x=q(r);var F=e;while(H(F)){if(!R(t.car,F.car,x,true)){return false}F=F.cdr}return true}return false}if(t instanceof V){if(V.is(t,N)){throw new Error("syntax: invalid usage of ellipsis")}z(">> 12");var A=t.__name__;if(P.includes(A)){return true}if(n){var k,O;z(T["..."].symbols[A]);(O=(k=T["..."].symbols)[A])!==null&&O!==void 0?O:k[A]=[];T["..."].symbols[A].push(e)}else{T.symbols[A]=e}return true}if(H(t)&&H(e)){z(">> 13");z({a:13,code:e,pattern:t});if(K(e.cdr)){var C=t.car instanceof V&&t.cdr instanceof V;if(C){if(!R(t.car,e.car,r,n)){return false}z(">> 14");var S=t.cdr.valueOf();if(!(S in T.symbols)){T.symbols[S]=$}S=t.car.valueOf();if(!(S in T.symbols)){T.symbols[S]=e.car}return true}}z({pattern:t,code:e});if(H(t.cdr)&&H(t.cdr.cdr)&&t.cdr.car instanceof V&&V.is(t.cdr.cdr.car,N)&&H(t.cdr.cdr.cdr)&&!V.is(t.cdr.cdr.cdr.car,N)&&R(t.car,e.car,r,n)&&R(t.cdr.cdr.cdr,e.cdr,r,n)){var j=t.cdr.car.__name__;z({pattern:t,code:e,name:j});if(P.includes(j)){return true}T["..."].symbols[j]=null;return true}z("recur");z({pattern:t,code:e});var B=R(t.car,e.car,r,n);z({car:B,pattern:t.car,code:e.car});var I=R(t.cdr,e.cdr,r,n);z({car:B,cdr:I});if(B&&I){return true}}else if(K(t)&&(K(e)||e===undefined)){return true}else if(H(t.car)&&V.is(t.car.car,N)){throw new Error("syntax: invalid usage of ellipsis")}else{return false}}if(R(e,t)){return T}}function Du(e,i){function u(t){if(H(t)){if(!i.length){return t}var e=u(t.car);var r=u(t.cdr);return new Y(e,r)}else if(t instanceof V){var n=i.find(function(e){return e.gensym===t});if(n){return V(n.name)}return t}else{return t}}return u(e)}function xu(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var B=e.bindings,t=e.expr,I=e.scope,a=e.symbols,f=e.names,P=e.ellipsis;var l={};function o(e){if(e instanceof V){return true}return["string","symbol"].includes(_(e))}function N(e){if(!o(e)){var t=No(e);throw new Error("syntax: internal error, need symbol got ".concat(t))}var r=e.valueOf();if(r===P){throw new Error("syntax: internal error, ellipis not transformed")}var n=_(r);if(["string","symbol"].includes(n)){if(r in B.symbols){return B.symbols[r]}else if(n==="string"&&r.match(/\./)){var i=r.split(".");var u=i[0];if(u in B.symbols){return Y.fromArray([V("."),B.symbols[u]].concat(i.slice(1).map(function(e){return x(e)})))}}}if(a.includes(r)){return e}return s(r,e)}function s(e,t){if(!l[e]){var r=I.ref(e);if(_(e)==="symbol"&&!r){e=t.literal()}if(l[e]){return l[e]}var n=Qn(e);if(r){var i=I.get(e);I.set(n,i)}else{var u=I.get(e,{throwError:false});if(typeof u!=="undefined"){I.set(n,u)}}f.push({name:e,gensym:n});l[e]=n;if(typeof e==="string"&&e.match(/\./)){var a=e.split(".").filter(Boolean),o=re(a),s=o[0],c=o.slice(1);if(l[s]){ca(n,"__object__",[l[s]].concat(q(c)))}}}return l[e]}function T(e,t,r){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:function(){};var i=r.nested;z({bindings:t,expr:e});if(Array.isArray(e)&&!e.length){return e}if(e instanceof V){var u=e.valueOf();if(Wn(e)&&!t[u]);z("[t 1");if(t[u]){if(H(t[u])){var a=t[u],o=a.car,s=a.cdr;if(i){var c=o.car,f=o.cdr;if(!K(f)){n(u,new Y(f,$))}return c}if(!K(s)){n(u,s)}return o}else if(t[u]instanceof Array){n(u,t[u].slice(1));return t[u][0]}}return N(e)}var l=Array.isArray(e);if(H(e)||l){var h=l?e[0]:e.car;var _=l?e[1]:H(e.cdr)&&e.cdr.car;if(h instanceof V&&V.is(_,P)){l?e.slice(2):e.cdr.cdr;z("[t 2");var p=h.valueOf();var d=t[p];if(d===null){return}else if(d){z({name:p,binding:t[p]});if(H(d)){z("[t 2 Pair "+i);var v=d.car,m=d.cdr;var y=l?e.slice(2):e.cdr.cdr;if(i){if(!K(m)){z("|| next 1");n(p,m)}if(l&&y.length||!K(y)&&!l){var g=T(y,t,r,n);if(l){return v.concat(g)}else if(H(v)){return v.append(g)}else{z("UNKNOWN")}}return v}else if(H(v)){if(!K(v.cdr)){z("|| next 2");n(p,new Y(v.cdr,m))}return v.car}else if(K(m)){return v}else{var b=e.last_pair();if(b.cdr instanceof V){z("|| next 3");n(p,d.last_pair());return v}}}else if(d instanceof Array){z("[t 2 Array "+i);if(i){n(p,d.slice(1));return Y.fromArray(d)}else{var w=d.slice(1);if(w.length){n(p,w)}return d[0]}}else{return d}}}z("[t 3 recur ",e);var D=l?e.slice(1):e.cdr;var x=T(h,t,r,n);var E=T(D,t,r,n);z({head:x,rest:E});if(l){return[x].concat(E)}return new Y(x,E)}return e}function L(t,r){var e=Object.values(t);var n=Object.getOwnPropertySymbols(t);if(n.length){e.push.apply(e,q(n.map(function(e){return t[e]})))}return e.length&&e.every(function(e){if(e===null){return!r}return H(e)||K(e)||Array.isArray(e)&&e.length})}function M(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}function R(i){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},t=e.disabled;z("traverse>> ",i);var u=Array.isArray(i);if(u&&i.length===0){return i}if(H(i)||u){var r=u?i[0]:i.car;var n,a;if(u){n=i[1];a=i.slice(2)}else if(H(i.cdr)){n=i.cdr.car;a=i.cdr.cdr}z({first:r,second:n,rest_second:a});if(!t&&H(r)&&V.is(r.car,P)){return new Y(r.cdr.car,R(i.cdr))}if(n&&V.is(n,P)&&!t){z(">> 1");var o=B["..."].symbols;var s=Object.values(o);if(s.length&&s.every(function(e){return e===null})){z(">>> 1 (a)");return R(a,{disabled:t})}var c=M(o);var f=r instanceof V&&V.is(a.car,P);if(H(r)||f){z(">>> 1 (b)");if(K(B["..."].lists[0])){if(!f){return R(a,{disabled:t})}z(a);return $}var l=r;if(f){z(">>> 1 (c)");l=new Y(r,new Y(n,$))}z(">> 2");var h;if(c.length){z(">> 2 (a)");var _=U({},o);h=u?[]:$;var p=function e(){z({bind:_});if(!L(_)){return 1}var n={};var t=function e(t,r){n[t]=r};var r=T(l,_,{nested:true},t);if(r!==undefined){if(f){if(u){if(Array.isArray(r)){var i;(i=h).push.apply(i,q(r))}else{z("ZONK {1}")}}else{if(K(h)){h=r}else{h=h.append(r)}}}else if(u){h.push(r)}else{h=new Y(r,h)}}_=n};while(true){if(p())break}if(!K(h)&&!f&&!u){h=h.reverse()}if(u){if(a){z({rest_second:a,expr:i});var d=R(a,{disabled:t});return h.concat(d)}return h}if(!K(i.cdr.cdr)&&!V.is(i.cdr.cdr.car,P)){var v=R(i.cdr.cdr,{disabled:t});return h.append(v)}return h}else{z(">> 3");var m=T(r,o,{nested:true});if(m){return new Y(m,$)}return $}}else if(r instanceof V){z(">> 4");if(V.is(a.car,P)){z(">> 4 (a)")}else{z(">> 4 (b)")}var y=r.__name__;var g=fe({},y,o[y]);z({bind:g});var b=o[y]===null;var w=u?[]:$;var D=function e(){if(!L(g,true)){z({bind:g});return 1}var n={};var t=function e(t,r){n[t]=r};var r=T(i,g,{nested:false},t);z({value:r});if(typeof r!=="undefined"){if(u){w.push(r)}else{w=new Y(r,w)}}g=n};while(true){if(D())break}if(!K(w)&&!u){w=w.reverse()}if(H(i.cdr)){if(H(i.cdr.cdr)||i.cdr.cdr instanceof V){var x=R(i.cdr.cdr,{disabled:t});z({node:x});if(b){return x}if(K(w)){w=x}else{w.append(x)}z({result:w,node:x})}}z("<<<< 2");return w}}var E=R(r,{disabled:t});var F;var A;if(r instanceof V){var k=I.get(r,{throwError:false});A=k instanceof J&&k.__name__==="syntax-rules"}if(A){if(i.cdr.car instanceof V){F=new Y(R(i.cdr.car,{disabled:t}),new Y(i.cdr.cdr.car,R(i.cdr.cdr.cdr,{disabled:t})))}else{F=new Y(i.cdr.car,R(i.cdr.cdr,{disabled:t}))}z("REST >>>> ",F)}else{F=R(i.cdr,{disabled:t})}z({a:true,car:ou(i.car),cdr:ou(i.cdr),head:ou(E),rest:ou(F)});return new Y(E,F)}if(i instanceof V){if(t&&V.is(i,P)){return i}var O=Object.keys(B["..."].symbols);var C=i.literal();if(O.includes(C)){var S="missing ellipsis symbol next to name `".concat(C,"'");throw new Error("syntax-rules: ".concat(S))}var j=N(i);if(typeof j!=="undefined"){return j}}return i}return R(t,{})}function Eu(e){return Nu(e)||K(e)||e===null}function K(e){return e===$}function d(e){return typeof e==="function"&&typeof e.bind==="function"}function Fu(e){return e===false||e===null}function Au(e){return typeof e==="string"}function ku(e){return e&&_(e)==="object"&&e.hasOwnProperty&&e.hasOwnProperty("constructor")&&typeof e.constructor==="function"&&e.constructor.prototype===e}function Ou(e){return e instanceof Ko}function Cu(e){return e instanceof Yo}function Su(e){return e instanceof $o}function H(e){return e instanceof Y}function ju(e){return e instanceof F}function Bu(e){return d(e)||Ou(e)||Su(e)||Iu(e)}function Iu(e){return e instanceof J||e instanceof bu}function Pu(e){if(e instanceof Zn){return false}if(e instanceof Promise){return true}return!!e&&d(e.then)}function Nu(e){return typeof e==="undefined"}function Tu(e,t){if(qu(e,t)||qu(e.__proto__,t)){return d(e[t])}}function Lu(e){if(!e){return false}if(_(e)!=="object"){return false}if(e.__instance__){e.__instance__=false;return e.__instance__}return false}function Mu(e){var t=_(e);return["string","function"].includes(t)||_(e)==="symbol"||e instanceof Zn||e instanceof V||e instanceof B||e instanceof x||e instanceof RegExp}function Ru(e){return e instanceof B||e instanceof x||e instanceof h}function qu(e,t){if(e===null){return false}return _(e)==="object"&&t in Object.getOwnPropertySymbols(e)}function Uu(e){switch(_(e)){case"string":return x(e);case"bigint":return B(e);case"number":if(Number.isNaN(e)){return vo}else{return B(e)}}return e}function zu(r,n){var e=Object.getOwnPropertyNames(r);var t=Object.getOwnPropertySymbols(r);var i={};e.concat(t).forEach(function(e){var t=n(r[e]);i[e]=t});return i}function Vu(t){var e=[x,B,h].some(function(e){return t instanceof e});if(e){return t.valueOf()}if(t instanceof Array){return t.map(Vu)}if(t instanceof Zn){delete t.then}if(Hi(t)){return zu(t,Vu)}return t}function $u(e,t){if(H(e)){e.mark_cycles();return co(e)}if(d(e)){if(t){return Ju(e,t)}}return Uu(e)}function Yu(e){if(Hu(e)){return e[Xu]}return e}function Ju(e,t){if(e[Symbol["for"]("__bound__")]){return e}var r=e.bind(t);var n=Object.getOwnPropertyNames(e);var i=Tr(n),u;try{for(i.s();!(u=i.n()).done;){var a=u.value;if(sa(a)){try{r[a]=e[a]}catch(e){}}}}catch(e){i.e(e)}finally{i.f()}ca(r,"__fn__",e);ca(r,"__context__",t);ca(r,"__bound__",true);if(pa(e)){ca(r,"__native__",true)}if(Hi(t)&&la(e)){ca(r,"__method__",true)}r.valueOf=function(){return e};return r}function Ku(e){return Hu(e)&&e[Symbol["for"]("__context__")]===Object}function Hu(e){return!!(d(e)&&e[Xu])}function Gu(e){if(d(e)){var t=e[Zu];if(t&&(t===js||t.constructor&&t.constructor.__class__)){return true}}return false}function Wu(e){return e instanceof Va||e instanceof $a}function Qu(e){if(d(e)){if(Wu(e[Zu])){return true}}return false}var Zu=Symbol["for"]("__context__");var Xu=Symbol["for"]("__fn__");var ea=Symbol["for"]("__data__");var ta=Symbol["for"]("__ref__");var ra=Symbol["for"]("__cycles__");var na=Symbol["for"]("__class__");var ia=Symbol["for"]("__method__");var ua=Symbol["for"]("__prototype__");var aa=Symbol["for"]("__lambda__");var oa=["name","length","caller","callee","arguments","prototype"];function sa(e){return!oa.includes(e)}function ca(e,t,r){Object.defineProperty(e,Symbol["for"](t),{get:function e(){return r},set:function e(){},configurable:false,enumerable:false})}function fa(t,r){try{Object.defineProperty(t,"length",{get:function e(){return r}});return t}catch(e){var n=new Array(r).fill(0).map(function(e,t){return"a"+t}).join(",");var i=new Function("f","return function(".concat(n,") {\n return f.apply(this, arguments);\n };"));return i(t)}}function la(e){return e&&e[aa]}function ha(e){return e&&e[ia]}function _a(e){return la(e)&&!e[ua]&&!ha(e)&&!Qu(e)}function pa(e){var t=Symbol["for"]("__native__");return d(e)&&e.toString().match(/\{\s*\[native code\]\s*\}/)&&(e.name.match(/^bound /)&&e[t]===true||!e.name.match(/^bound /)&&!e[t])}function da(e){var w;switch(e){case Symbol["for"]("letrec"):w="letrec";break;case Symbol["for"]("let"):w="let";break;case Symbol["for"]("let*"):w="let*";break;default:throw new Error("Invalid let_macro value")}return J.defmacro(w,function(t,e){var f=e.dynamic_env;var l=e.error,r=e.macro_expand,h=e.use_dynamic;var _;if(t.car instanceof V){if(!(H(t.cdr.car)||K(t.cdr.car))){throw new Error("let require list of pairs")}var n;if(K(t.cdr.car)){_=$;n=$}else{n=t.cdr.car.map(function(e){return e.car});_=t.cdr.car.map(function(e){return e.cdr.car})}var i=Qn("args");return Y.fromArray([V("let"),[[i,Y(V("list"),_)]],[V("letrec"),[[t.car,Y(V("lambda"),Y(n,t.cdr.cdr))]],[V("apply"),t.car,i]]])}else if(r){return}var p=this;_=G.get("list->array")(t.car);var d=p.inherit(w);var v,m;if(w==="let*"){m=d}else if(w==="let"){v=[]}var y=0;function g(){var e=new Y(new V("begin"),t.cdr);return k(e,{env:d,dynamic_env:d,use_dynamic:h,error:l})}function b(e){if(e in d.__env__){throw new Error("Duplicated let variable ".concat(e))}}return function t(){var r=_[y++];f=w==="let*"?d:p;if(!r){if(v&&v.length){var e=v.map(function(e){return e.value});var n=e.filter(Pu);if(n.length){return Xn(e).then(function(e){for(var t=0,r=e.length;t1&&arguments[1]!==undefined?arguments[1]:{},r=t.use_dynamic,n=t.error;var i=this;var u=this;var a=[];var o=e;while(H(o)){a.push(k(o.car,{env:i,dynamic_env:u,use_dynamic:r,error:n}));o=o.cdr}var s=a.filter(Pu).length;if(s){return Xn(a).then(c.bind(this))}else{return c.call(this,a)}})}function ma(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n2?n-2:0),u=2;u1&&arguments[1]!==undefined?arguments[1]:null;return function(){for(var e=arguments.length,t=new Array(e),r=0;r1?e-1:0),r=1;r=a){return u.apply(this,n)}else{return i}}return i.apply(this,arguments)}}function Aa(n,i){A("limit",i,"function",2);return function(){for(var e=arguments.length,t=new Array(e),r=0;r1){e=e.toLowerCase();if(h.__names__[e]){t=e;e=h.__names__[e]}else{throw new Error("Internal: Unknown named character")}}else{t=h.__rev_names__[e]}Object.defineProperty(this,"__char__",{value:e,enumerable:true});if(t){Object.defineProperty(this,"__name__",{value:t,enumerable:true})}}h.__names__=sn;h.__rev_names__={};Object.keys(h.__names__).forEach(function(e){var t=h.__names__[e];h.__rev_names__[t]=e});h.prototype.toUpperCase=function(){return h(this.__char__.toUpperCase())};h.prototype.toLowerCase=function(){return h(this.__char__.toLowerCase())};h.prototype.toString=function(){return"#\\"+(this.__name__||this.__char__)};h.prototype.valueOf=h.prototype.serialize=function(){return this.__char__};function x(e){if(typeof this!=="undefined"&&!(this instanceof x)||typeof this==="undefined"){return new x(e)}if(e instanceof Array){this.__string__=e.map(function(e,t){A("LString",e,"character",t+1);return e.toString()}).join("")}else{this.__string__=e.valueOf()}}{var ka=["length","constructor"];var Oa=Object.getOwnPropertyNames(String.prototype).filter(function(e){return!ka.includes(e)});var Ca=function e(n){return function(){for(var e=arguments.length,t=new Array(e),r=0;r0){r.push(this.__string__.substring(0,e))}r.push(t);if(e1&&arguments[1]!==undefined?arguments[1]:false;if(e instanceof B){return e}if(typeof this!=="undefined"&&!(this instanceof B)||typeof this==="undefined"){return new B(e,t)}if(typeof e==="undefined"){throw new Error("Invalid LNumber constructor call")}var r=B.getType(e);if(B.types[r]){return B.types[r](e,t)}var n=e instanceof Array&&x.isString(e[0])&&B.isNumber(e[1]);if(e instanceof B){return B(e.value)}if(!B.isNumber(e)&&!n){throw new Error("You can't create LNumber from ".concat(No(e)))}if(e===null){e=0}var i;if(n){var u=e,a=b(u,2),o=a[0],s=a[1];if(o instanceof x){o=o.valueOf()}if(s instanceof B){s=s.valueOf()}var c=o.match(/^([+-])/);var f=false;if(c){o=o.replace(/^[+-]/,"");if(c[1]==="-"){f=true}}}if(Number.isNaN(e)){return g(e)}else if(n&&Number.isNaN(parseInt(o,s))){return vo}else if(typeof BigInt!=="undefined"){if(typeof e!=="bigint"){if(n){var l;switch(s){case 8:l="0o";break;case 16:l="0x";break;case 2:l="0b";break;case 10:l="";break}if(typeof l==="undefined"){var h=BigInt(s);i=q(o).map(function(e,t){return BigInt(parseInt(e,s))*La(h,BigInt(t))}).reduce(function(e,t){return e+t})}else{i=BigInt(l+o)}}else{i=BigInt(e)}if(f){i*=BigInt(-1)}}else{i=e}return E(i,true)}else if(typeof Hr!=="undefined"&&!(e instanceof Hr)){if(e instanceof Array){return E(L(Hr,q(e)))}return E(new Hr(e))}else if(n){this.constant(parseInt(o,s),"integer")}else{this.constant(e,"integer")}}B.prototype.constant=function(e,t){Object.defineProperty(this,"__value__",{value:e,enumerable:true});Object.defineProperty(this,"__type__",{value:t,enumerable:true})};B.types={float:function e(t){return new g(t)},complex:function e(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(!B.isComplex(t)){t={im:0,re:t}}return new y(t,r)},rational:function e(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(!B.isRational(t)){t={num:t,denom:1}}return new w(t,r)}};B.prototype.serialize=function(){return this.__value__};B.prototype.isNaN=function(){return Number.isNaN(this.__value__)};B.prototype.gcd=function(e){var t=this.abs();e=e.abs();if(e.cmp(t)===1){var r=t;t=e;e=r}while(true){t=t.rem(e);if(t.cmp(0)===0){return e}e=e.rem(t);if(e.cmp(0)===0){return t}}};B.isFloat=function e(t){return t instanceof g||Number(t)===t&&t%1!==0};B.isNumber=function(e){return e instanceof B||B.isNative(e)||B.isBN(e)};B.isComplex=function(e){if(!e){return false}var t=e instanceof y||(B.isNumber(e.im)||B.isRational(e.im)||Number.isNaN(e.im))&&(B.isNumber(e.re)||B.isRational(e.re)||Number.isNaN(e.re));return t};B.isRational=function(e){if(!e){return false}return e instanceof w||B.isNumber(e.num)&&B.isNumber(e.denom)};B.isInteger=function(e){if(!(B.isNative(e)||e instanceof B)){return false}if(B.isFloat(e)){return false}if(B.isRational(e)){return false}if(B.isComplex(e)){return false}return true};B.isNative=function(e){return typeof e==="bigint"||typeof e==="number"};B.isBigInteger=function(e){return e instanceof E||typeof e==="bigint"||B.isBN(e)};B.isBN=function(e){return typeof Hr!=="undefined"&&e instanceof Hr};B.getArgsType=function(e,t){if(e instanceof g||t instanceof g){return g}if(e instanceof E||t instanceof E){return E}return B};B.prototype.toString=function(e){if(Number.isNaN(this.__value__)){return"+nan.0"}if(e>=2&&e<36){return this.__value__.toString(e)}return this.__value__.toString()};B.prototype.asType=function(e){var t=B.getType(this);return B.types[t]?B.types[t](e):B(e)};B.prototype.isBigNumber=function(){return typeof this.__value__==="bigint"||typeof Hr!=="undefined"&&!(this.value instanceof Hr)};["floor","ceil","round"].forEach(function(e){B.prototype[e]=function(){if(this["float"]||B.isFloat(this.__value__)){return B(Math[e](this.__value__))}else{return B(Math[e](this.valueOf()))}}});B.prototype.valueOf=function(){if(B.isNative(this.__value__)){return Number(this.__value__)}else if(B.isBN(this.__value__)){return this.__value__.toNumber()}};var Ia=function(){var e=function e(t,r){return[t,r]};return{bigint:{bigint:e,float:function e(t,r){return[g(t.valueOf()),r]},rational:function e(t,r){return[{num:t,denom:1},r]},complex:function e(t,r){return[{im:0,re:t},r]}},integer:{integer:e,float:function e(t,r){return[g(t.valueOf()),r]},rational:function e(t,r){return[{num:t,denom:1},r]},complex:function e(t,r){return[{im:0,re:t},r]}},float:{bigint:function e(t,r){return[t,r&&g(r.valueOf())]},integer:function e(t,r){return[t,r&&g(r.valueOf())]},float:e,rational:function e(t,r){return[t,r&&g(r.valueOf())]},complex:function e(t,r){return[{re:t,im:g(0)},r]}},complex:{bigint:t("bigint"),integer:t("integer"),float:t("float"),rational:t("rational"),complex:function e(t,r){var n=B.coerce(t.__re__,r.__re__),i=b(n,2),u=i[0],a=i[1];var o=B.coerce(t.__im__,r.__im__),s=b(o,2),c=s[0],f=s[1];return[{im:c,re:u},{im:f,re:a}]}},rational:{bigint:function e(t,r){return[t,r&&{num:r,denom:1}]},integer:function e(t,r){return[t,r&&{num:r,denom:1}]},float:function e(t,r){return[g(t.valueOf()),r]},rational:e,complex:function e(t,r){return[{im:Pa(t.__type__,r.__im__.__type__,0)[0],re:Pa(t.__type__,r.__re__.__type__,t)[0]},{im:Pa(t.__type__,r.__im__.__type__,r.__im__)[0],re:Pa(t.__type__,r.__re__.__type__,r.__re__)[0]}]}}};function t(r){return function(e,t){return[{im:Pa(r,e.__im__.__type__,0,e.__im__)[1],re:Pa(r,e.__re__.__type__,0,e.__re__)[1]},{im:Pa(r,e.__im__.__type__,0,0)[1],re:Pa(r,t.__type__,0,t)[1]}]}}}();function Pa(e,t,r,n){return Ia[e][t](r,n)}B.coerce=function(e,t){var r=B.getType(e);var n=B.getType(t);if(!Ia[r]){throw new Error("LNumber::coerce unknown lhs type ".concat(r))}else if(!Ia[r][n]){throw new Error("LNumber::coerce unknown rhs type ".concat(n))}var i=Ia[r][n](e,t);return i.map(function(e){return B(e,true)})};B.prototype.coerce=function(e){if(!(typeof e==="number"||e instanceof B)){throw new Error("LNumber: you can't coerce ".concat(No(e)))}if(typeof e==="number"){e=B(e)}return B.coerce(this,e)};B.getType=function(e){if(e instanceof B){return e.__type__}if(B.isFloat(e)){return"float"}if(B.isComplex(e)){return"complex"}if(B.isRational(e)){return"rational"}if(typeof e==="number"){return"integer"}if(typeof BigInt!=="undefined"&&typeof e!=="bigint"||typeof Hr!=="undefined"&&!(e instanceof Hr)){return"bigint"}};B.prototype.isFloat=function(){return!!(B.isFloat(this.__value__)||this["float"])};var Na={add:"+",sub:"-",mul:"*",div:"/",rem:"%",or:"|",and:"&",neg:"~",shl:">>",shr:"<<"};var Ta={};Object.keys(Na).forEach(function(t){Ta[Na[t]]=t;B.prototype[t]=function(e){return this.op(Na[t],e)}});B._ops={"*":function e(t,r){return t*r},"+":function e(t,r){return t+r},"-":function e(t,r){if(typeof r==="undefined"){return-t}return t-r},"/":function e(t,r){return t/r},"%":function e(t,r){return t%r},"|":function e(t,r){return t|r},"&":function e(t,r){return t&r},"~":function e(t){return~t},">>":function e(t,r){return t>>r},"<<":function e(t,r){return t<1&&arguments[1]!==undefined?arguments[1]:false;if(typeof this!=="undefined"&&!(this instanceof y)||typeof this==="undefined"){return new y(e,t)}if(e instanceof y){return y({im:e.__im__,re:e.__re__})}if(B.isNumber(e)&&t){if(!t){return Number(e)}}else if(!B.isComplex(e)){var r="Invalid constructor call for LComplex expect &(:im :re ) object but got ".concat(ou(e));throw new Error(r)}var n=e.im instanceof B?e.im:B(e.im);var i=e.re instanceof B?e.re:B(e.re);this.constant(n,i)}y.prototype=Object.create(B.prototype);y.prototype.constructor=y;y.prototype.constant=function(e,t){Object.defineProperty(this,"__im__",{value:e,enumerable:true});Object.defineProperty(this,"__re__",{value:t,enumerable:true});Object.defineProperty(this,"__type__",{value:"complex",enumerable:true})};y.prototype.serialize=function(){return{re:this.__re__,im:this.__im__}};y.prototype.toRational=function(e){var t=this.__im__,r=this.__re__;if(B.isFloat(this.__im__)){t=g(this.__im__).toRational(e)}if(B.isFloat(this.__re__)){r=g(this.__re__).toRational(e)}return y({im:t,re:r})};y.prototype.pow=function(e){e.cmp(0);if(e===0){return B(1)}var t=B(Math.atan2(this.__im__.valueOf(),this.__re__.valueOf()));var r=B(this.modulus());if(B.isComplex(e)&&e.__im__.cmp(0)!==0){var n=e.mul(Math.log(r.valueOf())).add(y.i.mul(t).mul(e));if(!B.isComplex(n)){return g(Math.E).pow(n)}var i=g(Math.E).pow(n.__re__.valueOf());return y({re:i.mul(Math.cos(n.__im__.valueOf())),im:i.mul(Math.sin(n.__im__.valueOf()))})}var u=e.__re__.cmp(0)>0;e=e.__re__.valueOf();if(B.isInteger(e)&&u){var a=this;while(--e){a=a.mul(this)}return a}var o=r.pow(e);var s=t.mul(e);return y({re:o.mul(Math.cos(s)),im:o.mul(Math.sin(s))})};y.prototype.add=function(e){return this.complex_op("add",e,function(e,t,r,n){return{re:e.add(t),im:r.add(n)}})};y.prototype.factor=function(){if(this.__im__ instanceof g||this.__im__ instanceof g){var e=this.__re__,t=this.__im__;var r,n;if(e instanceof g){r=e.toRational().mul(e.toRational())}else{r=e.mul(e)}if(t instanceof g){n=t.toRational().mul(t.toRational())}else{n=t.mul(t)}return r.add(n)}else{return this.__re__.mul(this.__re__).add(this.__im__.mul(this.__im__))}};y.prototype.modulus=function(){return this.factor().sqrt()};y.prototype.conjugate=function(){return y({re:this.__re__,im:this.__im__.sub()})};y.prototype.sqrt=function(){var e=this.modulus();var t,r;if(e.cmp(0)===0){t=r=e}else if(this.__re__.cmp(0)===1){t=g(.5).mul(e.add(this.__re__)).sqrt();r=this.__im__.div(t).div(2)}else{r=g(.5).mul(e.sub(this.__re__)).sqrt();if(this.__im__.cmp(0)===-1){r=r.sub()}t=this.__im__.div(r).div(2)}return y({im:r,re:t})};y.prototype.div=function(e){if(B.isNumber(e)&&!B.isComplex(e)){if(!(e instanceof B)){e=B(e)}var t=this.__re__.div(e);var r=this.__im__.div(e);return y({re:t,im:r})}else if(!B.isComplex(e)){throw new Error("[LComplex::div] Invalid value")}if(this.cmp(e)===0){var n=this.coerce(e),i=b(n,2),u=i[0],a=i[1];var o=u.__im__.div(a.__im__);return o.coerce(a.__re__)[0]}var s=this.coerce(e),c=b(s,2),f=c[0],l=c[1];var h=l.factor();var _=l.conjugate();var p=f.mul(_);if(!B.isComplex(p)){return p.div(h)}var d=p.__re__.op("/",h);var v=p.__im__.op("/",h);return y({re:d,im:v})};y.prototype.sub=function(e){return this.complex_op("sub",e,function(e,t,r,n){return{re:e.sub(t),im:r.sub(n)}})};y.prototype.mul=function(e){return this.complex_op("mul",e,function(e,t,r,n){var i={re:e.mul(t).sub(r.mul(n)),im:e.mul(n).add(t.mul(r))};return i})};y.prototype.complex_op=function(e,t,i){var u=this;var r=function e(t,r){var n=i(u.__re__,t,u.__im__,r);if("im"in n&&"re"in n){if(n.im.cmp(0)===0){return n.re}return y(n,true)}return n};if(typeof t==="undefined"){return r()}if(B.isNumber(t)&&!B.isComplex(t)){if(!(t instanceof B)){t=B(t)}var n=t.asType(0);t={__im__:n,__re__:t}}else if(!B.isComplex(t)){throw new Error("[LComplex::".concat(e,"] Invalid value"))}var a=t.__re__ instanceof B?t.__re__:this.__re__.asType(t.__re__);var o=t.__im__ instanceof B?t.__im__:this.__im__.asType(t.__im__);return r(a,o)};y._op={"+":"add","-":"sub","*":"mul","/":"div"};y.prototype._op=function(e,t){var r=y._op[e];return this[r](t)};y.prototype.cmp=function(e){var t=this.coerce(e),r=b(t,2),n=r[0],i=r[1];var u=n.__re__.coerce(i.__re__),a=b(u,2),o=a[0],s=a[1];var c=o.cmp(s);if(c!==0){return c}else{var f=n.__im__.coerce(i.__im__),l=b(f,2),h=l[0],_=l[1];return h.cmp(_)}};y.prototype.valueOf=function(){return[this.__re__,this.__im__].map(function(e){return e.valueOf()})};y.prototype.toString=function(){var e;if(this.__re__.cmp(0)!==0){e=[ou(this.__re__)]}else{e=[]}var t=this.__im__.valueOf();var r=[Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY].includes(t);var n=ou(this.__im__);if(!r&&!Number.isNaN(t)){var i=this.__im__.cmp(0);if(i<0||i===0&&this.__im__._minus){e.push("-")}else{e.push("+")}n=n.replace(/^-/,"")}e.push(n);e.push("i");return e.join("")};function g(e){if(typeof this!=="undefined"&&!(this instanceof g)||typeof this==="undefined"){return new g(e)}if(!B.isNumber(e)){throw new Error("Invalid constructor call for LFloat")}if(e instanceof B){return g(e.valueOf())}if(typeof e==="number"){if(Object.is(e,-0)){Object.defineProperty(this,"_minus",{value:true})}this.constant(e,"float")}}g.prototype=Object.create(B.prototype);g.prototype.constructor=g;g.prototype.toString=function(e){if(this.__value__===Number.NEGATIVE_INFINITY){return"-inf.0"}if(this.__value__===Number.POSITIVE_INFINITY){return"+inf.0"}if(Number.isNaN(this.__value__)){return"+nan.0"}e&&(e=e.valueOf());var t=this.__value__.toString(e);if(!t.match(/e[+-]?[0-9]+$/i)){var r=t.replace(/^-/,"");var n=this.__value__<0?"-":"";if(t.match(/^-?0\.0{3}/)){var i=r.match(/^[.0]+/g)[0].length-1;var u=r.replace(/^[.0]+/,"").replace(/^([0-9a-f])/i,"$1.");return"".concat(n).concat(u,"e-").concat(i.toString(e))}if(t.match(/^-?[0-9a-f]{7,}\.?/i)){var a=r.match(/^[0-9a-f]+/gi)[0].length-1;var o=r.replace(/\./,"").replace(/^([0-9a-f])/i,"$1.").replace(/0+$/,"").replace(/\.$/,".0");return"".concat(n).concat(o,"e+").concat(a.toString(e))}if(!B.isFloat(this.__value__)){var s=t+".0";return this._minus?"-"+s:s}}return t.replace(/^([0-9]+)e/,"$1.0e")};g.prototype._op=function(e,t){if(t instanceof B){t=t.__value__}var r=B._ops[e];if(e==="/"&&this.__value__===0&&t===0){return NaN}return g(r(this.__value__,t))};g.prototype.toRational=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;if(e===null){return Ra(this.__value__.valueOf())}return qa(e.valueOf())(this.__value__.valueOf())};g.prototype.sqrt=function(){var e=this.valueOf();if(this.cmp(0)<0){var t=g(Math.sqrt(-e));return y({re:0,im:t})}return g(Math.sqrt(e))};g.prototype.abs=function(){var e=this.valueOf();if(e<0){e=-e}return g(e)};var Ra=qa(1e-10);function qa(n){return function(e){var t=function e(n,t,r){var i=function e(t,r){return r0){i=za(n,r)}else if(n.cmp(r)<=0){i=r}else if(r.cmp(0)>0){i=za(r,n)}else if(t.cmp(0)<0){i=B(za(n.sub(),r.sub())).sub()}else{i=B(0)}if(B.isFloat(t)||B.isFloat(e)){return g(i)}return i}function za(e,t){var r=B(e).floor();var n=B(t).floor();if(e.cmp(r)<1){return r}else if(r.cmp(n)===0){var i=B(1).div(t.sub(n));var u=B(1).div(e.sub(r));return r.add(B(1).div(za(i,u)))}else{return r.add(B(1))}}function w(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(typeof this!=="undefined"&&!(this instanceof w)||typeof this==="undefined"){return new w(e,t)}if(!B.isRational(e)){throw new Error("Invalid constructor call for LRational")}var r,n;if(e instanceof w){r=B(e.__num__);n=B(e.__denom__)}else{r=B(e.num);n=B(e.denom)}if(!t&&n.cmp(0)!==0){var i=r.op("%",n).cmp(0)===0;if(i){return B(r.div(n))}}this.constant(r,n)}w.prototype=Object.create(B.prototype);w.prototype.constructor=w;w.prototype.constant=function(e,t){Object.defineProperty(this,"__num__",{value:e,enumerable:true});Object.defineProperty(this,"__denom__",{value:t,enumerable:true});Object.defineProperty(this,"__type__",{value:"rational",enumerable:true})};w.prototype.serialize=function(){return{num:this.__num__,denom:this.__denom__}};w.prototype.pow=function(e){if(B.isRational(e)){return La(this.valueOf(),e.valueOf())}var t=e.cmp(0);if(t===0){return B(1)}if(t===-1){e=e.sub();var r=this.__denom__.pow(e);var n=this.__num__.pow(e);return w({num:r,denom:n})}var i=this;e=e.valueOf();while(e>1){i=i.mul(this);e--}return i};w.prototype.sqrt=function(){var e=this.__num__.sqrt();var t=this.__denom__.sqrt();if(e instanceof g||t instanceof g){return e.div(t)}return w({num:e,denom:t})};w.prototype.abs=function(){var e=this.__num__;var t=this.__denom__;if(e.cmp(0)===-1){e=e.sub()}if(t.cmp(0)!==1){t=t.sub()}return w({num:e,denom:t})};w.prototype.cmp=function(e){return B(this.valueOf(),true).cmp(e)};w.prototype.toString=function(){var e=this.__num__.gcd(this.__denom__);var t,r;if(e.cmp(1)!==0){t=this.__num__.div(e);if(t instanceof w){t=B(t.valueOf(true))}r=this.__denom__.div(e);if(r instanceof w){r=B(r.valueOf(true))}}else{t=this.__num__;r=this.__denom__}var n=this.cmp(0)<0;if(n){if(t.abs().cmp(r.abs())===0){return t.toString()}}else if(t.cmp(r)===0){return t.toString()}return t.toString()+"/"+r.toString()};w.prototype.valueOf=function(e){if(this.__denom__.cmp(0)===0){if(this.__num__.cmp(0)<0){return Number.NEGATIVE_INFINITY}return Number.POSITIVE_INFINITY}if(e){return B._ops["/"](this.__num__.value,this.__denom__.value)}return g(this.__num__.valueOf()).div(this.__denom__.valueOf())};w.prototype.mul=function(e){if(!(e instanceof B)){e=B(e)}if(B.isRational(e)){var t=this.__num__.mul(e.__num__);var r=this.__denom__.mul(e.__denom__);return w({num:t,denom:r})}var n=B.coerce(this,e),i=b(n,2),u=i[0],a=i[1];return u.mul(a)};w.prototype.div=function(e){if(!(e instanceof B)){e=B(e)}if(B.isRational(e)){var t=this.__num__.mul(e.__denom__);var r=this.__denom__.mul(e.__num__);return w({num:t,denom:r})}var n=B.coerce(this,e),i=b(n,2),u=i[0],a=i[1];var o=u.div(a);return o};w.prototype._op=function(e,t){return this[Ta[e]](t)};w.prototype.sub=function(e){if(typeof e==="undefined"){return this.mul(-1)}if(!(e instanceof B)){e=B(e)}if(B.isRational(e)){var t=e.__num__.sub();var r=e.__denom__;return this.add(w({num:t,denom:r}))}if(!(e instanceof B)){e=B(e).sub()}else{e=e.sub()}var n=B.coerce(this,e),i=b(n,2),u=i[0],a=i[1];return u.add(a)};w.prototype.add=function(e){if(!(e instanceof B)){e=B(e)}if(B.isRational(e)){var t=this.__denom__;var r=e.__denom__;var n=this.__num__;var i=e.__num__;var u,a;if(t!==r){a=r.mul(n).add(i.mul(t));u=t.mul(r)}else{a=n.add(i);u=t}return w({num:a,denom:u})}if(B.isFloat(e)){return g(this.valueOf()).add(e)}var o=B.coerce(this,e),s=b(o,2),c=s[0],f=s[1];return c.add(f)};function E(e,t){if(typeof this!=="undefined"&&!(this instanceof E)||typeof this==="undefined"){return new E(e,t)}if(e instanceof E){return E(e.__value__,e._native)}if(!B.isBigInteger(e)){throw new Error("Invalid constructor call for LBigInteger")}this.constant(e,"bigint");Object.defineProperty(this,"_native",{value:t})}E.prototype=Object.create(B.prototype);E.prototype.constructor=E;E.bn_op={"+":"iadd","-":"isub","*":"imul","/":"idiv","%":"imod","|":"ior","&":"iand","~":"inot","<<":"ishrn",">>":"ishln"};E.prototype.serialize=function(){return this.__value__.toString()};E.prototype._op=function(e,t){if(typeof t==="undefined"){if(B.isBN(this.__value__)){e=E.bn_op[e];return E(this.__value__.clone()[e](),false)}return E(B._ops[e](this.__value__),true)}if(B.isBN(this.__value__)&&B.isBN(t.__value__)){e=E.bn_op[e];return E(this.__value__.clone()[e](t),false)}var r=B._ops[e](this.__value__,t.__value__);if(e==="/"){var n=this.op("%",t).cmp(0)===0;if(n){return B(r)}return w({num:this,denom:t})}return E(r,true)};E.prototype.sqrt=function(){var e;var t=this.cmp(0)<0;if(B.isNative(this.__value__)){e=B(Math.sqrt(t?-this.valueOf():this.valueOf()))}else if(B.isBN(this.__value__)){e=t?this.__value__.neg().sqrt():this.__value__.sqrt()}if(t){return y({re:0,im:e})}return e};B.NaN=B(NaN);y.i=y({im:1,re:0});function Va(e){var n=this;if(typeof this!=="undefined"&&!(this instanceof Va)||typeof this==="undefined"){return new Va(e)}A("InputPort",e,"function");c(this,"__type__",to);var i;Object.defineProperty(this,"__parser__",{enumerable:true,get:function e(){return i},set:function e(t){A("InputPort::__parser__",t,"parser");i=t}});this._read=e;this._with_parser=this._with_init_parser.bind(this,ie(O.mark(function e(){var r;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(n.char_ready()){t.next=5;break}t.next=3;return n._read();case 3:r=t.sent;i=new li(r,{env:n});case 5:return t.abrupt("return",n.__parser__);case 6:case"end":return t.stop()}},e)})));this.char_ready=function(){return!!this.__parser__&&this.__parser__.__lexer__.peek()!==ro};this._make_defaults()}Va.prototype._make_defaults=function(){this.read=this._with_parser(function(e){return e.read_object()});this.read_line=this._with_parser(function(e){return e.__lexer__.read_line()});this.read_char=this._with_parser(function(e){return e.__lexer__.read_char()});this.read_string=this._with_parser(function(e,t){if(!B.isInteger(t)){var r=B.getType(t);Co("read-string",r,"integer")}return e.__lexer__.read_string(t.valueOf())});this.peek_char=this._with_parser(function(e){return e.__lexer__.peek_char()})};Va.prototype._with_init_parser=function(o,s){var c=this;return ie(O.mark(function e(){var r,n,i,u,a=arguments;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:t.next=2;return o.call(c);case 2:r=t.sent;for(n=a.length,i=new Array(n),u=0;u"};function $a(e){if(typeof this!=="undefined"&&!(this instanceof $a)||typeof this==="undefined"){return new $a(e)}A("OutputPort",e,"function");c(this,"__type__",to);this.write=e}$a.prototype.is_open=function(){return this._closed!==true};$a.prototype.close=function(){Object.defineProperty(this,"_closed",{get:function e(){return true},set:function e(){},configurable:false,enumerable:false});this.write=function(){throw new Error("output-port: port is closed")}};$a.prototype.flush=function(){};$a.prototype.toString=function(){return"#"};var Ya=function(e){W(r,e);function r(e){var t;ue(this,r);t=Pr(this,r,[function(){var e;return(e=t)._write.apply(e,arguments)}]);A("BufferedOutputPort",e,"function");c(M(t),"_fn",e,{hidden:true});c(M(t),"_buffer",[],{hidden:true});return t}ce(r,[{key:"flush",value:function e(){if(this._buffer.length){this._fn(this._buffer.join(""));this._buffer.length=0}}},{key:"_write",value:function e(){var t=this;for(var r=arguments.length,n=new Array(r),i=0;i"};Ja.prototype.valueOf=function(){return this.__buffer__.map(function(e){return e.valueOf()}).join("")};function Ka(e,t){var r=this;if(typeof this!=="undefined"&&!(this instanceof Ka)||typeof this==="undefined"){return new Ka(e,t)}A("OutputFilePort",e,"string");c(this,"__filename__",e);c(this,"_fd",t.valueOf(),{hidden:true});c(this,"__type__",to);this.write=function(e){if(!x.isString(e)){e=ou(e)}else{e=e.valueOf()}r.fs().write(r._fd,e,function(e){if(e){throw e}})}}Ka.prototype=Object.create($a.prototype);Ka.prototype.constructor=Ka;Ka.prototype.fs=function(){if(!this._fs){this._fs=this.internal("fs")}return this._fs};Ka.prototype.internal=function(e){return yo.get("**internal-env**").get(e)};Ka.prototype.close=function(){var n=this;return new Promise(function(t,r){n.fs().close(n._fd,function(e){if(e){r(e)}else{c(n,"_fd",null,{hidden:true});$a.prototype.close.call(n);t()}})})};Ka.prototype.toString=function(){return"#")};function Ha(e,t){var r=this;if(typeof this!=="undefined"&&!(this instanceof Ha)||typeof this==="undefined"){return new Ha(e)}A("InputStringPort",e,"string");t=t||G;e=e.valueOf();this._with_parser=this._with_init_parser.bind(this,function(){if(!r.__parser__){r.__parser__=new li(e,{env:t})}return r.__parser__});c(this,"__type__",to);this._make_defaults()}Ha.prototype.char_ready=function(){return true};Ha.prototype=Object.create(Va.prototype);Ha.prototype.constructor=Ha;Ha.prototype.toString=function(){return"#"};function Ga(e){if(typeof this!=="undefined"&&!(this instanceof Ga)||typeof this==="undefined"){return new Ga(e)}A("InputByteVectorPort",e,"uint8array");c(this,"__vector__",e);c(this,"__type__",eo);var r=0;Object.defineProperty(this,"__index__",{enumerable:true,get:function e(){return r},set:function e(t){A("InputByteVectorPort::__index__",t,"number");if(t instanceof B){t=t.valueOf()}if(typeof t==="bigint"){t=Number(t)}if(Math.floor(t)!==t){throw new Error("InputByteVectorPort::__index__ value is "+"not integer")}r=t}})}Ga.prototype=Object.create(Va.prototype);Ga.prototype.constructor=Ga;Ga.prototype.toString=function(){return"#"};Ga.prototype.close=function(){var t=this;c(this,"__vector__",$);var r=function e(){throw new Error("Input-binary-port: port is closed")};["read_u8","close","peek_u8","read_u8_vector"].forEach(function(e){t[e]=r});this.u8_ready=this.char_ready=function(){return false}};Ga.prototype.u8_ready=function(){return true};Ga.prototype.peek_u8=function(){if(this.__index__>=this.__vector__.length){return ro}return this.__vector__[this.__index__]};Ga.prototype.skip=function(){if(this.__index__<=this.__vector__.length){++this.__index__}};Ga.prototype.read_u8=function(){var e=this.peek_u8();this.skip();return e};Ga.prototype.read_u8_vector=function(e){if(typeof e==="undefined"){e=this.__vector__.length}else if(e>this.__index__+this.__vector__.length){e=this.__index__+this.__vector__.length}if(this.peek_u8()===ro){return ro}return this.__vector__.slice(this.__index__,e)};function Wa(){if(typeof this!=="undefined"&&!(this instanceof Wa)||typeof this==="undefined"){return new Wa}c(this,"__type__",eo);c(this,"_buffer",[],{hidden:true});this.write=function(e){A("write",e,["number","uint8array"]);if(B.isNumber(e)){this._buffer.push(e.valueOf())}else{var t;(t=this._buffer).push.apply(t,q(Array.from(e)))}};Object.defineProperty(this,"__buffer__",{enumerable:true,get:function e(){return Uint8Array.from(this._buffer)}})}Wa.prototype=Object.create($a.prototype);Wa.prototype.constructor=Wa;Wa.prototype.close=function(){$a.prototype.close.call(this);c(this,"_buffer",null,{hidden:true})};Wa.prototype._close_guard=function(){if(this._closed){throw new Error("output-port: binary port is closed")}};Wa.prototype.write_u8=function(e){A("OutputByteVectorPort::write_u8",e,"number");this.write(e)};Wa.prototype.write_u8_vector=function(e){A("OutputByteVectorPort::write_u8_vector",e,"uint8array");this.write(e)};Wa.prototype.toString=function(){return"#"};Wa.prototype.valueOf=function(){return this.__buffer__};function Qa(e,t){if(typeof this!=="undefined"&&!(this instanceof Qa)||typeof this==="undefined"){return new Qa(e,t)}Ha.call(this,e);A("InputFilePort",t,"string");c(this,"__filename__",t)}Qa.prototype=Object.create(Ha.prototype);Qa.prototype.constructor=Qa;Qa.prototype.toString=function(){return"#")};function Za(e,t){if(typeof this!=="undefined"&&!(this instanceof Za)||typeof this==="undefined"){return new Za(e,t)}Ga.call(this,e);A("InputBinaryFilePort",t,"string");c(this,"__filename__",t)}Za.prototype=Object.create(Ga.prototype);Za.prototype.constructor=Za;Za.prototype.toString=function(){return"#")};function Xa(e,t){var i=this;if(typeof this!=="undefined"&&!(this instanceof Xa)||typeof this==="undefined"){return new Xa(e,t)}A("OutputBinaryFilePort",e,"string");c(this,"__filename__",e);c(this,"_fd",t.valueOf(),{hidden:true});c(this,"__type__",eo);var u;this.write=function(e){A("write",e,["number","uint8array"]);var n;if(!u){u=i.internal("fs")}if(B.isNumber(e)){n=new Uint8Array([e.valueOf()])}else{n=new Uint8Array(Array.from(e))}return new Promise(function(t,r){u.write(i._fd,n,function(e){if(e){r(e)}else{t()}})})}}Xa.prototype=Object.create(Ka.prototype);Xa.prototype.constructor=Xa;Xa.prototype.write_u8=function(e){A("OutputByteVectorPort::write_u8",e,"number");this.write(e)};Xa.prototype.write_u8_vector=function(e){A("OutputByteVectorPort::write_u8_vector",e,"uint8array");this.write(e)};var eo=Symbol["for"]("binary");var to=Symbol["for"]("text");var ro=new no;function no(){}no.prototype.toString=function(){return"#"};function io(e){var t=this;var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},n=r.stderr,i=r.stdin,u=r.stdout,a=r.command_line,o=a===void 0?null:a,s=he(r,Or);if(typeof this!=="undefined"&&!(this instanceof io)||typeof this==="undefined"){return new io(e,U({stdin:i,stdout:u,stderr:n,command_line:o},s))}if(typeof e==="undefined"){e="anonymous"}this.__env__=yo.inherit(e,s);this.__env__.set("parent.frame",l("parent.frame",function(){return t.__env__},G.__env__["parent.frame"].__doc__));var c="**interaction-environment-defaults**";this.set(c,ru(s).concat(c));var f=po.inherit("internal-".concat(e));if(Wu(i)){f.set("stdin",i)}if(Wu(n)){f.set("stderr",n)}if(Wu(u)){f.set("stdout",u)}f.set("command-line",o);go(this.__env__,f)}io.prototype.exec=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var r=t.use_dynamic,n=r===void 0?false:r,i=t.dynamic_env,u=t.env;A("Interpreter::exec",e,["string","array"],1);A("Interpreter::exec",n,"boolean",2);if(!u){u=this.__env__}if(!i){i=u}G.set("**interaction-environment**",this.__env__);return Go(e,{env:u,dynamic_env:i,use_dynamic:n})};io.prototype.get=function(e){var t=this.__env__.get(e);if(d(t)){var r=new Yo({env:this.__env__});return t.bind(r)}return t};io.prototype.set=function(e,t){return this.__env__.set(e,t)};io.prototype.constant=function(e,t){return this.__env__.constant(e,t)};function uo(e,t){this.name="LipsError";this.message=e;this.args=t;this.stack=(new Error).stack}uo.prototype=new Error;uo.prototype.constructor=uo;var ao=function(e){W(t,e);function t(){ue(this,t);return Pr(this,t,arguments)}return ce(t)}(r(Error));function F(e,t,r){if(arguments.length===1){if(_(arguments[0])==="object"){e=arguments[0];t=null}else if(typeof arguments[0]==="string"){e={};t=null;r=arguments[0]}}this.__docs__=new Map;this.__env__=e;this.__parent__=t;this.__name__=r||"anonymous"}F.prototype.list=function(){return ru(this.__env__)};F.prototype.fs=function(){return this.get("**fs**")};F.prototype.unset=function(e){if(e instanceof V){e=e.valueOf()}if(e instanceof x){e=e.valueOf()}delete this.__env__[e]};F.prototype.inherit=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(_(e)==="object"){t=e}if(!e||_(e)==="object"){e="child of "+(this.__name__||"unknown")}return new F(t||{},this,e)};F.prototype.doc=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(e instanceof V){e=e.__name__}if(e instanceof x){e=e.valueOf()}if(t){if(!r){t=bi(t)}this.__docs__.set(e,t);return this}if(this.__docs__.has(e)){return this.__docs__.get(e)}if(this.__parent__){return this.__parent__.doc(e)}};F.prototype.new_frame=function(e,t){var n=this.inherit("__frame__");n.set("parent.frame",l("parent.frame",function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:1;e=e.valueOf();var t=n.__parent__;if(!ju(t)){return $}if(e<=0){return t}var r=t.get("parent.frame");return r(e-1)},G.__env__["parent.frame"].__doc__));t.callee=e;n.set("arguments",t);return n};F.prototype._lookup=function(e){if(e instanceof V){e=e.__name__}if(e instanceof x){e=e.valueOf()}if(this.__env__.hasOwnProperty(e)){return oo(this.__env__[e])}if(this.__parent__){return this.__parent__._lookup(e)}};F.prototype.toString=function(){return"#"};F.prototype.clone=function(){var t=this;var r={};Object.keys(this.__env__).forEach(function(e){r[e]=t.__env__[e]});return new F(r,this.__parent__,this.__name__)};F.prototype.merge=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"merge";A("Environment::merge",e,"environment");return this.inherit(t,e.__env__)};function oo(e){if(typeof this!=="undefined"&&!(this instanceof oo)||typeof this==="undefined"){return new oo(e)}this.value=e}oo.isUndefined=function(e){return e instanceof oo&&typeof e.value==="undefined"};oo.prototype.valueOf=function(){return this.value};function so(e){if(!e.length){return}if(e.length===1){return e[0]}if(typeof this!=="undefined"&&!(this instanceof so)||typeof this==="undefined"){return new so(e)}this.__values__=e}so.prototype.toString=function(){return this.__values__.map(function(e){return ou(e)}).join("\n")};so.prototype.valueOf=function(){return this.__values__};F.prototype.get=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};A("Environment::get",e,["symbol","string"]);var r=t.throwError,n=r===void 0?true:r;var i=e;if(i instanceof V||i instanceof x){i=i.valueOf()}var u=this._lookup(i);if(u instanceof oo){if(oo.isUndefined(u)){return undefined}return $u(u.valueOf())}var a;if(e instanceof V&&e[V.object]){a=e[V.object]}else if(typeof i==="string"){a=i.split(".").filter(Boolean)}if(a&&a.length>0){var o=a,s=re(o),c=s[0],f=s.slice(1);u=this._lookup(c);if(f.length){try{if(u instanceof oo){u=u.valueOf()}else{u=lo(zr,c);if(d(u)){u=Yu(u)}}if(typeof u!=="undefined"){return lo.apply(void 0,[u].concat(q(f)))}}catch(e){throw e}}else if(u instanceof oo){return $u(u.valueOf())}u=lo(zr,i)}if(typeof u!=="undefined"){return u}if(n){throw new Error("Unbound variable `"+i.toString()+"'")}};F.prototype.set=function(e,t){var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;A("Environment::set",e,["string","symbol"]);if(B.isNumber(t)){t=B(t)}if(e instanceof V){e=e.__name__}if(e instanceof x){e=e.valueOf()}this.__env__[e]=t;if(r){this.doc(e,r,true)}return this};F.prototype.constant=function(t,e){var r=this;if(this.__env__.hasOwnProperty(t)){throw new Error("Environment::constant: ".concat(t," already exists"))}if(arguments.length===1&&Hi(arguments[0])){var n=arguments[0];Object.keys(n).forEach(function(e){r.constant(t,n[e])})}else{Object.defineProperty(this.__env__,t,{value:e,enumerable:true})}return this};F.prototype.has=function(e){return this.__env__.hasOwnProperty(e)};F.prototype.ref=function(e){var t=this;while(true){if(!t){break}if(t.has(e)){return t}t=t.__parent__}};F.prototype.parents=function(){var e=this;var t=[];while(e){t.unshift(e);e=e.__parent__}return t};function co(e){if(Pu(e)){return e.then(co)}if(H(e)||e instanceof V){e[ea]=true}return e}var fo=_i(Jn('(lambda ()\n "[native code]"\n (throw "Invalid Invocation"))'))[0];var lo=l("get",function e(t){var r;for(var n=arguments.length,i=new Array(n>1?n-1:0),u=1;u0&&arguments[0]!==undefined?arguments[0]:null;if(e===null){e=ho(this,"stdin")}Io("peek-char",e,"input-port");return e.peek_char()},"(peek-char port)\n\n This function reads and returns a character from the string\n port, or, if there is no more data in the string port, it\n returns an EOF."),"read-line":l("read-line",function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;if(e===null){e=ho(this,"stdin")}Io("read-line",e,"input-port");return e.read_line()},"(read-line port)\n\n This function reads and returns the next line from the input\n port."),"read-char":l("read-char",function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;if(e===null){e=ho(this,"stdin")}Io("read-char",e,"input-port");return e.read_char()},"(read-char port)\n\n This function reads and returns the next character from the\n input port."),read:l("read",function(){var e=ie(function(){var i=this;var u=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;return O.mark(function e(){var r,n;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:r=i.env;if(u===null){n=ho(r,"stdin")}else{n=u}Io("read",n,"input-port");return t.abrupt("return",n.read.call(r));case 4:case"end":return t.stop()}},e)})()});function t(){return e.apply(this,arguments)}return t}(),"(read [port])\n\n This function, if called with a port, it will parse the next\n item from the port. If called without an input, it will read\n a string from standard input (using the browser's prompt or\n a user defined input method) and parse it. This function can be\n used together with `eval` to evaluate code from port."),pprint:l("pprint",function e(t){if(H(t)){t=new js.Formatter(t.toString(true))["break"]().format();G.get("display").call(G,t)}else{G.get("write").call(G,t)}G.get("newline").call(G)},"(pprint expression)\n\n This function will pretty print its input to stdout. If it is called\n with a non-list, it will just call the print function on its\n input."),print:l("print",function e(){var t=G.get("display");var r=G.get("newline");var n=this.use_dynamic;var i=G;var u=G;for(var a=arguments.length,o=new Array(a),s=0;s1?r-1:0),i=1;in.length){throw new Error("Not enough arguments")}var o=0;var s=G.get("repr");t=t.replace(u,function(e){var t=e[1];if(t==="~"){return"~"}else if(t==="%"){return"\n"}else{var r=n[o++];if(t==="a"){return s(r)}else{return s(r,true)}}});a=t.match(/~([\S])/);if(a){throw new Error("format: Unrecognized escape sequence ".concat(a[1]))}return t},"(format string n1 n2 ...)\n\n This function accepts a string template and replaces any\n escape sequences in its inputs:\n\n * ~a value as if printed with `display`\n * ~s value as if printed with `write`\n * ~% newline character\n * ~~ literal tilde '~'\n\n If there are missing inputs or other escape characters it\n will error."),display:l("display",function e(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;if(r===null){r=ho(this,"stdout")}else{A("display",r,"output-port")}var n=t;if(!(r instanceof Xa)){n=G.get("repr")(t)}r.write.call(G,n)},"(display string [port])\n\n This function outputs the string to the standard output or\n the port if given. No newline."),"display-error":l("display-error",function e(){var t=ho(this,"stderr");var r=G.get("repr");for(var n=arguments.length,i=new Array(n),u=0;u1&&arguments[1]!==undefined?arguments[1]:{},r=t.use_dynamic,n=he(t,Cr);var i=this;var a=this;var o;var s=U(U({},n),{},{env:this,dynamic_env:i,use_dynamic:r});var c=k(e.cdr.car,s);c=To(c);function f(t,r,n){if(Pu(t)){return t.then(function(e){return f(t,e,n)})}if(Pu(r)){return r.then(function(e){return f(t,e,n)})}if(Pu(n)){return n.then(function(e){return f(t,r,e)})}a.get("set-obj!").call(a,t,r,n);return n}if(H(e.car)&&V.is(e.car.car,".")){var l=e.car.cdr.car;var h=e.car.cdr.cdr.car;var _=k(l,s);var p=k(h,s);return f(_,p,c)}if(!(e.car instanceof V)){throw new Error("set! first argument need to be a symbol or "+"dot accessor that evaluate to object.")}var d=e.car.valueOf();o=this.ref(e.car.__name__);return D(c,function(e){if(!o){var t=d.split(".");if(t.length>1){var r=t.pop();var n=t.join(".");var i=u.get(n,{throwError:false});if(i){f(i,r,e);return}}throw new Error("Unbound variable `"+d+"'")}o.set(d,e)})}),"(set! name value)\n\n Macro that can be used to set the value of the variable or slot (mutate it).\n set! searches the scope chain until it finds first non empty slot and sets it."),"unset!":l(new J("set!",function(e){if(!(e.car instanceof V)){throw new Error("unset! first argument need to be a symbol or "+"dot accessor that evaluate to object.")}var t=e.car;var r=this.ref(t);if(r){delete r.__env__[t.__name__]}}),"(unset! name)\n\n Function to delete the specified name from environment.\n Trying to access the name afterwards will error."),"set-car!":l("set-car!",function(e,t){A("set-car!",e,"pair");e.car=t},"(set-car! obj value)\n\n Function that sets the car (first item) of the list/pair to specified value.\n The old value is lost."),"set-cdr!":l("set-cdr!",function(e,t){A("set-cdr!",e,"pair");e.cdr=t},"(set-cdr! obj value)\n\n Function that sets the cdr (tail) of the list/pair to specified value.\n It will destroy the list. The old tail is lost."),"empty?":l("empty?",function(e){return typeof e==="undefined"||K(e)},"(empty? object)\n\n Function that returns #t if value is nil (an empty list) or undefined."),gensym:l("gensym",Qn,"(gensym)\n\n Generates a unique symbol that is not bound anywhere,\n to use with macros as meta name."),load:l("load",function e(o,t){A("load",o,"string");var s=this;if(s.__name__==="__frame__"){s=s.__parent__}if(!(t instanceof F)){if(s===G){t=s}else{t=this.get("**interaction-environment**")}}var c="**module-path**";var f=G.get(c,{throwError:false});o=o.valueOf();if(!o.match(/.[^.]+$/)){o+=".scm"}var r=o.match(/\.xcb$/);function l(e){if(r){e=xs(e)}else{if(No(e)==="buffer"){e=e.toString()}e=e.replace(/^#!.*/,"");if(e.match(/^\{/)){e=vs(e)}}return Go(e,{env:t})}function n(e){return zr.fetch(e).then(function(e){return r?e.arrayBuffer():e.text()}).then(function(e){if(r){e=new Uint8Array(e)}return e})}if(Fo()){return new Promise(function(){var r=ie(O.mark(function e(r,n){var i,u,a;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:i=Kr("path");if(!f){t.next=6;break}f=f.valueOf();o=i.join(f,o);t.next=12;break;case 6:u=s.get("command-line",{throwError:false});if(!u){t.next=11;break}t.next=10;return u();case 10:a=t.sent;case 11:if(a&&!K(a)){process.cwd();o=i.join(i.dirname(a.car.valueOf()),o)}case 12:G.set(c,i.dirname(o));Kr("fs").readFile(o,function(e,t){if(e){n(e);G.set(c,f)}else{try{l(t).then(function(){r();G.set(c,f)})["catch"](n)}catch(e){n(e)}}});case 14:case"end":return t.stop()}},e)}));return function(e,t){return r.apply(this,arguments)}}())}if(f){f=f.valueOf();o=f+"/"+o.replace(/^\.?\/?/,"")}return n(o).then(function(e){G.set(c,o.replace(/\/[^/]*$/,""));return l(e)}).then(function(){})["finally"](function(){G.set(c,f)})},"(load filename)\n (load filename environment)\n\n Fetches the file (from disk or network) and evaluates its content as LIPS code.\n If the second argument is provided and it's an environment the evaluation\n will happen in that environment."),while:l(new J("while",function(e,t){var r=e.car;var n=U(U({},t),{},{env:this});var i=new Y(new V("begin"),e.cdr);return function t(){return D(k(r,n),function(e){if(e){return D(k(i,n),t)}})}()}),"(while cond body)\n\n Creates a loop, it executes cond and body until cond expression is false."),do:l(new J("do",function(){var r=ie(function(h,e){var _=this;var p=e.use_dynamic,d=e.error;return O.mark(function e(){var o,r,s,c,n,f,l,i,u,a;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:o=_;r=o;s=o.inherit("do");c=h.car;n=h.cdr.car;f=h.cdr.cdr;if(!K(f)){f=new Y(V("begin"),f)}l={env:o,dynamic_env:r,use_dynamic:p,error:d};i=c;case 9:if(K(i)){t.next=20;break}u=i.car;t.t0=s;t.t1=u.car;t.next=15;return k(u.cdr.car,l);case 15:t.t2=t.sent;t.t0.set.call(t.t0,t.t1,t.t2);i=i.cdr;t.next=9;break;case 20:l={env:s,dynamic_env:r,error:d};a=O.mark(function e(){var r,n,i,u,a;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(K(f)){t.next=3;break}t.next=3;return js.evaluate(f,l);case 3:r=c;n={};case 5:if(K(r)){t.next=15;break}i=r.car;if(K(i.cdr.cdr)){t.next=12;break}t.next=10;return k(i.cdr.cdr.car,l);case 10:u=t.sent;n[i.car.valueOf()]=u;case 12:r=r.cdr;t.next=5;break;case 15:a=Object.getOwnPropertySymbols(n);l.env=s=o.inherit("do");Object.keys(n).concat(a).forEach(function(e){s.set(e,n[e])});case 18:case"end":return t.stop()}},e)});case 22:t.next=24;return k(n.car,l);case 24:t.t3=t.sent;if(!(t.t3===false)){t.next=29;break}return t.delegateYield(a(),"t4",27);case 27:t.next=22;break;case 29:if(K(n.cdr)){t.next=33;break}t.next=32;return k(n.cdr.car,l);case 32:return t.abrupt("return",t.sent);case 33:case"end":return t.stop()}},e)})()});return function(e,t){return r.apply(this,arguments)}}()),"(do (( )) (test return) . body)\n\n Iteration macro that evaluates the expression body in scope of the variables.\n On each loop it changes the variables according to the expression and runs\n test to check if the loop should continue. If test is a single value, the macro\n will return undefined. If the test is a pair of expressions the macro will\n evaluate and return the second expression after the loop exits."),if:l(new J("if",function(r,e){var t=e.error,n=e.use_dynamic;var i=this;var u=this;var a={env:u,dynamic_env:i,use_dynamic:n,error:t};var o=function e(t){if(Fu(t)){return k(r.cdr.cdr.car,a)}else{return k(r.cdr.car,a)}};if(K(r)){throw new Error("too few expressions for `if`")}var s=k(r.car,a);return D(s,o)}),"(if cond true-expr false-expr)\n\n Macro that evaluates cond expression and if the value is true, it\n evaluates and returns true-expression, if not it evaluates and returns\n false-expression."),"let-env":new J("let-env",function(t){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var r=e.dynamic_env,n=e.use_dynamic,i=e.error;A("let-env",t,"pair");var u=k(t.car,{env:this,dynamic_env:r,error:i,use_dynamic:n});return D(u,function(e){A("let-env",e,"environment");return k(Y(V("begin"),t.cdr),{env:e,dynamic_env:r,error:i})})},"(let-env env . body)\n\n Special macro that evaluates body in context of given environment\n object."),letrec:l(da(Symbol["for"]("letrec")),"(letrec ((a value-a) (b value-b) ...) . body)\n\n Macro that creates a new environment, then evaluates and assigns values to\n names and then evaluates the body in context of that environment.\n Values are evaluated sequentially and the next value can access the\n previous values/names."),"letrec*":l(da(Symbol["for"]("letrec")),"(letrec* ((a value-a) (b value-b) ...) . body)\n\n Same as letrec but the order of execution of the binding is guaranteed,\n so you can use recursive code as well as referencing the previous binding.\n\n In LIPS both letrec and letrec* behave the same."),"let*":l(da(Symbol["for"]("let*")),"(let* ((a value-a) (b value-b) ...) . body)\n\n Macro similar to `let`, but the subsequent bindings after the first\n are evaluated in the environment including the previous let variables,\n so you can define one variable, and use it in the next's definition."),let:l(da(Symbol["for"]("let")),"(let ((a value-a) (b value-b) ...) . body)\n\n Macro that creates a new environment, then evaluates and assigns values to names,\n and then evaluates the body in context of that environment. Values are evaluated\n sequentially but you can't access previous values/names when the next are\n evaluated. You can only get them in the body of the let expression. (If you want\n to define multiple variables and use them in each other's definitions, use\n `let*`.)"),"begin*":l(va("begin*",function(e){return e.pop()}),"(begin* . body)\n\n This macro is a parallel version of begin. It evaluates each expression\n in the body and if it's a promise it will await it in parallel and return\n the value of the last expression (i.e. it uses Promise.all())."),shuffle:l("shuffle",function(e){A("shuffle",e,["pair","nil","array"]);var t=G.get("random");if(K(e)){return $}if(Array.isArray(e)){return $i(e.slice(),t)}var r=G.get("list->array")(e);r=$i(r,t);return G.get("array->list")(r)},"(shuffle obj)\n\n Order items in vector or list in random order."),begin:l(new J("begin",function(e,t){var n=U(U({},t),{},{env:this});var i=G.get("list->array")(e);var u;return function t(){if(i.length){var e=i.shift();var r=k(e,n);return D(r,function(e){u=e;return t()})}else{return u}}()}),"(begin . args)\n\n Macro that runs a list of expressions in order and returns the value\n of the last one. It can be used in places where you can only have a\n single expression, like (if)."),ignore:new J("ignore",function(e,t){var r=U(U({},t),{},{env:this,dynamic_env:this});k(new Y(new V("begin"),e),r)},"(ignore . body)\n\n Macro that will evaluate the expression and swallow any promises that may\n be created. It will discard any value that may be returned by the last body\n expression. The code should have side effects and/or when it's promise\n it should resolve to undefined."),"call/cc":l(J.defmacro("call/cc",function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var r=U({env:this},t);return D(k(e.car,r),function(e){if(d(e)){return e(new Ko(null))}})}),"(call/cc proc)\n\n Call-with-current-continuation.\n\n NOT SUPPORTED BY LIPS RIGHT NOW"),parameterize:l(new J("parameterize",function(t,e){var i=e.dynamic_env;var u=i.inherit("parameterize").new_frame(null,{});var a=U(U({},e),{},{env:this});var o=t.car;if(!H(o)){var r=No(o);throw new Error("Invalid syntax for parameterize expecting pair got ".concat(r))}function s(){var e=new Y(new V("begin"),t.cdr);return k(e,U(U({},a),{},{dynamic_env:u}))}return function r(){var e=o.car;var n=e.car.valueOf();return D(k(e.cdr.car,a),function(e){var t=i.get(n,{throwError:false});if(!Su(t)){throw new Error("Unknown parameter ".concat(n))}u.set(n,t.inherit(e));if(!Eu(o.cdr)){o=o.cdr;return r()}else{return s()}})}()}),"(parameterize ((name value) ...)\n\n Macro that change the dynamic variable created by make-parameter."),"make-parameter":l(new J("make-parameter",function(e,t){t.dynamic_env;var r=k(e.car,t);var n;if(H(e.cdr.car)){n=k(e.cdr.car,t)}return new $o(r,n)}),"(make-parameter init converter)\n\n Function creates new dynamic variable that can be custimized with parameterize\n macro. The value should be assigned to a variable e.g.:\n\n (define radix (make-parameter 10))\n\n The result value is a procedure that return the value of dynamic variable."),"define-syntax-parameter":l(new J("define-syntax-parameter",function(e,t){var r=e.car;var n=this;if(!(r instanceof V)){throw new Error("define-syntax-parameter: invalid syntax expecting symbol got ".concat(No(r)))}var i=k(e.cdr.car,U({env:n},t));A("define-syntax-parameter",i,"syntax",2);i.__name__=r.valueOf();if(i.__name__ instanceof x){i.__name__=i.__name__.valueOf()}var u;if(H(e.cdr.cdr)&&x.isString(e.cdr.cdr.car)){u=e.cdr.cdr.car.valueOf()}n.set(e.car,new bu(i),u,true)}),"(define-syntax-parameter name syntax [__doc__])\n\n Binds to the transformer obtained by evaluating .\n The transformer provides the default expansion for the syntax parameter,\n and in the absence of syntax-parameterize, is functionally equivalent to\n define-syntax."),"syntax-parameterize":l(new J("syntax-parameterize",function(e,t){var r=G.get("list->array")(e.car);var n=this.inherit("syntax-parameterize");while(r.length){var i=r.shift();if(!(H(i)||i.car instanceof V)){var u="invalid syntax for syntax-parameterize: ".concat(Ki(e,true));throw new Error("syntax-parameterize: ".concat(u))}var a=k(i.cdr.car,U(U({},t),{},{env:this}));var o=i.car;A("syntax-parameterize",a,["syntax"]);A("syntax-parameterize",o,"symbol");a.__name__=o.valueOf();if(a.__name__ instanceof x){a.__name__=a.__name__.valueOf()}var s=new bu(a);if(o.is_gensym()){var c=o.literal();var f=this.get(c,{throwError:false});if(f instanceof bu){n.set(c,s)}}n.set(o,s)}var l=new Y(new V("begin"),e.cdr);return k(l,U(U({},t),{},{env:n}))}),"(syntax-parameterize (bindings) body)\n\n Macro work similar to let-syntax but the the bindnds will be exposed to the user.\n With syntax-parameterize you can define anaphoric macros."),define:l(J.defmacro("define",function(r,e){var n=this;if(H(r.car)&&r.car.car instanceof V){var t=new Y(new V("define"),new Y(r.car.car,new Y(new Y(new V("lambda"),new Y(r.car.cdr,r.cdr)))));return t}else if(e.macro_expand){return}e.dynamic_env=this;e.env=n;var i=r.cdr.car;var u;if(H(i)){i=k(i,e);u=true}else if(i instanceof V){i=n.get(i)}A("define",r.car,"symbol");return D(i,function(e){if(n.__name__===gu.__merge_env__){n=n.__parent__}if(u&&(d(e)&&la(e)||e instanceof gu||Su(e))){e.__name__=r.car.valueOf();if(e.__name__ instanceof x){e.__name__=e.__name__.valueOf()}}var t;if(H(r.cdr.cdr)&&x.isString(r.cdr.cdr.car)){t=r.cdr.cdr.car.valueOf()}n.set(r.car,e,t,true)})}),'(define name expression)\n (define name expression "doc string")\n (define (function-name . args) . body)\n\n Macro for defining values. It can be used to define variables,\n or functions. If the first argument is list it will create a function\n with name being first element of the list. This form expands to\n `(define function-name (lambda args body))`'),"set-obj!":l("set-obj!",function(e,t,r){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;var i=_(e);if(Eu(e)||i!=="object"&&i!=="function"){var u=Co("set-obj!",No(e),["object","function"]);throw new Error(u)}A("set-obj!",t,["string","symbol","number"]);e=Yu(e);t=t.valueOf();if(arguments.length===2){delete e[t]}else if(ku(e)&&d(r)){e[t]=Yu(r);e[t][ua]=true}else if(d(r)||Ru(r)||K(r)){e[t]=r}else{e[t]=r&&!ku(r)?r.valueOf():r}if(Gi){var a=e[t];Object.defineProperty(e,t,U(U({},n),{},{value:a}))}},"(set-obj! obj key value)\n (set-obj! obj key value props)\n\n Function set a property of a JavaScript object. props should be a vector of pairs,\n passed to Object.defineProperty."),"null-environment":l("null-environment",function(){return G.inherit("null")},"(null-environment)\n\n Returns a clean environment with only the standard library."),values:l("values",function e(){for(var t=arguments.length,r=new Array(t),n=0;n1&&arguments[1]!==undefined?arguments[1]:{},m=e.use_dynamic,y=e.error;var g=this;var b;if(H(v.cdr)&&x.isString(v.cdr.car)&&!K(v.cdr.cdr)){b=v.cdr.car.valueOf()}function w(){var e=Cu(this)?this:{dynamic_env:g},r=e.dynamic_env;var n=g.inherit("lambda");r=r.inherit("lambda");if(this&&!Cu(this)){if(this&&!this.__instance__){Object.defineProperty(this,"__instance__",{enumerable:false,get:function e(){return true},set:function e(){},configurable:false})}n.set("this",this)}for(var t=arguments.length,i=new Array(t),u=0;u> SYNTAX");z(e);z(y);var n=w.inherit("syntax");var i=n;var u=this;if(u.__name__===gu.__merge_env__){var a=Object.getOwnPropertySymbols(u.__env__);a.forEach(function(e){u.__parent__.set(e,u.__env__[e])});u=u.__parent__}var o={env:n,dynamic_env:i,use_dynamic:g,error:b};var s,c,f;if(y.car instanceof V){s=y.car;f=D(y.cdr.car);c=y.cdr.cdr}else{s="...";f=D(y.car);c=y.cdr}try{while(!K(c)){var l=c.car.car;var h=c.car.cdr.car;z("[[[ RULE");z(l);var _=wu(l,e,f,s,{expansion:this,define:w});if(_){if(Wr()){console.log(JSON.stringify(tu(_),true,2));console.log("PATTERN: "+l.toString(true));console.log("MACRO: "+e.toString(true))}var p=[];var d=xu({bindings:_,expr:h,symbols:f,scope:n,lex_scope:u,names:p,ellipsis:s});z("OUPUT>>> ",d);if(d){h=d}var v=u.merge(n,gu.__merge_env__);if(r){return{expr:h,scope:v}}var m=k(h,U(U({},o),{},{env:v}));return Du(m,p)}c=c.cdr}}catch(e){e.message+="\nin macro:\n ".concat(y.toString(true));throw e}throw new Error("syntax-rules: no matching syntax in macro ".concat(e.toString(true)))},w);r.__code__=y;return r},"(syntax-rules () (pattern expression) ...)\n\n Base of hygienic macros, it will return a new syntax expander\n that works like Lisp macros."),quote:l(new J("quote",function(e){return co(e.car)}),"(quote expression) or 'expression\n\n Macro that returns a single LIPS expression as data (it won't evaluate the\n argument). It will return a list if put in front of LIPS code.\n And if put in front of a symbol it will return the symbol itself, not the value\n bound to that name."),"unquote-splicing":l("unquote-splicing",function(){throw new Error("You can't call `unquote-splicing` outside of quasiquote")},"(unquote-splicing code) or ,@code\n\n Special form used in the quasiquote macro. It evaluates the expression inside and\n splices the list into quasiquote's result. If it is not the last element of the\n expression, the computed value must be a pair."),unquote:l("unquote",function(){throw new Error("You can't call `unquote` outside of quasiquote")},"(unquote code) or ,code\n\n Special form used in the quasiquote macro. It evaluates the expression inside and\n substitutes the value into quasiquote's result."),quasiquote:J.defmacro("quasiquote",function(e,t){var o=t.use_dynamic,s=t.error;var c=this;var f=c;function u(e){return H(e)||Hi(e)||Array.isArray(e)}function l(e,t){var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:u;if(H(e)){var n=e.car;var i=e.cdr;if(r(n)){n=t(n)}if(r(i)){i=t(i)}if(Pu(n)||Pu(i)){return Xn([n,i]).then(function(e){var t=b(e,2),r=t[0],n=t[1];return new Y(r,n)})}else{return new Y(n,i)}}return e}function a(e,t){if(H(e)){if(!K(t)){e.append(t)}}else{e=new Y(e,t)}return e}function r(e){return!!e.filter(function(e){return H(e)&&V.is(e.car,/^(unquote|unquote-splicing)$/)}).length}function h(e,n,i){return e.reduce(function(e,t){if(!H(t)){e.push(t);return e}if(V.is(t.car,"unquote-splicing")){var r;if(n+11){var t="You can't splice multiple atoms inside list";throw new Error(t)}if(!(H(i.cdr)&&K(r[0]))){return r[0]}}r=r.map(function(e){if(d.has(e)){return e.clone()}else{d.add(e);return e}});var n=v(i.cdr,0,1);if(K(n)&&K(r[0])){return undefined}return D(n,function(e){if(K(r[0])){return e}if(r.length===1){return a(r[0],e)}var t=r.reduce(function(e,t){return a(e,t)});return a(t,e)})})}(i.car.cdr)}var d=new Set;function v(e,t,r){if(H(e)){if(H(e.car)){if(V.is(e.car.car,"unquote-splicing")){return p(e,t+1,r)}if(V.is(e.car.car,"unquote")){if(t+2===r&&H(e.car.cdr)&&H(e.car.cdr.car)&&V.is(e.car.cdr.car.car,"unquote-splicing")){var n=e.car.cdr;return new Y(new Y(new V("unquote"),p(n,t+2,r)),$)}else if(H(e.car.cdr)&&!K(e.car.cdr.cdr)){if(H(e.car.cdr.car)){var i=[];return function t(r){if(K(r)){return Y.fromArray(i)}return D(k(r.car,{env:c,dynamic_env:f,use_dynamic:o,error:s}),function(e){i.push(e);return t(r.cdr)})}(e.car.cdr)}else{return e.car.cdr}}}}if(V.is(e.car,"quasiquote")){var u=v(e.cdr,t,r+1);return new Y(e.car,u)}if(V.is(e.car,"quote")){return new Y(e.car,v(e.cdr,t,r))}if(V.is(e.car,"unquote")){t++;if(tr){throw new Error("You can't call `unquote` outside "+"of quasiquote")}if(H(e.cdr)){if(!K(e.cdr.cdr)){if(H(e.cdr.car)){var a=[];return function t(r){if(K(r)){return Y.fromArray(a)}return D(k(r.car,{env:c,dynamic_env:f,use_dynamic:o,error:s}),function(e){a.push(e);return t(r.cdr)})}(e.cdr)}else{return e.cdr}}else{return k(e.cdr.car,{env:c,dynamic_env:f,error:s})}}else{return e.cdr}}return l(e,function(e){return v(e,t,r)})}else if(Hi(e)){return _(e,t,r)}else if(e instanceof Array){return h(e,t,r)}return e}function n(e){if(H(e)){delete e[ea];if(!e.have_cycles("car")){n(e.car)}if(!e.have_cycles("cdr")){n(e.cdr)}}}if(Hi(e.car)&&!r(Object.values(e.car))){return co(e.car)}if(Array.isArray(e.car)&&!r(e.car)){return co(e.car)}if(H(e.car)&&!e.car.find("unquote")&&!e.car.find("unquote-splicing")&&!e.car.find("quasiquote")){return co(e.car)}var i=v(e.car,0,1);return D(i,function(e){n(e);return co(e)})},"(quasiquote list)\n\n Similar macro to `quote` but inside it you can use special expressions (unquote\n x) abbreviated to ,x that will evaluate x and insert its value verbatim or\n (unquote-splicing x) abbreviated to ,@x that will evaluate x and splice the value\n into the result. Best used with macros but it can be used outside."),clone:l("clone",function e(t){A("clone",t,"pair");return t.clone()},"(clone list)\n\n Function that returns a clone of the list, that does not share any pairs with the\n original, so the clone can be safely mutated without affecting the original."),append:l("append",function e(){var t;for(var r=arguments.length,n=new Array(r),i=0;iarray")(t).reverse();return G.get("array->list")(r)}else if(Array.isArray(t)){return t.reverse()}else{throw new Error(Co("reverse",No(t),"array or pair"))}},"(reverse list)\n\n Function that reverses the list or array. If value is not a list\n or array it will error."),nth:l("nth",function e(t,r){A("nth",t,"number");A("nth",r,["array","pair"]);if(H(r)){var n=r;var i=0;while(iarray")(r).join(t)},"(join separator list)\n\n Function that returns a string by joining elements of the list using separator."),split:l("split",function e(t,r){A("split",t,["regex","string"]);A("split",r,"string");return G.get("array->list")(r.split(t))},"(split separator string)\n\n Function that creates a list by splitting string by separator which can\n be a string or regular expression."),replace:l("replace",function e(t,r,n){A("replace",t,["regex","string"]);A("replace",r,["string","function"]);A("replace",n,"string");if(d(r)){var i=[];n.replace(t,function(){i.push(r.apply(void 0,arguments))});return D(i,function(e){return n.replace(t,function(){return e.shift()})})}return n.replace(t,r)},"(replace pattern replacement string)\n\n Function that changes pattern to replacement inside string. Pattern can be a\n string or regex and replacement can be function or string. See Javascript\n String.replace()."),match:l("match",function e(t,r){A("match",t,["regex","string"]);A("match",r,"string");var n=r.match(t);return n?G.get("array->list")(n):false},"(match pattern string)\n\n Function that returns a match object from JavaScript as a list or #f if\n no match."),search:l("search",function e(t,r){A("search",t,["regex","string"]);A("search",r,"string");return r.search(t)},"(search pattern string)\n\n Function that returns the first found index of the pattern inside a string."),repr:l("repr",function e(t,r){return ou(t,r)},"(repr obj)\n\n Function that returns a LIPS code representation of the object as a string."),"escape-regex":l("escape-regex",function(e){A("escape-regex",e,"string");return Rn(e.valueOf())},"(escape-regex string)\n\n Function that returns a new string where all special operators used in regex,\n are escaped with backslashes so they can be used in the RegExp constructor\n to match a literal string."),env:l("env",function e(e){e=e||this.env;var t=Object.keys(e.__env__).map(V);var r;if(t.length){r=Y.fromArray(t)}else{r=$}if(e.__parent__ instanceof F){return G.get("env").call(this,e.__parent__).append(r)}return r},"(env)\n (env obj)\n\n Function that returns a list of names (functions, macros and variables)\n that are bound in the current environment or one of its parents."),new:l("new",function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n2&&arguments[2]!==undefined?arguments[2]:ri.LITERAL;A("set-special!",e,"string",1);A("set-special!",t,"symbol",2);ri.append(e.valueOf(),t,r)},'(set-special! symbol name [type])\n\n Add a special symbol to the list of transforming operators by the parser.\n e.g.: `(add-special! "#" \'x)` will allow to use `#(1 2 3)` and it will be\n transformed into (x (1 2 3)) so you can write x macro that will process\n the list. 3rd argument is optional, and it can be one of two values:\n lips.specials.LITERAL, which is the default behavior, or\n lips.specials.SPLICE which causes the value to be unpacked into the expression.\n This can be used for e.g. to make `#(1 2 3)` into (x 1 2 3) that is needed\n by # that defines vectors.'),get:lo,".":lo,unbind:l(Yu,"(unbind fn)\n\n Function that removes the weak 'this' binding from a function so you\n can get properties from the actual function object."),type:l(No,"(type object)\n\n Function that returns the type of an object as string."),debugger:l("debugger",function(){debugger},'(debugger)\n\n Function that triggers the JavaScript debugger (e.g. the browser devtools)\n using the "debugger;" statement. If a debugger is not running this\n function does nothing.'),in:l("in",function(e,t){if(e instanceof V||e instanceof x||e instanceof B){e=e.valueOf()}return e in Vu(t)},'(in key value)\n\n Function that uses the Javascript "in" operator to check if key is\n a valid property in the value.'),"instance?":l("instance?",function(e){return Lu(e)},"(instance? obj)\n\n Checks if object is an instance, created with a new operator"),instanceof:l("instanceof",function(e,t){return t instanceof Yu(e)},"(instanceof type obj)\n\n Predicate that tests if the obj is an instance of type."),"prototype?":l("prototype?",ku,"(prototype? obj)\n\n Predicate that tests if value is a valid JavaScript prototype,\n i.e. calling (new) with it will not throw ' is not a constructor'."),"macro?":l("macro?",function(e){return e instanceof J},"(macro? expression)\n\n Predicate that tests if value is a macro."),"continuation?":l("continuation?",Ou,"(continuation? expression)\n\n Predicate that tests if value is a callable continuation."),"function?":l("function?",d,"(function? expression)\n\n Predicate that tests if value is a callable function."),"real?":l("real?",function(e){if(No(e)!=="number"){return false}if(e instanceof B){return e.isFloat()}return B.isFloat(e)},"(real? number)\n\n Predicate that tests if value is a real number (not complex)."),"number?":l("number?",function(e){return Number.isNaN(e)||B.isNumber(e)},"(number? expression)\n\n Predicate that tests if value is a number or NaN value."),"string?":l("string?",function(e){return x.isString(e)},"(string? expression)\n\n Predicate that tests if value is a string."),"pair?":l("pair?",H,"(pair? expression)\n\n Predicate that tests if value is a pair or list structure."),"regex?":l("regex?",function(e){return e instanceof RegExp},"(regex? expression)\n\n Predicate that tests if value is a regular expression."),"null?":l("null?",function(e){return Eu(e)},"(null? expression)\n\n Predicate that tests if value is null-ish (i.e. undefined, nil, or\n Javascript null)."),"boolean?":l("boolean?",function(e){return typeof e==="boolean"},"(boolean? expression)\n\n Predicate that tests if value is a boolean (#t or #f)."),"symbol?":l("symbol?",function(e){return e instanceof V},"(symbol? expression)\n\n Predicate that tests if value is a LIPS symbol."),"array?":l("array?",function(e){return e instanceof Array},"(array? expression)\n\n Predicate that tests if value is an array."),"object?":l("object?",function(e){return!K(e)&&e!==null&&!(e instanceof h)&&!(e instanceof RegExp)&&!(e instanceof x)&&!H(e)&&!(e instanceof B)&&_(e)==="object"&&!(e instanceof Array)},"(object? expression)\n\n Predicate that tests if value is an plain object (not another LIPS type)."),flatten:l("flatten",function e(t){A("flatten",t,"pair");return t.flatten()},"(flatten list)\n\n Returns a shallow list from tree structure (pairs)."),"array->list":l("array->list",function(e){A("array->list",e,"array");return Y.fromArray(e)},"(array->list array)\n\n Function that converts a JavaScript array to a LIPS cons list."),"tree->array":l("tree->array",Ji("tree->array",true),"(tree->array list)\n\n Function that converts a LIPS cons tree structure into a JavaScript array."),"list->array":l("list->array",Ji("list->array"),"(list->array list)\n\n Function that converts a LIPS list into a JavaScript array."),apply:l("apply",function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;iarray").call(this,u));return t.apply(this,qo(t,n))},"(apply fn list)\n\n Function that calls fn with the list of arguments."),length:l("length",function e(t){if(!t||K(t)){return 0}if(H(t)){return t.length()}if("length"in t){return t.length}},'(length expression)\n\n Function that returns the length of the object. The object can be a LIPS\n list or any object that has a "length" property. Returns undefined if the\n length could not be found.'),"string->number":l("string->number",function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:10;A("string->number",e,"string",1);A("string->number",t,"number",2);e=e.valueOf();t=t.valueOf();if(e.match(bn)||e.match(mn)){return Fn(e,t)}else if(e.match(wn)||e.match(vn)){return On(e,t)}else{var r=t===10&&!e.match(/e/i)||t===16;if(e.match(gn)&&r||e.match(yn)){return An(e,t)}if(e.match(un)){return Bn(e)}}return false},"(string->number number [radix])\n\n Function that parses a string into a number."),try:l(new J("try",function(r,e){var l=this;var h=e.use_dynamic;e.error;return new Promise(function(t,o){var s,n;if(V.is(r.cdr.car.car,"catch")){s=r.cdr.car;if(H(r.cdr.cdr)&&V.is(r.cdr.cdr.car.car,"finally")){n=r.cdr.cdr.car}}else if(V.is(r.cdr.car.car,"finally")){n=r.cdr.car}if(!(n||s)){throw new Error("try: invalid syntax")}function c(e){t(e);throw new ao("[CATCH]")}var f=function e(t,r){r(t)};if(n){f=function e(t,r){f=o;i.error=function(e){throw e};D(k(new Y(new V("begin"),n.cdr),i),function(){r(t)})}}var i={env:l,use_dynamic:h,dynamic_env:l,error:function e(t){if(t instanceof ao){throw t}if(s){var r=l.inherit("try");var n=s.cdr.car.car;if(!(n instanceof V)){throw new Error("try: invalid syntax: catch require variable name")}r.set(n,t);var i;var u={env:r,use_dynamic:h,dynamic_env:l,error:function e(t){i=true;o(t);throw new ao("[CATCH]")}};var a=k(new Y(new V("begin"),s.cdr.cdr),u);D(a,function e(t){if(!i){f(t,c)}})}else{f(undefined,function(){o(t)})}}};var e=k(r.car,i);D(e,function(e){f(e,t)},i.error)})}),"(try expr (catch (e) code))\n (try expr (catch (e) code) (finally code))\n (try expr (finally code))\n\n Macro that executes expr and catches any exceptions thrown. If catch is provided\n it's executed when an error is thrown. If finally is provided it's always\n executed at the end."),raise:l("raise",function(e){throw e},"(raise obj)\n\n Throws the object verbatim (no wrapping an a new Error)."),throw:l("throw",function(e){throw new Error(e)},"(throw string)\n\n Throws a new exception."),find:l("find",function t(r,n){A("find",r,["regex","function"]);A("find",n,["pair","nil"]);if(Eu(n)){return $}var e=gi("find",r);return D(e(n.car),function(e){if(e&&!K(e)){return n.car}return t(r,n.cdr)})},"(find fn list)\n (find regex list)\n\n Higher-order function that finds the first value for which fn return true.\n If called with a regex it will create a matcher function."),"for-each":l("for-each",function(e){var t;A("for-each",e,"function");for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i1?t-1:0),u=1;u3?n-3:0),u=3;u3?i-3:0),a=3;aarray")(r);var u=[];var a=gi("filter",t);return function t(r){function e(e){if(e&&!K(e)){u.push(n)}return t(++r)}if(r===i.length){return Y.fromArray(u)}var n=i[r];return D(a(n),e)}(0)},"(filter fn list)\n (filter regex list)\n\n Higher-order function that calls `fn` for each element of the list\n and return a new list for only those elements for which fn returns\n a truthy value. If called with a regex it will create a matcher function."),compose:l(ga,"(compose . fns)\n\n Higher-order function that creates a new function that applies all functions\n from right to left and returns the last value. Reverse of pipe.\n e.g.:\n ((compose (curry + 2) (curry * 3)) 10) --\x3e (+ 2 (* 3 10)) --\x3e 32"),pipe:l(ya,"(pipe . fns)\n\n Higher-order function that creates a new function that applies all functions\n from left to right and returns the last value. Reverse of compose.\n e.g.:\n ((pipe (curry + 2) (curry * 3)) 10) --\x3e (* 3 (+ 2 10)) --\x3e 36"),curry:l(Fa,"(curry fn . args)\n\n Higher-order function that creates a curried version of the function.\n The result function will have partially applied arguments and it\n will keep returning one-argument functions until all arguments are provided,\n then it calls the original function with the accumulated arguments.\n\n e.g.:\n (define (add a b c d) (+ a b c d))\n (define add1 (curry add 1))\n (define add12 (add 2))\n (display (add12 3 4))"),gcd:l("gcd",function e(){for(var t=arguments.length,r=new Array(t),n=0;no?u%=o:o%=u}u=fu(s*r[a])/(u+o)}return B(u)},"(lcm n1 n2 ...)\n\n Function that returns the least common multiple of the arguments."),"odd?":l("odd?",Da(function(e){return B(e).isOdd()}),"(odd? number)\n\n Checks if number is odd."),"even?":l("even?",Da(function(e){return B(e).isEven()}),"(even? number)\n\n Checks if number is even."),"*":l("*",Ea(function(e,t){return B(e).mul(t)},B(1)),"(* . numbers)\n\n Multiplies all numbers passed as arguments. If single value is passed\n it will return that value."),"+":l("+",Ea(function(e,t){return B(e).add(t)},B(0)),"(+ . numbers)\n\n Sums all numbers passed as arguments. If single value is passed it will\n return that value."),"-":l("-",function(){for(var e=arguments.length,t=new Array(e),r=0;r":l(">",function(){for(var e=arguments.length,t=new Array(e),r=0;r",t,["bigint","float","rational"]);return lu(function(e,t){return B(e).cmp(t)===1},t)},"(> x1 x2 x3 ...)\n\n Function that compares its numerical arguments and checks if they are\n monotonically decreasing, i.e. x1 > x2 and x2 > x3 and so on."),"<":l("<",function(){for(var e=arguments.length,t=new Array(e),r=0;r=":l(">=",function(){for(var e=arguments.length,t=new Array(e),r=0;r=",t,["bigint","float","rational"]);return lu(function(e,t){return[0,1].includes(B(e).cmp(t))},t)},"(>= x1 x2 ...)\n\n Function that compares its numerical arguments and checks if they are\n monotonically nonincreasing, i.e. x1 >= x2 and x2 >= x3 and so on."),"eq?":l("eq?",hu,"(eq? a b)\n\n Function that compares two values if they are identical."),or:l(new J("or",function(e,t){var i=t.use_dynamic,u=t.error;var a=G.get("list->array")(e);var o=this;var s=o;if(!a.length){return false}var c;return function t(){function e(e){c=e;if(!Fu(c)){return c}else{return t()}}if(!a.length){if(!Fu(c)){return c}else{return false}}else{var r=a.shift();var n=k(r,{env:o,dynamic_env:s,use_dynamic:i,error:u});return D(n,e)}}()}),"(or . expressions)\n\n Macro that executes the values one by one and returns the first that is\n a truthy value. If there are no expressions that evaluate to true it\n returns false."),and:l(new J("and",function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},r=t.use_dynamic,n=t.error;var i=G.get("list->array")(e);var u=this;var a=u;if(!i.length){return true}var o;var s={env:u,dynamic_env:a,use_dynamic:r,error:n};return function t(){function e(e){o=e;if(Fu(o)){return o}else{return t()}}if(!i.length){if(!Fu(o)){return o}else{return false}}else{var r=i.shift();return D(k(r,s),e)}}()}),"(and . expressions)\n\n Macro that evaluates each expression in sequence and if any value returns false\n it will stop and return false. If each value returns true it will return the\n last value. If it's called without arguments it will return true."),"|":l("|",function(e,t){return B(e).or(t)},"(| a b)\n\n Function that calculates the bitwise or operation."),"&":l("&",function(e,t){return B(e).and(t)},"(& a b)\n\n Function that calculates the bitwise and operation."),"~":l("~",function(e){return B(e).neg()},"(~ number)\n\n Function that calculates the bitwise inverse (flip all the bits)."),">>":l(">>",function(e,t){return B(e).shr(t)},"(>> a b)\n\n Function that right shifts the value a by value b bits."),"<<":l("<<",function(e,t){return B(e).shl(t)},"(<< a b)\n\n Function that left shifts the value a by value b bits."),not:l("not",function e(t){if(Eu(t)){return true}return!t},"(not object)\n\n Function that returns the Boolean negation of its argument.")},undefined,"global");var yo=G.inherit("user-env");function go(e,t){e.constant("**internal-env**",t);e.doc("**internal-env**","**internal-env**\n\n Constant used to hide stdin, stdout and stderr so they don't interfere\n with variables with the same name. Constants are an internal type\n of variable that can't be redefined, defining a variable with the same name\n will throw an error.");G.set("**interaction-environment**",e)}go(yo,po);G.doc("**interaction-environment**","**interaction-environment**\n\n Internal dynamic, global variable used to find interpreter environment.\n It's used so the read and write functions can locate **internal-env**\n that contains the references to stdin, stdout and stderr.");function bo(e){yo.get("**internal-env**").set("fs",e)}(function(){var e={ceil:"ceiling"};["floor","round","ceil"].forEach(function(t){var r=e[t]?e[t]:t;G.set(r,l(r,function(e){A(r,e,"number");if(e instanceof B){return e[t]()}},"(".concat(r," number)\n\n Function that calculates the ").concat(r," of a number.")))})})();function wo(e){if(e.length===1){return e[0]}else{var t=[];var r=wo(e.slice(1));for(var n=0;n3&&arguments[3]!==undefined?arguments[3]:null;var i=e?" in expression `".concat(e,"`"):"";if(n!==null){i+=" (argument ".concat(n,")")}if(d(r)){return"Invalid type: got ".concat(t).concat(i)}if(r instanceof Array){if(r.length===1){var u=r[0].toLowerCase();r="a"+("aeiou".includes(u)?"n ":" ")+r[0]}else{r=new Intl.ListFormat("en",{style:"long",type:"disjunction"}).format(r)}}return"Expecting ".concat(r," got ").concat(t).concat(i)}function So(e,t,r){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;A(e,t,"number",n);var i=t.__type__;var u;if(H(r)){r=r.to_array()}if(r instanceof Array){r=r.map(function(e){return e.valueOf()})}if(r instanceof Array){r=r.map(function(e){return e.valueOf().toLowerCase()});if(r.includes(i)){u=true}}else{r=r.valueOf().toLowerCase()}if(!u&&i!==r){throw new Error(Co(e,i,r,n))}}function jo(r,e,n){e.forEach(function(e,t){So(r,e,n,t+1)})}function Bo(r,e,n){e.forEach(function(e,t){A(r,e,n,t+1)})}function Io(e,t,r){A(e,t,r);if(t.__type__===eo){throw new Error(Co(e,"binary-port","textual-port"))}}function A(e,t,r){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;e=e.valueOf();var i=No(t).toLowerCase();if(d(r)){if(!r(t)){throw new Error(Co(e,i,r,n))}return}var u=false;if(H(r)){r=r.to_array()}if(r instanceof Array){r=r.map(function(e){return e.valueOf()})}if(r instanceof Array){r=r.map(function(e){return e.valueOf().toLowerCase()});if(r.includes(i)){u=true}}else{r=r.valueOf().toLowerCase()}if(!u&&i!==r){throw new Error(Co(e,i,r,n))}}function Po(r){var n=new WeakMap;return function(e){var t=n.get(e);if(!t){t=r(e)}return t}}No=Po(No);function No(e){var t=$r.get(e);if(t){return t}if(_(e)==="object"){for(var r=0,n=Object.entries(Vr);r2&&arguments[2]!==undefined?arguments[2]:{},n=r.env,i=r.dynamic_env,u=r.use_dynamic;var a=n===null||n===void 0?void 0:n.new_frame(e,t);var o=i===null||i===void 0?void 0:i.new_frame(e,t);var s=new Yo({env:a,use_dynamic:u,dynamic_env:o});return To(e.apply(s,t))}function zo(n,e){var t=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{},i=t.env,u=t.dynamic_env,a=t.use_dynamic,r=t.error,o=r===void 0?function(){}:r;e=Lo(e,{env:i,dynamic_env:u,error:o,use_dynamic:a});return D(e,function(e){if(_a(n)){n=Yu(n)}e=qo(n,e);var t=e.slice();var r=Uo(n,t,{env:i,dynamic_env:u,use_dynamic:a});return D(r,function(e){if(H(e)){e.mark_cycles();return co(e)}return Uu(e)},o)})}var Vo=new WeakMap;var $o=function(){function n(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;ue(this,n);fe(this,"__value__",void 0);fe(this,"__fn__",void 0);Br(this,Vo,{writable:true,value:void 0});this.__value__=e;if(t){if(!d(t)){throw new Error("Section argument to Parameter need to be function "+"".concat(No(t)," given"))}this.__fn__=t}if(r){f(this,Vo,r)}}ce(n,[{key:"__name__",get:function e(){return t(this,Vo)},set:function e(t){f(this,Vo,t);if(this.__fn__){this.__fn__.__name__="fn-".concat(t)}}},{key:"invoke",value:function e(){if(d(this.__fn__)){return this.__fn__(this.__value__)}return this.__value__}},{key:"inherit",value:function e(t){return new n(t,this.__fn__,this.__name__)}}]);return n}();var Yo=function(){function t(e){ue(this,t);fe(this,"env",void 0);fe(this,"dynamic_env",void 0);fe(this,"use_dynamic",void 0);Object.assign(this,e)}ce(t,[{key:"__name__",get:function e(){return this.env.__name__}},{key:"__parent__",get:function e(){return this.env.__parent__}},{key:"get",value:function e(){var t;return(t=this.env).get.apply(t,arguments)}}]);return t}();function Jo(e,t){var r=e.get(t.__name__,{throwError:false});if(Su(r)&&r!==t){return r}var n=yo.get("**interaction-environment**");while(true){var i=e.get("parent.frame",{throwError:false});e=i(0);if(e===n){break}r=e.get(t.__name__,{throwError:false});if(Su(r)&&r!==t){return r}}return t}var Ko=function(){function t(e){ue(this,t);fe(this,"__value__",void 0);this.__value__=e}ce(t,[{key:"invoke",value:function e(){if(this.__value__===null){throw new Error("Continuations are not implemented yet")}}}]);return t}();function k(o){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},s=e.env,c=e.dynamic_env,f=e.use_dynamic,t=e.error,l=t===void 0?Ao:t,r=he(e,jr);return function(e){try{if(!ju(c)){c=s===true?yo:s||yo}if(f){s=c}else if(s===true){s=yo}else{s=s||G}var t={env:s,dynamic_env:c,use_dynamic:f,error:l};var r;if(Eu(o)){return o}if(o instanceof V){return s.get(o)}if(!H(o)){return o}var n=o.car;var e=o.cdr;if(H(n)){r=To(k(n,t));if(Pu(r)){return r.then(function(e){if(!Bu(e)){throw new Error(No(e)+" "+s.get("repr")(e)+" is not callable while evaluating "+o.toString())}return k(new Y(e,o.cdr),t)})}else if(!Bu(r)){throw new Error(No(r)+" "+s.get("repr")(r)+" is not callable while evaluating "+o.toString())}}if(n instanceof V){r=s.get(n)}else if(d(n)){r=n}var i;if(r instanceof gu){i=Mo(r,o,t)}else if(r instanceof J){i=Ro(r,e,t)}else if(d(r)){i=zo(r,e,t)}else if(r instanceof bu){i=Mo(r._syntax,o,t)}else if(Su(r)){var u=Jo(c,r);if(Eu(o.cdr)){i=u.invoke()}else{return D(k(o.cdr.car,t),function(e){u.__value__=e})}}else if(Ou(r)){i=r.invoke()}else if(H(o)){r=n&&n.toString();throw new Error("".concat(No(n)," ").concat(r," is not a function"))}else{return o}var a=s.get(Symbol["for"]("__promise__"),{throwError:false});if(a===true&&Pu(i)){i=i.then(function(e){if(H(e)&&!r[ea]){return k(e,t)}return e});return new Zn(i)}return i}catch(e){l&&l.call(s,e,o)}}(r)}var Ho=Qo(function(e){return e});var Go=Qo(function(e,t){return t});function Wo(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},r=t.env,n=t.dynamic_env,i=t.use_dynamic;return k(e,{env:r,dynamic_env:n,use_dynamic:i,error:function e(t,r){if(t&&t.message){if(t.message.match(/^Error:/)){var n=/^(Error:)\s*([^:]+:\s*)/;t.message=t.message.replace(n,"$1 $2")}if(r){if(!(t.__code__ instanceof Array)){t.__code__=[]}t.__code__.push(r.toString(true))}}if(!(t instanceof ao)){throw t}}})}function Qo(d){return function(){var t=ie(function(l){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},h=e.env,_=e.dynamic_env,p=e.use_dynamic;return O.mark(function e(){var r,n,i,u,a,o,s,c,f;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(!ju(_)){_=h===true?yo:h||yo}if(h===true){h=yo}else{h=h||yo}r=[];if(!H(l)){t.next=8;break}t.next=6;return Wo(code,{env:h,dynamic_env:_,use_dynamic:p});case 6:t.t0=t.sent;return t.abrupt("return",[t.t0]);case 8:n=Array.isArray(l)?l:_i(l);i=false;u=false;t.prev=11;o=qr(n);case 13:t.next=15;return o.next();case 15:if(!(i=!(s=t.sent).done)){t.next=31;break}c=s.value;t.next=19;return Wo(c,{env:h,dynamic_env:_,use_dynamic:p});case 19:f=t.sent;t.t1=r;t.t2=d;t.t3=c;t.next=25;return f;case 25:t.t4=t.sent;t.t5=(0,t.t2)(t.t3,t.t4);t.t1.push.call(t.t1,t.t5);case 28:i=false;t.next=13;break;case 31:t.next=37;break;case 33:t.prev=33;t.t6=t["catch"](11);u=true;a=t.t6;case 37:t.prev=37;t.prev=38;if(!(i&&o["return"]!=null)){t.next=42;break}t.next=42;return o["return"]();case 42:t.prev=42;if(!u){t.next=45;break}throw a;case 45:return t.finish(42);case 46:return t.finish(37);case 47:return t.abrupt("return",r);case 48:case"end":return t.stop()}},e,null,[[11,33,37,47],[38,,42,46]])})()});function e(e){return t.apply(this,arguments)}return e}()}function Zo(e){var t={"[":"]","(":")"};var r;if(typeof e==="string"){r=Jn(e)}else{r=e.map(function(e){return e&&e.token?e.token:e})}var n=Object.keys(t);var i=Object.values(t).concat(n);r=r.filter(function(e){return i.includes(e)});var u=new qn;var a=Tr(r),o;try{for(a.s();!(o=a.n()).done;){var s=o.value;if(n.includes(s)){u.push(s)}else if(!u.is_empty()){var c=u.top();var f=t[c];if(s===f){u.pop()}else{throw new Error("Syntax error: missing closing ".concat(f))}}else{throw new Error("Syntax error: not matched closing ".concat(s))}}}catch(e){a.e(e)}finally{a.f()}return u.is_empty()}function Xo(e){var t="("+e.toString()+")()";var r=window.URL||window.webkitURL;var n;try{n=new Blob([t],{type:"application/javascript"})}catch(e){var i=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder;n=new i;n.append(t);n=n.getBlob()}return new zr.Worker(r.createObjectURL(n))}function es(){return js.version.match(/^(\{\{VER\}\}|DEV)$/)}function ts(){if(Fo()){return}var e;if(document.currentScript){e=document.currentScript}else{var t=document.querySelectorAll("script");if(!t.length){return}e=t[t.length-1]}var r=e.getAttribute("src");return r}var rs=ts();function ns(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"";var t="dist/std.xcb";if(e===""){if(rs){e=rs.replace(/[^/]*$/,"std.xcb")}else if(es()){e="https://cdn.jsdelivr.net/gh/jcubic/lips@devel/".concat(t)}else{e="https://cdn.jsdelivr.net/npm/@jcubic/lips@".concat(js.version,"/").concat(t)}}var r=G.get("load");return r.call(yo,e,G)}function is(e){this.url=e;var a=this.worker=Xo(function(){var a;var o;self.addEventListener("message",function(e){var r=e.data;var t=r.id;if(r.type!=="RPC"||t===null){return}function n(e){self.postMessage({id:t,type:"RPC",result:e})}function i(e){self.postMessage({id:t,type:"RPC",error:e})}if(r.method==="eval"){if(!o){i("Worker RPC: LIPS not initialized, call init first");return}o.then(function(){var e=r.params[0];var t=r.params[1];a.exec(e,{use_dynamic:t}).then(function(e){e=e.map(function(e){return e&&e.valueOf()});n(e)})["catch"](function(e){i(e)})})}else if(r.method==="init"){var u=r.params[0];if(typeof u!=="string"){i("Worker RPC: url is not a string")}else{importScripts("".concat(u,"/dist/lips.min.js"));a=new js.Interpreter("worker");o=ns(u);o.then(function(){n(true)})}}})});this.rpc=function(){var n=0;return function e(t,r){var u=++n;return new Promise(function(n,i){a.addEventListener("message",function e(t){var r=t.data;if(r&&r.type==="RPC"&&r.id===u){if(r.error){i(r.error)}else{n(r.result)}a.removeEventListener("message",e)}});a.postMessage({type:"RPC",method:t,id:u,params:r})})}}();this.rpc("init",[e])["catch"](function(e){console.error(e)});this.exec=function(e,t){var r=t.use_dynamic,n=r===void 0?false:r;return this.rpc("eval",[e,n])}}var us={pair:function e(t){var r=b(t,2),n=r[0],i=r[1];return Y(n,i)},number:function e(t){if(x.isString(t)){return B([t,10])}return B(t)},regex:function e(t){var r=b(t,2),n=r[0],i=r[1];return new RegExp(n,i)},nil:function e(){return $},symbol:function e(t){if(x.isString(t)){return V(t)}else if(Array.isArray(t)){return V(Symbol["for"](t[0]))}},string:x,character:h};var as=Object.keys(us);var os={};for(var ss=0,cs=Object.entries(as);ss1){var n=t.reduce(function(e,t){return e+t.length},0);var i=new Uint8Array(n);var u=0;t.forEach(function(e){i.set(e,u);u+=e.length});return i}else if(t.length){return t[0]}}function gs(){var e=1;var t=new TextEncoder("utf-8");return t.encode("LIPS".concat(e.toString().padStart(3," ")))}var bs=7;function ws(e){var t=new TextDecoder("utf-8");var r=t.decode(e.slice(0,bs));var n=r.substring(0,4);if(n==="LIPS"){var i=r.match(/^(....).*([0-9]+)$/);if(i){return{type:i[1],version:Number(i[2])}}}return{type:"unknown"}}function Ds(e){var t=gs();var r=ms.encode(e);return ys(t,xr(r,{magic:false}))}function xs(e){var t=ws(e),r=t.type,n=t.version;if(r==="LIPS"&&n===1){var i=Er(e.slice(bs),{magic:false});return ms.decode(i)}else{throw new Error("Invalid file format ".concat(r))}}function Es(e){console.error(e.message||e);if(Array.isArray(e.code)){console.error(e.code.map(function(e,t){return"[".concat(t+1,"]: ").concat(e)}))}}function Fs(){var a=["text/x-lips","text/x-scheme"];var o;function s(e){var t;return(t=e.getAttribute("data-bootstrap"))!==null&&t!==void 0?t:e.getAttribute("bootstrap")}function c(r){return new Promise(function(t){var e=r.getAttribute("src");if(e){return fetch(e).then(function(e){return e.text()}).then(Go).then(t)["catch"](function(e){Es(e);t()})}else{return Go(r.innerHTML).then(t)["catch"](function(e){Es(e);t()})}})}function e(){return new Promise(function(i){var u=Array.from(document.querySelectorAll("script"));return function e(){var t=u.shift();if(!t){i()}else{var r=t.getAttribute("type");if(a.includes(r)){var n=s(t);if(!o&&typeof n==="string"){return ns(n).then(function(){return c(t)}).then(e)}else{return c(t).then(e)}}else if(r&&r.match(/lips|lisp/)){console.warn("Expecting "+a.join(" or ")+" found "+r)}return e()}}()})}if(!window.document){return Promise.resolve()}else if(As){var t=As;var r=s(t);if(typeof r==="string"){return ns(r).then(function(){o=true;return e()})}}return e()}var As=typeof window!=="undefined"&&window.document&&document.currentScript;if(typeof window!=="undefined"){Gr(window,Fs)}var ks=function(){var e=x("Sun, 17 Mar 2024 22:45:05 +0000").valueOf();var t=e==="{{"+"DATE}}"?new Date:new Date(e);var r=function e(t){return t.toString().padStart(2,"0")};var n=t.getFullYear();var i=[n,r(t.getMonth()+1),r(t.getDate())].join("-");var u="\n __ __ __\n / / \\ \\ _ _ ___ ___ \\ \\\n| | \\ \\ | | | || . \\/ __> | |\n| | > \\ | |_ | || _/\\__ \\ | |\n| | / ^ \\ |___||_||_| <___/ | |\n \\_\\ /_/ \\_\\ /_/\n\nLIPS Interpreter DEV (".concat(i,") \nCopyright (c) 2018-").concat(n," Jakub T. Jankiewicz\n\nType (env) to see environment with functions macros and variables. You can also\nuse (help name) to display help for specific function or macro, (apropos name)\nto display list of matched names in environment and (dir object) to list\nproperties of an object.\n").replace(/^.*\n/,"");return u}();c(Fi,"__class__","ahead");c(Y,"__class__","pair");c(Yi,"__class__","nil");c(Ai,"__class__","pattern");c(Ei,"__class__","formatter");c(J,"__class__","macro");c(gu,"__class__","syntax");c(gu.Parameter,"__class__","syntax-parameter");c(F,"__class__","environment");c(Va,"__class__","input-port");c($a,"__class__","output-port");c(Ya,"__class__","output-port");c(Ja,"__class__","output-string-port");c(Ha,"__class__","input-string-port");c(Qa,"__class__","input-file-port");c(Ka,"__class__","output-file-port");c(uo,"__class__","lips-error");[B,y,w,g,E].forEach(function(e){c(e,"__class__","number")});c(h,"__class__","character");c(V,"__class__","symbol");c(x,"__class__","string");c(Zn,"__class__","promise");c($o,"__class__","parameter");var Os="DEV";var Cs="Sun, 17 Mar 2024 22:45:05 +0000";var Ss=ga(mi,_i);var js={version:Os,banner:ks,date:Cs,exec:Go,parse:Ss,tokenize:Jn,evaluate:k,compile:Ho,serialize:ds,unserialize:vs,serialize_bin:Ds,unserialize_bin:xs,bootstrap:ns,Environment:F,env:yo,Worker:is,Interpreter:io,balanced_parenthesis:Zo,balancedParenthesis:Zo,balanced:Zo,Macro:J,Syntax:gu,Pair:Y,Values:so,QuotedPromise:Zn,Error:uo,quote:co,InputPort:Va,OutputPort:$a,BufferedOutputPort:Ya,InputFilePort:Qa,OutputFilePort:Ka,InputStringPort:Ha,OutputStringPort:Ja,InputByteVectorPort:Ga,OutputByteVectorPort:Wa,InputBinaryFilePort:Za,OutputBinaryFilePort:Xa,set_fs:bo,Formatter:Ei,Parser:li,Lexer:s,specials:ri,repr:Ki,nil:$,eof:ro,LSymbol:V,LNumber:B,LFloat:g,LComplex:y,LRational:w,LBigInteger:E,LCharacter:h,LString:x,Parameter:$o,rationalize:Ua};G.set("lips",js);e.BufferedOutputPort=Ya;e.Environment=F;e.Error=uo;e.Formatter=Ei;e.InputBinaryFilePort=Za;e.InputByteVectorPort=Ga;e.InputFilePort=Qa;e.InputPort=Va;e.InputStringPort=Ha;e.Interpreter=io;e.LBigInteger=E;e.LCharacter=h;e.LComplex=y;e.LFloat=g;e.LNumber=B;e.LRational=w;e.LString=x;e.LSymbol=V;e.Lexer=s;e.Macro=J;e.OutputBinaryFilePort=Xa;e.OutputByteVectorPort=Wa;e.OutputFilePort=Ka;e.OutputPort=$a;e.OutputStringPort=Ja;e.Pair=Y;e.Parameter=$o;e.Parser=li;e.QuotedPromise=Zn;e.Syntax=gu;e.Values=so;e.Worker=is;e.balanced=Zo;e.balancedParenthesis=Zo;e.balanced_parenthesis=Zo;e.banner=ks;e.bootstrap=ns;e.compile=Ho;e.date=Cs;e.env=yo;e.eof=ro;e.evaluate=k;e.exec=Go;e.nil=$;e.parse=Ss;e.quote=co;e.rationalize=Ua;e.repr=Ki;e.serialize=ds;e.serialize_bin=Ds;e.set_fs=bo;e.specials=ri;e.tokenize=Jn;e.unserialize=vs;e.unserialize_bin=xs;e.version=Os}); \ No newline at end of file + */Object.defineProperty(ar,"__esModule",{value:true});const or=8,sr=6,cr=3,fr=(1<r-fr){t[i++]=e[n++];continue}f=(e[n]+13^e[n+1]-13^e[n+2])&hr-1;c=n-l[f]&lr;l[f]=n;u=n-c;if(u>=0&&u!=n&&e[n]==e[u]&&e[n+1]==e[u+1]&&e[n+2]==e[u+2]){t[a]|=o;for(s=cr;s>or;t[i++]=c;n+=s}else{t[i++]=e[n++]}}console.assert(e.length>=n);return i}function pr(e,t,r){t=t|0;var n=0,i=0,u=0,a=0,o=1<<(or-1|0),s=0,c=0;while(n>(or-sr|0))+cr|0;c=(e[n]<4){r[i]=r[u];i=i+1|0;u=u+1|0;r[i]=r[u];i=i+1|0;u=u+1|0;r[i]=r[u];i=i+1|0;u=u+1|0;r[i]=r[u];i=i+1|0;u=u+1|0;s=s-4|0}while(s>0){r[i]=r[u];i=i+1|0;u=u+1|0;s=s-1|0}}}else{r[i]=e[n];i=i+1|0;n=n+1|0}}return i}function dr(){const e=new TextEncoder("utf-8");return e.encode(vr)}const vr="@lzjb";const mr=dr();function yr(...e){if(e.length>1){const r=e.reduce((e,t)=>e+t.length,0);const n=new Uint8Array(r);let t=0;e.forEach(e=>{n.set(e,t);t+=e.length});return n}else if(e.length){return e[0]}}function gr(t){const e=Math.ceil(Math.log2(t)/8);const r=new Uint8Array(e);for(let e=0;e=0;e--){r=r*256+t[e]}return r}function wr(e,{magic:t=true}={}){const r=new Uint8Array(Math.max(e.length*1.5|0,16*1024));const n=_r(e,r);const i=gr(e.length);const u=[Uint8Array.of(i.length),i,r.slice(0,n)];if(t){u.unshift(mr)}return yr(...u)}function Dr(t,{magic:e=true}={}){if(e){const e=new TextDecoder("utf-8");const s=e.decode(t.slice(0,mr.length));if(s!==vr){throw new Error("Invalid magic value")}}const r=e?mr.length:0;const n=t[r];const i=r+1;const u=r+n+1;const a=br(t.slice(i,u));t=t.slice(u);const o=new Uint8Array(a);pr(t,t.length,o);return o}var xr=ar.pack=wr;var Er=ar.unpack=Dr;function Fr(s,c){return c=c||{},new Promise(function(e,t){var r=new XMLHttpRequest,n=[],i=[],u={},a=function(){return{ok:2==(r.status/100|0),statusText:r.statusText,status:r.status,url:r.responseURL,text:function(){return Promise.resolve(r.responseText)},json:function(){return Promise.resolve(r.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([r.response]))},clone:a,headers:{keys:function(){return n},entries:function(){return i},get:function(e){return u[e.toLowerCase()]},has:function(e){return e.toLowerCase()in u}}}};for(var o in r.open(c.method||"get",s,!0),r.onload=function(){r.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(e,t,r){n.push(t=t.toLowerCase()),i.push([t,r]),u[t]=u[t]?u[t]+","+r:r}),e(a())},r.onerror=t,r.withCredentials="include"==c.credentials,c.headers)r.setRequestHeader(o,c.headers[o]);r.send(c.body||null)})}var t;var Ar=["token"],kr=["env"],Or=["stderr","stdin","stdout","command_line"],Cr=["use_dynamic"],Sr=["use_dynamic"],jr=["env","dynamic_env","use_dynamic","error"];function Br(e,t,r){Ir(e,t);t.set(e,r)}function Ir(e,t){if(t.has(e)){throw new TypeError("Cannot initialize the same private elements twice on an object")}}function Pr(e,t,r){return t=k(t),M(e,Nr()?Reflect.construct(t,r||[],k(e).constructor):t.apply(e,r))}function Nr(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(Nr=function e(){return!!t})()}function Tr(t,e){var r=typeof Symbol!=="undefined"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=Lr(t))||e&&t&&typeof t.length==="number"){if(r)t=r;var n=0;var i=function e(){};return{s:i,n:function e(){if(n>=t.length)return{done:true};return{done:false,value:t[n++]}},e:function e(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var u=true,a=false,o;return{s:function e(){r=r.call(t)},n:function e(){var t=r.next();u=t.done;return t},e:function e(t){a=true;o=t},f:function e(){try{if(!u&&r["return"]!=null)r["return"]()}finally{if(a)throw o}}}}function Lr(e,t){if(!e)return;if(typeof e==="string")return Mr(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor)r=e.constructor.name;if(r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Mr(e,t)}function Mr(e,t){if(t==null||t>e.length)t=e.length;for(var r=0,n=new Array(t);r1?r-1:0),i=1;i0&&arguments[0]!==undefined?arguments[0]:null;var t=wo&&wo.get("DEBUG",{throwError:false});if(e===null){return t===true}return(t===null||t===void 0?void 0:t.valueOf())===e.valueOf()}function Qr(e){return e?"(?:#".concat(e,"(?:#[ie])?|#[ie]#").concat(e,")"):"(?:#[ie])?"}function Zr(e,t){return"".concat(Qr(e),"[+-]?").concat(t,"+/").concat(t,"+")}function Xr(e,t){return"".concat(Qr(e),"(?:[+-]?(?:").concat(t,"+/").concat(t,"+|nan.0|inf.0|").concat(t,"+))?(?:[+-]i|[+-]?(?:").concat(t,"+/").concat(t,"+|").concat(t,"+|nan.0|inf.0)i)(?=[()[\\]\\s]|$)")}function en(e,t){return"".concat(Qr(e),"[+-]?").concat(t,"+")}var tn=/^#\/((?:\\\/|[^/]|\[[^\]]*\/[^\]]*\])+)\/([gimyus]*)$/;var rn="(?:[-+]?(?:[0-9]+(?:[eE][-+]?[0-9]+)|(?:\\.[0-9]+|[0-9]+\\.[0-9]+)(?:[eE][-+]?[0-9]+)?)|[0-9]+\\.)";var nn="(?:#[ie])?(?:[+-]?(?:[0-9][0-9_]*/[0-9][0-9_]*|nan.0|inf.0|".concat(rn,"|[+-]?[0-9]+))?(?:").concat(rn,"|[+-](?:[0-9]+/[0-9]+|[0-9]+|nan.0|inf.0))i");var un=new RegExp("^(#[ie])?".concat(rn,"$"),"i");function an(e,t){var r=e==="x"?"(?!\\+|".concat(t,")"):"(?!\\.|".concat(t,")");var n="";if(e===""){n="(?:[-+]?(?:[0-9]+(?:[eE][-+]?[0-9]+)|(?:\\.[0-9]+|[0-9]+\\.[0-9]+(?![0-9]))(?:[eE][-+]?[0-9]+)?))"}return new RegExp("^((?:(?:".concat(n,"|[-+]?inf.0|[-+]?nan.0|[+-]?").concat(t,"+/").concat(t,"+(?!").concat(t,")|[+-]?").concat(t,"+)").concat(r,")?)(").concat(n,"|[-+]?inf.0|[-+]?nan.0|[+-]?").concat(t,"+/").concat(t,"+|[+-]?").concat(t,"+|[+-])i$"),"i")}var on=function(){var u={};[[10,"","[0-9]"],[16,"x","[0-9a-fA-F]"],[8,"o","[0-7]"],[2,"b","[01]"]].forEach(function(e){var t=b(e,3),r=t[0],n=t[1],i=t[2];u[r]=an(n,i)});return u}();var sn={alarm:"",backspace:"\b",delete:"",escape:"",newline:"\n",null:"\0",return:"\r",space:" ",tab:"\t",dle:"",soh:"",dc1:"",stx:"",dc2:"",etx:"",dc3:"",eot:"",dc4:"",enq:"",nak:"",ack:"",syn:"",bel:"",etb:"",bs:"\b",can:"",ht:"\t",em:"",lf:"\n",sub:"",vt:"\v",esc:"",ff:"\f",fs:"",cr:"\r",gs:"",so:"",rs:"",si:"",us:"",del:""};function cn(e){var t=[];var r=0;var n=e.length;while(r=55296&&i<=56319&&r1&&arguments[1]!==undefined?arguments[1]:10;var r=En(e);var n=r.number.split("/");var i=w({num:j([n[0],r.radix||t]),denom:j([n[1],r.radix||t])});if(r.inexact){return i.valueOf()}else{return i}}function An(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:10;var r=En(e);if(r.inexact){return g(parseInt(r.number,r.radix||t))}return j([r.number,r.radix||t])}function kn(e){var t=e.match(/#\\x([0-9a-f]+)$/i);var r;if(t){var n=parseInt(t[1],16);r=String.fromCodePoint(n)}else{t=e.match(/#\\([\s\S]+)$/);if(t){r=t[1]}}if(r){return h(r)}throw new Error("Parse: invalid character")}function On(e){var i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:10;function t(e){var t;if(e==="+"){t=j(1)}else if(e==="-"){t=j(-1)}else if(e.match(gn)){t=j([e,i])}else if(e.match(bn)){var r=e.split("/");t=w({num:j([r[0],i]),denom:j([r[1],i])})}else if(e.match(un)){var n=Bn(e);if(u.exact){return n.toRational()}return n}else if(e.match(/nan.0$/)){return j(NaN)}else if(e.match(/inf.0$/)){if(e[0]==="-"){return j(Number.NEGATIVE_INFINITY)}return j(Number.POSITIVE_INFINITY)}else{throw new Error("Internal Parser Error")}if(u.inexact){return g(t.valueOf())}return t}var u=En(e);i=u.radix||i;var r;var n=u.number.match(Dn);if(i!==10&&n){r=n}else{r=u.number.match(on[i])}var a,o;o=t(r[2]);if(r[1]){a=t(r[1])}else if(o instanceof g){a=g(0)}else{a=j(0)}if(o.cmp(0)===0&&o.__type__==="bigint"){return a}return y({im:o,re:a})}function Cn(e){return parseInt(e.toString(),10)===e}function Sn(e){var t=e.match(/^(([-+]?[0-9]*)(?:\.([0-9]+))?)e([-+]?[0-9]+)/i);if(t){var r=parseInt(t[4],10);var n;var i=t[1].replace(/[-+]?([0-9]*)\..+$/,"$1").length;var u=t[3]&&t[3].length;if(i0&&(t.exact||!t.number.match(/\./))){return j(u).mul(o)}}}r=g(r);if(t.exact){return r.toRational()}return r}function In(e){e=e.replace(/\\x([0-9a-f]+);/gi,function(e,t){return"\\u"+t.padStart(4,"0")}).replace(/\n/g,"\\n");var t=e.match(/(\\*)(\\x[0-9A-F])/i);if(t&&t[1].length%2===0){throw new Error("Invalid string literal, unclosed ".concat(t[2]))}try{var r=x(JSON.parse(e));r.freeze();return r}catch(e){var n=e.message.replace(/in JSON /,"").replace(/.*Error: /,"");throw new Error("Invalid string literal: ".concat(n))}}function Pn(e){if(e.match(/^\|.*\|$/)){e=e.replace(/(^\|)|(\|$)/g,"");var r={t:"\t",r:"\r",n:"\n"};e=e.replace(/\\(x[^;]+);/g,function(e,t){return String.fromCharCode(parseInt("0"+t,16))}).replace(/\\(.)/g,function(e,t){return r[t]||t})}return new $(e)}function Nn(e){if(bo.hasOwnProperty(e)){return bo[e]}if(e.match(/^"[\s\S]*"$/)){return In(e)}else if(e[0]==="#"){var t=e.match(tn);if(t){return new RegExp(t[1],t[2])}else if(e.match(_n)){return kn(e)}var r=e.match(/#\\(.+)/);if(r&&cn(r[1]).length===1){return kn(e)}}if(e.match(/[0-9a-f]|[+-]i/i)){if(e.match(yn)){return An(e)}else if(e.match(un)){return Bn(e)}else if(e.match(mn)){return Fn(e)}else if(e.match(vn)){return On(e)}}if(e.match(/^#[iexobd]/)){throw new Error("Invalid numeric constant: "+e)}return Pn(e)}function Tn(e){return!(["(",")","[","]"].includes(e)||ri.names().includes(e))}function Ln(e){return Tn(e)&&!(e.match(tn)||e.match(/^"[\s\S]*"$/)||e.match(yn)||e.match(un)||e.match(vn)||e.match(mn)||e.match(_n)||["#t","#f","nil"].includes(e))}var Mn=/"(?:\\[\S\s]|[^"])*"?/g;function Rn(e){if(typeof e==="string"){var t=/([-\\^$[\]()+{}?*.|])/g;return e.replace(t,"\\$1")}return e}function qn(){this.data=[]}qn.prototype.push=function(e){this.data.push(e)};qn.prototype.top=function(){return this.data[this.data.length-1]};qn.prototype.pop=function(){return this.data.pop()};qn.prototype.is_empty=function(){return!this.data.length};function Un(e){if(e instanceof x){e=e.valueOf()}var t=new s(e,{whitespace:true});var r=[];while(true){var n=t.peek(true);if(n===uo){break}r.push(n);t.skip()}return r}function zn(e){var t=e.token,r=le(e,Ar);if(t.match(/^"[\s\S]*"$/)&&t.match(/\n/)){var n=new RegExp("^ {1,"+(e.col+1)+"}","mg");t=t.replace(n,"")}return z({token:t},r)}function Vn(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(){};this.fn=e;this.cont=t}Vn.prototype.toString=function(){return"#"};function $n(n){return function(){for(var e=arguments.length,t=new Array(e),r=0;r1&&arguments[1]!==undefined?arguments[1]:false;if(e instanceof x){e=e.toString()}if(t){return Un(e)}else{var r=Un(e).map(function(e){if(e.token==="#\\ "||e.token=="#\\\n"){return e.token}return e.token.trim()}).filter(function(e){return e&&!e.match(/^;/)&&!e.match(/^#\|[\s\S]*\|#$/)});return Kn(r)}}function Kn(e){var t=0;var r=null;var n=[];for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:null;if(e instanceof $){if(e.is_gensym()){return e}e=e.valueOf()}if(Wn(e)){return $(e)}if(e!==null){return r(e,Symbol("#:".concat(e)))}t++;return r(t,Symbol("#:g".concat(t)))}}();function Zn(e){var r=this;var n={pending:true,rejected:false,fulfilled:false,reason:undefined,type:undefined};e=e.then(function(e){n.type=Mo(e);n.fulfilled=true;n.pending=false;return e});c(this,"_promise",e,{hidden:true});if(d(e["catch"])){e=e["catch"](function(e){n.rejected=true;n.pending=false;n.reason=e})}Object.keys(n).forEach(function(t){Object.defineProperty(r,"__".concat(t,"__"),{enumerable:true,get:function e(){return n[t]}})});c(this,"__promise__",e);this.then=false}Zn.prototype.then=function(e){return new Zn(this.valueOf().then(e))};Zn.prototype["catch"]=function(e){return new Zn(this.valueOf()["catch"](e))};Zn.prototype.valueOf=function(){if(!this._promise){throw new Error("QuotedPromise: invalid promise created")}return this._promise};Zn.prototype.toString=function(){if(this.__pending__){return Zn.pending_str}if(this.__rejected__){return Zn.rejected_str}return"#")};Zn.pending_str="#";Zn.rejected_str="#";function Xn(e){if(Array.isArray(e)){return Promise.all(ei(e)).then(ti)}return e}function ei(e){var t=new Array(e.length),r=e.length;while(r--){var n=e[r];if(n instanceof Zn){t[r]=new fo(n)}else{t[r]=n}}return t}function ti(e){var t=new Array(e.length),r=e.length;while(r--){var n=e[r];if(n instanceof fo){t[r]=n.valueOf()}else{t[r]=n}}return t}var ri={LITERAL:Symbol["for"]("literal"),SPLICE:Symbol["for"]("splice"),SYMBOL:Symbol["for"]("symbol"),names:function e(){return Object.keys(this.__list__)},type:function e(t){try{return this.get(t).type}catch(e){console.log({name:t});console.log(e);return null}},get:function e(t){return this.__list__[t]},off:function e(t){var r=this;var n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;if(Array.isArray(t)){t.forEach(function(e){return r.off(e,n)})}else if(n===null){delete this.__events__[t]}else{this.__events__=this.__events__.filter(function(e){return e!==n})}},on:function e(t,r){var n=this;if(Array.isArray(t)){t.forEach(function(e){return n.on(e,r)})}else if(!this.__events__[t]){this.__events__[t]=[r]}else{this.__events__[t].push(r)}},trigger:function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i",new $("quote-promise"),ri.LITERAL]];var si=oi.map(function(e){return e[0]});Object.freeze(si);Object.defineProperty(ri,"__builtins__",{writable:false,value:si});oi.forEach(function(e){var t=b(e,3),r=t[0],n=t[1],i=t[2];ri.append(r,n,i)});var s=function(){function _(e){var t=this;var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},n=r.whitespace,i=n===void 0?false:n;ue(this,_);c(this,"__input__",e.replace(/\r/g,""));var u={};["_i","_whitespace","_col","_newline","_line","_state","_next","_token","_prev_char"].forEach(function(r){Object.defineProperty(t,r,{configurable:false,enumerable:false,get:function e(){return u[r]},set:function e(t){u[r]=t}})});this._whitespace=i;this._i=this._line=this._col=this._newline=0;this._state=this._next=this._token=null;this._prev_char=""}ce(_,[{key:"get",value:function e(t){return this.__internal[t]}},{key:"set",value:function e(t,r){this.__internal[t]=r}},{key:"token",value:function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(t){var r=this._line;if(this._whitespace&&this._token==="\n"){--r}return{token:this._token,col:this._col,offset:this._i,line:r}}return this._token}},{key:"peek",value:function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(this._i>=this.__input__.length){return uo}if(this._token){return this.token(t)}var r=this.next_token();if(r){this._token=this.__input__.substring(this._i,this._next);return this.token(t)}return uo}},{key:"skip",value:function e(){if(this._next!==null){this._token=null;this._i=this._next}}},{key:"read_line",value:function e(){var t=this.__input__.length;if(this._i>=t){return uo}for(var r=this._i;r=r){return uo}if(t+this._i>=r){return this.read_rest()}var n=this._i+t;var i=this.__input__.substring(this._i,n);var u=i.match(/\n/g);if(u){this._line+=u.length}this._i=n;return i}},{key:"peek_char",value:function e(){if(this._i>=this.__input__.length){return uo}return h(this.__input__[this._i])}},{key:"read_char",value:function e(){var t=this.peek_char();this.skip_char();return t}},{key:"skip_char",value:function e(){if(this._i1&&arguments[1]!==undefined?arguments[1]:{},n=r.prev_char,i=r["char"],u=r.next_char;var a=b(t,4),o=a[0],s=a[1],c=a[2],f=a[3];if(t.length!==5){throw new Error("Lexer: Invalid rule of length ".concat(t.length))}if(Ou(o)){if(o!==i){return false}}else if(!i.match(o)){return false}if(!fi(s,n)){return false}if(!fi(c,u)){return false}if(f!==this._state){return false}return true}},{key:"next_token",value:function e(){if(this._i>=this.__input__.length){return false}var t=true;e:for(var r=this._i,n=this.__input__.length;r2&&arguments[2]!==undefined?arguments[2]:null;var i=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;if(t.length===0){throw new Error("Lexer: invalid literal rule")}if(t.length===1){return[[t,n,i,null,null]]}var u=[];for(var a=0,o=t.length;a1&&arguments[1]!==undefined?arguments[1]:{},r=t.env,n=t.meta,i=n===void 0?false:n,u=t.formatter,a=u===void 0?zn:u;ue(this,o);if(e instanceof x){e=e.toString()}c(this,"_formatter",a,{hidden:true});c(this,"__lexer__",new s(e));c(this,"__env__",r);c(this,"_meta",i,{hidden:true});c(this,"_refs",[],{hidden:true});c(this,"_state",{parentheses:0},{hidden:true})}ce(o,[{key:"resolve",value:function e(t){return this.__env__&&this.__env__.get(t,{throwError:false})}},{key:"peek",value:function(){var e=ie(O.mark(function e(){var r;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:r=this.__lexer__.peek(true);if(!(r===uo)){t.next=4;break}return t.abrupt("return",uo);case 4:if(!this.is_comment(r.token)){t.next=7;break}this.skip();return t.abrupt("continue",0);case 7:if(!(r.token==="#;")){t.next=14;break}this.skip();if(!(this.__lexer__.peek()===uo)){t.next=11;break}throw new Error("Lexer: syntax error eof found after comment");case 11:t.next=13;return this._read_object();case 13:return t.abrupt("continue",0);case 14:return t.abrupt("break",17);case 17:r=this._formatter(r);if(!this._meta){t.next=20;break}return t.abrupt("return",r);case 20:return t.abrupt("return",r.token);case 21:case"end":return t.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()},{key:"reset",value:function e(){this._refs.length=0}},{key:"skip",value:function e(){this.__lexer__.skip()}},{key:"read",value:function(){var e=ie(O.mark(function e(){var r;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:t.next=2;return this.peek();case 2:r=t.sent;this.skip();return t.abrupt("return",r);case 5:case"end":return t.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()},{key:"match_datum_label",value:function e(t){var r=t.match(/^#([0-9]+)=$/);return r&&r[1]}},{key:"match_datum_ref",value:function e(t){var r=t.match(/^#([0-9]+)#$/);return r&&r[1]}},{key:"is_open",value:function e(t){var r=["(","["].includes(t);if(r){this._state.parentheses++}return r}},{key:"is_close",value:function e(t){var r=[")","]"].includes(t);if(r){this._state.parentheses--}return r}},{key:"read_list",value:function(){var e=ie(O.mark(function e(){var r,n,i,u,a;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:r=Y,n=r;case 1:t.next=4;return this.peek();case 4:u=t.sent;if(!(u===uo)){t.next=7;break}return t.abrupt("break",32);case 7:if(!this.is_close(u)){t.next=10;break}this.skip();return t.abrupt("break",32);case 10:if(!(u==="."&&!H(r))){t.next=18;break}this.skip();t.next=14;return this._read_object();case 14:n.cdr=t.sent;i=true;t.next=30;break;case 18:if(!i){t.next=22;break}throw new Error("Parser: syntax error more than one element after dot");case 22:t.t0=J;t.next=25;return this._read_object();case 25:t.t1=t.sent;t.t2=Y;a=new t.t0(t.t1,t.t2);if(H(r)){r=a}else{n.cdr=a}n=a;case 30:t.next=1;break;case 32:return t.abrupt("return",r);case 33:case"end":return t.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()},{key:"read_value",value:function(){var e=ie(O.mark(function e(){var r;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:t.next=2;return this.read();case 2:r=t.sent;if(!(r===uo)){t.next=5;break}throw new Error("Parser: Expected token eof found");case 5:return t.abrupt("return",Nn(r));case 6:case"end":return t.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()},{key:"is_comment",value:function e(t){return t.match(/^;/)||t.match(/^#\|/)&&t.match(/\|#$/)}},{key:"evaluate",value:function e(t){return A(t,{env:this.__env__,error:function e(t){throw t}})}},{key:"read_object",value:function(){var e=ie(O.mark(function e(){var r;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:this.reset();t.next=3;return this._read_object();case 3:r=t.sent;if(r instanceof hi){r=r.valueOf()}if(!this._refs.length){t.next=7;break}return t.abrupt("return",D(this._resolve_object(r),function(e){if(G(e)){e.mark_cycles()}return e}));case 7:return t.abrupt("return",r);case 8:case"end":return t.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()},{key:"balanced",value:function e(){return this._state.parentheses===0}},{key:"ballancing_error",value:function e(t,r){var n=this._state.parentheses;var i;if(n<0){i=new Error("Parser: unexpected parenthesis");i.__code__=[r.toString()+")"]}else{i=new Error("Parser: expected parenthesis but eof found");var u=new RegExp("\\){".concat(n,"}$"));i.__code__=[t.toString().replace(u,"")]}throw i}},{key:"_resolve_object",value:function(){var t=ie(O.mark(function e(r){var n=this;var i;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(!Array.isArray(r)){t.next=2;break}return t.abrupt("return",r.map(function(e){return n._resolve_object(e)}));case 2:if(!Wi(r)){t.next=6;break}i={};Object.keys(r).forEach(function(e){i[e]=n._resolve_object(r[e])});return t.abrupt("return",i);case 6:if(!G(r)){t.next=8;break}return t.abrupt("return",this._resolve_pair(r));case 8:return t.abrupt("return",r);case 9:case"end":return t.stop()}},e,this)}));function e(e){return t.apply(this,arguments)}return e}()},{key:"_resolve_pair",value:function(){var t=ie(O.mark(function e(r){return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(!G(r)){t.next=15;break}if(!(r.car instanceof hi)){t.next=7;break}t.next=4;return r.car.valueOf();case 4:r.car=t.sent;t.next=8;break;case 7:this._resolve_pair(r.car);case 8:if(!(r.cdr instanceof hi)){t.next=14;break}t.next=11;return r.cdr.valueOf();case 11:r.cdr=t.sent;t.next=15;break;case 14:this._resolve_pair(r.cdr);case 15:return t.abrupt("return",r);case 16:case"end":return t.stop()}},e,this)}));function e(e){return t.apply(this,arguments)}return e}()},{key:"_read_object",value:function(){var e=ie(O.mark(function e(){var r,n,i,u,a,o,s,c,f,l,h;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:t.next=2;return this.peek();case 2:r=t.sent;if(!(r===uo)){t.next=5;break}return t.abrupt("return",r);case 5:if(!ni(r)){t.next=38;break}n=ri.get(r);i=ii(r);this.skip();a=ai(r);if(!a){t.next=14;break}t.t0=undefined;t.next=17;break;case 14:t.next=16;return this._read_object();case 16:t.t0=t.sent;case 17:o=t.t0;if(i){t.next=25;break}s=this.__env__.get(n.symbol);if(!(typeof s==="function")){t.next=25;break}if(ui(r)){c=[o]}else if(H(o)){c=[]}else if(G(o)){c=o.to_array(false)}if(!(c||a)){t.next=24;break}return t.abrupt("return",$o(s,a?[]:c,{env:this.__env__,dynamic_env:this.__env__,use_dynamic:false}));case 24:throw new Error("Parse Error: Invalid parser extension "+"invocation ".concat(n.symbol));case 25:if(ui(r)){u=new J(n.symbol,new J(o,Y))}else{u=new J(n.symbol,o)}if(!i){t.next=28;break}return t.abrupt("return",u);case 28:if(!(s instanceof K)){t.next=37;break}t.next=31;return this.evaluate(u);case 31:f=t.sent;if(!(G(f)||f instanceof $)){t.next=34;break}return t.abrupt("return",J.fromArray([$("quote"),f]));case 34:return t.abrupt("return",f);case 37:throw new Error("Parse Error: invalid parser extension: "+n.symbol);case 38:l=this.match_datum_ref(r);if(!(l!==null)){t.next=44;break}this.skip();if(!this._refs[l]){t.next=43;break}return t.abrupt("return",new hi(l,this._refs[l]));case 43:throw new Error("Parse Error: invalid datum label #".concat(l,"#"));case 44:h=this.match_datum_label(r);if(!(h!==null)){t.next=51;break}this.skip();this._refs[h]=this._read_object();return t.abrupt("return",this._refs[h]);case 51:if(!this.is_close(r)){t.next=55;break}this.skip();t.next=61;break;case 55:if(!this.is_open(r)){t.next=60;break}this.skip();return t.abrupt("return",this.read_list());case 60:return t.abrupt("return",this.read_value());case 61:case"end":return t.stop()}},e,this)}));function t(){return e.apply(this,arguments)}return t}()}]);return o}();var hi=function(){function r(e,t){ue(this,r);this.name=e;this.data=t}ce(r,[{key:"valueOf",value:function e(){return this.data}}]);return r}();function _i(e,t){return pi.apply(this,arguments)}function pi(){pi=ye(O.mark(function e(r,n){var i,u,a;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(!n){if(W){n=W.get("**interaction-environment**",{throwError:false})}else{n=wo}}i=new li(r,{env:n});case 3:t.next=6;return ve(i.read_object());case 6:a=t.sent;if(!i.balanced()){i.ballancing_error(a,u)}if(!(a===uo)){t.next=10;break}return t.abrupt("break",15);case 10:u=a;t.next=13;return a;case 13:t.next=3;break;case 15:case"end":return t.stop()}},e)}));return pi.apply(this,arguments)}function D(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:function(e){return e};var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;if(Tu(e)){var n=e.then(t);if(r===null){return n}else{return n["catch"](r)}}if(e instanceof Array){return di(e,t,r)}if(Wi(e)){return vi(e,t,r)}return t(e)}function di(t,r,e){if(t.find(Tu)){return D(Xn(t),function(e){if(Object.isFrozen(t)){Object.freeze(e)}return r(e)},e)}return r(t)}function vi(t,e,r){var i=Object.keys(t);var n=[],u=[];var a=i.length;while(a--){var o=i[a];var s=t[o];n[a]=s;if(Tu(s)){u.push(s)}}if(u.length){return D(Xn(n),function(e){var n={};e.forEach(function(e,t){var r=i[t];n[r]=e});if(Object.isFrozen(t)){Object.freeze(n)}return n},r)}return e(t)}function c(e,t,r){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{},i=n.hidden,u=i===void 0?false:i;Object.defineProperty(e,t,{value:r,configurable:true,enumerable:!u})}function mi(e){return yi.apply(this,arguments)}function yi(){yi=ie(O.mark(function e(r){var n,i,u,a,o,s,c;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:n=[];i=false;u=false;t.prev=3;o=qr(r);case 5:t.next=7;return o.next();case 7:if(!(i=!(s=t.sent).done)){t.next=13;break}c=s.value;n.push(c);case 10:i=false;t.next=5;break;case 13:t.next=19;break;case 15:t.prev=15;t.t0=t["catch"](3);u=true;a=t.t0;case 19:t.prev=19;t.prev=20;if(!(i&&o["return"]!=null)){t.next=24;break}t.next=24;return o["return"]();case 24:t.prev=24;if(!u){t.next=27;break}throw a;case 27:return t.finish(24);case 28:return t.finish(19);case 29:return t.abrupt("return",n);case 30:case"end":return t.stop()}},e,null,[[3,15,19,29],[20,,24,28]])}));return yi.apply(this,arguments)}function gi(e,t){if(t instanceof RegExp){return function(e){return String(e).match(t)}}else if(d(t)){return t}throw new Error("Invalid matcher")}function l(e,t,r,n){if(typeof e!=="string"){t=arguments[0];r=arguments[1];n=arguments[2];e=null}if(r){if(n){t.__doc__=r}else{t.__doc__=bi(r)}}if(e){t.__name__=e}else if(t.name&&!_a(t)){t.__name__=t.name}return t}function bi(e){return e.split("\n").map(function(e){return e.trim()}).join("\n")}function wi(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;var r=e.length;if(t<=0){throw Error("previousSexp: Invalid argument sexp = ".concat(t))}e:while(t--&&r>=0){var n=1;while(n>0){var i=e[--r];if(!i){break e}if(i==="("||i.token==="("){n--}else if(i===")"||i.token===")"){n++}}r--}return e.slice(r+1)}function Di(e){if(!e||!e.length){return 0}var t=e.length;if(e[t-1].token==="\n"){return 0}while(--t){if(e[t].token==="\n"){var r=(e[t+1]||{}).token;if(r){return r.length}}}return 0}function xi(e,t){return f(e,t)===t.length;function f(r,n){function e(e,t){var r=Tr(e),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;var u=f(i,t);if(u!==-1){return u}}}catch(e){r.e(e)}finally{r.f()}return-1}function t(){return r[u]===Symbol["for"]("symbol")&&!Ln(n[o])}function i(){var e=r[u+1];var t=n[o+1];if(e!==undefined&&t!==undefined){return f([e],[t])}}var u=0;var a={};for(var o=0;o0){continue}}else if(t()){return-1}}else if(r[u]instanceof Array){var c=f(r[u],n.slice(o));if(c===-1||c+o>n.length){return-1}o+=c-1;u++;continue}else{return-1}u++}if(r.length!==u){return-1}return n.length}}function Ei(e){this.__code__=e.replace(/\r/g,"")}Ei.defaults={offset:0,indent:2,exceptions:{specials:[/^(?:#:)?(?:define(?:-values|-syntax|-macro|-class|-record-type)?|(?:call-with-(?:input-file|output-file|port))|lambda|let-env|try|catch|when|unless|while|syntax-rules|(let|letrec)(-syntax|\*?-values|\*)?)$/],shift:{1:["&","#"]}}};Ei.match=xi;Ei.prototype._options=function e(t){var r=Ei.defaults;if(typeof t==="undefined"){return Object.assign({},r)}var n=t&&t.exceptions||{};var i=n.specials||[];var u=n.shift||{1:[]};return z(z(z({},r),t),{},{exceptions:{specials:[].concat(U(r.exceptions.specials),U(i)),shift:z(z({},u),{},{1:[].concat(U(r.exceptions.shift[1]),U(u[1]))})}})};Ei.prototype.indent=function e(t){var r=Jn(this.__code__,true);return this._indent(r,t)};Ei.exception_shift=function(u,e){function t(e){if(!e.length){return false}if(e.indexOf(u)!==-1){return true}else{var t=e.filter(function(e){return e instanceof RegExp});if(!t.length){return false}var r=Tr(t),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;if(u.match(i)){return true}}}catch(e){r.e(e)}finally{r.f()}}return false}if(t(e.exceptions.specials)){return e.indent}var r=e.exceptions.shift;for(var n=0,i=Object.entries(r);n0){n.offset=0}if(u.toString()===t.toString()&&ts(u)){return n.offset+u[0].col}else if(u.length===1){return n.offset+u[0].col+1}else{var s=-1;if(a){var c=Ei.exception_shift(a.token,n);if(c!==-1){s=c}}if(s===-1){s=Ei.exception_shift(u[1].token,n)}if(s!==-1){return n.offset+u[0].col+s}else if(u[0].line3&&u[1].line===u[3].line){if(u[1].token==="("||u[1].token==="["){return n.offset+u[1].col}return n.offset+u[3].col}else if(u[0].line===u[1].line){return n.offset+n.indent+u[0].col}else{var f=u.slice(2);for(var l=0;l")};Fi.prototype.match=function(e){return e.match(this.pattern)};function Ai(){for(var e=arguments.length,t=new Array(e),r=0;r")};Ei.Pattern=Ai;Ei.Ahead=Fi;var ki=/^[[(]$/;var Oi=/^[\])]$/;var Ci=/[^()[\]]/;var Si=new Fi(/[^)\]]/);var ji=Symbol["for"]("*");var Bi=new Ai([ki,ji,Oi],[Ci],"+");var Ii=new Ai([ki,ji,Oi],"+");var Pi=new Ai([Symbol["for"]("symbol")],"?");var Ni=new Ai([Symbol["for"]("symbol")],"*");var Ti=[ki,Ni,Oi];var Li=new Ai([ki,Symbol["for"]("symbol"),ji,Oi],"+");var Mi=zi("syntax-rules");var Ri=zi("define","lambda","define-macro","syntax-rules");var qi=/^(?!.*\b(?:[()[\]]|define(?:-macro)?|let(?:\*|rec|-env|-syntax|)?|lambda|syntax-rules)\b).*$/;var Ui=/^(?:#:)?(let(?:\*|rec|-env|-syntax)?)$/;function zi(){for(var e=arguments.length,t=new Array(e),r=0;r0&&!o[e]){o[e]=wi(a,e)}});var s=Tr(i),c;try{for(s.s();!(c=s.n()).done;){var f=b(c.value,3),l=f[0],h=f[1],_=f[2];h=h.valueOf();var p=h>0?o[h]:a;var d=p.filter(function(e){return e.trim()&&!ni(e)});var v=r(p);var m=xi(l,d);var y=n.slice(u).find(function(e){return e.trim()&&!ni(e)});if(m&&(_ instanceof Fi&&_.match(y)||!_)){var g=u-v;if(n[g]!=="\n"){if(!n[g].trim()){n[g]="\n"}else{n.splice(g,0,"\n");u++}}u+=v;continue e}}}catch(e){s.e(e)}finally{s.f()}}this.__code__=n.join("");return this};Ei.prototype._spaces=function(e){return" ".repeat(e)};Ei.prototype.format=function e(t){var r=this.__code__.replace(/[ \t]*\n[ \t]*/g,"\n ");var n=Jn(r,true);var i=this._options(t);var u=0;var a=0;for(var o=0;o0){n=Math.floor(t()*r);r--;var i=[e[n],e[r]];e[r]=i[0];e[n]=i[1]}return e}function Ki(){}Ki.prototype.toString=function(){return"()"};Ki.prototype.valueOf=function(){return undefined};Ki.prototype.serialize=function(){return 0};Ki.prototype.to_object=function(){return{}};Ki.prototype.append=function(e){return new J(e,Y)};Ki.prototype.to_array=function(){return[]};var Y=new Ki;function J(e,t){if(typeof this!=="undefined"&&this.constructor!==J||typeof this==="undefined"){return new J(e,t)}this.car=e;this.cdr=t}function Hi(u,a){return function e(t){F(u,t,["pair","nil"]);if(H(t)){return[]}var r=[];var n=t;while(true){if(G(n)){if(n.have_cycles("cdr")){break}var i=n.car;if(a&&G(i)){i=this.get(u).call(this,i)}r.push(i);n=n.cdr}else if(H(n)){break}else{throw new Error("".concat(u,": can't convert improper list"))}}return r}}J.prototype.flatten=function(){return J.fromArray(Yi(this.to_array()))};J.prototype.length=function(){var e=0;var t=this;while(true){if(!t||H(t)||!G(t)||t.have_cycles("cdr")){break}e++;t=t.cdr}return e};J.match=function(e,t){if(e instanceof $){return $.is(e,t)}else if(G(e)){return J.match(e.car,t)||J.match(e.cdr,t)}else if(Array.isArray(e)){return e.some(function(e){return J.match(e,t)})}else if(Wi(e)){return Object.values(e).some(function(e){return J.match(e,t)})}return false};J.prototype.find=function(e){return J.match(this,e)};J.prototype.clone=function(){var r=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;var n=new Map;function i(e){if(G(e)){if(n.has(e)){return n.get(e)}var t=new J;n.set(e,t);if(r){t.car=i(e.car)}else{t.car=e.car}t.cdr=i(e.cdr);t[ia]=e[ia];return t}return e}return i(this)};J.prototype.last_pair=function(){var e=this;while(true){if(!G(e.cdr)){return e}if(e.have_cycles("cdr")){break}e=e.cdr}};J.prototype.to_array=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;var t=[];if(G(this.car)){if(e){t.push(this.car.to_array())}else{t.push(this.car)}}else{t.push(this.car.valueOf())}if(G(this.cdr)){t=t.concat(this.cdr.to_array(e))}return t};J.fromArray=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(G(e)||r&&e instanceof Array&&e[ra]){return e}if(t===false){var n=Y;for(var i=e.length;i--;){n=new J(e[i],n)}return n}if(e.length&&!(e instanceof Array)){e=U(e)}var u=Y;var a=e.length;while(a--){var o=e[a];if(o instanceof Array){o=J.fromArray(o,t,r)}else if(typeof o==="string"){o=x(o)}else if(typeof o==="number"&&!Number.isNaN(o)){o=j(o)}u=new J(o,u)}return u};J.prototype.to_object=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;var t=this;var r={};while(true){if(G(t)&&G(t.car)){var n=t.car;var i=n.car;if(i instanceof $){i=i.__name__}if(i instanceof x){i=i.valueOf()}var u=n.cdr;if(G(u)){u=u.to_object(e)}if(Uu(u)){if(!e){u=u.valueOf()}}r[i]=u;t=t.cdr}else{break}}return r};J.fromPairs=function(e){return e.reduce(function(e,t){return new J(new J(new $(t[0]),t[1]),e)},Y)};J.fromObject=function(t){var e=Object.keys(t).map(function(e){return[e,t[e]]});return J.fromPairs(e)};J.prototype.reduce=function(e){var t=this;var r=Y;while(true){if(!H(t)){r=e(r,t.car);t=t.cdr}else{break}}return r};J.prototype.reverse=function(){if(this.have_cycles()){throw new Error("You can't reverse list that have cycles")}var e=this;var t=Y;while(!H(e)){var r=e.cdr;e.cdr=t;t=e;e=r}return t};J.prototype.transform=function(n){function i(e){if(G(e)){if(e.replace){delete e.replace;return e}var t=n(e.car);if(G(t)){t=i(t)}var r=n(e.cdr);if(G(r)){r=i(r)}return new J(t,r)}return e}return i(this)};J.prototype.map=function(e){if(typeof this.car!=="undefined"){return new J(e(this.car),H(this.cdr)?Y:this.cdr.map(e))}else{return Y}};var Gi=new Map;function Wi(e){return e&&_(e)==="object"&&e.constructor===Object}var Qi=Object.getOwnPropertyNames(Array.prototype);var Zi=[];Qi.forEach(function(e){Zi.push(Array[e],Array.prototype[e])});function Xi(e){e=Ku(e);return Zi.includes(e)}function eu(e){return d(e)&&(_a(e)||e.__doc__)}function tu(r){var e=r.constructor||Object;var n=Wi(r);var i=d(r[Symbol.asyncIterator])||d(r[Symbol.iterator]);var u;if(Gi.has(e)){u=Gi.get(e)}else{Gi.forEach(function(e,t){t=Ku(t);if(r instanceof t&&(t===Object&&n&&!i||t!==Object)){u=e}})}return u}var ru=new Map;[[true,"#t"],[false,"#f"],[null,"#null"],[undefined,"#void"]].forEach(function(e){var t=b(e,2),r=t[0],n=t[1];ru.set(r,n)});function nu(r){if(r&&_(r)==="object"){var n={};var e=Object.getOwnPropertySymbols(r);e.forEach(function(e){var t=e.toString().replace(/Symbol\(([^)]+)\)/,"$1");n[t]=cu(r[e])});var t=Object.getOwnPropertyNames(r);t.forEach(function(e){var t=r[e];if(t&&_(t)==="object"&&t.constructor===Object){n[e]=nu(t)}else{n[e]=cu(t)}});return n}return r}function iu(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}function uu(e,t){return e.hasOwnProperty(t)&&d(e.toString)}function au(e){if(va(e)){return"#"}var t=e.prototype&&e.prototype.constructor;if(d(t)&&_a(t)){if(e[ua]&&t.hasOwnProperty("__name__")){var r=t.__name__;if(x.isString(r)){r=r.toString();return"#")}return"#"}}if(e.hasOwnProperty("__name__")){var n=e.__name__;if(_(n)==="symbol"){n=Gn(n)}if(typeof n==="string"){return"#")}}if(uu(e,"toString")){return e.toString()}else if(e.name&&!_a(e)){return"#")}else{return"#"}}var ou=new Map;[[Error,function(e){return e.message}],[J,function(e,t){var r=t.quote,n=t.skip_cycles,i=t.pair_args;if(!n){e.mark_cycles()}return e.toString.apply(e,[r].concat(U(i)))}],[h,function(e,t){var r=t.quote;if(r){return e.toString()}return e.valueOf()}],[x,function(e,t){var r=t.quote;e=e.toString();if(r){return JSON.stringify(e).replace(/\\n/g,"\n")}return e}],[RegExp,function(e){return"#"+e.toString()}]].forEach(function(e){var t=b(e,2),r=t[0],n=t[1];ou.set(r,n)});var su=[$,K,lo,Ja,Ka,E,Zn];function cu(e,t,r){if(typeof jQuery!=="undefined"&&e instanceof jQuery.fn.init){return"#"}if(ru.has(e)){return ru.get(e)}if(Cu(e)){return"#"}if(e){var n=e.constructor;if(ou.has(n)){for(var i=arguments.length,u=new Array(i>3?i-3:0),a=3;a"}if(e===null){return"null"}if(d(e)){if(d(e.toString)&&e.hasOwnProperty("toString")){return e.toString().valueOf()}return au(e)}if(_(e)==="object"){var f=e.constructor;if(!f){f=Object}var l;if(typeof f.__class__==="string"){l=f.__class__}else{var h=tu(e);if(h){if(d(h)){return h(e,t)}else{throw new Error("toString: Invalid repr value")}}l=f.name}if(d(e.toString)&&e.hasOwnProperty("toString")){return e.toString().valueOf()}if(Mo(e)==="instance"){if(_a(f)&&f.__name__){l=f.__name__.valueOf()}else if(!va(f)){l="instance"}}if(Mu(e,Symbol.iterator)){if(l){return"#")}return"#"}if(Mu(e,Symbol.asyncIterator)){if(l){return"#")}return"#"}if(l!==""){return"#<"+l+">"}return"#"}if(typeof e!=="string"){return e.toString()}return e}J.prototype.mark_cycles=function(){lu(this);return this};J.prototype.have_cycles=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;if(!e){return this.have_cycles("car")||this.have_cycles("cdr")}return!!(this[ia]&&this[ia][e])};J.prototype.is_cycle=function(){return fu(this)};function fu(e){if(!G(e)){return false}if(e.have_cycles()){return true}return fu(e.car,fn)||fu(e.cdr,fn)}function lu(e){var t=[];var i=[];var u=[];function a(e){if(!t.includes(e)){t.push(e)}}function o(e,t,r,n){if(G(r)){if(n.includes(r)){if(!u.includes(r)){u.push(r)}if(!e[ia]){e[ia]={}}e[ia][t]=r;if(!i.includes(e)){i.push(e)}return true}}}var s=$n(function e(t,r){if(G(t)){delete t.ref;delete t[ia];a(t);r.push(t);var n=o(t,"car",t.car,r);var i=o(t,"cdr",t.cdr,r);if(!n){s(t.car,r.slice())}if(!i){return new Vn(function(){return e(t.cdr,r.slice())})}}});function r(e,t){if(G(e[ia][t])){var r=n.indexOf(e[ia][t]);e[ia][t]="#".concat(r,"#")}}s(e,[]);var n=t.filter(function(e){return u.includes(e)});n.forEach(function(e,t){e[na]="#".concat(t,"=")});i.forEach(function(e){r(e,"car");r(e,"cdr")})}J.prototype.toString=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},r=t.nested,n=r===void 0?false:r;var i=[];if(this[na]){i.push(this[na]+"(")}else if(!n){i.push("(")}var u;if(this[ia]&&this[ia].car){u=this[ia].car}else{u=cu(this.car,e,true)}if(u!==undefined){i.push(u)}if(G(this.cdr)){if(this[ia]&&this[ia].cdr){i.push(" . ");i.push(this[ia].cdr)}else{if(this.cdr[na]){i.push(" . ")}else{i.push(" ")}var a=this.cdr.toString(e,{nested:true});i.push(a)}}else if(!H(this.cdr)){i=i.concat([" . ",cu(this.cdr,e,true)])}if(!n||this[na]){i.push(")")}return i.join("")};J.prototype.set=function(e,t){this[e]=t;if(G(t)){this.mark_cycles()}};J.prototype.append=function(e){if(e instanceof Array){return this.append(J.fromArray(e))}var t=this;if(t.car===undefined){if(G(e)){this.car=e.car;this.cdr=e.cdr}else{this.car=e}}else if(!H(e)){while(true){if(G(t)&&!H(t.cdr)){t=t.cdr}else{break}}t.cdr=e}return this};J.prototype.serialize=function(){return[this.car,this.cdr]};J.prototype[Symbol.iterator]=function(){var r=this;return{next:function e(){var t=r;r=t.cdr;if(H(t)){return{value:undefined,done:true}}else{return{value:t.car,done:false}}}}};function hu(e){return e<0?-e:e}function _u(e,t){var r=re(t),n=r[0],i=r.slice(1);while(i.length>0){var u=i,a=b(u,1),o=a[0];if(!e(n,o)){return false}var s=i;var c=re(s);n=c[0];i=c.slice(1)}return true}function pu(e,t){if(d(e)){return d(t)&&Ku(e)===Ku(t)}else if(e instanceof j){if(!(t instanceof j)){return false}var r;if(e.__type__===t.__type__){if(e.__type__==="complex"){r=e.__im__.__type__===t.__im__.__type__&&e.__re__.__type__===t.__re__.__type__}else{r=true}if(r&&e.cmp(t)===0){if(e.valueOf()===0){return Object.is(e.valueOf(),t.valueOf())}return true}}return false}else if(typeof e==="number"){if(typeof t!=="number"){return false}if(Number.isNaN(e)){return Number.isNaN(t)}if(e===Number.NEGATIVE_INFINITY){return t===Number.NEGATIVE_INFINITY}if(e===Number.POSITIVE_INFINITY){return t===Number.POSITIVE_INFINITY}return pu(j(e),j(t))}else if(e instanceof h){if(!(t instanceof h)){return false}return e.__char__===t.__char__}else{return e===t}}function du(e,t){if(Mo(e)!==Mo(t)){return false}if(!vu(e)){return false}if(e instanceof RegExp){return e.source===t.source}if(e instanceof x){return e.valueOf()===t.valueOf()}return pu(e,t)}function vu(e){return e instanceof $||x.isString(e)||H(e)||e===null||e instanceof h||e instanceof j||e===true||e===false}var mu=function(){if(Math.trunc){return Math.trunc}else{return function(e){if(e===0){return 0}else if(e<0){return Math.ceil(e)}else{return Math.floor(e)}}}}();function K(e,t,r,n){if(typeof this!=="undefined"&&this.constructor!==K||typeof this==="undefined"){return new K(e,t)}F("Macro",e,"string",1);F("Macro",t,"function",2);if(r){if(n){this.__doc__=r}else{this.__doc__=bi(r)}}this.__name__=e;this.__fn__=t}K.defmacro=function(e,t,r,n){var i=new K(e,t,r,n);i.__defmacro__=true;return i};K.prototype.invoke=function(e,t,r){var n=t.env,i=le(t,kr);var u=z(z({},i),{},{macro_expand:r});var a=this.__fn__.call(n,e,u,this.__name__);return a};K.prototype.toString=function(){return"#")};var yu="define-macro";var gu=-1e4;function bu(c){return function(){var r=ie(O.mark(function e(r,y){var u,g,n,i,a,b,w,D,x,E,F,A,o,k,s;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:s=function e(){s=ie(O.mark(function e(r,n,i){var u,a,o,s,c,f,l,h,_,p,d,v,m;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(!(G(r)&&r.car instanceof $)){t.next=50;break}if(!r[ra]){t.next=3;break}return t.abrupt("return",r);case 3:u=r.car.valueOf();a=i.get(r.car,{throwError:false});o=b(r.car);s=o||w(a,r)||D(a);if(!(s&&G(r.cdr.car))){t.next=28;break}if(!o){t.next=15;break}g=E(r.cdr.car);t.next=12;return A(r.cdr.car,n);case 12:c=t.sent;t.next=17;break;case 15:g=x(r.cdr.car);c=r.cdr.car;case 17:t.t0=J;t.t1=r.car;t.t2=J;t.t3=c;t.next=23;return k(r.cdr.cdr,n,i);case 23:t.t4=t.sent;t.t5=new t.t2(t.t3,t.t4);return t.abrupt("return",new t.t0(t.t1,t.t5));case 28:if(!F(u,a)){t.next=50;break}f=a instanceof wu?r:r.cdr;t.next=32;return a.invoke(f,z(z({},y),{},{env:i}),true);case 32:l=t.sent;if(!(a instanceof wu)){t.next=41;break}h=l,_=h.expr,p=h.scope;if(!G(_)){t.next=40;break}if(!(n!==-1&&n<=1||n")}return"#"};var Du=ce(function e(t){ue(this,e);c(this,"_syntax",t,{hidden:true});c(this._syntax,"_param",true,{hidden:true})});wu.Parameter=Du;function xu(e,t,P,N){var r=arguments.length>4&&arguments[4]!==undefined?arguments[4]:{};var T={"...":{symbols:{},lists:[]},symbols:{}};var L=r.expansion,M=r.define;V(P);function R(t,e){var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;V({code:e,pattern:t});if(vu(t)&&!(t instanceof $)){return du(t,e)}if(t instanceof $&&P.includes(t.literal())){if(!$.is(e,t)){return false}var i=L.ref(t);return!i||i===M||i===W}if(Array.isArray(t)&&Array.isArray(e)){V("<<< a 1");if(t.length===0&&e.length===0){return true}if($.is(t[1],N)){if(t[0]instanceof $){var u=t[0].valueOf();V("<<< a 2 "+n);if(n){var a=e.length-2;var o=a>0?e.slice(0,a):e;var s=J.fromArray(o,false);if(!T["..."].symbols[u]){T["..."].symbols[u]=new J(s,Y)}else{T["..."].symbols[u].append(new J(s,Y))}}else{T["..."].symbols[u]=J.fromArray(e,false)}}else if(Array.isArray(t[0])){V("<<< a 3");var c=U(r);if(!e.every(function(e){return R(t[0],e,c,true)})){return false}}if(t.length>2){var f=t.slice(2);return R(f,e.slice(-f.length),r,n)}return true}var l=R(t[0],e[0],r,n);V({first:l,pattern:t[0],code:e[0]});var h=R(t.slice(1),e.slice(1),r,n);V({first:l,rest:h});return l&&h}if(G(t)&&G(t.car)&&G(t.car.cdr)&&$.is(t.car.cdr.car,N)){V(">> 0");if(H(e)){V({pattern:t});if(t.car.car instanceof $){var _=t.car.car.valueOf();if(T["..."].symbols[_]){throw new Error("syntax: named ellipsis can only "+"appear onces")}T["..."].symbols[_]=e}}}if(G(t)&&G(t.cdr)&&$.is(t.cdr.car,N)){if(!H(t.cdr.cdr)){if(G(t.cdr.cdr)){var p=t.cdr.cdr.length();if(!G(e)){return false}var d=e.length();var v=e;while(d-1>p){v=v.cdr;d--}var m=v.cdr;v.cdr=Y;if(!R(t.cdr.cdr,m,r,n)){return false}}}if(t.car instanceof $){var y=t.car.__name__;if(T["..."].symbols[y]&&!r.includes(y)&&!n){throw new Error("syntax: named ellipsis can only appear onces")}V(">> 1");if(H(e)){V(">> 2");if(n){V("NIL");T["..."].symbols[y]=Y}else{V("NULL");T["..."].symbols[y]=null}}else if(G(e)&&(G(e.car)||H(e.car))){V(">> 3 "+n);if(n){if(T["..."].symbols[y]){var g=T["..."].symbols[y];if(H(g)){g=new J(Y,new J(e,Y))}else{g=g.append(new J(e,Y))}T["..."].symbols[y]=g}else{T["..."].symbols[y]=new J(e,Y)}}else{V(">> 4");T["..."].symbols[y]=new J(e,Y)}}else{V(">> 6");if(G(e)){if(!G(e.cdr)&&!H(e.cdr)){V(">> 7 (b)");if(H(t.cdr.cdr)){return false}else if(!T["..."].symbols[y]){T["..."].symbols[y]=new J(e.car,Y);return R(t.cdr.cdr,e.cdr)}}var b=e.last_pair();if(!H(b.cdr)){if(H(t.cdr.cdr)){return false}else{var w=e.clone();w.last_pair().cdr=Y;T["..."].symbols[y]=w;return R(t.cdr.cdr,b.cdr)}}V(">> 7 "+n);r.push(y);if(!T["..."].symbols[y]){T["..."].symbols[y]=new J(e,Y)}else{var D=T["..."].symbols[y];T["..."].symbols[y]=D.append(new J(e,Y))}V({IIIIII:T["..."].symbols[y]})}else if(t.car instanceof $&&G(t.cdr)&&$.is(t.cdr.car,N)){V(">> 8");T["..."].symbols[y]=null;return R(t.cdr.cdr,e)}else{V(">> 9");return false}}return true}else if(G(t.car)){var x=U(r);if(H(e)){V(">> 10");T["..."].lists.push(Y);return true}V(">> 11");var E=e;while(G(E)){if(!R(t.car,E.car,x,true)){return false}E=E.cdr}return true}if(Array.isArray(t.car)){var x=U(r);var F=e;while(G(F)){if(!R(t.car,F.car,x,true)){return false}F=F.cdr}return true}return false}if(t instanceof $){if($.is(t,N)){throw new Error("syntax: invalid usage of ellipsis")}V(">> 12");var A=t.__name__;if(P.includes(A)){return true}if(n){var k,O;V(T["..."].symbols[A]);(O=(k=T["..."].symbols)[A])!==null&&O!==void 0?O:k[A]=[];T["..."].symbols[A].push(e)}else{T.symbols[A]=e}return true}if(G(t)&&G(e)){V(">> 13");V({a:13,code:e,pattern:t});if(H(e.cdr)){var C=t.car instanceof $&&t.cdr instanceof $;if(C){if(!R(t.car,e.car,r,n)){return false}V(">> 14");var S=t.cdr.valueOf();if(!(S in T.symbols)){T.symbols[S]=Y}S=t.car.valueOf();if(!(S in T.symbols)){T.symbols[S]=e.car}return true}}V({pattern:t,code:e});if(G(t.cdr)&&G(t.cdr.cdr)&&t.cdr.car instanceof $&&$.is(t.cdr.cdr.car,N)&&G(t.cdr.cdr.cdr)&&!$.is(t.cdr.cdr.cdr.car,N)&&R(t.car,e.car,r,n)&&R(t.cdr.cdr.cdr,e.cdr,r,n)){var j=t.cdr.car.__name__;V({pattern:t,code:e,name:j});if(P.includes(j)){return true}T["..."].symbols[j]=null;return true}V("recur");V({pattern:t,code:e});var B=R(t.car,e.car,r,n);V({car:B,pattern:t.car,code:e.car});var I=R(t.cdr,e.cdr,r,n);V({car:B,cdr:I});if(B&&I){return true}}else if(H(t)&&(H(e)||e===undefined)){return true}else if(G(t.car)&&$.is(t.car.car,N)){throw new Error("syntax: invalid usage of ellipsis")}else{return false}}if(R(e,t)){return T}}function Eu(e,i){function u(t){if(G(t)){if(!i.length){return t}var e=u(t.car);var r=u(t.cdr);return new J(e,r)}else if(t instanceof $){var n=i.find(function(e){return e.gensym===t});if(n){return $(n.name)}return t}else{return t}}return u(e)}function Fu(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var B=e.bindings,t=e.expr,I=e.scope,a=e.symbols,f=e.names,P=e.ellipsis;var l={};function o(e){if(e instanceof $){return true}return["string","symbol"].includes(_(e))}function N(e){if(!o(e)){var t=Mo(e);throw new Error("syntax: internal error, need symbol got ".concat(t))}var r=e.valueOf();if(r===P){throw new Error("syntax: internal error, ellipis not transformed")}var n=_(r);if(["string","symbol"].includes(n)){if(r in B.symbols){return B.symbols[r]}else if(n==="string"&&r.match(/\./)){var i=r.split(".");var u=i[0];if(u in B.symbols){return J.fromArray([$("."),B.symbols[u]].concat(i.slice(1).map(function(e){return x(e)})))}}}if(a.includes(r)){return e}return s(r,e)}function s(e,t){if(!l[e]){var r=I.ref(e);if(_(e)==="symbol"&&!r){e=t.literal()}if(l[e]){return l[e]}var n=Qn(e);if(r){var i=I.get(e);I.set(n,i)}else{var u=I.get(e,{throwError:false});if(typeof u!=="undefined"){I.set(n,u)}}f.push({name:e,gensym:n});l[e]=n;if(typeof e==="string"&&e.match(/\./)){var a=e.split(".").filter(Boolean),o=re(a),s=o[0],c=o.slice(1);if(l[s]){la(n,"__object__",[l[s]].concat(U(c)))}}}return l[e]}function T(e,t,r){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:function(){};var i=r.nested;V({bindings:t,expr:e});if(Array.isArray(e)&&!e.length){return e}if(e instanceof $){var u=e.valueOf();if(Wn(e)&&!t[u]);V("[t 1");if(t[u]){if(G(t[u])){var a=t[u],o=a.car,s=a.cdr;if(i){var c=o.car,f=o.cdr;if(!H(f)){n(u,new J(f,Y))}return c}if(!H(s)){n(u,s)}return o}else if(t[u]instanceof Array){n(u,t[u].slice(1));return t[u][0]}}return N(e)}var l=Array.isArray(e);if(G(e)||l){var h=l?e[0]:e.car;var _=l?e[1]:G(e.cdr)&&e.cdr.car;if(h instanceof $&&$.is(_,P)){l?e.slice(2):e.cdr.cdr;V("[t 2");var p=h.valueOf();var d=t[p];if(d===null){return}else if(d){V({name:p,binding:t[p]});if(G(d)){V("[t 2 Pair "+i);var v=d.car,m=d.cdr;var y=l?e.slice(2):e.cdr.cdr;if(i){if(!H(m)){V("|| next 1");n(p,m)}if(l&&y.length||!H(y)&&!l){var g=T(y,t,r,n);if(l){return v.concat(g)}else if(G(v)){return v.append(g)}else{V("UNKNOWN")}}return v}else if(G(v)){if(!H(v.cdr)){V("|| next 2");n(p,new J(v.cdr,m))}return v.car}else if(H(m)){return v}else{var b=e.last_pair();if(b.cdr instanceof $){V("|| next 3");n(p,d.last_pair());return v}}}else if(d instanceof Array){V("[t 2 Array "+i);if(i){n(p,d.slice(1));return J.fromArray(d)}else{var w=d.slice(1);if(w.length){n(p,w)}return d[0]}}else{return d}}}V("[t 3 recur ",e);var D=l?e.slice(1):e.cdr;var x=T(h,t,r,n);var E=T(D,t,r,n);V({head:x,rest:E});if(l){return[x].concat(E)}return new J(x,E)}return e}function L(t,r){var e=Object.values(t);var n=Object.getOwnPropertySymbols(t);if(n.length){e.push.apply(e,U(n.map(function(e){return t[e]})))}return e.length&&e.every(function(e){if(e===null){return!r}return G(e)||H(e)||Array.isArray(e)&&e.length})}function M(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}function R(i){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},t=e.disabled;V("traverse>> ",i);var u=Array.isArray(i);if(u&&i.length===0){return i}if(G(i)||u){var r=u?i[0]:i.car;var n,a;if(u){n=i[1];a=i.slice(2)}else if(G(i.cdr)){n=i.cdr.car;a=i.cdr.cdr}V({first:r,second:n,rest_second:a});if(!t&&G(r)&&$.is(r.car,P)){return new J(r.cdr.car,R(i.cdr))}if(n&&$.is(n,P)&&!t){V(">> 1");var o=B["..."].symbols;var s=Object.values(o);if(s.length&&s.every(function(e){return e===null})){V(">>> 1 (a)");return R(a,{disabled:t})}var c=M(o);var f=r instanceof $&&$.is(a.car,P);if(G(r)||f){V(">>> 1 (b)");if(H(B["..."].lists[0])){if(!f){return R(a,{disabled:t})}V(a);return Y}var l=r;if(f){V(">>> 1 (c)");l=new J(r,new J(n,Y))}V(">> 2");var h;if(c.length){V(">> 2 (a)");var _=z({},o);h=u?[]:Y;var p=function e(){V({bind:_});if(!L(_)){return 1}var n={};var t=function e(t,r){n[t]=r};var r=T(l,_,{nested:true},t);if(r!==undefined){if(f){if(u){if(Array.isArray(r)){var i;(i=h).push.apply(i,U(r))}else{V("ZONK {1}")}}else{if(H(h)){h=r}else{h=h.append(r)}}}else if(u){h.push(r)}else{h=new J(r,h)}}_=n};while(true){if(p())break}if(!H(h)&&!f&&!u){h=h.reverse()}if(u){if(a){V({rest_second:a,expr:i});var d=R(a,{disabled:t});return h.concat(d)}return h}if(!H(i.cdr.cdr)&&!$.is(i.cdr.cdr.car,P)){var v=R(i.cdr.cdr,{disabled:t});return h.append(v)}return h}else{V(">> 3");var m=T(r,o,{nested:true});if(m){return new J(m,Y)}return Y}}else if(r instanceof $){V(">> 4");if($.is(a.car,P)){V(">> 4 (a)")}else{V(">> 4 (b)")}var y=r.__name__;var g=q({},y,o[y]);V({bind:g});var b=o[y]===null;var w=u?[]:Y;var D=function e(){if(!L(g,true)){V({bind:g});return 1}var n={};var t=function e(t,r){n[t]=r};var r=T(i,g,{nested:false},t);V({value:r});if(typeof r!=="undefined"){if(u){w.push(r)}else{w=new J(r,w)}}g=n};while(true){if(D())break}if(!H(w)&&!u){w=w.reverse()}if(G(i.cdr)){if(G(i.cdr.cdr)||i.cdr.cdr instanceof $){var x=R(i.cdr.cdr,{disabled:t});V({node:x});if(b){return x}if(H(w)){w=x}else{w.append(x)}V({result:w,node:x})}}V("<<<< 2");return w}}var E=R(r,{disabled:t});var F;var A;if(r instanceof $){var k=I.get(r,{throwError:false});A=k instanceof K&&k.__name__==="syntax-rules"}if(A){if(i.cdr.car instanceof $){F=new J(R(i.cdr.car,{disabled:t}),new J(i.cdr.cdr.car,R(i.cdr.cdr.cdr,{disabled:t})))}else{F=new J(i.cdr.car,R(i.cdr.cdr,{disabled:t}))}V("REST >>>> ",F)}else{F=R(i.cdr,{disabled:t})}V({a:true,car:cu(i.car),cdr:cu(i.cdr),head:cu(E),rest:cu(F)});return new J(E,F)}if(i instanceof $){if(t&&$.is(i,P)){return i}var O=Object.keys(B["..."].symbols);var C=i.literal();if(O.includes(C)){var S="missing ellipsis symbol next to name `".concat(C,"'");throw new Error("syntax-rules: ".concat(S))}var j=N(i);if(typeof j!=="undefined"){return j}}return i}return R(t,{})}function Au(e){return Lu(e)||H(e)||e===null}function H(e){return e===Y}function d(e){return typeof e==="function"&&typeof e.bind==="function"}function ku(e){return e===false||e===null}function Ou(e){return typeof e==="string"}function Cu(e){return e&&_(e)==="object"&&e.hasOwnProperty&&e.hasOwnProperty("constructor")&&typeof e.constructor==="function"&&e.constructor.prototype===e}function Su(e){return e instanceof Wo}function ju(e){return e instanceof Ho}function Bu(e){return e instanceof Ko}function G(e){return e instanceof J}function Iu(e){return e instanceof E}function Pu(e){return d(e)||Su(e)||Bu(e)||Nu(e)}function Nu(e){return e instanceof K||e instanceof Du}function Tu(e){if(e instanceof Zn){return false}if(e instanceof Promise){return true}return!!e&&d(e.then)}function Lu(e){return typeof e==="undefined"}function Mu(e,t){if(zu(e,t)||zu(e.__proto__,t)){return d(e[t])}}function Ru(e){if(!e){return false}if(_(e)!=="object"){return false}if(e.__instance__){e.__instance__=false;return e.__instance__}return false}function qu(e){var t=_(e);return["string","function"].includes(t)||_(e)==="symbol"||e instanceof Zn||e instanceof $||e instanceof j||e instanceof x||e instanceof RegExp}function Uu(e){return e instanceof j||e instanceof x||e instanceof h}function zu(e,t){if(e===null){return false}return _(e)==="object"&&t in Object.getOwnPropertySymbols(e)}function Vu(e){switch(_(e)){case"string":return x(e);case"bigint":return j(e);case"number":if(Number.isNaN(e)){return go}else{return j(e)}}return e}function $u(r,n){var e=Object.getOwnPropertyNames(r);var t=Object.getOwnPropertySymbols(r);var i={};e.concat(t).forEach(function(e){var t=n(r[e]);i[e]=t});return i}function Yu(t){var e=[x,j,h].some(function(e){return t instanceof e});if(e){return t.valueOf()}if(t instanceof Array){return t.map(Yu)}if(t instanceof Zn){delete t.then}if(Wi(t)){return $u(t,Yu)}return t}function Ju(e,t){if(G(e)){e.mark_cycles();return ho(e)}if(d(e)){if(t){return Hu(e,t)}}return Vu(e)}function Ku(e){if(Wu(e)){return e[ta]}return e}function Hu(e,t){if(e[Symbol["for"]("__bound__")]){return e}var r=e.bind(t);var n=Object.getOwnPropertyNames(e);var i=Tr(n),u;try{for(i.s();!(u=i.n()).done;){var a=u.value;if(fa(a)){try{r[a]=e[a]}catch(e){}}}}catch(e){i.e(e)}finally{i.f()}la(r,"__fn__",e);la(r,"__context__",t);la(r,"__bound__",true);if(va(e)){la(r,"__native__",true)}if(Wi(t)&&_a(e)){la(r,"__method__",true)}r.valueOf=function(){return e};return r}function Gu(e){return Wu(e)&&e[Symbol["for"]("__context__")]===Object}function Wu(e){return!!(d(e)&&e[ta])}function Qu(e){if(d(e)){var t=e[ea];if(t&&(t===Ps||t.constructor&&t.constructor.__class__)){return true}}return false}function Zu(e){return e instanceof Ja||e instanceof Ka}function Xu(e){if(d(e)){if(Zu(e[ea])){return true}}return false}var ea=Symbol["for"]("__context__");var ta=Symbol["for"]("__fn__");var ra=Symbol["for"]("__data__");var na=Symbol["for"]("__ref__");var ia=Symbol["for"]("__cycles__");var ua=Symbol["for"]("__class__");var aa=Symbol["for"]("__method__");var oa=Symbol["for"]("__prototype__");var sa=Symbol["for"]("__lambda__");var ca=["name","length","caller","callee","arguments","prototype"];function fa(e){return!ca.includes(e)}function la(e,t,r){Object.defineProperty(e,Symbol["for"](t),{get:function e(){return r},set:function e(){},configurable:false,enumerable:false})}function ha(t,r){try{Object.defineProperty(t,"length",{get:function e(){return r}});return t}catch(e){var n=new Array(r).fill(0).map(function(e,t){return"a"+t}).join(",");var i=new Function("f","return function(".concat(n,") {\n return f.apply(this, arguments);\n };"));return i(t)}}function _a(e){return e&&e[sa]}function pa(e){return e&&e[aa]}function da(e){return _a(e)&&!e[oa]&&!pa(e)&&!Xu(e)}function va(e){var t=Symbol["for"]("__native__");return d(e)&&e.toString().match(/\{\s*\[native code\]\s*\}/)&&(e.name.match(/^bound /)&&e[t]===true||!e.name.match(/^bound /)&&!e[t])}function ma(e){var w;switch(e){case Symbol["for"]("letrec"):w="letrec";break;case Symbol["for"]("let"):w="let";break;case Symbol["for"]("let*"):w="let*";break;default:throw new Error("Invalid let_macro value")}return K.defmacro(w,function(t,e){var f=e.dynamic_env;var l=e.error,r=e.macro_expand,h=e.use_dynamic;var _;if(t.car instanceof $){if(!(G(t.cdr.car)||H(t.cdr.car))){throw new Error("let require list of pairs")}var n;if(H(t.cdr.car)){_=Y;n=Y}else{n=t.cdr.car.map(function(e){return e.car});_=t.cdr.car.map(function(e){return e.cdr.car})}var i=Qn("args");return J.fromArray([$("let"),[[i,J($("list"),_)]],[$("letrec"),[[t.car,J($("lambda"),J(n,t.cdr.cdr))]],[$("apply"),t.car,i]]])}else if(r){return}var p=this;_=W.get("list->array")(t.car);var d=p.inherit(w);var v,m;if(w==="let*"){m=d}else if(w==="let"){v=[]}var y=0;function g(){var e=new J(new $("begin"),t.cdr);return A(e,{env:d,dynamic_env:d,use_dynamic:h,error:l})}function b(e){if(e in d.__env__){throw new Error("Duplicated let variable ".concat(e))}}return function t(){var r=_[y++];f=w==="let*"?d:p;if(!r){if(v&&v.length){var e=v.map(function(e){return e.value});var n=e.filter(Tu);if(n.length){return Xn(e).then(function(e){for(var t=0,r=e.length;t1&&arguments[1]!==undefined?arguments[1]:{},r=t.use_dynamic,n=t.error;var i=this;var u=this;var a=[];var o=e;while(G(o)){a.push(A(o.car,{env:i,dynamic_env:u,use_dynamic:r,error:n}));o=o.cdr}var s=a.filter(Tu).length;if(s){return Xn(a).then(c.bind(this))}else{return c.call(this,a)}})}function ga(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n2?n-2:0),u=2;u1&&arguments[1]!==undefined?arguments[1]:null;return function(){for(var e=arguments.length,t=new Array(e),r=0;r1?e-1:0),r=1;r=a){return u.apply(this,n)}else{return i}}return i.apply(this,arguments)}}function Oa(n,i){F("limit",i,"function",2);return function(){for(var e=arguments.length,t=new Array(e),r=0;r1){e=e.toLowerCase();if(h.__names__[e]){t=e;e=h.__names__[e]}else{throw new Error("Internal: Unknown named character")}}else{t=h.__rev_names__[e]}Object.defineProperty(this,"__char__",{value:e,enumerable:true});if(t){Object.defineProperty(this,"__name__",{value:t,enumerable:true})}}h.__names__=sn;h.__rev_names__={};Object.keys(h.__names__).forEach(function(e){var t=h.__names__[e];h.__rev_names__[t]=e});h.prototype.toUpperCase=function(){return h(this.__char__.toUpperCase())};h.prototype.toLowerCase=function(){return h(this.__char__.toLowerCase())};h.prototype.toString=function(){return"#\\"+(this.__name__||this.__char__)};h.prototype.valueOf=h.prototype.serialize=function(){return this.__char__};function x(e){if(typeof this!=="undefined"&&!(this instanceof x)||typeof this==="undefined"){return new x(e)}if(e instanceof Array){this.__string__=e.map(function(e,t){F("LString",e,"character",t+1);return e.toString()}).join("")}else{this.__string__=e.valueOf()}}{var Ca=["length","constructor"];var Sa=Object.getOwnPropertyNames(String.prototype).filter(function(e){return!Ca.includes(e)});var ja=function e(n){return function(){for(var e=arguments.length,t=new Array(e),r=0;r0){r.push(this.__string__.substring(0,e))}r.push(t);if(e1&&arguments[1]!==undefined?arguments[1]:false;if(e instanceof j){return e}if(typeof this!=="undefined"&&!(this instanceof j)||typeof this==="undefined"){return new j(e,t)}if(typeof e==="undefined"){throw new Error("Invalid LNumber constructor call")}var r=j.getType(e);if(j.types[r]){return j.types[r](e,t)}var n=e instanceof Array&&x.isString(e[0])&&j.isNumber(e[1]);if(e instanceof j){return j(e.value)}if(!j.isNumber(e)&&!n){throw new Error("You can't create LNumber from ".concat(Mo(e)))}if(e===null){e=0}var i;if(n){var u=e,a=b(u,2),o=a[0],s=a[1];if(o instanceof x){o=o.valueOf()}if(s instanceof j){s=s.valueOf()}var c=o.match(/^([+-])/);var f=false;if(c){o=o.replace(/^[+-]/,"");if(c[1]==="-"){f=true}}}if(Number.isNaN(e)){return g(e)}else if(n&&Number.isNaN(parseInt(o,s))){return go}else if(typeof BigInt!=="undefined"){if(typeof e!=="bigint"){if(n){var l;switch(s){case 8:l="0o";break;case 16:l="0x";break;case 2:l="0b";break;case 10:l="";break}if(typeof l==="undefined"){var h=BigInt(s);i=U(o).map(function(e,t){return BigInt(parseInt(e,s))*Ra(h,BigInt(t))}).reduce(function(e,t){return e+t})}else{i=BigInt(l+o)}}else{i=BigInt(e)}if(f){i*=BigInt(-1)}}else{i=e}return Ya(i,true)}else if(typeof Hr!=="undefined"&&!(e instanceof Hr)){if(e instanceof Array){return Ya(N(Hr,U(e)))}return Ya(new Hr(e))}else if(n){this.constant(parseInt(o,s),"integer")}else{this.constant(e,"integer")}}j.prototype.constant=function(e,t){Object.defineProperty(this,"__value__",{value:e,enumerable:true});Object.defineProperty(this,"__type__",{value:t,enumerable:true})};j.types={float:function e(t){return new g(t)},complex:function e(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(!j.isComplex(t)){t={im:0,re:t}}return new y(t,r)},rational:function e(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(!j.isRational(t)){t={num:t,denom:1}}return new w(t,r)}};j.prototype.serialize=function(){return this.__value__};j.prototype.isNaN=function(){return Number.isNaN(this.__value__)};j.prototype.gcd=function(e){var t=this.abs();e=e.abs();if(e.cmp(t)===1){var r=t;t=e;e=r}while(true){t=t.rem(e);if(t.cmp(0)===0){return e}e=e.rem(t);if(e.cmp(0)===0){return t}}};j.isFloat=function e(t){return t instanceof g||Number(t)===t&&t%1!==0};j.isNumber=function(e){return e instanceof j||j.isNative(e)||j.isBN(e)};j.isComplex=function(e){if(!e){return false}var t=e instanceof y||(j.isNumber(e.im)||j.isRational(e.im)||Number.isNaN(e.im))&&(j.isNumber(e.re)||j.isRational(e.re)||Number.isNaN(e.re));return t};j.isRational=function(e){if(!e){return false}return e instanceof w||j.isNumber(e.num)&&j.isNumber(e.denom)};j.isInteger=function(e){if(!(j.isNative(e)||e instanceof j)){return false}if(j.isFloat(e)){return false}if(j.isRational(e)){return false}if(j.isComplex(e)){return false}return true};j.isNative=function(e){return typeof e==="bigint"||typeof e==="number"};j.isBigInteger=function(e){return e instanceof Ya||typeof e==="bigint"||j.isBN(e)};j.isBN=function(e){return typeof Hr!=="undefined"&&e instanceof Hr};j.getArgsType=function(e,t){if(e instanceof g||t instanceof g){return g}if(e instanceof Ya||t instanceof Ya){return Ya}return j};j.prototype.toString=function(e){if(Number.isNaN(this.__value__)){return"+nan.0"}if(e>=2&&e<36){return this.__value__.toString(e)}return this.__value__.toString()};j.prototype.asType=function(e){var t=j.getType(this);return j.types[t]?j.types[t](e):j(e)};j.prototype.isBigNumber=function(){return typeof this.__value__==="bigint"||typeof Hr!=="undefined"&&!(this.value instanceof Hr)};["floor","ceil","round"].forEach(function(e){j.prototype[e]=function(){if(this["float"]||j.isFloat(this.__value__)){return j(Math[e](this.__value__))}else{return j(Math[e](this.valueOf()))}}});j.prototype.valueOf=function(){if(j.isNative(this.__value__)){return Number(this.__value__)}else if(j.isBN(this.__value__)){return this.__value__.toNumber()}};var Na=function(){var e=function e(t,r){return[t,r]};return{bigint:{bigint:e,float:function e(t,r){return[g(t.valueOf()),r]},rational:function e(t,r){return[{num:t,denom:1},r]},complex:function e(t,r){return[{im:0,re:t},r]}},integer:{integer:e,float:function e(t,r){return[g(t.valueOf()),r]},rational:function e(t,r){return[{num:t,denom:1},r]},complex:function e(t,r){return[{im:0,re:t},r]}},float:{bigint:function e(t,r){return[t,r&&g(r.valueOf())]},integer:function e(t,r){return[t,r&&g(r.valueOf())]},float:e,rational:function e(t,r){return[t,r&&g(r.valueOf())]},complex:function e(t,r){return[{re:t,im:g(0)},r]}},complex:{bigint:t("bigint"),integer:t("integer"),float:t("float"),rational:t("rational"),complex:function e(t,r){var n=j.coerce(t.__re__,r.__re__),i=b(n,2),u=i[0],a=i[1];var o=j.coerce(t.__im__,r.__im__),s=b(o,2),c=s[0],f=s[1];return[{im:c,re:u},{im:f,re:a}]}},rational:{bigint:function e(t,r){return[t,r&&{num:r,denom:1}]},integer:function e(t,r){return[t,r&&{num:r,denom:1}]},float:function e(t,r){return[g(t.valueOf()),r]},rational:e,complex:function e(t,r){return[{im:Ta(t.__type__,r.__im__.__type__,0)[0],re:Ta(t.__type__,r.__re__.__type__,t)[0]},{im:Ta(t.__type__,r.__im__.__type__,r.__im__)[0],re:Ta(t.__type__,r.__re__.__type__,r.__re__)[0]}]}}};function t(r){return function(e,t){return[{im:Ta(r,e.__im__.__type__,0,e.__im__)[1],re:Ta(r,e.__re__.__type__,0,e.__re__)[1]},{im:Ta(r,e.__im__.__type__,0,0)[1],re:Ta(r,t.__type__,0,t)[1]}]}}}();function Ta(e,t,r,n){return Na[e][t](r,n)}j.coerce=function(e,t){var r=j.getType(e);var n=j.getType(t);if(!Na[r]){throw new Error("LNumber::coerce unknown lhs type ".concat(r))}else if(!Na[r][n]){throw new Error("LNumber::coerce unknown rhs type ".concat(n))}var i=Na[r][n](e,t);return i.map(function(e){return j(e,true)})};j.prototype.coerce=function(e){if(!(typeof e==="number"||e instanceof j)){throw new Error("LNumber: you can't coerce ".concat(Mo(e)))}if(typeof e==="number"){e=j(e)}return j.coerce(this,e)};j.getType=function(e){if(e instanceof j){return e.__type__}if(j.isFloat(e)){return"float"}if(j.isComplex(e)){return"complex"}if(j.isRational(e)){return"rational"}if(typeof e==="number"){return"integer"}if(typeof BigInt!=="undefined"&&typeof e!=="bigint"||typeof Hr!=="undefined"&&!(e instanceof Hr)){return"bigint"}};j.prototype.isFloat=function(){return!!(j.isFloat(this.__value__)||this["float"])};var La={add:"+",sub:"-",mul:"*",div:"/",rem:"%",or:"|",and:"&",neg:"~",shl:">>",shr:"<<"};var Ma={};Object.keys(La).forEach(function(t){Ma[La[t]]=t;j.prototype[t]=function(e){return this.op(La[t],e)}});j._ops={"*":function e(t,r){return t*r},"+":function e(t,r){return t+r},"-":function e(t,r){if(typeof r==="undefined"){return-t}return t-r},"/":function e(t,r){return t/r},"%":function e(t,r){return t%r},"|":function e(t,r){return t|r},"&":function e(t,r){return t&r},"~":function e(t){return~t},">>":function e(t,r){return t>>r},"<<":function e(t,r){return t<1&&arguments[1]!==undefined?arguments[1]:false;if(typeof this!=="undefined"&&!(this instanceof y)||typeof this==="undefined"){return new y(e,t)}if(e instanceof y){return y({im:e.__im__,re:e.__re__})}if(j.isNumber(e)&&t){if(!t){return Number(e)}}else if(!j.isComplex(e)){var r="Invalid constructor call for LComplex expect &(:im :re ) object but got ".concat(cu(e));throw new Error(r)}var n=e.im instanceof j?e.im:j(e.im);var i=e.re instanceof j?e.re:j(e.re);this.constant(n,i)}y.prototype=Object.create(j.prototype);y.prototype.constructor=y;y.prototype.constant=function(e,t){Object.defineProperty(this,"__im__",{value:e,enumerable:true});Object.defineProperty(this,"__re__",{value:t,enumerable:true});Object.defineProperty(this,"__type__",{value:"complex",enumerable:true})};y.prototype.serialize=function(){return{re:this.__re__,im:this.__im__}};y.prototype.toRational=function(e){var t=this.__im__,r=this.__re__;if(j.isFloat(this.__im__)){t=g(this.__im__).toRational(e)}if(j.isFloat(this.__re__)){r=g(this.__re__).toRational(e)}return y({im:t,re:r})};y.prototype.pow=function(e){e.cmp(0);if(e===0){return j(1)}var t=j(Math.atan2(this.__im__.valueOf(),this.__re__.valueOf()));var r=j(this.modulus());if(j.isComplex(e)&&e.__im__.cmp(0)!==0){var n=e.mul(Math.log(r.valueOf())).add(y.i.mul(t).mul(e));if(!j.isComplex(n)){return g(Math.E).pow(n)}var i=g(Math.E).pow(n.__re__.valueOf());return y({re:i.mul(Math.cos(n.__im__.valueOf())),im:i.mul(Math.sin(n.__im__.valueOf()))})}var u=e.__re__.cmp(0)>0;e=e.__re__.valueOf();if(j.isInteger(e)&&u){var a=this;while(--e){a=a.mul(this)}return a}var o=r.pow(e);var s=t.mul(e);return y({re:o.mul(Math.cos(s)),im:o.mul(Math.sin(s))})};y.prototype.add=function(e){return this.complex_op("add",e,function(e,t,r,n){return{re:e.add(t),im:r.add(n)}})};y.prototype.factor=function(){if(this.__im__ instanceof g||this.__im__ instanceof g){var e=this.__re__,t=this.__im__;var r,n;if(e instanceof g){r=e.toRational().mul(e.toRational())}else{r=e.mul(e)}if(t instanceof g){n=t.toRational().mul(t.toRational())}else{n=t.mul(t)}return r.add(n)}else{return this.__re__.mul(this.__re__).add(this.__im__.mul(this.__im__))}};y.prototype.modulus=function(){return this.factor().sqrt()};y.prototype.conjugate=function(){return y({re:this.__re__,im:this.__im__.sub()})};y.prototype.sqrt=function(){var e=this.modulus();var t,r;if(e.cmp(0)===0){t=r=e}else if(this.__re__.cmp(0)===1){t=g(.5).mul(e.add(this.__re__)).sqrt();r=this.__im__.div(t).div(2)}else{r=g(.5).mul(e.sub(this.__re__)).sqrt();if(this.__im__.cmp(0)===-1){r=r.sub()}t=this.__im__.div(r).div(2)}return y({im:r,re:t})};y.prototype.div=function(e){if(j.isNumber(e)&&!j.isComplex(e)){if(!(e instanceof j)){e=j(e)}var t=this.__re__.div(e);var r=this.__im__.div(e);return y({re:t,im:r})}else if(!j.isComplex(e)){throw new Error("[LComplex::div] Invalid value")}if(this.cmp(e)===0){var n=this.coerce(e),i=b(n,2),u=i[0],a=i[1];var o=u.__im__.div(a.__im__);return o.coerce(a.__re__)[0]}var s=this.coerce(e),c=b(s,2),f=c[0],l=c[1];var h=l.factor();var _=l.conjugate();var p=f.mul(_);if(!j.isComplex(p)){return p.div(h)}var d=p.__re__.op("/",h);var v=p.__im__.op("/",h);return y({re:d,im:v})};y.prototype.sub=function(e){return this.complex_op("sub",e,function(e,t,r,n){return{re:e.sub(t),im:r.sub(n)}})};y.prototype.mul=function(e){return this.complex_op("mul",e,function(e,t,r,n){var i={re:e.mul(t).sub(r.mul(n)),im:e.mul(n).add(t.mul(r))};return i})};y.prototype.complex_op=function(e,t,i){var u=this;var r=function e(t,r){var n=i(u.__re__,t,u.__im__,r);if("im"in n&&"re"in n){if(n.im.cmp(0)===0){return n.re}return y(n,true)}return n};if(typeof t==="undefined"){return r()}if(j.isNumber(t)&&!j.isComplex(t)){if(!(t instanceof j)){t=j(t)}var n=t.asType(0);t={__im__:n,__re__:t}}else if(!j.isComplex(t)){throw new Error("[LComplex::".concat(e,"] Invalid value"))}var a=t.__re__ instanceof j?t.__re__:this.__re__.asType(t.__re__);var o=t.__im__ instanceof j?t.__im__:this.__im__.asType(t.__im__);return r(a,o)};y._op={"+":"add","-":"sub","*":"mul","/":"div"};y.prototype._op=function(e,t){var r=y._op[e];return this[r](t)};y.prototype.cmp=function(e){var t=this.coerce(e),r=b(t,2),n=r[0],i=r[1];var u=n.__re__.coerce(i.__re__),a=b(u,2),o=a[0],s=a[1];var c=o.cmp(s);if(c!==0){return c}else{var f=n.__im__.coerce(i.__im__),l=b(f,2),h=l[0],_=l[1];return h.cmp(_)}};y.prototype.valueOf=function(){return[this.__re__,this.__im__].map(function(e){return e.valueOf()})};y.prototype.toString=function(){var e;if(this.__re__.cmp(0)!==0){e=[cu(this.__re__)]}else{e=[]}var t=this.__im__.valueOf();var r=[Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY].includes(t);var n=cu(this.__im__);if(!r&&!Number.isNaN(t)){var i=this.__im__.cmp(0);if(i<0||i===0&&this.__im__._minus){e.push("-")}else{e.push("+")}n=n.replace(/^-/,"")}e.push(n);e.push("i");return e.join("")};function g(e){if(typeof this!=="undefined"&&!(this instanceof g)||typeof this==="undefined"){return new g(e)}if(!j.isNumber(e)){throw new Error("Invalid constructor call for LFloat")}if(e instanceof j){return g(e.valueOf())}if(typeof e==="number"){if(Object.is(e,-0)){Object.defineProperty(this,"_minus",{value:true})}this.constant(e,"float")}}g.prototype=Object.create(j.prototype);g.prototype.constructor=g;g.prototype.toString=function(e){if(this.__value__===Number.NEGATIVE_INFINITY){return"-inf.0"}if(this.__value__===Number.POSITIVE_INFINITY){return"+inf.0"}if(Number.isNaN(this.__value__)){return"+nan.0"}e&&(e=e.valueOf());var t=this.__value__.toString(e);if(!t.match(/e[+-]?[0-9]+$/i)){var r=t.replace(/^-/,"");var n=this.__value__<0?"-":"";if(t.match(/^-?0\.0{3}/)){var i=r.match(/^[.0]+/g)[0].length-1;var u=r.replace(/^[.0]+/,"").replace(/^([0-9a-f])/i,"$1.");return"".concat(n).concat(u,"e-").concat(i.toString(e))}if(t.match(/^-?[0-9a-f]{7,}\.?/i)){var a=r.match(/^[0-9a-f]+/gi)[0].length-1;var o=r.replace(/\./,"").replace(/^([0-9a-f])/i,"$1.").replace(/0+$/,"").replace(/\.$/,".0");return"".concat(n).concat(o,"e+").concat(a.toString(e))}if(!j.isFloat(this.__value__)){var s=t+".0";return this._minus?"-"+s:s}}return t.replace(/^([0-9]+)e/,"$1.0e")};g.prototype._op=function(e,t){if(t instanceof j){t=t.__value__}var r=j._ops[e];if(e==="/"&&this.__value__===0&&t===0){return NaN}return g(r(this.__value__,t))};g.prototype.toRational=function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;if(e===null){return Ua(this.__value__.valueOf())}return za(e.valueOf())(this.__value__.valueOf())};g.prototype.sqrt=function(){var e=this.valueOf();if(this.cmp(0)<0){var t=g(Math.sqrt(-e));return y({re:0,im:t})}return g(Math.sqrt(e))};g.prototype.abs=function(){var e=this.valueOf();if(e<0){e=-e}return g(e)};var Ua=za(1e-10);function za(n){return function(e){var t=function e(n,t,r){var i=function e(t,r){return r0){i=$a(n,r)}else if(n.cmp(r)<=0){i=r}else if(r.cmp(0)>0){i=$a(r,n)}else if(t.cmp(0)<0){i=j($a(n.sub(),r.sub())).sub()}else{i=j(0)}if(j.isFloat(t)||j.isFloat(e)){return g(i)}return i}function $a(e,t){var r=j(e).floor();var n=j(t).floor();if(e.cmp(r)<1){return r}else if(r.cmp(n)===0){var i=j(1).div(t.sub(n));var u=j(1).div(e.sub(r));return r.add(j(1).div($a(i,u)))}else{return r.add(j(1))}}function w(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(typeof this!=="undefined"&&!(this instanceof w)||typeof this==="undefined"){return new w(e,t)}if(!j.isRational(e)){throw new Error("Invalid constructor call for LRational")}var r,n;if(e instanceof w){r=j(e.__num__);n=j(e.__denom__)}else{r=j(e.num);n=j(e.denom)}if(!t&&n.cmp(0)!==0){var i=r.op("%",n).cmp(0)===0;if(i){return j(r.div(n))}}this.constant(r,n)}w.prototype=Object.create(j.prototype);w.prototype.constructor=w;w.prototype.constant=function(e,t){Object.defineProperty(this,"__num__",{value:e,enumerable:true});Object.defineProperty(this,"__denom__",{value:t,enumerable:true});Object.defineProperty(this,"__type__",{value:"rational",enumerable:true})};w.prototype.serialize=function(){return{num:this.__num__,denom:this.__denom__}};w.prototype.pow=function(e){if(j.isRational(e)){return Ra(this.valueOf(),e.valueOf())}var t=e.cmp(0);if(t===0){return j(1)}if(t===-1){e=e.sub();var r=this.__denom__.pow(e);var n=this.__num__.pow(e);return w({num:r,denom:n})}var i=this;e=e.valueOf();while(e>1){i=i.mul(this);e--}return i};w.prototype.sqrt=function(){var e=this.__num__.sqrt();var t=this.__denom__.sqrt();if(e instanceof g||t instanceof g){return e.div(t)}return w({num:e,denom:t})};w.prototype.abs=function(){var e=this.__num__;var t=this.__denom__;if(e.cmp(0)===-1){e=e.sub()}if(t.cmp(0)!==1){t=t.sub()}return w({num:e,denom:t})};w.prototype.cmp=function(e){return j(this.valueOf(),true).cmp(e)};w.prototype.toString=function(){var e=this.__num__.gcd(this.__denom__);var t,r;if(e.cmp(1)!==0){t=this.__num__.div(e);if(t instanceof w){t=j(t.valueOf(true))}r=this.__denom__.div(e);if(r instanceof w){r=j(r.valueOf(true))}}else{t=this.__num__;r=this.__denom__}var n=this.cmp(0)<0;if(n){if(t.abs().cmp(r.abs())===0){return t.toString()}}else if(t.cmp(r)===0){return t.toString()}return t.toString()+"/"+r.toString()};w.prototype.valueOf=function(e){if(this.__denom__.cmp(0)===0){if(this.__num__.cmp(0)<0){return Number.NEGATIVE_INFINITY}return Number.POSITIVE_INFINITY}if(e){return j._ops["/"](this.__num__.value,this.__denom__.value)}return g(this.__num__.valueOf()).div(this.__denom__.valueOf())};w.prototype.mul=function(e){if(!(e instanceof j)){e=j(e)}if(j.isRational(e)){var t=this.__num__.mul(e.__num__);var r=this.__denom__.mul(e.__denom__);return w({num:t,denom:r})}var n=j.coerce(this,e),i=b(n,2),u=i[0],a=i[1];return u.mul(a)};w.prototype.div=function(e){if(!(e instanceof j)){e=j(e)}if(j.isRational(e)){var t=this.__num__.mul(e.__denom__);var r=this.__denom__.mul(e.__num__);return w({num:t,denom:r})}var n=j.coerce(this,e),i=b(n,2),u=i[0],a=i[1];var o=u.div(a);return o};w.prototype._op=function(e,t){return this[Ma[e]](t)};w.prototype.sub=function(e){if(typeof e==="undefined"){return this.mul(-1)}if(!(e instanceof j)){e=j(e)}if(j.isRational(e)){var t=e.__num__.sub();var r=e.__denom__;return this.add(w({num:t,denom:r}))}if(!(e instanceof j)){e=j(e).sub()}else{e=e.sub()}var n=j.coerce(this,e),i=b(n,2),u=i[0],a=i[1];return u.add(a)};w.prototype.add=function(e){if(!(e instanceof j)){e=j(e)}if(j.isRational(e)){var t=this.__denom__;var r=e.__denom__;var n=this.__num__;var i=e.__num__;var u,a;if(t!==r){a=r.mul(n).add(i.mul(t));u=t.mul(r)}else{a=n.add(i);u=t}return w({num:a,denom:u})}if(j.isFloat(e)){return g(this.valueOf()).add(e)}var o=j.coerce(this,e),s=b(o,2),c=s[0],f=s[1];return c.add(f)};function Ya(e,t){if(typeof this!=="undefined"&&!(this instanceof Ya)||typeof this==="undefined"){return new Ya(e,t)}if(e instanceof Ya){return Ya(e.__value__,e._native)}if(!j.isBigInteger(e)){throw new Error("Invalid constructor call for LBigInteger")}this.constant(e,"bigint");Object.defineProperty(this,"_native",{value:t})}Ya.prototype=Object.create(j.prototype);Ya.prototype.constructor=Ya;Ya.bn_op={"+":"iadd","-":"isub","*":"imul","/":"idiv","%":"imod","|":"ior","&":"iand","~":"inot","<<":"ishrn",">>":"ishln"};Ya.prototype.serialize=function(){return this.__value__.toString()};Ya.prototype._op=function(e,t){if(typeof t==="undefined"){if(j.isBN(this.__value__)){e=Ya.bn_op[e];return Ya(this.__value__.clone()[e](),false)}return Ya(j._ops[e](this.__value__),true)}if(j.isBN(this.__value__)&&j.isBN(t.__value__)){e=Ya.bn_op[e];return Ya(this.__value__.clone()[e](t),false)}var r=j._ops[e](this.__value__,t.__value__);if(e==="/"){var n=this.op("%",t).cmp(0)===0;if(n){return j(r)}return w({num:this,denom:t})}return Ya(r,true)};Ya.prototype.sqrt=function(){var e;var t=this.cmp(0)<0;if(j.isNative(this.__value__)){e=j(Math.sqrt(t?-this.valueOf():this.valueOf()))}else if(j.isBN(this.__value__)){e=t?this.__value__.neg().sqrt():this.__value__.sqrt()}if(t){return y({re:0,im:e})}return e};j.NaN=j(NaN);y.i=y({im:1,re:0});function Ja(e){var n=this;if(typeof this!=="undefined"&&!(this instanceof Ja)||typeof this==="undefined"){return new Ja(e)}F("InputPort",e,"function");c(this,"__type__",io);var i;Object.defineProperty(this,"__parser__",{enumerable:true,get:function e(){return i},set:function e(t){F("InputPort::__parser__",t,"parser");i=t}});this._read=e;this._with_parser=this._with_init_parser.bind(this,ie(O.mark(function e(){var r;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(n.char_ready()){t.next=5;break}t.next=3;return n._read();case 3:r=t.sent;i=new li(r,{env:n});case 5:return t.abrupt("return",n.__parser__);case 6:case"end":return t.stop()}},e)})));this.char_ready=function(){return!!this.__parser__&&this.__parser__.__lexer__.peek()!==uo};this._make_defaults()}Ja.prototype._make_defaults=function(){this.read=this._with_parser(function(e){return e.read_object()});this.read_line=this._with_parser(function(e){return e.__lexer__.read_line()});this.read_char=this._with_parser(function(e){return e.__lexer__.read_char()});this.read_string=this._with_parser(function(e,t){if(!j.isInteger(t)){var r=j.getType(t);Bo("read-string",r,"integer")}return e.__lexer__.read_string(t.valueOf())});this.peek_char=this._with_parser(function(e){return e.__lexer__.peek_char()})};Ja.prototype._with_init_parser=function(o,s){var c=this;return ie(O.mark(function e(){var r,n,i,u,a=arguments;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:t.next=2;return o.call(c);case 2:r=t.sent;for(n=a.length,i=new Array(n),u=0;u"};function Ka(e){if(typeof this!=="undefined"&&!(this instanceof Ka)||typeof this==="undefined"){return new Ka(e)}F("OutputPort",e,"function");c(this,"__type__",io);this.write=e}Ka.prototype.is_open=function(){return this._closed!==true};Ka.prototype.close=function(){Object.defineProperty(this,"_closed",{get:function e(){return true},set:function e(){},configurable:false,enumerable:false});this.write=function(){throw new Error("output-port: port is closed")}};Ka.prototype.flush=function(){};Ka.prototype.toString=function(){return"#"};var Ha=function(e){R(r,e);function r(e){var t;ue(this,r);t=Pr(this,r,[function(){var e;return(e=t)._write.apply(e,arguments)}]);F("BufferedOutputPort",e,"function");c(L(t),"_fn",e,{hidden:true});c(L(t),"_buffer",[],{hidden:true});return t}ce(r,[{key:"flush",value:function e(){if(this._buffer.length){this._fn(this._buffer.join(""));this._buffer.length=0}}},{key:"_write",value:function e(){var t=this;for(var r=arguments.length,n=new Array(r),i=0;i"};Ga.prototype.valueOf=function(){return this.__buffer__.map(function(e){return e.valueOf()}).join("")};function Wa(e,t){var r=this;if(typeof this!=="undefined"&&!(this instanceof Wa)||typeof this==="undefined"){return new Wa(e,t)}F("OutputFilePort",e,"string");c(this,"__filename__",e);c(this,"_fd",t.valueOf(),{hidden:true});c(this,"__type__",io);this.write=function(e){if(!x.isString(e)){e=cu(e)}else{e=e.valueOf()}r.fs().write(r._fd,e,function(e){if(e){throw e}})}}Wa.prototype=Object.create(Ka.prototype);Wa.prototype.constructor=Wa;Wa.prototype.fs=function(){if(!this._fs){this._fs=this.internal("fs")}return this._fs};Wa.prototype.internal=function(e){return wo.get("**internal-env**").get(e)};Wa.prototype.close=function(){var n=this;return new Promise(function(t,r){n.fs().close(n._fd,function(e){if(e){r(e)}else{c(n,"_fd",null,{hidden:true});Ka.prototype.close.call(n);t()}})})};Wa.prototype.toString=function(){return"#")};function Qa(e,t){var r=this;if(typeof this!=="undefined"&&!(this instanceof Qa)||typeof this==="undefined"){return new Qa(e)}F("InputStringPort",e,"string");t=t||W;e=e.valueOf();this._with_parser=this._with_init_parser.bind(this,function(){if(!r.__parser__){r.__parser__=new li(e,{env:t})}return r.__parser__});c(this,"__type__",io);this._make_defaults()}Qa.prototype.char_ready=function(){return true};Qa.prototype=Object.create(Ja.prototype);Qa.prototype.constructor=Qa;Qa.prototype.toString=function(){return"#"};function Za(e){if(typeof this!=="undefined"&&!(this instanceof Za)||typeof this==="undefined"){return new Za(e)}F("InputByteVectorPort",e,"uint8array");c(this,"__vector__",e);c(this,"__type__",no);var r=0;Object.defineProperty(this,"__index__",{enumerable:true,get:function e(){return r},set:function e(t){F("InputByteVectorPort::__index__",t,"number");if(t instanceof j){t=t.valueOf()}if(typeof t==="bigint"){t=Number(t)}if(Math.floor(t)!==t){throw new Error("InputByteVectorPort::__index__ value is "+"not integer")}r=t}})}Za.prototype=Object.create(Ja.prototype);Za.prototype.constructor=Za;Za.prototype.toString=function(){return"#"};Za.prototype.close=function(){var t=this;c(this,"__vector__",Y);var r=function e(){throw new Error("Input-binary-port: port is closed")};["read_u8","close","peek_u8","read_u8_vector"].forEach(function(e){t[e]=r});this.u8_ready=this.char_ready=function(){return false}};Za.prototype.u8_ready=function(){return true};Za.prototype.peek_u8=function(){if(this.__index__>=this.__vector__.length){return uo}return this.__vector__[this.__index__]};Za.prototype.skip=function(){if(this.__index__<=this.__vector__.length){++this.__index__}};Za.prototype.read_u8=function(){var e=this.peek_u8();this.skip();return e};Za.prototype.read_u8_vector=function(e){if(typeof e==="undefined"){e=this.__vector__.length}else if(e>this.__index__+this.__vector__.length){e=this.__index__+this.__vector__.length}if(this.peek_u8()===uo){return uo}return this.__vector__.slice(this.__index__,e)};function Xa(){if(typeof this!=="undefined"&&!(this instanceof Xa)||typeof this==="undefined"){return new Xa}c(this,"__type__",no);c(this,"_buffer",[],{hidden:true});this.write=function(e){F("write",e,["number","uint8array"]);if(j.isNumber(e)){this._buffer.push(e.valueOf())}else{var t;(t=this._buffer).push.apply(t,U(Array.from(e)))}};Object.defineProperty(this,"__buffer__",{enumerable:true,get:function e(){return Uint8Array.from(this._buffer)}})}Xa.prototype=Object.create(Ka.prototype);Xa.prototype.constructor=Xa;Xa.prototype.close=function(){Ka.prototype.close.call(this);c(this,"_buffer",null,{hidden:true})};Xa.prototype._close_guard=function(){if(this._closed){throw new Error("output-port: binary port is closed")}};Xa.prototype.write_u8=function(e){F("OutputByteVectorPort::write_u8",e,"number");this.write(e)};Xa.prototype.write_u8_vector=function(e){F("OutputByteVectorPort::write_u8_vector",e,"uint8array");this.write(e)};Xa.prototype.toString=function(){return"#"};Xa.prototype.valueOf=function(){return this.__buffer__};function eo(e,t){if(typeof this!=="undefined"&&!(this instanceof eo)||typeof this==="undefined"){return new eo(e,t)}Qa.call(this,e);F("InputFilePort",t,"string");c(this,"__filename__",t)}eo.prototype=Object.create(Qa.prototype);eo.prototype.constructor=eo;eo.prototype.toString=function(){return"#")};function to(e,t){if(typeof this!=="undefined"&&!(this instanceof to)||typeof this==="undefined"){return new to(e,t)}Za.call(this,e);F("InputBinaryFilePort",t,"string");c(this,"__filename__",t)}to.prototype=Object.create(Za.prototype);to.prototype.constructor=to;to.prototype.toString=function(){return"#")};function ro(e,t){var i=this;if(typeof this!=="undefined"&&!(this instanceof ro)||typeof this==="undefined"){return new ro(e,t)}F("OutputBinaryFilePort",e,"string");c(this,"__filename__",e);c(this,"_fd",t.valueOf(),{hidden:true});c(this,"__type__",no);var u;this.write=function(e){F("write",e,["number","uint8array"]);var n;if(!u){u=i.internal("fs")}if(j.isNumber(e)){n=new Uint8Array([e.valueOf()])}else{n=new Uint8Array(Array.from(e))}return new Promise(function(t,r){u.write(i._fd,n,function(e){if(e){r(e)}else{t()}})})}}ro.prototype=Object.create(Wa.prototype);ro.prototype.constructor=ro;ro.prototype.write_u8=function(e){F("OutputByteVectorPort::write_u8",e,"number");this.write(e)};ro.prototype.write_u8_vector=function(e){F("OutputByteVectorPort::write_u8_vector",e,"uint8array");this.write(e)};var no=Symbol["for"]("binary");var io=Symbol["for"]("text");var uo=new ao;function ao(){}ao.prototype.toString=function(){return"#"};function oo(e){var t=this;var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},n=r.stderr,i=r.stdin,u=r.stdout,a=r.command_line,o=a===void 0?null:a,s=le(r,Or);if(typeof this!=="undefined"&&!(this instanceof oo)||typeof this==="undefined"){return new oo(e,z({stdin:i,stdout:u,stderr:n,command_line:o},s))}if(typeof e==="undefined"){e="anonymous"}this.__env__=wo.inherit(e,s);this.__env__.set("parent.frame",l("parent.frame",function(){return t.__env__},W.__env__["parent.frame"].__doc__));var c="**interaction-environment-defaults**";this.set(c,iu(s).concat(c));var f=yo.inherit("internal-".concat(e));if(Zu(i)){f.set("stdin",i)}if(Zu(n)){f.set("stderr",n)}if(Zu(u)){f.set("stdout",u)}f.set("command-line",o);Do(this.__env__,f)}oo.prototype.exec=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var r=t.use_dynamic,n=r===void 0?false:r,i=t.dynamic_env,u=t.env;F("Interpreter::exec",e,["string","array"],1);F("Interpreter::exec",n,"boolean",2);if(!u){u=this.__env__}if(!i){i=u}W.set("**interaction-environment**",this.__env__);return Zo(e,{env:u,dynamic_env:i,use_dynamic:n})};oo.prototype.get=function(e){var t=this.__env__.get(e);if(d(t)){var r=new Ho({env:this.__env__});return t.bind(r)}return t};oo.prototype.set=function(e,t){return this.__env__.set(e,t)};oo.prototype.constant=function(e,t){return this.__env__.constant(e,t)};function so(e,t){this.name="LipsError";this.message=e;this.args=t;this.stack=(new Error).stack}so.prototype=new Error;so.prototype.constructor=so;var co=function(e){R(t,e);function t(){ue(this,t);return Pr(this,t,arguments)}return ce(t)}(T(Error));function E(e,t,r){if(arguments.length===1){if(_(arguments[0])==="object"){e=arguments[0];t=null}else if(typeof arguments[0]==="string"){e={};t=null;r=arguments[0]}}this.__docs__=new Map;this.__env__=e;this.__parent__=t;this.__name__=r||"anonymous"}E.prototype.list=function(){return iu(this.__env__)};E.prototype.fs=function(){return this.get("**fs**")};E.prototype.unset=function(e){if(e instanceof $){e=e.valueOf()}if(e instanceof x){e=e.valueOf()}delete this.__env__[e]};E.prototype.inherit=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};if(_(e)==="object"){t=e}if(!e||_(e)==="object"){e="child of "+(this.__name__||"unknown")}return new E(t||{},this,e)};E.prototype.doc=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(e instanceof $){e=e.__name__}if(e instanceof x){e=e.valueOf()}if(t){if(!r){t=bi(t)}this.__docs__.set(e,t);return this}if(this.__docs__.has(e)){return this.__docs__.get(e)}if(this.__parent__){return this.__parent__.doc(e)}};E.prototype.new_frame=function(e,t){var n=this.inherit("__frame__");n.set("parent.frame",l("parent.frame",function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:1;e=e.valueOf();var t=n.__parent__;if(!Iu(t)){return Y}if(e<=0){return t}var r=t.get("parent.frame");return r(e-1)},W.__env__["parent.frame"].__doc__));t.callee=e;n.set("arguments",t);return n};E.prototype._lookup=function(e){if(e instanceof $){e=e.__name__}if(e instanceof x){e=e.valueOf()}if(this.__env__.hasOwnProperty(e)){return fo(this.__env__[e])}if(this.__parent__){return this.__parent__._lookup(e)}};E.prototype.toString=function(){return"#"};E.prototype.clone=function(){var t=this;var r={};Object.keys(this.__env__).forEach(function(e){r[e]=t.__env__[e]});return new E(r,this.__parent__,this.__name__)};E.prototype.merge=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"merge";F("Environment::merge",e,"environment");return this.inherit(t,e.__env__)};function fo(e){if(typeof this!=="undefined"&&!(this instanceof fo)||typeof this==="undefined"){return new fo(e)}this.value=e}fo.isUndefined=function(e){return e instanceof fo&&typeof e.value==="undefined"};fo.prototype.valueOf=function(){return this.value};function lo(e){if(!e.length){return}if(e.length===1){return e[0]}if(typeof this!=="undefined"&&!(this instanceof lo)||typeof this==="undefined"){return new lo(e)}this.__values__=e}lo.prototype.toString=function(){return this.__values__.map(function(e){return cu(e)}).join("\n")};lo.prototype.valueOf=function(){return this.__values__};E.prototype.get=function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};F("Environment::get",e,["symbol","string"]);var r=t.throwError,n=r===void 0?true:r;var i=e;if(i instanceof $||i instanceof x){i=i.valueOf()}var u=this._lookup(i);if(u instanceof fo){if(fo.isUndefined(u)){return undefined}return Ju(u.valueOf())}var a;if(e instanceof $&&e[$.object]){a=e[$.object]}else if(typeof i==="string"){a=i.split(".").filter(Boolean)}if(a&&a.length>0){var o=a,s=re(o),c=s[0],f=s.slice(1);u=this._lookup(c);if(f.length){try{if(u instanceof fo){u=u.valueOf()}else{u=po(zr,c);if(d(u)){u=Ku(u)}}if(typeof u!=="undefined"){return po.apply(void 0,[u].concat(U(f)))}}catch(e){throw e}}else if(u instanceof fo){return Ju(u.valueOf())}u=po(zr,i)}if(typeof u!=="undefined"){return u}if(n){throw new Error("Unbound variable `"+i.toString()+"'")}};E.prototype.set=function(e,t){var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;F("Environment::set",e,["string","symbol"]);if(j.isNumber(t)){t=j(t)}if(e instanceof $){e=e.__name__}if(e instanceof x){e=e.valueOf()}this.__env__[e]=t;if(r){this.doc(e,r,true)}return this};E.prototype.constant=function(t,e){var r=this;if(this.__env__.hasOwnProperty(t)){throw new Error("Environment::constant: ".concat(t," already exists"))}if(arguments.length===1&&Wi(arguments[0])){var n=arguments[0];Object.keys(n).forEach(function(e){r.constant(t,n[e])})}else{Object.defineProperty(this.__env__,t,{value:e,enumerable:true})}return this};E.prototype.has=function(e){return this.__env__.hasOwnProperty(e)};E.prototype.ref=function(e){var t=this;while(true){if(!t){break}if(t.has(e)){return t}t=t.__parent__}};E.prototype.parents=function(){var e=this;var t=[];while(e){t.unshift(e);e=e.__parent__}return t};function ho(e){if(Tu(e)){return e.then(ho)}if(G(e)||e instanceof $){e[ra]=true}return e}var _o=_i(Jn('(lambda ()\n "[native code]"\n (throw "Invalid Invocation"))'))[0];var po=l("get",function e(t){var r;for(var n=arguments.length,i=new Array(n>1?n-1:0),u=1;u0&&arguments[0]!==undefined?arguments[0]:null;if(e===null){e=vo(this,"stdin")}To("peek-char",e,"input-port");return e.peek_char()},"(peek-char port)\n\n This function reads and returns a character from the string\n port, or, if there is no more data in the string port, it\n returns an EOF."),"read-line":l("read-line",function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;if(e===null){e=vo(this,"stdin")}To("read-line",e,"input-port");return e.read_line()},"(read-line port)\n\n This function reads and returns the next line from the input\n port."),"read-char":l("read-char",function(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;if(e===null){e=vo(this,"stdin")}To("read-char",e,"input-port");return e.read_char()},"(read-char port)\n\n This function reads and returns the next character from the\n input port."),read:l("read",function(){var e=ie(function(){var i=this;var u=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;return O.mark(function e(){var r,n;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:r=i.env;if(u===null){n=vo(r,"stdin")}else{n=u}To("read",n,"input-port");return t.abrupt("return",n.read.call(r));case 4:case"end":return t.stop()}},e)})()});function t(){return e.apply(this,arguments)}return t}(),"(read [port])\n\n This function, if called with a port, it will parse the next\n item from the port. If called without an input, it will read\n a string from standard input (using the browser's prompt or\n a user defined input method) and parse it. This function can be\n used together with `eval` to evaluate code from port."),pprint:l("pprint",function e(t){if(G(t)){t=new Ps.Formatter(t.toString(true))["break"]().format();W.get("display").call(W,t)}else{W.get("write").call(W,t)}W.get("newline").call(W)},"(pprint expression)\n\n This function will pretty print its input to stdout. If it is called\n with a non-list, it will just call the print function on its\n input."),print:l("print",function e(){var t=W.get("display");var r=W.get("newline");var n=this.use_dynamic;var i=W;var u=W;for(var a=arguments.length,o=new Array(a),s=0;s1?r-1:0),i=1;in.length){throw new Error("Not enough arguments")}var o=0;var s=W.get("repr");t=t.replace(u,function(e){var t=e[1];if(t==="~"){return"~"}else if(t==="%"){return"\n"}else{var r=n[o++];if(t==="a"){return s(r)}else{return s(r,true)}}});a=t.match(/~([\S])/);if(a){throw new Error("format: Unrecognized escape sequence ".concat(a[1]))}return t},"(format string n1 n2 ...)\n\n This function accepts a string template and replaces any\n escape sequences in its inputs:\n\n * ~a value as if printed with `display`\n * ~s value as if printed with `write`\n * ~% newline character\n * ~~ literal tilde '~'\n\n If there are missing inputs or other escape characters it\n will error."),display:l("display",function e(t){var r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;if(r===null){r=vo(this,"stdout")}else{F("display",r,"output-port")}var n=t;if(!(r instanceof ro)){n=W.get("repr")(t)}r.write.call(W,n)},"(display string [port])\n\n This function outputs the string to the standard output or\n the port if given. No newline."),"display-error":l("display-error",function e(){var t=vo(this,"stderr");var r=W.get("repr");for(var n=arguments.length,i=new Array(n),u=0;u1&&arguments[1]!==undefined?arguments[1]:{},r=t.use_dynamic,n=le(t,Cr);var i=this;var a=this;var o;var s=z(z({},n),{},{env:this,dynamic_env:i,use_dynamic:r});var c=A(e.cdr.car,s);c=Ro(c);function f(t,r,n){if(Tu(t)){return t.then(function(e){return f(t,e,n)})}if(Tu(r)){return r.then(function(e){return f(t,e,n)})}if(Tu(n)){return n.then(function(e){return f(t,r,e)})}a.get("set-obj!").call(a,t,r,n);return n}if(G(e.car)&&$.is(e.car.car,".")){var l=e.car.cdr.car;var h=e.car.cdr.cdr.car;var _=A(l,s);var p=A(h,s);return f(_,p,c)}if(!(e.car instanceof $)){throw new Error("set! first argument need to be a symbol or "+"dot accessor that evaluate to object.")}var d=e.car.valueOf();o=this.ref(e.car.__name__);return D(c,function(e){if(!o){var t=d.split(".");if(t.length>1){var r=t.pop();var n=t.join(".");var i=u.get(n,{throwError:false});if(i){f(i,r,e);return}}throw new Error("Unbound variable `"+d+"'")}o.set(d,e)})}),"(set! name value)\n\n Macro that can be used to set the value of the variable or slot (mutate it).\n set! searches the scope chain until it finds first non empty slot and sets it."),"unset!":l(new K("set!",function(e){if(!(e.car instanceof $)){throw new Error("unset! first argument need to be a symbol or "+"dot accessor that evaluate to object.")}var t=e.car;var r=this.ref(t);if(r){delete r.__env__[t.__name__]}}),"(unset! name)\n\n Function to delete the specified name from environment.\n Trying to access the name afterwards will error."),"set-car!":l("set-car!",function(e,t){F("set-car!",e,"pair");e.car=t},"(set-car! obj value)\n\n Function that sets the car (first item) of the list/pair to specified value.\n The old value is lost."),"set-cdr!":l("set-cdr!",function(e,t){F("set-cdr!",e,"pair");e.cdr=t},"(set-cdr! obj value)\n\n Function that sets the cdr (tail) of the list/pair to specified value.\n It will destroy the list. The old tail is lost."),"empty?":l("empty?",function(e){return typeof e==="undefined"||H(e)},"(empty? object)\n\n Function that returns #t if value is nil (an empty list) or undefined."),gensym:l("gensym",Qn,"(gensym)\n\n Generates a unique symbol that is not bound anywhere,\n to use with macros as meta name."),load:l("load",function e(o,t){F("load",o,"string");var s=this;if(s.__name__==="__frame__"){s=s.__parent__}if(!(t instanceof E)){if(s===W){t=s}else{t=this.get("**interaction-environment**")}}var c="**module-path**";var f=W.get(c,{throwError:false});o=o.valueOf();if(!o.match(/.[^.]+$/)){o+=".scm"}var r=o.match(/\.xcb$/);function l(e){if(r){e=As(e)}else{if(Mo(e)==="buffer"){e=e.toString()}e=e.replace(/^#!.*/,"");if(e.match(/^\{/)){e=gs(e)}}return Zo(e,{env:t})}function n(e){return zr.fetch(e).then(function(e){return r?e.arrayBuffer():e.text()}).then(function(e){if(r){e=new Uint8Array(e)}return e})}if(Oo()){return new Promise(function(){var r=ie(O.mark(function e(r,n){var i,u,a;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:i=Kr("path");if(!f){t.next=6;break}f=f.valueOf();o=i.join(f,o);t.next=12;break;case 6:u=s.get("command-line",{throwError:false});if(!u){t.next=11;break}t.next=10;return u();case 10:a=t.sent;case 11:if(a&&!H(a)){process.cwd();o=i.join(i.dirname(a.car.valueOf()),o)}case 12:W.set(c,i.dirname(o));Kr("fs").readFile(o,function(e,t){if(e){n(e);W.set(c,f)}else{try{l(t).then(function(){r();W.set(c,f)})["catch"](n)}catch(e){n(e)}}});case 14:case"end":return t.stop()}},e)}));return function(e,t){return r.apply(this,arguments)}}())}if(f){f=f.valueOf();o=f+"/"+o.replace(/^\.?\/?/,"")}return n(o).then(function(e){W.set(c,o.replace(/\/[^/]*$/,""));return l(e)}).then(function(){})["finally"](function(){W.set(c,f)})},"(load filename)\n (load filename environment)\n\n Fetches the file (from disk or network) and evaluates its content as LIPS code.\n If the second argument is provided and it's an environment the evaluation\n will happen in that environment."),while:l(new K("while",function(e,t){var r=e.car;var n=z(z({},t),{},{env:this});var i=new J(new $("begin"),e.cdr);return function t(){return D(A(r,n),function(e){if(e){return D(A(i,n),t)}})}()}),"(while cond body)\n\n Creates a loop, it executes cond and body until cond expression is false."),do:l(new K("do",function(){var r=ie(function(h,e){var _=this;var p=e.use_dynamic,d=e.error;return O.mark(function e(){var o,r,s,c,n,f,l,i,u,a;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:o=_;r=o;s=o.inherit("do");c=h.car;n=h.cdr.car;f=h.cdr.cdr;if(!H(f)){f=new J($("begin"),f)}l={env:o,dynamic_env:r,use_dynamic:p,error:d};i=c;case 9:if(H(i)){t.next=20;break}u=i.car;t.t0=s;t.t1=u.car;t.next=15;return A(u.cdr.car,l);case 15:t.t2=t.sent;t.t0.set.call(t.t0,t.t1,t.t2);i=i.cdr;t.next=9;break;case 20:l={env:s,dynamic_env:r,error:d};a=O.mark(function e(){var r,n,i,u,a;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(H(f)){t.next=3;break}t.next=3;return Ps.evaluate(f,l);case 3:r=c;n={};case 5:if(H(r)){t.next=15;break}i=r.car;if(H(i.cdr.cdr)){t.next=12;break}t.next=10;return A(i.cdr.cdr.car,l);case 10:u=t.sent;n[i.car.valueOf()]=u;case 12:r=r.cdr;t.next=5;break;case 15:a=Object.getOwnPropertySymbols(n);l.env=s=o.inherit("do");Object.keys(n).concat(a).forEach(function(e){s.set(e,n[e])});case 18:case"end":return t.stop()}},e)});case 22:t.next=24;return A(n.car,l);case 24:t.t3=t.sent;if(!(t.t3===false)){t.next=29;break}return t.delegateYield(a(),"t4",27);case 27:t.next=22;break;case 29:if(H(n.cdr)){t.next=33;break}t.next=32;return A(n.cdr.car,l);case 32:return t.abrupt("return",t.sent);case 33:case"end":return t.stop()}},e)})()});return function(e,t){return r.apply(this,arguments)}}()),"(do (( )) (test return) . body)\n\n Iteration macro that evaluates the expression body in scope of the variables.\n On each loop it changes the variables according to the expression and runs\n test to check if the loop should continue. If test is a single value, the macro\n will return undefined. If the test is a pair of expressions the macro will\n evaluate and return the second expression after the loop exits."),if:l(new K("if",function(r,e){var t=e.error,n=e.use_dynamic;var i=this;var u=this;var a={env:u,dynamic_env:i,use_dynamic:n,error:t};var o=function e(t){if(ku(t)){return A(r.cdr.cdr.car,a)}else{return A(r.cdr.car,a)}};if(H(r)){throw new Error("too few expressions for `if`")}var s=A(r.car,a);return D(s,o)}),"(if cond true-expr false-expr)\n\n Macro that evaluates cond expression and if the value is true, it\n evaluates and returns true-expression, if not it evaluates and returns\n false-expression."),"let-env":new K("let-env",function(t){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var r=e.dynamic_env,n=e.use_dynamic,i=e.error;F("let-env",t,"pair");var u=A(t.car,{env:this,dynamic_env:r,error:i,use_dynamic:n});return D(u,function(e){F("let-env",e,"environment");return A(J($("begin"),t.cdr),{env:e,dynamic_env:r,error:i})})},"(let-env env . body)\n\n Special macro that evaluates body in context of given environment\n object."),letrec:l(ma(Symbol["for"]("letrec")),"(letrec ((a value-a) (b value-b) ...) . body)\n\n Macro that creates a new environment, then evaluates and assigns values to\n names and then evaluates the body in context of that environment.\n Values are evaluated sequentially and the next value can access the\n previous values/names."),"letrec*":l(ma(Symbol["for"]("letrec")),"(letrec* ((a value-a) (b value-b) ...) . body)\n\n Same as letrec but the order of execution of the binding is guaranteed,\n so you can use recursive code as well as referencing the previous binding.\n\n In LIPS both letrec and letrec* behave the same."),"let*":l(ma(Symbol["for"]("let*")),"(let* ((a value-a) (b value-b) ...) . body)\n\n Macro similar to `let`, but the subsequent bindings after the first\n are evaluated in the environment including the previous let variables,\n so you can define one variable, and use it in the next's definition."),let:l(ma(Symbol["for"]("let")),"(let ((a value-a) (b value-b) ...) . body)\n\n Macro that creates a new environment, then evaluates and assigns values to names,\n and then evaluates the body in context of that environment. Values are evaluated\n sequentially but you can't access previous values/names when the next are\n evaluated. You can only get them in the body of the let expression. (If you want\n to define multiple variables and use them in each other's definitions, use\n `let*`.)"),"begin*":l(ya("begin*",function(e){return e.pop()}),"(begin* . body)\n\n This macro is a parallel version of begin. It evaluates each expression\n in the body and if it's a promise it will await it in parallel and return\n the value of the last expression (i.e. it uses Promise.all())."),shuffle:l("shuffle",function(e){F("shuffle",e,["pair","nil","array"]);var t=W.get("random");if(H(e)){return Y}if(Array.isArray(e)){return Ji(e.slice(),t)}var r=W.get("list->array")(e);r=Ji(r,t);return W.get("array->list")(r)},"(shuffle obj)\n\n Order items in vector or list in random order."),begin:l(new K("begin",function(e,t){var n=z(z({},t),{},{env:this});var i=W.get("list->array")(e);var u;return function t(){if(i.length){var e=i.shift();var r=A(e,n);return D(r,function(e){u=e;return t()})}else{return u}}()}),"(begin . args)\n\n Macro that runs a list of expressions in order and returns the value\n of the last one. It can be used in places where you can only have a\n single expression, like (if)."),ignore:new K("ignore",function(e,t){var r=z(z({},t),{},{env:this,dynamic_env:this});A(new J(new $("begin"),e),r)},"(ignore . body)\n\n Macro that will evaluate the expression and swallow any promises that may\n be created. It will discard any value that may be returned by the last body\n expression. The code should have side effects and/or when it's promise\n it should resolve to undefined."),"call/cc":l(K.defmacro("call/cc",function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var r=z({env:this},t);return D(A(e.car,r),function(e){if(d(e)){return e(new Wo(null))}})}),"(call/cc proc)\n\n Call-with-current-continuation.\n\n NOT SUPPORTED BY LIPS RIGHT NOW"),parameterize:l(new K("parameterize",function(t,e){var i=e.dynamic_env;var u=i.inherit("parameterize").new_frame(null,{});var a=z(z({},e),{},{env:this});var o=t.car;if(!G(o)){var r=Mo(o);throw new Error("Invalid syntax for parameterize expecting pair got ".concat(r))}function s(){var e=new J(new $("begin"),t.cdr);return A(e,z(z({},a),{},{dynamic_env:u}))}return function r(){var e=o.car;var n=e.car.valueOf();return D(A(e.cdr.car,a),function(e){var t=i.get(n,{throwError:false});if(!Bu(t)){throw new Error("Unknown parameter ".concat(n))}u.set(n,t.inherit(e));if(!Au(o.cdr)){o=o.cdr;return r()}else{return s()}})}()}),"(parameterize ((name value) ...)\n\n Macro that change the dynamic variable created by make-parameter."),"make-parameter":l(new K("make-parameter",function(e,t){t.dynamic_env;var r=A(e.car,t);var n;if(G(e.cdr.car)){n=A(e.cdr.car,t)}return new Ko(r,n)}),"(make-parameter init converter)\n\n Function creates new dynamic variable that can be custimized with parameterize\n macro. The value should be assigned to a variable e.g.:\n\n (define radix (make-parameter 10))\n\n The result value is a procedure that return the value of dynamic variable."),"define-syntax-parameter":l(new K("define-syntax-parameter",function(e,t){var r=e.car;var n=this;if(!(r instanceof $)){throw new Error("define-syntax-parameter: invalid syntax expecting symbol got ".concat(Mo(r)))}var i=A(e.cdr.car,z({env:n},t));F("define-syntax-parameter",i,"syntax",2);i.__name__=r.valueOf();if(i.__name__ instanceof x){i.__name__=i.__name__.valueOf()}var u;if(G(e.cdr.cdr)&&x.isString(e.cdr.cdr.car)){u=e.cdr.cdr.car.valueOf()}n.set(e.car,new Du(i),u,true)}),"(define-syntax-parameter name syntax [__doc__])\n\n Binds to the transformer obtained by evaluating .\n The transformer provides the default expansion for the syntax parameter,\n and in the absence of syntax-parameterize, is functionally equivalent to\n define-syntax."),"syntax-parameterize":l(new K("syntax-parameterize",function(e,t){var r=W.get("list->array")(e.car);var n=this.inherit("syntax-parameterize");while(r.length){var i=r.shift();if(!(G(i)||i.car instanceof $)){var u="invalid syntax for syntax-parameterize: ".concat(Gi(e,true));throw new Error("syntax-parameterize: ".concat(u))}var a=A(i.cdr.car,z(z({},t),{},{env:this}));var o=i.car;F("syntax-parameterize",a,["syntax"]);F("syntax-parameterize",o,"symbol");a.__name__=o.valueOf();if(a.__name__ instanceof x){a.__name__=a.__name__.valueOf()}var s=new Du(a);if(o.is_gensym()){var c=o.literal();var f=this.get(c,{throwError:false});if(f instanceof Du){n.set(c,s)}}n.set(o,s)}var l=new J(new $("begin"),e.cdr);return A(l,z(z({},t),{},{env:n}))}),"(syntax-parameterize (bindings) body)\n\n Macro work similar to let-syntax but the the bindnds will be exposed to the user.\n With syntax-parameterize you can define anaphoric macros."),define:l(K.defmacro("define",function(r,e){var n=this;if(G(r.car)&&r.car.car instanceof $){var t=new J(new $("define"),new J(r.car.car,new J(new J(new $("lambda"),new J(r.car.cdr,r.cdr)))));return t}else if(e.macro_expand){return}e.dynamic_env=this;e.env=n;var i=r.cdr.car;var u;if(G(i)){i=A(i,e);u=true}else if(i instanceof $){i=n.get(i)}F("define",r.car,"symbol");return D(i,function(e){if(n.__name__===wu.__merge_env__){n=n.__parent__}if(u&&(d(e)&&_a(e)||e instanceof wu||Bu(e))){e.__name__=r.car.valueOf();if(e.__name__ instanceof x){e.__name__=e.__name__.valueOf()}}var t;if(G(r.cdr.cdr)&&x.isString(r.cdr.cdr.car)){t=r.cdr.cdr.car.valueOf()}n.set(r.car,e,t,true)})}),'(define name expression)\n (define name expression "doc string")\n (define (function-name . args) . body)\n\n Macro for defining values. It can be used to define variables,\n or functions. If the first argument is list it will create a function\n with name being first element of the list. This form expands to\n `(define function-name (lambda args body))`'),"set-obj!":l("set-obj!",function(e,t,r){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;var i=_(e);if(Au(e)||i!=="object"&&i!=="function"){var u=Bo("set-obj!",Mo(e),["object","function"]);throw new Error(u)}F("set-obj!",t,["string","symbol","number"]);e=Ku(e);t=t.valueOf();if(arguments.length===2){delete e[t]}else if(Cu(e)&&d(r)){e[t]=Ku(r);e[t][oa]=true}else if(d(r)||Uu(r)||H(r)){e[t]=r}else{e[t]=r&&!Cu(r)?r.valueOf():r}if(Qi){var a=e[t];Object.defineProperty(e,t,z(z({},n),{},{value:a}))}},"(set-obj! obj key value)\n (set-obj! obj key value props)\n\n Function set a property of a JavaScript object. props should be a vector of pairs,\n passed to Object.defineProperty."),"null-environment":l("null-environment",function(){return W.inherit("null")},"(null-environment)\n\n Returns a clean environment with only the standard library."),values:l("values",function e(){for(var t=arguments.length,r=new Array(t),n=0;n1&&arguments[1]!==undefined?arguments[1]:{},m=e.use_dynamic,y=e.error;var g=this;var b;if(G(v.cdr)&&x.isString(v.cdr.car)&&!H(v.cdr.cdr)){b=v.cdr.car.valueOf()}function w(){var e=ju(this)?this:{dynamic_env:g},r=e.dynamic_env;var n=g.inherit("lambda");r=r.inherit("lambda");if(this&&!ju(this)){if(this&&!this.__instance__){Object.defineProperty(this,"__instance__",{enumerable:false,get:function e(){return true},set:function e(){},configurable:false})}n.set("this",this)}for(var t=arguments.length,i=new Array(t),u=0;u> SYNTAX");V(e);V(y);var n=w.inherit("syntax");var i=n;var u=this;if(u.__name__===wu.__merge_env__){var a=Object.getOwnPropertySymbols(u.__env__);a.forEach(function(e){u.__parent__.set(e,u.__env__[e])});u=u.__parent__}var o={env:n,dynamic_env:i,use_dynamic:g,error:b};var s,c,f;if(y.car instanceof $){s=y.car;f=D(y.cdr.car);c=y.cdr.cdr}else{s="...";f=D(y.car);c=y.cdr}try{while(!H(c)){var l=c.car.car;var h=c.car.cdr.car;V("[[[ RULE");V(l);var _=xu(l,e,f,s,{expansion:this,define:w});if(_){if(Wr()){console.log(JSON.stringify(nu(_),true,2));console.log("PATTERN: "+l.toString(true));console.log("MACRO: "+e.toString(true))}var p=[];var d=Fu({bindings:_,expr:h,symbols:f,scope:n,lex_scope:u,names:p,ellipsis:s});V("OUPUT>>> ",d);if(d){h=d}var v=u.merge(n,wu.__merge_env__);if(r){return{expr:h,scope:v}}var m=A(h,z(z({},o),{},{env:v}));return Eu(m,p)}c=c.cdr}}catch(e){e.message+="\nin macro:\n ".concat(y.toString(true));throw e}throw new Error("syntax-rules: no matching syntax in macro ".concat(e.toString(true)))},w);r.__code__=y;return r},"(syntax-rules () (pattern expression) ...)\n\n Base of hygienic macros, it will return a new syntax expander\n that works like Lisp macros."),quote:l(new K("quote",function(e){return ho(e.car)}),"(quote expression) or 'expression\n\n Macro that returns a single LIPS expression as data (it won't evaluate the\n argument). It will return a list if put in front of LIPS code.\n And if put in front of a symbol it will return the symbol itself, not the value\n bound to that name."),"unquote-splicing":l("unquote-splicing",function(){throw new Error("You can't call `unquote-splicing` outside of quasiquote")},"(unquote-splicing code) or ,@code\n\n Special form used in the quasiquote macro. It evaluates the expression inside and\n splices the list into quasiquote's result. If it is not the last element of the\n expression, the computed value must be a pair."),unquote:l("unquote",function(){throw new Error("You can't call `unquote` outside of quasiquote")},"(unquote code) or ,code\n\n Special form used in the quasiquote macro. It evaluates the expression inside and\n substitutes the value into quasiquote's result."),quasiquote:K.defmacro("quasiquote",function(e,t){var o=t.use_dynamic,s=t.error;var c=this;var f=c;function u(e){return G(e)||Wi(e)||Array.isArray(e)}function l(e,t){var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:u;if(G(e)){var n=e.car;var i=e.cdr;if(r(n)){n=t(n)}if(r(i)){i=t(i)}if(Tu(n)||Tu(i)){return Xn([n,i]).then(function(e){var t=b(e,2),r=t[0],n=t[1];return new J(r,n)})}else{return new J(n,i)}}return e}function a(e,t){if(G(e)){if(!H(t)){e.append(t)}}else{e=new J(e,t)}return e}function r(e){return!!e.filter(function(e){return G(e)&&$.is(e.car,/^(unquote|unquote-splicing)$/)}).length}function h(e,n,i){return e.reduce(function(e,t){if(!G(t)){e.push(t);return e}if($.is(t.car,"unquote-splicing")){var r;if(n+11){var t="You can't splice multiple atoms inside list";throw new Error(t)}if(!(G(i.cdr)&&H(r[0]))){return r[0]}}r=r.map(function(e){if(d.has(e)){return e.clone()}else{d.add(e);return e}});var n=v(i.cdr,0,1);if(H(n)&&H(r[0])){return undefined}return D(n,function(e){if(H(r[0])){return e}if(r.length===1){return a(r[0],e)}var t=r.reduce(function(e,t){return a(e,t)});return a(t,e)})})}(i.car.cdr)}var d=new Set;function v(e,t,r){if(G(e)){if(G(e.car)){if($.is(e.car.car,"unquote-splicing")){return p(e,t+1,r)}if($.is(e.car.car,"unquote")){if(t+2===r&&G(e.car.cdr)&&G(e.car.cdr.car)&&$.is(e.car.cdr.car.car,"unquote-splicing")){var n=e.car.cdr;return new J(new J(new $("unquote"),p(n,t+2,r)),Y)}else if(G(e.car.cdr)&&!H(e.car.cdr.cdr)){if(G(e.car.cdr.car)){var i=[];return function t(r){if(H(r)){return J.fromArray(i)}return D(A(r.car,{env:c,dynamic_env:f,use_dynamic:o,error:s}),function(e){i.push(e);return t(r.cdr)})}(e.car.cdr)}else{return e.car.cdr}}}}if($.is(e.car,"quasiquote")){var u=v(e.cdr,t,r+1);return new J(e.car,u)}if($.is(e.car,"quote")){return new J(e.car,v(e.cdr,t,r))}if($.is(e.car,"unquote")){t++;if(tr){throw new Error("You can't call `unquote` outside "+"of quasiquote")}if(G(e.cdr)){if(!H(e.cdr.cdr)){if(G(e.cdr.car)){var a=[];return function t(r){if(H(r)){return J.fromArray(a)}return D(A(r.car,{env:c,dynamic_env:f,use_dynamic:o,error:s}),function(e){a.push(e);return t(r.cdr)})}(e.cdr)}else{return e.cdr}}else{return A(e.cdr.car,{env:c,dynamic_env:f,error:s})}}else{return e.cdr}}return l(e,function(e){return v(e,t,r)})}else if(Wi(e)){return _(e,t,r)}else if(e instanceof Array){return h(e,t,r)}return e}function n(e){if(G(e)){delete e[ra];if(!e.have_cycles("car")){n(e.car)}if(!e.have_cycles("cdr")){n(e.cdr)}}}if(Wi(e.car)&&!r(Object.values(e.car))){return ho(e.car)}if(Array.isArray(e.car)&&!r(e.car)){return ho(e.car)}if(G(e.car)&&!e.car.find("unquote")&&!e.car.find("unquote-splicing")&&!e.car.find("quasiquote")){return ho(e.car)}var i=v(e.car,0,1);return D(i,function(e){n(e);return ho(e)})},"(quasiquote list)\n\n Similar macro to `quote` but inside it you can use special expressions (unquote\n x) abbreviated to ,x that will evaluate x and insert its value verbatim or\n (unquote-splicing x) abbreviated to ,@x that will evaluate x and splice the value\n into the result. Best used with macros but it can be used outside."),clone:l("clone",function e(t){F("clone",t,"pair");return t.clone()},"(clone list)\n\n Function that returns a clone of the list, that does not share any pairs with the\n original, so the clone can be safely mutated without affecting the original."),append:l("append",function e(){var t;for(var r=arguments.length,n=new Array(r),i=0;iarray")(t).reverse();return W.get("array->list")(r)}else if(Array.isArray(t)){return t.reverse()}else{throw new Error(Bo("reverse",Mo(t),"array or pair"))}},"(reverse list)\n\n Function that reverses the list or array. If value is not a list\n or array it will error."),nth:l("nth",function e(t,r){F("nth",t,"number");F("nth",r,["array","pair"]);if(G(r)){var n=r;var i=0;while(iarray")(r).join(t)},"(join separator list)\n\n Function that returns a string by joining elements of the list using separator."),split:l("split",function e(t,r){F("split",t,["regex","string"]);F("split",r,"string");return W.get("array->list")(r.split(t))},"(split separator string)\n\n Function that creates a list by splitting string by separator which can\n be a string or regular expression."),replace:l("replace",function e(t,r,n){F("replace",t,["regex","string"]);F("replace",r,["string","function"]);F("replace",n,"string");if(d(r)){var i=[];n.replace(t,function(){i.push(r.apply(void 0,arguments))});return D(i,function(e){return n.replace(t,function(){return e.shift()})})}return n.replace(t,r)},"(replace pattern replacement string)\n\n Function that changes pattern to replacement inside string. Pattern can be a\n string or regex and replacement can be function or string. See Javascript\n String.replace()."),match:l("match",function e(t,r){F("match",t,["regex","string"]);F("match",r,"string");var n=r.match(t);return n?W.get("array->list")(n):false},"(match pattern string)\n\n Function that returns a match object from JavaScript as a list or #f if\n no match."),search:l("search",function e(t,r){F("search",t,["regex","string"]);F("search",r,"string");return r.search(t)},"(search pattern string)\n\n Function that returns the first found index of the pattern inside a string."),repr:l("repr",function e(t,r){return cu(t,r)},"(repr obj)\n\n Function that returns a LIPS code representation of the object as a string."),"escape-regex":l("escape-regex",function(e){F("escape-regex",e,"string");return Rn(e.valueOf())},"(escape-regex string)\n\n Function that returns a new string where all special operators used in regex,\n are escaped with backslashes so they can be used in the RegExp constructor\n to match a literal string."),env:l("env",function e(e){e=e||this.env;var t=Object.keys(e.__env__).map($);var r;if(t.length){r=J.fromArray(t)}else{r=Y}if(e.__parent__ instanceof E){return W.get("env").call(this,e.__parent__).append(r)}return r},"(env)\n (env obj)\n\n Function that returns a list of names (functions, macros and variables)\n that are bound in the current environment or one of its parents."),new:l("new",function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n2&&arguments[2]!==undefined?arguments[2]:ri.LITERAL;F("set-special!",e,"string",1);F("set-special!",t,"symbol",2);ri.append(e.valueOf(),t,r)},'(set-special! symbol name [type])\n\n Add a special symbol to the list of transforming operators by the parser.\n e.g.: `(add-special! "#" \'x)` will allow to use `#(1 2 3)` and it will be\n transformed into (x (1 2 3)) so you can write x macro that will process\n the list. 3rd argument is optional, and it can be one of two values:\n lips.specials.LITERAL, which is the default behavior, or\n lips.specials.SPLICE which causes the value to be unpacked into the expression.\n This can be used for e.g. to make `#(1 2 3)` into (x 1 2 3) that is needed\n by # that defines vectors.'),get:po,".":po,unbind:l(Ku,"(unbind fn)\n\n Function that removes the weak 'this' binding from a function so you\n can get properties from the actual function object."),type:l(Mo,"(type object)\n\n Function that returns the type of an object as string."),debugger:l("debugger",function(){debugger},'(debugger)\n\n Function that triggers the JavaScript debugger (e.g. the browser devtools)\n using the "debugger;" statement. If a debugger is not running this\n function does nothing.'),in:l("in",function(e,t){if(e instanceof $||e instanceof x||e instanceof j){e=e.valueOf()}return e in Yu(t)},'(in key value)\n\n Function that uses the Javascript "in" operator to check if key is\n a valid property in the value.'),"instance?":l("instance?",function(e){return Ru(e)},"(instance? obj)\n\n Checks if object is an instance, created with a new operator"),instanceof:l("instanceof",function(e,t){return t instanceof Ku(e)},"(instanceof type obj)\n\n Predicate that tests if the obj is an instance of type."),"prototype?":l("prototype?",Cu,"(prototype? obj)\n\n Predicate that tests if value is a valid JavaScript prototype,\n i.e. calling (new) with it will not throw ' is not a constructor'."),"macro?":l("macro?",function(e){return e instanceof K},"(macro? expression)\n\n Predicate that tests if value is a macro."),"continuation?":l("continuation?",Su,"(continuation? expression)\n\n Predicate that tests if value is a callable continuation."),"function?":l("function?",d,"(function? expression)\n\n Predicate that tests if value is a callable function."),"real?":l("real?",function(e){if(Mo(e)!=="number"){return false}if(e instanceof j){return e.isFloat()}return j.isFloat(e)},"(real? number)\n\n Predicate that tests if value is a real number (not complex)."),"number?":l("number?",function(e){return Number.isNaN(e)||j.isNumber(e)},"(number? expression)\n\n Predicate that tests if value is a number or NaN value."),"string?":l("string?",function(e){return x.isString(e)},"(string? expression)\n\n Predicate that tests if value is a string."),"pair?":l("pair?",G,"(pair? expression)\n\n Predicate that tests if value is a pair or list structure."),"regex?":l("regex?",function(e){return e instanceof RegExp},"(regex? expression)\n\n Predicate that tests if value is a regular expression."),"null?":l("null?",function(e){return Au(e)},"(null? expression)\n\n Predicate that tests if value is null-ish (i.e. undefined, nil, or\n Javascript null)."),"boolean?":l("boolean?",function(e){return typeof e==="boolean"},"(boolean? expression)\n\n Predicate that tests if value is a boolean (#t or #f)."),"symbol?":l("symbol?",function(e){return e instanceof $},"(symbol? expression)\n\n Predicate that tests if value is a LIPS symbol."),"array?":l("array?",function(e){return e instanceof Array},"(array? expression)\n\n Predicate that tests if value is an array."),"object?":l("object?",function(e){return!H(e)&&e!==null&&!(e instanceof h)&&!(e instanceof RegExp)&&!(e instanceof x)&&!G(e)&&!(e instanceof j)&&_(e)==="object"&&!(e instanceof Array)},"(object? expression)\n\n Predicate that tests if value is an plain object (not another LIPS type)."),flatten:l("flatten",function e(t){F("flatten",t,"pair");return t.flatten()},"(flatten list)\n\n Returns a shallow list from tree structure (pairs)."),"array->list":l("array->list",function(e){F("array->list",e,"array");return J.fromArray(e)},"(array->list array)\n\n Function that converts a JavaScript array to a LIPS cons list."),"tree->array":l("tree->array",Hi("tree->array",true),"(tree->array list)\n\n Function that converts a LIPS cons tree structure into a JavaScript array."),"list->array":l("list->array",Hi("list->array"),"(list->array list)\n\n Function that converts a LIPS list into a JavaScript array."),apply:l("apply",function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;iarray").call(this,u));return t.apply(this,Vo(t,n))},"(apply fn list)\n\n Function that calls fn with the list of arguments."),length:l("length",function e(t){if(!t||H(t)){return 0}if(G(t)){return t.length()}if("length"in t){return t.length}},'(length expression)\n\n Function that returns the length of the object. The object can be a LIPS\n list or any object that has a "length" property. Returns undefined if the\n length could not be found.'),"string->number":l("string->number",function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:10;F("string->number",e,"string",1);F("string->number",t,"number",2);e=e.valueOf();t=t.valueOf();if(e.match(bn)||e.match(mn)){return Fn(e,t)}else if(e.match(wn)||e.match(vn)){return On(e,t)}else{var r=t===10&&!e.match(/e/i)||t===16;if(e.match(gn)&&r||e.match(yn)){return An(e,t)}if(e.match(un)){return Bn(e)}}return false},"(string->number number [radix])\n\n Function that parses a string into a number."),try:l(new K("try",function(r,e){var l=this;var h=e.use_dynamic;e.error;return new Promise(function(t,o){var s,n;if($.is(r.cdr.car.car,"catch")){s=r.cdr.car;if(G(r.cdr.cdr)&&$.is(r.cdr.cdr.car.car,"finally")){n=r.cdr.cdr.car}}else if($.is(r.cdr.car.car,"finally")){n=r.cdr.car}if(!(n||s)){throw new Error("try: invalid syntax")}function c(e){t(e);throw new co("[CATCH]")}var f=function e(t,r){r(t)};if(n){f=function e(t,r){f=o;i.error=function(e){throw e};D(A(new J(new $("begin"),n.cdr),i),function(){r(t)})}}var i={env:l,use_dynamic:h,dynamic_env:l,error:function e(t){if(t instanceof co){throw t}if(s){var r=l.inherit("try");var n=s.cdr.car.car;if(!(n instanceof $)){throw new Error("try: invalid syntax: catch require variable name")}r.set(n,t);var i;var u={env:r,use_dynamic:h,dynamic_env:l,error:function e(t){i=true;o(t);throw new co("[CATCH]")}};var a=A(new J(new $("begin"),s.cdr.cdr),u);D(a,function e(t){if(!i){f(t,c)}})}else{f(undefined,function(){o(t)})}}};var e=A(r.car,i);D(e,function(e){f(e,t)},i.error)})}),"(try expr (catch (e) code))\n (try expr (catch (e) code) (finally code))\n (try expr (finally code))\n\n Macro that executes expr and catches any exceptions thrown. If catch is provided\n it's executed when an error is thrown. If finally is provided it's always\n executed at the end."),raise:l("raise",function(e){throw e},"(raise obj)\n\n Throws the object verbatim (no wrapping an a new Error)."),throw:l("throw",function(e){throw new Error(e)},"(throw string)\n\n Throws a new exception."),find:l("find",function t(r,n){F("find",r,["regex","function"]);F("find",n,["pair","nil"]);if(Au(n)){return Y}var e=gi("find",r);return D(e(n.car),function(e){if(e&&!H(e)){return n.car}return t(r,n.cdr)})},"(find fn list)\n (find regex list)\n\n Higher-order function that finds the first value for which fn return true.\n If called with a regex it will create a matcher function."),"for-each":l("for-each",function(e){var t;F("for-each",e,"function");for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i1?t-1:0),u=1;u3?n-3:0),u=3;u3?i-3:0),a=3;aarray")(r);var u=[];var a=gi("filter",t);return function t(r){function e(e){if(e&&!H(e)){u.push(n)}return t(++r)}if(r===i.length){return J.fromArray(u)}var n=i[r];return D(a(n),e)}(0)},"(filter fn list)\n (filter regex list)\n\n Higher-order function that calls `fn` for each element of the list\n and return a new list for only those elements for which fn returns\n a truthy value. If called with a regex it will create a matcher function."),compose:l(wa,"(compose . fns)\n\n Higher-order function that creates a new function that applies all functions\n from right to left and returns the last value. Reverse of pipe.\n e.g.:\n ((compose (curry + 2) (curry * 3)) 10) --\x3e (+ 2 (* 3 10)) --\x3e 32"),pipe:l(ba,"(pipe . fns)\n\n Higher-order function that creates a new function that applies all functions\n from left to right and returns the last value. Reverse of compose.\n e.g.:\n ((pipe (curry + 2) (curry * 3)) 10) --\x3e (* 3 (+ 2 10)) --\x3e 36"),curry:l(ka,"(curry fn . args)\n\n Higher-order function that creates a curried version of the function.\n The result function will have partially applied arguments and it\n will keep returning one-argument functions until all arguments are provided,\n then it calls the original function with the accumulated arguments.\n\n e.g.:\n (define (add a b c d) (+ a b c d))\n (define add1 (curry add 1))\n (define add12 (add 2))\n (display (add12 3 4))"),gcd:l("gcd",function e(){for(var t=arguments.length,r=new Array(t),n=0;no?u%=o:o%=u}u=hu(s*r[a])/(u+o)}return j(u)},"(lcm n1 n2 ...)\n\n Function that returns the least common multiple of the arguments."),"odd?":l("odd?",Ea(function(e){return j(e).isOdd()}),"(odd? number)\n\n Checks if number is odd."),"even?":l("even?",Ea(function(e){return j(e).isEven()}),"(even? number)\n\n Checks if number is even."),"*":l("*",Aa(function(e,t){return j(e).mul(t)},j(1)),"(* . numbers)\n\n Multiplies all numbers passed as arguments. If single value is passed\n it will return that value."),"+":l("+",Aa(function(e,t){return j(e).add(t)},j(0)),"(+ . numbers)\n\n Sums all numbers passed as arguments. If single value is passed it will\n return that value."),"-":l("-",function(){for(var e=arguments.length,t=new Array(e),r=0;r":l(">",function(){for(var e=arguments.length,t=new Array(e),r=0;r",t,["bigint","float","rational"]);return _u(function(e,t){return j(e).cmp(t)===1},t)},"(> x1 x2 x3 ...)\n\n Function that compares its numerical arguments and checks if they are\n monotonically decreasing, i.e. x1 > x2 and x2 > x3 and so on."),"<":l("<",function(){for(var e=arguments.length,t=new Array(e),r=0;r=":l(">=",function(){for(var e=arguments.length,t=new Array(e),r=0;r=",t,["bigint","float","rational"]);return _u(function(e,t){return[0,1].includes(j(e).cmp(t))},t)},"(>= x1 x2 ...)\n\n Function that compares its numerical arguments and checks if they are\n monotonically nonincreasing, i.e. x1 >= x2 and x2 >= x3 and so on."),"eq?":l("eq?",pu,"(eq? a b)\n\n Function that compares two values if they are identical."),or:l(new K("or",function(e,t){var i=t.use_dynamic,u=t.error;var a=W.get("list->array")(e);var o=this;var s=o;if(!a.length){return false}var c;return function t(){function e(e){c=e;if(!ku(c)){return c}else{return t()}}if(!a.length){if(!ku(c)){return c}else{return false}}else{var r=a.shift();var n=A(r,{env:o,dynamic_env:s,use_dynamic:i,error:u});return D(n,e)}}()}),"(or . expressions)\n\n Macro that executes the values one by one and returns the first that is\n a truthy value. If there are no expressions that evaluate to true it\n returns false."),and:l(new K("and",function(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},r=t.use_dynamic,n=t.error;var i=W.get("list->array")(e);var u=this;var a=u;if(!i.length){return true}var o;var s={env:u,dynamic_env:a,use_dynamic:r,error:n};return function t(){function e(e){o=e;if(ku(o)){return o}else{return t()}}if(!i.length){if(!ku(o)){return o}else{return false}}else{var r=i.shift();return D(A(r,s),e)}}()}),"(and . expressions)\n\n Macro that evaluates each expression in sequence and if any value returns false\n it will stop and return false. If each value returns true it will return the\n last value. If it's called without arguments it will return true."),"|":l("|",function(e,t){return j(e).or(t)},"(| a b)\n\n Function that calculates the bitwise or operation."),"&":l("&",function(e,t){return j(e).and(t)},"(& a b)\n\n Function that calculates the bitwise and operation."),"~":l("~",function(e){return j(e).neg()},"(~ number)\n\n Function that calculates the bitwise inverse (flip all the bits)."),">>":l(">>",function(e,t){return j(e).shr(t)},"(>> a b)\n\n Function that right shifts the value a by value b bits."),"<<":l("<<",function(e,t){return j(e).shl(t)},"(<< a b)\n\n Function that left shifts the value a by value b bits."),not:l("not",function e(t){if(Au(t)){return true}return!t},"(not object)\n\n Function that returns the Boolean negation of its argument.")},undefined,"global");var wo=W.inherit("user-env");function Do(e,t){e.constant("**internal-env**",t);e.doc("**internal-env**","**internal-env**\n\n Constant used to hide stdin, stdout and stderr so they don't interfere\n with variables with the same name. Constants are an internal type\n of variable that can't be redefined, defining a variable with the same name\n will throw an error.");W.set("**interaction-environment**",e)}Do(wo,yo);W.doc("**interaction-environment**","**interaction-environment**\n\n Internal dynamic, global variable used to find interpreter environment.\n It's used so the read and write functions can locate **internal-env**\n that contains the references to stdin, stdout and stderr.");function xo(e){wo.get("**internal-env**").set("fs",e)}(function(){var e={ceil:"ceiling"};["floor","round","ceil"].forEach(function(t){var r=e[t]?e[t]:t;W.set(r,l(r,function(e){F(r,e,"number");if(e instanceof j){return e[t]()}},"(".concat(r," number)\n\n Function that calculates the ").concat(r," of a number.")))})})();function Eo(e){if(e.length===1){return e[0]}else{var t=[];var r=Eo(e.slice(1));for(var n=0;n3&&arguments[3]!==undefined?arguments[3]:null;var i=e?" in expression `".concat(e,"`"):"";if(n!==null){i+=" (argument ".concat(n,")")}if(d(r)){return"Invalid type: got ".concat(t).concat(i)}if(r instanceof Array){if(r.length===1){var u=r[0].toLowerCase();r="a"+("aeiou".includes(u)?"n ":" ")+r[0]}else{r=new Intl.ListFormat("en",{style:"long",type:"disjunction"}).format(r)}}return"Expecting ".concat(r," got ").concat(t).concat(i)}function Io(e,t,r){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;F(e,t,"number",n);var i=t.__type__;var u;if(G(r)){r=r.to_array()}if(r instanceof Array){r=r.map(function(e){return e.valueOf()})}if(r instanceof Array){r=r.map(function(e){return e.valueOf().toLowerCase()});if(r.includes(i)){u=true}}else{r=r.valueOf().toLowerCase()}if(!u&&i!==r){throw new Error(Bo(e,i,r,n))}}function Po(r,e,n){e.forEach(function(e,t){Io(r,e,n,t+1)})}function No(r,e,n){e.forEach(function(e,t){F(r,e,n,t+1)})}function To(e,t,r){F(e,t,r);if(t.__type__===no){throw new Error(Bo(e,"binary-port","textual-port"))}}function F(e,t,r){var n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:null;e=e.valueOf();var i=Mo(t).toLowerCase();if(d(r)){if(!r(t)){throw new Error(Bo(e,i,r,n))}return}var u=false;if(G(r)){r=r.to_array()}if(r instanceof Array){r=r.map(function(e){return e.valueOf()})}if(r instanceof Array){r=r.map(function(e){return e.valueOf().toLowerCase()});if(r.includes(i)){u=true}}else{r=r.valueOf().toLowerCase()}if(!u&&i!==r){throw new Error(Bo(e,i,r,n))}}function Lo(r){var n=new WeakMap;return function(e){var t=n.get(e);if(!t){t=r(e)}return t}}Mo=Lo(Mo);function Mo(e){var t=$r.get(e);if(t){return t}if(_(e)==="object"){for(var r=0,n=Object.entries(Vr);r2&&arguments[2]!==undefined?arguments[2]:{},n=r.env,i=r.dynamic_env,u=r.use_dynamic;var a=n===null||n===void 0?void 0:n.new_frame(e,t);var o=i===null||i===void 0?void 0:i.new_frame(e,t);var s=new Ho({env:a,use_dynamic:u,dynamic_env:o});return Ro(e.apply(s,t))}function Yo(n,e){var t=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{},i=t.env,u=t.dynamic_env,a=t.use_dynamic,r=t.error,o=r===void 0?function(){}:r;e=qo(e,{env:i,dynamic_env:u,error:o,use_dynamic:a});return D(e,function(e){if(da(n)){n=Ku(n)}e=Vo(n,e);var t=e.slice();var r=$o(n,t,{env:i,dynamic_env:u,use_dynamic:a});return D(r,function(e){if(G(e)){e.mark_cycles();return ho(e)}return Vu(e)},o)})}var Jo=new WeakMap;var Ko=function(){function n(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;ue(this,n);q(this,"__value__",void 0);q(this,"__fn__",void 0);Br(this,Jo,{writable:true,value:void 0});this.__value__=e;if(t){if(!d(t)){throw new Error("Section argument to Parameter need to be function "+"".concat(Mo(t)," given"))}this.__fn__=t}if(r){f(this,Jo,r)}}ce(n,[{key:"__name__",get:function e(){return r(this,Jo)},set:function e(t){f(this,Jo,t);if(this.__fn__){this.__fn__.__name__="fn-".concat(t)}}},{key:"invoke",value:function e(){if(d(this.__fn__)){return this.__fn__(this.__value__)}return this.__value__}},{key:"inherit",value:function e(t){return new n(t,this.__fn__,this.__name__)}}]);return n}();var Ho=function(){function t(e){ue(this,t);q(this,"env",void 0);q(this,"dynamic_env",void 0);q(this,"use_dynamic",void 0);Object.assign(this,e)}ce(t,[{key:"__name__",get:function e(){return this.env.__name__}},{key:"__parent__",get:function e(){return this.env.__parent__}},{key:"get",value:function e(){var t;return(t=this.env).get.apply(t,arguments)}}]);return t}();function Go(e,t){var r=e.get(t.__name__,{throwError:false});if(Bu(r)&&r!==t){return r}var n=wo.get("**interaction-environment**");while(true){var i=e.get("parent.frame",{throwError:false});e=i(0);if(e===n){break}r=e.get(t.__name__,{throwError:false});if(Bu(r)&&r!==t){return r}}return t}var Wo=function(){function t(e){ue(this,t);q(this,"__value__",void 0);this.__value__=e}ce(t,[{key:"invoke",value:function e(){if(this.__value__===null){throw new Error("Continuations are not implemented yet")}}}]);return t}();function A(o){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},s=e.env,c=e.dynamic_env,f=e.use_dynamic,t=e.error,l=t===void 0?Co:t,r=le(e,jr);return function(e){try{if(!Iu(c)){c=s===true?wo:s||wo}if(f){s=c}else if(s===true){s=wo}else{s=s||W}var t={env:s,dynamic_env:c,use_dynamic:f,error:l};var r;if(Au(o)){return o}if(o instanceof $){return s.get(o)}if(!G(o)){return o}var n=o.car;var e=o.cdr;if(G(n)){r=Ro(A(n,t));if(Tu(r)){return r.then(function(e){if(!Pu(e)){throw new Error(Mo(e)+" "+s.get("repr")(e)+" is not callable while evaluating "+o.toString())}return A(new J(e,o.cdr),t)})}else if(!Pu(r)){throw new Error(Mo(r)+" "+s.get("repr")(r)+" is not callable while evaluating "+o.toString())}}if(n instanceof $){r=s.get(n)}else if(d(n)){r=n}var i;if(r instanceof wu){i=Uo(r,o,t)}else if(r instanceof K){i=zo(r,e,t)}else if(d(r)){i=Yo(r,e,t)}else if(r instanceof Du){i=Uo(r._syntax,o,t)}else if(Bu(r)){var u=Go(c,r);if(Au(o.cdr)){i=u.invoke()}else{return D(A(o.cdr.car,t),function(e){u.__value__=e})}}else if(Su(r)){i=r.invoke()}else if(G(o)){r=n&&n.toString();throw new Error("".concat(Mo(n)," ").concat(r," is not a function"))}else{return o}var a=s.get(Symbol["for"]("__promise__"),{throwError:false});if(a===true&&Tu(i)){i=i.then(function(e){if(G(e)&&!r[ra]){return A(e,t)}return e});return new Zn(i)}return i}catch(e){l&&l.call(s,e,o)}}(r)}var Qo=es(function(e){return e});var Zo=es(function(e,t){return t});function Xo(e){var t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},r=t.env,n=t.dynamic_env,i=t.use_dynamic;return A(e,{env:r,dynamic_env:n,use_dynamic:i,error:function e(t,r){if(t&&t.message){if(t.message.match(/^Error:/)){var n=/^(Error:)\s*([^:]+:\s*)/;t.message=t.message.replace(n,"$1 $2")}if(r){if(!(t.__code__ instanceof Array)){t.__code__=[]}t.__code__.push(r.toString(true))}}if(!(t instanceof co)){throw t}}})}function es(d){return function(){var t=ie(function(l){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},h=e.env,_=e.dynamic_env,p=e.use_dynamic;return O.mark(function e(){var r,n,i,u,a,o,s,c,f;return O.wrap(function e(t){while(1)switch(t.prev=t.next){case 0:if(!Iu(_)){_=h===true?wo:h||wo}if(h===true){h=wo}else{h=h||wo}r=[];if(!G(l)){t.next=8;break}t.next=6;return Xo(code,{env:h,dynamic_env:_,use_dynamic:p});case 6:t.t0=t.sent;return t.abrupt("return",[t.t0]);case 8:n=Array.isArray(l)?l:_i(l);i=false;u=false;t.prev=11;o=qr(n);case 13:t.next=15;return o.next();case 15:if(!(i=!(s=t.sent).done)){t.next=31;break}c=s.value;t.next=19;return Xo(c,{env:h,dynamic_env:_,use_dynamic:p});case 19:f=t.sent;t.t1=r;t.t2=d;t.t3=c;t.next=25;return f;case 25:t.t4=t.sent;t.t5=(0,t.t2)(t.t3,t.t4);t.t1.push.call(t.t1,t.t5);case 28:i=false;t.next=13;break;case 31:t.next=37;break;case 33:t.prev=33;t.t6=t["catch"](11);u=true;a=t.t6;case 37:t.prev=37;t.prev=38;if(!(i&&o["return"]!=null)){t.next=42;break}t.next=42;return o["return"]();case 42:t.prev=42;if(!u){t.next=45;break}throw a;case 45:return t.finish(42);case 46:return t.finish(37);case 47:return t.abrupt("return",r);case 48:case"end":return t.stop()}},e,null,[[11,33,37,47],[38,,42,46]])})()});function e(e){return t.apply(this,arguments)}return e}()}function ts(e){var t={"[":"]","(":")"};var r;if(typeof e==="string"){r=Jn(e)}else{r=e.map(function(e){return e&&e.token?e.token:e})}var n=Object.keys(t);var i=Object.values(t).concat(n);r=r.filter(function(e){return i.includes(e)});var u=new qn;var a=Tr(r),o;try{for(a.s();!(o=a.n()).done;){var s=o.value;if(n.includes(s)){u.push(s)}else if(!u.is_empty()){var c=u.top();var f=t[c];if(s===f){u.pop()}else{throw new Error("Syntax error: missing closing ".concat(f))}}else{throw new Error("Syntax error: not matched closing ".concat(s))}}}catch(e){a.e(e)}finally{a.f()}return u.is_empty()}function rs(e){var t="("+e.toString()+")()";var r=window.URL||window.webkitURL;var n;try{n=new Blob([t],{type:"application/javascript"})}catch(e){var i=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder;n=new i;n.append(t);n=n.getBlob()}return new zr.Worker(r.createObjectURL(n))}function ns(){return Ps.version.match(/^(\{\{VER\}\}|DEV)$/)}function is(){if(Oo()){return}var e;if(document.currentScript){e=document.currentScript}else{var t=document.querySelectorAll("script");if(!t.length){return}e=t[t.length-1]}var r=e.getAttribute("src");return r}var us=is();function as(){var e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"";var t="dist/std.xcb";if(e===""){if(us){e=us.replace(/[^/]*$/,"std.xcb")}else if(ns()){e="https://cdn.jsdelivr.net/gh/jcubic/lips@devel/".concat(t)}else{e="https://cdn.jsdelivr.net/npm/@jcubic/lips@".concat(Ps.version,"/").concat(t)}}var r=W.get("load");return r.call(wo,e,W)}function os(e){this.url=e;var a=this.worker=rs(function(){var a;var o;self.addEventListener("message",function(e){var r=e.data;var t=r.id;if(r.type!=="RPC"||t===null){return}function n(e){self.postMessage({id:t,type:"RPC",result:e})}function i(e){self.postMessage({id:t,type:"RPC",error:e})}if(r.method==="eval"){if(!o){i("Worker RPC: LIPS not initialized, call init first");return}o.then(function(){var e=r.params[0];var t=r.params[1];a.exec(e,{use_dynamic:t}).then(function(e){e=e.map(function(e){return e&&e.valueOf()});n(e)})["catch"](function(e){i(e)})})}else if(r.method==="init"){var u=r.params[0];if(typeof u!=="string"){i("Worker RPC: url is not a string")}else{importScripts("".concat(u,"/dist/lips.min.js"));a=new Ps.Interpreter("worker");o=as(u);o.then(function(){n(true)})}}})});this.rpc=function(){var n=0;return function e(t,r){var u=++n;return new Promise(function(n,i){a.addEventListener("message",function e(t){var r=t.data;if(r&&r.type==="RPC"&&r.id===u){if(r.error){i(r.error)}else{n(r.result)}a.removeEventListener("message",e)}});a.postMessage({type:"RPC",method:t,id:u,params:r})})}}();this.rpc("init",[e])["catch"](function(e){console.error(e)});this.exec=function(e,t){var r=t.use_dynamic,n=r===void 0?false:r;return this.rpc("eval",[e,n])}}var ss={pair:function e(t){var r=b(t,2),n=r[0],i=r[1];return J(n,i)},number:function e(t){if(x.isString(t)){return j([t,10])}return j(t)},regex:function e(t){var r=b(t,2),n=r[0],i=r[1];return new RegExp(n,i)},nil:function e(){return Y},symbol:function e(t){if(x.isString(t)){return $(t)}else if(Array.isArray(t)){return $(Symbol["for"](t[0]))}},string:x,character:h};var cs=Object.keys(ss);var fs={};for(var ls=0,hs=Object.entries(cs);ls1){var n=t.reduce(function(e,t){return e+t.length},0);var i=new Uint8Array(n);var u=0;t.forEach(function(e){i.set(e,u);u+=e.length});return i}else if(t.length){return t[0]}}function Ds(){var e=1;var t=new TextEncoder("utf-8");return t.encode("LIPS".concat(e.toString().padStart(3," ")))}var xs=7;function Es(e){var t=new TextDecoder("utf-8");var r=t.decode(e.slice(0,xs));var n=r.substring(0,4);if(n==="LIPS"){var i=r.match(/^(....).*([0-9]+)$/);if(i){return{type:i[1],version:Number(i[2])}}}return{type:"unknown"}}function Fs(e){var t=Ds();var r=bs.encode(e);return ws(t,xr(r,{magic:false}))}function As(e){var t=Es(e),r=t.type,n=t.version;if(r==="LIPS"&&n===1){var i=Er(e.slice(xs),{magic:false});return bs.decode(i)}else{throw new Error("Invalid file format ".concat(r))}}function ks(e){console.error(e.message||e);if(Array.isArray(e.code)){console.error(e.code.map(function(e,t){return"[".concat(t+1,"]: ").concat(e)}))}}function Os(){var a=["text/x-lips","text/x-scheme"];var o;function s(e){var t;return(t=e.getAttribute("data-bootstrap"))!==null&&t!==void 0?t:e.getAttribute("bootstrap")}function c(r){return new Promise(function(t){var e=r.getAttribute("src");if(e){return fetch(e).then(function(e){return e.text()}).then(Zo).then(t)["catch"](function(e){ks(e);t()})}else{return Zo(r.innerHTML).then(t)["catch"](function(e){ks(e);t()})}})}function e(){return new Promise(function(i){var u=Array.from(document.querySelectorAll("script"));return function e(){var t=u.shift();if(!t){i()}else{var r=t.getAttribute("type");if(a.includes(r)){var n=s(t);if(!o&&typeof n==="string"){return as(n).then(function(){return c(t)}).then(e)}else{return c(t).then(e)}}else if(r&&r.match(/lips|lisp/)){console.warn("Expecting "+a.join(" or ")+" found "+r)}return e()}}()})}if(!window.document){return Promise.resolve()}else if(Cs){var t=Cs;var r=s(t);if(typeof r==="string"){return as(r).then(function(){o=true;return e()})}}return e()}var Cs=typeof window!=="undefined"&&window.document&&document.currentScript;if(typeof window!=="undefined"){Gr(window,Os)}var Ss=function(){var e=x("Fri, 22 Mar 2024 12:40:41 +0000").valueOf();var t=e==="{{"+"DATE}}"?new Date:new Date(e);var r=function e(t){return t.toString().padStart(2,"0")};var n=t.getFullYear();var i=[n,r(t.getMonth()+1),r(t.getDate())].join("-");var u="\n __ __ __\n / / \\ \\ _ _ ___ ___ \\ \\\n| | \\ \\ | | | || . \\/ __> | |\n| | > \\ | |_ | || _/\\__ \\ | |\n| | / ^ \\ |___||_||_| <___/ | |\n \\_\\ /_/ \\_\\ /_/\n\nLIPS Interpreter DEV (".concat(i,") \nCopyright (c) 2018-").concat(n," Jakub T. Jankiewicz\n\nType (env) to see environment with functions macros and variables. You can also\nuse (help name) to display help for specific function or macro, (apropos name)\nto display list of matched names in environment and (dir object) to list\nproperties of an object.\n").replace(/^.*\n/,"");return u}();c(Fi,"__class__","ahead");c(J,"__class__","pair");c(Ki,"__class__","nil");c(Ai,"__class__","pattern");c(Ei,"__class__","formatter");c(K,"__class__","macro");c(wu,"__class__","syntax");c(wu.Parameter,"__class__","syntax-parameter");c(E,"__class__","environment");c(Ja,"__class__","input-port");c(Ka,"__class__","output-port");c(Ha,"__class__","output-port");c(Ga,"__class__","output-string-port");c(Qa,"__class__","input-string-port");c(eo,"__class__","input-file-port");c(Wa,"__class__","output-file-port");c(so,"__class__","lips-error");[j,y,w,g,Ya].forEach(function(e){c(e,"__class__","number")});c(h,"__class__","character");c($,"__class__","symbol");c(x,"__class__","string");c(Zn,"__class__","promise");c(Ko,"__class__","parameter");var js="DEV";var Bs="Fri, 22 Mar 2024 12:40:41 +0000";var Is=wa(mi,_i);var Ps={version:js,banner:Ss,date:Bs,exec:Zo,parse:Is,tokenize:Jn,evaluate:A,compile:Qo,serialize:ys,unserialize:gs,serialize_bin:Fs,unserialize_bin:As,bootstrap:as,Environment:E,env:wo,Worker:os,Interpreter:oo,balanced_parenthesis:ts,balancedParenthesis:ts,balanced:ts,Macro:K,Syntax:wu,Pair:J,Values:lo,QuotedPromise:Zn,Error:so,quote:ho,InputPort:Ja,OutputPort:Ka,BufferedOutputPort:Ha,InputFilePort:eo,OutputFilePort:Wa,InputStringPort:Qa,OutputStringPort:Ga,InputByteVectorPort:Za,OutputByteVectorPort:Xa,InputBinaryFilePort:to,OutputBinaryFilePort:ro,set_fs:xo,Formatter:Ei,Parser:li,Lexer:s,specials:ri,repr:Gi,nil:Y,eof:uo,LSymbol:$,LNumber:j,LFloat:g,LComplex:y,LRational:w,LBigInteger:Ya,LCharacter:h,LString:x,Parameter:Ko,rationalize:Va};W.set("lips",Ps);e.BufferedOutputPort=Ha;e.Environment=E;e.Error=so;e.Formatter=Ei;e.InputBinaryFilePort=to;e.InputByteVectorPort=Za;e.InputFilePort=eo;e.InputPort=Ja;e.InputStringPort=Qa;e.Interpreter=oo;e.LBigInteger=Ya;e.LCharacter=h;e.LComplex=y;e.LFloat=g;e.LNumber=j;e.LRational=w;e.LString=x;e.LSymbol=$;e.Lexer=s;e.Macro=K;e.OutputBinaryFilePort=ro;e.OutputByteVectorPort=Xa;e.OutputFilePort=Wa;e.OutputPort=Ka;e.OutputStringPort=Ga;e.Pair=J;e.Parameter=Ko;e.Parser=li;e.QuotedPromise=Zn;e.Syntax=wu;e.Values=lo;e.Worker=os;e.balanced=ts;e.balancedParenthesis=ts;e.balanced_parenthesis=ts;e.banner=Ss;e.bootstrap=as;e.compile=Qo;e.date=Bs;e.env=wo;e.eof=uo;e.evaluate=A;e.exec=Zo;e.nil=Y;e.parse=Is;e.quote=ho;e.rationalize=Va;e.repr=Gi;e.serialize=ys;e.serialize_bin=Fs;e.set_fs=xo;e.specials=ri;e.tokenize=Jn;e.unserialize=gs;e.unserialize_bin=As;e.version=js}); \ No newline at end of file diff --git a/dist/std.min.scm b/dist/std.min.scm index 6592041dc..c5d70955f 100644 --- a/dist/std.min.scm +++ b/dist/std.min.scm @@ -328,9 +328,8 @@ (define-syntax cond-expand (syntax-rules (and or not else r7rs srfi-0 srfi-2 srfi-4 srfi-6 srfi-10 srfi-22 srfi-23 srfi-28 srfi-46 srfi-69 srfi-98 srfi-111 srfi-139 srfi-147 srfi-156 srfi-176 srfi-193 srfi-195 srfi-210 srfi-236 lips r7rs complex full-unicode ieee-float ratios exact-complex full-numeric-tower) ((cond-expand) (syntax-error "Unfulfilled cond-expand")) ((cond-expand (else body ...)) (begin body ...)) ((cond-expand ((and) body ...) more-clauses ...) (begin body ...)) ((cond-expand ((and req1 req2 ...) body ...) more-clauses ...) (cond-expand (req1 (cond-expand ((and req2 ...) body ...) more-clauses ...)) more-clauses ...)) ((cond-expand ((or) body ...) more-clauses ...) (cond-expand more-clauses ...)) ((cond-expand ((or req1 req2 ...) body ...) more-clauses ...) (cond-expand (req1 (begin body ...)) (else (cond-expand ((or req2 ...) body ...) more-clauses ...)))) ((cond-expand ((not req) body ...) more-clauses ...) (cond-expand (req (cond-expand more-clauses ...)) (else body ...))) ((cond-expand (r7rs body ...) more-clauses ...) (begin body ...)) ((cond-expand (srfi-0 body ...) more-clauses ...) (begin body ...)) ((cond-expand (srfi-2 body ...) more-clauses ...) (begin body ...)) ((cond-expand (srfi-4 body ...) more-clauses ...) (begin body ...)) ((cond-expand (srfi-6 body ...) more-clauses ...) (begin body ...)) ((cond-expand (srfi-10 body ...) more-clauses ...) (begin body ...)) ((cond-expand (srfi-22 body ...) more-clauses ...) (begin body ...)) ((cond-expand (srfi-23 body ...) more-clauses ...) (begin body ...)) ((cond-expand (srfi-28 body ...) more-clauses ...) (begin body ...)) ((cond-expand (srfi-46 body ...) more-clauses ...) (begin body ...)) ((cond-expand (srfi-69 body ...) more-clauses ...) (begin body ...)) ((cond-expand (srfi-98 body ...) more-clauses ...) (begin body ...)) ((cond-expand (srfi-111 body ...) more-clauses ...) (begin body ...)) ((cond-expand (srfi-139 body ...) more-clauses ...) (begin body ...)) ((cond-expand (srfi-147 body ...) more-clauses ...) (begin body ...)) ((cond-expand (srfi-156 body ...) more-clauses ...) (begin body ...)) ((cond-expand (srfi-176 body ...) more-clauses ...) (begin body ...)) ((cond-expand (srfi-193 body ...) more-clauses ...) (begin body ...)) ((cond-expand (srfi-195 body ...) more-clauses ...) (begin body ...)) ((cond-expand (srfi-210 body ...) more-clauses ...) (begin body ...)) ((cond-expand (srfi-236 body ...) more-clauses ...) (begin body ...)) ((cond-expand (lips body ...) more-clauses ...) (begin body ...)) ((cond-expand (complex body ...) more-clauses ...) (begin body ...)) ((cond-expand (full-unicode body ...) more-clauses ...) (begin body ...)) ((cond-expand (ieee-float body ...) more-clauses ...) (begin body ...)) ((cond-expand (ratios body ...) more-clauses ...) (begin body ...)) ((cond-expand (exact-complex body ...) more-clauses ...) (begin body ...)) ((cond-expand (full-numeric-tower body ...) more-clauses ...) (begin body ...)) ((cond-expand (feature-id body ...) more-clauses ...) (cond-expand more-clauses ...))) "(cond-expand (cond body ...)\u000A\u000AConditionally execute code based on a features by Scheme implementation.") (define (features) "(features)\u000A\u000AFunction returns implemented features as a list." (quote (r7rs srfi-0 srfi-2 srfi-4 srfi-6 srfi-10 srfi-22 srfi-23 srfi-28 srfi-46 srfi-69 srfi-98 srfi-111 srfi-139 srfi-147 srfi-156 srfi-176 srfi-193 srfi-195 srfi-210 srfi-236 lips complex full-unicode ieee-float ratios exact-complex full-numeric-tower))) (define *zero-number-chars* #(48 1632 1776 1984 2406 2534 2662 2790 2918 3046 3174 3302 3430 3558 3664 3792 3872 4160 4240 6112 6160 6470 6608 6784 6800 6992 7088 7232 7248 42528 43216 43264 43472 43504 43600 44016 65296 66720 68912 69734 69872 69942 70096 70384 70736 70864 71248 71360 71472 71904 72016 72784 73040 73120 92768 93008 120782 120792 120802 120812 120822 123200 123632 125264 130032)) -(define *fold-case-mapping* (JSON.parse "{\u000A\"65\": 97, \"66\": 98, \"67\": 99, \"68\": 100,\u000A\"69\": 101, \"70\": 102, \"71\": 103, \"72\": 104,\u000A\"73\": 105, \"74\": 106, \"75\": 107, \"76\": 108,\u000A\"77\": 109, \"78\": 110, \"79\": 111, \"80\": 112,\u000A\"81\": 113, \"82\": 114, \"83\": 115, \"84\": 116,\u000A\"85\": 117, \"86\": 118, \"87\": 119, \"88\": 120,\u000A\"89\": 121, \"90\": 122, \"181\": 956, \"192\": 224,\u000A\"193\": 225, \"194\": 226, \"195\": 227, \"196\": 228,\u000A\"197\": 229, \"198\": 230, \"199\": 231, \"200\": 232,\u000A\"201\": 233, \"202\": 234, \"203\": 235, \"204\": 236,\u000A\"205\": 237, \"206\": 238, \"207\": 239, \"208\": 240,\u000A\"209\": 241, \"210\": 242, \"211\": 243, \"212\": 244,\u000A\"213\": 245, \"214\": 246, \"216\": 248, \"217\": 249,\u000A\"218\": 250, \"219\": 251, \"220\": 252, \"221\": 253,\u000A\"222\": 254, \"256\": 257, \"258\": 259, \"260\": 261,\u000A\"262\": 263, \"264\": 265, \"266\": 267, \"268\": 269,\u000A\"270\": 271, \"272\": 273, \"274\": 275, \"276\": 277,\u000A\"278\": 279, \"280\": 281, \"282\": 283, \"284\": 285,\u000A\"286\": 287, \"288\": 289, \"290\": 291, \"292\": 293,\u000A\"294\": 295, \"296\": 297, \"298\": 299, \"300\": 301,\u000A\"302\": 303, \"306\": 307, \"308\": 309, \"310\": 311,\u000A\"313\": 314, \"315\": 316, \"317\": 318, \"319\": 320,\u000A\"321\": 322, \"323\": 324, \"325\": 326, \"327\": 328,\u000A\"330\": 331, \"332\": 333, \"334\": 335, \"336\": 337,\u000A\"338\": 339, \"340\": 341, \"342\": 343, \"344\": 345,\u000A\"346\": 347, \"348\": 349, \"350\": 351, \"352\": 353,\u000A\"354\": 355, \"356\": 357, \"358\": 359, \"360\": 361,\u000A\"362\": 363, \"364\": 365, \"366\": 367, \"368\": 369,\u000A\"370\": 371, \"372\": 373, \"374\": 375, \"376\": 255,\u000A\"377\": 378, \"379\": 380, \"381\": 382, \"115\": 383,\u000A\"385\": 595, \"386\": 387, \"388\": 389, \"390\": 596,\u000A\"391\": 392, \"393\": 598, \"394\": 599, \"395\": 396,\u000A\"398\": 477, \"399\": 601, \"400\": 603, \"401\": 402,\u000A\"403\": 608, \"404\": 611, \"406\": 617, \"407\": 616,\u000A\"408\": 409, \"412\": 623, \"413\": 626, \"415\": 629,\u000A\"416\": 417, \"418\": 419, \"420\": 421, \"422\": 640,\u000A\"423\": 424, \"425\": 643, \"428\": 429, \"430\": 648,\u000A\"431\": 432, \"433\": 650, \"434\": 651, \"435\": 436,\u000A\"437\": 438, \"439\": 658, \"440\": 441, \"444\": 445,\u000A\"452\": 454, \"454\": 453, \"455\": 457, \"457\": 456,\u000A\"458\": 460, \"460\": 459, \"461\": 462, \"463\": 464,\u000A\"465\": 466, \"467\": 468, \"469\": 470, \"471\": 472,\u000A\"473\": 474, \"475\": 476, \"478\": 479, \"480\": 481,\u000A\"482\": 483, \"484\": 485, \"486\": 487, \"488\": 489,\u000A\"490\": 491, \"492\": 493, \"494\": 495, \"497\": 499,\u000A\"499\": 498, \"500\": 501, \"502\": 405, \"503\": 447,\u000A\"504\": 505, \"506\": 507, \"508\": 509, \"510\": 511,\u000A\"512\": 513, \"514\": 515, \"516\": 517, \"518\": 519,\u000A\"520\": 521, \"522\": 523, \"524\": 525, \"526\": 527,\u000A\"528\": 529, \"530\": 531, \"532\": 533, \"534\": 535,\u000A\"536\": 537, \"538\": 539, \"540\": 541, \"542\": 543,\u000A\"544\": 414, \"546\": 547, \"548\": 549, \"550\": 551,\u000A\"552\": 553, \"554\": 555, \"556\": 557, \"558\": 559,\u000A\"560\": 561, \"562\": 563, \"570\": 11365, \"571\": 572,\u000A\"573\": 410, \"574\": 11366, \"577\": 578, \"579\": 384,\u000A\"580\": 649, \"581\": 652, \"582\": 583, \"584\": 585,\u000A\"587\": 586, \"588\": 589, \"590\": 591, \"837\": 953,\u000A\"880\": 881, \"882\": 883, \"886\": 887, \"895\": 1011,\u000A\"902\": 940, \"904\": 941, \"905\": 942, \"906\": 943,\u000A\"908\": 972, \"910\": 973, \"911\": 974, \"913\": 945,\u000A\"914\": 946, \"915\": 947, \"916\": 948, \"917\": 949,\u000A\"918\": 950, \"919\": 951, \"920\": 952, \"921\": 953,\u000A\"922\": 954, \"923\": 955, \"924\": 956, \"925\": 957,\u000A\"926\": 958, \"927\": 959, \"928\": 960, \"929\": 961,\u000A\"931\": 963, \"932\": 964, \"933\": 965, \"934\": 966,\u000A\"935\": 967, \"936\": 968, \"937\": 969, \"938\": 970,\u000A\"939\": 971, \"963\": 962, \"975\": 983, \"976\": 946,\u000A\"977\": 952, \"981\": 966, \"982\": 960, \"984\": 985,\u000A\"986\": 987, \"988\": 989, \"990\": 991, \"992\": 993,\u000A\"994\": 995, \"996\": 997, \"998\": 999, \"1000\": 1001,\u000A\"1002\": 1003, \"1004\": 1005, \"1006\": 1007, \"1008\": 954,\u000A\"1009\": 961, \"1012\": 952, \"1013\": 949, \"1015\": 1016,\u000A\"1017\": 1010, \"1018\": 1019, \"1021\": 891, \"1022\": 892,\u000A\"1023\": 893, \"1024\": 1104, \"1025\": 1105, \"1026\": 1106,\u000A\"1027\": 1107, \"1028\": 1108, \"1029\": 1109, \"1030\": 1110,\u000A\"1031\": 1111, \"1032\": 1112, \"1033\": 1113, \"1034\": 1114,\u000A\"1035\": 1115, \"1036\": 1116, \"1037\": 1117, \"1038\": 1118,\u000A\"1039\": 1119, \"1040\": 1072, \"1041\": 1073, \"1042\": 1074,\u000A\"1043\": 1075, \"1044\": 1076, \"1045\": 1077, \"1046\": 1078,\u000A\"1047\": 1079, \"1048\": 1080, \"1049\": 1081, \"1050\": 1082,\u000A\"1051\": 1083, \"1052\": 1084, \"1053\": 1085, \"1054\": 1086,\u000A\"1055\": 1087, \"1056\": 1088, \"1057\": 1089, \"1058\": 1090,\u000A\"1059\": 1091, \"1060\": 1092, \"1061\": 1093, \"1062\": 1094,\u000A\"1063\": 1095, \"1064\": 1096, \"1065\": 1097, \"1066\": 1098,\u000A\"1067\": 1099, \"1068\": 1100, \"1069\": 1101, \"1070\": 1102,\u000A\"1071\": 1103, \"1120\": 1121, \"1122\": 1123, \"1124\": 1125,\u000A\"1126\": 1127, \"1128\": 1129, \"1130\": 1131, \"1132\": 1133,\u000A\"1134\": 1135, \"1136\": 1137, \"1138\": 1139, \"1140\": 1141,\u000A\"1142\": 1143, \"1144\": 1145, \"1146\": 1147, \"1148\": 1149,\u000A\"1150\": 1151, \"1152\": 1153, \"1162\": 1163, \"1164\": 1165,\u000A\"1166\": 1167, \"1168\": 1169, \"1170\": 1171, \"1172\": 1173,\u000A\"1174\": 1175, \"1176\": 1177, \"1178\": 1179, \"1180\": 1181,\u000A\"1182\": 1183, \"1184\": 1185, \"1186\": 1187, \"1188\": 1189,\u000A\"1190\": 1191, \"1192\": 1193, \"1194\": 1195, \"1196\": 1197,\u000A\"1198\": 1199, \"1200\": 1201, \"1202\": 1203, \"1204\": 1205,\u000A\"1206\": 1207, \"1208\": 1209, \"1210\": 1211, \"1212\": 1213,\u000A\"1214\": 1215, \"1216\": 1231, \"1217\": 1218, \"1219\": 1220,\u000A\"1221\": 1222, \"1223\": 1224, \"1225\": 1226, \"1227\": 1228,\u000A\"1229\": 1230, \"1232\": 1233, \"1234\": 1235, \"1236\": 1237,\u000A\"1238\": 1239, \"1240\": 1241, \"1242\": 1243, \"1244\": 1245,\u000A\"1246\": 1247, \"1248\": 1249, \"1250\": 1251, \"1252\": 1253,\u000A\"1254\": 1255, \"1256\": 1257, \"1258\": 1259, \"1260\": 1261,\u000A\"1262\": 1263, \"1264\": 1265, \"1266\": 1267, \"1268\": 1269,\u000A\"1270\": 1271, \"1272\": 1273, \"1274\": 1275, \"1276\": 1277,\u000A\"1278\": 1279, \"1280\": 1281, \"1282\": 1283, \"1284\": 1285,\u000A\"1286\": 1287, \"1288\": 1289, \"1290\": 1291, \"1292\": 1293,\u000A\"1294\": 1295, \"1296\": 1297, \"1298\": 1299, \"1300\": 1301,\u000A\"1302\": 1303, \"1304\": 1305, \"1306\": 1307, \"1308\": 1309,\u000A\"1310\": 1311, \"1312\": 1313, \"1314\": 1315, \"1316\": 1317,\u000A\"1318\": 1319, \"1320\": 1321, \"1322\": 1323, \"1324\": 1325,\u000A\"1326\": 1327, \"1329\": 1377, \"1330\": 1378, \"1331\": 1379,\u000A\"1332\": 1380, \"1333\": 1381, \"1334\": 1382, \"1335\": 1383,\u000A\"1336\": 1384, \"1337\": 1385, \"1338\": 1386, \"1339\": 1387,\u000A\"1340\": 1388, \"1341\": 1389, \"1342\": 1390, \"1343\": 1391,\u000A\"1344\": 1392, \"1345\": 1393, \"1346\": 1394, \"1347\": 1395,\u000A\"1348\": 1396, \"1349\": 1397, \"1350\": 1398, \"1351\": 1399,\u000A\"1352\": 1400, \"1353\": 1401, \"1354\": 1402, \"1355\": 1403,\u000A\"1356\": 1404, \"1357\": 1405, \"1358\": 1406, \"1359\": 1407,\u000A\"1360\": 1408, \"1361\": 1409, \"1362\": 1410, \"1363\": 1411,\u000A\"1364\": 1412, \"1365\": 1413, \"1366\": 1414, \"4256\": 11520,\u000A\"4257\": 11521, \"4258\": 11522, \"4259\": 11523, \"4260\": 11524,\u000A\"4261\": 11525, \"4262\": 11526, \"4263\": 11527, \"4264\": 11528,\u000A\"4265\": 11529, \"4266\": 11530, \"4267\": 11531, \"4268\": 11532,\u000A\"4269\": 11533, \"4270\": 11534, \"4271\": 11535, \"4272\": 11536,\u000A\"4273\": 11537, \"4274\": 11538, \"4275\": 11539, \"4276\": 11540,\u000A\"4277\": 11541, \"4278\": 11542, \"4279\": 11543, \"4280\": 11544,\u000A\"4281\": 11545, \"4282\": 11546, \"4283\": 11547, \"4284\": 11548,\u000A\"4285\": 11549, \"4286\": 11550, \"4287\": 11551, \"4288\": 11552,\u000A\"4289\": 11553, \"4290\": 11554, \"4291\": 11555, \"4292\": 11556,\u000A\"4293\": 11557, \"4295\": 11559, \"4301\": 11565, \"5104\": 5112,\u000A\"5105\": 5113, \"5106\": 5114, \"5107\": 5115, \"5108\": 5116,\u000A\"5109\": 5117, \"1074\": 7296, \"1076\": 7297, \"1086\": 7298,\u000A\"1089\": 7299, \"1090\": 7300, \"1090\": 7301, \"1098\": 7302,\u000A\"1123\": 7303, \"42571\": 7304, \"7312\": 4304, \"7313\": 4305,\u000A\"7314\": 4306, \"7315\": 4307, \"7316\": 4308, \"7317\": 4309,\u000A\"7318\": 4310, \"7319\": 4311, \"7320\": 4312, \"7321\": 4313,\u000A\"7322\": 4314, \"7323\": 4315, \"7324\": 4316, \"7325\": 4317,\u000A\"7326\": 4318, \"7327\": 4319, \"7328\": 4320, \"7329\": 4321,\u000A\"7330\": 4322, \"7331\": 4323, \"7332\": 4324, \"7333\": 4325,\u000A\"7334\": 4326, \"7335\": 4327, \"7336\": 4328, \"7337\": 4329,\u000A\"7338\": 4330, \"7339\": 4331, \"7340\": 4332, \"7341\": 4333,\u000A\"7342\": 4334, \"7343\": 4335, \"7344\": 4336, \"7345\": 4337,\u000A\"7346\": 4338, \"7347\": 4339, \"7348\": 4340, \"7349\": 4341,\u000A\"7350\": 4342, \"7351\": 4343, \"7352\": 4344, \"7353\": 4345,\u000A\"7354\": 4346, \"7357\": 4349, \"7358\": 4350, \"7359\": 4351,\u000A\"7680\": 7681, \"7682\": 7683, \"7684\": 7685, \"7686\": 7687,\u000A\"7688\": 7689, \"7690\": 7691, \"7692\": 7693, \"7694\": 7695,\u000A\"7696\": 7697, \"7698\": 7699, \"7700\": 7701, \"7702\": 7703,\u000A\"7704\": 7705, \"7706\": 7707, \"7708\": 7709, \"7710\": 7711,\u000A\"7712\": 7713, \"7714\": 7715, \"7716\": 7717, \"7718\": 7719,\u000A\"7720\": 7721, \"7722\": 7723, \"7724\": 7725, \"7726\": 7727,\u000A\"7728\": 7729, \"7730\": 7731, \"7732\": 7733, \"7734\": 7735,\u000A\"7736\": 7737, \"7738\": 7739, \"7740\": 7741, \"7742\": 7743,\u000A\"7744\": 7745, \"7746\": 7747, \"7748\": 7749, \"7750\": 7751,\u000A\"7752\": 7753, \"7754\": 7755, \"7756\": 7757, \"7758\": 7759,\u000A\"7760\": 7761, \"7762\": 7763, \"7764\": 7765, \"7766\": 7767,\u000A\"7768\": 7769, \"7770\": 7771, \"7772\": 7773, \"7774\": 7775,\u000A\"7776\": 7777, \"7778\": 7779, \"7780\": 7781, \"7782\": 7783,\u000A\"7784\": 7785, \"7786\": 7787, \"7788\": 7789, \"7790\": 7791,\u000A\"7792\": 7793, \"7794\": 7795, \"7796\": 7797, \"7798\": 7799,\u000A\"7800\": 7801, \"7802\": 7803, \"7804\": 7805, \"7806\": 7807,\u000A\"7808\": 7809, \"7810\": 7811, \"7812\": 7813, \"7814\": 7815,\u000A\"7816\": 7817, \"7818\": 7819, \"7820\": 7821, \"7822\": 7823,\u000A\"7824\": 7825, \"7826\": 7827, \"7828\": 7829, \"7777\": 7835,\u000A\"7840\": 7841, \"7842\": 7843, \"7844\": 7845, \"7846\": 7847,\u000A\"7848\": 7849, \"7850\": 7851, \"7852\": 7853, \"7854\": 7855,\u000A\"7856\": 7857, \"7858\": 7859, \"7860\": 7861, \"7862\": 7863,\u000A\"7864\": 7865, \"7866\": 7867, \"7868\": 7869, \"7870\": 7871,\u000A\"7872\": 7873, \"7874\": 7875, \"7876\": 7877, \"7878\": 7879,\u000A\"7880\": 7881, \"7882\": 7883, \"7884\": 7885, \"7886\": 7887,\u000A\"7888\": 7889, \"7890\": 7891, \"7892\": 7893, \"7894\": 7895,\u000A\"7896\": 7897, \"7898\": 7899, \"7900\": 7901, \"7902\": 7903,\u000A\"7904\": 7905, \"7906\": 7907, \"7908\": 7909, \"7910\": 7911,\u000A\"7912\": 7913, \"7914\": 7915, \"7916\": 7917, \"7918\": 7919,\u000A\"7920\": 7921, \"7922\": 7923, \"7924\": 7925, \"7926\": 7927,\u000A\"7928\": 7929, \"7930\": 7931, \"7932\": 7933, \"7934\": 7935,\u000A\"7944\": 7936, \"7945\": 7937, \"7946\": 7938, \"7947\": 7939,\u000A\"7948\": 7940, \"7949\": 7941, \"7950\": 7942, \"7951\": 7943,\u000A\"7960\": 7952, \"7961\": 7953, \"7962\": 7954, \"7963\": 7955,\u000A\"7964\": 7956, \"7965\": 7957, \"7976\": 7968, \"7977\": 7969,\u000A\"7978\": 7970, \"7979\": 7971, \"7980\": 7972, \"7981\": 7973,\u000A\"7982\": 7974, \"7983\": 7975, \"7992\": 7984, \"7993\": 7985,\u000A\"7994\": 7986, \"7995\": 7987, \"7996\": 7988, \"7997\": 7989,\u000A\"7998\": 7990, \"7999\": 7991, \"8008\": 8000, \"8009\": 8001,\u000A\"8010\": 8002, \"8011\": 8003, \"8012\": 8004, \"8013\": 8005,\u000A\"8025\": 8017, \"8027\": 8019, \"8029\": 8021, \"8031\": 8023,\u000A\"8040\": 8032, \"8041\": 8033, \"8042\": 8034, \"8043\": 8035,\u000A\"8044\": 8036, \"8045\": 8037, \"8046\": 8038, \"8047\": 8039,\u000A\"8120\": 8112, \"8121\": 8113, \"8122\": 8048, \"8123\": 8049,\u000A\"8126\": 953, \"8136\": 8050, \"8137\": 8051, \"8138\": 8052,\u000A\"8139\": 8053, \"8152\": 8144, \"8153\": 8145, \"8154\": 8054,\u000A\"8155\": 8055, \"8168\": 8160, \"8169\": 8161, \"8170\": 8058,\u000A\"8171\": 8059, \"8172\": 8165, \"8184\": 8056, \"8185\": 8057,\u000A\"8186\": 8060, \"8187\": 8061, \"8486\": 969, \"8490\": 107,\u000A\"8491\": 229, \"8498\": 8526, \"8544\": 8560, \"8545\": 8561,\u000A\"8546\": 8562, \"8547\": 8563, \"8548\": 8564, \"8549\": 8565,\u000A\"8550\": 8566, \"8551\": 8567, \"8552\": 8568, \"8553\": 8569,\u000A\"8554\": 8570, \"8555\": 8571, \"8556\": 8572, \"8557\": 8573,\u000A\"8558\": 8574, \"8559\": 8575, \"8579\": 8580, \"9398\": 9424,\u000A\"9399\": 9425, \"9400\": 9426, \"9401\": 9427, \"9402\": 9428,\u000A\"9403\": 9429, \"9404\": 9430, \"9405\": 9431, \"9406\": 9432,\u000A\"9407\": 9433, \"9408\": 9434, \"9409\": 9435, \"9410\": 9436,\u000A\"9411\": 9437, \"9412\": 9438, \"9413\": 9439, \"9414\": 9440,\u000A\"9415\": 9441, \"9416\": 9442, \"9417\": 9443, \"9418\": 9444,\u000A\"9419\": 9445, \"9420\": 9446, \"9421\": 9447, \"9422\": 9448,\u000A\"9423\": 9449, \"11264\": 11312, \"11265\": 11313, \"11266\": 11314,\u000A\"11267\": 11315, \"11268\": 11316, \"11269\": 11317, \"11270\": 11318,\u000A\"11271\": 11319, \"11272\": 11320, \"11273\": 11321, \"11274\": 11322,\u000A\"11275\": 11323, \"11276\": 11324, \"11277\": 11325, \"11278\": 11326,\u000A\"11279\": 11327, \"11280\": 11328, \"11281\": 11329, \"11282\": 11330,\u000A\"11283\": 11331, \"11284\": 11332, \"11285\": 11333, \"11286\": 11334,\u000A\"11287\": 11335, \"11288\": 11336, \"11289\": 11337, \"11290\": 11338,\u000A\"11291\": 11339, \"11292\": 11340, \"11293\": 11341, \"11294\": 11342,\u000A\"11295\": 11343, \"11296\": 11344, \"11297\": 11345, \"11298\": 11346,\u000A\"11299\": 11347, \"11348\": 11300, \"11349\": 11301, \"11302\": 11350,\u000A\"11351\": 11303, \"11304\": 11352, \"11305\": 11353, \"11306\": 11354,\u000A\"11307\": 11355, \"11308\": 11356, \"11309\": 11357, \"11310\": 11358,\u000A\"11311\": 11359, \"11360\": 11361, \"11362\": 619, \"11363\": 7549,\u000A\"11364\": 637, \"11367\": 11368, \"11369\": 11370, \"11371\": 11372,\u000A\"11373\": 593, \"11374\": 625, \"11375\": 592, \"11376\": 594,\u000A\"11378\": 11379, \"11381\": 11382, \"11390\": 575, \"11391\": 576,\u000A\"11392\": 11393, \"11394\": 11395, \"11396\": 11397, \"11398\": 11399,\u000A\"11400\": 11401, \"11402\": 11403, \"11404\": 11405, \"11406\": 11407,\u000A\"11408\": 11409, \"11410\": 11411, \"11412\": 11413, \"11414\": 11415,\u000A\"11416\": 11417, \"11418\": 11419, \"11420\": 11421, \"11422\": 11423,\u000A\"11424\": 11425, \"11426\": 11427, \"11428\": 11429, \"11430\": 11431,\u000A\"11432\": 11433, \"11434\": 11435, \"11436\": 11437, \"11438\": 11439,\u000A\"11440\": 11441, \"11442\": 11443, \"11444\": 11445, \"11446\": 11447,\u000A\"11448\": 11449, \"11450\": 11451, \"11452\": 11453, \"11454\": 11455,\u000A\"11456\": 11457, \"11458\": 11459, \"11460\": 11461, \"11462\": 11463,\u000A\"11464\": 11465, \"11466\": 11467, \"11468\": 11469, \"11470\": 11471,\u000A\"11472\": 11473, \"11474\": 11475, \"11476\": 11477, \"11478\": 11479,\u000A\"11480\": 11481, \"11482\": 11483, \"11484\": 11485, \"11486\": 11487,\u000A\"11488\": 11489, \"11490\": 11491, \"11499\": 11500, \"11501\": 11502,\u000A\"11506\": 11507, \"42560\": 42561, \"42562\": 42563, \"42564\": 42565,\u000A\"42566\": 42567, \"42568\": 42569, \"42570\": 42571, \"42572\": 42573,\u000A\"42574\": 42575, \"42576\": 42577, \"42578\": 42579, \"42580\": 42581,\u000A\"42582\": 42583, \"42584\": 42585, \"42586\": 42587, \"42588\": 42589,\u000A\"42590\": 42591, \"42592\": 42593, \"42594\": 42595, \"42596\": 42597,\u000A\"42598\": 42599, \"42600\": 42601, \"42602\": 42603, \"42604\": 42605,\u000A\"42624\": 42625, \"42626\": 42627, \"42628\": 42629, \"42630\": 42631,\u000A\"42632\": 42633, \"42634\": 42635, \"42636\": 42637, \"42638\": 42639,\u000A\"42640\": 42641, \"42642\": 42643, \"42644\": 42645, \"42646\": 42647,\u000A\"42648\": 42649, \"42650\": 42651, \"42786\": 42787, \"42788\": 42789,\u000A\"42790\": 42791, \"42792\": 42793, \"42794\": 42795, \"42796\": 42797,\u000A\"42798\": 42799, \"42802\": 42803, \"42804\": 42805, \"42806\": 42807,\u000A\"42808\": 42809, \"42810\": 42811, \"42812\": 42813, \"42814\": 42815,\u000A\"42816\": 42817, \"42818\": 42819, \"42820\": 42821, \"42822\": 42823,\u000A\"42824\": 42825, \"42826\": 42827, \"42828\": 42829, \"42830\": 42831,\u000A\"42832\": 42833, \"42834\": 42835, \"42836\": 42837, \"42838\": 42839,\u000A\"42840\": 42841, \"42842\": 42843, \"42844\": 42845, \"42846\": 42847,\u000A\"42848\": 42849, \"42850\": 42851, \"42852\": 42853, \"42854\": 42855,\u000A\"42856\": 42857, \"42858\": 42859, \"42860\": 42861, \"42862\": 42863,\u000A\"42873\": 42874, \"42875\": 42876, \"42877\": 7545, \"42878\": 42879,\u000A\"42880\": 42881, \"42882\": 42883, \"42884\": 42885, \"42886\": 42887,\u000A\"42891\": 42892, \"42893\": 613, \"42896\": 42897, \"42898\": 42899,\u000A\"42902\": 42903, \"42904\": 42905, \"42906\": 42907, \"42908\": 42909,\u000A\"42910\": 42911, \"42912\": 42913, \"42914\": 42915, \"42916\": 42917,\u000A\"42918\": 42919, \"42920\": 42921, \"42922\": 614, \"42923\": 604,\u000A\"42924\": 609, \"42925\": 620, \"618\": 42926, \"42928\": 670,\u000A\"42929\": 647, \"42930\": 669, \"42931\": 43859, \"42932\": 42933,\u000A\"42934\": 42935, \"42936\": 42937, \"42938\": 42939, \"42940\": 42941,\u000A\"42942\": 42943, \"42944\": 42945, \"42946\": 42947, \"42948\": 42900,\u000A\"42949\": 642, \"42950\": 7566, \"42951\": 42952, \"42953\": 42954,\u000A\"42960\": 42961, \"42966\": 42967, \"42968\": 42969, \"42997\": 42998,\u000A\"5024\": 43888, \"5025\": 43889, \"5026\": 43890, \"5027\": 43891,\u000A\"5028\": 43892, \"5029\": 43893, \"5030\": 43894, \"5031\": 43895,\u000A\"5032\": 43896, \"5033\": 43897, \"5034\": 43898, \"5035\": 43899,\u000A\"5036\": 43900, \"5037\": 43901, \"5038\": 43902, \"5039\": 43903,\u000A\"5040\": 43904, \"5041\": 43905, \"5042\": 43906, \"5043\": 43907,\u000A\"5044\": 43908, \"5045\": 43909, \"5046\": 43910, \"5047\": 43911,\u000A\"5048\": 43912, \"5049\": 43913, \"5050\": 43914, \"5051\": 43915,\u000A\"5052\": 43916, \"5053\": 43917, \"5054\": 43918, \"5055\": 43919,\u000A\"5056\": 43920, \"5057\": 43921, \"5058\": 43922, \"5059\": 43923,\u000A\"5060\": 43924, \"5061\": 43925, \"5062\": 43926, \"5063\": 43927,\u000A\"5064\": 43928, \"5065\": 43929, \"5066\": 43930, \"5067\": 43931,\u000A\"5068\": 43932, \"5069\": 43933, \"5070\": 43934, \"5071\": 43935,\u000A\"5072\": 43936, \"5073\": 43937, \"5074\": 43938, \"5075\": 43939,\u000A\"5076\": 43940, \"5077\": 43941, \"5078\": 43942, \"5079\": 43943,\u000A\"5080\": 43944, \"5081\": 43945, \"5082\": 43946, \"5083\": 43947,\u000A\"5084\": 43948, \"5085\": 43949, \"5086\": 43950, \"5087\": 43951,\u000A\"5088\": 43952, \"5089\": 43953, \"5090\": 43954, \"5091\": 43955,\u000A\"5092\": 43956, \"5093\": 43957, \"5094\": 43958, \"5095\": 43959,\u000A\"5096\": 43960, \"5097\": 43961, \"5098\": 43962, \"5099\": 43963,\u000A\"5100\": 43964, \"5101\": 43965, \"5102\": 43966, \"5103\": 43967,\u000A\"65313\": 65345, \"65314\": 65346, \"65315\": 65347, \"65316\": 65348,\u000A\"65317\": 65349, \"65318\": 65350, \"65319\": 65351, \"65320\": 65352,\u000A\"65321\": 65353, \"65322\": 65354, \"65323\": 65355, \"65324\": 65356,\u000A\"65325\": 65357, \"65326\": 65358, \"65327\": 65359, \"65328\": 65360,\u000A\"65329\": 65361, \"65330\": 65362, \"65331\": 65363, \"65332\": 65364,\u000A\"65333\": 65365, \"65334\": 65366, \"65335\": 65367, \"65336\": 65368,\u000A\"65337\": 65369, \"65338\": 65370, \"66560\": 66600, \"66561\": 66601,\u000A\"66562\": 66602, \"66563\": 66603, \"66564\": 66604, \"66565\": 66605,\u000A\"66566\": 66606, \"66567\": 66607, \"66568\": 66608, \"66569\": 66609,\u000A\"66570\": 66610, \"66571\": 66611, \"66572\": 66612, \"66573\": 66613,\u000A\"66574\": 66614, \"66575\": 66615, \"66576\": 66616, \"66577\": 66617,\u000A\"66578\": 66618, \"66579\": 66619, \"66580\": 66620, \"66581\": 66621,\u000A\"66582\": 66622, \"66583\": 66623, \"66584\": 66624, \"66585\": 66625,\u000A\"66586\": 66626, \"66587\": 66627, \"66588\": 66628, \"66589\": 66629,\u000A\"66590\": 66630, \"66591\": 66631, \"66592\": 66632, \"66593\": 66633,\u000A\"66594\": 66634, \"66595\": 66635, \"66596\": 66636, \"66597\": 66637,\u000A\"66598\": 66638, \"66599\": 66639, \"66736\": 66776, \"66737\": 66777,\u000A\"66738\": 66778, \"66739\": 66779, \"66740\": 66780, \"66741\": 66781,\u000A\"66742\": 66782, \"66743\": 66783, \"66744\": 66784, \"66745\": 66785,\u000A\"66746\": 66786, \"66747\": 66787, \"66748\": 66788, \"66749\": 66789,\u000A\"66750\": 66790, \"66751\": 66791, \"66752\": 66792, \"66753\": 66793,\u000A\"66754\": 66794, \"66755\": 66795, \"66756\": 66796, \"66757\": 66797,\u000A\"66758\": 66798, \"66759\": 66799, \"66760\": 66800, \"66761\": 66801,\u000A\"66762\": 66802, \"66763\": 66803, \"66764\": 66804, \"66765\": 66805,\u000A\"66766\": 66806, \"66767\": 66807, \"66768\": 66808, \"66769\": 66809,\u000A\"66770\": 66810, \"66771\": 66811, \"66928\": 66967, \"66929\": 66968,\u000A\"66930\": 66969, \"66931\": 66970, \"66932\": 66971, \"66933\": 66972,\u000A\"66934\": 66973, \"66935\": 66974, \"66936\": 66975, \"66937\": 66976,\u000A\"66938\": 66977, \"66940\": 66979, \"66941\": 66980, \"66942\": 66981,\u000A\"66943\": 66982, \"66944\": 66983, \"66945\": 66984, \"66946\": 66985,\u000A\"66947\": 66986, \"66948\": 66987, \"66949\": 66988, \"66950\": 66989,\u000A\"66951\": 66990, \"66952\": 66991, \"66953\": 66992, \"66954\": 66993,\u000A\"66956\": 66995, \"66957\": 66996, \"66958\": 66997, \"66959\": 66998,\u000A\"66960\": 66999, \"66961\": 67000, \"66962\": 67001, \"66964\": 67003,\u000A\"66965\": 67004, \"68736\": 68800, \"68737\": 68801, \"68738\": 68802,\u000A\"68739\": 68803, \"68740\": 68804, \"68741\": 68805, \"68742\": 68806,\u000A\"68743\": 68807, \"68744\": 68808, \"68745\": 68809, \"68746\": 68810,\u000A\"68747\": 68811, \"68748\": 68812, \"68749\": 68813, \"68750\": 68814,\u000A\"68751\": 68815, \"68752\": 68816, \"68753\": 68817, \"68754\": 68818,\u000A\"68755\": 68819, \"68756\": 68820, \"68757\": 68821, \"68758\": 68822,\u000A\"68759\": 68823, \"68760\": 68824, \"68761\": 68825, \"68762\": 68826,\u000A\"68763\": 68827, \"68764\": 68828, \"68765\": 68829, \"68766\": 68830,\u000A\"68767\": 68831, \"68768\": 68832, \"68769\": 68833, \"68770\": 68834,\u000A\"68771\": 68835, \"68772\": 68836, \"68773\": 68837, \"68774\": 68838,\u000A\"68775\": 68839, \"68776\": 68840, \"68777\": 68841, \"68778\": 68842,\u000A\"68779\": 68843, \"68780\": 68844, \"68781\": 68845, \"68782\": 68846,\u000A\"68783\": 68847, \"68784\": 68848, \"68785\": 68849, \"68786\": 68850,\u000A\"71840\": 71872, \"71841\": 71873, \"71842\": 71874, \"71843\": 71875,\u000A\"71844\": 71876, \"71845\": 71877, \"71846\": 71878, \"71847\": 71879,\u000A\"71848\": 71880, \"71849\": 71881, \"71850\": 71882, \"71851\": 71883,\u000A\"71852\": 71884, \"71853\": 71885, \"71854\": 71886, \"71855\": 71887,\u000A\"71856\": 71888, \"71857\": 71889, \"71858\": 71890, \"71859\": 71891,\u000A\"71860\": 71892, \"71861\": 71893, \"71862\": 71894, \"71863\": 71895,\u000A\"71864\": 71896, \"71865\": 71897, \"71866\": 71898, \"71867\": 71899,\u000A\"71868\": 71900, \"71869\": 71901, \"71870\": 71902, \"71871\": 71903,\u000A\"93760\": 93792, \"93761\": 93793, \"93762\": 93794, \"93763\": 93795,\u000A\"93764\": 93796, \"93765\": 93797, \"93766\": 93798, \"93767\": 93799,\u000A\"93768\": 93800, \"93769\": 93801, \"93770\": 93802, \"93771\": 93803,\u000A\"93772\": 93804, \"93773\": 93805, \"93774\": 93806, \"93775\": 93807,\u000A\"93776\": 93808, \"93777\": 93809, \"93778\": 93810, \"93779\": 93811,\u000A\"93780\": 93812, \"93781\": 93813, \"93782\": 93814, \"93783\": 93815,\u000A\"93784\": 93816, \"93785\": 93817, \"93786\": 93818, \"93787\": 93819,\u000A\"93788\": 93820, \"93789\": 93821, \"93790\": 93822, \"93791\": 93823,\u000A\"125184\": 125218, \"125185\": 125219, \"125186\": 125220, \"125187\": 125221,\u000A\"125188\": 125222, \"125189\": 125223, \"125190\": 125224, \"125191\": 125225,\u000A\"125192\": 125226, \"125193\": 125227, \"125194\": 125228, \"125195\": 125229,\u000A\"125196\": 125230, \"125197\": 125231, \"125198\": 125232, \"125199\": 125233,\u000A\"125200\": 125234, \"125201\": 125235, \"125202\": 125236, \"125203\": 125237,\u000A\"125204\": 125238, \"125205\": 125239, \"125206\": 125240, \"125207\": 125241,\u000A\"125208\": 125242, \"125209\": 125243, \"125210\": 125244, \"125211\": 125245,\u000A\"125212\": 125246, \"125213\": 125247, \"125214\": 125248, \"125215\": 125249,\u000A\"125216\": 125250, \"125217\": 125251\u000A}")) -(define (char-foldcase char) "(char-foldcase char)\u000A\u000AReturns lowercase character using the Unicode simple case-folding algorithm." (typecheck "char-foldcase" char "character") (let ((output (. *fold-case-mapping* (char->integer char)))) (if (number? output) (integer->char output) char))) -(define (string-foldcase string) "(string-foldcase char)\u000A\u000AReturns lowercase string using the Unicode simple case-folding algorithm." (typecheck "string-foldcase" string "string") (--> (Array.from string) (map (lambda (str) (let ((ord (str.codePointAt 0))) (let ((output (. *fold-case-mapping* ord))) (if (number? output) (String.fromCodePoint output) str))))) (join ""))) +(define (char-foldcase char) "(char-foldcase char)\u000A\u000AReturns lowercase character using the Unicode simple case-folding algorithm." (typecheck "char-foldcase" char "character") (new LCharacter (%foldcase-string char.__char__))) +(define (string-foldcase string) "(string-foldcase string)\u000A\u000AReturns lowercase string using the Unicode simple case-folding algorithm." (typecheck "string-foldcase" string "string") (%foldcase-string string)) (define (digit-value chr) "(digit-value chr)\u000A\u000AReturn digit number if character is numeral (as per char-numeric?)\u000Aor #f otherwise." (typecheck "digit-value" chr "character") (if (char-numeric? chr) (let ((ord (char->integer chr))) (do ((i (vector-length *zero-number-chars*) (- i 1)) (found #f) (result #f)) ((or (zero? i) found) result) (let* ((zero (vector-ref *zero-number-chars* (- i 1))) (diff (- ord zero))) (if (and (>= diff 0) (<= diff 9)) (begin (set! result diff) (set! found #t)))))) #f)) (define (%char-vector-cmp name vals) "(%char-vector-cmp name vector)\u000A\u000AFunction iterate over a vector and compares each pair of two characters\u000Aand return 0 if they are equal, -1 second is smaller and 1 if is larger.\u000AThe function compare the codepoints of the character." (let* ((len (vector-length vals)) (max (- len 1)) (result (vector)) (i 0)) (while (< i max) (let* ((chr1 (vector-ref vals i)) (j (+ i 1)) (chr2 (vector-ref vals j))) (typecheck name chr1 "character" i) (typecheck name chr2 "character" j) (let ((a (char->integer chr1)) (b (char->integer chr2))) (result.push (cond ((= a b) 0) ((< a b) -1) (else 1))))) (set! i (+ i 1))) result)) (define (char=? . chars) "(char=? chr1 chr2 ...)\u000A\u000AChecks if all characters are equal." (--> (%char-vector-cmp "char>=?" (list->vector chars)) (every (lambda (a) (= a 0))))) diff --git a/dist/std.scm b/dist/std.scm index fa768339c..2febb8ae1 100644 --- a/dist/std.scm +++ b/dist/std.scm @@ -4044,395 +4044,21 @@ 93008 120782 120792 120802 120812 120822 123200 123632 125264 130032)) -;; ----------------------------------------------------------------------------- -;; the Unicode folding case mapping generated scripts/fold.scm to get latest version -;; of the file use `make fold` -;; ----------------------------------------------------------------------------- -(define *fold-case-mapping* (JSON.parse "{ - \"65\": 97, \"66\": 98, \"67\": 99, \"68\": 100, - \"69\": 101, \"70\": 102, \"71\": 103, \"72\": 104, - \"73\": 105, \"74\": 106, \"75\": 107, \"76\": 108, - \"77\": 109, \"78\": 110, \"79\": 111, \"80\": 112, - \"81\": 113, \"82\": 114, \"83\": 115, \"84\": 116, - \"85\": 117, \"86\": 118, \"87\": 119, \"88\": 120, - \"89\": 121, \"90\": 122, \"181\": 956, \"192\": 224, - \"193\": 225, \"194\": 226, \"195\": 227, \"196\": 228, - \"197\": 229, \"198\": 230, \"199\": 231, \"200\": 232, - \"201\": 233, \"202\": 234, \"203\": 235, \"204\": 236, - \"205\": 237, \"206\": 238, \"207\": 239, \"208\": 240, - \"209\": 241, \"210\": 242, \"211\": 243, \"212\": 244, - \"213\": 245, \"214\": 246, \"216\": 248, \"217\": 249, - \"218\": 250, \"219\": 251, \"220\": 252, \"221\": 253, - \"222\": 254, \"256\": 257, \"258\": 259, \"260\": 261, - \"262\": 263, \"264\": 265, \"266\": 267, \"268\": 269, - \"270\": 271, \"272\": 273, \"274\": 275, \"276\": 277, - \"278\": 279, \"280\": 281, \"282\": 283, \"284\": 285, - \"286\": 287, \"288\": 289, \"290\": 291, \"292\": 293, - \"294\": 295, \"296\": 297, \"298\": 299, \"300\": 301, - \"302\": 303, \"306\": 307, \"308\": 309, \"310\": 311, - \"313\": 314, \"315\": 316, \"317\": 318, \"319\": 320, - \"321\": 322, \"323\": 324, \"325\": 326, \"327\": 328, - \"330\": 331, \"332\": 333, \"334\": 335, \"336\": 337, - \"338\": 339, \"340\": 341, \"342\": 343, \"344\": 345, - \"346\": 347, \"348\": 349, \"350\": 351, \"352\": 353, - \"354\": 355, \"356\": 357, \"358\": 359, \"360\": 361, - \"362\": 363, \"364\": 365, \"366\": 367, \"368\": 369, - \"370\": 371, \"372\": 373, \"374\": 375, \"376\": 255, - \"377\": 378, \"379\": 380, \"381\": 382, \"115\": 383, - \"385\": 595, \"386\": 387, \"388\": 389, \"390\": 596, - \"391\": 392, \"393\": 598, \"394\": 599, \"395\": 396, - \"398\": 477, \"399\": 601, \"400\": 603, \"401\": 402, - \"403\": 608, \"404\": 611, \"406\": 617, \"407\": 616, - \"408\": 409, \"412\": 623, \"413\": 626, \"415\": 629, - \"416\": 417, \"418\": 419, \"420\": 421, \"422\": 640, - \"423\": 424, \"425\": 643, \"428\": 429, \"430\": 648, - \"431\": 432, \"433\": 650, \"434\": 651, \"435\": 436, - \"437\": 438, \"439\": 658, \"440\": 441, \"444\": 445, - \"452\": 454, \"454\": 453, \"455\": 457, \"457\": 456, - \"458\": 460, \"460\": 459, \"461\": 462, \"463\": 464, - \"465\": 466, \"467\": 468, \"469\": 470, \"471\": 472, - \"473\": 474, \"475\": 476, \"478\": 479, \"480\": 481, - \"482\": 483, \"484\": 485, \"486\": 487, \"488\": 489, - \"490\": 491, \"492\": 493, \"494\": 495, \"497\": 499, - \"499\": 498, \"500\": 501, \"502\": 405, \"503\": 447, - \"504\": 505, \"506\": 507, \"508\": 509, \"510\": 511, - \"512\": 513, \"514\": 515, \"516\": 517, \"518\": 519, - \"520\": 521, \"522\": 523, \"524\": 525, \"526\": 527, - \"528\": 529, \"530\": 531, \"532\": 533, \"534\": 535, - \"536\": 537, \"538\": 539, \"540\": 541, \"542\": 543, - \"544\": 414, \"546\": 547, \"548\": 549, \"550\": 551, - \"552\": 553, \"554\": 555, \"556\": 557, \"558\": 559, - \"560\": 561, \"562\": 563, \"570\": 11365, \"571\": 572, - \"573\": 410, \"574\": 11366, \"577\": 578, \"579\": 384, - \"580\": 649, \"581\": 652, \"582\": 583, \"584\": 585, - \"587\": 586, \"588\": 589, \"590\": 591, \"837\": 953, - \"880\": 881, \"882\": 883, \"886\": 887, \"895\": 1011, - \"902\": 940, \"904\": 941, \"905\": 942, \"906\": 943, - \"908\": 972, \"910\": 973, \"911\": 974, \"913\": 945, - \"914\": 946, \"915\": 947, \"916\": 948, \"917\": 949, - \"918\": 950, \"919\": 951, \"920\": 952, \"921\": 953, - \"922\": 954, \"923\": 955, \"924\": 956, \"925\": 957, - \"926\": 958, \"927\": 959, \"928\": 960, \"929\": 961, - \"931\": 963, \"932\": 964, \"933\": 965, \"934\": 966, - \"935\": 967, \"936\": 968, \"937\": 969, \"938\": 970, - \"939\": 971, \"963\": 962, \"975\": 983, \"976\": 946, - \"977\": 952, \"981\": 966, \"982\": 960, \"984\": 985, - \"986\": 987, \"988\": 989, \"990\": 991, \"992\": 993, - \"994\": 995, \"996\": 997, \"998\": 999, \"1000\": 1001, - \"1002\": 1003, \"1004\": 1005, \"1006\": 1007, \"1008\": 954, - \"1009\": 961, \"1012\": 952, \"1013\": 949, \"1015\": 1016, - \"1017\": 1010, \"1018\": 1019, \"1021\": 891, \"1022\": 892, - \"1023\": 893, \"1024\": 1104, \"1025\": 1105, \"1026\": 1106, - \"1027\": 1107, \"1028\": 1108, \"1029\": 1109, \"1030\": 1110, - \"1031\": 1111, \"1032\": 1112, \"1033\": 1113, \"1034\": 1114, - \"1035\": 1115, \"1036\": 1116, \"1037\": 1117, \"1038\": 1118, - \"1039\": 1119, \"1040\": 1072, \"1041\": 1073, \"1042\": 1074, - \"1043\": 1075, \"1044\": 1076, \"1045\": 1077, \"1046\": 1078, - \"1047\": 1079, \"1048\": 1080, \"1049\": 1081, \"1050\": 1082, - \"1051\": 1083, \"1052\": 1084, \"1053\": 1085, \"1054\": 1086, - \"1055\": 1087, \"1056\": 1088, \"1057\": 1089, \"1058\": 1090, - \"1059\": 1091, \"1060\": 1092, \"1061\": 1093, \"1062\": 1094, - \"1063\": 1095, \"1064\": 1096, \"1065\": 1097, \"1066\": 1098, - \"1067\": 1099, \"1068\": 1100, \"1069\": 1101, \"1070\": 1102, - \"1071\": 1103, \"1120\": 1121, \"1122\": 1123, \"1124\": 1125, - \"1126\": 1127, \"1128\": 1129, \"1130\": 1131, \"1132\": 1133, - \"1134\": 1135, \"1136\": 1137, \"1138\": 1139, \"1140\": 1141, - \"1142\": 1143, \"1144\": 1145, \"1146\": 1147, \"1148\": 1149, - \"1150\": 1151, \"1152\": 1153, \"1162\": 1163, \"1164\": 1165, - \"1166\": 1167, \"1168\": 1169, \"1170\": 1171, \"1172\": 1173, - \"1174\": 1175, \"1176\": 1177, \"1178\": 1179, \"1180\": 1181, - \"1182\": 1183, \"1184\": 1185, \"1186\": 1187, \"1188\": 1189, - \"1190\": 1191, \"1192\": 1193, \"1194\": 1195, \"1196\": 1197, - \"1198\": 1199, \"1200\": 1201, \"1202\": 1203, \"1204\": 1205, - \"1206\": 1207, \"1208\": 1209, \"1210\": 1211, \"1212\": 1213, - \"1214\": 1215, \"1216\": 1231, \"1217\": 1218, \"1219\": 1220, - \"1221\": 1222, \"1223\": 1224, \"1225\": 1226, \"1227\": 1228, - \"1229\": 1230, \"1232\": 1233, \"1234\": 1235, \"1236\": 1237, - \"1238\": 1239, \"1240\": 1241, \"1242\": 1243, \"1244\": 1245, - \"1246\": 1247, \"1248\": 1249, \"1250\": 1251, \"1252\": 1253, - \"1254\": 1255, \"1256\": 1257, \"1258\": 1259, \"1260\": 1261, - \"1262\": 1263, \"1264\": 1265, \"1266\": 1267, \"1268\": 1269, - \"1270\": 1271, \"1272\": 1273, \"1274\": 1275, \"1276\": 1277, - \"1278\": 1279, \"1280\": 1281, \"1282\": 1283, \"1284\": 1285, - \"1286\": 1287, \"1288\": 1289, \"1290\": 1291, \"1292\": 1293, - \"1294\": 1295, \"1296\": 1297, \"1298\": 1299, \"1300\": 1301, - \"1302\": 1303, \"1304\": 1305, \"1306\": 1307, \"1308\": 1309, - \"1310\": 1311, \"1312\": 1313, \"1314\": 1315, \"1316\": 1317, - \"1318\": 1319, \"1320\": 1321, \"1322\": 1323, \"1324\": 1325, - \"1326\": 1327, \"1329\": 1377, \"1330\": 1378, \"1331\": 1379, - \"1332\": 1380, \"1333\": 1381, \"1334\": 1382, \"1335\": 1383, - \"1336\": 1384, \"1337\": 1385, \"1338\": 1386, \"1339\": 1387, - \"1340\": 1388, \"1341\": 1389, \"1342\": 1390, \"1343\": 1391, - \"1344\": 1392, \"1345\": 1393, \"1346\": 1394, \"1347\": 1395, - \"1348\": 1396, \"1349\": 1397, \"1350\": 1398, \"1351\": 1399, - \"1352\": 1400, \"1353\": 1401, \"1354\": 1402, \"1355\": 1403, - \"1356\": 1404, \"1357\": 1405, \"1358\": 1406, \"1359\": 1407, - \"1360\": 1408, \"1361\": 1409, \"1362\": 1410, \"1363\": 1411, - \"1364\": 1412, \"1365\": 1413, \"1366\": 1414, \"4256\": 11520, - \"4257\": 11521, \"4258\": 11522, \"4259\": 11523, \"4260\": 11524, - \"4261\": 11525, \"4262\": 11526, \"4263\": 11527, \"4264\": 11528, - \"4265\": 11529, \"4266\": 11530, \"4267\": 11531, \"4268\": 11532, - \"4269\": 11533, \"4270\": 11534, \"4271\": 11535, \"4272\": 11536, - \"4273\": 11537, \"4274\": 11538, \"4275\": 11539, \"4276\": 11540, - \"4277\": 11541, \"4278\": 11542, \"4279\": 11543, \"4280\": 11544, - \"4281\": 11545, \"4282\": 11546, \"4283\": 11547, \"4284\": 11548, - \"4285\": 11549, \"4286\": 11550, \"4287\": 11551, \"4288\": 11552, - \"4289\": 11553, \"4290\": 11554, \"4291\": 11555, \"4292\": 11556, - \"4293\": 11557, \"4295\": 11559, \"4301\": 11565, \"5104\": 5112, - \"5105\": 5113, \"5106\": 5114, \"5107\": 5115, \"5108\": 5116, - \"5109\": 5117, \"1074\": 7296, \"1076\": 7297, \"1086\": 7298, - \"1089\": 7299, \"1090\": 7300, \"1090\": 7301, \"1098\": 7302, - \"1123\": 7303, \"42571\": 7304, \"7312\": 4304, \"7313\": 4305, - \"7314\": 4306, \"7315\": 4307, \"7316\": 4308, \"7317\": 4309, - \"7318\": 4310, \"7319\": 4311, \"7320\": 4312, \"7321\": 4313, - \"7322\": 4314, \"7323\": 4315, \"7324\": 4316, \"7325\": 4317, - \"7326\": 4318, \"7327\": 4319, \"7328\": 4320, \"7329\": 4321, - \"7330\": 4322, \"7331\": 4323, \"7332\": 4324, \"7333\": 4325, - \"7334\": 4326, \"7335\": 4327, \"7336\": 4328, \"7337\": 4329, - \"7338\": 4330, \"7339\": 4331, \"7340\": 4332, \"7341\": 4333, - \"7342\": 4334, \"7343\": 4335, \"7344\": 4336, \"7345\": 4337, - \"7346\": 4338, \"7347\": 4339, \"7348\": 4340, \"7349\": 4341, - \"7350\": 4342, \"7351\": 4343, \"7352\": 4344, \"7353\": 4345, - \"7354\": 4346, \"7357\": 4349, \"7358\": 4350, \"7359\": 4351, - \"7680\": 7681, \"7682\": 7683, \"7684\": 7685, \"7686\": 7687, - \"7688\": 7689, \"7690\": 7691, \"7692\": 7693, \"7694\": 7695, - \"7696\": 7697, \"7698\": 7699, \"7700\": 7701, \"7702\": 7703, - \"7704\": 7705, \"7706\": 7707, \"7708\": 7709, \"7710\": 7711, - \"7712\": 7713, \"7714\": 7715, \"7716\": 7717, \"7718\": 7719, - \"7720\": 7721, \"7722\": 7723, \"7724\": 7725, \"7726\": 7727, - \"7728\": 7729, \"7730\": 7731, \"7732\": 7733, \"7734\": 7735, - \"7736\": 7737, \"7738\": 7739, \"7740\": 7741, \"7742\": 7743, - \"7744\": 7745, \"7746\": 7747, \"7748\": 7749, \"7750\": 7751, - \"7752\": 7753, \"7754\": 7755, \"7756\": 7757, \"7758\": 7759, - \"7760\": 7761, \"7762\": 7763, \"7764\": 7765, \"7766\": 7767, - \"7768\": 7769, \"7770\": 7771, \"7772\": 7773, \"7774\": 7775, - \"7776\": 7777, \"7778\": 7779, \"7780\": 7781, \"7782\": 7783, - \"7784\": 7785, \"7786\": 7787, \"7788\": 7789, \"7790\": 7791, - \"7792\": 7793, \"7794\": 7795, \"7796\": 7797, \"7798\": 7799, - \"7800\": 7801, \"7802\": 7803, \"7804\": 7805, \"7806\": 7807, - \"7808\": 7809, \"7810\": 7811, \"7812\": 7813, \"7814\": 7815, - \"7816\": 7817, \"7818\": 7819, \"7820\": 7821, \"7822\": 7823, - \"7824\": 7825, \"7826\": 7827, \"7828\": 7829, \"7777\": 7835, - \"7840\": 7841, \"7842\": 7843, \"7844\": 7845, \"7846\": 7847, - \"7848\": 7849, \"7850\": 7851, \"7852\": 7853, \"7854\": 7855, - \"7856\": 7857, \"7858\": 7859, \"7860\": 7861, \"7862\": 7863, - \"7864\": 7865, \"7866\": 7867, \"7868\": 7869, \"7870\": 7871, - \"7872\": 7873, \"7874\": 7875, \"7876\": 7877, \"7878\": 7879, - \"7880\": 7881, \"7882\": 7883, \"7884\": 7885, \"7886\": 7887, - \"7888\": 7889, \"7890\": 7891, \"7892\": 7893, \"7894\": 7895, - \"7896\": 7897, \"7898\": 7899, \"7900\": 7901, \"7902\": 7903, - \"7904\": 7905, \"7906\": 7907, \"7908\": 7909, \"7910\": 7911, - \"7912\": 7913, \"7914\": 7915, \"7916\": 7917, \"7918\": 7919, - \"7920\": 7921, \"7922\": 7923, \"7924\": 7925, \"7926\": 7927, - \"7928\": 7929, \"7930\": 7931, \"7932\": 7933, \"7934\": 7935, - \"7944\": 7936, \"7945\": 7937, \"7946\": 7938, \"7947\": 7939, - \"7948\": 7940, \"7949\": 7941, \"7950\": 7942, \"7951\": 7943, - \"7960\": 7952, \"7961\": 7953, \"7962\": 7954, \"7963\": 7955, - \"7964\": 7956, \"7965\": 7957, \"7976\": 7968, \"7977\": 7969, - \"7978\": 7970, \"7979\": 7971, \"7980\": 7972, \"7981\": 7973, - \"7982\": 7974, \"7983\": 7975, \"7992\": 7984, \"7993\": 7985, - \"7994\": 7986, \"7995\": 7987, \"7996\": 7988, \"7997\": 7989, - \"7998\": 7990, \"7999\": 7991, \"8008\": 8000, \"8009\": 8001, - \"8010\": 8002, \"8011\": 8003, \"8012\": 8004, \"8013\": 8005, - \"8025\": 8017, \"8027\": 8019, \"8029\": 8021, \"8031\": 8023, - \"8040\": 8032, \"8041\": 8033, \"8042\": 8034, \"8043\": 8035, - \"8044\": 8036, \"8045\": 8037, \"8046\": 8038, \"8047\": 8039, - \"8120\": 8112, \"8121\": 8113, \"8122\": 8048, \"8123\": 8049, - \"8126\": 953, \"8136\": 8050, \"8137\": 8051, \"8138\": 8052, - \"8139\": 8053, \"8152\": 8144, \"8153\": 8145, \"8154\": 8054, - \"8155\": 8055, \"8168\": 8160, \"8169\": 8161, \"8170\": 8058, - \"8171\": 8059, \"8172\": 8165, \"8184\": 8056, \"8185\": 8057, - \"8186\": 8060, \"8187\": 8061, \"8486\": 969, \"8490\": 107, - \"8491\": 229, \"8498\": 8526, \"8544\": 8560, \"8545\": 8561, - \"8546\": 8562, \"8547\": 8563, \"8548\": 8564, \"8549\": 8565, - \"8550\": 8566, \"8551\": 8567, \"8552\": 8568, \"8553\": 8569, - \"8554\": 8570, \"8555\": 8571, \"8556\": 8572, \"8557\": 8573, - \"8558\": 8574, \"8559\": 8575, \"8579\": 8580, \"9398\": 9424, - \"9399\": 9425, \"9400\": 9426, \"9401\": 9427, \"9402\": 9428, - \"9403\": 9429, \"9404\": 9430, \"9405\": 9431, \"9406\": 9432, - \"9407\": 9433, \"9408\": 9434, \"9409\": 9435, \"9410\": 9436, - \"9411\": 9437, \"9412\": 9438, \"9413\": 9439, \"9414\": 9440, - \"9415\": 9441, \"9416\": 9442, \"9417\": 9443, \"9418\": 9444, - \"9419\": 9445, \"9420\": 9446, \"9421\": 9447, \"9422\": 9448, - \"9423\": 9449, \"11264\": 11312, \"11265\": 11313, \"11266\": 11314, - \"11267\": 11315, \"11268\": 11316, \"11269\": 11317, \"11270\": 11318, - \"11271\": 11319, \"11272\": 11320, \"11273\": 11321, \"11274\": 11322, - \"11275\": 11323, \"11276\": 11324, \"11277\": 11325, \"11278\": 11326, - \"11279\": 11327, \"11280\": 11328, \"11281\": 11329, \"11282\": 11330, - \"11283\": 11331, \"11284\": 11332, \"11285\": 11333, \"11286\": 11334, - \"11287\": 11335, \"11288\": 11336, \"11289\": 11337, \"11290\": 11338, - \"11291\": 11339, \"11292\": 11340, \"11293\": 11341, \"11294\": 11342, - \"11295\": 11343, \"11296\": 11344, \"11297\": 11345, \"11298\": 11346, - \"11299\": 11347, \"11348\": 11300, \"11349\": 11301, \"11302\": 11350, - \"11351\": 11303, \"11304\": 11352, \"11305\": 11353, \"11306\": 11354, - \"11307\": 11355, \"11308\": 11356, \"11309\": 11357, \"11310\": 11358, - \"11311\": 11359, \"11360\": 11361, \"11362\": 619, \"11363\": 7549, - \"11364\": 637, \"11367\": 11368, \"11369\": 11370, \"11371\": 11372, - \"11373\": 593, \"11374\": 625, \"11375\": 592, \"11376\": 594, - \"11378\": 11379, \"11381\": 11382, \"11390\": 575, \"11391\": 576, - \"11392\": 11393, \"11394\": 11395, \"11396\": 11397, \"11398\": 11399, - \"11400\": 11401, \"11402\": 11403, \"11404\": 11405, \"11406\": 11407, - \"11408\": 11409, \"11410\": 11411, \"11412\": 11413, \"11414\": 11415, - \"11416\": 11417, \"11418\": 11419, \"11420\": 11421, \"11422\": 11423, - \"11424\": 11425, \"11426\": 11427, \"11428\": 11429, \"11430\": 11431, - \"11432\": 11433, \"11434\": 11435, \"11436\": 11437, \"11438\": 11439, - \"11440\": 11441, \"11442\": 11443, \"11444\": 11445, \"11446\": 11447, - \"11448\": 11449, \"11450\": 11451, \"11452\": 11453, \"11454\": 11455, - \"11456\": 11457, \"11458\": 11459, \"11460\": 11461, \"11462\": 11463, - \"11464\": 11465, \"11466\": 11467, \"11468\": 11469, \"11470\": 11471, - \"11472\": 11473, \"11474\": 11475, \"11476\": 11477, \"11478\": 11479, - \"11480\": 11481, \"11482\": 11483, \"11484\": 11485, \"11486\": 11487, - \"11488\": 11489, \"11490\": 11491, \"11499\": 11500, \"11501\": 11502, - \"11506\": 11507, \"42560\": 42561, \"42562\": 42563, \"42564\": 42565, - \"42566\": 42567, \"42568\": 42569, \"42570\": 42571, \"42572\": 42573, - \"42574\": 42575, \"42576\": 42577, \"42578\": 42579, \"42580\": 42581, - \"42582\": 42583, \"42584\": 42585, \"42586\": 42587, \"42588\": 42589, - \"42590\": 42591, \"42592\": 42593, \"42594\": 42595, \"42596\": 42597, - \"42598\": 42599, \"42600\": 42601, \"42602\": 42603, \"42604\": 42605, - \"42624\": 42625, \"42626\": 42627, \"42628\": 42629, \"42630\": 42631, - \"42632\": 42633, \"42634\": 42635, \"42636\": 42637, \"42638\": 42639, - \"42640\": 42641, \"42642\": 42643, \"42644\": 42645, \"42646\": 42647, - \"42648\": 42649, \"42650\": 42651, \"42786\": 42787, \"42788\": 42789, - \"42790\": 42791, \"42792\": 42793, \"42794\": 42795, \"42796\": 42797, - \"42798\": 42799, \"42802\": 42803, \"42804\": 42805, \"42806\": 42807, - \"42808\": 42809, \"42810\": 42811, \"42812\": 42813, \"42814\": 42815, - \"42816\": 42817, \"42818\": 42819, \"42820\": 42821, \"42822\": 42823, - \"42824\": 42825, \"42826\": 42827, \"42828\": 42829, \"42830\": 42831, - \"42832\": 42833, \"42834\": 42835, \"42836\": 42837, \"42838\": 42839, - \"42840\": 42841, \"42842\": 42843, \"42844\": 42845, \"42846\": 42847, - \"42848\": 42849, \"42850\": 42851, \"42852\": 42853, \"42854\": 42855, - \"42856\": 42857, \"42858\": 42859, \"42860\": 42861, \"42862\": 42863, - \"42873\": 42874, \"42875\": 42876, \"42877\": 7545, \"42878\": 42879, - \"42880\": 42881, \"42882\": 42883, \"42884\": 42885, \"42886\": 42887, - \"42891\": 42892, \"42893\": 613, \"42896\": 42897, \"42898\": 42899, - \"42902\": 42903, \"42904\": 42905, \"42906\": 42907, \"42908\": 42909, - \"42910\": 42911, \"42912\": 42913, \"42914\": 42915, \"42916\": 42917, - \"42918\": 42919, \"42920\": 42921, \"42922\": 614, \"42923\": 604, - \"42924\": 609, \"42925\": 620, \"618\": 42926, \"42928\": 670, - \"42929\": 647, \"42930\": 669, \"42931\": 43859, \"42932\": 42933, - \"42934\": 42935, \"42936\": 42937, \"42938\": 42939, \"42940\": 42941, - \"42942\": 42943, \"42944\": 42945, \"42946\": 42947, \"42948\": 42900, - \"42949\": 642, \"42950\": 7566, \"42951\": 42952, \"42953\": 42954, - \"42960\": 42961, \"42966\": 42967, \"42968\": 42969, \"42997\": 42998, - \"5024\": 43888, \"5025\": 43889, \"5026\": 43890, \"5027\": 43891, - \"5028\": 43892, \"5029\": 43893, \"5030\": 43894, \"5031\": 43895, - \"5032\": 43896, \"5033\": 43897, \"5034\": 43898, \"5035\": 43899, - \"5036\": 43900, \"5037\": 43901, \"5038\": 43902, \"5039\": 43903, - \"5040\": 43904, \"5041\": 43905, \"5042\": 43906, \"5043\": 43907, - \"5044\": 43908, \"5045\": 43909, \"5046\": 43910, \"5047\": 43911, - \"5048\": 43912, \"5049\": 43913, \"5050\": 43914, \"5051\": 43915, - \"5052\": 43916, \"5053\": 43917, \"5054\": 43918, \"5055\": 43919, - \"5056\": 43920, \"5057\": 43921, \"5058\": 43922, \"5059\": 43923, - \"5060\": 43924, \"5061\": 43925, \"5062\": 43926, \"5063\": 43927, - \"5064\": 43928, \"5065\": 43929, \"5066\": 43930, \"5067\": 43931, - \"5068\": 43932, \"5069\": 43933, \"5070\": 43934, \"5071\": 43935, - \"5072\": 43936, \"5073\": 43937, \"5074\": 43938, \"5075\": 43939, - \"5076\": 43940, \"5077\": 43941, \"5078\": 43942, \"5079\": 43943, - \"5080\": 43944, \"5081\": 43945, \"5082\": 43946, \"5083\": 43947, - \"5084\": 43948, \"5085\": 43949, \"5086\": 43950, \"5087\": 43951, - \"5088\": 43952, \"5089\": 43953, \"5090\": 43954, \"5091\": 43955, - \"5092\": 43956, \"5093\": 43957, \"5094\": 43958, \"5095\": 43959, - \"5096\": 43960, \"5097\": 43961, \"5098\": 43962, \"5099\": 43963, - \"5100\": 43964, \"5101\": 43965, \"5102\": 43966, \"5103\": 43967, - \"65313\": 65345, \"65314\": 65346, \"65315\": 65347, \"65316\": 65348, - \"65317\": 65349, \"65318\": 65350, \"65319\": 65351, \"65320\": 65352, - \"65321\": 65353, \"65322\": 65354, \"65323\": 65355, \"65324\": 65356, - \"65325\": 65357, \"65326\": 65358, \"65327\": 65359, \"65328\": 65360, - \"65329\": 65361, \"65330\": 65362, \"65331\": 65363, \"65332\": 65364, - \"65333\": 65365, \"65334\": 65366, \"65335\": 65367, \"65336\": 65368, - \"65337\": 65369, \"65338\": 65370, \"66560\": 66600, \"66561\": 66601, - \"66562\": 66602, \"66563\": 66603, \"66564\": 66604, \"66565\": 66605, - \"66566\": 66606, \"66567\": 66607, \"66568\": 66608, \"66569\": 66609, - \"66570\": 66610, \"66571\": 66611, \"66572\": 66612, \"66573\": 66613, - \"66574\": 66614, \"66575\": 66615, \"66576\": 66616, \"66577\": 66617, - \"66578\": 66618, \"66579\": 66619, \"66580\": 66620, \"66581\": 66621, - \"66582\": 66622, \"66583\": 66623, \"66584\": 66624, \"66585\": 66625, - \"66586\": 66626, \"66587\": 66627, \"66588\": 66628, \"66589\": 66629, - \"66590\": 66630, \"66591\": 66631, \"66592\": 66632, \"66593\": 66633, - \"66594\": 66634, \"66595\": 66635, \"66596\": 66636, \"66597\": 66637, - \"66598\": 66638, \"66599\": 66639, \"66736\": 66776, \"66737\": 66777, - \"66738\": 66778, \"66739\": 66779, \"66740\": 66780, \"66741\": 66781, - \"66742\": 66782, \"66743\": 66783, \"66744\": 66784, \"66745\": 66785, - \"66746\": 66786, \"66747\": 66787, \"66748\": 66788, \"66749\": 66789, - \"66750\": 66790, \"66751\": 66791, \"66752\": 66792, \"66753\": 66793, - \"66754\": 66794, \"66755\": 66795, \"66756\": 66796, \"66757\": 66797, - \"66758\": 66798, \"66759\": 66799, \"66760\": 66800, \"66761\": 66801, - \"66762\": 66802, \"66763\": 66803, \"66764\": 66804, \"66765\": 66805, - \"66766\": 66806, \"66767\": 66807, \"66768\": 66808, \"66769\": 66809, - \"66770\": 66810, \"66771\": 66811, \"66928\": 66967, \"66929\": 66968, - \"66930\": 66969, \"66931\": 66970, \"66932\": 66971, \"66933\": 66972, - \"66934\": 66973, \"66935\": 66974, \"66936\": 66975, \"66937\": 66976, - \"66938\": 66977, \"66940\": 66979, \"66941\": 66980, \"66942\": 66981, - \"66943\": 66982, \"66944\": 66983, \"66945\": 66984, \"66946\": 66985, - \"66947\": 66986, \"66948\": 66987, \"66949\": 66988, \"66950\": 66989, - \"66951\": 66990, \"66952\": 66991, \"66953\": 66992, \"66954\": 66993, - \"66956\": 66995, \"66957\": 66996, \"66958\": 66997, \"66959\": 66998, - \"66960\": 66999, \"66961\": 67000, \"66962\": 67001, \"66964\": 67003, - \"66965\": 67004, \"68736\": 68800, \"68737\": 68801, \"68738\": 68802, - \"68739\": 68803, \"68740\": 68804, \"68741\": 68805, \"68742\": 68806, - \"68743\": 68807, \"68744\": 68808, \"68745\": 68809, \"68746\": 68810, - \"68747\": 68811, \"68748\": 68812, \"68749\": 68813, \"68750\": 68814, - \"68751\": 68815, \"68752\": 68816, \"68753\": 68817, \"68754\": 68818, - \"68755\": 68819, \"68756\": 68820, \"68757\": 68821, \"68758\": 68822, - \"68759\": 68823, \"68760\": 68824, \"68761\": 68825, \"68762\": 68826, - \"68763\": 68827, \"68764\": 68828, \"68765\": 68829, \"68766\": 68830, - \"68767\": 68831, \"68768\": 68832, \"68769\": 68833, \"68770\": 68834, - \"68771\": 68835, \"68772\": 68836, \"68773\": 68837, \"68774\": 68838, - \"68775\": 68839, \"68776\": 68840, \"68777\": 68841, \"68778\": 68842, - \"68779\": 68843, \"68780\": 68844, \"68781\": 68845, \"68782\": 68846, - \"68783\": 68847, \"68784\": 68848, \"68785\": 68849, \"68786\": 68850, - \"71840\": 71872, \"71841\": 71873, \"71842\": 71874, \"71843\": 71875, - \"71844\": 71876, \"71845\": 71877, \"71846\": 71878, \"71847\": 71879, - \"71848\": 71880, \"71849\": 71881, \"71850\": 71882, \"71851\": 71883, - \"71852\": 71884, \"71853\": 71885, \"71854\": 71886, \"71855\": 71887, - \"71856\": 71888, \"71857\": 71889, \"71858\": 71890, \"71859\": 71891, - \"71860\": 71892, \"71861\": 71893, \"71862\": 71894, \"71863\": 71895, - \"71864\": 71896, \"71865\": 71897, \"71866\": 71898, \"71867\": 71899, - \"71868\": 71900, \"71869\": 71901, \"71870\": 71902, \"71871\": 71903, - \"93760\": 93792, \"93761\": 93793, \"93762\": 93794, \"93763\": 93795, - \"93764\": 93796, \"93765\": 93797, \"93766\": 93798, \"93767\": 93799, - \"93768\": 93800, \"93769\": 93801, \"93770\": 93802, \"93771\": 93803, - \"93772\": 93804, \"93773\": 93805, \"93774\": 93806, \"93775\": 93807, - \"93776\": 93808, \"93777\": 93809, \"93778\": 93810, \"93779\": 93811, - \"93780\": 93812, \"93781\": 93813, \"93782\": 93814, \"93783\": 93815, - \"93784\": 93816, \"93785\": 93817, \"93786\": 93818, \"93787\": 93819, - \"93788\": 93820, \"93789\": 93821, \"93790\": 93822, \"93791\": 93823, - \"125184\": 125218, \"125185\": 125219, \"125186\": 125220, \"125187\": 125221, - \"125188\": 125222, \"125189\": 125223, \"125190\": 125224, \"125191\": 125225, - \"125192\": 125226, \"125193\": 125227, \"125194\": 125228, \"125195\": 125229, - \"125196\": 125230, \"125197\": 125231, \"125198\": 125232, \"125199\": 125233, - \"125200\": 125234, \"125201\": 125235, \"125202\": 125236, \"125203\": 125237, - \"125204\": 125238, \"125205\": 125239, \"125206\": 125240, \"125207\": 125241, - \"125208\": 125242, \"125209\": 125243, \"125210\": 125244, \"125211\": 125245, - \"125212\": 125246, \"125213\": 125247, \"125214\": 125248, \"125215\": 125249, - \"125216\": 125250, \"125217\": 125251 -}")) - ;; ----------------------------------------------------------------------------- (define (char-foldcase char) "(char-foldcase char) Returns lowercase character using the Unicode simple case-folding algorithm." (typecheck "char-foldcase" char "character") - (let ((output (. *fold-case-mapping* (char->integer char)))) - (if (number? output) - (integer->char output) - char))) + (new LCharacter (%foldcase-string char.__char__))) ;; ----------------------------------------------------------------------------- (define (string-foldcase string) - "(string-foldcase char) + "(string-foldcase string) Returns lowercase string using the Unicode simple case-folding algorithm." (typecheck "string-foldcase" string "string") - (--> (Array.from string) - (map (lambda (str) - (let ((ord (str.codePointAt 0))) - (let ((output (. *fold-case-mapping* ord))) - (if (number? output) - (String.fromCodePoint output) - str))))) - (join ""))) + (%foldcase-string string)) ;; ----------------------------------------------------------------------------- (define (digit-value chr) diff --git a/dist/std.xcb b/dist/std.xcb index 6dc00d2df3290bb7f1a935cb94d4f4631d0977d6..d8014ada74ee29abfc01983342e769e29efce496 100644 GIT binary patch delta 21579 zcmZv^33waT)dqYeU)k5n$R63UBgb-l70dS6v1Hk!BzEFGd&uIfBy9F*W+aU*%_v%I z83J-bpp-((61JATWie$d6iQo4Lnur6p#9pfg$ig1TTA&$fkGRgaq^!#cKh}D|NnVP zNsz6Xx%Zs+eb0N&ohMEeKX-3&`R0woJ1Olb+VFG{y2*0S!Sct-Er$m32O=G4A9fXw z^+iZU0?9Ec<&PNg0Y#S5YN70Xr4&~cW?U;mxv;PRSGb!gE^D#dcOW&BP3dVGPa2bI z3J;K)q9PTgXg00sQ97N8sdTrlm8^N6rnQn$iUqO>QzXTsMoP=XxI}=vfE>{>`Kjc9 zD#uiLoU005n!rgCVi)GBHj4_b;<%88IcZeRsHuYcadL)Cbaj&RiDR2re*^t5--zol z7L$#xlhgimCIwgK16PxDU}OaE8yVsDl-PKTNq0n1BiiFSej6LP~0=o=t?k*02_#a@DV?W=-RTYD$Vz;bAFFlZfIvKWam2N|XCr z?8ZQfHbkgl&0mvBPHJg&Z2#W7Z8)?Zx7~_Q)2gR^rc=||%q***pF)^Xa z83U#KaaE6IV%7q=KuouuzePJ{TS~jZPSVt;rGn8 zt&(frc3p+LTo|`u>=VPSJ7meRw=mPf)%ErAcEuA7O1}*DrN5cUhZnqxlB%-;`SLAh-OA{^G zC|j>w;&6K>T*Uih)%Vl z=cSBF2aE|dMJ3(~k*h0IHWEpzWPOCHk{qKbDQPKcMCetSNrU36B^h<&v>oSLQY<&9 zPJ>iK^)VGsQM8<@`?C^?w^4rwO{+*Y;QO>R9Ze^scpOJjc}EcrAXi*UMb*@Fz`hF- zDB`-Vl)r#xP?c;b>d~YDTb(9(TyYs>Dai*QKt6K9LMidS4oRHqg6+9!gCq27@XPjzndXH?1aFg)MqYx?8zk(l;G%g&h{=TsIs5%+b z;wra@oT7US#jPWT4r)$AL_=zz48 zbDVI0HNRy6p6ujW$(rOO3YX(F?7Im6(=t=j$@yI0926B@TKuKw^^n#lSJ&_@t{3ro z_Cx)dGx&!F&fsq~|0)OLYNoJ=l1fRsnnkgUuJrd=pSVheRf3dIxCg)JdPfR#Ub24g zN_2~BWeLs`7JuS6#3;(fGl66_9lM2YP)a5}JXtFBa?aO8*Zm^Cz_m44eHm`+cERm0 zn&gkSg~I+4>)Ea$yi8Qoc)GvhiPjq22)Ew?-=`#547#qXkM|d5L>1eMKE(_9P;Qlg%X|B2v0UWCwoV!d1b6_@)y1ha)o6sm z_M;jpg&^%!_)ii_sb;Liiv!#b@CH%#`}nRQ z%|6WSP&TgG(bKzXSirx4fBhTUGhL~yY8%AO-rj^Uts5Cb*8nBZ6xDP&rAj=5`q|+_ zg_)m;@!4TTD%8HVp!L6|>vp@hN(v zqRO+|y_R_V)E#eqZ@bh{m}%VL;2e!>J(T;)odUlyk)*hVk|hZC z%ftqx89L3xqzpB&z>-K)WMTn8!L*4566NxGCFXFKBs;E$93L>jKzA>(dr^RKgypd| zN+x5f0t8|R!2seYAOs*5 z`8I#61#g8rQq-g|tmOeD@bwwgESoU#O$HNx-wzuCA+%5n0EfH)A;qnL5bd<|uEuWo z2r!~bO<1tUuNafMEFA^zpXo$xuysdGRMpX9T(%K@QX?y5ZFTwZA;ImTGN1ysQ8TD5 zH?NLS;PG^xS}LTt4pGe?FXvUqCVUx1nx0nmw3hi;n@|JXb7a!Nn zj2P}X&71N04T#V6whnwQTn(~yvG@#Lge!tlu+Y8BB{G!Xy|)Kaj1yJcM&}cu+^BF! zw(_v6J^hxIM^bsXrB2JP9cuCSj;3jb#qe3UiJJN4*z+HeoU%??_Od`uYoCK=nT=Vu z)x_}k@Fy0yvYAx=7yHVUg8fNYsvFVEWt|n$|4&wVe-aD(I||Qgef|D!O<9}QDxThP zS3*&TvRwg}8T#$o2jXL{AN2MYmcOE{6kK)v z#lI?h<=KR8ys!I}n*D93-oz(oQ_FtwW{=}45q{^gpk#YF)i;|;u_rLgqBc-NKdydfHZ_Akm`%YiEKA|A|ABO>5rh(KN7T;*0X9 z+=UPzlI>AlaRG-`+EFXSzcp<6uK;642>qQb^tVCiPtS)wu0~ph(IUjXw zMs$uA189yGvwF2mZggLpLDdlS(-8HH81aqIlL~a1JwE^uZ~Ftr(?E=BrnTVay~G9l zsCz2K#9HnJKdJ@=1nlv=zo%+|>rY5I0Lb#sBtPd6J!dW*!i^XsaZco9ZsP)61$VyV zc0mD}Y$gzh1B*?XWIRbWO0_@ZyTk`&a+k1c?E=N}t9%FDc#QF6N{w*U-qL<<3`uwo zV@ej$uZ(eU9iU3l^D`8F2nXQqqaF0 zlPJoAdX1nDwF4k|oA7Nw^tJHg7ipOdeEy-(2L4982L66*-0?o+zlyD7;m3?f_zUn! z{yMJqbkP;G7RB&QK8%~;VgEY^+{U-zW4H=_?UbZV;?1Oa(Is>AHp=v~?hKKNnAgz; zp*qu96w2)yfM}&$X$Ma_5u-K6YG1WonNQQA&mjhR&-v;4(*f=%iPcq;^3-dM+zx-m zWi>S+dNpqSzZ|=}k89(0i&1Vcy?({03W{rr6UabhATG`G)jh~jRZSX9Fu;p?0Sub2 z!AoI@>cmK^vVCLE+Ks!N8+-a4&PKSIeAUJsAixl-PFVIA*|za-{J)aKVo~N<3_zd||pG{Q=eP*3mLk$tD0s(wm0PU`+oWZ!pfptxq0gUXVg z@}ww9Txn2R_H(6gR-t3h*c44ib7-VT-7JKcu>0{J_V>|pmbJEjATwuywccl%c5%q5 zkniG^x6OSge_Ndb39eS;v##IBTGy)(EgOK=xOZS_Po{Z>=Uind_xJA$ja;=K^;ya& z4q7Q!X=Zm8nc5fV4KaRWQWpWRnCXpTbLk!7SzbG~g6JJ|t)yC1H*6Y3tYD*{kCENv zy1bqqfaOj}Q+TP4fbp2D2_ndNpiXtlf@3y||@9fh2yXg=rd zM@=c5<-g;;&4T_#bE7QdDY_9t60QYEh*p5;vb_mQmQPh7?q_~^wz@*}t|G0A&+u*n z2EkV`ma8~JG#vf6n>2?{7fO>Qwu}ptPLt%0=qkNpobQ&kGdkM#2$VX)_AMH60)|t71FUvR^pJc-g&-eS6nlxHwsNVIFxaKKsK-5Nu!iwL<}K=B|r_ zFW9Cr{@U!}gNJ*#@0*c-RW<|?e;xOPiYCZ< z&9w|UhsUh@JP)P_U2M2|-1&vmL)qKA82s}?araOyaSivU=t0yE1;m$Lejwo< z0DohU{Mq;1fRs$Cy27ssqY1zmQAw#do#85&xe&HbRbB7r{B)v&S_Ae^SA$Z?sJBya zK&YpQy1oia#8OpDTWRqJ8C3z=MUbEQF`z>Yfufl!Q=y{FCR9CRY5HWIO_)prQTR}3 z{|e7J{2^dM@(^hl%R)3|x>)9RSNtF-p%<%)aDym6k&u#H7b)-iA1J;)5=(FX8rO@@ z3JF)>ivjZRqN;r^p18pHC=|~y7a%XHdNv-9_jArryXgLiER`E96MW0qZVjCpOkM0g zMZ79JcidTij+iK4-7-L$#>k4m$4oWwTS-*-PTi`%i9PK~${xTSAxxyUh|=&~FmJs7 zEgQ#@u5U{dU`c(31*oomCSZjsIY%=5F|$BeYiId>2%4SxRx``Kt5qY9Ol+ z#-sO=df6i@!|QN8{8V&eI*^WQvRWVq^6szVF-$Su<-;EM>~k>ScE#`pRz3BdN0VU) zO~w`^U_n*)v&I>9d&J1H8KGNTae zs#URc!Hv?SaTE#&s2?~P|Mhvmu|2GC@8i#LUt5Z6#r^agW^H|($;TjDYwS8+hw(TQ zFyhUR_0oNtAB%rSP20P5ikH%g&U)7+coNhP+bt!YWIB=Dg~2WqM^zR_l`i582O+4< zm=@LJET$o(7cRx;l;gV6n{X-otSn1?sUCrqFQ$l-f2}s=KNZ7*9NpSJ?TSsu01(JnvQ?aG&6!q!j(lOoXt zgvs@R=Kfk?#tn#Qy_Z`Q%Khqkfpc@;rktb2zNXrV>LAq>4D4kEYd$bs92Qj#83 zAx)kp4oy#HGe{t3uZy6~cnJhGN~eS10|dC&$Y=kN7cF35$GPKvZ~iJVQqH;fCGN78 zZS$}QKADM%H?t6`+A6f`s^h-007v-N&1bVJg@ZEXTux$sY!LAI=v07#C0Fe^aZp$X&Z3b~T@6R)tlfNlr?8aD0D%Sf6JmJhz6S0p zSs6Vh2A@(60I0O%!w^nTkBHA~OprxdIvZ~Mz2~z(k@}+InusWqU*LVau$P3GCTe&y zoB24>I!*Ew@j!eEXwclHF*(0nF>y^oL=8{beul zBN12G9aV3Ja+e8Re#$jjN*YbVO;gr$;HvziwhjKYVKG78qsWuUlG6SHTYWYy3dIrH6iEBxe4s2vGxf4Sjf9bH1$`rcElo;Xu!IhEjNsWU41C0lA zn_orxgqAY>}Nq9X7~+vK01o7-~6{_NK_AMprhI^j-qY6b$8xuXaodl;u)tecgV} z;}AhzIAU3Ax>Ti;(6mvDs*a$04Ljrtbx9HQJ&G>Z(lMS!)r=(zKf^P^bS=%pb5`q? z1IXj&Mxia!nnIPMjni^nXEt7A>)e*b&v!GSlT4=I(O-dBd`+}Ry6qE51%sM^Ruet4=mhsCgze3tD3qOggc~)5NW2 zfKw}9A$jLp-bu!%#Usqyg9Z}!S3lF4JRrght_tOPs=Q*@a?3>NEi0+IIhRCso5RQ! z|HFUKQ|E^;hk~rDm~w0JMo|I(;gAZA7X|)1`m`K>*N3qHUkZIcl*$C4(~wnj+aiV9 zZrny_AKAYukMwGiE-mzo<5i(t(}7d?6rld&I2)f`T(pzCRZj75mkncJql~D|o(^^I z8~mpu<=>n%W=}kDB5PQ`>mM*t*S~nW5SwW~WC@S?Dyn-zLT-<+VHx#+(SRUInHr`% zQ^SyuVU1@IQU1qCEuZ-~1}k0i56?0#OQsHK#s53sU=%`Gk5 zWwQ)%L>XOu2e(Vix#PtZ8}Ui&P|=NhOp~}|NmbYBsv;=U)X2k-JB89_vUh^qF%UMR z(77$*)8hORF@`x^T9?Qp-nAx_yU(#c>Rs;& zfdWN39Re+sR^2Ik7TM4$022hUl4L>@DJqS|jWBeMXe3Q1piiJlVUVSn7&4_l1+trq z3~KNZx^5>b&qMl8M`=Fb`M<6BujoCA*&{Th{ek(zZpe;kFBRjgq~QxwZ#7AD6-BhvNJl zEOz?y{EnmysWmV~cYuNJqbGm9|V^+a$qsQW$Op6WMQ!1StYCl z+~5i`d9(cmHCUG^SY1~N?J0R6n@T|q=zKi+oMDRyOF&;#w)qCP;Rd)alXY52QvTTF zo)oDHe&2iB3Ory++F*0=_0ZUHb0HRF9iQQ4UxgnJ3!eZqH75TSuQ-x4Y9AoW&e8F8 zB>*?gOi?o|y3Cj?)a{aWl`lU!r|-eJ^y5T&!B0&%iUW@<3+|6CzRQ&ep_~sw8PEi4 zO8F@|1et|XQ^Y}2pl*(9DJZ(QQ+OGMnllTsKbqC|Fa91UhF9$kdRefwTl{!~0u`3{ zmHZ#0FjJt8`?Fo#iO>tVw7@%C>@GWbne}nZk`QuEhv1-L1cYN!v<;n3THZAi+QOYM z3&RYwGr(Dw5Y`QWCJaQvs55Qn0lQP&dew+bQzJYE2w|x&!VkeiGw~WepyVa)>!gBy zViptAfRhljN%W(hku3UAV=1AReUVb#lH$kxSPbR%-wL;fzToYiFC^vUiSm;txD)u6 zH%@4v&`a^qRKG(BO@Vk2+%9y|&3R7QPJr*#0A)X94qX$TviuXwGqR2nXiZuE0zjD8 zizO>s@Cg$vnV@ORHSnt<)M}un6q_{&JYu)jXS?`IJPjGVp_|*HtJW|cvD`+Dqe+ks z84bly(LuD<5vtY9!kQM+>x^WP#F=z}_a`j=0s~L(!R&gWN43B8}xLV7N zuel`Ps4lLAMR8tw1thNZifq@24S#Q{{{s_91tvoF8F;Bbd=*pZ*3;nF)FM#=X99x! z3N>AH93Kqj-Y7frmZz1Dw?KhU{sR7s|)o=XhPEB3{oL;@O!X} z0G1{EXJBkVT?i|9khN@I;c=k% z$%1b zP*LF$6`N5YuZo(240&$UX8#=cJ&ZGO2`tCY?~OpQmv-l;5(To0EQ7@TnUQhthih9d z3H|zM(xNC*Mxx!BGyaEb-*5)N;k$nH3%c!Te8W5%dfqE?mTg!!2Z5{TPsu$IhwM3v zA>fY~0@5>0Tn#mx_8eWfkaaFXOB=t1@58=dVmx>?Sr{5i8u_X$u4lA2FQZu31@7y; zw4A*rwctG?Yu}MHx^{dH5cujJ$>HE*-e-hQuMRfDZu>3|jh}M|D25MB#X!Ft32r+w zQTHT%622q2Nm+>X@&Vy!xMd2!ueqokAQF^NkeLuT! zhG%<5dtkQ?!giTHhx4vd;s+f3gyG=tAahI{tRHqIP-q?p!OK+41V#Z93{z933=E6@ z!JzQgK%Ldqji=!IqwQjjQIMZaLWR7_CkL~6w&25fT*2f#l=C#2dyK%{G}VgLU$Jto zv0^QhUMR+xvgcKXm3%0o^USVyt`6lkS_Kz1Yv-0r?QMK12he#YURy+#SVRyf@Ld<8 z{gm5J8Z8384sK*|#CM2P@LzHqyZ%@BcTD($#J3#$JNep(>$@VqtdS7^WuM!VWQ!mF zmdSie^)k~)%5=>&44f6Y_%Hd-JZWT8K&vu)_5K*V>>SC1C*IssixaBG~dOOed7i4U!f$q&B%^sn6ki| zIk#8_%8`2+e;SIUGfCDua+I3B)#!W#!}9X;g+LN4UT`3@DYbtJ3IPQtxYbolNcY@y z3S_k#94(Qi8Y5{x+LX|)N^6lRY?lk3^wBw=fOGmr?gC|g?kAmS;L@=0^55b%i(f6> z=Q`@G!b7XEYKCphvcKT<+yG%a$?UmxYi)-)2SlgM>YtvAB)@kew31?ja>l^TxteLH zP1AvGSzG>I>k#Q*2iq}hq*Bfl=;Fb;?~xmom$6=>|II^WNA()dADy-GN?6Gp8_@ zAy*e&kjnGG3*pi;K~E4^VlvGra1$+wt3^B11X`4_8l;1oRVIQt3gA)Qux7YRz(}X* zB+P|q5$5)8)m+s`(c<<@>`N7Yn-;x`?(rr_VcnvDp2b^$U_NIaQAhP=Tn_}Z_V2K5=xho1dTf=fGPY!VkkLQAz0$}M9wX!X}Mc%h}JPr!`m z9Q2{gJoH)rr31Ck0sM-7%vw44JhPp{CIoewF1pFn>;(7%^eR*H)?>oCH*RJIn9Lm> z-URFH-A#TZVEFT10)zjQq;e#}q?4Pzb_w3ku#SXnxd zc3mPKlHC`I%ooNh>q#pYb`6FIX@G)|XJ!h2?YN>MD6&*Ppiq9CuOy8!sw%jTk;=$G zR*!4?IIjN815Jyw%|3l3K5F*1aXp8{w_|u0gQdMVfSaa6xfKEopSkuAQP&ax-8E!k znrGHMSqPCgJtxU1UhNAM+*gX)ioS8Bob=G2`3{gAz(*zu9XFFep-vl#)IZjf9 z4ZARq1$?HgL)cdOWzr}@^=OqGHvpT50^VjhlbXuYa^=5p96SsDJ~MxwDvP3b(VZ}O z3cgBY#+(@*!-Fkvj@{0_KS0hexc_&AZwoHM;~wMKR*gYE2l8l7`EpJ&?Pk#X*o(3ocvS0OrUQ2QYmk_(M# zLpoZ|z7|~>`olQ4hcAb**dt;$aV@rr18+k~;Wxr=C@H`a7ecuWFA5%aOPLd5epA(l z-=wG>n9y^O#@e2_tW3_naA0Gs8IT` zsbz)R?>|%MT1t!-%Y`w^4#rt#`F$1Z529PZt!$?ZEa6I12FikQri1f$OhZoqoPJXI-x9pF^vwPDqzjr5BCwBk&p<=i{*Wdqd*iJEEK6lPb zYokjdcpn4_uAn*(b%<*Di%vHqHrEay5VjzJZiP-me$!4XwYla@6^8KU{6M8^JA&Q{ zTG>X^JUmSXqN+JVn33YAYEH&#l1#!_9uybZG@7J4R_xfxQ5l`te4K^NRp3K?#@jkk zS=l8!isSaLuz7Q|-HS!wDsYZP#SNZskp=gJ^10Vv6nt%zYcx9*ZSU-@MZM6i813P_ zC9e!KAyv|vwv?)fjYqNBg^-#mIy-_I@#8eIBW2wIa$*N9+6Go(=>>5$lJRE{OwC7Q z5O6f5s3|+DgWCoZh#4Hr8e(!in<*mSZ5%L1>Q&jaksals_+&Gl-ri7J8%aC+JJB;- zh}p@&JUzG^N}Os?9+3L*gsl9r!yo_c8&q8&>`2Sg^TiGKCk zV+GG8=REce#yu@}!l1XTT=qlo2<%JDuKK-|>sO+j5BGcNX4*-xnQ!GGh zc$~SG>sHw=+pI3>Hu1kFtmZ8rJb9$<#o={P<*1fU#-%Ao8-DVr$Qm8#(hXeIs=7f^ zuhMT-w7PB-m7b(wD`JSx8Xlu;&`ITnNyS)A`CsK&{RWPMYIHRUbFHD=lY&Q}rQCI_ z7G>fbW!PqdfS#V~u2Q@e#tfPNM(k8T%({gPQmr{usl!Qtlxj^P4O|$guqjmQMxkQY!(dMY4Ex#%9NV@5IMYj0r>P07UhHikG ze)$0yxh9g5_X}HC6@PJ6J^nf9w{C$pd+4}zQsC_v7OZ#&+FX`0{g>i#yHWb%bQ=IE zVx5(Qq)%C(-_MHo2?@;==Jqgw0|>|o90>FP=)_zG_)KkMU~)x*;_B)Q0CII2Yr6G% zDQ^eOYK@~E@wfpXiB+Yth5Q#{Khl!r`WP5tvyYT3PLuie6ZF+UJ+KDDir zN(Ae(=o{|asdM;t=y~9W{YJ#<#}Ch$KF|pQw&Gw=U~`~g*KO-z3;6L`?^;gCi?##U z57BtkoP8>s`c(hao~r&-vz^6KC|dD9_)=I=`R%_Aysd!ijb(f`RR7uJ92?o_h~wKu zUV7*i&75a}k%#0I-z8hVRkwLKl>55iUP4iAOAZ<}$ZsD<<+f*&15%n5C)P({dOVsp zr#+}OY`p-y4j6NrjsV;>rzu_o#UukmS%TvyY8=FHbNXI8Oap9;qrlD`H98mTAT%%mv z<}c&RS&c4g7Hfb4NrO^qS0ipIo<@$Frqbp#3^*`1kUiC}@jBjo2X=>YqF`(B<4{ZK zcB)&xzN7Lxy8m`&#l=haQOn+Hi8M3@W2oCNOT{UEKi(y3jd~^+^Cu-+Ex0P$Yx%h4 z3O{P)n?&IT*A+$dTkgs^pJQ5O4sXifep8Bfh$$WrTQ=M&uwWj8i7Z9uq=dy!n#Q5W zD_M_bp<`^hn^Y-!vyttC)mW8gGvQ!8?JAj(bxSY~86!+2q<$6jj5cw#7 z1FI5;D1nnXQOaGDhE-pilM>0eRkf|irlqL55`(Y<lk@8qFLVXKz~Px; zO)H>Q6rgJbQyUbFuEm7~?I8KK!7q+Ye9T%t5APP1;cY%##7rj9G;E4BdL^k=!+Fr; z6FPS*j98UE&p!;{b~vlk<;+PcKCc8TriG)*amkvl*d#`_frolX_WDJ(?tx1zWVz|1 zD$*dm5RU!CBa}}bB0+e3@#tr1S3j?>KQZGdh#~_ zh$msE3Z)M*k`j;3j{&dXTmik*V=`Xxg0OKTbKp<8pAuENtpv}Qb8!l&Wt;Ev1h>NU zsPER%G;R#3HeZ07db9CLya}kR5x#TFCl>iH886pInxambR@(0W6g`L@pGu&o^5Ey+ zg5?wNlkBim+hEu4ahnUWJP3c2<%3UlEmsF%eWiGzCM`O8?^A4b+!9eWGCeWX+JHCU z3HZVPm^~S@YUnSl`DaAVrPa}v%0>m;wKaR?$EB(}h%d>n-t@!7DdX)K5`i@?$$yPK z;d_r8n$7P|{w;&g$M}A6tkiwkaD*%kI5H!RlI?!DyX|n9toFse*65Su422d zh|3Q^>lTKmWuqsha1}6Vz`AR((TuSZB-07n7pcq)la+}y>4G&roK&k{3WXbb=tgUF ztvbcpIsV0cFaY9T_G>&ElKSdB58+3lAY*4r{>{*sk45##r$x^D55i z-j=Tva0>5*pHA}U_@ShSxbb($@+k#Lq`4=9*TI)TTzJGt=t)u?JPLb$sp|YbjAlV9 zI9v@TRgP)sZAt$fEP9hOv_W5R0$);3mU%X~D#^mw+YoPUAeb1q^(_HN17M&JkY+Qh z@&)&DQmH{8btU~ex!N52mVYKoRRa*1?hV4Nhvldb&Ns?ZO~$V74W)$;lbA3)w;#Tb zIm~O~{gg?e13T4^*>Fci2Hy_*vF!`?Il6A|YBp3gH$y$=l@`%qmU^rjemYNYV4X^> z=})Bj1!$Dem7-j_SQvRLxP;}pGskYb=--aCdVJ37%(X!bWc2j;g);Agj&Alt>9U(VrpnjupxM1IldR}BafF|MWU5ZYv@F zwsS~jg1N>pm1yRbUWBe-o#;Bap=mGz8JVJIhbZ?UV|SZDKc)JXy^6k|3D1O}tJ47& zkOFjl+f8EZ_bBi8tTD5x=^5huB-jOOUHk3O6gZBd1e-r>>mrq5>B*%j@hN%1&3G8@ zkY(bws`;}lm6KS2E>&=v?qH);p(VR3q6gczjG3CsyXq3*PR;fdTb0xPlEum3p@A85 z6|ON(`;)2D{uuo8-P8W^OrdnG_!WQ5nm!J7+nARN-M!@b(1|=Ah2i~6$JUJ$!vPDj z1x4m~14_?b0j^0=+dFJteMvv}g$M@^`hik`QQ?%B4(?+=&4EH%jaVa&RcD}z=B77M z2G{`>X)6>%(D&JzO(2-7rovWfYY2`gJsaS*v$J9^K=lUoZ&W9NHEAbl4;v|8AQ#YX zO{2X~tv3dD#T&WZ#r~3uxjr~VW+ZY+FiU?;I(@H$fFCk^F+dQVzqXyxya-;iGyv^W zC|=<3LAPrF%4sKQ>RPTPdZg&C<#;6wXReDVmSsmYO$X(yb!F84JeP1^#3o7(EEU|e zj!sj+=JGRY}~qT4x)?y%)&v(5JaOg}YBJT=rFR=bStVNrJv+M2;_4X?{Y})*2jzW! zsmkrZ;#;i$3qZK!Rj!icE&z(g;;$aY51YM`*TSufyB@dJ_X;&WikIW`)}+t z+W}JkhnW5RntOz2^23+2Mp46`;N~IqMcFz-eWR7SI)#{Uc_24=8#K!d+`Hw*d?3 z5=Tp@k$6pwjP!YpT;!-A?ueE!t6YEr6-v)bWwaVE4CS%{S96#OP8(&mWy1gjdJ8Db zI%6-C8*3W!B+x;MJ4;c}z6DP*EnG&qGp!}0jx}xBgnC>Hr=-hLQvrGt1PZ#o2ww@! znh2A_hjdykvSJihBELE}zZOW4`bLYpckI-Ia-w|VLECD_CGH%f%q27KGT4ihin=v~52%jOyOUXP3aIm%%03VP&i8t)J7m z`PXaOi7#gHEn6>diVJ6d#c?)Ma^hH0Dw%yh5LGL8iF7af>Q&}!cB5)46eVxz-f_Or zJ9yHUAe%QxGJ)my%!<*tb|4&ZR|-dPQo%$~k24n{-FuO%n=}rXN<(ivJkAEO{OAIJ z(fsP7Z<9s_j(mf74Bp?spb$CnraQ0~8jAv5PH_Vp#V|*>FckGLuMhKYa7>=xV^-HN ztP8C)&=ZSZ$DL$%z-w7o7IC~ln}#Hx8639v{T55t+-##>Zu!`CFTQ`NPaGQ=>E^cQ zM@IZDrkIyMMUPQkj#m#dn(taN3`kM1KO^=$0D@>*(W`bJM+eonfEMa`~ zUu|Qvzc4@aeXGdb3Fq+u=tbF*d758raz^h5saVE36 zWgdcL?J!ic9utMi|HX&2Vx@xaPL*5n7Py$=k&UWj80IhG!s+8?=2Ty>X2s@*mdiCC zaT~JS1Kh=8LNR8h2TZR1wF;WR8HAXKiGz9@7Bm0vLn&m4P>7q28H=$ET7W`na3$tm}N{J8LT?6cAP+)9A>0hVw z(gEH+2$I1EyXuB*B?;UjDN2yFsy$9_4OsVTetzorC^(I51n@5yyMd6KZ--`7Qi5sR zrh=zY@^z+V7r-p_(;YD8XGJtP*B|ym%@2vhZ66t_hj($ni2@9wS{zGEv*=O%6ARlc zq}m+ym`aoYma^(D0ZTrimYxNED(G+SY8Y4VZ@AI%23v8n-q+5=B8kv0#d>uLw3Dv1 zbql>aAB-4ee|?2*|nk(;Y(q! z{16aNoanw4ce&ftC5xbt=sldhUyPUiX4R9C@;p~qdhaY3X>`@HN-i|jdRTb0$ltv8 zO;LfZnz9W>lg_BgtH))KM}-CZd_jEmzokSyDenzl5GmilDP|7I_H@&3F&k!xcDm?W z_#Jqp)fi9l*uMtbNN>V<4e&=svgWvBq8iQSrPTEb=O9gSuHK(2`p}xDZeW6p9Air> zOIg=oxc3_t2h7dD(4Q!c2(71mRG7szF6`DVzPcgsgYHM;tN?s21`w+^i~FuIlhPI(dgxZiSPm zY~4TIP|JY>;9A_%ikDz~k=XnOadMYe$)s}ECu;fheRw16?e*szH4zOEz+{?c&5eewbej+p)KYR6P*8Hqp@ZmaRW@5qB51@ z`ne_|>+cNW3b2>8H1f$vO+rgwZ-aSTXs^Iq6_~Lep0cMTczqA@GS4(Eg(r{;l(G8> za-KXeHwuDAGk2i+@D!CT&uI7zoDMYH4d?wMP~NKkbe;u+D_3xQl;x`+n&C7_YN{O) z_C|)obvC~k=h_GSDM%)WjK~1YWwK+s72^DgtWqCr`gk8(ezTsdLLGH0jsUCagPA~U^RKY42) z7lQGB%Rgx6Rhyp*<6q#Xpu)ZyBC)sTW>Il$#Vg#+YVzb4@1db6eO}$~`@)mKxq2UV z9md4-(4rM`AW*dAY|=RAH=Lm3k+T<9hy;VgR{*@Bo`S(n?hXI9{0l93l;%ZX9?mp3o8;517?j0)Bd_R;sOW5)|I>77@&;z%u9%XZsYFn=B&i|YH?t;bwzly(!CY3uiAAF?ztJJoiF!12JJir4W9Dy?c6`fLf1+g$wL;^F>eo!UqzzmhcX;! zgF_4~=fpRnsiN15EN~9ovt+}rw{AL>7UZmWo<(w;^6r<|qqG(!B?Nvu>(kN!NSKsr zFNRkz$SExes!W2W@m!1Erz(w?Ceo$9@k^uTAy)1U^3nJU$yDC3Sp#xO62H42ss*Xt zk##vigBM4d3a|*Q{8~`d>uL_2+RcI?o|-zf8?Wx>Rm>yK^V4JT&?oCX*Wlmb>!BhIy_9*KDEv$Q zmWHnX*(3aq%U{CX%@3h>%voqRoKh-zfgh%-J}pa0c(0dK^z&a(SAiFOufnm4Uy=v! zO!#hwv+1NtwrqT*PWZhLMZs7y;$gY_6y-3BgG*woghl5yV zK`{jytdW{MeR&Y=GxyWp6LuCAr`6PX_25I{{z6%m>E~Gf1vHbzg+)I6I>=Ix!_WX} z=&bw`u7Qn53GnzJV*O2hi>prmk( zmRASTewZWobB`AC_Lp&!50gO4%5x?*{IGS9yCJA_1cQwz{4vz;=7le}kQSUy&$}gcZYHVWHp@p+N5VF z8y$mlXnD}W7F%I%LMD9(nx!y9G^SZp0!x7wt28ZxznXvp#VO-Bi>Ls%8*f?t*mPp9 z2VQf}vCfJYL%F{RLakMuHj_lB{6Y%{18Ey!;$$Ob6DMh|f~I@G_d1Wek-x_EHTymU z17@J$^ArZ=*%@*Wj7utMv!r~vq$ z!JAVz;rlhUzci17!D#VgWx?VnK$}#u1CzxWdN~}?j{ps%%_$GXwhmr~=7Jg@xE6jS zt>QT2T6We5`m+W1Q^XInN%v=gvbn}kcmzUZ8aCMrI>GWse-@?os=)+y44IH1~8`%qa#x}!n)NR7<^pNZ7z%-;lM2lwmf1o!{AFerGbSR7> z>1f_ys&0vHkwV%=?#?wsw-=6Erwg8Vr0b$$3FU+_W*x!%UT%V0QyXi$+S-0hI&fyl zJu|d!=MMGl{n^{$TKp$uz@_x#BWs}J=falpmKVmgTJFU5o8p$0mN7Lj33CcMeU}yX zXwGF#!o*HRb3T+?wAFyunCygFFAJ3pJ3>;k3;M$__zO60-N=R;rsswm3iey!?KuVS z0E3%;RD&PIHE==GY4F5V%jf1Cb4)wR4s}9X`b#(l0wY0U>bBpV+dwaO$(^eV%ra+JB4RzrNg6(Is(47eWkByDYx%}hsb#SN@ Yx$j6G*(3SLJ~FanK)^BBAREg_I!7BABQ^(<%`t{RvtTVpwu~$ZNyc`z zV+d(T>a>IcS(-E?4Gkt6ZPVP`+%$EzHf__U?d=jZX+yI#>6Rupv`O0l?>|R||my2wx@n@y(sTgr=;KQPze`VALdXm86JuU3URWvrWAewAgu-#33L zkwSr1X};gTky?V(5}=k4D)$hJ$L($<%^_CV;~{kcH>>p0O3y}CDbq?Xt5is9;Hbsj((47dcWdkeQdNvVWS>4s?hhmAl2w6*iqhkrmxrQVJU^Bc-a!7eSkjt zCVwL3V<~T`oCJ`mTgToU^s!zad(kJXV^jV~*6#OEx1ZrUa@4P}y?%D5AC0X2s1Ei9 zSbKo&KB@!M_|?Nffc9~KnFU$<^mVvY^HDb%jt0+kg@EAJulGvG=o!3yeTcTp7EyN7 z_vC$=8;F~Z;&%7)LN@)%d*UGcBkBg`wV(JJ0b^|n`*r4<)aE~KYR7?8or2w zjqJ@*yN|W|@Ua|#t^h}UY?NdA1%wmOZj~0za**xj*IG6eqPu+| zKiwN@V(UWa37L-hLMlsz=w4q)aMND-{1BFzu2TZ6H`Gk``rY(J#S-_sZv;fY;`S2F z-N>ux0(v_t9z1y`IAq;(Xn)i1!5dg#mt~LQF-d+e>-FH*yyaoVgZFulhNv4u6=9u+ zweR!LM-?x9Qvugu3Dzm)hk&kAdc5WP(Y8)uecsiqo%Blc6`8jCdzB#V(`5FdY?73H zyv1i4SAehgu|63O%4|xW#8hSWo@|zUOz2TCONF@=+OF)!67~7$or;g`1^Md%IGdX# zAmH{sA3Nd)7yCK#9#|dMy?%N`@hh~?&(BhaD7naRF4*)1Sg~~dP^!h;J=?jd=Yv3tx`cW_2 zeU|lsl!Ra}Dm`9P&?mEYeu3SlYakm`FR)QwYOEb<=M3}9O<;Qv7n0@!@1JP~j{^Z6 zeY_m?P2xLz>`@(S@8JMb;fxO5P~!Iht@k)RvY&MX%2)XU&Ac#w-c$Y=Utkf9(uL(~ zd;!zTzQ9_|{30rHP@(Z)Gd%}kSA69CkVojHPlpm5T+b0xL+I-s z_Oue>QUVtAdQ71ZpylQe)Ws;*zq%Tpx&w6cvQhI}A(Y=QAwDP|4QhWHGhH0=>ICEi zp-NCP`H!589WaqczJJ713LtD9vob9T2h#2ZyJj4)&jI z7P38xx&93L{WGJ*ESuQx4qCs+pAA}n+2a!?f?jrngN?!j2i844{Qjq~{~b~FaUnOK zO$ZP90j%}B{QpD_;~6&LapNI2ah~x(i#@l3C-gb9NzD-$2?wkhsP^A*u)x- zx8fBK@M}FSUW}?a#H;c~p;Inh6>oU{lI=CYs^x`@i5IO_GalO2wgaGGPPf+L# zde{*T@H!4k7pAG#j)#O!P9+XX*WnTfuq+z(h1djKuuhE^a3ok~>F(kcbG?r21AR)Z z_(+e?IenSy_j`F2od64EvBmPF*HgL4>$%19uorIN5wF*BsL|`KT#9?H*V|S3I4Yu! ztoI6?dL87OtTcKxaGxyv6y+VfCQjhDfrF+$RrqxTWIIDgYrT%>05#C>D5oYaYkdg; zSLwLWxgIq?E|0n1zmZqLJ9>kT=rxPmdo-YNYEG1B`Y8fi>r2QqVUK=7U-an6nVwJR ziyj@BCV2}-Sf^a|r0ni8*UKO=?g<%GP5VlwTgxpOf!Us%y zWX}O!pYXDu${=G4CuQk^H45t0iK>U?zyYBO%owN?Wx3J_HxFDV3%xcg-+6CubV2V4fA85B2A$e#k)gbAIP#+CKJ&!A8~yjw@t>cbT`*cU#$ zJ{%&g7|%Z>foxb`5C*aXy~g#!e@Ey9Q{ZJ*d3;{?X|f&K@k^wd{tWO=ja1)FyHL9e zE$bDp@a2=F8V-SQH}IFqTz2R*Dn$&qhg6#qfcIiRP-tgg0e*ta6%Rfv(_fQn@t`am z^os`{#L~3uNWiSTPnT&)Uin-~Wb$N;}8+7Tf)BYdr4n z!CCVdcUk6>D%yG)#SYwG$32YuYfDI#7^KHYm7o04=lQ&wK7!Vq#~q-(9|gQ2Qxnim zQYARvHkZR-Er5=F8%F#i@WkyL$~PLitf-cmzI2;N9FMXr24AbaRv z-rz$5vR5C{{YzjIq)O&eGEw>bf51#mcucD?PmQz6*U{<;KnOVU1V>DZ2rzH?x(yfu zJ;xf@sqi9>O4w zfWe{g&R|d~K&CGsJ{{rZ|Ab@}A&X(z>5FC8_=7YX@CVHn|Br$+N~$11K?<^k*t>o$ zNPmi!0AMsG&JtPc^s-J8 z2n6OYl>$K!6717kx-ZM=%44ba$R0X2tQcSIE5xgl8zf+XpT-V*Bn5& z({jc|1V?cM9IA*_{&A!T10ls%{^b6U%!wL>5q30NUJl6`_i(a`d!yihVMNs@T&sND z%N#zB;IMZ41qW#A004FU!jVRw!h(J*qYn`&xE0>CUTzeQ1oRp&O9*QG0s>;e$KmCF zN32(Z{~VY}NN|8@kA(P8z5EvlI{EcJJrYC!Uc*QGZ_kmm-DoAzS=kd~BI3~?9 zwXO@gedd+$-nEFY%Y3;-*pdWt1NzcJytOxQy zejy96pTmH4C4%+fz5x3PUONU;lEq?m2F0jZ_MrS)#b1I5seUR(Q8Worg*lL!+Mpo4 zs%2my{g_@Fc~@~3JB(>;^(jqk$R}KkUmWuJkp($is+o85^+%I=0fs=7IAnkH`EN9z z@cHP~L7!iUUg)FOkSgAQo*KXTNuSSrsm~uez`$D*0rLtUK+iOU|2yGBz!#9g!<eY@wZg_f?h9B zk=_EXLGun&zvv0_>L{uQJRW3T>6NJ7ivBtey_$%~j-c-F1j)5%{}Sp|9+QCTU8s6B z(;cYZO+}MPMe&e#lUED_h=&3wFEQOq-Dj~)nt!@4h_(kzM@g7h#6u{N4i-2j1KS8- z`+p*#(y);J3`Z1O7>FVs`X3SP(_O+LdA%Y^Zed*JpcxQT^;yHR@31(SW)te$Ncn|-(2%$*>Acq-~<1gwUe@+KIE6h zOZ|t%&-tsCVc=B(TjlzIxGiA4N)FHqe0PMzVt}1rb3d>T?Y@xB6rg|gh2T!@2#9Y4 z#BT(}&B4QBTZlgE3)pNSI(NVq@C!)Ryi|5k=%ly#8gQ5FL32$ zNYU~5W1eDrNpW`x-C(fNeXm{#uyMt9H;+`FRBT^RJYsi`M>xbGzgm1km_y!j7=`T~ z1?%R;Al!&y!yI4@I4E6*`MMyLFN6V(Vp#z+-XeCdF9A6ugq4kAH&#sHWp@eDYqm2z zKCzo$7&cu4p>^a?3HJl>mo8hlgdCd2OFaRxJ75bV(&!F|8kiEGJ8*#xYW}343+&bn z#tZVYyM*X9y@#`ANbKfUSM{SlH@_=7JnKBAs?hCw#!Zp=_W5a;veUevdq25P`HTb@ zTJ2%9YvKcRFJaS@5WC+En8vAuxzOWStnQ;{J1~>K1x@3`jf&aL`z|Sg=~+G;5~j>< z;sn2AYDYujd-^0f(i#dt$ht$qAwO0bh0v|v`%uwJm^HlL?-fO_(C5c}ABtnV;;)?Q zR=nWOKG{nASh7C-;w#oNy<%9t&?NSi^z}N1^62!+>Ff8PqW`pFBR;WvpHJux1O+$l z@y6+jHXaByqbVf1LjvlPyufYa*L`}Ge}^#M8|2!+mgQHCTbKg67tUZ8(wMx%ErvZ^ zXz}nHTzTV}I=FPb&ZfupcC73t3<-xt)7ez#(xYcP@M)7ZB&dHOXHtAP|K!ru3nm@c zzwywgxD#Ky1$XIdp%?Hw_~Pk{BVbaFpXr%qNRtLe1ux2QKZ)WE1{AnT8!7XNqF)pP z(6qfiMf`R^+!_#1gA=y~r>{qVJQ5V45>cKGebqy@l97;C$b{$@u!$pfgrE<^Ux%8+ zYeT}d$RMUeSbKM=0t9Ox1`^hIVGJ1`vdmY!$ao7+!3D$(5@OaIlr9*|Z|SYpp-{^- zp=h_?(`CIB8SPi$l(c&o$~QBAdL{>(+$4RP+bjVlZ?F9|~Ui zsZ4Wrzh4~JWb=h`(08j{q~qir+4|>@ObdSmd;eI*Wxo(QOS(V|EA$E?!oppxliVgv z^VkDoxBbhgyTvCJ;mI4Vf5N`*6#<`Ld^_r6-|~ih_Iaiy$~W<-aE+fXA)?=Q`BA?( z;@@+XKp6eMAvdzF_xCe_}6>e%f(mcRGNZwUKzRm$=@<~tCW;Edw_%K-?_6fpsKj;C_(De!S zFA#hxAIGyndXi@vDP?^0#E-T0|B4{vqo;)QVV@wST+mVEe|XYp8vECXA8$a9Umpep z7WAOs-0E=yG_!*`5F91hrQX5uo}V-Z-fdY~u%w zw{hesnqM(p!K)7t=A+*uNXuh;1=a5p=A{q)9#t<4D}5NgRTOXaBK?HkAEI^uszvvl z!2RK$pG8dlG@KU?83v^J5UN9lq~!qy=+|8&ziFHHa{`8(#tlOo8Eo^J-i@~Z6VaOj zHgnkT^W*4%-~AW6$o3Mk{Ft9eymFcyBYMjj_!o0`sljIo^U7%ypA6B^q7jjgf%Ov0 zA1C85%!fR>v*+!SL!{{aOD@%P3dn{7~4p|Aimp|!)p@v6-#XscL zeaC-=X#cvahd&gu67EW3IvnV(np!AFtnq3Gt1_FX!2?V;%Q~(hnhXWcchJqcA zeL)nw612iL>J{G5Rcg^2YR(SvO`5|2_(+%}${sv&27`;mF`xeP>p7Ul(7`bf5TFI$ zGu@~84(MY!im7Zoi@j9zASi_W08KU=ve_GO*BlG^N4Ri^ zIBYWxFz!FsEP>;tpcas^^Lh#oOiPUpR}j%cN)6_0Fz~LTKisVYcKpMVr1|L-e+3u0 z;~0AgNVWv~c?0MSrwHX6;vwr)Fz7)qmIuxdUwdrPh509G)2Mko*vr{w8ok6kJ}pgX z^Il>RIR^QG8{>V$7PkI47zAehF%h98piF@9@_$6+QqQz*;mEWi(Zak7Ylbdf{*Q=K z>H)v=1wM;#5dcz>g#RnziF#)Y!a9#MqD+1{8y(xALYSf20Mp!<2X_Zv?r|VwafQ6f48~G=NRqYdkY@ zx^G%SvF*so3k>DakWTCW7qXrY6Ap#AEJB1skktSOYe6~=Wik~Sl>>e%5yrGB!u;RX ztEe&DAv)DRUGs@yIu-gDDf#I>4o`m?;q~{~R0zkCrV#Vv{v+o~{Eprr9C{*Xp9+}z zc*qa%5*5n{b#sM+Hu1EnPoolAM2_+M+q@_>5Yc1myObL(PdNc`0Y`YRj_ZIcJ75T} z0b0Ph94jXwxi`RTC43VWN9Rv8asCALz^uI7C6lm6^ZGnNx^sw_y(~)19(EmSNfO7o z10dG}xs)Y%^#)YQfaNuu4ZM-n&_UkzIby!nOHw#jcQdOoRiUX9?l%T{xe|EEpZ9&us_OyZNLlAqI`mFMC)0s1)V+}^LfISYl@RzBEYBFRh*O)aW&DGOsmC7T1BZ$ zhGGMeoGX!$QgNIp6=%xvXKAe?po~VHw5EQMQKD7N7E6z&7RYceotILX5kbw-Fq;{P z6;zUwhVwXoDv`o~Ds447C}g{mH^uR*en3 zpvJZdwaO69GG#A6%PQ2$aaubm2uhL)5jt9A@0Zb6FvVC(Eflq~`ghrkL}s{<9llYj zlOy6aa=yi6HoBl!P$mc#PKd$uXC!L--}D z9waMsxyV>sB4^JG33YOJ0JAO=8dxBaiVQ{LpNU8{F_KocrIz-_+?iawIOlitg|^rs z(6c*Z(0;J8CKYr?+`{^%huKIh^;)oJ)+|2p&wf=F_Shk^j4q?}J9`QnECF-pk=2>F z@S`GoTdqHJja`-Jw9pxil#b&=rTAbbnHE+medgtYoLKtAws^9CJXvtkyfxrGPa`GlF1QiK|;!aN2YQk$-LSo{2R>^d72gWlvrU~y!)#^p-Yrx z%sx__JxFIx>5HbX*`1m^L>JZX6lTgX=byjFoUznWS1i+_3F}|)FkXe_Hna+X`t{W& z(14!9*E^nBSghZ}Y9dL8O&%gU)L0>tbEU#+y1y_`WG!+y-*Tmz%g{%nd)1sPMqbai zxL=!yxWrcbh3<$)SnzY_wW{&FbY;g0VeV|Y%Ye5ga%z4!^-^VrIJ+^#7DO}RaaMKf zuT~j++HC6LT*O+(mbjxIYw6h$ zy|R7XqL8qN=5;3RQ=@8sa>h@XEuPJ*g$7Zb85L&5zrcRwT+!H8d(Vh**_GIsh^He%qEqgRV_EY;KUI`yQHe&p`MAS%ZK*~mv5co_& zDvV_IN%WRTjD+$Q+Dvk4LF2sP-Yq4`ya9DgA_z0o?Zc5&t3+HLDX+#dX=v+YUdj(e zQmGW}C)FO>M(imP$w64#EWK`Mkc9n!c$HKzklGmdKATC_rwe(e(HbZz57XM9wf+Js z$L~#b`~iBQ>4!tYsoyU72;ZosY|D_(K7S{=V?&YAqGRiS%sS!db)R>tWg%Oi5JuYZ za38p%4kIG7l0wv7_o#EOIx_HbGNlUhg(d9*Htj0J!%qKN7LN_&JU_tkiLOCmpDQ=} zzij0z*j##$ZonIC{0;v#D1{@7@yLxARML@CnpbFHYqBFGO7mE9nR82tzr_L0-{)gN zz7v`I563HD@Vc2|^V|0C({uGf=ZTMm&#Mr>tfO4pEiBHG*o;VoGcJ_E&8`mP<6v)@$@T~3 zW%MdAcHJJ@YRB~7o;4yKZ&ji$<3l4jxDO5ouxID3Uyp9R;9)3g&Nb|@- zW~}R=H&8z&Hl9i)^9AVD#m@?h>c8S8SXm8o<}_E;9cpf@OjyWlCB^y#6l;W7ol5A0 zyY}r%=%Pj{^u)WCwJ%@RZE?~c0dmboxN$4whSdtwO1h|F`A{aEDToN_lyA^qey4Y^2Pc_-VZB;*J&MA=NZ{ z)`a2Y#i`Vo6jx*N$%`8dsnn@^zIJiMb7yg~X`NlTxVt}AwyCPUV$1b(XPN z|8;LVlXk_`Z=c*~c%R-%>8Y=Oo); zEntMlgaBC7YgkU}(dC4Ws8xrk!xbl)ku-NeiuG`lTKU?=)gaU=nX7w9$u1U%C0AE> zJL?^i$khThfv0I(o8ivYT(qCdONJWgA279e+*&QF*7bCcluYM|n$9N+$sOtyZNhih zh~ww1I&T$X%R81UjrVY)a9SLSo`^@JFMvNy9(p;Y12Uv_u1sgq8h3rfT@3ZwWvKa` z8#lK@$Yj;jwbJ&uGTP^i8AaFLSh9VEVJV+bjaM`D_Ne7w0}t1OiA|rO3n5=r%~?0; zoZPK*a&FA9IRRSU**L|Mi^U01Cp=5k*a&67iJ=)E(1k5A@)^jf=h?^k6! zv&S9zVXot34i<`g8+i#PLzVbvkpllL*pv8}CYf@{bln>#bCb8yKb*|r312SidMHnF zP5A=4`p0z<$mHfd7S@fUDsJt!2~GLpdg{&Vid9A=74YU?4-4I^q(n zb7jXRi&xPmJe!=x|#eT>x#^NP7KO1cG%gw zacyPX@Dq>JHK@T%ew0%aLS2Jd7$gz8>APnv<)DDy`3Fp;?0635(T(;6Ts-NO+-8bb zUrE$zx(Y^z>vq`8aULIVn|Tqe67-a9F6$@SjkH-wkUwJ~#f2|n*ZO=qTOYnoeB>f! zov7VL*8tyUeW$G+_OIqbb`GTeREKyK{a8F8%r2XdW|M(=^!7$d7g0)n4EO3Kv6VhU zYw=hlIYQ5$#}>`H{;YXxO{Q%Ms~NDiE?==55mcEn8V0voB*E+v8MkT@H*2d+H|M2` z%RbV;g`y)r?{wQm!W0{rQ^%@vO+t@rS-Ty~D+Y+pF3-w&2lEl)<8X=hDR>(Hv-li@VwnukG4s>uO(NYrr3}@9r-y->Dt(=0;?Xof__z>VR`E072mod z>hcsP@2}m^$k-S0ds{nBZgnIRwri@6y0&sDKe@FZ<6nTK+4}u&J#@v+vaLA{3)8-Q z?bgq3IrUWCQ(Ttck8N#y0GR-KGQKn3UY(Wii$nyoJMz7F$H{oPH2AD3uFr?)+6eQx z&NLqr;<{R@7P-`#{sxgHy5A0~byAqC*y8K~y0rAl4dUH%;*fB4*#5JaQA-AYSrTir z@CHcxG3462iwHB6(Z4#Igt|>G(qX8Qs9O?d) zk;@Ftm#i1U>9sGFlB_?SF(oBf3!-ud*@E#p-KB_@V+il)VlMEyTf+rj!n@TmGFycM zU2=w9#*)ax)DhhihN&}=PN^jGIZ|?k2h<>BUc9gVZt`g}C*UE7Jd9i<4(BOQoHV@# zihVU#O9bsXSFEl^Zdf*twah)QVLeO;cZ6#qHRs70>k3yqb7CY-PZ!NuQvs2!cU+Hb z)2cMFZ<`p3CC~G0a!QiPHaN}PZ3e?J-Mr-`kD*6rZWH2zS*mqQvi5d!4GiXQ+N7P1 zH`u+2&nT@AY1CZ?ize&AY-G7~fZMbX-HKU6W}UTZ5%+b={!GbwrUno0V;GUpnq zJyS+!;Ky{=@PwIX%(So)0#-f9_Lj1Ju~tmA@aOFVxKIJ~^L^mY3Hb zjwd_TUOV{woNGHyUJEY2{95V2dnIn%_YeBCDRc?=?waSXi9B?5s_KaA$FRQ3*ItvI za}8-&U2{VF&BvVSle^lqhQi_N+%MpK06n>T=kE54g-2zb^NYJX77yY(FZ(Ns8iST>|*FV!? zD*Q!hct}kb7QUY>5Ix%jYw{)(-XqF($7SL!VP?6^9$^axhhasfU<8SontyXgD#-V1 z%jg0gK4w1@f~>mZKM{P%<~u(pEI&ycKgSr28sBG+Wy3 zl9Vq*a)rxgNh;COaVRxJGNm+KL`v^8V(Gc^toovjg<%C~bDPv9CZu#m=!N#OAl)Vz zpU>tpJ4iCF#w{ZQ8J@Hg!(=9THmN${#E``~7E|NDYqOq5zavL)|1Ddh{&K!-T7Z~q zt~-{xP@Qpu=i z-%#~oZ9VN#M!(}!Ru#)~1XIWZb_xlTE5&_`--7=x{y=_07yM z%Q-0;RtqDlniejTeibnyuAs(;qxHWh*U?ss`6JFlk@5m5TX>xwyC2g15UWucYb1)! zEy2hXPvb%J?l3vVFze+03v8EDU!QhSJc}GhT)0)Yqm7YvMBUNaqwWZG7h7*o3j?`~ ze*|*qiA3j0=A;jpr z;Ji(C8k8d);$`(;q_gGi2I;bCIlOj~X)`Tp+KE9>c=FA6esj6B<@|4^)Vw8hA}!Iy zQjOPsJsoL;GDM^dKM`(XRgoRWW&jos5*W$Nuru4IvZUbY)W@8s&sj__qjSu+Q}fdp z8^a2>J83IY7jyx~)us>Re?*;HI$HY#TO7YS*uZRiu;jaUM_fh6>nFBHXP@V)UBxb_ zdCvY+|I8LUeC}8zo_Ds!CQ@oclC6j&i|nQs^ZJe+CLnXZ~veB*~Yl8@o$fYDjq(bO`)BQQbc=6n`#v{Tk zW%MUbp;+>U-@(~dLyDr1k%og(lt8KL zl7Eb6=jlxHOpqwok&j4~9zzqk0hu^>FQh&$iO{75Qk#pUrG8}p63m)RznmQ|5GT7d zLC&Z18Bg5h^YD{kcz(rB=yD;I{PS8R^_Fnl)v#Ai2%24-Utjff^F<}Kh%}k57Im%o zpS2e{m!wte(KdmJEj!P@RA;|p{pBl#h_1mLweowMv4rZztg~R;@Y%GmfUPdsUNShH zI1j=X6Y3lvIy=?v;&7&*+82QR>k-(@^Ewx6F%TwRtbbgNZdoAgjolRQdq#FY1*Ouv zBtv(Doi>3Jx`x=S`IYvGm4P z_mZ^jCvEctCJmIYq&=8(Jhe|f{aSG{&=7N-eyuT)I{n(NqO~s;+jhw@b9szxLo%CH zYw_RS{~ElOOj)RT0Dmf>Yg#DUIl>m%@Rh&3#5QivWRa0@CDT}5zpLs+acja}Rr{JU zs_bzFU6Qb{q6zLS3~nAeXv84aLjU9nQiSFuc7^UFkHhm#OHs9KNf@@bkg*UYPNWSk zbu_1HdBT|_50l&o=VEa(FLVs&5pncOeK6xB-ls>g1rJ%sLysr%VM$Wj3Q}WHz7@1R zQ}_u^W?vV4jn>IAOhH&jO4$NnzZcM7k#^gkW@He4~g+^e*RhrWx z>~5Eu-jSTjWzsPI#A8}f21j>s$jn4fm^s+It=O=b*Bd#IqUuYAXI%8NJ#mEy||CA4MbKdm`eHgobr^FtpFXN(VUsbs?i*WB^qs9us(&{E7LfY2E0Ps|!(ZPFv$16PA7iCWhgxMgW7>cJ z67ui5!Wl2>m8)o=9%Yc2Odk66ZfB4^RR586w)(9MP1~qt8 zlvc4N61`t4YdF`gfLqeiDw4~L(+|) zty{~4TGlwYVQeUh&HA=PCWn9GDX~_#w%FB=h0=VLL!dn@Yr;=fwlU8=(9&4OFc5!8Dr?nD0=doPIy4=IIj?QipXIa;~;6^~zx)8=Qq@n~T z&#CO@TLsB@CMLYKU9?3LX(3N90)ckNQp>h*F)^mgG~K^X!1>AFIW{DO>UOhP18I_) zLBMpM+md*2dilZX( zdjT<^?XhgelyJ`f2>!*4*2a}|0e*JSjNeUGWVsu2YMYQ_weCk7?xtbx(U!~ZMebJ= zD4=ZnaG`S8dV=~eI(o75{a8BFlugy_&z{Q6eu()lOVb0;_W6VmV98yKe zoO*S5l9DK5+ZW6saeH$}51Yy9tl`a)77;#dlL(YJ!lj%_5%tk@2KjXp z!BHD;-U8Ka%n9d06HA$Bb`ToEFpoY0nv737ufpf6nN}mcuLl!QlY7ClS@OizVe&*p zlbK0-{;o^gvvdW;k%{e2(MJCMfoO63Jre);!;e1{KBRXwy!v5sIOw9Q##TISjVogY z!C7x7A6L{1j#H)&^U{I>sKqy%qGN`CGH3zTDIsa6wwFFh=QC!`;}yQggvbAxQ>E8Cfg!i`-rb@nqgY z`iGHcgKr^0Jz=Y1O-6DLMAH3ryX}iWq5^lsp@HDm@VxjoZO!#<3#@hJGvLvGc48=d zZ^k$=9NbF3Hn!pqXBDYQ+LED*^{h+H4&!Nv@N7A<4LVFf_wQ9ekMcUTR zBYgI|%6saLq$LAYxMzhuhMndEE?xECfA1coDh*3A(Lr)wL#@`0JrS&2N^Q;Ot!wPb zWbM9!W%Z2XrUx?V)R=fvK^TY_?W8@jBa$3XMWQKw1n8~bVi~dJES{hU#3h+CmSjI; zk9i7F?bF3du+_@maw3SVK^HA}k_FwBbQfU9=mkz~ek}GeJb2Hvh;?zPC~bfb2x`o5 z549I0YJ58t#5Wo4XJ4y7p3PL-pQ2x)yZDb62Ku;E zP3qwvJ0n@SdvkSLl+iivV@r*8m+j79cKnd?2iGYq}O zb>HXH!ZBLVsdnXZqU*b{q2hH+>t#L&Zl+MbJ;B(k-JD6-cJcsQt z*Mo-2_owyXY{>^bIImmRg9IjBU&N9Cw@ItepesWu_jK9cpbO(|bBy-T49XKO{Yzw6 zpe2Hf&H*tR;yZ`4nYlTG)=js?DZ2s-I-SCFMZ@}QTs2EmVSdCaQZ!#9lL6hccMThZ zf~X{Tx_*^vTdjCfh|7>oSgh0bdEKerqTU5wCk!e`8RoEtccS~EMs&S>b za0E&#?R6*Wx#F2;-U|7}{@5t3gq?^}f7Pqr%{UQJU%&kK1N4Hl00-@2JB}4x=d7gR z@D9n&y~&GA2Sa9=+kp8 zFeEsB0apflq9aM{d;4-EqmAHQ(pv0-WO57d=7K+7+QlofA5bOB?$(d)y;yM3^M!iu zZV5j$&<~V^?wVBfTg`gn3ie!pwDVJX;5Q==1mG3I)r$}3)D<{37q6y6!s^=jEW}Tz zR5d`V`F4J;NlVbYi>x0?=97tm}jOMx8%QnGCLL zRr416R6{LX5EUiX_JvF+`V8(SHq5_63vuLLMD8t z9+7nC+b$Y59a+UzXq{m!M|UP?%gGN9(3Nw(#%_c36xpqRS0p7u?xD}Gp=|l${A1o)w7w|MM%@uBI<~FC9A4q&uK(8MT%UBY0lO&uc4W|qENDJHq`W5NhWp9$B zjS?GVj>i5rtM=<*^Ouv$UdfTS)kkPRp@YNZc0Jsv8mk&Dg&Qfg!uBFJG`gKJb3?OO zciXyC*a#99=PZ>a8)MgPOt@rY3~?7E3?>E^CX)NM;Hf*G&Vv)T7VjaKemO$hxpmOo zH{vwj+AlE2=&g+n%!>@9xH8iFS?pdH**nY~PsJhy4~~Kuel7)~TbnyR{$}rPdNtk= z{C&JV7Vq_$3c91W-58zySC^hxjpLl)DLGN~ZSPVwU=ZV*otGsKK0f~%n6A&PiZ*Wq zi!MBtdb|2f%ayaV$!wfes!hhSQYeESumCMz|v5oB0*MH7}27*0B zUG*U$$2Dr36kc^k^$$-o`_|Jr5RxvRyPuFs3~?%(uH^h-}INOV)gyAU$P(L3(=7y-T1R( zs^{?syQ=bSdHeNpto|DLJtT%BbSY~QqV|<#3S$dO0ijV9zqk$O#neKd>f)i`4A!K@ ztfaPB{|pZ44yRLllId-2*)>{CI@U6DXv=H|>C0+DzN%LS;12?ZnIM z+a>#a&fIGl&Oa0ej4C^aM|l0oy>Q7Sy1K1cfAgDiGSIOt&f2Bt8m~66(USV;zp%)( z$4d&NKQzb#No-mS!~b7VWY@@vS|feweo&BeOx$osgR-zp-yY31CGxJF#j+P2cowCyL;IcZxYBZc7 zN~K(cN8|8_atn;tvpP^$5^%&cR-Cz%9~D(8`9v2ZE_<=obQ6Hf(Xg{tFJOCe`b6!9@&&9A{($ek#(u`7%9e-vBYv*@&xdtAuWb{4q0|jJ)(bVV zZRV0)yTZju9z>CIT`%BA$<4|(VUt*WDUQVMmqW}xR}R0fl1#z{|5c5xMoJueTkD*T z`sOWFHZ@+hzV^=&nJ3K<0)`KVbsoCJ8C+b;GR=l-1`Iv0Sp-3Z9)8!P$z6F#S^{FzIDTpj z(h>{9hQU7|j~6y)q-68mWOiK8mV^w~$|-48_pO36o0)=`Ci7eAl<@8%6Z}oi1c9fr zTJm@4+Lu#*-Q-kSQYRd3M#=pF7d$C}xNst#~-MMh6}bQQaGOJ`a#16VU8U7 z{Uey4{jZ-oY!}aP?K}{Mzu77!=oX14^R!0a7BZ@aKc%J8KM)Ni5G79O!Z5ZP)^CtZ zn*B^trOndUs~@Gkn5>8x<78>8l*h;5>`)}Vr~t{@3C2@LV``R-jN@Eh8it;Xj7vR% zo((utcZp%qaXqYFvg_+7M3a|PRrQpoEH}9I#OB3RhJBWiIo3m#)nx|!Go+)hI2*NA zX-sJ1I~BIp&9lk!h$C0%YZn?SegPJ;TvE}JHz2JV8yMFQeyX{$OFI*!i9Uv?#@Lfz zUm!hF*+pvFd{v65iGmB;mPyh-P>^sE9@$+BnFFhXor+R|L(25=KLjYS2b#juS!50F z>+9RB)kf{SEp=a#1qp2tq8fl}hY!t;7(^9Hq7IeWOv zoD;d>5&i>W{Mj6dIu~%e)4u8@o*kh5{0Z|Cq4_QBmN{?YHU}o>wl}o1MyK%wx@$E? zF5sre@sIe6-0)DJ95eh{3j8Db@i&W(>o5BzH$Bbw-hz|fvG|^UAIe+scg54Yd4FZY z@`VA_AjEsIZ#EuHe)b{oa=8;b!;f#{S__05 ztxrY9tgZA(Ihh|Fj^@qlgxWbP**x_I=}R>&_S?A1H7E*QqP_$YLlieTFaLfYh5T> zetF$lM?->N99{gdzRnI<1iAK7eW9_Ft1t8`onQYr7MpX}ppYTDs*%zgzlYZ($KOF@ zbF6>SI#AVrdm_K^VB8-wG|rhP+n92zoG`}ySL4Vv0@{f4f{3=QI9WT7eoxsuW(YZ@ zMbb9o$g@rnr{lT1c79cED$VmR+bkLLe~^4D_*#lU{R~CYW7zITZdc-gIgb4yFtKv8OKtu6XK$^ar`R z50bw%eTJLDn*XGqrF24$z5ZX}*TH=>W~P@agPVu5oTCbDCTXknD-F`FUnGfsJPs!w zW{ru#nBhxv&R0f1Z*kVom&j~xiK>aqvW--mp3g?|c?Oed{03L%VeI#4$ZZ*~$`Ir_ zc#btG78d0tx~5I)C7>b%Si(QK4QF^!-jYewvaS@_EtS6mj(tWV6Yzdp=}hCpG2`Wq zzGS{l_^Qb+mnZ!TyI+JQD^7-$IR5q_M_5cuCsW0?*6BC}yPRBoyo0=>hV6b=l~_#| z>A6LNu`QO$P^1Evs0sW5#%f}{eGCyxgV-KfL2hN6>V74rafY!T+i$Yd)a;^)`C=(; zGJL*g#(ilQGWtJLQ|2v_VRM8nXmUR@KtlKz|8wGY{OfmevMJ4-jLwK@HnJ+olwrbk zl}1{`g|hQj`-JqR`WdM+G4PO^XLyC5(H=Qx5bJZ;Ak4*G*O|VFQ^q{eVQ@9Dh1;;l zYn&R635AT|t87Lb@d=4T#u5-bmWt;E9};pkJA@9J$a)(k7bnb-vksZmrz!wXSoOYj?cB~v5ih2y$IR?Hea4X(wZl1Zf12;`rquN zHQ~$5_W6YQyW%lc!_(LP_c(#eub^@6IEH04mWt$S*303}j)u3MRCbS0V%N>iB@1s((sWk%OA#XD1H99ORG% z8WI9irQ8e|r%fjm)zsJ~j5Xa%*Hh%;n(+Ju?;B!;2BG5`wy@t8lV+G6BoC9v#!d~9 zr;yLTOQSK^JRAkOR&HGx{5Ah06Y9oeLM*oP$)H~ad5=U=#hH0|`O&y(&Q4*ztnxny zGcKs0>+tU$l}s{X6dwBzCdr@vS5sFX-c)_>Pm*8gujRBoZ3Co`(o>qWr=>|lPr%aG zl$O$Bf$~zRqP8dJoTMpvBS}lDXbKeZGPf(row_-6%!}f6x<}_8oz5Z7t8VP&PIom| zH*xB8_fb*rd>a(*=XZ+F_D7$GmpsYo@8$dQdHF`U*C7AIg`v8#U%51(YdyoNvf%sF zc|}6#UjJnDLi_{`YEQ?Myl*i70r^QhY<1u5PJEii6fC?)zWuYC2ZMCEr!ehOtPc_L zA7nHBedF`Nf`U%o|3@l?N_L55rq`1lFE~HD$g~~+14z?pS~k!teXyT&r(v@~594%M zm^NPyGG>r$3W`q}-AtM(bv5gQydU-QbQabycDMM_JSYu7=*wg2_|`}|$$cSq1k;1G zCAu#~n~gPIczVzmsBRPcLu>V^li+i(FVKIu-(LB9GU`)09FLI4Z0I9Vx6e^(ubt5=svm=Ts8W^pGWT9WjJqoWWV@BT5BX*`zjO7mW6SU67JYRde|^Xp=es*zZ0*t_en?9kaJ*= zDZI+l`mitctmK<3z;^vZCL)%=bfxXt%I;xDx-?Dh#eQtU$LXEizYTXYRh6Nv`Wh=8 zqziSRRID4mBdFQ4_@tWmXf3YZYOzID^Os5^-eqI)J%RC(47(?!AMeFoLZtP(fpumY z{8Wmi*8MD|+V@C94Sv}>O$L4bxt(0KDzKvNezf?jdc0R@iStR_*W<1B-asC}dmS(e zM}zWNmRnkZeaJG-=VL?Dbq{qnTusZk=p60l9yO?F?iLWyT&7|!nGUknk9%I^KNQE1 z-K}v^jBOa!I%4x{$O#{Gb9h+gxJO*qaF;yBW!;XRR^vL=JV!D0Ae?w6x#S1FDL{^R zt=!Q3Ypj1jd3t$LR_EVM1|fPfy7^5DP~d$Dz`JZWk#HYT)G9q%2Pr=|(rfV^=M;Rr(1Z63a6K+_vnSgT^4{8uu8@u0I285Jwh zD#esor^sbkX2(Z!JLlL@h@cI2RLr1=Nr@XF2jCQOBY;{xIW0;Xm5p#HJr6a~W_+0j zuu5&USR9IFsi!AJ8w2rENv9`+4viaj-1#zfdACJe{E$0uKi|RmLd?Pu(Km6wr%le+ zQNYKYV;aR{2)DC`LS{uh7jY*fs4DqQvd!Pb9pp=BP4lX7R0(ZcRZCiYg!Trtl}ExL zO0lr0ggX!NQTvV1Kl?JvCA%13aWwx1>s_`g58nm3-l>4}smj>g3VLk`U6!$L%>SNe z<63TA*S7vE){gXZ8+-dV_HVl~=Q%;1G6L;b`{1Tqw)T&;KMdd~UUJ~A;pU|-?tnCt;efqG}uycYX}c<)sk8%D=gh{MLA#TDf~MPsP5754GUX4d1t{= z>vk0SD-fkwzS4eLeg8Y{v_m7u_z8nyRbOMC@;$V8tl+xx`_D~@3M9wg+vteQ`V>d{TK zL%5dmCv{f8=;u$-4Hq4E*iO+!PR;f!z*)#HoROr!Z4JaiGp|T3QI?_nbGyWM`Uc0V z+Xjj+NPu*b(fpZ_5$nTw7s#ZqEl_8=pKNqO3oQrF7#a~%b|KS5aB{>2?|(dbXWAXJ zd{-C>MR@&5p%^&OlCqyrpH53mD|XBkPrE4CGUo^@pKgI4y`Q!vCSug-X9*1XYq3g^ zbHwE=*S=`DVzd}{=;q8-!REh)gehFlp3BwiJ!ia4q4I^+?OF0`tk$P$V@Th%!tCvJ zZ6JMjU=925ujzIzR?eLz%{_$gBT}lc4ueap@FiNv8Q=m(=Ts1-)E?xFhfn8DoP;PA z$T-(c7TxO0Oh|mWD3w?Rk;z@Ean5O7U4gxVF{{gas;LLwZ~Eb2m^4ojt+9lp7rUYMn2+QWP$t-s`O^?G4Rh$ zhVxJVGuoV*LQ|gE&mWeyYPk3szsh2W4aZW@m)PTxcHv)PAybuN;Tq>r1HnaJHpdsu z$~dc$si#qUq7WrjSlzCd1T_-Q1{^n{#(hmuH2;{iF1&bJZ22fiTDG-Hoq@W8t_=P6 z`!sdWzKE-E)J+Z@%T>IBRPCZF{o_UH2A4$RUfKBu)BFC=bdZV zd|{BQc%SUR|K7}sX=YZ|t17io^!oL=@??mF*`(t$qgYHV_^V^$7fw>8$z{==@qGFghH+awR4p(W9yg1 zRU)ZImYeQI`~il^VR0aUOHYZy6=?2RJCGI=3^^7SlO{Uk*->TcEeaOCDAp)WIVIt6 zSl@S>n#0L6MpQI?YXpYrS=7$~@t3%W%0o`F8{HXd^r zA2!Y%Kkre*C+a_-)v)!n(Lzf_#$Gl@N#tcM#xx8$`?X0ic~gsZavz9RvD%!b&_c_SWKczw@h1COZXXZgOHCioxn`|%j@!bN2Z)>D_7 zs*T9{uGtlqP{Uf+Mi!jd&&5o;_)DqTt9fe;lV7L=(Lq&Qtq_DgfNQR=94j1d7o2ag zf=5+Mx6}FJZXkHLD!*qVDPnt+Xx1#+zJ;icN>~1D_V#@xC)C;7$!&PavxT%IRQEgd z(U9GbbXl20oM265f2*G5TD3NUv5j<~_CQ}%WN-0bE@{Hbt#oxvup5Dkz(BMZ;{X^K z$FwSexK<_DU`3G{8bqm1SSd=@?296?rV`V*MRkA%$Z8P>euKir#UQ8xk+!kbG!L@7UB6Hb8#x|!FX70R{r=Tll*6{xswyPEzC3T7h_3_v| z%tzpRG$3T~ufTuHRKICvg(V;0ms2C%wfBOILWt#Rat9nP#o1&;S#gb9+`?pjqE{E$ z5dc3dkH0f_kuZq^O|gYU@eVMaX%pUv?w(xKKoXCQ5xiaLNN6LM0HvLl**)t&N3 z8k*e0G~2CK-&yzux$QlyE*gHs0htEH=3i>&!%0>|-u_LK0{Epwxpbq_`g#7{XQrEhWw7dB-7bJx@VXxdc5KpW=N}BBrNA+ck(Mhz= zOvsUk71+3L%^6_yoU*G9uMG zMQN6l!=Yho2Mpb1Xk#_zH4q+QC;BAwA!8@k@JkPJrI?n+t1!zsmTch5BCeZgSs-ll zYL)y|K+p(_baEgY{t`huJ&K$8??TU4%Xr0@WNptE<@|)2%CfF_q610hg}?5D)bR<9A4DQm1I8I43wC z!}8j|^h{g`W>a9O0smA%Qo(;$rTxH6Q_3V~3-dA2{sg_2>HQ^0LAcR0R~eW(BC4k6 z!sPOlr}{VtzrRsFO&ez+o5>ZPHBSf&jEIrsrW)riY#Co+b;}XH(Vd(C0E?r+0v5&P zK~))OQGsHCq$wiJSf8hr5xxW!Hu8(?Z6(me*Jupzw(#qmmm?M;o#Z=@Ku5HUr4`W- zc=H{;P$B=6nB|KpBFj{CbPi7O!m8?J*W30pf5xZ3A-0=77n^P!2$0{9XYN4Pd>ALO z9rIKQH$Fx#v)Ag0^IvgmLgEYO^1#hV_BDT^YsA_TBI5mD6AQ!DmyV^=rsxVG_{p00 zXF4VR*C>wk!1^65NQd9xF=OTmAVDdgWb7M((-z%#RMO?V_Dy}yDp@p zHg!V2)}$0(*rhaxMAPdn2?cmNXHYA+FEpta%v+RFaYGUiIDw_nr{}Jg=DLYQQ~9r; zq=7{MMe`f<>`tIwtF2~FR?SP0cQF1&`AuWtgslWcc(5i%OGl0N%hGPE_3gbdGTozJuLuu|8*=5#Er;{dbJ@i@39AKzg?Tv^CW|7-upere^ z0fx^oraBqZG?;jSV;UgHQIfw1D_jLjq~9jQF6&9MU1S;-Gt)(lGatqg&swr8N1No3 zaQA#%ysjvhO{YBRI5)z~w6I6=#wZn5EeEac(kT7F;Q3!v)1CaFtYUO>$M;d|;iO45 z;NF?Dgh4<%y$k{(0@opiM^lXUq7T^0(j1dkgYTYd66qQ-Skmh}2e6Xa02oC4X;7FR zk7RwHIBp}ak#93cx9@bCYQkyvxw`7+m#>gswz>J^!W!=FOIqlZXvup~7)0fuDv94A z)hL#iL|aafuXMf|2n)ZZ4@aGMcfNv~wLmrX=kgz<#Xkk@Y0>msa!zbKKYOTiV0Mhmf}!G06_d{i$zRa^UZy;x z!?SH*9C5!}Nq+z%nnT?@L}=$pTHTXo2{3 zpxJ%W2sF9HPV)LR>QbW^sxE3Odykak>O|v#ldLsychE<9*NnVVc-w>L<~OL$=I+Zg z_RwYx&WC0c3EX~?T}O6<%i1GtYl7XhDisRPn>1CyFU8tf36)uS)U#n!tQIHZQ0u-l z9E<;VntzlWmk)%ROk0Ti6MP_Wo{kl3sG|x(Q$%QL?|3xEB59KQE4-U14sOy4_mKu) zW=LvqK!({{Iua9$Mnzr7C|Naaz8rJ^MnQ4Lg9Tgp%Q2`0{3x`8>mhtVjWQ*!z_g(i zt1t8BPIMb;s#rKi{qEilnkO!Xj)ogoZeO^bdXz@7icR+7U7RkC zweLqyun#_DqIH>N+@l<{l^}pso%5u_QN%_M7gHv~A+Y6l#$#Kp#r&{5>8sc=`QJrN8vqGoMP*60?q|?*#)d3X6CM(zyOhijx^Q`byb~ zny<~{?-XvceWTz?NM<-zB52{sY*>VKCq2fknp93jxK{&HC}IB7{S{ZoVmzE>!x#dW zH;+3T=B_E&+jouFh4N%dP|mPo-c_^D)=#v*O^Nir0@-Y;w?e6QwH$lIQo5eD#$9j3 zhM@w_{{v=dmWG=eO}Z0OtggG0T+^%)#s%c=$(M#wYix%-tUeBg zLleU1Z(f|?%FkH#;WrFH^OO#w|1l{(67J`Z^{mOAF~2gMb3}s8H!5648Xuj5SMS1; z9o1b+nj0FPqASvC>?izddbe)D#lKfRA503LP`^zhM|ucxg>1yMv+l*6Vg8HFcSS6w z7Sp)y*{vjFCh?t1yoTRMgR#N36CHRqKx3vaEryO6R>HJyPsSAU-|bjyq~a8dJ)TgB z6E>+`j)integer char)))) - (if (number? output) - (integer->char output) - char))) + (new LCharacter (%foldcase-string char.__char__))) ;; ----------------------------------------------------------------------------- (define (string-foldcase string) - "(string-foldcase char) + "(string-foldcase string) Returns lowercase string using the Unicode simple case-folding algorithm." (typecheck "string-foldcase" string "string") - (--> (Array.from string) - (map (lambda (str) - (let ((ord (str.codePointAt 0))) - (let ((output (. *fold-case-mapping* ord))) - (if (number? output) - (String.fromCodePoint output) - str))))) - (join ""))) + (%foldcase-string string)) ;; ----------------------------------------------------------------------------- (define (digit-value chr) diff --git a/scripts/fold.scm b/scripts/fold.scm index d3e52ff5b..47caeead5 100755 --- a/scripts/fold.scm +++ b/scripts/fold.scm @@ -19,12 +19,12 @@ (small (not (null? (line.match #/SMALL/)))) (upper (string->number (. parts (if small 2 0)) 16)) (lower (string->number (. parts (if small 0 2)) 16))) - (string-append "\\\"" (number->string upper) "\\\"" ": " (number->string lower))))))) + (string-append "\"" (number->string upper) "\"" ": " (number->string lower))))))) -(print (string-append "(define *fold-case-mapping* (JSON.parse \"{" +(print (string-append "const fold_case_mapping = {" (--> (get-mapping (get-data)) (reduce (lambda (acc expr index arr) (if (zero? index) @@ -34,4 +34,4 @@ (string-append acc "\n " expr suffix) (string-append acc expr suffix))))) "")) - "\n}\"))")) + "\n}"))")) diff --git a/src/lips.js b/src/lips.js index 6a379af40..bf813e7a2 100644 --- a/src/lips.js +++ b/src/lips.js @@ -2379,6 +2379,380 @@ Formatter.prototype.format = function format(options) { }).join(''); }; // ---------------------------------------------------------------------- +// :: the Unicode folding case mapping generated scripts/fold.scm to get +// :: latest version of the file use `make fold` +// ---------------------------------------------------------------------- +const fold_case_mapping = { + "65": 97, "66": 98, "67": 99, "68": 100, + "69": 101, "70": 102, "71": 103, "72": 104, + "73": 105, "74": 106, "75": 107, "76": 108, + "77": 109, "78": 110, "79": 111, "80": 112, + "81": 113, "82": 114, "83": 115, "84": 116, + "85": 117, "86": 118, "87": 119, "88": 120, + "89": 121, "90": 122, "181": 956, "192": 224, + "193": 225, "194": 226, "195": 227, "196": 228, + "197": 229, "198": 230, "199": 231, "200": 232, + "201": 233, "202": 234, "203": 235, "204": 236, + "205": 237, "206": 238, "207": 239, "208": 240, + "209": 241, "210": 242, "211": 243, "212": 244, + "213": 245, "214": 246, "216": 248, "217": 249, + "218": 250, "219": 251, "220": 252, "221": 253, + "222": 254, "256": 257, "258": 259, "260": 261, + "262": 263, "264": 265, "266": 267, "268": 269, + "270": 271, "272": 273, "274": 275, "276": 277, + "278": 279, "280": 281, "282": 283, "284": 285, + "286": 287, "288": 289, "290": 291, "292": 293, + "294": 295, "296": 297, "298": 299, "300": 301, + "302": 303, "306": 307, "308": 309, "310": 311, + "313": 314, "315": 316, "317": 318, "319": 320, + "321": 322, "323": 324, "325": 326, "327": 328, + "330": 331, "332": 333, "334": 335, "336": 337, + "338": 339, "340": 341, "342": 343, "344": 345, + "346": 347, "348": 349, "350": 351, "352": 353, + "354": 355, "356": 357, "358": 359, "360": 361, + "362": 363, "364": 365, "366": 367, "368": 369, + "370": 371, "372": 373, "374": 375, "376": 255, + "377": 378, "379": 380, "381": 382, "115": 383, + "385": 595, "386": 387, "388": 389, "390": 596, + "391": 392, "393": 598, "394": 599, "395": 396, + "398": 477, "399": 601, "400": 603, "401": 402, + "403": 608, "404": 611, "406": 617, "407": 616, + "408": 409, "412": 623, "413": 626, "415": 629, + "416": 417, "418": 419, "420": 421, "422": 640, + "423": 424, "425": 643, "428": 429, "430": 648, + "431": 432, "433": 650, "434": 651, "435": 436, + "437": 438, "439": 658, "440": 441, "444": 445, + "452": 454, "454": 453, "455": 457, "457": 456, + "458": 460, "460": 459, "461": 462, "463": 464, + "465": 466, "467": 468, "469": 470, "471": 472, + "473": 474, "475": 476, "478": 479, "480": 481, + "482": 483, "484": 485, "486": 487, "488": 489, + "490": 491, "492": 493, "494": 495, "497": 499, + "499": 498, "500": 501, "502": 405, "503": 447, + "504": 505, "506": 507, "508": 509, "510": 511, + "512": 513, "514": 515, "516": 517, "518": 519, + "520": 521, "522": 523, "524": 525, "526": 527, + "528": 529, "530": 531, "532": 533, "534": 535, + "536": 537, "538": 539, "540": 541, "542": 543, + "544": 414, "546": 547, "548": 549, "550": 551, + "552": 553, "554": 555, "556": 557, "558": 559, + "560": 561, "562": 563, "570": 11365, "571": 572, + "573": 410, "574": 11366, "577": 578, "579": 384, + "580": 649, "581": 652, "582": 583, "584": 585, + "587": 586, "588": 589, "590": 591, "837": 953, + "880": 881, "882": 883, "886": 887, "895": 1011, + "902": 940, "904": 941, "905": 942, "906": 943, + "908": 972, "910": 973, "911": 974, "913": 945, + "914": 946, "915": 947, "916": 948, "917": 949, + "918": 950, "919": 951, "920": 952, "921": 953, + "922": 954, "923": 955, "924": 956, "925": 957, + "926": 958, "927": 959, "928": 960, "929": 961, + "931": 963, "932": 964, "933": 965, "934": 966, + "935": 967, "936": 968, "937": 969, "938": 970, + "939": 971, "963": 962, "975": 983, "976": 946, + "977": 952, "981": 966, "982": 960, "984": 985, + "986": 987, "988": 989, "990": 991, "992": 993, + "994": 995, "996": 997, "998": 999, "1000": 1001, + "1002": 1003, "1004": 1005, "1006": 1007, "1008": 954, + "1009": 961, "1012": 952, "1013": 949, "1015": 1016, + "1017": 1010, "1018": 1019, "1021": 891, "1022": 892, + "1023": 893, "1024": 1104, "1025": 1105, "1026": 1106, + "1027": 1107, "1028": 1108, "1029": 1109, "1030": 1110, + "1031": 1111, "1032": 1112, "1033": 1113, "1034": 1114, + "1035": 1115, "1036": 1116, "1037": 1117, "1038": 1118, + "1039": 1119, "1040": 1072, "1041": 1073, "1042": 1074, + "1043": 1075, "1044": 1076, "1045": 1077, "1046": 1078, + "1047": 1079, "1048": 1080, "1049": 1081, "1050": 1082, + "1051": 1083, "1052": 1084, "1053": 1085, "1054": 1086, + "1055": 1087, "1056": 1088, "1057": 1089, "1058": 1090, + "1059": 1091, "1060": 1092, "1061": 1093, "1062": 1094, + "1063": 1095, "1064": 1096, "1065": 1097, "1066": 1098, + "1067": 1099, "1068": 1100, "1069": 1101, "1070": 1102, + "1071": 1103, "1120": 1121, "1122": 1123, "1124": 1125, + "1126": 1127, "1128": 1129, "1130": 1131, "1132": 1133, + "1134": 1135, "1136": 1137, "1138": 1139, "1140": 1141, + "1142": 1143, "1144": 1145, "1146": 1147, "1148": 1149, + "1150": 1151, "1152": 1153, "1162": 1163, "1164": 1165, + "1166": 1167, "1168": 1169, "1170": 1171, "1172": 1173, + "1174": 1175, "1176": 1177, "1178": 1179, "1180": 1181, + "1182": 1183, "1184": 1185, "1186": 1187, "1188": 1189, + "1190": 1191, "1192": 1193, "1194": 1195, "1196": 1197, + "1198": 1199, "1200": 1201, "1202": 1203, "1204": 1205, + "1206": 1207, "1208": 1209, "1210": 1211, "1212": 1213, + "1214": 1215, "1216": 1231, "1217": 1218, "1219": 1220, + "1221": 1222, "1223": 1224, "1225": 1226, "1227": 1228, + "1229": 1230, "1232": 1233, "1234": 1235, "1236": 1237, + "1238": 1239, "1240": 1241, "1242": 1243, "1244": 1245, + "1246": 1247, "1248": 1249, "1250": 1251, "1252": 1253, + "1254": 1255, "1256": 1257, "1258": 1259, "1260": 1261, + "1262": 1263, "1264": 1265, "1266": 1267, "1268": 1269, + "1270": 1271, "1272": 1273, "1274": 1275, "1276": 1277, + "1278": 1279, "1280": 1281, "1282": 1283, "1284": 1285, + "1286": 1287, "1288": 1289, "1290": 1291, "1292": 1293, + "1294": 1295, "1296": 1297, "1298": 1299, "1300": 1301, + "1302": 1303, "1304": 1305, "1306": 1307, "1308": 1309, + "1310": 1311, "1312": 1313, "1314": 1315, "1316": 1317, + "1318": 1319, "1320": 1321, "1322": 1323, "1324": 1325, + "1326": 1327, "1329": 1377, "1330": 1378, "1331": 1379, + "1332": 1380, "1333": 1381, "1334": 1382, "1335": 1383, + "1336": 1384, "1337": 1385, "1338": 1386, "1339": 1387, + "1340": 1388, "1341": 1389, "1342": 1390, "1343": 1391, + "1344": 1392, "1345": 1393, "1346": 1394, "1347": 1395, + "1348": 1396, "1349": 1397, "1350": 1398, "1351": 1399, + "1352": 1400, "1353": 1401, "1354": 1402, "1355": 1403, + "1356": 1404, "1357": 1405, "1358": 1406, "1359": 1407, + "1360": 1408, "1361": 1409, "1362": 1410, "1363": 1411, + "1364": 1412, "1365": 1413, "1366": 1414, "4256": 11520, + "4257": 11521, "4258": 11522, "4259": 11523, "4260": 11524, + "4261": 11525, "4262": 11526, "4263": 11527, "4264": 11528, + "4265": 11529, "4266": 11530, "4267": 11531, "4268": 11532, + "4269": 11533, "4270": 11534, "4271": 11535, "4272": 11536, + "4273": 11537, "4274": 11538, "4275": 11539, "4276": 11540, + "4277": 11541, "4278": 11542, "4279": 11543, "4280": 11544, + "4281": 11545, "4282": 11546, "4283": 11547, "4284": 11548, + "4285": 11549, "4286": 11550, "4287": 11551, "4288": 11552, + "4289": 11553, "4290": 11554, "4291": 11555, "4292": 11556, + "4293": 11557, "4295": 11559, "4301": 11565, "5104": 5112, + "5105": 5113, "5106": 5114, "5107": 5115, "5108": 5116, + "5109": 5117, "1074": 7296, "1076": 7297, "1086": 7298, + "1089": 7299, "1090": 7300, "1090": 7301, "1098": 7302, + "1123": 7303, "42571": 7304, "7312": 4304, "7313": 4305, + "7314": 4306, "7315": 4307, "7316": 4308, "7317": 4309, + "7318": 4310, "7319": 4311, "7320": 4312, "7321": 4313, + "7322": 4314, "7323": 4315, "7324": 4316, "7325": 4317, + "7326": 4318, "7327": 4319, "7328": 4320, "7329": 4321, + "7330": 4322, "7331": 4323, "7332": 4324, "7333": 4325, + "7334": 4326, "7335": 4327, "7336": 4328, "7337": 4329, + "7338": 4330, "7339": 4331, "7340": 4332, "7341": 4333, + "7342": 4334, "7343": 4335, "7344": 4336, "7345": 4337, + "7346": 4338, "7347": 4339, "7348": 4340, "7349": 4341, + "7350": 4342, "7351": 4343, "7352": 4344, "7353": 4345, + "7354": 4346, "7357": 4349, "7358": 4350, "7359": 4351, + "7680": 7681, "7682": 7683, "7684": 7685, "7686": 7687, + "7688": 7689, "7690": 7691, "7692": 7693, "7694": 7695, + "7696": 7697, "7698": 7699, "7700": 7701, "7702": 7703, + "7704": 7705, "7706": 7707, "7708": 7709, "7710": 7711, + "7712": 7713, "7714": 7715, "7716": 7717, "7718": 7719, + "7720": 7721, "7722": 7723, "7724": 7725, "7726": 7727, + "7728": 7729, "7730": 7731, "7732": 7733, "7734": 7735, + "7736": 7737, "7738": 7739, "7740": 7741, "7742": 7743, + "7744": 7745, "7746": 7747, "7748": 7749, "7750": 7751, + "7752": 7753, "7754": 7755, "7756": 7757, "7758": 7759, + "7760": 7761, "7762": 7763, "7764": 7765, "7766": 7767, + "7768": 7769, "7770": 7771, "7772": 7773, "7774": 7775, + "7776": 7777, "7778": 7779, "7780": 7781, "7782": 7783, + "7784": 7785, "7786": 7787, "7788": 7789, "7790": 7791, + "7792": 7793, "7794": 7795, "7796": 7797, "7798": 7799, + "7800": 7801, "7802": 7803, "7804": 7805, "7806": 7807, + "7808": 7809, "7810": 7811, "7812": 7813, "7814": 7815, + "7816": 7817, "7818": 7819, "7820": 7821, "7822": 7823, + "7824": 7825, "7826": 7827, "7828": 7829, "7777": 7835, + "7840": 7841, "7842": 7843, "7844": 7845, "7846": 7847, + "7848": 7849, "7850": 7851, "7852": 7853, "7854": 7855, + "7856": 7857, "7858": 7859, "7860": 7861, "7862": 7863, + "7864": 7865, "7866": 7867, "7868": 7869, "7870": 7871, + "7872": 7873, "7874": 7875, "7876": 7877, "7878": 7879, + "7880": 7881, "7882": 7883, "7884": 7885, "7886": 7887, + "7888": 7889, "7890": 7891, "7892": 7893, "7894": 7895, + "7896": 7897, "7898": 7899, "7900": 7901, "7902": 7903, + "7904": 7905, "7906": 7907, "7908": 7909, "7910": 7911, + "7912": 7913, "7914": 7915, "7916": 7917, "7918": 7919, + "7920": 7921, "7922": 7923, "7924": 7925, "7926": 7927, + "7928": 7929, "7930": 7931, "7932": 7933, "7934": 7935, + "7944": 7936, "7945": 7937, "7946": 7938, "7947": 7939, + "7948": 7940, "7949": 7941, "7950": 7942, "7951": 7943, + "7960": 7952, "7961": 7953, "7962": 7954, "7963": 7955, + "7964": 7956, "7965": 7957, "7976": 7968, "7977": 7969, + "7978": 7970, "7979": 7971, "7980": 7972, "7981": 7973, + "7982": 7974, "7983": 7975, "7992": 7984, "7993": 7985, + "7994": 7986, "7995": 7987, "7996": 7988, "7997": 7989, + "7998": 7990, "7999": 7991, "8008": 8000, "8009": 8001, + "8010": 8002, "8011": 8003, "8012": 8004, "8013": 8005, + "8025": 8017, "8027": 8019, "8029": 8021, "8031": 8023, + "8040": 8032, "8041": 8033, "8042": 8034, "8043": 8035, + "8044": 8036, "8045": 8037, "8046": 8038, "8047": 8039, + "8120": 8112, "8121": 8113, "8122": 8048, "8123": 8049, + "8126": 953, "8136": 8050, "8137": 8051, "8138": 8052, + "8139": 8053, "8152": 8144, "8153": 8145, "8154": 8054, + "8155": 8055, "8168": 8160, "8169": 8161, "8170": 8058, + "8171": 8059, "8172": 8165, "8184": 8056, "8185": 8057, + "8186": 8060, "8187": 8061, "8486": 969, "8490": 107, + "8491": 229, "8498": 8526, "8544": 8560, "8545": 8561, + "8546": 8562, "8547": 8563, "8548": 8564, "8549": 8565, + "8550": 8566, "8551": 8567, "8552": 8568, "8553": 8569, + "8554": 8570, "8555": 8571, "8556": 8572, "8557": 8573, + "8558": 8574, "8559": 8575, "8579": 8580, "9398": 9424, + "9399": 9425, "9400": 9426, "9401": 9427, "9402": 9428, + "9403": 9429, "9404": 9430, "9405": 9431, "9406": 9432, + "9407": 9433, "9408": 9434, "9409": 9435, "9410": 9436, + "9411": 9437, "9412": 9438, "9413": 9439, "9414": 9440, + "9415": 9441, "9416": 9442, "9417": 9443, "9418": 9444, + "9419": 9445, "9420": 9446, "9421": 9447, "9422": 9448, + "9423": 9449, "11264": 11312, "11265": 11313, "11266": 11314, + "11267": 11315, "11268": 11316, "11269": 11317, "11270": 11318, + "11271": 11319, "11272": 11320, "11273": 11321, "11274": 11322, + "11275": 11323, "11276": 11324, "11277": 11325, "11278": 11326, + "11279": 11327, "11280": 11328, "11281": 11329, "11282": 11330, + "11283": 11331, "11284": 11332, "11285": 11333, "11286": 11334, + "11287": 11335, "11288": 11336, "11289": 11337, "11290": 11338, + "11291": 11339, "11292": 11340, "11293": 11341, "11294": 11342, + "11295": 11343, "11296": 11344, "11297": 11345, "11298": 11346, + "11299": 11347, "11348": 11300, "11349": 11301, "11302": 11350, + "11351": 11303, "11304": 11352, "11305": 11353, "11306": 11354, + "11307": 11355, "11308": 11356, "11309": 11357, "11310": 11358, + "11311": 11359, "11360": 11361, "11362": 619, "11363": 7549, + "11364": 637, "11367": 11368, "11369": 11370, "11371": 11372, + "11373": 593, "11374": 625, "11375": 592, "11376": 594, + "11378": 11379, "11381": 11382, "11390": 575, "11391": 576, + "11392": 11393, "11394": 11395, "11396": 11397, "11398": 11399, + "11400": 11401, "11402": 11403, "11404": 11405, "11406": 11407, + "11408": 11409, "11410": 11411, "11412": 11413, "11414": 11415, + "11416": 11417, "11418": 11419, "11420": 11421, "11422": 11423, + "11424": 11425, "11426": 11427, "11428": 11429, "11430": 11431, + "11432": 11433, "11434": 11435, "11436": 11437, "11438": 11439, + "11440": 11441, "11442": 11443, "11444": 11445, "11446": 11447, + "11448": 11449, "11450": 11451, "11452": 11453, "11454": 11455, + "11456": 11457, "11458": 11459, "11460": 11461, "11462": 11463, + "11464": 11465, "11466": 11467, "11468": 11469, "11470": 11471, + "11472": 11473, "11474": 11475, "11476": 11477, "11478": 11479, + "11480": 11481, "11482": 11483, "11484": 11485, "11486": 11487, + "11488": 11489, "11490": 11491, "11499": 11500, "11501": 11502, + "11506": 11507, "42560": 42561, "42562": 42563, "42564": 42565, + "42566": 42567, "42568": 42569, "42570": 42571, "42572": 42573, + "42574": 42575, "42576": 42577, "42578": 42579, "42580": 42581, + "42582": 42583, "42584": 42585, "42586": 42587, "42588": 42589, + "42590": 42591, "42592": 42593, "42594": 42595, "42596": 42597, + "42598": 42599, "42600": 42601, "42602": 42603, "42604": 42605, + "42624": 42625, "42626": 42627, "42628": 42629, "42630": 42631, + "42632": 42633, "42634": 42635, "42636": 42637, "42638": 42639, + "42640": 42641, "42642": 42643, "42644": 42645, "42646": 42647, + "42648": 42649, "42650": 42651, "42786": 42787, "42788": 42789, + "42790": 42791, "42792": 42793, "42794": 42795, "42796": 42797, + "42798": 42799, "42802": 42803, "42804": 42805, "42806": 42807, + "42808": 42809, "42810": 42811, "42812": 42813, "42814": 42815, + "42816": 42817, "42818": 42819, "42820": 42821, "42822": 42823, + "42824": 42825, "42826": 42827, "42828": 42829, "42830": 42831, + "42832": 42833, "42834": 42835, "42836": 42837, "42838": 42839, + "42840": 42841, "42842": 42843, "42844": 42845, "42846": 42847, + "42848": 42849, "42850": 42851, "42852": 42853, "42854": 42855, + "42856": 42857, "42858": 42859, "42860": 42861, "42862": 42863, + "42873": 42874, "42875": 42876, "42877": 7545, "42878": 42879, + "42880": 42881, "42882": 42883, "42884": 42885, "42886": 42887, + "42891": 42892, "42893": 613, "42896": 42897, "42898": 42899, + "42902": 42903, "42904": 42905, "42906": 42907, "42908": 42909, + "42910": 42911, "42912": 42913, "42914": 42915, "42916": 42917, + "42918": 42919, "42920": 42921, "42922": 614, "42923": 604, + "42924": 609, "42925": 620, "618": 42926, "42928": 670, + "42929": 647, "42930": 669, "42931": 43859, "42932": 42933, + "42934": 42935, "42936": 42937, "42938": 42939, "42940": 42941, + "42942": 42943, "42944": 42945, "42946": 42947, "42948": 42900, + "42949": 642, "42950": 7566, "42951": 42952, "42953": 42954, + "42960": 42961, "42966": 42967, "42968": 42969, "42997": 42998, + "5024": 43888, "5025": 43889, "5026": 43890, "5027": 43891, + "5028": 43892, "5029": 43893, "5030": 43894, "5031": 43895, + "5032": 43896, "5033": 43897, "5034": 43898, "5035": 43899, + "5036": 43900, "5037": 43901, "5038": 43902, "5039": 43903, + "5040": 43904, "5041": 43905, "5042": 43906, "5043": 43907, + "5044": 43908, "5045": 43909, "5046": 43910, "5047": 43911, + "5048": 43912, "5049": 43913, "5050": 43914, "5051": 43915, + "5052": 43916, "5053": 43917, "5054": 43918, "5055": 43919, + "5056": 43920, "5057": 43921, "5058": 43922, "5059": 43923, + "5060": 43924, "5061": 43925, "5062": 43926, "5063": 43927, + "5064": 43928, "5065": 43929, "5066": 43930, "5067": 43931, + "5068": 43932, "5069": 43933, "5070": 43934, "5071": 43935, + "5072": 43936, "5073": 43937, "5074": 43938, "5075": 43939, + "5076": 43940, "5077": 43941, "5078": 43942, "5079": 43943, + "5080": 43944, "5081": 43945, "5082": 43946, "5083": 43947, + "5084": 43948, "5085": 43949, "5086": 43950, "5087": 43951, + "5088": 43952, "5089": 43953, "5090": 43954, "5091": 43955, + "5092": 43956, "5093": 43957, "5094": 43958, "5095": 43959, + "5096": 43960, "5097": 43961, "5098": 43962, "5099": 43963, + "5100": 43964, "5101": 43965, "5102": 43966, "5103": 43967, + "65313": 65345, "65314": 65346, "65315": 65347, "65316": 65348, + "65317": 65349, "65318": 65350, "65319": 65351, "65320": 65352, + "65321": 65353, "65322": 65354, "65323": 65355, "65324": 65356, + "65325": 65357, "65326": 65358, "65327": 65359, "65328": 65360, + "65329": 65361, "65330": 65362, "65331": 65363, "65332": 65364, + "65333": 65365, "65334": 65366, "65335": 65367, "65336": 65368, + "65337": 65369, "65338": 65370, "66560": 66600, "66561": 66601, + "66562": 66602, "66563": 66603, "66564": 66604, "66565": 66605, + "66566": 66606, "66567": 66607, "66568": 66608, "66569": 66609, + "66570": 66610, "66571": 66611, "66572": 66612, "66573": 66613, + "66574": 66614, "66575": 66615, "66576": 66616, "66577": 66617, + "66578": 66618, "66579": 66619, "66580": 66620, "66581": 66621, + "66582": 66622, "66583": 66623, "66584": 66624, "66585": 66625, + "66586": 66626, "66587": 66627, "66588": 66628, "66589": 66629, + "66590": 66630, "66591": 66631, "66592": 66632, "66593": 66633, + "66594": 66634, "66595": 66635, "66596": 66636, "66597": 66637, + "66598": 66638, "66599": 66639, "66736": 66776, "66737": 66777, + "66738": 66778, "66739": 66779, "66740": 66780, "66741": 66781, + "66742": 66782, "66743": 66783, "66744": 66784, "66745": 66785, + "66746": 66786, "66747": 66787, "66748": 66788, "66749": 66789, + "66750": 66790, "66751": 66791, "66752": 66792, "66753": 66793, + "66754": 66794, "66755": 66795, "66756": 66796, "66757": 66797, + "66758": 66798, "66759": 66799, "66760": 66800, "66761": 66801, + "66762": 66802, "66763": 66803, "66764": 66804, "66765": 66805, + "66766": 66806, "66767": 66807, "66768": 66808, "66769": 66809, + "66770": 66810, "66771": 66811, "66928": 66967, "66929": 66968, + "66930": 66969, "66931": 66970, "66932": 66971, "66933": 66972, + "66934": 66973, "66935": 66974, "66936": 66975, "66937": 66976, + "66938": 66977, "66940": 66979, "66941": 66980, "66942": 66981, + "66943": 66982, "66944": 66983, "66945": 66984, "66946": 66985, + "66947": 66986, "66948": 66987, "66949": 66988, "66950": 66989, + "66951": 66990, "66952": 66991, "66953": 66992, "66954": 66993, + "66956": 66995, "66957": 66996, "66958": 66997, "66959": 66998, + "66960": 66999, "66961": 67000, "66962": 67001, "66964": 67003, + "66965": 67004, "68736": 68800, "68737": 68801, "68738": 68802, + "68739": 68803, "68740": 68804, "68741": 68805, "68742": 68806, + "68743": 68807, "68744": 68808, "68745": 68809, "68746": 68810, + "68747": 68811, "68748": 68812, "68749": 68813, "68750": 68814, + "68751": 68815, "68752": 68816, "68753": 68817, "68754": 68818, + "68755": 68819, "68756": 68820, "68757": 68821, "68758": 68822, + "68759": 68823, "68760": 68824, "68761": 68825, "68762": 68826, + "68763": 68827, "68764": 68828, "68765": 68829, "68766": 68830, + "68767": 68831, "68768": 68832, "68769": 68833, "68770": 68834, + "68771": 68835, "68772": 68836, "68773": 68837, "68774": 68838, + "68775": 68839, "68776": 68840, "68777": 68841, "68778": 68842, + "68779": 68843, "68780": 68844, "68781": 68845, "68782": 68846, + "68783": 68847, "68784": 68848, "68785": 68849, "68786": 68850, + "71840": 71872, "71841": 71873, "71842": 71874, "71843": 71875, + "71844": 71876, "71845": 71877, "71846": 71878, "71847": 71879, + "71848": 71880, "71849": 71881, "71850": 71882, "71851": 71883, + "71852": 71884, "71853": 71885, "71854": 71886, "71855": 71887, + "71856": 71888, "71857": 71889, "71858": 71890, "71859": 71891, + "71860": 71892, "71861": 71893, "71862": 71894, "71863": 71895, + "71864": 71896, "71865": 71897, "71866": 71898, "71867": 71899, + "71868": 71900, "71869": 71901, "71870": 71902, "71871": 71903, + "93760": 93792, "93761": 93793, "93762": 93794, "93763": 93795, + "93764": 93796, "93765": 93797, "93766": 93798, "93767": 93799, + "93768": 93800, "93769": 93801, "93770": 93802, "93771": 93803, + "93772": 93804, "93773": 93805, "93774": 93806, "93775": 93807, + "93776": 93808, "93777": 93809, "93778": 93810, "93779": 93811, + "93780": 93812, "93781": 93813, "93782": 93814, "93783": 93815, + "93784": 93816, "93785": 93817, "93786": 93818, "93787": 93819, + "93788": 93820, "93789": 93821, "93790": 93822, "93791": 93823, + "125184": 125218, "125185": 125219, "125186": 125220, "125187": 125221, + "125188": 125222, "125189": 125223, "125190": 125224, "125191": 125225, + "125192": 125226, "125193": 125227, "125194": 125228, "125195": 125229, + "125196": 125230, "125197": 125231, "125198": 125232, "125199": 125233, + "125200": 125234, "125201": 125235, "125202": 125236, "125203": 125237, + "125204": 125238, "125205": 125239, "125206": 125240, "125207": 125241, + "125208": 125242, "125209": 125243, "125210": 125244, "125211": 125245, + "125212": 125246, "125213": 125247, "125214": 125248, "125215": 125249, + "125216": 125250, "125217": 125251 +}; +// ---------------------------------------------------------------------- +function foldcase_string(string) { + return Array.from(string).map(str => { + const ord = str.codePointAt(0); + const output = fold_case_mapping[ord]; + if (output) { + return String.fromCodePoint(output); + } + return str; + }).join(''); +} +// ---------------------------------------------------------------------- // :: Flatten nested arrays // :: ref: https://stackoverflow.com/a/27282907/387194 // ---------------------------------------------------------------------- @@ -7567,6 +7941,13 @@ var global_env = new Environment({ Display an error message on stderr.`), // ------------------------------------------------------------------ + '%foldcase-string': doc( + '%foldcase-string', + foldcase_string, + `(%foldcase-string string) + + Same as string-foldcase but without typechecking`), + // ------------------------------------------------------------------ '%same-functions': doc('%same-functions', function(a, b) { if (!is_function(a)) { return false;