# [Jelly], 122 bytes

 L“| |”ẋṫ9“/ \“\ /”jµ“< >”Ḋ?⁶ẋ8¤s4¤js2s2
 z⁶⁾_-jⱮZj@"Ç;“¡{+Ṁ“#ßɗ⁾ŀ`m“¬ṖȥƇʂẆEẒẓ“¡ɲÇ⁹E⁸ċ⁷“¡ɲÇ⁹D⁹{Ṅ’ṃ“\ ^_(o)/|-w”¤⁶ẋ8¤;Ɱ$¤

[Try it online!][TIO-koiyzsnl]

[Jelly]: https://github.com/DennisMitchell/jelly
[TIO-koiyzsnl]: https://tio.run/##y0rNyan8/9/nUcOcGgWFmkcNcx/u6n64c7UlUEBfQSEGSMUoKOgDxbMObQVybBQU7ECKdnTZP2rcBlRrcWhJscmhJVnFRsVGXFVAsUeN@@J1sx5tXBeV5aB0uN0aqOnQwmrthzsbgCzlw/NPTgeqONqQkAuSWPNw57QTS4@1n2p6uKvN9eGuSQ93TQZrOLnpcPujxp2ujxp3HOl@1LgdWdAFiKsf7mx51DDz4c5msAvj4jXyNfVrdMuBbju0BO4ya6AzVA4t@f9w95bD7ZHHuh41rckC2n5o26Ft//9HcykpKYVUFmQmJ@YoJOeXFydWKuSXlhSUligCJXTAsuX5XD6ZeanFQDZXLAA "Jelly – Try It Online"

-26 bytes using base + integer compression (thanks to Bubbler for the idea) 
-2 bytes thanks to caird coinheringaahing 
-1 byte thanks to Nick Kennedy

## Explanation

 L“| |”ẋṫ9“/ \“\ /”jµ“< >”Ḋ?⁶ẋ8¤s4¤js2s2 Helper Link - generates the side borders
 ? If
 Ḋ list[1:] (basically, if the length is not 1)
 L“| |”ẋṫ9“/ \“\ /”jµ Sublink; generate the side borders for the non-edge case
 L Take the length
 “| |”ẋ Repeat "| |" that many times
 ṫ9 Tail; remove the first 8 elements
 “/ \“\ /”j Use that result to join ["/ \", "\ /"]
 “< >” Otherwise, return "< >"
 ⁶ẋ8¤ " " * 8
 s4¤ split into slices of size 4
 j Prepend and append (Extra spaces are needed because the top and bottom borders don't have side borders)
 s2 Slices of length 2 (separate the left and right border components)
 s2 Slices of length 2 (group the left and right border components into pairs)

 z⁶⁾_-jⱮZj@"Ç;“...’ṃ“ \_(o)/|-w^”¤⁶ẋ7¤;Ɱ$¤ Main Link
 z⁶ Zip, using space as filler
 Ɱ For each column
 ⁾_-j Join ["_", "-"] using it (prepend _ and append -)
 Z Zip
 j@"Ç Vectorized swapped join with the helper link (basically, for each row, prepend and append the borders)
 ; Append: {{
 “...’ [23386201, 8811166311836860, 134563374682941922730, 101089407352370886, 101089407336781202]
 ṃ“ \_(o)/|-w^” Base decompressed with " \_(o)/|-w^" - this is the cow without leading spaces
 Ɱ For each row
 ⁶ẋ7¤; Append " " * 7
 }}