
xrc:mod:lib     ascii   logo/large


___x_cmd_ascii_logo(){
    [ "$#" -gt 0 ] || set -- print

    local op="$1"; shift
    case "$op" in
        -h|--help)      ___x_cmd help -m neo logo   ; return 0 ;;
        ls)             ___x_cmd_ascii_logo_ls      "$@" ;;
        print|get)      ___x_cmd_ascii_logo_print   "$@" ;;
        get_)           ___x_cmd_ascii_logo_get_    "$@" ;;
        large)          ___x_cmd_ascii_logo_large   "$@" ;;
        large_)         ___x_cmd_ascii_logo_large_get_ "$@" ;;
        *)              N=neo M="Unknown subcmd -> $op" log:ret:64 ;;
    esac
}

___x_cmd_ascii_logo_ls(){
    printf "%s\n" \
        "linux" "alpine" "android" "arch" "debian" "fedora" \
        "darwin" "manjaro" "nixos" "ubuntu" "void" \
        "gentoo" "popos" "elementary" "opensuse" "centos" \
        "rocky" "almalinux" "mint" "kali" "raspbian" \
        "endeavouros" "artix" "arco" "garuda" "zorin" \
        "deepin" "slackware" "solus" "parrot" "blackarch" \
        "silverblue" "steamos" "asahi" "clearlinux" "crux" \
        "dragonfly" "freebsd" "netbsd" "openbsd" "redhat"
}

___x_cmd_ascii_logo_print(){
    local x_
    ___x_cmd_ascii_logo_get_ "$@" || return $?
    printf "%s\n" "$x_"
}

___x_cmd_ascii_logo_large(){
    local x_
    ___x_cmd_ascii_logo_large_get_ "$@" || return $?
    printf "%s\n" "$x_"
}

___x_cmd_ascii_logo_get_(){
    local e33="$___X_CMD_UNSEENCHAR_033"

    local name="${1:-}"; local c1; local c2; local c3; local c4; local c5
    c1="${2:-}"; c2="${3:-}"; c3="${4:-}"; c4="${5:-}"; c5="${6:-}"

    # Auto detect if no name provided
    [ -n "$name" ] || { ___x_cmd os name_; name="$x_"; }

    case "$name" in
        linux)          ___x_cmd_ascii_logo__linux_    "$c1" "$c2" "$c3" ;;
        alpine)         ___x_cmd_ascii_logo__alpine_   "$c1" "$c2" ;;
        android)        ___x_cmd_ascii_logo__android_  "$c1" "$c2" ;;
        arch)           ___x_cmd_ascii_logo__arch_     "$c1" "$c2" "$c3" ;;
        debian)         ___x_cmd_ascii_logo__debian_   "$c1" ;;
        fedora)         ___x_cmd_ascii_logo__fedora_   "$c1" "$c2" ;;
        darwin)         ___x_cmd_ascii_logo__darwin_   "$c1" "$c2" "$c3" "$c4" "$c5" ;;
        manjaro)        ___x_cmd_ascii_logo__manjaro_  "$c1" ;;
        nixos)          ___x_cmd_ascii_logo__nixos_    "$c1" ;;
        ubuntu)         ___x_cmd_ascii_logo__ubuntu_   "$c1" ;;
        void)           ___x_cmd_ascii_logo__void_      "$c1" "$c2" ;;
        gentoo)         ___x_cmd_ascii_logo__gentoo_    "$c1" "$c2" ;;
        popos|pop_os)   ___x_cmd_ascii_logo__popos_     "$c1" "$c2" ;;
        elementary)     ___x_cmd_ascii_logo__elementary_ "$c1" "$c2" ;;
        opensuse)       ___x_cmd_ascii_logo__opensuse_  "$c1" "$c2" ;;
        centos)         ___x_cmd_ascii_logo__centos_    "$c1" "$c2" "$c3" "$c4" ;;
        rocky)          ___x_cmd_ascii_logo__rocky_     "$c1" "$c2" ;;
        almalinux)      ___x_cmd_ascii_logo__almalinux_ "$c1" "$c2" ;;
        mint)           ___x_cmd_ascii_logo__mint_      "$c1" "$c2" ;;
        kali)           ___x_cmd_ascii_logo__kali_      "$c1" "$c2" ;;
        raspbian)       ___x_cmd_ascii_logo__raspbian_   "$c1" "$c2" ;;
        endeavouros)    ___x_cmd_ascii_logo__endeavouros_ "$c1" "$c2" "$c3" ;;
        artix)          ___x_cmd_ascii_logo__artix_       "$c1" "$c2" ;;
        arco)           ___x_cmd_ascii_logo__arco_        "$c1" "$c2" ;;
        garuda)         ___x_cmd_ascii_logo__garuda_      "$c1" "$c2" "$c3" ;;
        zorin)          ___x_cmd_ascii_logo__zorin_       "$c1" "$c2" "$c3" ;;
        deepin)         ___x_cmd_ascii_logo__deepin_      "$c1" "$c2" ;;
        slackware)      ___x_cmd_ascii_logo__slackware_   "$c1" "$c2" ;;
        solus)          ___x_cmd_ascii_logo__solus_       "$c1" "$c2" ;;
        parrot)         ___x_cmd_ascii_logo__parrot_      "$c1" "$c2" ;;
        blackarch)      ___x_cmd_ascii_logo__blackarch_   "$c1" "$c2" ;;
        silverblue)     ___x_cmd_ascii_logo__silverblue_  "$c1" "$c2" ;;
        steamos)        ___x_cmd_ascii_logo__steamos_     "$c1" "$c2" ;;
        asahi)          ___x_cmd_ascii_logo__asahi_       "$c1" "$c2" ;;
        clearlinux)     ___x_cmd_ascii_logo__clearlinux_  "$c1" "$c2" ;;
        crux)           ___x_cmd_ascii_logo__crux_        "$c1" "$c2" ;;
        dragonfly)      ___x_cmd_ascii_logo__dragonfly_   "$c1" "$c2" ;;
        freebsd)        ___x_cmd_ascii_logo__freebsd_     "$c1" "$c2" ;;
        netbsd)         ___x_cmd_ascii_logo__netbsd_      "$c1" "$c2" ;;
        openbsd)        ___x_cmd_ascii_logo__openbsd_     "$c1" "$c2" ;;
        redhat)         ___x_cmd_ascii_logo__redhat_      "$c1" "$c2" ;;
        *)              ___x_cmd_ascii_logo__linux_        "$c1" "$c2" "$c3" ;;
    esac
}

