@opentui/core 0.0.0-20251112-613689c1 → 0.0.0-20251128-0889a764

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2200,8 +2200,18 @@ var parseKeypress = (s = "", options = {}) => {
2200
2200
  key.name = s;
2201
2201
  } else if (parts = metaKeyCodeRe.exec(s)) {
2202
2202
  key.meta = true;
2203
- key.shift = /^[A-Z]$/.test(parts[1]);
2204
- key.name = parts[1];
2203
+ const char = parts[1];
2204
+ const isUpperCase = /^[A-Z]$/.test(char);
2205
+ if (char === "F") {
2206
+ key.name = "right";
2207
+ } else if (char === "B") {
2208
+ key.name = "left";
2209
+ } else if (isUpperCase) {
2210
+ key.shift = true;
2211
+ key.name = char;
2212
+ } else {
2213
+ key.name = char;
2214
+ }
2205
2215
  } else if (s.length === 2 && s[0] === "\x1B" && s[1] <= "\x1A") {
2206
2216
  key.meta = true;
2207
2217
  key.ctrl = true;
@@ -2297,47 +2307,43 @@ class PasteEvent {
2297
2307
 
2298
2308
  class KeyHandler extends EventEmitter {
2299
2309
  useKittyKeyboard;
2300
- suspended = false;
2301
2310
  constructor(useKittyKeyboard = false) {
2302
2311
  super();
2303
2312
  this.useKittyKeyboard = useKittyKeyboard;
2304
2313
  }
2305
2314
  processInput(data) {
2306
- if (this.suspended) {
2307
- return false;
2308
- }
2309
2315
  const parsedKey = parseKeypress(data, { useKittyKeyboard: this.useKittyKeyboard });
2310
2316
  if (!parsedKey) {
2311
2317
  return false;
2312
2318
  }
2313
- switch (parsedKey.eventType) {
2314
- case "press":
2315
- this.emit("keypress", new KeyEvent(parsedKey));
2316
- break;
2317
- case "repeat":
2318
- this.emit("keyrepeat", new KeyEvent(parsedKey));
2319
- break;
2320
- case "release":
2321
- this.emit("keyrelease", new KeyEvent(parsedKey));
2322
- break;
2323
- default:
2324
- this.emit("keypress", new KeyEvent(parsedKey));
2325
- break;
2319
+ try {
2320
+ switch (parsedKey.eventType) {
2321
+ case "press":
2322
+ this.emit("keypress", new KeyEvent(parsedKey));
2323
+ break;
2324
+ case "repeat":
2325
+ this.emit("keyrepeat", new KeyEvent(parsedKey));
2326
+ break;
2327
+ case "release":
2328
+ this.emit("keyrelease", new KeyEvent(parsedKey));
2329
+ break;
2330
+ default:
2331
+ this.emit("keypress", new KeyEvent(parsedKey));
2332
+ break;
2333
+ }
2334
+ } catch (error) {
2335
+ console.error(`[KeyHandler] Error processing input:`, error);
2336
+ return true;
2326
2337
  }
2327
2338
  return true;
2328
2339
  }
2329
2340
  processPaste(data) {
2330
- if (this.suspended) {
2331
- return;
2341
+ try {
2342
+ const cleanedData = Bun.stripANSI(data);
2343
+ this.emit("paste", new PasteEvent(cleanedData));
2344
+ } catch (error) {
2345
+ console.error(`[KeyHandler] Error processing paste:`, error);
2332
2346
  }
2333
- const cleanedData = Bun.stripANSI(data);
2334
- this.emit("paste", new PasteEvent(cleanedData));
2335
- }
2336
- suspend() {
2337
- this.suspended = true;
2338
- }
2339
- resume() {
2340
- this.suspended = false;
2341
2347
  }
2342
2348
  }
2343
2349
 
@@ -2350,8 +2356,14 @@ class InternalKeyHandler extends KeyHandler {
2350
2356
  return this.emitWithPriority(event, ...args);
2351
2357
  }
2352
2358
  emitWithPriority(event, ...args) {
2353
- const hasGlobalListeners = super.emit(event, ...args);
2359
+ let hasGlobalListeners = false;
2360
+ try {
2361
+ hasGlobalListeners = super.emit(event, ...args);
2362
+ } catch (error) {
2363
+ console.error(`[KeyHandler] Error in global ${event} handler:`, error);
2364
+ }
2354
2365
  const renderableSet = this.renderableHandlers.get(event);
2366
+ const renderableHandlers = renderableSet && renderableSet.size > 0 ? [...renderableSet] : [];
2355
2367
  let hasRenderableListeners = false;
2356
2368
  if (renderableSet && renderableSet.size > 0) {
2357
2369
  hasRenderableListeners = true;
@@ -2360,8 +2372,12 @@ class InternalKeyHandler extends KeyHandler {
2360
2372
  if (keyEvent.defaultPrevented)
2361
2373
  return hasGlobalListeners || hasRenderableListeners;
2362
2374
  }
2363
- for (const handler of renderableSet) {
2364
- handler(...args);
2375
+ for (const handler of renderableHandlers) {
2376
+ try {
2377
+ handler(...args);
2378
+ } catch (error) {
2379
+ console.error(`[KeyHandler] Error in renderable ${event} handler:`, error);
2380
+ }
2365
2381
  }
2366
2382
  }
2367
2383
  return hasGlobalListeners || hasRenderableListeners;
@@ -3930,13 +3946,1339 @@ var tiny_default = {
3930
3946
  " ": [" ", " "]
3931
3947
  }
3932
3948
  };
3949
+ // src/lib/fonts/huge.json
3950
+ var huge_default = {
3951
+ name: "huge",
3952
+ version: "0.2.0",
3953
+ homepage: "https://github.com/dominikwilkowski/cfonts",
3954
+ colors: 2,
3955
+ lines: 11,
3956
+ buffer: ["", "", "", "", "", "", "", "", "", "", ""],
3957
+ letterspace: [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "],
3958
+ letterspace_size: 1,
3959
+ chars: {
3960
+ A: [
3961
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
3962
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
3963
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
3964
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
3965
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
3966
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
3967
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
3968
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
3969
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
3970
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
3971
+ " <c1>\u2580 \u2580</c1> "
3972
+ ],
3973
+ B: [
3974
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
3975
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
3976
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
3977
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
3978
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
3979
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
3980
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
3981
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
3982
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
3983
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
3984
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
3985
+ ],
3986
+ C: [
3987
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
3988
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
3989
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
3990
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
3991
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
3992
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
3993
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
3994
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
3995
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
3996
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
3997
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
3998
+ ],
3999
+ D: [
4000
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4001
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4002
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4003
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4004
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4005
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4006
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4007
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4008
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4009
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4010
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4011
+ ],
4012
+ E: [
4013
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4014
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4015
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
4016
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4017
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4018
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4019
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
4020
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4021
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4022
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4023
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4024
+ ],
4025
+ F: [
4026
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4027
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4028
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
4029
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4030
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4031
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4032
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
4033
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4034
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4035
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4036
+ " <c1>\u2580</c1> "
4037
+ ],
4038
+ G: [
4039
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4040
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4041
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
4042
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4043
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4044
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4045
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4046
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4047
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4048
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4049
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4050
+ ],
4051
+ H: [
4052
+ " <c1>\u2584 \u2584</c1> ",
4053
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4054
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4055
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4056
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4057
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4058
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4059
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4060
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4061
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4062
+ " <c1>\u2580 \u2580</c1> "
4063
+ ],
4064
+ I: [
4065
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4066
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4067
+ " <c1>\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580</c1> ",
4068
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4069
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4070
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4071
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4072
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4073
+ " <c1>\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584</c1> ",
4074
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4075
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4076
+ ],
4077
+ J: [
4078
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4079
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4080
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580</c1> ",
4081
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4082
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4083
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4084
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4085
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4086
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4087
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4088
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4089
+ ],
4090
+ K: [
4091
+ " <c1>\u2584 \u2584</c1> ",
4092
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4093
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4094
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4095
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4096
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4097
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4098
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4099
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4100
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4101
+ " <c1>\u2580 \u2580</c1> "
4102
+ ],
4103
+ L: [
4104
+ " <c1>\u2584</c1> ",
4105
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4106
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4107
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4108
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4109
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4110
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4111
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4112
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4113
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4114
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4115
+ ],
4116
+ M: [
4117
+ " <c1>\u2584\u2584 \u2584\u2584</c1> ",
4118
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4119
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4120
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4121
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4122
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4123
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2580 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4124
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4125
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4126
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4127
+ " <c1>\u2580 \u2580</c1> "
4128
+ ],
4129
+ N: [
4130
+ " <c1>\u2584\u2584 \u2584</c1> ",
4131
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4132
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4133
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4134
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4135
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4136
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4137
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4138
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4139
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4140
+ " <c1>\u2580 \u2580\u2580</c1> "
4141
+ ],
4142
+ O: [
4143
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4144
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4145
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4146
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4147
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4148
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4149
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4150
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4151
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4152
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4153
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4154
+ ],
4155
+ P: [
4156
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4157
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4158
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4159
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4160
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4161
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4162
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
4163
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4164
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4165
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4166
+ " <c1>\u2580</c1> "
4167
+ ],
4168
+ Q: [
4169
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4170
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4171
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4172
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4173
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4174
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4175
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4176
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4177
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580</c1> ",
4178
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4179
+ " <c1>\u2580</c1> "
4180
+ ],
4181
+ R: [
4182
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4183
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4184
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4185
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4186
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4187
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4188
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580</c1> ",
4189
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4190
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4191
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4192
+ " <c1>\u2580 \u2580</c1> "
4193
+ ],
4194
+ S: [
4195
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4196
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4197
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
4198
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4199
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4200
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4201
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4202
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4203
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4204
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4205
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4206
+ ],
4207
+ T: [
4208
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4209
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4210
+ " <c1>\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580</c1> ",
4211
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4212
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4213
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4214
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4215
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4216
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4217
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4218
+ " <c1>\u2580</c1> "
4219
+ ],
4220
+ U: [
4221
+ " <c1>\u2584 \u2584</c1> ",
4222
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4223
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4224
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4225
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4226
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4227
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4228
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4229
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4230
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4231
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4232
+ ],
4233
+ V: [
4234
+ " <c1>\u2584 \u2584</c1> ",
4235
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4236
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4237
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4238
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4239
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4240
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4241
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4242
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4243
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4244
+ " <c1>\u2580</c1> "
4245
+ ],
4246
+ W: [
4247
+ " <c1>\u2584 \u2584</c1> ",
4248
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4249
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4250
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4251
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2584 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4252
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4253
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4254
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4255
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4256
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4257
+ " <c1>\u2580\u2580 \u2580\u2580</c1> "
4258
+ ],
4259
+ X: [
4260
+ " <c1>\u2584 \u2584</c1> ",
4261
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4262
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4263
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4264
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4265
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4266
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4267
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4268
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4269
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4270
+ " <c1>\u2580 \u2580</c1> "
4271
+ ],
4272
+ Y: [
4273
+ " <c1>\u2584 \u2584</c1> ",
4274
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4275
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4276
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4277
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4278
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4279
+ " <c1>\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580</c1> ",
4280
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4281
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4282
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4283
+ " <c1>\u2580</c1> "
4284
+ ],
4285
+ Z: [
4286
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4287
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4288
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4289
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4290
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4291
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4292
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4293
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4294
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584</c1> ",
4295
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4296
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4297
+ ],
4298
+ "0": [
4299
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4300
+ " <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4301
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4302
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4303
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4304
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4305
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4306
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4307
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4308
+ " <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4309
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4310
+ ],
4311
+ "1": [
4312
+ " <c1>\u2584\u2584\u2584\u2584</c1> ",
4313
+ " <c1>\u2584\u2588</c1><c2>\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4314
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4315
+ " <c1>\u2580\u2580 \u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4316
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4317
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4318
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4319
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4320
+ " <c1>\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588\u2584\u2584\u2584</c1> ",
4321
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4322
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4323
+ ],
4324
+ "2": [
4325
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4326
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4327
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4328
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4329
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4330
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4331
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4332
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
4333
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4334
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4335
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4336
+ ],
4337
+ "3": [
4338
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4339
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4340
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4341
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4342
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4343
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4344
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4345
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4346
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4347
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4348
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4349
+ ],
4350
+ "4": [
4351
+ " <c1>\u2584 \u2584</c1> ",
4352
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4353
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4354
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4355
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4356
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4357
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4358
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4359
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4360
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4361
+ " <c1>\u2580</c1> "
4362
+ ],
4363
+ "5": [
4364
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4365
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4366
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
4367
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4368
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4369
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4370
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4371
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4372
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4373
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4374
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4375
+ ],
4376
+ "6": [
4377
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4378
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4379
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
4380
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4381
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4382
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4383
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4384
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4385
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4386
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4387
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4388
+ ],
4389
+ "7": [
4390
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4391
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4392
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4393
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4394
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4395
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4396
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4397
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4398
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4399
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4400
+ " <c1>\u2580</c1> "
4401
+ ],
4402
+ "8": [
4403
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4404
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4405
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4406
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4407
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4408
+ " <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4409
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4410
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4411
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4412
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4413
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4414
+ ],
4415
+ "9": [
4416
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4417
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4418
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4419
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4420
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4421
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4422
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4423
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4424
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4425
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4426
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4427
+ ],
4428
+ "!": [
4429
+ " <c1>\u2584\u2584</c1> ",
4430
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4431
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4432
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4433
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4434
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4435
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4436
+ " <c1>\u2580\u2580</c1> ",
4437
+ " <c1>\u2584\u2584</c1> ",
4438
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4439
+ " <c1>\u2580\u2580</c1> "
4440
+ ],
4441
+ "?": [
4442
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4443
+ " <c1>\u2584\u2588</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u2588\u2584</c1> ",
4444
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4445
+ " <c1>\u2580\u2580 \u2584\u2584\u2584\u2588</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4446
+ " <c1>\u2584\u2588</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u2588</c1> ",
4447
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C\u2580\u2580\u2580\u2580</c1> ",
4448
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4449
+ " <c1>\u2580\u2580</c1> ",
4450
+ " <c1>\u2584\u2584</c1> ",
4451
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4452
+ " <c1>\u2580\u2580</c1> "
4453
+ ],
4454
+ ".": [
4455
+ " ",
4456
+ " ",
4457
+ " ",
4458
+ " ",
4459
+ " ",
4460
+ " ",
4461
+ " ",
4462
+ " ",
4463
+ " <c1>\u2584\u2584</c1> ",
4464
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4465
+ " <c1>\u2580\u2580</c1> "
4466
+ ],
4467
+ "+": [
4468
+ " ",
4469
+ " ",
4470
+ " <c1>\u2584\u2584</c1> ",
4471
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4472
+ " <c1>\u2584\u2584\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588\u2584\u2584</c1> ",
4473
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4474
+ " <c1>\u2580\u2580\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588\u2580\u2580</c1> ",
4475
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4476
+ " <c1>\u2580\u2580</c1> ",
4477
+ " ",
4478
+ " "
4479
+ ],
4480
+ "-": [
4481
+ " ",
4482
+ " ",
4483
+ " ",
4484
+ " ",
4485
+ " <c1>\u2584\u2584\u2584\u2584\u2584</c1> ",
4486
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4487
+ " <c1>\u2580\u2580\u2580\u2580\u2580</c1> ",
4488
+ " ",
4489
+ " ",
4490
+ " ",
4491
+ " "
4492
+ ],
4493
+ _: [
4494
+ " ",
4495
+ " ",
4496
+ " ",
4497
+ " ",
4498
+ " ",
4499
+ " ",
4500
+ " ",
4501
+ " <c1>\u2584\u2584\u2584\u2584\u2584</c1> ",
4502
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4503
+ " <c1>\u2580\u2580\u2580\u2580\u2580</c1> ",
4504
+ " "
4505
+ ],
4506
+ "=": [
4507
+ " ",
4508
+ " ",
4509
+ " <c1>\u2584\u2584\u2584\u2584\u2584</c1> ",
4510
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4511
+ " <c1>\u2580\u2580\u2580\u2580\u2580</c1> ",
4512
+ " ",
4513
+ " <c1>\u2584\u2584\u2584\u2584\u2584</c1> ",
4514
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4515
+ " <c1>\u2580\u2580\u2580\u2580\u2580</c1> ",
4516
+ " ",
4517
+ " "
4518
+ ],
4519
+ "@": [
4520
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4521
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4522
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4523
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4524
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2584\u2584\u2584\u2584 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4525
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2588</c1><c2>\u2591\u2591\u2591\u2591</c2><c1>\u2588 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4526
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u2588\u2588\u2588\u2588</c1><c2>\u2591</c2><c1>\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4527
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2588</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4528
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2584\u2584\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4529
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4530
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4531
+ ],
4532
+ "#": [
4533
+ " <c1>\u2584 \u2584</c1> ",
4534
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4535
+ " <c1>\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584</c1> ",
4536
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4537
+ " <c1>\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580</c1> ",
4538
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4539
+ " <c1>\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584</c1> ",
4540
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4541
+ " <c1>\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580</c1> ",
4542
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4543
+ " <c1>\u2580 \u2580</c1> "
4544
+ ],
4545
+ $: [
4546
+ " <c1>\u2584</c1> ",
4547
+ " <c1>\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584</c1> ",
4548
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4549
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580</c1> ",
4550
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584</c1> ",
4551
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4552
+ " <c1>\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4553
+ " <c1>\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4554
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4555
+ " <c1>\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580</c1> ",
4556
+ " <c1>\u2580</c1> "
4557
+ ],
4558
+ "%": [
4559
+ " <c1>\u2584</c1> ",
4560
+ " <c1>\u2584 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4561
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4562
+ " <c1>\u2580 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4563
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4564
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4565
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4566
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2584</c1> ",
4567
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4568
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2580</c1> ",
4569
+ " <c1>\u2580</c1> "
4570
+ ],
4571
+ "&": [
4572
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4573
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4574
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4575
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4576
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4577
+ " <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4578
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C \u2584</c1> ",
4579
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4580
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4581
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4582
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580 \u2580</c1> "
4583
+ ],
4584
+ "(": [
4585
+ " <c1>\u2584\u2584\u2584\u2584\u2584</c1> ",
4586
+ " <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4587
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u2588\u2580\u2580\u2580</c1> ",
4588
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4589
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4590
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4591
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4592
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4593
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u2588\u2584\u2584\u2584</c1> ",
4594
+ " <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4595
+ " <c1>\u2580\u2580\u2580\u2580\u2580</c1> "
4596
+ ],
4597
+ ")": [
4598
+ " <c1>\u2584\u2584\u2584\u2584\u2584</c1> ",
4599
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4600
+ " <c1>\u2580\u2580\u2580\u2588</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4601
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4602
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4603
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4604
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4605
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4606
+ " <c1>\u2584\u2584\u2584\u2588</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4607
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4608
+ " <c1>\u2580\u2580\u2580\u2580\u2580</c1> "
4609
+ ],
4610
+ "/": [
4611
+ " <c1>\u2584</c1> ",
4612
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4613
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4614
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4615
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4616
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4617
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4618
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4619
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4620
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4621
+ " <c1>\u2580</c1> "
4622
+ ],
4623
+ ":": [
4624
+ " ",
4625
+ " ",
4626
+ " <c1>\u2584\u2584</c1> ",
4627
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4628
+ " <c1>\u2580\u2580</c1> ",
4629
+ " ",
4630
+ " <c1>\u2584\u2584</c1> ",
4631
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4632
+ " <c1>\u2580\u2580</c1> ",
4633
+ " ",
4634
+ " "
4635
+ ],
4636
+ ";": [
4637
+ " ",
4638
+ " ",
4639
+ " <c1>\u2584\u2584</c1> ",
4640
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4641
+ " <c1>\u2580\u2580</c1> ",
4642
+ " ",
4643
+ " <c1>\u2584\u2584</c1> ",
4644
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4645
+ " <c1>\u2580\u258C</c1> ",
4646
+ " <c1>\u2580</c1> ",
4647
+ " "
4648
+ ],
4649
+ ",": [
4650
+ " ",
4651
+ " ",
4652
+ " ",
4653
+ " ",
4654
+ " ",
4655
+ " ",
4656
+ " ",
4657
+ " <c1>\u2584\u2584</c1> ",
4658
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4659
+ " <c1>\u2580\u258C</c1> ",
4660
+ " <c1>\u2580</c1> "
4661
+ ],
4662
+ "'": [
4663
+ " <c1>\u2584</c1> ",
4664
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2590</c1>",
4665
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2590</c1>",
4666
+ " <c1>\u2580</c1> ",
4667
+ " ",
4668
+ " ",
4669
+ " ",
4670
+ " ",
4671
+ " ",
4672
+ " ",
4673
+ " "
4674
+ ],
4675
+ '"': [
4676
+ " <c1>\u2584 \u2584</c1> ",
4677
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2590\u2590</c1><c2>\u2591</c2><c1>\u2590</c1>",
4678
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2590\u2590</c1><c2>\u2591</c2><c1>\u2590</c1>",
4679
+ " <c1>\u2580 \u2580</c1> ",
4680
+ " ",
4681
+ " ",
4682
+ " ",
4683
+ " ",
4684
+ " ",
4685
+ " ",
4686
+ " "
4687
+ ],
4688
+ " ": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]
4689
+ }
4690
+ };
4691
+ // src/lib/fonts/grid.json
4692
+ var grid_default = {
4693
+ name: "grid",
4694
+ version: "0.1.0",
4695
+ homepage: "https://github.com/dominikwilkowski/cfonts",
4696
+ colors: 2,
4697
+ lines: 6,
4698
+ buffer: ["", "", "", "", "", ""],
4699
+ letterspace: ["<c2>\u254B</c2>", "<c2>\u254B</c2>", "<c2>\u254B</c2>", "<c2>\u254B</c2>", "<c2>\u254B</c2>", "<c2>\u254B</c2>"],
4700
+ letterspace_size: 1,
4701
+ chars: {
4702
+ A: ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2513\u2503</c1>", "<c1>\u2503\u250F\u2513\u2503</c1>", "<c1>\u2517\u251B\u2517\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B</c2>"],
4703
+ B: [
4704
+ "<c1>\u250F\u2513</c1><c2>\u254B\u254B</c2>",
4705
+ "<c1>\u2503\u2517\u2501\u2513</c1>",
4706
+ "<c1>\u2503\u250F\u2513\u2503</c1>",
4707
+ "<c1>\u2503\u2517\u251B\u2503</c1>",
4708
+ "<c1>\u2517\u2501\u2501\u251B</c1>",
4709
+ "<c2>\u254B\u254B\u254B\u254B</c2>"
4710
+ ],
4711
+ C: ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2501\u251B</c1>", "<c1>\u2503\u2517\u2501\u2513</c1>", "<c1>\u2517\u2501\u2501\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B</c2>"],
4712
+ D: [
4713
+ "<c2>\u254B\u254B</c2><c1>\u250F\u2513</c1>",
4714
+ "<c1>\u250F\u2501\u251B\u2503</c1>",
4715
+ "<c1>\u2503\u250F\u2513\u2503</c1>",
4716
+ "<c1>\u2503\u2517\u251B\u2503</c1>",
4717
+ "<c1>\u2517\u2501\u2501\u251B</c1>",
4718
+ "<c2>\u254B\u254B\u254B\u254B</c2>"
4719
+ ],
4720
+ E: ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2501\u2501\u2513</c1>", "<c1>\u2503\u2503\u2501\u252B</c1>", "<c1>\u2503\u2503\u2501\u252B</c1>", "<c1>\u2517\u2501\u2501\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B</c2>"],
4721
+ F: [
4722
+ "<c2>\u254B</c2><c1>\u250F\u2501\u2513</c1>",
4723
+ "<c1>\u250F\u251B\u2517\u2513</c1>",
4724
+ "<c1>\u2517\u2513\u250F\u251B</c1>",
4725
+ "<c2>\u254B</c2><c1>\u2503\u2503</c1><c2>\u254B</c2>",
4726
+ "<c2>\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>",
4727
+ "<c2>\u254B\u254B\u254B\u254B</c2>"
4728
+ ],
4729
+ G: ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2513\u2503</c1>", "<c1>\u2503\u2517\u251B\u2503</c1>", "<c1>\u2517\u2501\u2513\u2503</c1>", "<c1>\u2517\u2501\u2501\u251B</c1>"],
4730
+ H: [
4731
+ "<c1>\u250F\u2513</c1><c2>\u254B\u254B</c2>",
4732
+ "<c1>\u2503\u2517\u2501\u2513</c1>",
4733
+ "<c1>\u2503\u250F\u2513\u2503</c1>",
4734
+ "<c1>\u2503\u2503\u2503\u2503</c1>",
4735
+ "<c1>\u2517\u251B\u2517\u251B</c1>",
4736
+ "<c2>\u254B\u254B\u254B\u254B</c2>"
4737
+ ],
4738
+ I: ["<c1>\u250F\u2513</c1>", "<c1>\u2517\u251B</c1>", "<c1>\u250F\u2513</c1>", "<c1>\u2503\u2503</c1>", "<c1>\u2517\u251B</c1>", "<c2>\u254B\u254B</c2>"],
4739
+ J: [
4740
+ "<c2>\u254B</c2><c1>\u250F\u2513</c1>",
4741
+ "<c2>\u254B</c2><c1>\u2517\u251B</c1>",
4742
+ "<c2>\u254B</c2><c1>\u250F\u2513</c1>",
4743
+ "<c2>\u254B</c2><c1>\u2503\u2503</c1>",
4744
+ "<c1>\u250F\u251B\u2503</c1>",
4745
+ "<c1>\u2517\u2501\u251B</c1>"
4746
+ ],
4747
+ K: [
4748
+ "<c1>\u250F\u2513</c1><c2>\u254B\u254B</c2>",
4749
+ "<c1>\u2503\u2503\u250F\u2513</c1>",
4750
+ "<c1>\u2503\u2517\u251B\u251B</c1>",
4751
+ "<c1>\u2503\u250F\u2513\u2513</c1>",
4752
+ "<c1>\u2517\u251B\u2517\u251B</c1>",
4753
+ "<c2>\u254B\u254B\u254B\u254B</c2>"
4754
+ ],
4755
+ L: [
4756
+ "<c1>\u250F\u2513</c1><c2>\u254B</c2>",
4757
+ "<c1>\u2503\u2503</c1><c2>\u254B</c2>",
4758
+ "<c1>\u2503\u2503</c1><c2>\u254B</c2>",
4759
+ "<c1>\u2503\u2517\u2513</c1>",
4760
+ "<c1>\u2517\u2501\u251B</c1>",
4761
+ "<c2>\u254B\u254B\u254B</c2>"
4762
+ ],
4763
+ M: ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2513\u250F\u2513</c1>", "<c1>\u2503\u2517\u251B\u2503</c1>", "<c1>\u2503\u2503\u2503\u2503</c1>", "<c1>\u2517\u253B\u253B\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B</c2>"],
4764
+ N: [
4765
+ "<c2>\u254B\u254B\u254B\u254B</c2>",
4766
+ "<c1>\u250F\u2501\u2513</c1><c2>\u254B</c2>",
4767
+ "<c1>\u2503\u250F\u2513\u2513</c1>",
4768
+ "<c1>\u2503\u2503\u2503\u2503</c1>",
4769
+ "<c1>\u2517\u251B\u2517\u251B</c1>",
4770
+ "<c2>\u254B\u254B\u254B\u254B</c2>"
4771
+ ],
4772
+ O: ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2513\u2503</c1>", "<c1>\u2503\u2517\u251B\u2503</c1>", "<c1>\u2517\u2501\u2501\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B</c2>"],
4773
+ P: [
4774
+ "<c2>\u254B\u254B\u254B\u254B</c2>",
4775
+ "<c1>\u250F\u2501\u2501\u2513</c1>",
4776
+ "<c1>\u2503\u250F\u2513\u2503</c1>",
4777
+ "<c1>\u2503\u2517\u251B\u2503</c1>",
4778
+ "<c1>\u2503\u250F\u2501\u251B</c1>",
4779
+ "<c1>\u2517\u251B</c1><c2>\u254B\u254B</c2>"
4780
+ ],
4781
+ Q: [
4782
+ "<c2>\u254B\u254B\u254B\u254B</c2>",
4783
+ "<c1>\u250F\u2501\u2501\u2513</c1>",
4784
+ "<c1>\u2503\u250F\u2513\u2503</c1>",
4785
+ "<c1>\u2503\u2517\u251B\u2503</c1>",
4786
+ "<c1>\u2517\u2501\u2513\u2503</c1>",
4787
+ "<c2>\u254B\u254B</c2><c1>\u2517\u251B</c1>"
4788
+ ],
4789
+ R: [
4790
+ "<c2>\u254B\u254B\u254B</c2>",
4791
+ "<c1>\u250F\u2501\u2513</c1>",
4792
+ "<c1>\u2503\u250F\u251B</c1>",
4793
+ "<c1>\u2503\u2503</c1><c2>\u254B</c2>",
4794
+ "<c1>\u2517\u251B</c1><c2>\u254B</c2>",
4795
+ "<c2>\u254B\u254B\u254B</c2>"
4796
+ ],
4797
+ S: ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2501\u2501\u2513</c1>", "<c1>\u2503\u2501\u2501\u252B</c1>", "<c1>\u2523\u2501\u2501\u2503</c1>", "<c1>\u2517\u2501\u2501\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B</c2>"],
4798
+ T: [
4799
+ "<c2>\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>",
4800
+ "<c1>\u250F\u251B\u2517\u2513</c1>",
4801
+ "<c1>\u2517\u2513\u250F\u251B</c1>",
4802
+ "<c2>\u254B</c2><c1>\u2503\u2517\u2513</c1>",
4803
+ "<c2>\u254B</c2><c1>\u2517\u2501\u251B</c1>",
4804
+ "<c2>\u254B\u254B\u254B\u254B</c2>"
4805
+ ],
4806
+ U: ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2513\u250F\u2513</c1>", "<c1>\u2503\u2503\u2503\u2503</c1>", "<c1>\u2503\u2517\u251B\u2503</c1>", "<c1>\u2517\u2501\u2501\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B</c2>"],
4807
+ V: [
4808
+ "<c2>\u254B\u254B\u254B\u254B</c2>",
4809
+ "<c1>\u250F\u2513\u250F\u2513</c1>",
4810
+ "<c1>\u2503\u2517\u251B\u2503</c1>",
4811
+ "<c1>\u2517\u2513\u250F\u251B</c1>",
4812
+ "<c2>\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>",
4813
+ "<c2>\u254B\u254B\u254B\u254B</c2>"
4814
+ ],
4815
+ W: [
4816
+ "<c2>\u254B\u254B\u254B\u254B\u254B\u254B</c2>",
4817
+ "<c1>\u250F\u2513\u250F\u2513\u250F\u2513</c1>",
4818
+ "<c1>\u2503\u2517\u251B\u2517\u251B\u2503</c1>",
4819
+ "<c1>\u2517\u2513\u250F\u2513\u250F\u251B</c1>",
4820
+ "<c2>\u254B</c2><c1>\u2517\u251B\u2517\u251B</c1><c2>\u254B</c2>",
4821
+ "<c2>\u254B\u254B\u254B\u254B\u254B\u254B</c2>"
4822
+ ],
4823
+ X: ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2513\u250F\u2513</c1>", "<c1>\u2517\u254B\u254B\u251B</c1>", "<c1>\u250F\u254B\u254B\u2513</c1>", "<c1>\u2517\u251B\u2517\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B</c2>"],
4824
+ Y: [
4825
+ "<c2>\u254B\u254B\u254B\u254B\u254B</c2>",
4826
+ "<c1>\u250F\u2513</c1><c2>\u254B</c2><c1>\u250F\u2513</c1>",
4827
+ "<c1>\u2503\u2517\u2501\u251B\u2503</c1>",
4828
+ "<c1>\u2517\u2501\u2513\u250F\u251B</c1>",
4829
+ "<c1>\u2517\u2501\u2501\u251B</c1><c2>\u254B</c2>",
4830
+ "<c2>\u254B\u254B\u254B\u254B\u254B</c2>"
4831
+ ],
4832
+ Z: ["<c2>\u254B\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2501\u2501\u2501\u2513</c1>", "<c1>\u2523\u2501\u2501\u2503\u2503</c1>", "<c1>\u2503\u2503\u2501\u2501\u252B</c1>", "<c1>\u2517\u2501\u2501\u2501\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B\u254B</c2>"],
4833
+ "0": ["<c1>\u250F\u2501\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2501\u2513\u2503</c1>", "<c1>\u2503\u2503\u2503\u2503\u2503</c1>", "<c1>\u2503\u2503\u2503\u2503\u2503</c1>", "<c1>\u2503\u2517\u2501\u251B\u2503</c1>", "<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],
4834
+ "1": [
4835
+ "<c2>\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>",
4836
+ "<c1>\u250F\u251B\u2503</c1><c2>\u254B</c2>",
4837
+ "<c1>\u2517\u2513\u2503</c1><c2>\u254B</c2>",
4838
+ "<c2>\u254B</c2><c1>\u2503\u2503</c1><c2>\u254B</c2>",
4839
+ "<c1>\u250F\u251B\u2517\u2513</c1>",
4840
+ "<c1>\u2517\u2501\u2501\u251B</c1>"
4841
+ ],
4842
+ "2": ["<c1>\u250F\u2501\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2501\u2513\u2503</c1>", "<c1>\u2517\u251B\u250F\u251B\u2503</c1>", "<c1>\u250F\u2501\u251B\u250F\u251B</c1>", "<c1>\u2503\u2517\u2501\u253B\u2513</c1>", "<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],
4843
+ "3": ["<c1>\u250F\u2501\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2501\u2513\u2503</c1>", "<c1>\u2517\u251B\u250F\u251B\u2503</c1>", "<c1>\u250F\u2513\u2517\u2513\u2503</c1>", "<c1>\u2503\u2517\u2501\u251B\u2503</c1>", "<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],
4844
+ "4": [
4845
+ "<c1>\u250F\u2513</c1><c2>\u254B</c2><c1>\u250F\u2513</c1>",
4846
+ "<c1>\u2503\u2503</c1><c2>\u254B</c2><c1>\u2503\u2503</c1>",
4847
+ "<c1>\u2503\u2517\u2501\u251B\u2503</c1>",
4848
+ "<c1>\u2517\u2501\u2501\u2513\u2503</c1>",
4849
+ "<c2>\u254B\u254B\u254B</c2><c1>\u2503\u2503</c1>",
4850
+ "<c2>\u254B\u254B\u254B</c2><c1>\u2517\u251B</c1>"
4851
+ ],
4852
+ "5": ["<c1>\u250F\u2501\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2501\u2501\u251B</c1>", "<c1>\u2503\u2517\u2501\u2501\u2513</c1>", "<c1>\u2517\u2501\u2501\u2513\u2503</c1>", "<c1>\u250F\u2501\u2501\u251B\u2503</c1>", "<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],
4853
+ "6": ["<c1>\u250F\u2501\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2501\u2501\u251B</c1>", "<c1>\u2503\u2517\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2501\u2513\u2503</c1>", "<c1>\u2503\u2517\u2501\u251B\u2503</c1>", "<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],
4854
+ "7": [
4855
+ "<c1>\u250F\u2501\u2501\u2501\u2513</c1>",
4856
+ "<c1>\u2503\u250F\u2501\u2513\u2503</c1>",
4857
+ "<c1>\u2517\u251B\u250F\u251B\u2503</c1>",
4858
+ "<c2>\u254B\u254B</c2><c1>\u2503\u250F\u251B</c1>",
4859
+ "<c2>\u254B\u254B</c2><c1>\u2503\u2503</c1><c2>\u254B</c2>",
4860
+ "<c2>\u254B\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>"
4861
+ ],
4862
+ "8": ["<c1>\u250F\u2501\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2501\u2513\u2503</c1>", "<c1>\u2503\u2517\u2501\u251B\u2503</c1>", "<c1>\u2503\u250F\u2501\u2513\u2503</c1>", "<c1>\u2503\u2517\u2501\u251B\u2503</c1>", "<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],
4863
+ "9": ["<c1>\u250F\u2501\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2501\u2513\u2503</c1>", "<c1>\u2503\u2517\u2501\u251B\u2503</c1>", "<c1>\u2517\u2501\u2501\u2513\u2503</c1>", "<c1>\u250F\u2501\u2501\u251B\u2503</c1>", "<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],
4864
+ "!": ["<c1>\u250F\u2513</c1>", "<c1>\u2503\u2503</c1>", "<c1>\u2503\u2503</c1>", "<c1>\u2517\u251B</c1>", "<c1>\u250F\u2513</c1>", "<c1>\u2517\u251B</c1>"],
4865
+ "?": [
4866
+ "<c1>\u250F\u2501\u2501\u2501\u2513</c1>",
4867
+ "<c1>\u2503\u250F\u2501\u2513\u2503</c1>",
4868
+ "<c1>\u2517\u251B\u250F\u251B\u2503</c1>",
4869
+ "<c2>\u254B\u254B</c2><c1>\u2503\u250F\u251B</c1>",
4870
+ "<c2>\u254B\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>",
4871
+ "<c2>\u254B\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>"
4872
+ ],
4873
+ ".": ["<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c1>\u250F\u2513</c1>", "<c1>\u2517\u251B</c1>"],
4874
+ "+": [
4875
+ "<c2>\u254B\u254B\u254B\u254B</c2>",
4876
+ "<c2>\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>",
4877
+ "<c1>\u250F\u251B\u2517\u2513</c1>",
4878
+ "<c1>\u2517\u2513\u250F\u251B</c1>",
4879
+ "<c2>\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>",
4880
+ "<c2>\u254B\u254B\u254B\u254B</c2>"
4881
+ ],
4882
+ "-": ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2501\u2501\u2513</c1>", "<c1>\u2517\u2501\u2501\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B</c2>", "<c2>\u254B\u254B\u254B\u254B</c2>"],
4883
+ _: ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c2>\u254B\u254B\u254B\u254B</c2>", "<c2>\u254B\u254B\u254B\u254B</c2>", "<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2501\u2501\u2513</c1>", "<c1>\u2517\u2501\u2501\u251B</c1>"],
4884
+ "=": ["<c2>\u254B\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2501\u2501\u2501\u2513</c1>", "<c1>\u2517\u2501\u2501\u2501\u251B</c1>", "<c1>\u250F\u2501\u2501\u2501\u2513</c1>", "<c1>\u2517\u2501\u2501\u2501\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B\u254B</c2>"],
4885
+ "@": [
4886
+ "<c1>\u250F\u2501\u2501\u2501\u2501\u2513</c1><c2>\u254B</c2>",
4887
+ "<c1>\u2503\u250F\u2501\u2501\u2513\u2503</c1><c2>\u254B</c2>",
4888
+ "<c1>\u2503\u2503\u250F\u2501\u2503\u2503</c1><c2>\u254B</c2>",
4889
+ "<c1>\u2503\u2503\u2517\u251B\u2503\u2503</c1><c2>\u254B</c2>",
4890
+ "<c1>\u2503\u2517\u2501\u2501\u251B\u2517\u2513</c1>",
4891
+ "<c1>\u2517\u2501\u2501\u2501\u2501\u2501\u251B</c1>"
4892
+ ],
4893
+ "#": [
4894
+ "<c2>\u254B</c2><c1>\u250F\u2501\u2501\u2501\u2513</c1><c2>\u254B</c2>",
4895
+ "<c1>\u250F\u251B\u250F\u2501\u2513\u2517\u2513</c1>",
4896
+ "<c1>\u2517\u2513\u2503\u2503\u2503\u250F\u251B</c1>",
4897
+ "<c1>\u250F\u251B\u2503\u2503\u2503\u2517\u2513</c1>",
4898
+ "<c1>\u2517\u2513\u2517\u2501\u251B\u250F\u251B</c1>",
4899
+ "<c2>\u254B</c2><c1>\u2517\u2501\u2501\u2501\u251B</c1><c2>\u254B</c2>"
4900
+ ],
4901
+ $: [
4902
+ "<c2>\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>",
4903
+ "<c1>\u250F\u251B\u2517\u2513</c1>",
4904
+ "<c1>\u2503\u2501\u2501\u252B</c1>",
4905
+ "<c1>\u2523\u2501\u2501\u2503</c1>",
4906
+ "<c1>\u2517\u2513\u250F\u251B</c1>",
4907
+ "<c2>\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>"
4908
+ ],
4909
+ "%": [
4910
+ "<c1>\u250F\u2513</c1><c2>\u254B\u254B</c2><c1>\u250F\u2501\u2513</c1>",
4911
+ "<c1>\u2517\u251B</c1><c2>\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1>",
4912
+ "<c2>\u254B\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B</c2>",
4913
+ "<c2>\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B\u254B</c2>",
4914
+ "<c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B</c2><c1>\u250F\u2513</c1>",
4915
+ "<c1>\u2517\u2501\u251B</c1><c2>\u254B\u254B</c2><c1>\u2517\u251B</c1>"
4916
+ ],
4917
+ "&": [
4918
+ "<c2>\u254B\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>",
4919
+ "<c2>\u254B\u254B</c2><c1>\u2503\u2503</c1><c2>\u254B</c2>",
4920
+ "<c1>\u250F\u2501\u251B\u2517\u2513</c1>",
4921
+ "<c1>\u2503\u250F\u2513\u250F\u251B</c1>",
4922
+ "<c1>\u2503\u2517\u251B\u2503</c1><c2>\u254B</c2>",
4923
+ "<c1>\u2517\u2501\u2501\u251B</c1><c2>\u254B</c2>"
4924
+ ],
4925
+ "(": [
4926
+ "<c2>\u254B\u254B</c2><c1>\u250F\u2501\u2513</c1>",
4927
+ "<c2>\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1>",
4928
+ "<c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B</c2>",
4929
+ "<c1>\u2517\u2513\u2517\u2513</c1><c2>\u254B</c2>",
4930
+ "<c2>\u254B</c2><c1>\u2517\u2513\u2517\u2513</c1>",
4931
+ "<c2>\u254B\u254B</c2><c1>\u2517\u2501\u251B</c1>"
4932
+ ],
4933
+ ")": [
4934
+ "<c1>\u250F\u2501\u2513</c1><c2>\u254B\u254B</c2>",
4935
+ "<c1>\u2517\u2513\u2517\u2513</c1><c2>\u254B</c2>",
4936
+ "<c2>\u254B</c2><c1>\u2517\u2513\u2517\u2513</c1>",
4937
+ "<c2>\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1>",
4938
+ "<c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B</c2>",
4939
+ "<c1>\u2517\u2501\u251B</c1><c2>\u254B\u254B</c2>"
4940
+ ],
4941
+ "/": [
4942
+ "<c2>\u254B\u254B\u254B\u254B</c2><c1>\u250F\u2501\u2513</c1>",
4943
+ "<c2>\u254B\u254B\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1>",
4944
+ "<c2>\u254B\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B</c2>",
4945
+ "<c2>\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B\u254B</c2>",
4946
+ "<c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B\u254B\u254B</c2>",
4947
+ "<c1>\u2517\u2501\u251B</c1><c2>\u254B\u254B\u254B\u254B</c2>"
4948
+ ],
4949
+ ":": ["<c2>\u254B\u254B</c2>", "<c1>\u250F\u2513</c1>", "<c1>\u2517\u251B</c1>", "<c1>\u250F\u2513</c1>", "<c1>\u2517\u251B</c1>", "<c2>\u254B\u254B</c2>"],
4950
+ ";": ["<c2>\u254B\u254B</c2>", "<c1>\u250F\u2513</c1>", "<c1>\u2517\u251B</c1>", "<c2>\u254B\u254B</c2>", "<c1>\u250F\u2513</c1>", "<c1>\u2517\u252B</c1>"],
4951
+ ",": ["<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c1>\u250F\u2513</c1>", "<c1>\u2517\u252B</c1>"],
4952
+ "'": ["<c1>\u250F\u2513</c1>", "<c1>\u2517\u251B</c1>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>"],
4953
+ '"': ["<c1>\u250F\u2513\u250F\u2513</c1>", "<c1>\u2517\u251B\u2517\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B</c2>", "<c2>\u254B\u254B\u254B\u254B</c2>", "<c2>\u254B\u254B\u254B\u254B</c2>", "<c2>\u254B\u254B\u254B\u254B</c2>"],
4954
+ " ": ["<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>"]
4955
+ }
4956
+ };
4957
+ // src/lib/fonts/pallet.json
4958
+ var pallet_default = {
4959
+ name: "pallet",
4960
+ version: "0.1.0",
4961
+ homepage: "https://github.com/dominikwilkowski/cfonts",
4962
+ colors: 2,
4963
+ lines: 6,
4964
+ buffer: ["", "", "", "", "", ""],
4965
+ letterspace: ["<c2>\u2500</c2>", "<c2>\u2500</c2>", "<c2>\u2500</c2>", "<c2>\u2500</c2>", "<c2>\u2500</c2>", "<c2>\u2500</c2>"],
4966
+ letterspace_size: 1,
4967
+ chars: {
4968
+ A: [
4969
+ "<c1>\u2554\u2550\u2550\u2550\u2557</c1>",
4970
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1>",
4971
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>",
4972
+ "<c1>\u2551\u255A\u2550\u255D\u2551</c1>",
4973
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1>",
4974
+ "<c1>\u255A\u255D</c1><c2>\u2500</c2><c1>\u255A\u255D</c1>"
4975
+ ],
4976
+ B: [
4977
+ "<c1>\u2554\u2550\u2550\u2557</c1><c2>\u2500</c2>",
4978
+ "<c1>\u2551\u2554\u2557\u2551</c1><c2>\u2500</c2>",
4979
+ "<c1>\u2551\u255A\u255D\u255A\u2557</c1>",
4980
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1>",
4981
+ "<c1>\u2551\u255A\u2550\u255D\u2551</c1>",
4982
+ "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"
4983
+ ],
4984
+ C: [
4985
+ "<c1>\u2554\u2550\u2550\u2550\u2557</c1>",
4986
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1>",
4987
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u255A\u255D</c1>",
4988
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>",
4989
+ "<c1>\u2551\u255A\u2550\u255D\u2551</c1>",
4990
+ "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"
4991
+ ],
4992
+ D: [
4993
+ "<c1>\u2554\u2550\u2550\u2550\u2557</c1>",
4994
+ "<c1>\u255A\u2557\u2554\u2557\u2551</c1>",
4995
+ "<c2>\u2500</c2><c1>\u2551\u2551\u2551\u2551</c1>",
4996
+ "<c2>\u2500</c2><c1>\u2551\u2551\u2551\u2551</c1>",
4997
+ "<c1>\u2554\u255D\u255A\u255D\u2551</c1>",
4998
+ "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"
4999
+ ],
5000
+ E: ["<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2550\u255D</c1>", "<c1>\u2551\u255A\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2550\u255D</c1>", "<c1>\u2551\u255A\u2550\u2550\u2557</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],
5001
+ F: [
5002
+ "<c1>\u2554\u2550\u2550\u2550\u2557</c1>",
5003
+ "<c1>\u2551\u2554\u2550\u2550\u255D</c1>",
5004
+ "<c1>\u2551\u255A\u2550\u2550\u2557</c1>",
5005
+ "<c1>\u2551\u2554\u2550\u2550\u255D</c1>",
5006
+ "<c1>\u2551\u2551</c1><c2>\u2500\u2500\u2500</c2>",
5007
+ "<c1>\u255A\u255D</c1><c2>\u2500\u2500\u2500</c2>"
5008
+ ],
5009
+ G: [
5010
+ "<c1>\u2554\u2550\u2550\u2550\u2557</c1>",
5011
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1>",
5012
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u255A\u255D</c1>",
5013
+ "<c1>\u2551\u2551\u2554\u2550\u2557</c1>",
5014
+ "<c1>\u2551\u255A\u2569\u2550\u2551</c1>",
5015
+ "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"
5016
+ ],
5017
+ H: [
5018
+ "<c1>\u2554\u2557</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>",
5019
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>",
5020
+ "<c1>\u2551\u255A\u2550\u255D\u2551</c1>",
5021
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1>",
5022
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>",
5023
+ "<c1>\u255A\u255D</c1><c2>\u2500</c2><c1>\u255A\u255D</c1>"
5024
+ ],
5025
+ I: [
5026
+ "<c1>\u2554\u2550\u2550\u2557</c1>",
5027
+ "<c1>\u255A\u2563\u2560\u255D</c1>",
5028
+ "<c2>\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>",
5029
+ "<c2>\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>",
5030
+ "<c1>\u2554\u2563\u2560\u2557</c1>",
5031
+ "<c1>\u255A\u2550\u2550\u255D</c1>"
5032
+ ],
5033
+ J: [
5034
+ "<c2>\u2500\u2500</c2><c1>\u2554\u2557</c1>",
5035
+ "<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1>",
5036
+ "<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1>",
5037
+ "<c1>\u2554\u2557\u2551\u2551</c1>",
5038
+ "<c1>\u2551\u255A\u255D\u2551</c1>",
5039
+ "<c1>\u255A\u2550\u2550\u255D</c1>"
5040
+ ],
5041
+ K: [
5042
+ "<c1>\u2554\u2557\u2554\u2550\u2557</c1>",
5043
+ "<c1>\u2551\u2551\u2551\u2554\u255D</c1>",
5044
+ "<c1>\u2551\u255A\u255D\u255D</c1><c2>\u2500</c2>",
5045
+ "<c1>\u2551\u2554\u2557\u2551</c1><c2>\u2500</c2>",
5046
+ "<c1>\u2551\u2551\u2551\u255A\u2557</c1>",
5047
+ "<c1>\u255A\u255D\u255A\u2550\u255D</c1>"
5048
+ ],
5049
+ L: [
5050
+ "<c1>\u2554\u2557</c1><c2>\u2500\u2500\u2500</c2>",
5051
+ "<c1>\u2551\u2551</c1><c2>\u2500\u2500\u2500</c2>",
5052
+ "<c1>\u2551\u2551</c1><c2>\u2500\u2500\u2500</c2>",
5053
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>",
5054
+ "<c1>\u2551\u255A\u2550\u255D\u2551</c1>",
5055
+ "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"
5056
+ ],
5057
+ M: [
5058
+ "<c1>\u2554\u2550\u2557\u2554\u2550\u2557</c1>",
5059
+ "<c1>\u2551\u2551\u255A\u255D\u2551\u2551</c1>",
5060
+ "<c1>\u2551\u2554\u2557\u2554\u2557\u2551</c1>",
5061
+ "<c1>\u2551\u2551\u2551\u2551\u2551\u2551</c1>",
5062
+ "<c1>\u2551\u2551\u2551\u2551\u2551\u2551</c1>",
5063
+ "<c1>\u255A\u255D\u255A\u255D\u255A\u255D</c1>"
5064
+ ],
5065
+ N: [
5066
+ "<c1>\u2554\u2550\u2557</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>",
5067
+ "<c1>\u2551\u2551\u255A\u2557\u2551\u2551</c1>",
5068
+ "<c1>\u2551\u2554\u2557\u255A\u255D\u2551</c1>",
5069
+ "<c1>\u2551\u2551\u255A\u2557\u2551\u2551</c1>",
5070
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551\u2551</c1>",
5071
+ "<c1>\u255A\u255D</c1><c2>\u2500</c2><c1>\u255A\u2550\u255D</c1>"
5072
+ ],
5073
+ O: [
5074
+ "<c1>\u2554\u2550\u2550\u2550\u2557</c1>",
5075
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1>",
5076
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>",
5077
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>",
5078
+ "<c1>\u2551\u255A\u2550\u255D\u2551</c1>",
5079
+ "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"
5080
+ ],
5081
+ P: [
5082
+ "<c1>\u2554\u2550\u2550\u2550\u2557</c1>",
5083
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1>",
5084
+ "<c1>\u2551\u255A\u2550\u255D\u2551</c1>",
5085
+ "<c1>\u2551\u2554\u2550\u2550\u255D</c1>",
5086
+ "<c1>\u2551\u2551</c1><c2>\u2500\u2500\u2500</c2>",
5087
+ "<c1>\u255A\u255D</c1><c2>\u2500\u2500\u2500</c2>"
5088
+ ],
5089
+ Q: [
5090
+ "<c1>\u2554\u2550\u2550\u2550\u2557</c1><c2>\u2500</c2>",
5091
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1><c2>\u2500</c2>",
5092
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>",
5093
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>",
5094
+ "<c1>\u2551\u255A\u2550\u255D\u2560\u2557</c1>",
5095
+ "<c1>\u255A\u2550\u2550\u2550\u2550\u255D</c1>"
5096
+ ],
5097
+ R: ["<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2557\u2551</c1>", "<c1>\u2551\u255A\u2550\u255D\u2551</c1>", "<c1>\u2551\u2554\u2557\u2554\u255D</c1>", "<c1>\u2551\u2551\u2551\u255A\u2557</c1>", "<c1>\u255A\u255D\u255A\u2550\u255D</c1>"],
5098
+ S: ["<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2557\u2551</c1>", "<c1>\u2551\u255A\u2550\u2550\u2557</c1>", "<c1>\u255A\u2550\u2550\u2557\u2551</c1>", "<c1>\u2551\u255A\u2550\u255D\u2551</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],
5099
+ T: [
5100
+ "<c1>\u2554\u2550\u2550\u2550\u2550\u2557</c1>",
5101
+ "<c1>\u2551\u2554\u2557\u2554\u2557\u2551</c1>",
5102
+ "<c1>\u255A\u255D\u2551\u2551\u255A\u255D</c1>",
5103
+ "<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500\u2500</c2>",
5104
+ "<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500\u2500</c2>",
5105
+ "<c2>\u2500\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500\u2500</c2>"
5106
+ ],
5107
+ U: [
5108
+ "<c1>\u2554\u2557</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>",
5109
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>",
5110
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>",
5111
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>",
5112
+ "<c1>\u2551\u255A\u2550\u255D\u2551</c1>",
5113
+ "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"
5114
+ ],
5115
+ V: [
5116
+ "<c1>\u2554\u2557</c1><c2>\u2500\u2500</c2><c1>\u2554\u2557</c1>",
5117
+ "<c1>\u2551\u255A\u2557\u2554\u255D\u2551</c1>",
5118
+ "<c1>\u255A\u2557\u2551\u2551\u2554\u255D</c1>",
5119
+ "<c2>\u2500</c2><c1>\u2551\u255A\u255D\u2551</c1><c2>\u2500</c2>",
5120
+ "<c2>\u2500</c2><c1>\u255A\u2557\u2554\u255D</c1><c2>\u2500</c2>",
5121
+ "<c2>\u2500\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500\u2500</c2>"
5122
+ ],
5123
+ W: [
5124
+ "<c1>\u2554\u2557\u2554\u2557\u2554\u2557</c1>",
5125
+ "<c1>\u2551\u2551\u2551\u2551\u2551\u2551</c1>",
5126
+ "<c1>\u2551\u2551\u2551\u2551\u2551\u2551</c1>",
5127
+ "<c1>\u2551\u255A\u255D\u255A\u255D\u2551</c1>",
5128
+ "<c1>\u255A\u2557\u2554\u2557\u2554\u255D</c1>",
5129
+ "<c2>\u2500</c2><c1>\u255A\u255D\u255A\u255D</c1><c2>\u2500</c2>"
5130
+ ],
5131
+ X: [
5132
+ "<c1>\u2554\u2550\u2557\u2554\u2550\u2557</c1>",
5133
+ "<c1>\u255A\u2557\u255A\u255D\u2554\u255D</c1>",
5134
+ "<c2>\u2500</c2><c1>\u255A\u2557\u2554\u255D</c1><c2>\u2500</c2>",
5135
+ "<c2>\u2500</c2><c1>\u2554\u255D\u255A\u2557</c1><c2>\u2500</c2>",
5136
+ "<c1>\u2554\u255D\u2554\u2557\u255A\u2557</c1>",
5137
+ "<c1>\u255A\u2550\u255D\u255A\u2550\u255D</c1>"
5138
+ ],
5139
+ Y: [
5140
+ "<c1>\u2554\u2557</c1><c2>\u2500\u2500</c2><c1>\u2554\u2557</c1>",
5141
+ "<c1>\u2551\u255A\u2557\u2554\u255D\u2551</c1>",
5142
+ "<c1>\u255A\u2557\u255A\u255D\u2554\u255D</c1>",
5143
+ "<c2>\u2500</c2><c1>\u255A\u2557\u2554\u255D</c1><c2>\u2500</c2>",
5144
+ "<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500\u2500</c2>",
5145
+ "<c2>\u2500\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500\u2500</c2>"
5146
+ ],
5147
+ Z: [
5148
+ "<c1>\u2554\u2550\u2550\u2550\u2550\u2557</c1>",
5149
+ "<c1>\u255A\u2550\u2550\u2557\u2550\u2551</c1>",
5150
+ "<c2>\u2500\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1>",
5151
+ "<c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2>",
5152
+ "<c1>\u2554\u255D\u2550\u255A\u2550\u2557</c1>",
5153
+ "<c1>\u255A\u2550\u2550\u2550\u2550\u255D</c1>"
5154
+ ],
5155
+ "0": ["<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2557\u2551</c1>", "<c1>\u2551\u2551\u2551\u2551\u2551</c1>", "<c1>\u2551\u2551\u2551\u2551\u2551</c1>", "<c1>\u2551\u255A\u2550\u255D\u2551</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],
5156
+ "1": [
5157
+ "<c2>\u2500</c2><c1>\u2554\u2557</c1><c2>\u2500</c2>",
5158
+ "<c1>\u2554\u255D\u2551</c1><c2>\u2500</c2>",
5159
+ "<c1>\u255A\u2557\u2551</c1><c2>\u2500</c2>",
5160
+ "<c2>\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>",
5161
+ "<c1>\u2554\u255D\u255A\u2557</c1>",
5162
+ "<c1>\u255A\u2550\u2550\u255D</c1>"
5163
+ ],
5164
+ "2": ["<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2557\u2551</c1>", "<c1>\u255A\u255D\u2554\u255D\u2551</c1>", "<c1>\u2554\u2550\u255D\u2554\u255D</c1>", "<c1>\u2551\u2551\u255A\u2550\u2557</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],
5165
+ "3": ["<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2557\u2551</c1>", "<c1>\u255A\u255D\u2554\u255D\u2551</c1>", "<c1>\u2554\u2557\u255A\u2557\u2551</c1>", "<c1>\u2551\u255A\u2550\u255D\u2551</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],
5166
+ "4": [
5167
+ "<c1>\u2554\u2557</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>",
5168
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>",
5169
+ "<c1>\u2551\u255A\u2550\u255D\u2551</c1>",
5170
+ "<c1>\u255A\u2550\u2550\u2557\u2551</c1>",
5171
+ "<c2>\u2500\u2500\u2500</c2><c1>\u2551\u2551</c1>",
5172
+ "<c2>\u2500\u2500\u2500</c2><c1>\u255A\u255D</c1>"
5173
+ ],
5174
+ "5": ["<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2550\u255D</c1>", "<c1>\u2551\u255A\u2550\u2550\u2557</c1>", "<c1>\u255A\u2550\u2550\u2557\u2551</c1>", "<c1>\u2554\u2550\u2550\u255D\u2551</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],
5175
+ "6": ["<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2550\u255D</c1>", "<c1>\u2551\u255A\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2557\u2551</c1>", "<c1>\u2551\u255A\u2550\u255D\u2551</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],
5176
+ "7": [
5177
+ "<c1>\u2554\u2550\u2550\u2550\u2557</c1>",
5178
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1>",
5179
+ "<c1>\u255A\u255D\u2554\u255D\u2551</c1>",
5180
+ "<c2>\u2500\u2500</c2><c1>\u2551\u2554\u255D</c1>",
5181
+ "<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>",
5182
+ "<c2>\u2500\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500</c2>"
5183
+ ],
5184
+ "8": ["<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2557\u2551</c1>", "<c1>\u2551\u255A\u2550\u255D\u2551</c1>", "<c1>\u2551\u2554\u2550\u2557\u2551</c1>", "<c1>\u2551\u255A\u2550\u255D\u2551</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],
5185
+ "9": ["<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2557\u2551</c1>", "<c1>\u2551\u255A\u2550\u255D\u2551</c1>", "<c1>\u255A\u2550\u2550\u2557\u2551</c1>", "<c1>\u2554\u2550\u2550\u255D\u2551</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],
5186
+ "!": ["<c1>\u2554\u2557</c1>", "<c1>\u2551\u2551</c1>", "<c1>\u2551\u2551</c1>", "<c1>\u255A\u255D</c1>", "<c1>\u2554\u2557</c1>", "<c1>\u255A\u255D</c1>"],
5187
+ "?": [
5188
+ "<c1>\u2554\u2550\u2550\u2550\u2557</c1>",
5189
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1>",
5190
+ "<c1>\u255A\u255D\u2554\u255D\u2551</c1>",
5191
+ "<c2>\u2500\u2500</c2><c1>\u2551\u2554\u255D</c1>",
5192
+ "<c2>\u2500\u2500</c2><c1>\u2554\u2557</c1><c2>\u2500</c2>",
5193
+ "<c2>\u2500\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500</c2>"
5194
+ ],
5195
+ ".": ["<c2>\u2500\u2500</c2>", "<c2>\u2500\u2500</c2>", "<c2>\u2500\u2500</c2>", "<c2>\u2500\u2500</c2>", "<c1>\u2554\u2557</c1>", "<c1>\u255A\u255D</c1>"],
5196
+ "+": [
5197
+ "<c2>\u2500\u2500\u2500\u2500</c2>",
5198
+ "<c2>\u2500\u2500\u2500\u2500</c2>",
5199
+ "<c2>\u2500</c2><c1>\u2554\u2557</c1><c2>\u2500</c2>",
5200
+ "<c1>\u2554\u255D\u255A\u2557</c1>",
5201
+ "<c1>\u255A\u2557\u2554\u255D</c1>",
5202
+ "<c2>\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500</c2>"
5203
+ ],
5204
+ "-": ["<c2>\u2500\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500\u2500</c2>", "<c1>\u2554\u2550\u2550\u2557</c1>", "<c1>\u255A\u2550\u2550\u255D</c1>", "<c2>\u2500\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500\u2500</c2>"],
5205
+ _: ["<c2>\u2500\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500\u2500</c2>", "<c1>\u2554\u2550\u2550\u2557</c1>", "<c1>\u255A\u2550\u2550\u255D</c1>"],
5206
+ "=": ["<c2>\u2500\u2500\u2500\u2500\u2500</c2>", "<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>", "<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>", "<c2>\u2500\u2500\u2500\u2500\u2500</c2>"],
5207
+ "@": [
5208
+ "<c1>\u2554\u2550\u2550\u2550\u2550\u2557</c1><c2>\u2500</c2>",
5209
+ "<c1>\u2551\u2554\u2550\u2550\u2557\u2551</c1><c2>\u2500</c2>",
5210
+ "<c1>\u2551\u2551\u2554\u2550\u2551\u2551</c1><c2>\u2500</c2>",
5211
+ "<c1>\u2551\u2551\u255A\u255D\u2551\u2551</c1><c2>\u2500</c2>",
5212
+ "<c1>\u2551\u255A\u2550\u2550\u255D\u2560\u2557</c1>",
5213
+ "<c1>\u255A\u2550\u2550\u2550\u2550\u2550\u255D</c1>"
5214
+ ],
5215
+ "#": [
5216
+ "<c2>\u2500</c2><c1>\u2554\u2569\u2569\u2569\u2557</c1><c2>\u2500</c2>",
5217
+ "<c1>\u2554\u255D\u2554\u2550\u2557\u255A\u2557</c1>",
5218
+ "<c1>\u255A\u2557\u2560\u2550\u2563\u2554\u255D</c1>",
5219
+ "<c1>\u2554\u255D\u2560\u2550\u2563\u255A\u2557</c1>",
5220
+ "<c1>\u255A\u2557\u255A\u2550\u255D\u2554\u255D</c1>",
5221
+ "<c2>\u2500</c2><c1>\u255A\u2566\u2566\u2566\u255D</c1><c2>\u2500</c2>"
5222
+ ],
5223
+ $: ["<c1>\u2554\u255D\u2569\u255A\u2557</c1>", "<c1>\u2551\u2554\u2550\u2557\u2551</c1>", "<c1>\u2551\u255A\u2550\u2550\u2557</c1>", "<c1>\u255A\u2550\u2550\u2557\u2551</c1>", "<c1>\u2551\u255A\u2550\u255D\u2551</c1>", "<c1>\u255A\u2557\u2566\u2554\u255D</c1>"],
5224
+ "%": [
5225
+ "<c1>\u2554\u2557</c1><c2>\u2500\u2500</c2><c1>\u2554\u2550\u2557</c1>",
5226
+ "<c1>\u255A\u255D</c1><c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1>",
5227
+ "<c2>\u2500\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2>",
5228
+ "<c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500\u2500</c2>",
5229
+ "<c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>",
5230
+ "<c1>\u255A\u2550\u255D</c1><c2>\u2500\u2500</c2><c1>\u255A\u255D</c1>"
5231
+ ],
5232
+ "&": [
5233
+ "<c2>\u2500\u2500</c2><c1>\u2554\u2557</c1><c2>\u2500</c2>",
5234
+ "<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>",
5235
+ "<c1>\u2554\u2550\u255D\u255A\u2557</c1>",
5236
+ "<c1>\u2551\u2554\u2557\u2554\u255D</c1>",
5237
+ "<c1>\u2551\u255A\u255D\u2551</c1><c2>\u2500</c2>",
5238
+ "<c1>\u255A\u2550\u2550\u255D</c1><c2>\u2500</c2>"
5239
+ ],
5240
+ "(": [
5241
+ "<c2>\u2500\u2500</c2><c1>\u2554\u2550\u2557</c1>",
5242
+ "<c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1>",
5243
+ "<c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2>",
5244
+ "<c1>\u255A\u2557\u255A\u2557</c1><c2>\u2500</c2>",
5245
+ "<c2>\u2500</c2><c1>\u255A\u2557\u255A\u2557</c1>",
5246
+ "<c2>\u2500\u2500</c2><c1>\u255A\u2550\u255D</c1>"
5247
+ ],
5248
+ ")": [
5249
+ "<c1>\u2554\u2550\u2557</c1><c2>\u2500\u2500</c2>",
5250
+ "<c1>\u255A\u2557\u255A\u2557</c1><c2>\u2500</c2>",
5251
+ "<c2>\u2500</c2><c1>\u255A\u2557\u255A\u2557</c1>",
5252
+ "<c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1>",
5253
+ "<c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2>",
5254
+ "<c1>\u255A\u2550\u255D</c1><c2>\u2500\u2500</c2>"
5255
+ ],
5256
+ "/": [
5257
+ "<c2>\u2500\u2500\u2500\u2500</c2><c1>\u2554\u2550\u2557</c1>",
5258
+ "<c2>\u2500\u2500\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1>",
5259
+ "<c2>\u2500\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2>",
5260
+ "<c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500\u2500</c2>",
5261
+ "<c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500\u2500\u2500</c2>",
5262
+ "<c1>\u255A\u2550\u255D</c1><c2>\u2500\u2500\u2500\u2500</c2>"
5263
+ ],
5264
+ ":": ["<c2>\u2500\u2500</c2>", "<c1>\u2554\u2557</c1>", "<c1>\u255A\u255D</c1>", "<c1>\u2554\u2557</c1>", "<c1>\u255A\u255D</c1>", "<c2>\u2500\u2500</c2>"],
5265
+ ";": ["<c2>\u2500\u2500</c2>", "<c2>\u2500\u2500</c2>", "<c2>\u2500\u2500</c2>", "<c1>\u2554\u2557</c1>", "<c1>\u255A\u2563</c1>", "<c2>\u2500</c2><c1>\u255D</c1>"],
5266
+ ",": ["<c1>\u2554\u2557</c1>", "<c1>\u2551\u2551</c1>", "<c1>\u255A\u255D</c1>", "<c1>\u2554\u2557</c1>", "<c1>\u255A\u2563</c1>", "<c2>\u2500</c2><c1>\u255D</c1>"],
5267
+ "'": ["<c1>\u2554\u2557</c1>", "<c1>\u2551\u2551</c1>", "<c1>\u255A\u255D</c1>", "<c2>\u2500\u2500</c2>", "<c2>\u2500\u2500</c2>", "<c2>\u2500\u2500</c2>"],
5268
+ '"': ["<c1>\u2554\u2557\u2554\u2557</c1>", "<c1>\u2551\u2551\u2551\u2551</c1>", "<c1>\u255A\u255D\u255A\u255D</c1>", "<c2>\u2500\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500\u2500</c2>"],
5269
+ " ": ["<c2>\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500</c2>"]
5270
+ }
5271
+ };
3933
5272
 
3934
5273
  // src/lib/ascii.font.ts
3935
5274
  var fonts = {
3936
5275
  tiny: tiny_default,
3937
5276
  block: block_default,
3938
5277
  shade: shade_default,
3939
- slick: slick_default
5278
+ slick: slick_default,
5279
+ huge: huge_default,
5280
+ grid: grid_default,
5281
+ pallet: pallet_default
3940
5282
  };
3941
5283
  var parsedFonts = {};
3942
5284
  function parseColorTags(text) {
@@ -5109,7 +6451,7 @@ class Selection {
5109
6451
  return aY - bY;
5110
6452
  }
5111
6453
  return a.x - b.x;
5112
- }).map((renderable) => renderable.getSelectedText()).filter((text) => text);
6454
+ }).filter((renderable) => !renderable.isDestroyed).map((renderable) => renderable.getSelectedText()).filter((text) => text);
5113
6455
  return selectedTexts.join(`
5114
6456
  `);
5115
6457
  }
@@ -5302,10 +6644,10 @@ No environment variables registered.
5302
6644
  `;
5303
6645
  if (config.default !== undefined) {
5304
6646
  const defaultValue = typeof config.default === "string" ? `"${config.default}"` : String(config.default);
5305
- markdown += `**Default:** \`${defaultValue}\`
6647
+ markdown += `**Default:** \`${defaultValue}\`
5306
6648
  `;
5307
6649
  } else {
5308
- markdown += `**Default:** *Required*
6650
+ markdown += `**Default:** *Required*
5309
6651
  `;
5310
6652
  }
5311
6653
  markdown += `
@@ -7748,6 +9090,7 @@ class OptimizedBuffer {
7748
9090
  bufferPtr;
7749
9091
  _width;
7750
9092
  _height;
9093
+ _widthMethod;
7751
9094
  respectAlpha = false;
7752
9095
  _rawBuffers = null;
7753
9096
  _destroyed = false;
@@ -7781,13 +9124,18 @@ class OptimizedBuffer {
7781
9124
  this.respectAlpha = options.respectAlpha || false;
7782
9125
  this._width = width;
7783
9126
  this._height = height;
9127
+ this._widthMethod = options.widthMethod || "unicode";
7784
9128
  this.bufferPtr = ptr;
7785
9129
  }
7786
9130
  static create(width, height, widthMethod, options = {}) {
7787
9131
  const lib = resolveRenderLib();
7788
9132
  const respectAlpha = options.respectAlpha || false;
7789
9133
  const id = options.id && options.id.trim() !== "" ? options.id : "unnamed buffer";
7790
- return lib.createOptimizedBuffer(width, height, widthMethod, respectAlpha, id);
9134
+ const buffer = lib.createOptimizedBuffer(width, height, widthMethod, respectAlpha, id);
9135
+ return buffer;
9136
+ }
9137
+ get widthMethod() {
9138
+ return this._widthMethod;
7791
9139
  }
7792
9140
  get width() {
7793
9141
  return this._width;
@@ -7910,6 +9258,18 @@ class OptimizedBuffer {
7910
9258
  this.guard();
7911
9259
  this.lib.bufferClearScissorRects(this.bufferPtr);
7912
9260
  }
9261
+ encodeUnicode(text) {
9262
+ this.guard();
9263
+ return this.lib.encodeUnicode(text, this._widthMethod);
9264
+ }
9265
+ freeUnicode(encoded) {
9266
+ this.guard();
9267
+ this.lib.freeUnicode(encoded);
9268
+ }
9269
+ drawChar(char, x, y, fg2, bg2, attributes = 0) {
9270
+ this.guard();
9271
+ this.lib.bufferDrawChar(this.bufferPtr, char, x, y, fg2, bg2, attributes);
9272
+ }
7913
9273
  }
7914
9274
 
7915
9275
  // ../../node_modules/bun-ffi-structs/index.js
@@ -8587,6 +9947,25 @@ var TerminalCapabilitiesStruct = defineStruct([
8587
9947
  ["term_version_len", "u64", { lengthOf: "term_version" }],
8588
9948
  ["term_from_xtversion", "bool_u8"]
8589
9949
  ]);
9950
+ var EncodedCharStruct = defineStruct([
9951
+ ["width", "u8"],
9952
+ ["char", "u32"]
9953
+ ]);
9954
+ var LineInfoStruct = defineStruct([
9955
+ ["starts", ["u32"]],
9956
+ ["startsLen", "u32", { lengthOf: "starts" }],
9957
+ ["widths", ["u32"]],
9958
+ ["widthsLen", "u32", { lengthOf: "widths" }],
9959
+ ["sources", ["u32"]],
9960
+ ["sourcesLen", "u32", { lengthOf: "sources" }],
9961
+ ["wraps", ["u32"]],
9962
+ ["wrapsLen", "u32", { lengthOf: "wraps" }],
9963
+ ["maxWidth", "u32"]
9964
+ ]);
9965
+ var MeasureResultStruct = defineStruct([
9966
+ ["lineCount", "u32"],
9967
+ ["maxWidth", "u32"]
9968
+ ]);
8590
9969
 
8591
9970
  // src/zig.ts
8592
9971
  var module = await import(`@opentui/core-${process.platform}-${process.arch}/index.ts`);
@@ -8609,6 +9988,18 @@ registerEnvVar({
8609
9988
  type: "boolean",
8610
9989
  default: false
8611
9990
  });
9991
+ registerEnvVar({
9992
+ name: "OPENTUI_FORCE_WCWIDTH",
9993
+ description: "Use wcwidth for character width calculations",
9994
+ type: "boolean",
9995
+ default: false
9996
+ });
9997
+ registerEnvVar({
9998
+ name: "OPENTUI_FORCE_UNICODE",
9999
+ description: "Force Mode 2026 Unicode support in terminal capabilities",
10000
+ type: "boolean",
10001
+ default: false
10002
+ });
8612
10003
  function getOpenTUILib(libPath) {
8613
10004
  const resolvedLibPath = libPath || targetLibPath;
8614
10005
  const rawSymbols = dlopen(resolvedLibPath, {
@@ -8844,6 +10235,14 @@ function getOpenTUILib(libPath) {
8844
10235
  args: ["ptr", "bool"],
8845
10236
  returns: "void"
8846
10237
  },
10238
+ suspendRenderer: {
10239
+ args: ["ptr"],
10240
+ returns: "void"
10241
+ },
10242
+ resumeRenderer: {
10243
+ args: ["ptr"],
10244
+ returns: "void"
10245
+ },
8847
10246
  createTextBuffer: {
8848
10247
  args: ["u8"],
8849
10248
  returns: "ptr"
@@ -9021,12 +10420,12 @@ function getOpenTUILib(libPath) {
9021
10420
  returns: "u32"
9022
10421
  },
9023
10422
  textBufferViewGetLineInfoDirect: {
9024
- args: ["ptr", "ptr", "ptr"],
9025
- returns: "u32"
10423
+ args: ["ptr", "ptr"],
10424
+ returns: "void"
9026
10425
  },
9027
10426
  textBufferViewGetLogicalLineInfoDirect: {
9028
- args: ["ptr", "ptr", "ptr"],
9029
- returns: "u32"
10427
+ args: ["ptr", "ptr"],
10428
+ returns: "void"
9030
10429
  },
9031
10430
  textBufferViewGetSelectedText: {
9032
10431
  args: ["ptr", "ptr", "usize"],
@@ -9044,6 +10443,10 @@ function getOpenTUILib(libPath) {
9044
10443
  args: ["ptr", "ptr"],
9045
10444
  returns: "void"
9046
10445
  },
10446
+ textBufferViewMeasureForDimensions: {
10447
+ args: ["ptr", "u32", "u32", "ptr"],
10448
+ returns: "bool"
10449
+ },
9047
10450
  bufferDrawTextBufferView: {
9048
10451
  args: ["ptr", "ptr", "i32", "i32"],
9049
10452
  returns: "void"
@@ -9089,12 +10492,12 @@ function getOpenTUILib(libPath) {
9089
10492
  returns: "ptr"
9090
10493
  },
9091
10494
  editorViewGetLineInfoDirect: {
9092
- args: ["ptr", "ptr", "ptr"],
9093
- returns: "u32"
10495
+ args: ["ptr", "ptr"],
10496
+ returns: "void"
9094
10497
  },
9095
10498
  editorViewGetLogicalLineInfoDirect: {
9096
- args: ["ptr", "ptr", "ptr"],
9097
- returns: "u32"
10499
+ args: ["ptr", "ptr"],
10500
+ returns: "void"
9098
10501
  },
9099
10502
  createEditBuffer: {
9100
10503
  args: ["u8"],
@@ -9355,6 +10758,18 @@ function getOpenTUILib(libPath) {
9355
10758
  processCapabilityResponse: {
9356
10759
  args: ["ptr", "ptr", "usize"],
9357
10760
  returns: "void"
10761
+ },
10762
+ encodeUnicode: {
10763
+ args: ["ptr", "usize", "ptr", "ptr", "u8"],
10764
+ returns: "bool"
10765
+ },
10766
+ freeUnicode: {
10767
+ args: ["ptr", "usize"],
10768
+ returns: "void"
10769
+ },
10770
+ bufferDrawChar: {
10771
+ args: ["ptr", "u32", "u32", "u32", "ptr", "ptr", "u8"],
10772
+ returns: "void"
9358
10773
  }
9359
10774
  });
9360
10775
  if (env.OTUI_DEBUG_FFI || env.OTUI_TRACE_FFI) {
@@ -9375,7 +10790,7 @@ function convertToDebugSymbols(symbols) {
9375
10790
  if (env.OTUI_DEBUG_FFI) {
9376
10791
  const now = new Date;
9377
10792
  const timestamp = now.toISOString().replace(/[:.]/g, "-").replace(/T/, "_").split("Z")[0];
9378
- const logFilePath = `ffi_debug_${timestamp}.log`;
10793
+ const logFilePath = `ffi_otui_debug_${timestamp}.log`;
9379
10794
  ffiLogWriter = Bun.file(logFilePath).writer();
9380
10795
  const writer = ffiLogWriter;
9381
10796
  const writeSync = (msg) => {
@@ -9622,7 +11037,7 @@ class FFIRenderLib {
9622
11037
  }
9623
11038
  const width = this.opentui.symbols.getBufferWidth(bufferPtr);
9624
11039
  const height = this.opentui.symbols.getBufferHeight(bufferPtr);
9625
- return new OptimizedBuffer(this, bufferPtr, width, height, { id: "next buffer" });
11040
+ return new OptimizedBuffer(this, bufferPtr, width, height, { id: "next buffer", widthMethod: "unicode" });
9626
11041
  }
9627
11042
  getCurrentBuffer(renderer) {
9628
11043
  const bufferPtr = this.opentui.symbols.getCurrentBuffer(renderer);
@@ -9631,7 +11046,7 @@ class FFIRenderLib {
9631
11046
  }
9632
11047
  const width = this.opentui.symbols.getBufferWidth(bufferPtr);
9633
11048
  const height = this.opentui.symbols.getBufferHeight(bufferPtr);
9634
- return new OptimizedBuffer(this, bufferPtr, width, height, { id: "current buffer" });
11049
+ return new OptimizedBuffer(this, bufferPtr, width, height, { id: "current buffer", widthMethod: "unicode" });
9635
11050
  }
9636
11051
  bufferGetCharPtr(buffer) {
9637
11052
  const ptr4 = this.opentui.symbols.bufferGetCharPtr(buffer);
@@ -9756,7 +11171,7 @@ class FFIRenderLib {
9756
11171
  if (!bufferPtr) {
9757
11172
  throw new Error(`Failed to create optimized buffer: ${width}x${height}`);
9758
11173
  }
9759
- return new OptimizedBuffer(this, bufferPtr, width, height, { respectAlpha, id });
11174
+ return new OptimizedBuffer(this, bufferPtr, width, height, { respectAlpha, id, widthMethod });
9760
11175
  }
9761
11176
  destroyOptimizedBuffer(bufferPtr) {
9762
11177
  this.opentui.symbols.destroyOptimizedBuffer(bufferPtr);
@@ -9816,6 +11231,12 @@ class FFIRenderLib {
9816
11231
  setupTerminal(renderer, useAlternateScreen) {
9817
11232
  this.opentui.symbols.setupTerminal(renderer, useAlternateScreen);
9818
11233
  }
11234
+ suspendRenderer(renderer) {
11235
+ this.opentui.symbols.suspendRenderer(renderer);
11236
+ }
11237
+ resumeRenderer(renderer) {
11238
+ this.opentui.symbols.resumeRenderer(renderer);
11239
+ }
9819
11240
  queryPixelResolution(renderer) {
9820
11241
  this.opentui.symbols.queryPixelResolution(renderer);
9821
11242
  }
@@ -9979,42 +11400,34 @@ class FFIRenderLib {
9979
11400
  textBufferViewSetViewportSize(view, width, height) {
9980
11401
  this.opentui.symbols.textBufferViewSetViewportSize(view, width, height);
9981
11402
  }
9982
- textBufferViewGetLineInfo(view) {
9983
- const lineCount = this.textBufferViewGetLineCount(view);
9984
- if (lineCount === 0) {
9985
- return { lineStarts: [], lineWidths: [], maxLineWidth: 0 };
9986
- }
9987
- const lineStarts = new Uint32Array(lineCount);
9988
- const lineWidths = new Uint32Array(lineCount);
9989
- const maxLineWidth = this.textBufferViewGetLineInfoDirect(view, ptr3(lineStarts), ptr3(lineWidths));
11403
+ unpackLineInfo(outBuffer) {
11404
+ const struct = LineInfoStruct.unpack(outBuffer);
9990
11405
  return {
9991
- maxLineWidth,
9992
- lineStarts: Array.from(lineStarts),
9993
- lineWidths: Array.from(lineWidths)
11406
+ maxLineWidth: struct.maxWidth,
11407
+ lineStarts: struct.starts,
11408
+ lineWidths: struct.widths,
11409
+ lineSources: struct.sources,
11410
+ lineWraps: struct.wraps
9994
11411
  };
9995
11412
  }
11413
+ textBufferViewGetLineInfo(view) {
11414
+ const outBuffer = new ArrayBuffer(LineInfoStruct.size);
11415
+ this.textBufferViewGetLineInfoDirect(view, ptr3(outBuffer));
11416
+ return this.unpackLineInfo(outBuffer);
11417
+ }
9996
11418
  textBufferViewGetLogicalLineInfo(view) {
9997
- const lineCount = this.textBufferViewGetLineCount(view);
9998
- if (lineCount === 0) {
9999
- return { lineStarts: [], lineWidths: [], maxLineWidth: 0 };
10000
- }
10001
- const lineStarts = new Uint32Array(lineCount);
10002
- const lineWidths = new Uint32Array(lineCount);
10003
- const maxLineWidth = this.textBufferViewGetLogicalLineInfoDirect(view, ptr3(lineStarts), ptr3(lineWidths));
10004
- return {
10005
- maxLineWidth,
10006
- lineStarts: Array.from(lineStarts),
10007
- lineWidths: Array.from(lineWidths)
10008
- };
11419
+ const outBuffer = new ArrayBuffer(LineInfoStruct.size);
11420
+ this.textBufferViewGetLogicalLineInfoDirect(view, ptr3(outBuffer));
11421
+ return this.unpackLineInfo(outBuffer);
10009
11422
  }
10010
11423
  textBufferViewGetLineCount(view) {
10011
11424
  return this.opentui.symbols.textBufferViewGetVirtualLineCount(view);
10012
11425
  }
10013
- textBufferViewGetLineInfoDirect(view, lineStartsPtr, lineWidthsPtr) {
10014
- return this.opentui.symbols.textBufferViewGetLineInfoDirect(view, lineStartsPtr, lineWidthsPtr);
11426
+ textBufferViewGetLineInfoDirect(view, outPtr) {
11427
+ this.opentui.symbols.textBufferViewGetLineInfoDirect(view, outPtr);
10015
11428
  }
10016
- textBufferViewGetLogicalLineInfoDirect(view, lineStartsPtr, lineWidthsPtr) {
10017
- return this.opentui.symbols.textBufferViewGetLogicalLineInfoDirect(view, lineStartsPtr, lineWidthsPtr);
11429
+ textBufferViewGetLogicalLineInfoDirect(view, outPtr) {
11430
+ this.opentui.symbols.textBufferViewGetLogicalLineInfoDirect(view, outPtr);
10018
11431
  }
10019
11432
  textBufferViewGetSelectedText(view, outPtr, maxLen) {
10020
11433
  const result = this.opentui.symbols.textBufferViewGetSelectedText(view, outPtr, maxLen);
@@ -10046,6 +11459,16 @@ class FFIRenderLib {
10046
11459
  textBufferViewSetTabIndicatorColor(view, color) {
10047
11460
  this.opentui.symbols.textBufferViewSetTabIndicatorColor(view, color.buffer);
10048
11461
  }
11462
+ textBufferViewMeasureForDimensions(view, width, height) {
11463
+ const resultBuffer = new ArrayBuffer(MeasureResultStruct.size);
11464
+ const resultPtr = ptr3(new Uint8Array(resultBuffer));
11465
+ const success = this.opentui.symbols.textBufferViewMeasureForDimensions(view, width, height, resultPtr);
11466
+ if (!success) {
11467
+ return null;
11468
+ }
11469
+ const result = MeasureResultStruct.unpack(resultBuffer);
11470
+ return result;
11471
+ }
10049
11472
  textBufferAddHighlightByCharRange(buffer, highlight) {
10050
11473
  const packedHighlight = HighlightStruct.pack(highlight);
10051
11474
  this.opentui.symbols.textBufferAddHighlightByCharRange(buffer, ptr3(packedHighlight));
@@ -10138,32 +11561,14 @@ class FFIRenderLib {
10138
11561
  return result;
10139
11562
  }
10140
11563
  editorViewGetLineInfo(view) {
10141
- const lineCount = this.editorViewGetVirtualLineCount(view);
10142
- if (lineCount === 0) {
10143
- return { lineStarts: [], lineWidths: [], maxLineWidth: 0 };
10144
- }
10145
- const lineStarts = new Uint32Array(lineCount);
10146
- const lineWidths = new Uint32Array(lineCount);
10147
- const maxLineWidth = this.opentui.symbols.editorViewGetLineInfoDirect(view, ptr3(lineStarts), ptr3(lineWidths));
10148
- return {
10149
- maxLineWidth,
10150
- lineStarts: Array.from(lineStarts),
10151
- lineWidths: Array.from(lineWidths)
10152
- };
11564
+ const outBuffer = new ArrayBuffer(LineInfoStruct.size);
11565
+ this.opentui.symbols.editorViewGetLineInfoDirect(view, ptr3(outBuffer));
11566
+ return this.unpackLineInfo(outBuffer);
10153
11567
  }
10154
11568
  editorViewGetLogicalLineInfo(view) {
10155
- const lineCount = this.editorViewGetVirtualLineCount(view);
10156
- if (lineCount === 0) {
10157
- return { lineStarts: [], lineWidths: [], maxLineWidth: 0 };
10158
- }
10159
- const lineStarts = new Uint32Array(lineCount);
10160
- const lineWidths = new Uint32Array(lineCount);
10161
- const maxLineWidth = this.opentui.symbols.editorViewGetLogicalLineInfoDirect(view, ptr3(lineStarts), ptr3(lineWidths));
10162
- return {
10163
- maxLineWidth,
10164
- lineStarts: Array.from(lineStarts),
10165
- lineWidths: Array.from(lineWidths)
10166
- };
11569
+ const outBuffer = new ArrayBuffer(LineInfoStruct.size);
11570
+ this.opentui.symbols.editorViewGetLogicalLineInfoDirect(view, ptr3(outBuffer));
11571
+ return this.unpackLineInfo(outBuffer);
10167
11572
  }
10168
11573
  createEditBuffer(widthMethod) {
10169
11574
  const widthMethodCode = widthMethod === "wcwidth" ? 0 : 1;
@@ -10444,6 +11849,33 @@ class FFIRenderLib {
10444
11849
  const responseBytes = this.encoder.encode(response);
10445
11850
  this.opentui.symbols.processCapabilityResponse(renderer, responseBytes, responseBytes.length);
10446
11851
  }
11852
+ encodeUnicode(text, widthMethod) {
11853
+ const textBytes = this.encoder.encode(text);
11854
+ const widthMethodCode = widthMethod === "wcwidth" ? 0 : 1;
11855
+ const outPtrBuffer = new ArrayBuffer(8);
11856
+ const outLenBuffer = new ArrayBuffer(8);
11857
+ const success = this.opentui.symbols.encodeUnicode(textBytes, textBytes.length, ptr3(outPtrBuffer), ptr3(outLenBuffer), widthMethodCode);
11858
+ if (!success) {
11859
+ return null;
11860
+ }
11861
+ const outPtrView = new BigUint64Array(outPtrBuffer);
11862
+ const outLenView = new BigUint64Array(outLenBuffer);
11863
+ const resultPtr = Number(outPtrView[0]);
11864
+ const resultLen = Number(outLenView[0]);
11865
+ if (resultLen === 0) {
11866
+ return { ptr: resultPtr, data: [] };
11867
+ }
11868
+ const byteLen = resultLen * EncodedCharStruct.size;
11869
+ const raw = toArrayBuffer4(resultPtr, 0, byteLen);
11870
+ const data = EncodedCharStruct.unpackList(raw, resultLen);
11871
+ return { ptr: resultPtr, data };
11872
+ }
11873
+ freeUnicode(encoded) {
11874
+ this.opentui.symbols.freeUnicode(encoded.ptr, encoded.data.length);
11875
+ }
11876
+ bufferDrawChar(buffer, char, x, y, fg2, bg2, attributes = 0) {
11877
+ this.opentui.symbols.bufferDrawChar(buffer, char, x, y, fg2.buffer, bg2.buffer, attributes);
11878
+ }
10447
11879
  createSyntaxStyle() {
10448
11880
  const stylePtr = this.opentui.symbols.createSyntaxStyle();
10449
11881
  if (!stylePtr) {
@@ -10606,6 +12038,10 @@ class TextBuffer {
10606
12038
  this.guard();
10607
12039
  this.lib.textBufferResetDefaults(this.bufferPtr);
10608
12040
  }
12041
+ getLineCount() {
12042
+ this.guard();
12043
+ return this.lib.textBufferGetLineCount(this.bufferPtr);
12044
+ }
10609
12045
  get length() {
10610
12046
  this.guard();
10611
12047
  return this._length;
@@ -12333,6 +13769,7 @@ class TerminalConsole extends EventEmitter8 {
12333
13769
  _displayLines = [];
12334
13770
  _allLogEntries = [];
12335
13771
  _needsFrameBufferUpdate = false;
13772
+ _entryListener;
12336
13773
  markNeedsRerender() {
12337
13774
  this._needsFrameBufferUpdate = true;
12338
13775
  this.renderer.requestRender();
@@ -12372,9 +13809,10 @@ class TerminalConsole extends EventEmitter8 {
12372
13809
  this._rgbaCursor = parseColor(this.options.cursorColor);
12373
13810
  this._updateConsoleDimensions();
12374
13811
  this._scrollToBottom(true);
12375
- terminalConsoleCache.on("entry", (logEntry) => {
13812
+ this._entryListener = (logEntry) => {
12376
13813
  this._handleNewLog(logEntry);
12377
- });
13814
+ };
13815
+ terminalConsoleCache.on("entry", this._entryListener);
12378
13816
  if (env.SHOW_CONSOLE) {
12379
13817
  this.show();
12380
13818
  }
@@ -12614,6 +14052,11 @@ class TerminalConsole extends EventEmitter8 {
12614
14052
  terminalConsoleCache.setCachingEnabled(true);
12615
14053
  }
12616
14054
  }
14055
+ destroy() {
14056
+ this.hide();
14057
+ this.deactivate();
14058
+ terminalConsoleCache.off("entry", this._entryListener);
14059
+ }
12617
14060
  getCachedLogs() {
12618
14061
  return terminalConsoleCache.cachedLogs.map((logEntry) => logEntry[0].toISOString() + " " + logEntry.slice(1).join(" ")).join(`
12619
14062
  `);
@@ -13033,6 +14476,7 @@ async function createCliRenderer(config = {}) {
13033
14476
  var CliRenderEvents;
13034
14477
  ((CliRenderEvents2) => {
13035
14478
  CliRenderEvents2["DEBUG_OVERLAY_TOGGLE"] = "debugOverlay:toggle";
14479
+ CliRenderEvents2["DESTROY"] = "destroy";
13036
14480
  })(CliRenderEvents ||= {});
13037
14481
  var RendererControlState;
13038
14482
  ((RendererControlState2) => {
@@ -13878,8 +15322,9 @@ Captured output:
13878
15322
  this.internalPause();
13879
15323
  this._suspendedMouseEnabled = this._useMouse;
13880
15324
  this.disableMouse();
13881
- this._keyHandler.suspend();
13882
15325
  this._stdinBuffer.clear();
15326
+ this.stdin.removeListener("data", this.stdinListener);
15327
+ this.lib.suspendRenderer(this.rendererPtr);
13883
15328
  if (this.stdin.setRawMode) {
13884
15329
  this.stdin.setRawMode(false);
13885
15330
  }
@@ -13890,13 +15335,20 @@ Captured output:
13890
15335
  this.stdin.setRawMode(true);
13891
15336
  }
13892
15337
  this.stdin.resume();
13893
- this._keyHandler.resume();
15338
+ setImmediate(() => {
15339
+ while (this.stdin.read() !== null) {}
15340
+ this.stdin.on("data", this.stdinListener);
15341
+ });
15342
+ this.lib.resumeRenderer(this.rendererPtr);
13894
15343
  if (this._suspendedMouseEnabled) {
13895
15344
  this.enableMouse();
13896
15345
  }
15346
+ this.currentRenderBuffer.clear(this.backgroundColor);
13897
15347
  this._controlState = this._previousControlState;
13898
15348
  if (this._previousControlState === "auto_started" /* AUTO_STARTED */ || this._previousControlState === "explicit_started" /* EXPLICIT_STARTED */) {
13899
15349
  this.internalStart();
15350
+ } else {
15351
+ this.requestRender();
13900
15352
  }
13901
15353
  }
13902
15354
  internalPause() {
@@ -13937,6 +15389,7 @@ Captured output:
13937
15389
  if (this._isDestroyed)
13938
15390
  return;
13939
15391
  this._isDestroyed = true;
15392
+ this.emit("destroy" /* DESTROY */);
13940
15393
  if (this.renderTimeout) {
13941
15394
  clearTimeout(this.renderTimeout);
13942
15395
  this.renderTimeout = null;
@@ -13950,7 +15403,7 @@ Captured output:
13950
15403
  console.error("Error destroying root renderable:", e instanceof Error ? e.stack : String(e));
13951
15404
  }
13952
15405
  this._stdinBuffer.destroy();
13953
- this._console.deactivate();
15406
+ this._console.destroy();
13954
15407
  this.disableStdoutInterception();
13955
15408
  if (this._splitHeight > 0) {
13956
15409
  this.flushStdoutCache(this._splitHeight, true);
@@ -14170,7 +15623,7 @@ Captured output:
14170
15623
  if (this.currentSelection) {
14171
15624
  this.walkSelectableRenderables(currentContainer, this.currentSelection.bounds, selectedRenderables, touchedRenderables);
14172
15625
  for (const renderable of this.currentSelection.touchedRenderables) {
14173
- if (!touchedRenderables.includes(renderable)) {
15626
+ if (!touchedRenderables.includes(renderable) && !renderable.isDestroyed) {
14174
15627
  renderable.onSelectionChanged(null);
14175
15628
  }
14176
15629
  }
@@ -14229,7 +15682,7 @@ Captured output:
14229
15682
  }
14230
15683
  }
14231
15684
 
14232
- export { __toESM, __commonJS, __export, __require, Edge, Gutter, exports_src, BorderChars, getBorderFromSides, getBorderSides, borderCharsToArray, BorderCharArrays, nonAlphanumericKeys, parseKeypress, KeyEvent, PasteEvent, KeyHandler, InternalKeyHandler, RGBA, hexToRgb, rgbToHex, hsvToRgb, parseColor, fonts, measureText, getCharacterPositions, coordinateToCharacterIndex, renderFontToFrameBuffer, TextAttributes, DebugOverlayCorner, createTextAttributes, visualizeRenderableTree, isStyledText, StyledText, stringToStyledText, black, red, green, yellow, blue, magenta, cyan, white, brightBlack, brightRed, brightGreen, brightYellow, brightBlue, brightMagenta, brightCyan, brightWhite, bgBlack, bgRed, bgGreen, bgYellow, bgBlue, bgMagenta, bgCyan, bgWhite, bold, italic, underline, strikethrough, dim, reverse, blink, fg, bg, t, hastToStyledText, LinearScrollAccel, MacOSScrollAccel, StdinBuffer, parseAlign, parseBoxSizing, parseDimension, parseDirection, parseDisplay, parseEdge, parseFlexDirection, parseGutter, parseJustify, parseLogLevel, parseMeasureMode, parseOverflow, parsePositionType, parseUnit, parseWrap, MouseParser, Selection, convertGlobalToLocalSelection, ASCIIFontSelectionHelper, envRegistry, registerEnvVar, clearEnvCache, generateEnvMarkdown, generateEnvColored, env, treeSitterToTextChunks, treeSitterToStyledText, addDefaultParsers, TreeSitterClient, DataPathsManager, getDataPaths, extToFiletype, pathToFiletype, main, getTreeSitterClient, ExtmarksController, createExtmarksController, TerminalPalette, createTerminalPalette, TextBuffer, LogLevel2 as LogLevel, setRenderLibPath, resolveRenderLib, OptimizedBuffer, h, isVNode, maybeMakeRenderable, wrapWithDelegates, instantiate, delegate, isValidPercentage, LayoutEvents, RenderableEvents, isRenderable, BaseRenderable, Renderable, RootRenderable, ANSI, capture, ConsolePosition, TerminalConsole, getObjectsInViewport, MouseEvent, MouseButton, createCliRenderer, CliRenderEvents, RendererControlState, CliRenderer };
15685
+ export { __toESM, __commonJS, __export, __require, Edge, Gutter, MeasureMode, exports_src, BorderChars, getBorderFromSides, getBorderSides, borderCharsToArray, BorderCharArrays, nonAlphanumericKeys, parseKeypress, KeyEvent, PasteEvent, KeyHandler, InternalKeyHandler, RGBA, hexToRgb, rgbToHex, hsvToRgb, parseColor, fonts, measureText, getCharacterPositions, coordinateToCharacterIndex, renderFontToFrameBuffer, TextAttributes, DebugOverlayCorner, createTextAttributes, visualizeRenderableTree, isStyledText, StyledText, stringToStyledText, black, red, green, yellow, blue, magenta, cyan, white, brightBlack, brightRed, brightGreen, brightYellow, brightBlue, brightMagenta, brightCyan, brightWhite, bgBlack, bgRed, bgGreen, bgYellow, bgBlue, bgMagenta, bgCyan, bgWhite, bold, italic, underline, strikethrough, dim, reverse, blink, fg, bg, t, hastToStyledText, LinearScrollAccel, MacOSScrollAccel, StdinBuffer, parseAlign, parseBoxSizing, parseDimension, parseDirection, parseDisplay, parseEdge, parseFlexDirection, parseGutter, parseJustify, parseLogLevel, parseMeasureMode, parseOverflow, parsePositionType, parseUnit, parseWrap, MouseParser, Selection, convertGlobalToLocalSelection, ASCIIFontSelectionHelper, envRegistry, registerEnvVar, clearEnvCache, generateEnvMarkdown, generateEnvColored, env, treeSitterToTextChunks, treeSitterToStyledText, addDefaultParsers, TreeSitterClient, DataPathsManager, getDataPaths, extToFiletype, pathToFiletype, main, getTreeSitterClient, ExtmarksController, createExtmarksController, TerminalPalette, createTerminalPalette, TextBuffer, LogLevel2 as LogLevel, setRenderLibPath, resolveRenderLib, OptimizedBuffer, h, isVNode, maybeMakeRenderable, wrapWithDelegates, instantiate, delegate, isValidPercentage, LayoutEvents, RenderableEvents, isRenderable, BaseRenderable, Renderable, RootRenderable, ANSI, capture, ConsolePosition, TerminalConsole, getObjectsInViewport, MouseEvent, MouseButton, createCliRenderer, CliRenderEvents, RendererControlState, CliRenderer };
14233
15686
 
14234
- //# debugId=3DCC34290CF7528A64756E2164756E21
14235
- //# sourceMappingURL=index-y49e47t2.js.map
15687
+ //# debugId=BFAFCEE33DA6D80F64756E2164756E21
15688
+ //# sourceMappingURL=index-rhx7c7kj.js.map