From 4a618cba0e9e5775ecf72fe13913dbe09a52ae88 Mon Sep 17 00:00:00 2001 From: marcusDenslow Date: Sun, 1 Jun 2025 22:51:43 +0200 Subject: [PATCH] Implement interactive diff viewer for git changes - Add comprehensive diff_viewer module with split-panel interface - Replace simple `git diff` in `gg d` command with interactive viewer - Implement two-mode navigation system: * File list mode: navigate files with j/k, Enter to view * Content mode: scroll diff content with j/k, ESC to return - Support both tracked and untracked file diffs with proper handling - Add color-coded diff display (green additions, red deletions) - Include terminal raw mode handling for responsive keyboard input - Add test files for diff viewer functionality --- another_test.txt | 1 + builtins.c | 3 +- builtins.o | Bin 64296 -> 64376 bytes diff_viewer.c | 496 +++++++++++++++++++++++++++++++++++++++++ diff_viewer.h | 106 +++++++++ diff_viewer.o | Bin 0 -> 23808 bytes git_integration.o | Bin 15312 -> 15312 bytes line_reader.o | Bin 53128 -> 53128 bytes shell | Bin 359752 -> 375104 bytes shell.o | Bin 48688 -> 48688 bytes test.txt | 2 + test_file_for_diff.txt | 6 + 12 files changed, 613 insertions(+), 1 deletion(-) create mode 100644 another_test.txt create mode 100644 diff_viewer.c create mode 100644 diff_viewer.h create mode 100644 diff_viewer.o create mode 100644 test_file_for_diff.txt diff --git a/another_test.txt b/another_test.txt new file mode 100644 index 0000000..7410249 --- /dev/null +++ b/another_test.txt @@ -0,0 +1 @@ +This is another test file for the diff viewer diff --git a/builtins.c b/builtins.c index 77899d3..399a877 100644 --- a/builtins.c +++ b/builtins.c @@ -5,6 +5,7 @@ #include "builtins.h" #include "common.h" +#include "diff_viewer.h" #include "filters.h" #include "fzf_native.h" #include "git_integration.h" @@ -1113,7 +1114,7 @@ int lsh_gg(char **args) { } else if (strcmp(args[1], "l") == 0) { system("git log --oneline -10"); } else if (strcmp(args[1], "d") == 0) { - system("git diff"); + run_diff_viewer(); } else if (strcmp(args[1], "b") == 0) { system("git branch"); } else if (strcmp(args[1], "ch") == 0) { diff --git a/builtins.o b/builtins.o index 65ec7581f807b44c473cad6d230c85cd8d3eaa38..b9a76ae55154bb7a3b4a31a61a3a3d764db54eef 100644 GIT binary patch delta 15357 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 DEa7|g delta 15149 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 R-m(JFds5) +#include +#include +#include +#include +#include +#include + +/** + * Initialize the diff viewer + */ +int init_diff_viewer(DiffViewer *viewer) { + if (!viewer) return 0; + + memset(viewer, 0, sizeof(DiffViewer)); + viewer->selected_file = 0; + viewer->diff_scroll_offset = 0; + viewer->current_mode = MODE_FILE_LIST; // Start in file list mode + + get_terminal_size(&viewer->terminal_width, &viewer->terminal_height); + viewer->file_panel_width = viewer->terminal_width * 0.3; // 30% of screen width + + return 1; +} + +/** + * Get terminal size + */ +void get_terminal_size(int *width, int *height) { + struct winsize w; + ioctl(STDOUT_FILENO, TIOCGWINSZ, &w); + *width = w.ws_col; + *height = w.ws_row; +} + +/** + * Get list of changed files from git + */ +int get_changed_files(DiffViewer *viewer) { + if (!viewer) return 0; + + FILE *fp = popen("git status --porcelain 2>/dev/null", "r"); + if (!fp) return 0; + + viewer->file_count = 0; + char line[512]; + + while (fgets(line, sizeof(line), fp) != NULL && viewer->file_count < MAX_FILES) { + // Remove newline + char *newline = strchr(line, '\n'); + if (newline) *newline = '\0'; + + if (strlen(line) < 3) continue; + + // Parse git status format: "XY filename" + char status = line[0]; + if (status == ' ') status = line[1]; // Check second column if first is space + + // Skip the status characters and space + char *filename = line + 3; + + // Store file info + viewer->files[viewer->file_count].status = status; + strncpy(viewer->files[viewer->file_count].filename, filename, MAX_FILENAME_LEN - 1); + viewer->files[viewer->file_count].filename[MAX_FILENAME_LEN - 1] = '\0'; + + viewer->file_count++; + } + + pclose(fp); + return viewer->file_count; +} + +/** + * Check if a file is a new untracked file + */ +int is_new_file(const char *filename) { + char cmd[1024]; + snprintf(cmd, sizeof(cmd), "git ls-files --error-unmatch \"%s\" 2>/dev/null", filename); + + FILE *fp = popen(cmd, "r"); + if (!fp) return 1; // Assume new if we can't check + + char output[256]; + int is_tracked = (fgets(output, sizeof(output), fp) != NULL); + pclose(fp); + + return !is_tracked; // Return 1 if not tracked (new file) +} + +/** + * Load content of a new file and show all lines as additions + */ +int load_new_file_content(DiffViewer *viewer, const char *filename) { + if (!viewer || !filename) return 0; + + FILE *fp = fopen(filename, "r"); + if (!fp) return 0; + + viewer->diff_line_count = 0; + viewer->diff_scroll_offset = 0; + + // Add header line + DiffLine *header = &viewer->diff_lines[viewer->diff_line_count++]; + snprintf(header->line, sizeof(header->line), "@@ New file: %s @@", filename); + header->type = '@'; + header->line_number_old = 0; + header->line_number_new = 0; + + char line[1024]; + int line_number = 1; + + while (fgets(line, sizeof(line), fp) != NULL && viewer->diff_line_count < MAX_DIFF_LINES) { + // Remove newline + char *newline_pos = strchr(line, '\n'); + if (newline_pos) *newline_pos = '\0'; + + DiffLine *diff_line = &viewer->diff_lines[viewer->diff_line_count]; + + // Format as addition + snprintf(diff_line->line, sizeof(diff_line->line), "+%s", line); + diff_line->type = '+'; + diff_line->line_number_old = 0; + diff_line->line_number_new = line_number++; + + viewer->diff_line_count++; + } + + fclose(fp); + return viewer->diff_line_count; +} + +/** + * Load diff for a specific file + */ +int load_file_diff(DiffViewer *viewer, const char *filename) { + if (!viewer || !filename) return 0; + + // Check if this is a new untracked file + if (is_new_file(filename)) { + return load_new_file_content(viewer, filename); + } + + char cmd[1024]; + snprintf(cmd, sizeof(cmd), "git diff HEAD -- \"%s\" 2>/dev/null", filename); + + FILE *fp = popen(cmd, "r"); + if (!fp) return 0; + + viewer->diff_line_count = 0; + viewer->diff_scroll_offset = 0; + + char line[1024]; + int old_line = 0, new_line = 0; + + while (fgets(line, sizeof(line), fp) != NULL && viewer->diff_line_count < MAX_DIFF_LINES) { + // Remove newline + char *newline_pos = strchr(line, '\n'); + if (newline_pos) *newline_pos = '\0'; + + DiffLine *diff_line = &viewer->diff_lines[viewer->diff_line_count]; + + // Parse diff line + if (line[0] == '@' && line[1] == '@') { + // Hunk header: @@-old_start,old_count +new_start,new_count@@ + sscanf(line, "@@-%d,%*d +%d,%*d@@", &old_line, &new_line); + old_line--; // Will be incremented before use + new_line--; + + strncpy(diff_line->line, line, sizeof(diff_line->line) - 1); + diff_line->line[sizeof(diff_line->line) - 1] = '\0'; + diff_line->type = '@'; + diff_line->line_number_old = old_line; + diff_line->line_number_new = new_line; + } else if (line[0] == '+') { + new_line++; + strncpy(diff_line->line, line, sizeof(diff_line->line) - 1); + diff_line->line[sizeof(diff_line->line) - 1] = '\0'; + diff_line->type = '+'; + diff_line->line_number_old = old_line; + diff_line->line_number_new = new_line; + } else if (line[0] == '-') { + old_line++; + strncpy(diff_line->line, line, sizeof(diff_line->line) - 1); + diff_line->line[sizeof(diff_line->line) - 1] = '\0'; + diff_line->type = '-'; + diff_line->line_number_old = old_line; + diff_line->line_number_new = new_line; + } else if (line[0] == ' ') { + old_line++; + new_line++; + strncpy(diff_line->line, line, sizeof(diff_line->line) - 1); + diff_line->line[sizeof(diff_line->line) - 1] = '\0'; + diff_line->type = ' '; + diff_line->line_number_old = old_line; + diff_line->line_number_new = new_line; + } else { + // Skip other lines (file headers, etc.) + continue; + } + + viewer->diff_line_count++; + } + + pclose(fp); + + // If no diff content but file exists, it might be a new file added to git + if (viewer->diff_line_count == 0) { + return load_new_file_content(viewer, filename); + } + + return viewer->diff_line_count; +} + +/** + * Render the diff viewer interface + */ +void render_diff_viewer(DiffViewer *viewer) { + if (!viewer) return; + + // Clear screen + printf("\033[2J\033[H"); + + // Title bar + printf(ANSI_COLOR_CYAN "Git Diff Viewer" ANSI_COLOR_RESET); + if (viewer->current_mode == MODE_FILE_LIST) { + printf(" - Use ↑/↓ to navigate files, Enter to view, q to quit\n"); + } else { + printf(" - Use ↑/↓ to scroll, ESC to return to file list, q to quit\n"); + } + printf("─%.0*s\n", viewer->terminal_width - 1, "────────────────────────────────────────────────────────────────────────────────"); + + int start_row = 2; + int available_height = viewer->terminal_height - start_row - 1; + + // Render file list (left panel) + for (int i = 0; i < available_height && i < viewer->file_count; i++) { + printf("\033[%d;1H", start_row + i + 1); // Position cursor + + if (i == viewer->selected_file) { + if (viewer->current_mode == MODE_FILE_LIST) { + printf(ANSI_COLOR_CYAN "► " ANSI_COLOR_RESET); + } else { + printf(ANSI_COLOR_GREEN "► " ANSI_COLOR_RESET); + } + } else { + printf(" "); + } + + // Status indicator + char status = viewer->files[i].status; + if (status == 'M') { + printf(ANSI_COLOR_YELLOW "M" ANSI_COLOR_RESET); + } else if (status == 'A') { + printf(ANSI_COLOR_GREEN "A" ANSI_COLOR_RESET); + } else if (status == 'D') { + printf(ANSI_COLOR_RED "D" ANSI_COLOR_RESET); + } else { + printf("%c", status); + } + + printf(" "); + + // Filename (truncated to fit panel) + char truncated_name[256]; + int max_name_len = viewer->file_panel_width - 6; + if ((int)strlen(viewer->files[i].filename) > max_name_len) { + strncpy(truncated_name, viewer->files[i].filename, max_name_len - 3); + truncated_name[max_name_len - 3] = '\0'; + strcat(truncated_name, "..."); + } else { + strcpy(truncated_name, viewer->files[i].filename); + } + + printf("%-*s", max_name_len, truncated_name); + + // Vertical separator + printf("│"); + } + + // Render diff content (right panel) + if (viewer->current_mode == MODE_FILE_CONTENT && + viewer->file_count > 0 && viewer->selected_file < viewer->file_count) { + int diff_panel_start = viewer->file_panel_width + 1; + int diff_panel_width = viewer->terminal_width - diff_panel_start; + + for (int i = 0; i < available_height && + (i + viewer->diff_scroll_offset) < viewer->diff_line_count; i++) { + + int line_idx = i + viewer->diff_scroll_offset; + DiffLine *line = &viewer->diff_lines[line_idx]; + + printf("\033[%d;%dH", start_row + i + 1, diff_panel_start + 1); + + // Color code based on line type + if (line->type == '+') { + printf(ANSI_COLOR_GREEN); + } else if (line->type == '-') { + printf(ANSI_COLOR_RED); + } else if (line->type == '@') { + printf(ANSI_COLOR_CYAN); + } + + // Truncate line to fit panel + char display_line[1024]; + int max_len = diff_panel_width - 1; + if ((int)strlen(line->line) > max_len) { + strncpy(display_line, line->line, max_len - 3); + display_line[max_len - 3] = '\0'; + strcat(display_line, "..."); + } else { + strcpy(display_line, line->line); + } + + printf("%-*s", max_len, display_line); + printf(ANSI_COLOR_RESET); + } + } else if (viewer->current_mode == MODE_FILE_LIST) { + // Show help text in the right panel when in file list mode + int diff_panel_start = viewer->file_panel_width + 1; + printf("\033[%d;%dH", start_row + 2, diff_panel_start + 3); + printf(ANSI_COLOR_YELLOW "Select a file and press Enter to view its diff" ANSI_COLOR_RESET); + } + + // Status line at bottom + printf("\033[%d;1H", viewer->terminal_height); + if (viewer->file_count > 0) { + if (viewer->current_mode == MODE_FILE_LIST) { + printf("File %d/%d: %s [File List Mode]", + viewer->selected_file + 1, + viewer->file_count, + viewer->files[viewer->selected_file].filename); + } else { + printf("File %d/%d: %s [Content Mode - Line %d/%d]", + viewer->selected_file + 1, + viewer->file_count, + viewer->files[viewer->selected_file].filename, + viewer->diff_scroll_offset + 1, + viewer->diff_line_count > 0 ? viewer->diff_line_count : 1); + } + } else { + printf("No changed files found"); + } + + fflush(stdout); +} + +/** + * Handle keyboard input for navigation + */ +int handle_diff_input(DiffViewer *viewer, char key) { + if (!viewer) return 0; + + int available_height = viewer->terminal_height - 3; + + switch (key) { + case 'q': + case 'Q': + return 0; // Exit + + case 27: // ESC + if (viewer->current_mode == MODE_FILE_CONTENT) { + viewer->current_mode = MODE_FILE_LIST; + } else { + return 0; // Exit if already in file list mode + } + break; + + case 'k': + case 65: // Up arrow + if (viewer->current_mode == MODE_FILE_LIST) { + // Navigate file list + if (viewer->selected_file > 0) { + viewer->selected_file--; + } + } else { + // Scroll diff content up + if (viewer->diff_scroll_offset > 0) { + viewer->diff_scroll_offset--; + } + } + break; + + case 'j': + case 66: // Down arrow + if (viewer->current_mode == MODE_FILE_LIST) { + // Navigate file list + if (viewer->selected_file < viewer->file_count - 1) { + viewer->selected_file++; + } + } else { + // Scroll diff content down + if (viewer->diff_line_count > available_height && + viewer->diff_scroll_offset < viewer->diff_line_count - available_height) { + viewer->diff_scroll_offset++; + } + } + break; + + case '\n': + case '\r': + if (viewer->current_mode == MODE_FILE_LIST && viewer->file_count > 0) { + // Enter file content mode and load diff + viewer->current_mode = MODE_FILE_CONTENT; + viewer->diff_scroll_offset = 0; // Reset scroll position + load_file_diff(viewer, viewer->files[viewer->selected_file].filename); + } + break; + } + + return 1; // Continue +} + +/** + * Set terminal to raw mode for interactive input + */ +void set_raw_mode(struct termios *orig_termios) { + tcgetattr(STDIN_FILENO, orig_termios); + + struct termios raw = *orig_termios; + raw.c_lflag &= ~(ICANON | ECHO); + raw.c_cc[VTIME] = 0; + raw.c_cc[VMIN] = 1; + + tcsetattr(STDIN_FILENO, TCSAFLUSH, &raw); +} + +/** + * Restore terminal to original mode + */ +void restore_terminal_mode(struct termios *orig_termios) { + tcsetattr(STDIN_FILENO, TCSAFLUSH, orig_termios); +} + +/** + * Run the interactive diff viewer + */ +int run_diff_viewer(void) { + DiffViewer viewer; + struct termios orig_termios; + + if (!init_diff_viewer(&viewer)) { + printf("Failed to initialize diff viewer\n"); + return 1; + } + + if (get_changed_files(&viewer) == 0) { + printf("No changed files found\n"); + return 1; + } + + // Don't load initial file diff - start in file list mode + + set_raw_mode(&orig_termios); + + int running = 1; + while (running) { + render_diff_viewer(&viewer); + + char c = getchar(); + + // Handle escape sequences for arrow keys + if (c == 27) { + char seq[3]; + if (read(STDIN_FILENO, &seq[0], 1) == 1 && seq[0] == '[') { + if (read(STDIN_FILENO, &seq[1], 1) == 1) { + running = handle_diff_input(&viewer, seq[1]); + } + } else { + running = handle_diff_input(&viewer, c); + } + } else { + running = handle_diff_input(&viewer, c); + } + } + + restore_terminal_mode(&orig_termios); + printf("\033[2J\033[H"); // Clear screen + + cleanup_diff_viewer(&viewer); + return 0; +} + +/** + * Clean up diff viewer resources + */ +void cleanup_diff_viewer(DiffViewer *viewer) { + // Nothing to clean up for now, but good to have for future expansion + (void)viewer; +} \ No newline at end of file diff --git a/diff_viewer.h b/diff_viewer.h new file mode 100644 index 0000000..a054834 --- /dev/null +++ b/diff_viewer.h @@ -0,0 +1,106 @@ +/** + * diff_viewer.h + * Interactive diff viewer for git changes + */ + +#ifndef DIFF_VIEWER_H +#define DIFF_VIEWER_H + +#include "common.h" +#include + +#define MAX_FILES 100 +#define MAX_FILENAME_LEN 256 +#define MAX_DIFF_LINES 1000 + +typedef struct { + char filename[MAX_FILENAME_LEN]; + char status; // 'M' = modified, 'A' = added, 'D' = deleted +} ChangedFile; + +typedef struct { + char line[512]; + char type; // '+' = addition, '-' = deletion, ' ' = context + int line_number_old; + int line_number_new; +} DiffLine; + +typedef enum { + MODE_FILE_LIST, + MODE_FILE_CONTENT +} ViewMode; + +typedef struct { + ChangedFile files[MAX_FILES]; + int file_count; + int selected_file; + DiffLine diff_lines[MAX_DIFF_LINES]; + int diff_line_count; + int diff_scroll_offset; + int terminal_width; + int terminal_height; + int file_panel_width; + ViewMode current_mode; +} DiffViewer; + +/** + * Initialize the diff viewer + */ +int init_diff_viewer(DiffViewer *viewer); + +/** + * Get list of changed files from git + */ +int get_changed_files(DiffViewer *viewer); + +/** + * Check if a file is a new untracked file + */ +int is_new_file(const char *filename); + +/** + * Load content of a new file and show all lines as additions + */ +int load_new_file_content(DiffViewer *viewer, const char *filename); + +/** + * Load diff for a specific file + */ +int load_file_diff(DiffViewer *viewer, const char *filename); + +/** + * Render the diff viewer interface + */ +void render_diff_viewer(DiffViewer *viewer); + +/** + * Handle keyboard input for navigation + */ +int handle_diff_input(DiffViewer *viewer, char key); + +/** + * Run the interactive diff viewer + */ +int run_diff_viewer(void); + +/** + * Clean up diff viewer resources + */ +void cleanup_diff_viewer(DiffViewer *viewer); + +/** + * Get terminal size + */ +void get_terminal_size(int *width, int *height); + +/** + * Set terminal to raw mode for interactive input + */ +void set_raw_mode(struct termios *orig_termios); + +/** + * Restore terminal to original mode + */ +void restore_terminal_mode(struct termios *orig_termios); + +#endif // DIFF_VIEWER_H \ No newline at end of file diff --git a/diff_viewer.o b/diff_viewer.o new file mode 100644 index 0000000000000000000000000000000000000000..d228ea7f8b298a50cf42b6095462cf16cd072add GIT binary patch literal 23808 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 XR#5g+S@ydN4ao;hR_b9cpk z*qPs%IdlGV&)oZo%b3Fq!Q?Lif6dmRq{aUGYY7Lw4S(h@scvbw;6O>+Ir;oKNe;tB zGE|kDn8Ix`Mjb6Wx|HQ*y0w2Pb5i?nSNZQ$<;-V;^~+7c`a*xEU;9^@0>6|6KP8Ah zZVn<#xxoLb1$-xKFcys)T4@>Sd(20;H=t8)gU@yWpf`<^=3HBlEA=r=5L+~&{FTo=S0|W;Uh6x@` zn)1HK2o7!K5+;8L4x{SH3_>45x@1x8hzQHXDT4mc*V0TA3~V_r%>{zN*rYVC5Il~1 zUL_cc zCI=QAxcKOhr6ysHXLs1@^7&nnSv?87HS#|5CxLH|eaiev;P*#AV*VuXosl=B$q}?i z=9xbhe3uKIwi0w;X_^t<8G$RI8R7dHZZm&Icz66S=FbT4OSI`3;g2EESnwkVGzokp z1szPYdYFIn{kH1aWG+O-sDUrclXBgJ{_&4u?#o6PB+ft#l1$tP30qXg8Ope#Gpd61 zB{Pb*Y^$BD0Z*L611mLKC{BtRNYQPr=%9|d-6o!A$q$e@6bPNNa5<}&>7+lg&~E2{ z3cY1w>7m+f|3Obhv2MJ^IWiQ=vzGPO$dJ-h0rAjM_;;8SPVhZx`U^w-zk%< z@$M=4VQM;m_B1or)1bie7W4S6T5o*-I`c|-ablAF;KJ#ax17iC`HuqjS>7h$&n|6U z%{TfdTvPTib_9wHVR4|oP?u&hdEFe70%Zv+@=+N=qsFW!XfmAiSC6<+ei{$|^5ll~tHPKwvWP04^4xV5Y$?7#L}20+|sryYaq(#RF&=%L}kxQd1NA zoLwjhbb{`g?*H%Z)Bl+_aTF0r^eT!XW6bYt(mUh7LZIoQe>~PS?NoX_W0O`n z2-h1@zQQ?)-OUjhFj0~O#xE9jNu~4!>lL*M_mldF@JR_zhJ+j1%ttSVynXT$YM)7d zU=G-jJ#Fm@kwN@9Y$n5JJr*w_fdZQsvp+!0%uE@V@wj?W=f9-`gN>=*NCzB;^ zNkO_va)fEID0_Wf1U38K=t!kKXk67xw~2d9i$)~(y|OL~1#W|t9eD0huJ9W{l6#yNaE~r1JmJ-Jku^6G7o7p=P_;Ws*BsCor(#~9V+A_ z;~gYSsIV4^Y%|?~e?#Q#GL0NDf5v*72Oe0k9;*6cu6XJ@uVP$_#}BoJ?zcYL?}<^~hdFTKD0JDx2A|e5zv#~cn0Rc0!@i^ZCs60M> delta 1685 zcmV;G25R}xchGmR)D3@Bq^ydNCoMEcu(AoFl7|S3`mj$L5Cx^+lOlrDGc)I&yDRR) z&iu~Ine(4}=H5?T#vEn{CVvU|YqgFfE%x7ETR8A-_%nY_^-9A92TIz`>E|y zp{m@(6mF9-8fekcr7SPgtNkmP)7pQ##($?KXE7VBUu_B2mok5Y+P~Hk_@ylPDM9o} zYYul#i7s?BQeF$-aZiF;J55nC9`w?~!JcQ6mZ~$Q+!9j#Rf`<|M2_8WhA~=LFO7LjX zl=nSBaAZ4|FhzfG6je`W5C#y^C5vLmL|7)y5DbRCmS&b;BnmZ zD#1uBC*d-|Q;~0_Ss)lsb;!sP!HG<#gc897s#_*_+Wk$M8w4j4du3#mU=pRS6Fe(= zWaLY_4XVO0Q*!YS8KHliHp}q+44kq?+Z34CYlGv-eMzd!mh^CyAtj=UjFj-WHL z$o#S3dtB(WouCU#(~R)$2wVxx2tUwtoB1=sd*gpGe@6H~qC?LJe++@ff*(VmN#J8C z=wOyL!km8}v{lb0b0I3m4SZpqlR8m*Ln(fv^*A&s!;o$#c)JRpDZEs{k$EQY}{sc=|f0+|7bk*I%pd z3#G1FQ0m|$9PK;Ifx4)0u}~$1t zdJ|gQJ+F3CF4aNHv$>Q^)y&QZFql4pzAHnBj#1}uMy6v=%pg!>+1S1&r|2k zLUle#rw!LN{kLxVL!p`;ZiNE2x4Kp&-VLqU-i@^)Ud*U~RNLEA zQkjlS)d+?L(pn+t&nW%tDm#l$*Y-Xy7sU$~SVwFe!y-J(0J9*++vI-Lj2uubZz{MgI3<+kzSVIjUGGk^p-Z!v#04-yA0oF@uYGR)= z3nhV0(7n_B|J^jv7vxVfZ8X-K$Dz9|>Te^B;m$SZ7*EHGo?DYGTEVyYziqM2E&3(Fgp)tj7_a|4ni zY`>;_g>z!FlOZx>q9pc=Uo7sBNa+erS2QZ@Po_tNPfB=J6K-fT7rm%?dt@gxJ`?{S z+-F^OwY42GQxBJDtsYX5n%5at=^APDM?;=Mhh#`pk$u-}Nm?@3fA_yASsuWERNCB@ zoMeOeh_J(w><)AhG|anDM=H&J^QvC5Mbu|TG$NVnmG)T7vFj{v!%K&*~gA z0nQg{@ELooMhc!-v)P2bzbGC^Y|Wh}VV8UILc4TH9i(91VG8c6iwcr%#f0V#74nhs zF5)LtSch1)nCZeHe{y!2MvhoGW3Awk1Lmyxs;-#LpS#X0gto)e$67=8J3ZR(iTmEv zJea*&ZjW(Y-6~BLLS%zmH8QPOI^bcgXUh+B%#xc~_J}?Z51oE1vQz7qc$VHq&oTce z+&3@RV%^1E&FKE-Pqe+tf6mRf`pH9okToPVt69b52&kpR7~IX6SCJPs{EfA*uE$Gm f=JXHu2fJ8$L9>n(A|e5yv#~cn0Rc9%@i^ZC*X=$Z diff --git a/line_reader.o b/line_reader.o index ce74f9be5a957954f9a6def8e15f1f94424a8c2c..39249f515d53bf5e153c9b12bb0aa71249ecf795 100644 GIT binary patch delta 2285 zcmV*p96@W1F$bVe?Ti#L?{G=&>|s5Xs|;8g-Rf3U_?p__EOO#HWitURjw$c z1;>ojM>-@Ka)56TrKq7`GydwS%%JF5*V;&@5q$Nej55o$MdohU>Tiw^g4z> zkVySqHXi$x1m3I4f3GB&=T}lzR%?JC#&+*a1ABG1yXYO|?k-C}Ux+wFxGMi;pauz^ z(d4{t=+!~8Yu+6135#cYbKNFQ=FRsZC6B-Y1W5u72r39HL{LLu5rP>6?nW@1z+wao z2rNOcl)z^YG!ytNg4G0;Ay`jfdHEsPX(OED4V?mR;OX>brZNh@wjZhPT=!6r-#6r#2d16fWXGsZ)J0kz(W&G$xbhUO_lG+ zP9K3bRM$^nv;UE71_^8_`-SYBCeV&jM+iLZU6h@(v{1fVc|&Gik0UeV6}WiM%W)UX zaoAp<3fEQ|fA`Bi`TR)thQS+Tp!e^UcSg8NV7G$7g@vyK@5tesx_bn=?snOo=Gt(W zD(*10+OUVNm5fo%~EQ*%WxXLO?=z<=FNUEsPg7Hyyb$)u^zqug1Xob zgxY_>%*5M5?Z04F{KrD=zu=D83$mF+V0P@NP@6HB6XQdD>j=!n(6lpyh8S!F+L^)P zlf6C{4-x_Gzu6s8UOT0iZ(t!0(uxM zzzs+hjyE8Pl7{#~3u0iz>L?8O`u0cTZN-d}6A*liv8I@3ZR{tvdQK_kIklLvu9&gD zm~mP$R#8nR z@AO_Y-_Q#16=s&{MQ+ArV=?8 znjbARN1mqT`jQ zs)8#K);ST9w;o}Ap}c9j1jN4HEJ(MuPO;BOvETTfP}q&qDz-}n<_B8zF|hS5;Qzx#%RjFS?hjf=pN{r zsONptOx}el9T?~m@R8+b9w+gI7(1Rc(@emk-z0+;{WCK|@vjYp8YB4{&zKo1-wl@Z zbF-8~$URg8mR*X@f3;%dJ9?rkRP`Nh4=c9?R$52UUK3fnh_lx^t5E7g7E8U7CpDHY zwcTQ=e_*Lwtvso>RB4}L+HZ}i(z9czpI6l9$E(sIMSYE_Un)wilDw&?ua055rkF;? zOY)D3={L;ur;lZ7P4GP5P8KjF?G!N`9FM8gP7%{tW-7DOe;>p2mSSoc!?aW}^^V7M zk77E{Ov{TheaP*oVrsYfbo32$-MYRTlI*sR1cmGS-(%yc!?DrD5`J^ zx80IDx?K#|vn>ee@???QH(3@#3{xwaN)0QxY_8}c7hBo+Te;(Tq1Q|#r=xy*vl#YW-K?S z;O92Cjp1T~ZS)BGGRy2Ox5&9t)a28;%W7rAq&A0|m#FdKtPr0>eM9&YSUr37sd}qSUi|IiWNHIW zIMs;>y~#gYM>>jNPt(+k(W{uSP+Z zeGRBLZQ3p_J3C1&O}Xq`p!_=pZbN@GzQ>Dnwo~whbfJv@55l44GUgSexWiH@&TM~d zs~nv|t8!p1##_WiA6+L?xSP}MrLp@GJvcVFb{0lh?KPAa{MDM=y+=HgfWJy)Vl-#J zr+ypiJU4LrwQ{V}Jy9Y#wl-X|ZZ0E+I2`a1pom8qju7l)c%ET~VBcB^{tpCnZ*YaP HWkn;37MXwp delta 2285 zcmV*p96@W1F$bVe}EOLA`}8bXps;jG}xhlLM0G1Fe0S|d#Pv=O+}{TgDV!& zf@8+%BOQ@s+924bW2Df5f)u88%Jemv0XqHBY3)=yopJiu>#_H_H{5t;ID3C!5%0Zp-;e{DNi{TB3MUYS@}WPX(O<_v{!bv61W#tfA6eA(1M_%&!Vvv-m9{c zC9pEMAe%h|R;6L#hP zr;k7zs_Q4P$^Te3g9J90{X%w55okxLBLp7yF38RqS}5PGye>1Z$B~)w3S7Jw<+uyx zIBYLag=;H~fBR&ge14>R!{7}v(EInwJ0sl1uv@|4!opXAcjV9w-8~Flcbn`^b8R?G z6}KB(Y}iBa7}S{5*wlE`B&n&PW(hUjWjGDrCcbTa^JYH~RC#k9-g3d@SdZR+L0#+z zLhZj`X5t;8_Fph7{$ru`UvPWuCD}|Oa7XNjP@6HB6YWEN>j=!j(6lpyh8S!F+L^(k zlf6C{4*~)0zu6s8UM`3iZ(tk0(uzC z#|=mojyE8Pl7{#K3u0iz>L?8O`u0cTEyawJ6A*liv8I@3ZR{sEdrm3lIklLvu9&gD zm~mP$lPGK+Z&u$0(j z`LCXiYmTMIB`mLx!FrO69VFv6U%Jc&ouiE!y{36F z$=F&)@8tAuWQarxmI>V|TBnvvvkS*(0vMij{38*epS=dP#!;|F$fFLVSh@Z#9DK^b zGh^jW5$;rYm~fX9z+5xejIi6mZ@-ya#V|u~iE!bLK@m+39y0aZt3{*&7SZHXfwv4A z-L?CxVz~<1hOW&DZgo_Qf0f+g_&O&t563q$VXfmWb3(%9n(!q>SnE_%)|}-O%2H)D zRlyYq>zoM5TZgc|P~J3M0%Bih7NlESr`TttSnvZThPQLajuZWZ$}q@=^(Mx&bALJB z6>S$A)c6RGe@Pko+0bTsa97&7(UV=CqMmP3`@5*zSMAv?Vz(Iqe-T!0bR*7s+>A7& zaMn8%=4)h-4z0AFW`x5Iki*kvK*Bya-la>tRTUUs-!P+E2^yX?V>IR8taYCbBR zxmn5~A5k~FDmMD<5lUPqQ1)1uN0+LN#0P@SH>`1RZJt} zCHY6i^c!aS(ZeHK@Np{;yg2MHEa*VTxbW9D+-&q~J3)pPZE!^?E|EH~;(o<;^jj(ZW-K$O z;O92CmEj_SZS)BWS9);Qm$99O_zI^+s~)5P*F3ggzGxif9KbFlIfGfc0s9~)v2AGGRy2ux5(L2)a28;%W7rAq&9_`7pw8%tPr0>4BS>+pNj1a0Qav#4maMPtnv1(JPqUD8Y-Rtq3o7>SP+Z zeI2MbZrmm=IXg%#O}XTpr~EqwZbN@GzR!zvrc>~RbiR!L55l44GUgVfxZP4I&TM~d ziyWOotFnI$##_imA6+X`xSP}MrLp@GJvcVFW)?VD!Jy9Y#x+Yw+ZZ0E+I27;^pom8pju7l)c#dI)VBZ=E{tpBPw{U*5 HWkn;3(pGF_ diff --git a/shell b/shell index ed2ba6ca4ee93f71165a7984e4e2c8612e7cf6c9..7d8ffb34bf5841154487fe4e522f04a564c53564 100755 GIT binary patch delta 130070 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