___x_cmd_ascii_logo__linux_(){
    local c1; local c2; local c3
    c1="${e33}[3${1:-4}m"; c2="${e33}[3${2:-7}m"; c3="${e33}[3${3:-3}m"
    x_="
${c2}    ___
   (${c1}.. ${c2}|   ${c3}#
   (${c1}<> ${c2}|   ${c3}##
  / ${c1}__  ${c2}\\  ${c3}###
 (${c1}/  \\ ${c2}/| ${c3}####
${c1}_${c2}/\\ ${c1}__)${c2}/${c1}_${c2})  ${c3}##
${c1}\\/-____\\/   ${c3}#
${e33}[0m"
}

___x_cmd_ascii_logo__alpine_(){
    local c1; local c2
    c1="${e33}[3${1:-4}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}   /\\ /\\
  /${c2}/ ${c1}\\  \\
 /${c2}/   ${c1}\\  \\
/${c2}//    ${c1}\\  \\
${c2}//      ${c1}\\  \\
        ${c1}\\
${e33}[0m"
}

___x_cmd_ascii_logo__android_(){
    local c1; local c2
    c1="${e33}[3${1:-2}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}  ;,           ,;
   '${c2};,.-----.,${c1};'
  ,'           ',
 /    O     O    \\
|                 |
'-----------------
${e33}[0m"
}

___x_cmd_ascii_logo__arch_(){
    local c1; local c2; local c3
    c1="${e33}[3${1:-6}m"; c2="${e33}[3${2:-4}m"; c3="${e33}[3${3:-7}m"
    x_="
${c1}       /\\
      /  \\
     /\\   \\
${c2}    /      \\
   /   ,,   \\
  /   |  |  -\\
 /_-''    ''-_\\
${e33}[0m"
}

___x_cmd_ascii_logo__debian_(){
    local c1
    c1="${e33}[3${1:-1}m"
    x_="
${c1}  _____
 /  __ \\
|  /    |
|  \\___-
-_
  --_
${e33}[0m"
}

___x_cmd_ascii_logo__fedora_(){
    local c1; local c2
    c1="${e33}[3${1:-4}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}        ,''''''.
       |   ,.  |
       |  |  '_
  ,....|  |..
.'  ,_;|   ..'
|  |   |  |
|  ',_,''  |
 '.     ,'
   ''''''
${e33}[0m"
}

___x_cmd_ascii_logo__darwin_(){
    local c1; local c2; local c3; local c4; local c5
    c1="${e33}[3${1:-1}m"; c2="${e33}[3${2:-2}m"; c3="${e33}[3${3:-3}m"
    c4="${e33}[3${4:-4}m"; c5="${e33}[3${5:-5}m"
    x_="
${c2}       .:'
    _ :'_
 .'\`_\`-'_\`'.
${c1}:________.-'
:_______:
${c4} :_______\`-;
${c5}  \`._.-._.\'
${e33}[0m"
}

___x_cmd_ascii_logo__manjaro_(){
    local c1
    c1="${e33}[3${1:-2}m"
    x_="
${c1}||||||||| ||||
||||||||| ||||
||||      ||||
|||| |||| ||||
|||| |||| ||||
|||| |||| ||||
|||| |||| ||||
${e33}[0m"
}

___x_cmd_ascii_logo__nixos_(){
    local c1
    c1="${e33}[3${1:-4}m"
    x_="
${c1}  \\  \\ //
 ==\\__\\/ //
   //   \\//
==//     //==
 //\\___//
// /\\  \\==
  // \\  \\
${e33}[0m"
}

___x_cmd_ascii_logo__ubuntu_(){
    local c1
    c1="${e33}[3${1:-3}m"
    x_="
${c1}         _
     ---(_)
 _/  ---  \\n(_) |   |
 \\  --- _/
    ---(_)
${e33}[0m"
}

___x_cmd_ascii_logo__void_(){
    local c1; local c2
    c1="${e33}[3${1:-2}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}    _______
 _ \\______ -
| \\  ___  \\ |
| | /   \\ | |
| | \\___/ | |
| \\______ \\_|
${c2} -_______\\
${e33}[0m"
}


___x_cmd_ascii_logo__gentoo_(){
    local c1; local c2
    c1="${e33}[3${1:-5}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1} _-----
(       \\
\\    0   \\
${c2} \\        )
 /      _/
(     _-
\\____-
${e33}[0m"
}

___x_cmd_ascii_logo__popos_(){
    local c1; local c2
    c1="${e33}[3${1:-4}m"; c2="${e33}[3${2:-3}m"
    x_="
${c1}____
\\   \\___   ___
 |      ) /
 /     / /
/     / /___
/     /
${c2}____/
${e33}[0m"
}

___x_cmd_ascii_logo__elementary_(){
    local c1; local c2
    c1="${e33}[3${1:-6}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}  _______
 /       \\
/    ${c2}o${c1}    \\
\\         /
 \\_______/
${e33}[0m"
}

___x_cmd_ascii_logo__opensuse_(){
    local c1; local c2
    c1="${e33}[3${1:-2}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}    ____
  /  __ \\
 |  /o _\\
 |  |_| |
  \\____/
${c2} _______
/  _____\\
| |_____
\\_______|
${e33}[0m"
}

___x_cmd_ascii_logo__centos_(){
    local c1; local c2; local c3; local c4
    c1="${e33}[3${1:-6}m"; c2="${e33}[3${2:-3}m"
    c3="${e33}[3${3:-5}m"; c4="${e33}[3${4:-4}m"
    x_="
${c1} ____${c2}____${c3}____
/    ${c2}\\   ${c3}\\   \\
|  ${c4}(_)${c1}  |${c2}   |${c3}  |
\\    ${c1}_${c2}___${c3}___/
 \\  ${c1}/ ${c4}(_)${c3} /
  \\_____/
${e33}[0m"
}

___x_cmd_ascii_logo__rocky_(){
    local c1; local c2
    c1="${e33}[3${1:-2}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}    ___
   /\\_ \\
  /  \\ \\    ___
 / /\\ \\ \\  / __\\
/ /  \\ \\ \\/ /
\\ \\  / / / /___
 \\ \\/ / / ____/
  \\  / / /
   \\/  \\/
${e33}[0m"
}

___x_cmd_ascii_logo__almalinux_(){
    local c1; local c2
    c1="${e33}[3${1:-4}m"; c2="${e33}[3${2:-1}m"
    x_="
${c1}    ___
   /\\_ \\
  /  \\ \\    ___
 / /\\ \\ \\  / __\\
/ /  \\ \\ \\/ /
\\ \\  / / / /___
 \\ \\/ / / ____/
  \\  / / /
   \\/  \\/
${e33}[0m"
}

___x_cmd_ascii_logo__mint_(){
    local c1; local c2
    c1="${e33}[3${1:-2}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1} ___________
|_          \\
  | ${c2}| _____ ${c1}|
  | ${c2}| | | | ${c1}|
  | ${c2}| | | | ${c1}|
  | ${c2}\\_____/ ${c1}|
  \\_________/
${e33}[0m"
}

___x_cmd_ascii_logo__kali_(){
    local c1; local c2
    c1="${e33}[3${1:-4}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}    ,____
    |    .
    |    |
    |    '
    |____.
${c2}   /\\
  /  \\
 /____\\
${e33}[0m"
}

___x_cmd_ascii_logo__raspbian_(){
    local c1; local c2
    c1="${e33}[3${1:-1}m"; c2="${e33}[3${2:-2}m"
    x_="
${c1}   .~~.   .~~.
  '. \\ ' ' / .'
${c2}   .~ .~~~..~.
  : .~.'~'.~. :
 ~ (  ) (  ) ~
( ~ '~.~.'~' ~)
(  : '~' :  )
 '~ .~~~. ~'
     '~'
${e33}[0m"
}

___x_cmd_ascii_logo__endeavouros_(){
    local c1; local c2; local c3
    c1="${e33}[3${1:-4}m"; c2="${e33}[3${2:-6}m"; c3="${e33}[3${3:-7}m"
    x_="
${c1}      /\\
     /  \\
    /    \\
${c2}    \\    /
     \\  /
      \\/
${c3}    /    \\
   /      \\
  /________\\
${e33}[0m"
}

___x_cmd_ascii_logo__artix_(){
    local c1; local c2
    c1="${e33}[3${1:-6}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}      /\\
     /  \\
    / /\\ \\
   / /  \\ \\
  / /    \\ \\
 / / ____ \\ \\
/ /_/    \\_\\ \\
/          \\
${e33}[0m"
}

___x_cmd_ascii_logo__arco_(){
    local c1; local c2
    c1="${e33}[3${1:-4}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}      ____
    /  __ \\
   /  /  \\ \\
  /  /    \\ \\
 /  /_____\\ \\
/  ________  \\
/  /        \\ \\
/  /          \\ \\
/__/            \\__\\
${e33}[0m"
}

___x_cmd_ascii_logo__garuda_(){
    local c1; local c2; local c3
    c1="${e33}[3${1:-1}m"; c2="${e33}[3${2:-3}m"; c3="${e33}[3${3:-6}m"
    x_="
${c1}       .---.
      /     \\
     |       |
${c2}     |       |
  _._|${c3}_______${c2}|_.
 /    ${c3}\\     /${c2}   \\
/  /${c3}\\  \\   /${c2}  /\\  \\
| /  ${c3}\\  \\ /${c2}  /  \\ |
|/   ${c3}\\  |  /${c2}   \\|
     ${c3}/_______\\
${e33}[0m"
}

___x_cmd_ascii_logo__zorin_(){
    local c1; local c2; local c3
    c1="${e33}[3${1:-1}m"; c2="${e33}[3${2:-3}m"; c3="${e33}[3${3:-6}m"
    x_="
${c1}    ____
   /  _ \\
  /  / \\ \\
 /  /___\\ \\
/  /_____\\ \\
|  _____  |
| /     \\ |
|/       \\|
${e33}[0m"
}

___x_cmd_ascii_logo__deepin_(){
    local c1; local c2
    c1="${e33}[3${1:-4}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}    ____
   /    \\
  /  /\\  \\
 /  /  \\  \\
/  /____\\  \\
  /      \\
 /   ${c2}::${c1}   \\
/__________\\
${e33}[0m"
}

___x_cmd_ascii_logo__slackware_(){
    local c1; local c2
    c1="${e33}[3${1:-4}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}   ______
  /  ___ \\
 /  /  \\  \\
|  |    |  |
|  |    |  |
|  |____|  |
 \\        /
  \\______/
${e33}[0m"
}

___x_cmd_ascii_logo__solus_(){
    local c1; local c2
    c1="${e33}[3${1:-7}m"; c2="${e33}[3${2:-4}m"
    x_="
${c1}    ____
   /    \\
  /  ${c2}/\\${c1}  \\
 /  ${c2}/  \\${c1}  \\
/  ${c2}/____\\${c1}  \\
  /      \\
 /        \\
/__________\\
${e33}[0m"
}

___x_cmd_ascii_logo__parrot_(){
    local c1; local c2
    c1="${e33}[3${1:-7}m"; c2="${e33}[3${2:-6}m"
    x_="
${c1}  ___________
 /  _  _  _  \\
/  / \\/ \\/ \\  \\
|  \\ /\\ /\\ /  |
\\  \\_/\\_/\\_/  /
 \\___________/
${c2}  \\_________/
${e33}[0m"
}

___x_cmd_ascii_logo__blackarch_(){
    local c1; local c2
    c1="${e33}[3${1:-0}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}    ____
   /    \\
  /  /\\  \\
 /  /  \\  \\
/  /____\\  \\
  /      \\
 /   ${c2}::${c1}   \\
/__________\\
${e33}[0m"
}

___x_cmd_ascii_logo__silverblue_(){
    local c1; local c2
    c1="${e33}[3${1:-4}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}    ____
   /  __\\
  /  /
 /  /___
/  ____/
/  /
/__/
${e33}[0m"
}

___x_cmd_ascii_logo__steamos_(){
    local c1; local c2
    c1="${e33}[3${1:-4}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}  _______
 /  _____\\
/  /
|  |     ___
|  |    / _ \\
|  |___| (_) |
 \\_____\\___/
${e33}[0m"
}

___x_cmd_ascii_logo__asahi_(){
    local c1; local c2
    c1="${e33}[3${1:-2}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}    ____
   /    \\
  /  /\\  \\
 /  /  \\  \\
/  /____\\  \\
  /      \\
 /   ${c2}aa${c1}   \\
/__________\\
${e33}[0m"
}

___x_cmd_ascii_logo__clearlinux_(){
    local c1; local c2
    c1="${e33}[3${1:-6}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}    _____
   /  ___ \\
  /  /  /  \\
 /  /__/  /
/________/
${e33}[0m"
}

___x_cmd_ascii_logo__crux_(){
    local c1; local c2
    c1="${e33}[3${1:-3}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}    ___
   /   \\
  /  /\\_\\
 /  / /
/  / /___
\\_______/
${e33}[0m"
}

___x_cmd_ascii_logo__dragonfly_(){
    local c1; local c2
    c1="${e33}[3${1:-1}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}    |
  __|___
 /  |   \\
|   |    |
 \\  |   /
  \\____/
${e33}[0m"
}

___x_cmd_ascii_logo__freebsd_(){
    local c1; local c2
    c1="${e33}[3${1:-1}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1} /\\,_/\\
/==${c2}o${c1}..\\
|_./"'"'"'\\_|
   \\__/
${e33}[0m"
}

___x_cmd_ascii_logo__netbsd_(){
    local c1; local c2
    c1="${e33}[3${1:-3}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}\\
 \\  \\
  \\  \\
   \\
    \\
     \\  \\
      \\  \\
       \\__/
${e33}[0m"
}

___x_cmd_ascii_logo__openbsd_(){
    local c1; local c2
    c1="${e33}[3${1:-3}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}      _____
    \\|   /
     \\|  /
      | /
     /|/
    / |
${e33}[0m"
}

___x_cmd_ascii_logo__redhat_(){
    local c1; local c2
    c1="${e33}[3${1:-1}m"; c2="${e33}[3${2:-7}m"
    x_="
${c1}    ____
   /    \\
  /  /\\  \\
 /  /  \\  \\
/  /____\\  \\
  /      \\
 /   ${c2}rh${c1}   \\
/__________\\
${e33}[0m"
}

