text=%23%21%2Fusr%2Fbin%2Fenv+bash%0A%0Aset+-o+pipefail%0A%0A%23+%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%23+++++++++++++++++++++++++HASTEBIN%0A%23+%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0AUPLOAD_URL%3D%22https%3A%2F%2Fpste.us%2Fcreate%22%0ABASE_URL%3D%22https%3A%2F%2Fpste.us%22%0A%0A%23+------------------------------------------------------------%0A%23+Colors%0A%23+------------------------------------------------------------%0A%0ABLUE%3D%22%5C033%5B38%3B2%3B137%3B180%3B250m%22%0ACYAN%3D%22%5C033%5B38%3B2%3B137%3B220%3B235m%22%0AGREEN%3D%22%5C033%5B38%3B2%3B166%3B227%3B161m%22%0AMAUVE%3D%22%5C033%5B38%3B2%3B203%3B166%3B247m%22%0ARED%3D%22%5C033%5B38%3B2%3B243%3B139%3B168m%22%0AYELLOW%3D%22%5C033%5B38%3B2%3B249%3B226%3B175m%22%0ATEXT%3D%22%5C033%5B38%3B2%3B205%3B214%3B244m%22%0ASUBTEXT%3D%22%5C033%5B38%3B2%3B166%3B173%3B200m%22%0ADIM%3D%22%5C033%5B38%3B2%3B108%3B112%3B134m%22%0ARESET%3D%22%5C033%5B0m%22%0A%0ATMP_RESPONSE%3D%22%22%0ATMP_PROGRESS%3D%22%22%0A%0A%23+------------------------------------------------------------%0A%23+Cleanup%0A%23+------------------------------------------------------------%0A%0Acleanup%28%29+%7B%0A++++%5B%5B+-n+%22%24TMP_RESPONSE%22+%26%26+-f+%22%24TMP_RESPONSE%22+%5D%5D+%26%26+rm+-f+%22%24TMP_RESPONSE%22%0A++++%5B%5B+-n+%22%24TMP_PROGRESS%22+%26%26+-f+%22%24TMP_PROGRESS%22+%5D%5D+%26%26+rm+-f+%22%24TMP_PROGRESS%22%0A%7D%0A%0Atrap+cleanup+EXIT%0Atrap+%27exit+130%27+INT+TERM%0A%0A%23+------------------------------------------------------------%0A%23+Error%0A%23+------------------------------------------------------------%0A%0Adie%28%29+%7B%0A++++echo%0A++++printf+%22++%24%7BRED%7D%E2%9C%97%24%7BRESET%7D+%24%7BTEXT%7D%25s%24%7BRESET%7D%5Cn%22+%22%241%22%0A++++echo%0A++++exit+1%0A%7D%0A%0A%23+------------------------------------------------------------%0A%23+Dependencies%0A%23+------------------------------------------------------------%0A%0Afor+cmd+in+curl+jq+gum+fzf%3B+do%0A++++if+%21+command+-v+%22%24cmd%22+%26%3E%2Fdev%2Fnull%3B+then%0A++++++++die+%22Missing+dependency%3A+%24cmd%22%0A++++fi%0Adone%0A%0A%23+------------------------------------------------------------%0A%23+Arguments%0A%23+------------------------------------------------------------%0A%0AFILE_PATH%3D%22%24%7B1%3A-%7D%22%0A%0Aif+%5B%5B+%22%24FILE_PATH%22+%3D%3D+%22-h%22+%7C%7C+%22%24FILE_PATH%22+%3D%3D+%22--help%22+%5D%5D%3B+then%0A++++cat+%3C%3C%27EOF%27%0A%0AUsage%3A%0A++hastebin%0A++hastebin+%3Cfile%3E%0A%0AUpload+a+file+to+pste.us+and+copy+the+URL.%0A%0AExamples%3A%0A++hastebin%0A++hastebin+script.sh%0AEOF%0A++++exit+0%0Afi%0A%0A%23+------------------------------------------------------------%0A%23+Select+file%0A%23+------------------------------------------------------------%0A%0Aif+%5B%5B+-z+%22%24FILE_PATH%22+%5D%5D%3B+then%0A%0A++++FILE_PATH%3D%24%28%0A++++++++find+.+-maxdepth+1+-type+f+-printf+%27%25f%5Cn%27+%7C%0A++++++++fzf+%5C%0A++++++++++++--prompt%3D%22++%F3%B0%88%94++%22+%5C%0A++++++++++++--border%3Drounded+%5C%0A++++++++++++--border-label%3D%22+hastebin+%22+%5C%0A++++++++++++--border-label-pos%3D2+%5C%0A++++++++++++--reverse+%5C%0A++++++++++++--header%3D%22+%E2%86%91%E2%86%93+navigate++%E2%80%A2++enter+select++%E2%80%A2++esc+cancel+%22+%5C%0A++++++++++++--pointer%3D%22%E2%96%B8%22+%5C%0A++++++++++++--marker%3D%22%E2%97%86%22+%5C%0A++++++++++++--color%3D%22bg%2B%3A%23313244%2Cbg%3A%2311111b%2Cspinner%3A%23f5c2e7%2Chl%3A%23f38ba8%2Cfg%3A%23cdd6f4%2Cheader%3A%237f849c%2Cpointer%3A%23a6e3a1%2Cmarker%3A%23f5c2e7%2Cfg%2B%3A%23cdd6f4%2Cprompt%3A%2389b4fa%2Chl%2B%3A%23f38a8a%2Cborder%3A%23585b70%22+%5C%0A++++++++++++--preview%3D%27bat+--style%3Dnumbers+--color%3Dalways+--line-range%3D%3A80+%7B%7D%27+%5C%0A++++++++++++--preview-window%3D%27right%3A55%25%3Awrap%27%0A++++%29%0A%0A++++%5B%5B+-n+%22%24FILE_PATH%22+%5D%5D+%7C%7C+exit+0%0Afi%0A%0A%23+------------------------------------------------------------%0A%23+Validate+file%0A%23+------------------------------------------------------------%0A%0A%5B%5B+-f+%22%24FILE_PATH%22+%5D%5D+%7C%7C+die+%22File+does+not+exist%3A+%24FILE_PATH%22%0A%5B%5B+-r+%22%24FILE_PATH%22+%5D%5D+%7C%7C+die+%22File+is+not+readable%3A+%24FILE_PATH%22%0A%0A%23+------------------------------------------------------------%0A%23+File+information%0A%23+------------------------------------------------------------%0A%0AFILE_NAME%3D%22%24%28basename+%22%24FILE_PATH%22%29%22%0A%0AFILE_BYTES%3D%24%28%0A++++stat+-c%25s+%22%24FILE_PATH%22+2%3E%2Fdev%2Fnull+%7C%7C%0A++++stat+-f%25z+%22%24FILE_PATH%22+2%3E%2Fdev%2Fnull+%7C%7C%0A++++echo+0%0A%29%0A%0Aif+command+-v+numfmt+%26%3E%2Fdev%2Fnull%3B+then%0A++++FILE_SIZE%3D%24%28numfmt+--to%3Diec+--suffix%3DB+%22%24FILE_BYTES%22%29%0Aelse%0A++++FILE_SIZE%3D%24%28du+-h+%22%24FILE_PATH%22+%7C+cut+-f1%29%0Afi%0A%0AFILE_TYPE%3D%24%28file+-b+%22%24FILE_PATH%22+2%3E%2Fdev%2Fnull+%7C%7C+echo+%22Unknown%22%29%0AFILE_TYPE%3D%22%24%7BFILE_TYPE%25%25%2C%2A%7D%22%0A%0A%23+Keep+metadata+compact%0Aif+%28%28+%24%7B%23FILE_TYPE%7D+%3E+38+%29%29%3B+then%0A++++FILE_TYPE%3D%22%24%7BFILE_TYPE%3A0%3A35%7D...%22%0Afi%0A%0A%23+------------------------------------------------------------%0A%23+Temporary+files%0A%23+------------------------------------------------------------%0A%0ATMP_RESPONSE%3D%24%28mktemp%29%0ATMP_PROGRESS%3D%24%28mktemp%29%0A%0A%23+------------------------------------------------------------%0A%23+Header%0A%23+------------------------------------------------------------%0A%0Aclear%0A%0Aecho%0A%0Aprintf+%22++%24%7BMAUVE%7D%E2%97%86%24%7BRESET%7D+%24%7BTEXT%7DHastebin%24%7BRESET%7D+%24%7BDIM%7D%C2%B7%24%7BRESET%7D+%24%7BSUBTEXT%7Dquick+file+sharing%24%7BRESET%7D%5Cn%22%0A%0Aecho%0A%0Aprintf+%22++%24%7BDIM%7D%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%24%7BRESET%7D%5Cn%22%0A%0Aprintf+%22++%24%7BBLUE%7D%F3%B0%88%94%24%7BRESET%7D++%24%7BTEXT%7D%25s%24%7BRESET%7D%5Cn%22+%22%24FILE_NAME%22%0A%0Aprintf+%22++%24%7BDIM%7Dsize%24%7BRESET%7D++%24%7BSUBTEXT%7D%25s%24%7BRESET%7D++++%22+%22%24FILE_SIZE%22%0Aprintf+%22%24%7BDIM%7Dtype%24%7BRESET%7D++%24%7BSUBTEXT%7D%25s%24%7BRESET%7D%5Cn%22+%22%24FILE_TYPE%22%0A%0Aprintf+%22++%24%7BDIM%7D%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%24%7BRESET%7D%5Cn%22%0A%0Aecho%0A%0A%23+------------------------------------------------------------%0A%23+Upload+spinner%0A%23+------------------------------------------------------------%0A%0Aprintf+%22++%24%7BCYAN%7D%F3%B0%91%93%24%7BRESET%7D++%24%7BTEXT%7DUploading%24%7BRESET%7D+%22%0A%0A%28%0A++++while+true%3B+do%0A++++++++printf+%22%24%7BDIM%7D%C2%B7%24%7BRESET%7D%22%0A++++++++sleep+0.20%0A%0A++++++++printf+%22%5Cb+%5Cb%22%0A++++++++printf+%22%24%7BDIM%7D%E2%80%A2%24%7BRESET%7D%22%0A++++++++sleep+0.20%0A%0A++++++++printf+%22%5Cb+%5Cb%22%0A++++++++printf+%22%24%7BCYAN%7D%E2%80%A2%24%7BRESET%7D%22%0A++++++++sleep+0.20%0A%0A++++++++printf+%22%5Cb+%5Cb%22%0A++++done%0A%29+%26%0A%0ASPINNER_PID%3D%24%21%0A%0A%23+------------------------------------------------------------%0A%23+Upload%0A%23+------------------------------------------------------------%0A%0Acurl+%5C%0A++++-fS+%5C%0A++++--progress-bar+%5C%0A++++-X+POST+%5C%0A++++-H+%22Content-Type%3A+text%2Fplain%22+%5C%0A++++--data-urlencode+%22text%40%24FILE_PATH%22+%5C%0A++++--data-urlencode+%22title%3D%24FILE_NAME%22+%5C%0A++++--data-urlencode+%22lang%3Dtext%22+%5C%0A++++%22%24UPLOAD_URL%22+%5C%0A++++%3E%22%24TMP_RESPONSE%22+%5C%0A++++2%3E%22%24TMP_PROGRESS%22+%26%0A%0ACURL_PID%3D%24%21%0A%0Await+%22%24CURL_PID%22%0ACURL_STATUS%3D%24%3F%0A%0Akill+%22%24SPINNER_PID%22+2%3E%2Fdev%2Fnull%0Await+%22%24SPINNER_PID%22+2%3E%2Fdev%2Fnull%0A%0A%23+Clear+spinner+line%0Aprintf+%22%5Cr%5C033%5B2K%22%0A%0Aif+%5B%5B+%22%24CURL_STATUS%22+-ne+0+%5D%5D%3B+then%0A++++printf+%22++%24%7BRED%7D%E2%9C%97%24%7BRESET%7D+%24%7BTEXT%7DUpload+failed.%24%7BRESET%7D%5Cn%22%0A++++echo%0A++++exit+1%0Afi%0A%0A%23+------------------------------------------------------------%0A%23+Parse+response%0A%23+------------------------------------------------------------%0A%0AHASTE_KEY%3D%24%28jq+-r+%27.key+%2F%2F+.id+%2F%2F+.slug+%2F%2F+.url+%2F%2F+empty%27+%22%24TMP_RESPONSE%22+2%3E%2Fdev%2Fnull%29%0Aif+%5B%5B+-z+%22%24HASTE_KEY%22+%5D%5D%3B+then%0A++++HASTE_KEY%3D%24%28tr+-d+%27%5B%3Aspace%3A%5D%27+%3C+%22%24TMP_RESPONSE%22+2%3E%2Fdev%2Fnull%29%0Afi%0A%5B%5B+-n+%22%24HASTE_KEY%22+%5D%5D+%7C%7C+die+%22Invalid+response+from+server.%22%0Aif+%5B%5B+%22%24HASTE_KEY%22+%3D%3D+http%2A+%5D%5D%3B+then%0A++++URL%3D%22%24HASTE_KEY%22%0Aelse%0A++++URL%3D%22%24BASE_URL%2F%24HASTE_KEY%22%0Afi%0A%0A%23+------------------------------------------------------------%0A%23+Clipboard%0A%23+------------------------------------------------------------%0A%0ACOPIED%3Dfalse%0A%0Aif+command+-v+wl-copy+%26%3E%2Fdev%2Fnull%3B+then%0A++++printf+%27%25s%27+%22%24URL%22+%7C+wl-copy%0A++++COPIED%3Dtrue%0A%0Aelif+command+-v+xclip+%26%3E%2Fdev%2Fnull%3B+then%0A++++printf+%27%25s%27+%22%24URL%22+%7C+xclip+-selection+clipboard%0A++++COPIED%3Dtrue%0A%0Aelif+command+-v+xsel+%26%3E%2Fdev%2Fnull%3B+then%0A++++printf+%27%25s%27+%22%24URL%22+%7C+xsel+--clipboard+--input%0A++++COPIED%3Dtrue%0A%0Aelif+command+-v+pbcopy+%26%3E%2Fdev%2Fnull%3B+then%0A++++printf+%27%25s%27+%22%24URL%22+%7C+pbcopy%0A++++COPIED%3Dtrue%0Afi%0A%0A%23+------------------------------------------------------------%0A%23+Generate+QR%0A%23+------------------------------------------------------------%0A%0AQR%3D%22%22%0A%0Aif+command+-v+qrencode+%26%3E%2Fdev%2Fnull%3B+then%0A+++QR%3D%24%28%0A++++qrencode+%5C%0A++++++++-t+ANSIUTF8i+%5C%0A++++++++-m+1+%5C%0A++++++++-l+M+%5C%0A++++++++%22%24URL%22%0A++++%29%0Afi%0A%0A%23+------------------------------------------------------------%0A%23+Final+output%0A%23+------------------------------------------------------------%0A%0Aprintf+%22++%24%7BGREEN%7D%E2%9C%93%24%7BRESET%7D++%24%7BTEXT%7DUpload+complete%24%7BRESET%7D%5Cn%22%0A%0A%23+File+information%0Aprintf+%22++%24%7BDIM%7DFILE%24%7BRESET%7D++%24%7BTEXT%7D%25s%24%7BRESET%7D%5Cn%22+%22%24FILE_NAME%22%0Aprintf+%22++%24%7BDIM%7DSIZE%24%7BRESET%7D++%24%7BSUBTEXT%7D%25s%24%7BRESET%7D%5Cn%22+%22%24FILE_SIZE%22%0Aprintf+%22++%24%7BDIM%7DTYPE%24%7BRESET%7D++%24%7BSUBTEXT%7D%25s%24%7BRESET%7D%5Cn%22+%22%24FILE_TYPE%22%0A%0Aecho%0A%0A%23+URL%0Aprintf+%22++%24%7BDIM%7DURL%24%7BRESET%7D%5Cn%22%0Aprintf+%22++%24%7BBLUE%7D%25s%24%7BRESET%7D%5Cn%22+%22%24URL%22%0A%0Aecho%0A%0A%23+------------------------------------------------------------%0A%23+QR%0A%23+------------------------------------------------------------%0A%0Aif+%5B%5B+-n+%22%24QR%22+%5D%5D%3B+then%0A%0A++++printf+%22++%24%7BDIM%7DSCAN+TO+OPEN%24%7BRESET%7D%5Cn%22%0A++++echo%0A%0A++++while+IFS%3D+read+-r+line%3B+do%0A++++++++printf+%22++++%25s%5Cn%22+%22%24line%22%0A++++done+%3C%3C%3C+%22%24QR%22%0A%0A++++echo%0A++++echo%0A%0Aelse%0A%0A++++printf+%22++%24%7BYELLOW%7D%E2%9A%A0%24%7BRESET%7D++%24%7BSUBTEXT%7Dqrencode+is+not+installed%24%7BRESET%7D%5Cn%22%0A++++printf+%22+++++%24%7BDIM%7DInstall%3A+sudo+pacman+-S+qrencode%24%7BRESET%7D%5Cn%22%0A++++echo%0A%0Afi%0A%0A%23+------------------------------------------------------------%0A%23+Clipboard+status%0A%23+------------------------------------------------------------%0A%0Aif+%5B%5B+%22%24COPIED%22+%3D%3D+true+%5D%5D%3B+then%0A++++printf+%22++%24%7BGREEN%7D%F3%B0%86%8F%24%7BRESET%7D++%24%7BSUBTEXT%7DURL+copied+to+clipboard%24%7BRESET%7D%5Cn%22%0Aelse%0A++++printf+%22++%24%7BYELLOW%7D%F3%B0%86%8F%24%7BRESET%7D++%24%7BSUBTEXT%7DClipboard+utility+not+found%24%7BRESET%7D%5Cn%22%0Afi%0A%0Aecho%0A%0Aprintf+%22++%24%7BDIM%7D%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%E2%94%80%24%7BRESET%7D%5Cn%22%0Aprintf+%22++%24%7BGREEN%7D%E2%97%86%24%7BRESET%7D++%24%7BSUBTEXT%7DReady%24%7BRESET%7D%5Cn%22%0A%0Aecho%0A%0A%0A&title=hastebin&lang=text