o&Z*^0L|D8@`-X?vn<9|w^8 z@C_5y7z|oDfk*sH0|Mkc1iF_Nm>3Y)Aq47_7U&lc(7C`YJTO5K&ZJ-~ySFEHSkL~v z)}dT(-_8bpuh*ibQLBc6zv5dFl|ZfM3w~L_e^2rQwI1;zo4&WJ`onnk_1c*G{} zHCw|PeO-iF9zrE){P_^p&-I0METQ>p&TA*KH*%&AdxkJq;%mD^)nff6ZbGD>lOXtS zNPa^>v8x*iwdK8HPEr<=U8UZ z5~5>wUg9U4MTvo?UonOy9qE}cWDM7kZzEF04`4?S$=A75k?4-e zBLQKQT#Vf`D5YkhSu2ntf6i26Tp6zf9^Z?mw0ORLj=7F?3>rVGMBnv?QjZlJE3cj%&i+1DPYoZ% zYW(n`dgoa=%i@psPgqS# z4tx=xIX_pV+TlbV@lIcw+bGsh!S&CuUB^eL2cBcqPo$`~hqB2hq9gK#!dB+|JPY%em^r`DGOH{K$t##aM@oVzL)qvbyQnLkW!XQ@AC}aK+gCml_5&S8M{}V3 zSivtZ`E~sr>Se*V2!3VB4`k|)VQluvRCQA-J8`mE;+O>995jHe+E}_dmXfnhts6_EGZLTGbN_bUy7s zJb4nbjav%zvA+hhuTGC|Q6|+~!8Tkzaf~cEFef;kWENPmo(A87|20C8-JWs3iYxGk}+LTGCeqnJ>vaLDu1wb$bqj%o@Q`erdwk z*>BYa1K7ZGFR5ke6wWT58?L_jBQ{;vxVH9hb8CEQ(3n+qaPmd>=^ZetLe?oN) z=$-!T{P}L`!hx*zg)wTs{%q54O)D32AN`u$`m;S3YBspt*VnRx_@Enc3mcte>IN0S zC*hU|} zE!hAzF{S29?niy3GX--DsHGn}aq+3j^GMd`7{1!=!$w|?R@e32-2ay*iaMkZ!Zn(m z`?aF#=`AByadX-Ha!SamY=5?l?Zc{HY8vu<0BH%mOA+b|RvzM4tlZ^NA+BcSA^u1f zFI{!_;vpW~7a?xOUiz)08q^4?r3%s(abFb^oLn%;wlc~&x;dwD|m zkJ9U3VNWE770cnvF|B%GeY2Ami3z!(1NJ-Y-=D`KNox%hA7I-mx$WNq0NYYf3Gdol zS@M<1PgLrKF@nCqMo!~nq+^iaH_P~m9^6W5fA%DHIG*Q(oL`M#;Tb4N7-sB^$?VRR zhHB;$tmYqGY-33X`N4(cBlB()8$ae*^aO259wG^Vyb^9tVt0(py9u<+#2uN;e7C0o za53h|o>Bj8bCXS{2EkKIGRV&S5gz$lH=jcPr7A*Olm?XK+#Lb>#_m&QnqC^ESKcX{0uMn}vB}s&s|bf);pA$Y1Yp z#Rt93x_N7Q z9Bqs=LBAV^Watto>PfB^)w;CW86*-iq~0nv_*x^iL}&A_#a79EymX2AI+YmlKHxx! z1%05mOJ|p^MX8@~f!?X51TuG%bC#L-^c8QMi<*7cRYVmGs^}JwSeql4>D`Ivq|ot1 zHmabSI;$(2Td>h~r+9tmE>wc4wmGyE+ym1bf%=|3-%I8z9`7;k{l_>JV~YqGFrAsH$irhWE(;Dm1Mmx ztkR#&L#DjxuWYBTY~P;^LlOf>xvp&XpIt%@aQi$UdlI?K$^ha_WOpDVD!^sB3z_-> znb1U*{#QbXClJ`fUD&q2Zq)gEC6yl7u9)2kfpyw3lJnMz?#d3{=v6tTBS$d@aBOQ zrRLD$qpakY@W2F|t(3s(-E7_W1c%+8A3H#tz7m$=$4%m2845!to@@_s`Z{5Y)PKE$ z+?(mxk!`>EgPM@QmfTt$-i0AVzF~pK_kIG4za3Yj2<6f6n}8xa{%UwD_PzEj<8~W$ zV|%vc_So3$mq!B$b zeGJn4HlY4NT;bITDi-$vhl!GQ9s7id8|_$5QM4M~nw>8i)V~#%*Q|6BvH7ztRDHKe zGy7TblLYX=nOcaeJh7{KzcoZqG%dOF{NY(2$6ooTW}ky`RCL7NW#ouv2^gMV%5Z(? z=KBqMgyGl7uoJgvNUsHP?9x9o5*BhhdjQ|c^g$)-FQ68`pUycV6vz6j5d z)-3NqyC()x!7_FDw+Zk#v88YR#Rx@91|Oq7806j~LyqURU;`e;wm!fMkY8VL&)10H zhAw`W&oe@ceg%_)Vr#*&AJz?DL|Ui@3`)0pw`QjwHd6b&#!4Q>G#JoAP7>aCxRHps ze-(2fjy>_HkvgauoBXI&_$~)GxFcY2Q5;+QC_$~(oaH_0q;71%!i(d|e1gG8uTx!Z z5D`&MXwYjf(uLhE*`i|HLN{eO#o_AVrtEa_X|-F^&0my!j^9?JpDJ>N)UYd-o#Jiq zzagBH;9pt7aRrMni5{GCfE-9F@WBs;Ae6^UJdZC2p`nbPie|(_1y;gw6aQDbwUIEqq53t>MXn7 zrkt|a)*&Mh1y_7aqFjkB=w#SQe5x+JF}aM2rY|}pRPdd=D2x{6g-)>0@ohfFK!vY0 z9@xm1oRG=`#qhQmmNE;K#W|sRe6Z3adOOLuv~66JnnH{@JL>2!2P@6vkHkRSeh5l< zL5og!K?}!uhv7;~p_*z^9a2ZngJpGcj2={8Y1HB70`ej-huy|dCpL(iz&IM4H=_s} zf5uJSrnrti3i(jGA%yYW0*W;E_u=5^@9$D-=$pzbUDdrYB7ugeJb}nnWN&3&b|7)* z)X^JOP@06?pHDvV%&S*NA6`L;3ON&iievSK6_nWE&k2HK`d3ZV>guO4`hg0{Ry8wL zpI1?-tJ-4p?27ndqxjnT&WcLs)U)caIYMu%+VG8{#*#8uD#-~ z`fs&_t(^hr%UXIaNxd3?(xudp0F+ou@BWz5W>RbbDu(A6U7ttIkIoT+SY4f0ra+R* z1bIc0^95Nf$rl9~Ggs)26r@#>Db@8~A5*@mao{1?_!&N~v~OokjFsZyQO(-==1}Er z_0h}vlVM8j$1lDt>?B0P2ZtCb@L2`20`G-5=-#YD%>cdISclAL{dIE_lOjEJ|{!q7#3c zP6|A=u2kjAlLZ(84FYQe0^f6iS!%&BpNPv!HX^3$A<;@THM5F-y_%A!o~o)hi&7fZ zJqmdQzvyEsZ8x1Pvv6N%w@~r$ePb2wTI3=ujJ!MQao2pj=c?%MM=3EOj;VhCzOJJG z5T!&l9v6UIRe08E-sQYWh2O%d^XbB=-j(%+(aLk-&!7-IGdC3fLKS^gv=Wz)TAAl* z4_;9@{tXP{SSNvbx`%R-8AV!#=}L8_j_M54>sMFOZ8q+f)L$kPW(mwQ|1r|H=U=2# zL@q}IBjQLd?Bnh>ak~jqUmMN05ZH$X>;+FWK&QPqMcWneI#`B5_YrqMTWC=5c!7z5 zI3|QwZ;Fw76kNBx9W@&M3M%iVA1e3Ut)$Pbp~R{`RnphgP@>fxmGtd3l;-L?q572? z%1f$RNgq*D`9giFq8?I9nN#LW1&q=!)>InkU)EB}sv9ck+iNKe)r<=IueFpX)ua%; zRc$4*M$}(Cd*@CT*&BtTM8BRIs;AXf+N&v(bVq%qR*fAMc?7>1PxAKsUqOlFo%)!b zTU+U<9;l#Kh*5@=|CTC@74HE3^%%?%_86sabr&hqq7s7wP4uxc54V=ruf-_I>R%Q0 z*0D-t)5z=Go7of1-b|r5IqhLm@2_(Dv{=QV{$5Fc7^|!-w+xlVPrT_r#wvC7opqEd zv9Dj_mTr@~=#_zbdEkoE9;HvK3DLC9il+7{t4GvD1;Wbe1L`U*)JvMapf1Li-5Q0e zn*L2)rK0+_w*6pTWuKys9LwX;)vcjO1OguIw8U2me4qUb7;gJy*?dTd4@Z+L#*hsQ z)-TsrTB^Is=-~~N;p&uNeR>0>k@~%+uWo?GX&0;)G*F%?_jWm|R*?QzBc-#xq@l7_ z-C0&Y+ek^#XEjoutYbs^+V=a_q+l6PiZ7)A1J_eosj(z;cHiQ!o zANVTiO2I~`_Sc~JPQ?ho16?}AiVBh>Sgh% z_u&@ZCHKK=?v1H?xgu&94b>HfK7^s(4m@Y|zh)i}P4Q9EYAVFn95L{!a-7oGx@8D? z6;g$mE^Qo_2{?cHA86Ch*13dO0dFly+4f2ZItvCfWqx?l`4^Eu8Q` zGPHqNl$JwL_IXsBV|jk2bsIWeGF}zWZ-o?S~rk} zb1Sj24B7x$o?JGWUAu}<9V|O)`qgLq)L((D(?tv@E~jcb{L7BTQ1i`BNXiIK;@8Dp z+8izzsMxc_a%yAF@rrqdQM0-2Df+e6O5LDoMa6n(8znNRF~ZWgjj~^T__Th#jZ!P< z`Fq8BrMAkXpt2B|+g2$~T*=GO-b^(_=>5AqYF|-Pz>U!$v7+pNZ#!w-=3Kd+J0Jhq z5WS?G64UH$@C$5kGD|8%{SOMS35B2mcZ>Bp@k&)SO#qLRf`3SKd)~go$!tEl@85%N zBY%M>>mGM(#bAT8Ywi^5Z^kQ4gI2)mzIdfx(1g3i+poqe)s!IHo#O3E2PIqy8h^W3 zkLsut1|29Y)+;6`t%7btFEK%B88jNmiwVlHpn87+>7;xfG~>@={m)Ly>~ckTRSTbD ziOGTH&7i~Ai*>!T(je%4TdG`& zEs^^*ME!Hn|RT>4IL-@)*t|SJ}B#!TH zt!D85RK(+m*TTn>LQkn!! zg?Q^E6nOVqu|6zGIUe*qE}C~!S_c(+i?^qB!(vdKaaEt!9qaaU5A@HwE7gPdJV39* zrj~t{e)6o-CwMqeL{(;^C2V?>|0=b!2qYGgL1AUs>y!T%Bd|W z)}wnUwSr&0j3m}Z73*DlDAgi|LJSRytxx{d8NU-6T&z#(q4XMX{vUGSXB-1BzYf7K zDOnxb4g#IpS9F3pZQ;y!gfsgRHKa z6(|t%Ax7`cil2GFE42_z;KaO*sC^!4;!LXK(Ecf+qQx&wKyArwiueV96kn(IH||97 zd(v~A+I3tRB8SJ15VDE&h^G+0k>J#hkjN^G?)$(xSSE}Tc^lb>;a~8hW;;vh9aaR; zsl5u=88V-k(r@4Y=V0dwH2HWwMQjUNL;4w#ju^nD>Hp~PWt1yAWC%cEmrq!p7vRZ3 z?eT~Db3L)<8}+-syr+^7w(TBOBXsd-ysPBYcHGm?^i-Z!vo7hadMUNlln45NUP`@= z&5&Nsm1}PM8@W0F>lpmv8UK|^tFlkFt5`*NYFwgP-@UJY+6(szLBHw8dMORmHNWY% zdnxUn`UqTyJqOk>$l=I?r&<4|ig(4abj6*nJd)un4$n~pix%+PXfVL9$dgV)g}?PV zR;6WlBsPh?GX>`)Zik%_hwkdTtV%nz>+kwatI|4r^{;xJ!2%<7N)`Jg+z@hvV2 zNZGlPeliqof(Z=rAxpSKV6}3P3u*WnY@T>-G=ujVdF|4k?jB;W_U^Cx>wT1}{S!`9XN1vmO2plCil%B^5zHv*gg_b$mro$(*Q zphIYPk_<5|M}<4JFj=8sRLHH3L$UOirT6HE`GI~hm^$OLm}{L{eM#X3T#E;HmS|FK zkVNf9Vr*rM}! z8UnTuC8DOU?dF(g5gMdG@qJV%KA0`ibDvb|tDoQ2|9(<=Mm>H(A22Od&rh29GShBU)_fv7=B3S zAPp=0Nr-<-|H3)k&|Vp!tgH3bS;#r;OCbmG44n4RyMr`NymD4wpQ6~*ch2Yy24e20 z-$h?FP^ne1JX8t>Q0%+tQwJ*5s$9(jKrfk)IOJ$*2C zU;q4B|7U~})9@Itvj2Uh-LPa>UyQ?!lrv=bHT~VeO05bG$QI1P|63w0rgDp|gvDw- zORL`SlIj&NS5>Q=)^`t9>eagV6HMTJtS+bo21hZOXK~RbUi}eDQ9jUHPf;56b;7vA zPL=hv{TsVeTAx2fGNKhJXZ%4Ad98yCy1dW+3Yy6GotXA1=wF}KU8#6^v%x9-t0_vP zo|CF99~5(v%Xqd5nSA(;8AFTpfTl)Si-!f?DmY~BPC;QcX7$Cd$YP_9c=VGYZY=~9 z{dun5A+qds{r#tv$x&~jZB4YsO81cM3n`F1-~=C zJTBh8SByQBLk_L*3K~@_D~eja24<0~Xg%JJE?=|Y{#&lV9-iPiM-u#JBfz0f6eC^$ zb$kBIEtPI>k@=8iSM+;Bm0IdIKkAXsAZHfC$iH%?0~c*^h3Aag=Y(EoDt3z7xez|?LP7p6D@IY6XcaIq81ciLQ0sSm z0YWr z?0$YlH1QWlskTe6@FpJkgWh$7GCryrf%fsHCcbo848m8Akjmc6Vh}!kR1Csf;Vg}3 zG}9nNAHjqnL<90EM9KML5S|WM8iYGZi(R?JC}FW$tJ11@zmn?lU&SE&;HVgc4<7!H z4mF31PW@GMsAY#mhnjhWcc`w5TKF16>>YoCQqiHl{)}L}#z7SjbGg{A94RSc);dB1 zZ&UrkNM&r3F29I~ThItjtt%*s`0|@KX?S}ajYwmaTZ{Nb40O&krAGG$vX!>;K6>_| z=%X&EI3xCg!WRKJD!G_Yobfwx>F=xWbME#_qOZOIJEa*I!!PlMY;ahg zI0}8W;2<^R^QMN}ipD6F{p&CIBIEgnG&DvMl>M)PBeUPeh1{NxQINl7{e5**z{HY6 zysr+pAp7deMg@$~kaUJblDw(6)DGBq0ybn{4K{mw@4VmJO5EE&(CpmXi{MCaPm&Pz z)%y_fyX(|G0PYNVo4BUZ-zQA;)r0Vu_tjY>9WjYZm+q@GfEoL0<^k%f!{CXzuj*-I zl!|SuK%U0v(|=LUgoENa;|7ULfg0tEQ+t4YW~6{a`{SIVCrwal>iBZEM)zYf<3#p+ z3LzTdS3U-nh%8V}?JXQ-_Be6r&z|X=yYv^4J!4>}RQ5cDyHr|z4Z{Bz=hRyK!n5b^ z1Nz&~BYVF6jtp z7vM;5KOiB>o};Lc-(CE-wZNSr6Nziep6P^%(sg*uv!^FXM|9!RrL(68Fk|)%h9?KL z=J3RnJH0PnnL^0%O0s>$u=MUyYtN3~Bo z&zro-clx*&u;9LtqvyV$gxkJB+LUVK4X6F}+nqy-I!RF2mV+b1mdSljWp}uJ3K~nw|qdfKjPTMHV)ro5gbKQWAUa%n>xsuu22S5A04ddQkqXZ*wFM%Vy zJT@P2twUSZBY)+t%}Y7@Hxrb4>ZLtm{yMyu&tG-+)b&+L%wNT@ zhxx1AI&xpmrUP>6_;^2!j zB1OL3O)c#>!&Bs`y?Wv#EDoXwv=29p3csBei-SMDC6%1hVsUV0w^$r(+e7W`UmSc4 z6NZSVoTTRNc~UG6Wc#p2-MZm~FU?}7>Q9ok$j zn*O6$9JqFg;LiG1EDkbbN(c8-l#1YPepdu{BURvkS{&5=mKF!8^=!EiroKu$qi%Z- zga{Xw0xJxS0nfRzhyLDlC2DvNK~MEzDh>jX#i!H{Q*kZ+sy(iJwO*AMPjWJ&< z?EiCS?iSX(znAA>&&-@UXU@#MGk5OX1d$PsMLbD92Blj+!5DlC`vP4v=uYFcHFf&} z|0Wgljz6#P{iz77!Z5)i1E$74{yr6fwfrYp_vw3OU`-H2wwcC0*Z`A{EtBf@@0Tp(NS8?ncXhYoViluj$k|B_BNQCA1#}4_BOJz&C5H_H4T5DFveIEwt*OCk z%5rgZ*k68NS20c(S`a!pgm)f;!D{;+o;pSet#DM~ZlqUy_VTS`l*Bqq z(4t9LoyGgi_@X(zAm3dwCw{=Z1wk#DbARHoX-Ydbb|?Qb4Nq>S|HM<%u`A?knzE7| zh7sw?M=Wd)Ka#H0?`(jP&~Qz@mQ5NuEE485DC20}T5F@_P!O5AUc?+Ti^y^k_o$Qo zzjyEsW0me76_D3Th+Vf(h|LXf6k7xfq~X7lEhfBbZt}b($ZW5_C+*;`#wtzNt{?cl z9ZGPyQ38MBkTbV9K-X| z`+2$tgV@FpTT6=lMHO2e+y_Mum`&E_=+cP?hIwv7Hec5dS^9g_O(^WCW^q0iQdoJ$ zU2k`_3|0S8NX0iGwoZ-Kvvj7J!)+5kTLM`G?KLk>9i4} zzXZAN3sF!-97Z;}OfpLPk(@orqtcU8`wNmDxA>MXl~7|j7-xH414rG*2mq(1b+$Zs z!7D1db10-!OvL2?U$n;!tMF#mEwpI=8r}OxP~bUC#$`~iAQA9&9bn<>*~ro#FbfGI zg};&jL9d{BueCT6`9~|#hPr`FI8-q6*&?}%VBkGVM?cye8eP0 z-!kDOTxU77PIgJ!Ay%s;Ng!30`}OAtT6xNw7g*?&H|${%_=2A|^3#))3jXiBsb0EL zz^g83u!U=l*f$fqiPtnLk#z^>L)*dzShKY>lywYvx`D3pghIzn0$qa0WSqjMyYjio zsD##SF64`iCRVdLeFwJJEPYsxz6hf}_P-G8k%`#KuKR-u^bb$)dqySD?+@zuA`bS7 z^8F{c`(!1^eHC(|;TNCaRZ(Ene-A=5Z5Cb=rx7=a%*8m=5UNCAlspY|EQ&t}mZlIY zf+a!(OFd*MbbMv39Pkv5YWIuPQB&aEBza7q5uXF6V40gkMEXiZWb%ykB3fIpY~P4r zIc5u%c!58>7Y_*3U^zr0Ww3lr`p}JRv9j8R^i?@6Vdk$X$O6_9ENx&)`f(8~toLy~ zYKo$-a)adA2ZuAPk-<^(xC{>Lxskz9xSsErg5dC#bq@QPOc5K=KKhk&*Bv6JT;WOmu?-9ojHV}5ArZFvSB0#O5Js?|dM6$-m zKoW-d7?Pte2j(1IGzmO1@e@?bjSBQ0__ahM4IBKKQE{vJ7B!O5a`z}v-N&zm3eVEB zNM&|2mmJ+GAVm1&9TnkItug{xgbz+oun(WEu;f3&XU;m_H&ZF2Zx1;M*kMpg%wn+h zHAh$dC^rG6iv+3{|9hrVn(xn4ycs*n&t)p{9v9b=jdbBSafG{0Q^KN4K{v){dR)Hj z2+Zy(jz~OwpE|ZUZsz4g18|d%@Q%}z$oOQ?K&SWYFJLMio%uy1u&o5=hga#w-|>~x zlz`xUZq$VN1tZo_l*kJ(4n)^sYJPE=qOV(U7@FHd^Qol6_n;Zui6}46ww?xNyS?6_ zsDiv!?>)@JvXuIMS>!&tnO2V;O5ebTW+~xl zDEQJBm*PCWYPu5Z^*8Q+QI$fxq^y5%i2pWSiS#@|Wsu;HM+Jwt%M2xgEkDGgXJ8`n zK9@%8I;2Cj{cbch$dFFj9c<`+UUE)DLekNwW)kPR+>DV@0a}V;pGnEnAnmC7{ z*E|Dnm#w%mmleEwwh~v_&zV{-tIu2NH98lW8!U5XoxqKhxz{>{Z_8F1HX1n<#ioWo z3GCs$718hH4RJmU5uy6%HI`s7P#q)^lkSk96dl~@TOKOqCLT?Wvk(_+JWqcAN|ONQH<_VFs7 zF0+1HB&_IEY= zNM>KC+23T=nQD#TI78V4lg?kw@0aK}HM?168>!jlGCM=f&Rxt`&Qs!9x=+lYAJ9a{rKn#(GS%XOIcR7}=3)_Ty5Ud}`V~}sBvq6yNwr>5MXM^JrHW=b@{>>2 zb6LFb?cc`+{XTAQU*Sh^_!BeF|4IqhUN&nM_&y4+F{lIyK3fM%HEE4OxejZ337tUcj&gz{79ia4WGpA-|y1 z0)BFl(%5H_YKvODoA=#{9XfFwFIBZz#Cvk30jvELU&67y$p0(8k1MsJM{dZ|*b=HJi_m&k*ipqn&?l_U*^RCMXPD)x|xuUv|;DQGU=wN&{i zZXu!3h^pX4CL6WGV%WYpyK8=}^w6?VbNHO)%9`dkh}NVtVV5-N-9JlYpQ_ng*&^$V z)1e7_US<KXE=6|Z5wrQl71->wD2G2(qC4rRVQi#J_`#g^VP`KVP&f94AQRZ6wsZlr+b0-eOzW|c8% z29I2=lxeVYI(0H9$U@(wL2}RE!WXjgzs|5~!hylS(4#Ze0sCg~wAD&WzdnM&R^ERG zKf78f?^oBMyz&grzQyf?=S<%0TV-FrQ-4XPzs?eE5KS&X8wAO0Gd1fbvRQYjvL=0z zD7EQ&0<7u@lm01?cJ^J&;-9ZkS_Y*%@O%ND!kYAsRQQ&@{{9PuD2p zd>_L`JCS>*@$|K*@)BXX&5VB2__?*Ha=Jr#+%&FTrx<M7JKjv;IGJxQdu`-{HYjD=Up0~^ z)i){ey3}Nm?IWVb{jY0i$UXmkc_dg5@L7p84z1f!JcNLxh!bBvsTLR8>31a zChDS_t!6)y*_~>(z0AH*vyEi-6=gf2Mpb1#9;aDT1r0LWS}WO1WcFJ%`_Cld zoU3Z~k4e1kMx|=_4K@Eg&;>QCh?);l9mpr~#T%9W{+wtqOo>rUI3Rv1_x>K|f(#Jc zhxdA*lJf2|XDT^8>l(Sm)KHpsSe!g3@xw~s8>sxWrCQ?KmcUn3@$Oc9tUcb?u(V2G znImfo-0cY(daC%&Rsn?~Dl7&zR`K}6tZKlS68H)#zNQuby&c|YYS>UE=wv0xu_G`w zOjq$8t@vRj@M~2(o`_mJPy%mK@gH09u{QjtaPeW4z*Yly8v*d^RXi5)RRx6<^J)_z ziZ*3XV2IW|_>?Y_DBEDKa*z~anz`K-uOqwyIRMwBwZIJypmtg zDcx!wHBVDy#e2qgf2Vro7i>%C#vheX_R(1W&5ugus4*bG4Fs*o&Fn$*poVW$57?I4 z?tICg|EL57yhKGZUz>4^8D>j@3dhEL$s=|sy0pfbn_N7hYMaX*dYi+19kJ|c~e+O32;<>-93^A|gnvVAo6nmp3T(wDfs zc>18kb^4z%!tr-d3dc&b?#Qx>_GM?NEJt@0Gbn0+v*~yhb`S0a`;8&JRr&s1inp<~ zJx5n?NR_oqs%#*|SF$IrB#BM(i{&-|N0L*6JL)OWyP-6%`5E#AV1?NQ2C7~6`LKGQw1 z-j9vSTPTxOHiuqD`3x9gaN8|>#~$2wml?&c?Lkj_x0$>Aq||MCyd?;-_G5mSt=qnt zx`Fj8&7*~3)@->E@Dw&3fD~&K0+?!Tyw9inqyz@k6#f<~_|{KR`;6jSe^NRc185Al zG)&o%aE;K1xY7V)=N)I@;K~>G?C4*RRt(?vWw%9H)-PlUUSSd_+f8Slz%IP|hOl^_ ztqeiWJPVb2dH8w+&)ut(Z=Gc+SMN2G!JYHX9wAz4K;%A8EjC9V71AIK1$V3kqy+`% zQ#qEqf(HEvL}s40P$$AL`e^oVrZ#xwqYorCCY>LE-T3?f)F{;m8`Q|XB+HK6wR6G& zD#K!MCmEy%NAfBAaFA7(RQ~lorALR;DcG5n_>8Uq+vwsXdW2_Nl7P`&T&~1xiK{_Z zk|tWxh~v71T?La;c+>q#En~qQGFUwtO^nh1!U&9)?Mq6?Bf1h=JU`GfQ_|RJc{B_U zIW{VGD)I{+5FZZPC3`dZzx$PDtlMy&Z~zCfbsol34=Ay${4oCY0mb0|EnPrLD1APZ zUpRnA4d0~j7YDGMmphcl9t36S4=DQ#<)0r^$_LaNO3ozN4blmb=ke{6u zPuDGzZlTQ8mATn6*F@$rZ}GnlD%C<7wWqGr@FRh=Kj&&;DzA4)2@M#88q<8W5(L%| zRQUzJ59cX|l&Gi>G9^39g+yi^Ab=a770%=x-9I

    7odobNe=gV4r^yl9a5!}wo^ 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π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

    Osncdt1PEPOXQ| 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 diff --git a/shell.o b/shell.o index 6cb9719403b10c9c0399cbb179b6752e9f0ecbc2..80237fbf5485f9001ec6c0ce4db616390babd499 100644 GIT binary patch delta 3125 zcmV-549fGc`~tB20OgOC1~R1gZ^a?0~)*AWa!*EalHAW|~z0q0DC0|9(mT;S!rivc7z<(w7fqR;d22O27YT zW~u6rWI;YVNa(35-)c1H_g|`ozBO0ltpZ8A(kEg2$U^cSpfpC zEWCsFH4M{>fKq^De=^BCL7BiX_#5QEQHUf!qsIgDW*cHaV18h!8XY)41YCjy79#Kn zT!0`=;6em>0v92eL0}Prxdav?SV&+Af@T62BWNLT34%5Pmm*k0;IfL#IL~ziE>B#+ z!A1hhko9e6Be()Vdc+`IYw#*=*h^qV_!Zu4C(ss$V%b4pe`WLz-rPlC6^^-^!0Ko_ z2mJ(Ybl%|20D-Tiy18bEKzrtP4n_#9Lw5TJtPg$8oBaejlH0lF5P=Oy^%#M!;J3Nv zIIVFokb!l={ScV#R^qxhbG-#(Tt{Gq>&S%*d7o@LRc|v`0}Zr(Kw6hG>wG9P5LmGA zT8=(z`5?fJoL&TQVDwN(3f>90E#BqzXZV zK();eT9KznjlGA17=gSK;b1<2S_BJOvVk{Y81kegc-IhB_S#-YcJv+uUiKXsj8~a} zz5u!Scf}EF0-o!66;_^~wmCqlD3kzp(+<*ve{LqK464E}fGfwu!L|9swE^ik89nIF zQXTkPnaq+`gLR!21oOu901T~vTn%lAK+y>>E#xQIYm9*v<pQ8Y`8ih^c|<;$V!;{Nj*h7K^=>mq;ST=kK(Tc*ZyF(l9^TP0eloqm zy)G#F7LS0Bb zYfxA{m9SG?ut||HeHk{HG&b3E2nWmxLZm+p z$&gW6ITNMNf)tWY(%h#mfY(6^+epXVT!m9K{#8m@HF~HCfGzf`=3*bGt#XNHHSr`$ z6*1yjMLdaoCQdx#E@tp14U=%CE$1ciEFHz0q_|XfkcQj|I`}YaspRV|8MMVpf0J>j zi;PD>3>P29QbU1fFTix1v}KYotoU{44=rjodGIp(6fB^F^AVSGaaljnoltlpz3Yhj zw6IJk^qAGiQ#BtAYy+K6M+Z;o%fRq+H9r5i?gHwPVjZ6WNG*C*{WrMS8a0G*ZnK7K zHwebFct?K-X8c^Ocktu>5f51^;M>0cw zlkav=i$ZnOITNx`U9RJ}C2HKcYPNJILO*jJ1JIc^Z0}XDF2CM-->(yEKXnM z*~pT~yFCjOnK7f1$Q&a-uSh)RlUpI$=b~cJt41xQWW1ND7-wlEF}`l(iQW*oeN*C7 zzT4|X8v}Zq*dL5WqIagpcPeeT{yn3P^dIzqWU@&&`@*OulaG7Y{~>0ZB5#K#6M2;K zPQAEB zP4|pHU5nvjsTVgY?M6Q<%ZxZ_Z{^<<2v6vE`zRuooG)K4<~yO+(DI$>qZ-g<#S%7+ z5ZIc<{e?0VI7axwaxiEvQ%M^VSzQ?ynSD)99Kd}rQcy&%f6`PKzt`h5$qrwgD_xnl z^m077iY*A=)6D{TgRq8Ix!%`n7F4;M=2kp^#*kMpFDp@LsR3#5~7wn*xS{Wf2&#CS17}WvBtuSIQc7m&7ndWRl(kgRge`iYQz7KRj^l2<83DLeNc}O z+^B-OMYKbIljOo$CU}e@jg8z zIGVS0ce0&2#>-vcd^>fIU?;-+sf>Xix_?m%9r1kke{a~*{mztd|Dsk$hushr{x39f z^!HQE9oNLwFd%V?@W*8Tk|s9JV-ky#V;|uYnz%ZKX#C64{|MnR>3^TZNpTfPTt)aZ zu~D@dgm;ksmva7}^$DCNyr1w%sUMYC@H<5KjGX^aK`r{FqTQRsRr|Xpw(WC$ezhML z?fYcIf8^#n)~6O;o_~DDXu6p7cwfnmk@G|=&__V}7@K0AtH~y#i{t%QQ_hps#RYMy zbe`Sf=_%$~Mm8Iz&AWa6f4;m{rlp(RCg(ZRS8^#{>KhbvaTtBj zCpKoAhA&?EqlvyYe1BT(oHnf~94VNc-CNm8&4#zMS^Vq>)#fTKF@}O2M@ewC z7OTJ^$Bq`v4ZWRgwPu4qvv}%xvbcr>d;!}LuhGK0(O^WlSgU!!%Pf9;#6LGri3`r$ zf4ZfY^=N7MbHgn5iy;TJG`w`p;?Pll$kXCsWOi-e#(qGX+AIzng}Vd)c!z1}kM}73 zbK!}!_+NxUFUqJUef>+9$!X0nc0L5AMYVc(v+{k_?veF5VqX*Xw4B)Y5-&IxS73w! zkI6)wZZ~i3+RW;;2yLaoVaf z{m2-xjE`H0X45C!ChINg?SaPA>%kcAv^;k-BP1VW`K{}F*?9^0TMjN< P#{LV?cI(8m2|p)))g$~p delta 3125 zcmV-549fGc`~tB206ctF+ia~+~LfKq@&e&S(Rc%N)KRc{Me0}Zr(Kw6hF>wG9P5LmGA zrC=R;#2r%oeoU7;anOuIyELWL25i|a?~_a(;vrS_|@@i;x|a; zH)vm76GLuQi&i! zpvvY4t;kcP+TO!Kj6lwbaIkx(5d)HGI1(X9co>iDg-)# zY6L{ff5{;zVRN^Coh@<$!JQ>yj2kLCS6mwbjd8;WC=@q>fI@K{1Qd$vA}Aver7cdt zLqO~A#t_i@yJeA;YRTP16e@lmOF&du)?UOt$O&RGvMEJs(BgP8V~}@hyv#c?7_XuX z`T}I*-xWu!33#68m0LM}+GYVIqfi3aO*u#tf4b?YGN=r{0InPp2iN4vt_?`XiReLp zma4$tN@SM2YOL#&Aeb{|24HC2<7#Mq1d2|886iKxUPBD5D5u`cke^0xR*3jn`?-My zG{}9U(ZTy)!4R}qc`z0fj$>)up8{lXN6{=XDhiqIc+V>tH|*YD#=hIcSc+6v+NG7uF$rgW(gT5_KW< ztU+Pbbi(TCgt_U2HPZ=eldx-jVFW&9e|6X-F2SZeiA|D(smriQr?APSLO5V{5F-6) zNQR8kibj+^3sOirNwc520A2?vY$F|ab0tpE@K-5iRp_BQ0Jhk#Y{WiJTj>(dD&k3$ z%45W{l6VsNbewp`UCiK38YbaNTh2@3**c0hOL4L8APu<_bns!;GRfClI%JELe=q5z zZU~HL^N#)y%=o!l@tW@-nI}O1e+2S?eMzdvlH*)5?yFu1$TZG*XU7%qCS6DL{oirBcRY4mq}c=dJ*aPys?Y}*(qTtz1(MD<3#GqveMdaPR(xi zvXLQ^cY78pGUG-CkvT?wUXgg*C%00x&qc+cSB)A<$wV(xG0xVCVtn1m5xrq@`=-RF ze7Dz&HU{)Ivp*OOMDI+G?^N1w{d-0&=|AWJ$yAeW_JvVJCLi~(|3l0+McxigCGsfc z$uUKqKADb4H%po2f298miCEz8Jm_g_j1p=8EzxQtSb>+T3jD27wD3QGJW^&MoqA!d zn(i5Yx)#I5QZH;$+D(2|mK$->-pap85T4NS_EAJEIbW_+%y&YsrsX@+M>U|!iY06s zA+R+I`|~9zaE$PUrC`upqLMZ&vbriRGW(idb^!OmXkHP$e@atf{9cdKB>lcRTf8!F z>7{sZ6%EeJV+GF)uO#4jwCF~rBS#)@7p{q zSR5uBSK18vL@)Mdnq`QY9?lodBMsgrALmIQ!+F1i7D^}GY_Zgj_;ch~Q8Jboj;OId z-h`nKD=-U=e^#@wFJFQWV~vFubMjaEnnU>#s)D_fs~{s{)JFaxt6;C5!rM&b`=A~n zxJdhsMPx=b9{kGj;qQ9$NTi8 z;Aq~~-N|<97%z8$^X=3A15bj0)Bf4^Z%_dAoq{fk;H9d^T1_`lG^ z(LX>ncU%)!!=S`T!XK0UOPbg?k4Y>}j(vnrXyWP^rtvRJ|D%M*rT={rC&X1GaV6o; z#75O-5$-4bFXj9{>k~Ldct7EjQa>iK;CG1d89D!kgoNP8pn|J&Ce|>qaOiMSrP0n+sujo>|)HlfM;xPK4 zPi)LK4PU(SM-zQ*gUaN(7qrs?fu}<@Vms$Auh<|RL5*M7g ze{E|o>(Ns1=Z0Ar5JL`VDR}9ch2f+Akf+7N$n4s&o&A6|wOJTE3U>$o@eb3{AMa86 z=fV>y@xKUzUX)Qy`udkHlhc}J?0g7Ji)wZ7X65^;-6QLB#J(o%X<4!FC0=+guD~b- z9+QbU-EQ96wT0Db5z>#7zESR5k*FmSe^0ct6bMdAb}uV-UvhS3H+8a;S#k4hO{3); zVmi1L7x_2hz}P3CC(ajwZ$w%s41yCLq?SiX@J$=$FbXHO<{%5F#k2TSFKYi}yBUOJ z{AUSor;G!_1cwM$XXFZK6w;Us=|NeQBV8E^X{=hD`{?2gccHN$@SjOt}las^TG{{s%bW9v>bOdD +int main() { + printf("Hello world\n"); + return 0; +}