UNPKG

cowsay

Version:

cowsay is a configurable talking cow

420 lines (314 loc) 168 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.cowsay = {})); }(this, (function (exports) { 'use strict'; var ansiRegex = () => { const pattern = [ '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[a-zA-Z\\d]*)*)?\\u0007)', '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))' ].join('|'); return new RegExp(pattern, 'g'); }; var stripAnsi = input => typeof input === 'string' ? input.replace(ansiRegex(), '') : input; /* eslint-disable yoda */ var isFullwidthCodePoint = x => { if (Number.isNaN(x)) { return false; } // code points are derived from: // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt if ( x >= 0x1100 && ( x <= 0x115f || // Hangul Jamo x === 0x2329 || // LEFT-POINTING ANGLE BRACKET x === 0x232a || // RIGHT-POINTING ANGLE BRACKET // CJK Radicals Supplement .. Enclosed CJK Letters and Months (0x2e80 <= x && x <= 0x3247 && x !== 0x303f) || // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A (0x3250 <= x && x <= 0x4dbf) || // CJK Unified Ideographs .. Yi Radicals (0x4e00 <= x && x <= 0xa4c6) || // Hangul Jamo Extended-A (0xa960 <= x && x <= 0xa97c) || // Hangul Syllables (0xac00 <= x && x <= 0xd7a3) || // CJK Compatibility Ideographs (0xf900 <= x && x <= 0xfaff) || // Vertical Forms (0xfe10 <= x && x <= 0xfe19) || // CJK Compatibility Forms .. Small Form Variants (0xfe30 <= x && x <= 0xfe6b) || // Halfwidth and Fullwidth Forms (0xff01 <= x && x <= 0xff60) || (0xffe0 <= x && x <= 0xffe6) || // Kana Supplement (0x1b000 <= x && x <= 0x1b001) || // Enclosed Ideographic Supplement (0x1f200 <= x && x <= 0x1f251) || // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane (0x20000 <= x && x <= 0x3fffd) ) ) { return true; } return false; }; var stringWidth = str => { if (typeof str !== 'string' || str.length === 0) { return 0; } str = stripAnsi(str); let width = 0; for (let i = 0; i < str.length; i++) { const code = str.codePointAt(i); // Ignore control characters if (code <= 0x1F || (code >= 0x7F && code <= 0x9F)) { continue; } // Ignore combining characters if (code >= 0x300 && code <= 0x36F) { continue; } // Surrogates if (code > 0xFFFF) { i++; } width += isFullwidthCodePoint(code) ? 2 : 1; } return width; }; var say = function (text, wrap) { var delimiters = { first : ["/", "\\"], middle : ["|", "|"], last : ["\\", "/"], only : ["<", ">"] }; return format(text, wrap, delimiters); }; var think = function (text, wrap) { var delimiters = { first : ["(", ")"], middle : ["(", ")"], last : ["(", ")"], only : ["(", ")"] }; return format(text, wrap, delimiters); }; function format (text, wrap, delimiters) { var lines = split(text, wrap); var maxLength = max(lines); var balloon; if (lines.length === 1) { balloon = [ " " + top(maxLength), delimiters.only[0] + " " + lines[0] + " " + delimiters.only[1], " " + bottom(maxLength) ]; } else { balloon = [" " + top(maxLength)]; for (var i = 0, len = lines.length; i < len; i += 1) { var delimiter; if (i === 0) { delimiter = delimiters.first; } else if (i === len - 1) { delimiter = delimiters.last; } else { delimiter = delimiters.middle; } balloon.push(delimiter[0] + " " + pad(lines[i], maxLength) + " " + delimiter[1]); } balloon.push(" " + bottom(maxLength)); } return balloon.join("\n"); } function split (text, wrap) { text = text.replace(/\r\n?|[\n\u2028\u2029]/g, "\n").replace(/^\uFEFF/, '').replace(/\t/g, ' '); var lines = []; if (!wrap) { lines = text.split("\n"); } else { var start = 0; while (start < text.length) { var nextNewLine = text.indexOf("\n", start); var wrapAt = Math.min(start + wrap, nextNewLine === -1 ? text.length : nextNewLine); lines.push(text.substring(start, wrapAt)); start = wrapAt; // Ignore next new line if (text.charAt(start) === "\n") { start += 1; } } } return lines; } function max (lines) { var max = 0; for (var i = 0, len = lines.length; i < len; i += 1) { if (stringWidth(lines[i]) > max) { max = stringWidth(lines[i]); } } return max; } function pad (text, length) { return text + (new Array(length - stringWidth(text) + 1)).join(" "); } function top (length) { return new Array(length + 3).join("_"); } function bottom (length) { return new Array(length + 3).join("-"); } var balloon = { say: say, think: think }; var replacer = function (cow, variables) { var eyes = escapeRe(variables.eyes); var eyeL = eyes.charAt(0); var eyeR = eyes.charAt(1); var tongue = escapeRe(variables.tongue); if (cow.indexOf("$the_cow") !== -1) { cow = extractTheCow(cow); } return cow .replace(/\$thoughts/g, variables.thoughts) .replace(/\$eyes/g, eyes) .replace(/\$tongue/g, tongue) .replace(/\$\{eyes\}/g, eyes) .replace(/\$eye/, eyeL) .replace(/\$eye/, eyeR) .replace(/\$\{tongue\}/g, tongue) ; }; /* * "$" dollar signs must be doubled before being used in a regex replace * This can occur in eyes or tongue. * For example: * * cowsay -g Moo! * * cowsay -e "\$\$" Moo! */ function escapeRe (s) { if (s && s.replace) { return s.replace(/\$/g, "$$$$"); } return s; } function extractTheCow (cow) { cow = cow.replace(/\r\n?|[\n\u2028\u2029]/g, "\n").replace(/^\uFEFF/, ''); var match = /\$the_cow\s*=\s*<<"*EOC"*;*\n([\s\S]+)\nEOC\n/.exec(cow); if (!match) { console.error("Cannot parse cow file\n", cow); return cow; } else { return match[1].replace(/\\{2}/g, "\\").replace(/\\@/g, "@").replace(/\\\$/g, "$"); } } var modes = { "b" : { eyes : "==", tongue : " " }, "d" : { eyes : "xx", tongue : "U " }, "g" : { eyes : "$$", tongue : " " }, "p" : { eyes : "@@", tongue : " " }, "s" : { eyes : "**", tongue : "U " }, "t" : { eyes : "--", tongue : " " }, "w" : { eyes : "OO", tongue : " " }, "y" : { eyes : "..", tongue : " " } }; var faces = function (options) { for (var mode in modes) { if (options[mode] === true) { return modes[mode]; } } return { eyes : options.e || "oo", tongue : options.T || " " }; }; var DEFAULT_COW = "$the_cow = <<\"EOC\";\n $thoughts ^__^\n $thoughts ($eyes)\\\\_______\n (__)\\\\ )\\\\/\\\\\n $tongue ||----w |\n || ||\nEOC\n"; var ackbar = "# Admiral Ackbar\n#\n# based on 'ack --bar' from http://beyondgrep.com/\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n ?IIIIIII7II?????+\n ~III777II777I?+==++==+:\n ???I7I???I7II++=====++===\n ??+??????????+===~~=+++??==+\n ??+??II??????+==~=~~=+++++==++\n I+?????????+?+====~=~==+==++?==?\n ?????II?????+++++=======?===~~~~==\n ,?????II????????++++====~===::~~~~:~\n I?I??II?+++??+?+++==~~~~:~:~:,:,,:::~\n I??????+==+???++++=~~:~:~:,:::,:,,,,,::\n +I?++++=+=+????+++=~~:~~:::,,,,::,,,:,:\n I??+?+====+???+++===~~::::,::,:,,,,,,::\n I????=~===++?+=+=~==~:~~:,,,,,,,.,,,,,:~\n =??+?=~~~~??+?+===~~==,==~~~~,,,,..,,,.:=\n II++==~~=++++++=~~=~,~+=?+?=I?++=..,.,,:\n IIII?+?=====+~+++~=~~~:::=~+~===:,,,,,.,.::\n I?=?I+??+=~=~?I?=+=~~~::,~~=~::~=::,,,,,,::\n ?+I??++=++~,::+++~~~:::,,=~~=,~,..,::.:\n ++=+?++~=:~::I+,~=:~,:,,,,:~~......::~,,,\n ~=~=:.++~:,.,~=::::.,,:,.:~,:=...==~,::\n =~?++??+=~~,.:?~.:,:,,,.,::,,~:=~=::,~\n ++~~:~===~:~,.~::,~=~.:,..,:,,:==:.,:7\n ~~,::...:=:,::+:~:.,~,...,.,,,,::~,,::~=\n =~===+=~~,.::,,,:::,..,,,,,,,,,,,:,..,=+?\n ~=~=~::~~~::,.,,,~:.+,..,,,,..,,,,...,+I?\n ~==~:~~:~~,~=~~:,:~,:,,,,,,....,,,..+?I?I\n ~=~=+,:~:=,:~~~~~~::::,.,,.,,.,,,..~+????I\n ~=~==~=:~~:,~~~~~:::,::,.,,,..,,,I77I?+??II\n +I7:::~~=~:,::~~~~.=.,~,,,,...,~7III?+??II7\n 777?+~:=~=~~:,::~~:::.,,,,,,,,,777II??I777777\n 777I==:=~::~~~~::~:::,:,:~:::,777I???777777777\n 7777+,~===~:~:~~~~:::,.~:=,,:777II???77777777777=?\n 777I~,~~~=~::~:,:,,,:=~~,,:7777I???I7777777777+=++\n I7777I,,:,.==::::,:,,,,::::7777I+??I77777777777??I7I7,\n ,77777I::,..~~:,,,,,,.,:~I7777I+??I777777777777?I7777777,\n 77777777,...~~:,,,,,.,77777I7???II777777777777+?7777777777\n77777777777:,~~~,,=7777777I???II777777777777777+77777777777\n77777777777777777777777I+7?7II77777777777777777+777777777777\nEOC\n\n"; var apertureBlank = "# Aperture Science logo, without the text inside\n# via http://pastebin.com/1AZwKrKp \n$the_cow = <<EOC;\n $thoughts\n $thoughts\n .,-:;//;:=,\n . :H\\@\\@\\@MM\\@M#H/.,+%;,\n ,/X+ +M\\@\\@M\\@MM%=,-%HMMM\\@X/,\n -+\\@MM; \\$M\\@\\@MH+-,;XMMMM\\@MMMM\\@+-\n ;\\@M\\@\\@M- XM\\@X;. -+XXXXXHHH\\@M\\@M#\\@/.\n ,%MM\\@\\@MH ,\\@%= .---=-=:=,.\n =\\@#\\@\\@\\@MX ., -%HX\\$\\$%%%+;\n =-./\\@M\\@M\\$ .;\\@MMMM\\@MM:\n X\\@/ -\\$MM/ .+MM\\@\\@\\@M\\$\n,\\@M\\@H: :\\@: . =X#\\@\\@\\@\\@-\n,\\@\\@\\@MMX, . /H- ;\\@M\\@M=\n.H\\@\\@\\@\\@M\\@+, %MM+..%#\\$.\n /MMMM\\@MMH/. XM\\@MH; =;\n /%+%\\$XHH\\@\\$= , .H\\@\\@\\@\\@MX,\n .=--------. -%H.,\\@\\@\\@\\@\\@MX,\n .%MM\\@\\@\\@HHHXX\\$\\$\\$%+- .:\\$MMX =M\\@\\@MM%.\n =XMMM\\@MM\\@MM#H;,-+HMM\\@M+ /MMMX=\n =%\\@M\\@M#\\@\\$-.=\\$\\@MM\\@\\@\\@M; %M%=\n ,:+\\$+-,/H#MMMMMMM\\@= =,\n =++%%%%+/:-.\nEOC\n"; var aperture = "# Aperture Science logo\n# via http://pastebin.com/1AZwKrKp \n$the_cow = <<EOC;\n $thoughts\n $thoughts\n .,-:;//;:=,\n . :H\\@\\@\\@MM\\@M#H/.,+%;,\n ,/X+ +M\\@\\@M\\@MM%=,-%HMMM\\@X/,\n -+\\@MM; \\$M\\@\\@MH+-,;XMMMM\\@MMMM\\@+-\n ;\\@M\\@\\@M- XM\\@X;. -+XXXXXHHH\\@M\\@M#\\@/.\n ,%MM\\@\\@MH ,\\@%= .---=-=:=,.\n =\\@#\\@\\@\\@MX ., WE -%HX\\$\\$%%%+;\n =-./\\@M\\@M\\$ DO .;\\@MMMM\\@MM:\n X\\@/ -\\$MM/ WHAT .+MM\\@\\@\\@M\\$\n,\\@M\\@H: :\\@: WE . =X#\\@\\@\\@\\@-\n,\\@\\@\\@MMX, . MUST /H- ;\\@M\\@M=\n.H\\@\\@\\@\\@M\\@+, BECAUSE %MM+..%#\\$.\n /MMMM\\@MMH/. WE XM\\@MH; =;\n /%+%\\$XHH\\@\\$= CAN , .H\\@\\@\\@\\@MX,\n .=--------. -%H.,\\@\\@\\@\\@\\@MX,\n .%MM\\@\\@\\@HHHXX\\$\\$\\$%+- .:\\$MMX =M\\@\\@MM%.\n =XMMM\\@MM\\@MM#H;,-+HMM\\@M+ /MMMX=\n =%\\@M\\@M#\\@\\$-.=\\$\\@MM\\@\\@\\@M; %M%=\n ,:+\\$+-,/H#MMMMMMM\\@= =,\n =++%%%%+/:-.\nEOC\n"; var armadillo = "# armadillo\n#\n# based on http://ascii.co.uk/art/armadillo\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n ,.-----__\n ,:::://///,:::-.\n /:''/////// ``:::`;/|/\n /' |||||| :://'`\\\\\n .' , |||||| `/( e \\\\\n -===~__-'\\\\__X_`````\\\\_____/~`-._ `.\n ~~ ~~ `~-'\nEOC\n\n"; var atat = "# ATAT\n# from http://www.asciiworld.com/-Robots,24-.html (accessed 4/30/2014)\n$the_cow = <<EOC;\n $thoughts ________\n $thoughts _.-Y | | Y-.,_\n $thoughts .-\" | | | || \"~-. \n _____ |\"\"[]\"|\" !\"\"! \"|\"==\"\" \"I \n .-\"{-. \"I----]_ :|------..| [] __L \n P-=}=(r\\_I]_[L__] _l|______l |.. |___I \n ^-=\\[_c=-' ~j______[________]_L______L] \n [_L--.\\_==I|I==/.--.j_I_/ \n j)==([\"-----`])==((_] \n I--I\"~~\"\"\"~~\"I--I \n |[]| |[]| \n j__l j__l \n |!!| |!!| \n |..| |..| \n )[]( )[]( \n ]--[ ]--[ \n [L_] [L_] \n /|..|\\ /|..|\\ \n '={--}=` '={--}=` \n .-^-r--^-. .-^-r--^-. \n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nModified ATAT from Row (the Ascii-Wizard of Oz)\nEOC\n"; var atom = "# atom\n# via http://pastebin.com/1AZwKrKp\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n =/;;/-\n +: //\n /; /;\n -X H.\n .//;;;:;;-, X= :+ .-;:=;:;%;.\n M- ,=;;;#:, ,:#;;:=, ,\\@\n :% :%.=/++++/=.\\$= %=\n ,%; %/:+/;,,/++:+/ ;+.\n ,+/. ,;\\@+, ,%H;, ,/+,\n ;+;;/= \\@. .H##X -X :///+;\n ;+=;;;.\\@, .XM\\@\\$. =X.//;=%/.\n ,;: :\\@%= =\\$H: .+%-\n ,%= %;-///==///-// =%,\n ;+ :%-;;;:;;;;-X- +:\n \\@- .-;;;;M- =M/;;;-. -X\n :;;::;;-. %- :+ ,-;;-;:==\n ,X H.\n ;/ %=\n // +;\n ,////,\n\nEOC\n"; var awesomeFace = "# awesome face\n# via http://pastebin.com/1AZwKrKp\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n \\#[/[#:xxxxxx:#[/[\\\\x\n [/\\\\ &3N W3& \\\\/[x\n [[x\\@W W\\@x[[\\\\\n /#&N N_#\n /#\\@ \\@#/x\n [/ NH_ ^\\@W Nd_ ^\\@p N /#\n [[d\\@#_ zz\\@[/x3 3x:d9zz \\\\/#_N d[[\n /[3^[JMMMJ/////& ^#NMMMMM ////#W H[[\n [/\\@p/NMMMML\\@#[:^/3 d/JMMMMMMEx[# x\\\\ &/#\n /x &/LMMMMMMMMMM[_ x:MMMMMMMMMMMM /p :/\n[/d d/ELLLLLLLLLD/& \\#LLLLLLLLLLLL3/N d/[\n//N xxxxxxxxxxxxN Wxxxxxxxxxxxxxx_ W//\n/[ //\n//N p333333333333333333333333333333333p W//\n[/d _^/#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/H \\@/[\n /: \\\\# [x :/\n [/\\@ d/x \\#: &/#\n [[H ^[x [ H[[\n [[d _[x &Hppp3d_ \\#\\\\N \\@[[\n [/ N d#\\\\ &NzDDDDDDDDJp^ x[xN N /#\n /#& N [: pDDDDDDDDDDDDJ&#:H &#/\n :/#_W W^##x 3DDDDDDDDDJN&:\\\\^p W_#/\n [[x&W p& xx ^^^^ x:x \\@W W&x/[\n [/# &HW WWWWN WH& \\#/[\n [/[#\\\\xxxxxx\\\\#[/[\\\\x^\\@\nEOC\n"; var banana = "# Banana \n# http://www.ascii-art.de/ascii/ab/banana.txt\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n\n \". ,# \n \\\\ `-._____,-'=/\n ____`._ ----- _,'_____PhS\n `-----'\nEOC\n"; var bearface = "##\n## acsii picture from http://www.ascii-art.de/ascii/ab/bear.txt\n##\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n .--. .--.\n : (\\\\ \". _......_ .\" /) :\n '. ` ` .'\n /' _ _ `\\\\\n / $eye} {$eye \\\\\n | / \\\\ |\n | /' `\\\\ |\n \\\\ | . .==. . | /\n '._ \\\\.' \\\\__/ './ _.'\n / ``'._-''-_.'`` \\\\\nEOC\n"; var beavis_zen = "##\n## Beavis, with Zen philosophy removed.\n##\n$the_cow = <<EOC;\n $thoughts __------~~-,\n $thoughts ,' ,\n / \\\\\n / :\n | '\n | |\n | |\n | _-- |\n _| =-. .-. ||\n $eye|/$eye/ _. |\n / ~ \\\\ |\n (____\\@) ___~ |\n |_===~~~.` |\n _______.--~ |\n \\\\________ |\n \\\\ |\n __/-___-- -__\n / _ \\\\\nEOC\n"; var bees = "# Bees/beehive\n# http://www.asciiworld.com/-Bees-.html\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n\n\n ^^ .-=-=-=-. ^^\n ^^ (`-=-=-=-=-`) ^^\n (`-=-=-=-=-=-=-`) ^^ ^^\n ^^ (`-=-=-=-=-=-=-=-`) ^^ ^^\n ( `-=-=-=-(@)-=-=-` ) ^^\n (`-=-=-=-=-=-=-=-=-`) ^^\n (`-=-=-=-=-=-=-=-=-`) ^^\n (`-=-=-=-=-=-=-=-=-`) ^^\n (`-=-=-=-=-=-=-=-=-`) ^^\n (`-=-=-=-=-=-=-=-`) ^^\n (`-=-=-=-=-=-=-`) ^^ ^^\n jgs (`-=-=-=-=-`)\n `-=-=-=-=-`\nEOC\n"; var billTheCat = "# Bill the Cat\n#\n# Based on 'ack --th[pt]+t+'\n# from http://beyondgrep.com/ack-2.14-single-file\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n _ /|\n \\\\'o.O'\n =(___)=\n U\nEOC\n"; var biohazard = "# biohazard symbol\n# via http://pastebin.com/1AZwKrKp\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n =+\\$HM####\\@H%;,\n /H###############M\\$,\n ,\\@################+\n .H##############+\n X############/\n \\$##########/\n %########/\n /X/;;+X/\n \n -XHHX-\n ,######,\n \\#############X .M####M. X#############\n \\##############- -//- -##############\n X##############%, ,+##############X\n -##############X X##############-\n %############% %############%\n %##########; ;##########%\n ;#######M= =M#######;\n .+M###\\@, ,\\@###M+.\n :XH. .HX:\n\nEOC\n"; var bishop = "# Bishop (Chess piece)\n#\n# from http://www.chessvariants.org/d.pieces/ascii.html\n# by David Moeser\n#\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n <>_\n (\\\\) )\n \\\\__/\n (____)\n | |\n |__|\n /____\\\\\n (______)\nEOC\n"; var blackMesa = "# Black Mesa logo\n# via http://pastebin.com/1AZwKrKp\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n .-;+\\$XHHHHHHX\\$+;-.\n ,;X\\@\\@X%/;=----=:/%X\\@\\@X/,\n =\\$\\@\\@%=. .=+H\\@X:\n -XMX: =XMX=\n /\\@\\@: =H\\@+\n %\\@X, .\\$\\@\\$\n +\\@X. \\$\\@%\n-\\@\\@, .\\@\\@=\n%\\@% +\\@\\$\nH\\@: :\\@H\nH\\@: :HHHHHHHHHHHHHHHHHHX, =\\@H\n%\\@% ;\\@M\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@H- +\\@\\$\n=\\@\\@, :\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@= .\\@\\@:\n +\\@X :\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@M\\@\\@\\@\\@\\@\\@:%\\@%\n \\$\\@\\$, ;\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@M\\@\\@\\@\\@\\@\\@\\$.\n +\\@\\@HHHHHHH\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@+\n =X\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@X=\n :\\$\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@M\\@\\@\\@\\@\\$:\n ,;\\$\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@X/-\n .-;+\\$XXHHHHHX\\$+;-.\nEOC\n"; var bong = "##\n## A cow with a bong, from lars@csua.berkeley.edu\n##\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n ^__^ \n _______/($eyes)\n/\\\\/( /(__)\n | W----|| |~|\n || || |~| ~~\n |~| ~\n |_| o\n |#|/\n _+#+_\nEOC\n"; var box = "# Box\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n __________________\n /\\\\ ______________ \\\\\n /::\\\\ \\\\ZZZZZZZZZZZZ/\\\\ \\\\\n /:/\\\\.\\\\ \\\\ /:/\\\\:\\\\ \\\\\n /:/Z/\\\\:\\\\ \\\\ /:/Z/\\\\:\\\\ \\\\\n /:/Z/__\\\\:\\\\ \\\\____/:/Z/ \\\\:\\\\ \\\\\n /:/Z/____\\\\:\\\\ \\\\___\\\\/Z/ \\\\:\\\\ \\\\\n \\\\:\\\\ \\\\ZZZZZ\\\\:\\\\ \\\\ZZ/\\\\ \\\\ \\\\:\\\\ \\\\\n \\\\:\\\\ \\\\ \\\\:\\\\ \\\\ \\\\:\\\\ \\\\ \\\\:\\\\ \\\\\n \\\\:\\\\ \\\\ \\\\:\\\\ \\\\_\\\\;\\\\_\\\\_____\\\\;\\\\ \\\\\n \\\\:\\\\ \\\\ \\\\:\\\\_________________\\\\\n \\\\:\\\\ \\\\ /:/ZZZZZZZZZZZZZZZZZ/\n \\\\:\\\\ \\\\ /:/Z/ \\\\:\\\\ \\\\ /:/Z/\n \\\\:\\\\ \\\\/:/Z/ \\\\:\\\\ \\\\/:/Z/\n \\\\:\\\\/:/Z/________\\\\;\\\\/:/Z/\n \\\\::/Z/_______itz__\\\\/Z/\n \\\\/ZZZZZZZZZZZZZZZZZ/\nEOC\n"; var brokenHeart = "# broken heart\n# via http://pastebin.com/1AZwKrKp\n# TODO: replace \"thoughts\" with \"feelings\"\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n .,---.\n ,/XM#MMMX;,\n -%##########M%,\n -\\@######% \\$###\\@=\n .,--, -H#######\\$ \\$###M:\n ,;\\$M###MMX; .;##########\\$;HM###X=\n ,/\\@##########H= ;################+\n-+#############M/, %##############+\n%M###############= /##############:\nH################ .M#############;.\n\\@###############M ,\\@###########M:.\nX################, -\\$=X#######\\@:\n/\\@##################%- +######\\$-\n.;##################X .X#####+,\n .;H################/ -X####+.\n ,;X##############, .MM/\n ,:+\\$H\\@M#######M#\\$- .\\$\\$=\n .,-=;+\\$\\@###X: ;/=.\n .,/X\\$; .::,\n ., ..\nEOC\n"; var budFrogs = "##\n## The Budweiser frogs\n##\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n oO)-. .-(Oo\n /__ _\\\\ /_ __\\\\\n \\\\ \\\\( | ()~() | )/ /\n \\\\__|\\\\ | (-___-) | /|__/\n ' '--' ==`-'== '--' '\nEOC\n"; var bunny = "##\n## A cute little wabbit\n##\n$the_cow = <<EOC;\n $thoughts\n $thoughts \\\\\n \\\\ /\\\\\n ( )\n .( o ).\nEOC\n"; var C3PO = "# C3PO\n#\n# adapted from 'telnet -e x towel.blinkenlights.nl'\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n /~\\\\\n |oo )\n _\\\\=/_\n / \\\\\n //|/.\\\\|\\\\\\\\\n || \\\\_/ ||\n || |\\\\ /| ||\n \\# \\\\_ _/ \\#\n | | |\n | | |\n []|[]\n | | |\n /_]_[_\\\\\nEOC\n"; var cake = "# Cake, from Portal \n# via http://pastebin.com/1AZwKrKp\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n ,:/+/-\n /M/ .,-=;//;-\n .:/= ;MH/, ,=/+%\\$XH@MM#@:\n -\\$##@+\\$###@H@MMM#######H:. -/H#\n .,H@H@ X######@ -H#####@+- -+H###@X\n .,@##H; +XM##M/, =%@###@X;-\nX%- :M##########$. .:%M###@%:\nM##H, +H@@@$/-. ,;\\$M###@%, -\nM####M=,,---,.-%%H####M\\$: ,+@##\n@##################@/. :%H##@\\$-\nM###############H, ;HM##M\\$=\n\\#################. .=\\$M##M\\$=\n\\#################H..;XM##M\\$= .:+\nM###################@%= =+@MH%\n@################M/. =+H#X%=\n=+M##############M, -/X#X+;.\n .;XM##########H= ,/X#H+:,\n .=+HM######M+/+HM@+=.\n ,:/%XM####H/.\n ,.:=-.\nEOC\n"; var cakeWithCandles = "# cake with candles\n# via http://chris.com/ascii/index.php?art=events/birthday\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n $thoughts\n (\n (\n ) ) (\n ) (o) )\n ( (o) ) ,|, )\n (o) ,|, |~\\\\ ( (o)\n ,|, |~\\\\ ( \\\\ | (o) ,|,\n \\\\~| \\\\ | (o) |`\\\\ ,|, |~\\\\\n |`\\\\ |`\\\\\\@\\@\\@,|,\\@\\@\\@\\@\\\\ |\\@\\@\\@\\\\~| \\\\ |\n \\\\ | o\\@\\@\\@\\\\ |\\@\\@\\@\\\\~|\\@\\@\\@\\@|`\\\\\\@\\@\\@|`\\\\\\@\\@\\@o |`\\\\\n o|`\\\\\\@\\@\\@\\@\\@|`\\\\\\@\\@\\@|`\\\\\\@\\@\\@\\@\\\\ |\\@\\@\\@\\\\ |\\@\\@\\@\\@\\@\\\\ |o\n o\\@\\@\\\\ |\\@\\@\\@\\@\\@\\\\ |\\@\\@\\@\\\\ |\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@|`\\\\\\@\\@\\@\\@\\@|`\\\\\\@\\@o\n \\@\\@\\@\\@|`\\\\\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@|`\\\\\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\\\ |\\@\\@\\@\\@\\@\\\\ |\\@\\@\\@\\@\n p\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\\\ |\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@|`\\\\\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@q\n \\@\\@o\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@|`\\\\\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@o\\@\\@\n \\@:\\@\\@\\@o\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@o\\@\\@::\\@\n ::\\@\\@::\\@\\@o\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@o\\@\\@:\\@\\@::\\@\n ::\\@\\@::\\@\\@\\@\\@::oo\\@\\@\\@\\@oo\\@\\@\\@\\@\\@ooo\\@\\@\\@\\@\\@o:::\\@\\@\\@::::::\n %::::::\\@::::::\\@\\@\\@\\@:::\\@\\@\\@:::::\\@\\@\\@\\@:::::\\@\\@:::::%\n %%::::::::::::\\@\\@::::::\\@:::::::\\@\\@::::::::::::%%\n ::%%%::::::::::\\@::::::::::::::\\@::::::::::%%%::\n .#::%::%%%%%%:::::::::::::::::::::::::%%%%%::%::#.\n .###::::::%%:::%:%%%%%%%%%%%%%%%%%%%%%:%:::%%:::::###.\n .#####::::::%:::::%%::::::%%%%:::::%%::::%::::::::::#####.\n .######`:::::::::::%:::::::%:::::::::%::::%:::::::::\\'######.\n .#########``::::::::::::::::::::::::::::::::::::\\'\\'#########.\n `.#############```::::::::::::::::::::::::\\'\\'\\'#############.\\'\n `.######################################################.\\'\n ` .###########,._.,,,. \\#######<_\\\\##################. \\'\n ` .#######,;: `,/____,__`\\\\_____,_________,_____\n ` .###;;;`. _,;>-,------,,--------,----------\\'\n ` `,;\\' ~~~ ,\\'\\\\######_/\\'####### . \\'\n \\'\\'~`\\'\\'\\'\\' - .\\'/; - \\' -Catalyst\nEOC\n"; var cat2 = "#\n#\tCat picture by Joan Stark\n#\tTransformed into cowfile by Myroslav Golub\n#\n$the_cow = <<EOC;\n $thoughts \n $thoughts\n $thoughts\n $thoughts\n |\\\\___/|\n =) $eyeY$eye (= \n \\\\ ^ /\n )=*=( \n / \\\\\n | |\n /| | | |\\\\\n \\\\| | |_|/\\\\\n //_// ___/\n \\\\_) \nEOC\n"; var cat = "# Cat\n#\n# used https://github.com/paulkaefer/flipFile.py\n# python flipFile.py cat \" \"\n# and \n# cat cat_flipped | sed 's/\\\\/\\\\\\\\/g' > cat.cow\n#\n$the_cow = <<EOC;\n $thoughts\n $thoughts _\n / ) \n / / \n //| \\\\ \\\\ \n .-`^ \\\\ .-`````-. \\\\ \\\\ \n o` {|} \\\\_/ \\\\ / / \n '--, _ // .---. \\\\ / / \n ^^^` )/ ,/ \\\\ \\\\/ / \n ( /) /\\\\/ / \n / / ( / ( / \n ___/ /) ( __/ __\\\\ ( \n (((__)((__)((__(((___) \nEOC\n\n"; var catfence = "#\n#\tCat picture by Joan Stark\n#\tTransformed into cowfile by Myroslav Golub\n#\n$the_cow = <<EOC;\n $thoughts * ,MMM8&&&. *\n MMMM88&&&&& .\n $thoughts MMMM88&&&&&&&\n * MMM88&&&&&&&&\n $thoughts MMM88&&&&&&&&\n 'MMM88&&&&&&'\n $thoughts 'MMM8&&&' *\n |\\\\___/|\n =) $eyeY$eye (= . '\n \\\\ ^ /\n )=*=( *\n / \\\\\n | |\n /| | | |\\\\\n \\\\| | |_|/\\\\\n _/\\\\_/\\\\_//_// ___/\\\\_/\\\\_/\\\\_/\\\\_/\\\\_/\\\\_/\\\\_/\\\\_/\\\\_\n | | | | \\\\_) | | | | | | | | | |\n | | | | | | | | | | | | | | |\n | | | | | | | | | | | | | | | \n | | | | | | | | | | | | | | |\n | | | | | | | | | | | | | | |\n\nEOC\n"; var charizardvice = "$the_cow = <<\"EOC\";\n $thoughts\n $thoughts ___.\n $thoughts L._, \\\\\n _., $thoughts < <\\\\ _\n ,' ' $thoughts `. | \\\\ ( `\n ../, `. $thoughts | .\\\\`. \\\\ \\\\_\n ,' ,.. . _.,' ||\\\\l ) '\".\n , ,' \\\\ ,'.-.`-._,' | . _._`.\n ,' / \\\\ \\\\ `' ' `--/ | \\\\ / / ..\\\\\n .' / \\\\ . |\\\\__ - _ ,'` ` / / `.`.\n | ' .. `-...-\" | `-' / / . `.\n | / |L__ | | / / `. `.\n , / . . | | / / ` `\n / / ,. ,`._ `-_ | | _ ,-' / ` \\\\\n / . \\\\\"`_/. `-_ \\\\_,. ,' +-' `-' _, ..,-. \\\\`.\n ' .-f ,' ` '. \\\\__.---' _ .' ' \\\\ \\\\\n' / `.' l .' / \\\\.. ,_|/ `. ,'` L`\n|' _.-\"\"` `. \\\\ _,' ` \\\\ `.___`.'\"`-. , | | | \\\\\n|| ,' `. `. ' _,...._ ` | `/ ' | ' .|\n|| ,' `. ;.,.---' ,' `. `.. `-' .-' /_ .' ;_ ||\n|| ' V / / ` | ` ,' ,' '. ! `. ||\n||/ _,-------7 ' . | `-' l / `||\n | ,' .- ,' || | .-. `. .' ||\n `' ,' `\".' | | `. '. -.' `'\n / ,' | |,' \\\\-.._,.'/'\n . / . . \\\\ .''\n .`. | `. / :_,'.'\n \\\\ `...\\\\ _ ,'-. .' /_.-'\n `-.__ `, `' . _.>----''. _ __ /\n .' /\"' | \"' '_\n /_|.-'\\\\ ,\". '.'`__'-( \\\\\n / ,\"'\"\\\\,' `/ `-.|\" m\nEOC\n"; var charlie = "##\n## KMB is God.\n##\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n $thoughts ,, _\n / `、\n / (_ノL_) ヽ\n / ´・ ・` l\n (l し l)\n l __ l\n > 、 _ ィ\n /  ̄ ヽ\n / | iヽ\n |\| |/|\n | ||/\/\/\/ | |\nEOC\n"; var cheese = "##\n## The cheese from milk & cheese\n##\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n _____ _________\n / \\\\_/ |\n | ||\n | ||\n | ###\\\\ /### | |\n | $eye \\\\/ $eye | |\n /| | |\n / | < |\\\\ \\\\\n| /| | | |\n| | \\\\_______/ | | |\n| | $tongue | / /\n/|| /|||\n ----------------|\n | | | |\n *** ***\n /___\\\\ /___\\\\\nEOC\n"; var chessmen = "# Chessmen Lineup\n#\n# based on ASCII chess pieces from http://www.chessvariants.org/d.pieces/ascii.html\n#\n# used https://github.com/paulkaefer/connectFiles.py\n# to \"glue\" the pieces together into one file\n$the_cow = <<EOC;\n $thoughts\n $thoughts \n $thoughts\n $thoughts\n .::. \n _::_ \n () _/____\\\\_ \n <~~~~> \\\\ / \n <>_ \\\\__/ \\\\____/ <>_ \n __/\"\"\"\\\\ (\\\\) ) (____) (____) (\\\\) ) __/\"\"\"\\\\ \n WWWWWW ]___ 0 } \\\\__/ | | | | \\\\__/ ]___ 0 } WWWWWW\n | | / } (____) | | |__| (____) / } | |\n | | /~ } | | |__| / \\\\ | | /~ } | |\n |__| \\\\____/ |__| /____\\\\ (______) |__| \\\\____/ |__|\n /____\\\\ /____\\\\ /____\\\\ (______) (________) /____\\\\ /____\\\\ /____\\\\\n (______) (______) (______) (________) /________\\\\ (______) (______) (______)\n\n __ __ __ __ __ __ __ __\n ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )\n || || || || || || || ||\n /__\\\\ /__\\\\ /__\\\\ /__\\\\ /__\\\\ /__\\\\ /__\\\\ /__\\\\\n (____) (____) (____) (____) (____) (____) (____) (____)\nEOC\n"; var chito = "#\n# ちーちゃん\n#\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n -一 一-\n / \\n / ________\n / -~ ミ、\n レ' _ 一ァiァ ¬} ̄Tii一- _ \\n / --::|::::/斗士 / |[_Vい_>」\n / イ「::::|:::Y/ イ::ハ ィ-ミヽい\n <___|:::へ|::|{ 乂-夕 {::dリ|い\n \八 |::| `'' ハ|\n _ --\ヽ|::| .イ リ\n /------.ゝ|:ト| - ィ:|\n \ >ミ|`ヽ!ニ T フ ̄.≧|:/\n ∨ |::\\/ }-/く\ /|/ \nEOC\n"; var clawArm = "# claw arm\n# via http://pastebin.com/1AZwKrKp\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n X MM X\n X MM X\n X MM X\n X MM X\n + HX +\n ,=\\$\\$XX%/-\n =X#########\\@%-\n ;##############=\n -###############M,\n ;##\\@\\@\\@######M\\@###=\n .+:;+:=H##\\$=:/:;H.\n - +###- \\## :###,,;\n +\\@:/%;-H##H==/::H;\n /#\\@/-=+\\$\\$%::+H#\\$\n \\$#%-, ,.:##-\n -\\@/ =X%.\n %H= -\\$;\n =HH, .%M;\n /MM/ :\\@M/.\n .:XX, -\\$H:.\nEOC\n"; var clippy = "# Clippy\n#\n# from http://www.reddit.com/r/commandline/comments/2lb5ij/what_is_your_favorite_ascii_art/cltg01p\n#\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n __ \n / \\\\ \n | |\n @ @\n | |\n || |/ \n || || \n |\\\\_/|\n \\\\___/\nEOC\n\n"; var companionCube = "# Companion Cube from Portal\n# via http://pastebin.com/1AZwKrKp\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n\n +\\@##########M/ :\\@#########\\@/\n \\##############\\$;H#######\\@;+#############\n \\###############M########################\n \\##############X,-/++/+%+/,%#############\n \\############M\\$: -X############\n \\##########H;. ,--. =X##########\n :X######M; -\\$H\\@M##MH%: :H#######\\@\n =%#M+=, ,+\\@#######M###H: -=/M#%\n %M##\\@+ .X##\\$, ./+- ./###; +M##%\n %####M. /###= \\@##M. X###%\n %####M. ;M##H:. =\\$###X. \\$###%\n %####\\@. /####M\\$-./\\@#####: %###%\n %H#M/, /H###########\\@: ./M#%\n ;\\$H##\\@\\@H: .;\\$HM#MMMH\\$;, ./H\\@M##M\\$=\n X#########%. ..,,. .;\\@#########\n \\###########H+:. ./\\@###########\n \\##############/ ./%%%%+/.-M#############\n \\##############H\\$\\@#######\\@\\@##############\n \\##############X%########M\\$M#############\n +M##########H: .\\$##########X=\nEOC\n"; var cower = "##\n## A cowering cow\n##\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n ,__, | | \n ($eyes)\\\\| |___\n (__)\\\\| | )\\\\_\n $tongue | |_w | \\\\\n | | || *\n\n Cower....\nEOC\n"; var cowfee = "$the_cow = <<EOC;\n $thoughts {\n $thoughts } } {\n { { } }\n } }{ {\n { }{ } }\n ( }{ }{ { )\n .-{ } }-.\n ( ( } { } { } )\n |`-.._____..-'|\n | ;--.\n | (__) (__ \\\\\n | ($eyes) | ) )\n | \\\\/ |/ /\n | $tongue / /\n | ( /\n \\\\ y'\n `-.._____..-'\nEOC\n"; var cthulhuMini = "# Cthulhu\n#\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n\n ^(;,;)^\n\nEOC\n\n"; var cube = "# Cube\n#\n# from http://www.reddit.com/r/commandline/comments/2lb5ij/what_is_your_favorite_ascii_art/cltrase\n# also available at https://gist.github.com/th3m4ri0/6e3f631866da31d05030\n# \n$the_cow = <<EOC;\n $thoughts\n $thoughts\n ____________\n /\\\\ ________ \\\\\n / /\\\\ \\\\______/\\\\ \\\\\n / / /\\\\ \\\\ / /\\\\ \\\\ \\\\\n / / /__\\\\ \\\\/ / /\\\\ \\\\ \\\\\n / /_/____\\\\ \\\\/_/__\\\\_\\\\ \\\\\n \\\\ \\\\ \\\\____/ / ________ \\\\\n \\\\ \\\\ \\\\ / / /\\\\ \\\\ / / /\n \\\\ \\\\ \\\\/ / /\\\\ \\\\ \\\\/ / /\n \\\\ \\\\/ / /__\\\\_\\\\/ / /\n \\\\ / /______\\\\/ /\n \\\\/___________/\nEOC\n\n"; var daemon = "##\n## 4.4 >> 5.4\n##\n$the_cow = <<EOC;\n $thoughts , ,\n $thoughts /( )`\n $thoughts \\\\ \\\\___ / |\n /- _ `-/ '\n (/\\\\/ \\\\ \\\\ /\\\\\n / / | ` \\\\\n $eye $eye ) / |\n `-^--'`< '\n (_.) _ ) /\n `.___/` /\n `-----' /\n<----. __ / __ \\\\\n<----|====O)))==) \\\\) /====\n<----' `--' `.__,' \\\\\n | |\n \\\\ /\n ______( (_ / \\\\______\n ,' ,-----' | \\\\\n `--{__________) \\\\/\nEOC\n"; var dalek = "# Dalek\n# from http://www.ascii-art.de/ascii/def/dr_who.txt (accessed 4/30/2014)\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n ___\n D>=G===' '.\n |======|\n |======|\n )--/]IIIIII]\n |_______|\n C O O O D\n C O O O D\n C O O O D\n C__O__O__O__D\nsnd [_____________]\nEOC\n"; var dalekShooting = "# Dalek\n# from http://www.asciiworld.com/-Robots,24-.html (accessed 4/30/2014)\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n ____ \n [(=]|[==/ @ \\\\ \n |--------| \n * * . ========== \n. / * . * .* . * /. ========== \n / / . * . * \\\\. * / |||||||||||| \n =-=-=-=-=-=-----==-=--=-=--=-=-=-=---=--= -. %%%%%%[-- |||||||||| \n \\\\ \\\\ . * (===========[ /=========] \n. \\\\ * * . / * \\\\ |==============] \n * * * C @ @ @ @ @ @ |D \n * * . / | \n . C @ @ @ @ @ @ |D \n * * / | \n C @ @ @ @ @ @ |D \n / | \n C @ @ @ @ @ @ |D \n / | \n |@@@@@@@@@@@@@@@@@@@@@@@@@| \n ------------------------- \nModified from howard1\\@vax.oxford.ac.uk\nEOC\n"; var dockerWhale = "##\n## docker whale\n##\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n ## .\n ## ## ## ==\n ## ## ## ## ===\n /\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\\___/ ===\n ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~\n \\______ o __/\n \\ \\ __/\n \\____\\______/\n\nEOC\n"; var doge = "##\n## Doge\n##\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n\n _ _\n / /. _-//\n / /// _- /\n //_-//========= /\n _/// //_ || ./\n _| -__-||\n | __ - \\\\ \\\n | |#- _-|_ |\n | |#||| _ | \n | _==_ ||\n- ==|.=.=|_ = |\n| |-|- ___ |\n| --__ _ /\n|| === |\n | _. //\n ||_ __- _- _|\n \\_______/ ___/ _|\n --*\nEOC\n"; var dolphin = "# dolphin (tiny)\n#\n# from http://www.chris.com/ascii/index.php?art=animals/other%20(water)\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n ,\n __)\\\\_ \n (\\_.-' a`-.\n jgs (/~~````(/~^^` \n\nEOC\n"; var dragonAndCow = "##\n## A dragon smiting a cow, possible credit to kube@csua.berkeley.edu\n##\n$the_cow = <<EOC;\n $thoughts ^ /^\n $thoughts / \\\\ // \\\\\n $thoughts |\\\\___/| / \\\\// .\\\\\n $thoughts /O O \\\\__ / // | \\\\ \\\\ *----*\n / / \\\\/_/ // | \\\\ \\\\ \\\\ |\n \\@___\\@` \\\\/_ // | \\\\ \\\\ \\\\/\\\\ \\\\\n 0/0/| \\\\/_ // | \\\\ \\\\ \\\\ \\\\\n 0/0/0/0/| \\\\/// | \\\\ \\\\ | |\n 0/0/0/0/0/_|_ / ( // | \\\\ _\\\\ | /\n 0/0/0/0/0/0/`/,_ _ _/ ) ; -. | _ _\\\\.-~ / /\n ,-} _ *-.|.-~-. .~ ~\n \\\\ \\\\__/ `/\\\\ / ~-. _ .-~ /\n \\\\____($eyes) *. } { /\n ( (--) .----~-.\\\\ \\\\-` .~\n //__\\\\\\\\$tongue\\\\__ Ack! ///.----..< \\\\ _ -~\n // \\\\\\\\ ///-._ _ _ _ _ _ _{^ - - - - ~\nEOC\n"; var dragon = "##\n## The Whitespace Dragon\n##\n$the_cow = <<EOC;\n $thoughts / \\\\ //\\\\\n $thoughts |\\\\___/| / \\\\// \\\\\\\\\n /$eye $eye \\\\__ / // | \\\\ \\\\ \n / / \\\\/_/ // | \\\\ \\\\ \n \\@_^_\\@'/ \\\\/_ // | \\\\ \\\\ \n //_^_/ \\\\/_ // | \\\\ \\\\\n ( //) | \\\\/// | \\\\ \\\\\n ( / /) _|_ / ) // | \\\\ _\\\\\n ( // /) '/,_ _ _/ ( ; -. | _ _\\\\.-~ .-~~~^-.\n (( / / )) ,-{ _ `-.|.-~-. .~ `.\n (( // / )) '/\\\\ / ~-. _ .-~ .-~^-. \\\\\n (( /// )) `. { } / \\\\ \\\\\n (( / )) .----~-.\\\\ \\\\-' .~ \\\\ `. \\\\^-.\n ///.----..> \\\\ _ -~ `. ^-` ^-_\n ///-._ _ _ _ _ _ _}^ - - - - ~ ~-- ,.-~\n /.-~\nEOC\n"; var ebi_furai = "#\n# えびフライ\n#\n\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n ,.,,、,..,、、.,、,、、.,_ /i\n ;'`;、、:、..:、:,:,.::`'::゙\":,'´ --i\n '、;:..: ,:.、.:',.:.::_.;..;:.‐'゙\n\nEOC\n"; var elephant2 = "# Elephant\n$the_cow = <<EOC;\n $thoughts\n $thoughts \n / \\\\~~~/ \\\\ \n ( .. )----, \n \\\\__ __/ \\\\ \n )| /) |\\\\ \n | /\\\\ /___\\\\ / ^ \n \"-|__| |__| \nEOC\n"; var elephant = "##\n## An elephant out and about\n##\n$the_cow = <<EOC;\n $thoughts /\\\\ ___ /\\\\\n $thoughts // \\\\/ \\\\/ \\\\\\\\\n (( $eye $eye ))\n \\\\\\\\ / \\\\ //\n \\\\/ | | \\\\/ \n | | | | \n | | | | \n | o | \n | | | | \n |m| |m| \nEOC\n"; var elephantInSnake = "##\n## Do we need to explain this?\n##\n$the_cow = <<EOC;\n $thoughts\n $thoughts .... \n ........ . \n . . \n . . \n......... .......\n..............................\n\nElephant inside ASCII snake\nEOC\n"; var explosion = "# Explosion\n# via http://pastebin.com/1AZwKrKp\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n .+\n /M;\n H#@: ;,\n -###H- -@/\n %####\\$. -; .%#X\n M#####+;#H :M#M.\n.. .+/;%#########X###-\n -/%H%+;-, +##############/\n .:\\$M###MH\\$%+############X ,--=;-\n -/H#####################H+=.\n .+#################X.\n =%M####################H;.\n /@###############+;;/%%;,\n -%###################\\$.\n ;H######################M=\n ,%#####MH\\$%;+#####M###-/@####%\n :\\$H%+;=- -####X.,H# -+M##@-\n . ,###; ; =\\$##+\n .#H, :XH,\n + .;-\nEOC\n"; var eyes = "##\n## Evil-looking eyes\n##\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n .::!!!!!!!:.\n .!!!!!:. .:!!!!!!!!!!!!\n ~~~~!!!!!!. .:!!!!!!!!!UWWW\\$\\$\\$ \n :\\$\\$NWX!!: .:!!!!!!XUWW\\$\\$\\$\\$\\$\\$\\$\\$\\$P \n \\$\\$\\$\\$\\$##WX!: .<!!!!UW\\$\\$\\$\\$\" \\$\\$\\$\\$\\$\\$\\$\\$# \n \\$\\$\\$\\$\\$ \\$\\$\\$UX :!!UW\\$\\$\\$\\$\\$\\$\\$\\$\\$ 4\\$\\$\\$\\$\\$* \n ^\\$\\$\\$B \\$\\$\\$\\$\\\\ \\$\\$\\$\\$\\$\\$\\$\\$\\$\\$\\$\\$ d\\$\\$R\" \n \"*\\$bd\\$\\$\\$\\$ '*\\$\\$\\$\\$\\$\\$\\$\\$\\$\\$\\$o+#\" \n \"\"\"\" \"\"\"\"\"\"\" \nEOC\n"; var fatBanana = "# fatter banana\n# via https://www.reddit.com/r/cowsay/comments/3bkpwv/any_love_for_bananasay/\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n \"-.. __ __.='>\n `. \"\"\"\"\" ,'\n \"-..__ _.-\"\n ~ ~~ ~ ~ ~ \"\"\" ~~ ~\nEOC\n"; var fatCow = "# fatter cow\n# via https://www.reddit.com/r/cowsay/comments/39htd0/with_all_this_reddit_hype_what_about_a_little/\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n\n A__A\n ( OO )\\\\_----__\n (____)\\\\ )\\\\/\\\\\n || |\n ||`---w||\nEOC\n"; var fence = "$the_cow = <<EOC;\n $thoughts\n $thoughts __.----.___\n || || (\\\\(__)/)-'|| ;--` ||\n _||____________||___`($eyes)'___||______;____||_\n -||------------||----) (----||-----------||-\n _||____________||___(o o)___||______;____||_\n -||------------||----`--'----||-----------||-\n || || $tongue `|| ||| || || ||jgs\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nEOC\n"; var fire = "# Fire\n# via http://pastebin.com/1AZwKrKp\n$the_cow = <<EOC;\n $thoughts\n $thoughts\n -\\$-\n .H##H,\n +######+\n .+#########H.\n -\\$############\\@.\n =H###############\\@ -X:\n .\\$##################: \\@#\\@-\n ,; .M###################; H###;\n ;\\@#: \\@###################\\@ ,#####:\n -M###. M#################\\@. ;######H\n M####- +###############\\$ =\\@#######X\n H####\\$ -M###########+ :#########M,\n /####X- =########% :M########\\@/.\n ,;%H\\@X; .\\$###X :##MM\\@%+;:-\n ..\n -/;:-,. ,,-==+M########H\n -##################\\@HX%%+%%\\$%%%+:,,\n .-/H%%%+%%\\$H\\@###############M\\@+=:/+:\n/XHX%:#####MH%= ,---:;;;;/%%XHM,:###\\$\n\\$\\@#MX %+;- .\nEOC\n"; var flamingSheep = "##\n## The flaming sheep, contributed by Geordan Rosario (geordan@csua.berkeley.edu)\n##\n$the_cow = <<EOC;\n $thoughts . . . \n $thoughts . . . ` , \n $thoughts .; . : .' : : : . \n $thoughts i..`: i` i.i.,i i . \n $thoughts `,--.|i |i|ii|ii|i: \n U${eyes}U\\\\.'\\@\\@\\@\\@\\@\\@`.||' \n \\\\__/(\\@\\@\\@\\@\\@\\@\\@\\@\\@\\@)' \n $tongue (\\@\\@\\@\\@\\@\\@\\@\\@) \n `YY~~~~YY' \n || || \nEOC\n"; var fox = "# Fox\n# http://www.retrojunkie.com/asciiart/animals/foxes.htm\n$the_cow = <<EOC;\n$thoughts\n $thoughts\n /\\\\ /\\\\ Todd Vargo\n //\\\\\\\\_//\\\\\\\\ ____\n \\\\_ _/ / /\n / * * \\\\ /^^^]\n \\\\_\\\\O/_/ [ ]\n