github JesseCHale/HaleHound-CYD v4.1
HaleHound-CYD v4.1

25 minutes ago
              _                                                    _              
         .k$$$$$g,                                             ,g$$$$$k.          
      .k$$$$$$$$$$$a.                                       .a$$$$$$$$$$$k.       
    .J$$$$$?'   `?$?^?,                                  ,?^?$?`    `?$$$$$L.     
   JS$$SI!a,  _.JS$   ?,                                ,?   $SL._  ,a$!IS$$SL    
  k$$$SI!:?$$$$$$$$$xu$$j                               j$$ux$$$$$$$$$?:!IS$$$k   
 :I$$SI:J$$?*"$$$$4^?*?:                                :?*?^4$$$$"*?$$L:iIS$$I:  
 :IS$$SiJ?`  _.'$?`/'   ':                            :'    '/'?$'._  `?LiS$$SI:  
  ?ISSik? _        ',    `                              .    ,'       _ ?kiSSI?   
    ?i$?` _   k$        .                               :.        $k   _ `?$i?    
      '?I:-?z$$I   _._.'                                  ._._   I$$z?-:I?'       
     '*?- '?$$a louSxuS?                               ?xuSxuol a$$?' -?*'        
           i$$$$$$$$$$$S                               S$$$$$$$$$$$i              
              ?$$$?-                                       -?$$$?                 
 ██░ ██  ▄▄▄       ██▓    ▓█████  ██░ ██  ▒█████   █    ██  ███▄    █ ▓█████▄ 
▓██░ ██▒▒████▄    ▓██▒    ▓█   ▀ ▓██░ ██▒▒██▒  ██▒ ██  ▓██▒ ██ ▀█   █ ▒██▀ ██▌
▒██▀▀██░▒██  ▀█▄  ▒██░    ▒███   ▒██▀▀██░▒██░  ██▒▓██  ▒██░▓██  ▀█ ██▒░██   █▌
░▓█ ░██ ░██▄▄▄▄██ ▒██░    ▒▓█  ▄ ░▓█ ░██ ▒██   ██░▓▓█  ░██░▓██▒  ▐▌██▒░▓█▄   ▌
░▓█▒░██▓ ▓█   ▓██▒░██████▒░▒████▒░▓█▒░██▓░ ████▓▒░▒▒█████▓ ▒██░   ▓██░░▒████▓ 
 ▒ ░░▒░▒ ▒▒   ▓▒█░░ ▒░▓  ░░░ ▒░ ░ ▒ ░░▒░▒░ ▒░▒░▒░ ░▒▓▒ ▒ ▒ ░ ▒░   ▒ ▒  ▒▒▓  ▒ 
 ▒ ░▒░ ░  ▒   ▒▒ ░░ ░ ▒  ░ ░ ░  ░ ▒ ░▒░ ░  ░ ▒ ▒░ ░░▒░ ░ ░ ░ ░░   ░ ▒░ ░ ▒  ▒ 
 ░  ░░ ░  ░   ▒     ░ ░      ░    ░  ░░ ░░ ░ ░ ▒   ░░░ ░ ░    ░   ░ ░  ░ ░  ░ 
 ░  ░  ░      ░  ░    ░  ░   ░  ░ ░  ░  ░    ░ ░     ░              ░    ░    

HaleHound-CYD v4.1

IoT Recon took the fight to wired cameras, and the deauther finally aims at a client instead of the whole room.

(FUGT)

What's New

IoT Recon

Drop a camera fleet that no radio can touch. PoE cameras are wired, so RF gets you nothing — and HaleHound takes them down anyway, from the air, with no credential and no login. Arm it and the feeds go down and stay down: every camera dropped, the recorder sitting on a black tile reporting each channel disconnected.

Surgical while it holds. Every other host on the network stays reachable, and the cameras keep serving video to anyone else who asks. It takes down what you aimed at and nothing else.

And it puts the network back when you stop. Disarming used to leave the cameras flapping on and off for minutes. Stop now actively restores every device it touched. A tool that breaks something has to put it back.

It tells a recorder from a camera properly now. Synology, Milestone and generic NVRs all used to read as plain cameras, which is not enough to decide what to attack. The feed names what promoted a row to recorder, so a wrong call is visible instead of silent — and the sweep is no slower for it.

Two taps to arm, a third to stop, and leaving the module always releases what it was holding.

The deauther

Client-targeted deauth. Pick a client in Station Scanner and the attack goes after that station directly, instead of throwing the selection away and falling back to a broadcast scan the way it used to. A frame addressed to a station gets processed by stacks that ignore a broadcast one.

Station Scanner grades what it finds — PRIME, GOOD, WEAK, NO — so you can tell which client is worth your time before you commit to it. A station with no known AP is refused rather than attacked blindly.

Six frame forms, and pinning one holds it. Pin an addressing and every frame in the run is that form, so a result actually tells you which frame produced it — previously the subtype kept alternating underneath you and a kill could not be attributed. BCAST is the original broadcast deauther, byte for byte unchanged.

Beacon Spam and NUKE

NUKE has a channel policy, and LOCK is the default. NUKE used to scatter itself across the band, so against a single access point parked on one channel most of what it sent could never be heard — which is why plain Beacon Spam outperformed the mode named after a bomb. LOCK rides the channel you already set with CH-/CH+ on the Beacon Spam screen, so every frame lands where it is aimed, and it keeps what made NUKE worth having: a random SSID and a random MAC on every packet, so the number of unique APs is unbounded instead of cycling 40 fixed names. HOP is unchanged and one tap away — still the right choice for blanketing an area rather than killing one box.

The two TX counters finally compare. Beacon Spam and NUKE were counting different things while both displaying "TX:", so NUKE looked three times busier at the same rate. Both count frames now. Beacon Spam's number goes up as a result — it had been under-reporting, and nothing changed on the air.

Four languages

English, 日本語, Español, Deutsch. Switch live from Settings, no reboot, and the whole menu tree and every module screen comes with it. Your choice survives a power-off.

The AWOK MINI stays English-only — there is no room on a 128x128 panel for the rest, and dropping them buys back flash the little board needs.

Opened as GitHub issue #193.

Drones

Shadow HoodWink is a normal Drone submenu entry now on every board, no longer hidden behind a file on the SD card.

A Remote ID serial gets a name. A drone obeying the law used to display worse than one evading it — catch one by its WiFi SSID and you saw a clean vendor, catch a fully compliant Remote ID broadcast and you got a raw 20-character serial and no vendor at all. Now 1581F1ZN0000… reads as "DJI Mavic / Air / Mini".

A verified drone database on the card. 85 vendor prefixes and 13 Remote ID manufacturer prefixes, every single one checked against the live IEEE registries before it ships — nothing goes in on a community list's word alone. Both files live on the SD card rather than in flash, so updating them as new models and new registrations appear is a file drop instead of a reflash. Built on datasets researched and compiled by @ek0ms_savi0r — see Thanks, because the quality of that work is the reason this table can be trusted.

The channel plan covers 105 entries, 18 of them within reach of this hardware. Reaching a channel is not the same as reading it: the long-range control links are proprietary and this hardware cannot demodulate them, so treat those rows as presence, not content.

NFC

A self-test for the ST25R3916B on the Radio Test screen. It already covered NRF24, CC1101, GPS and the PN532 — the one chip whose failure looks exactly like a dead board had no probe at all. It checks chip identity, oscillator, carrier and register state.

And it fails when no antenna is fitted. A board with the coil unplugged used to report a pass, because the driver being switched on says nothing about whether anything is attached to it. It measures the field now and calls it honestly.

FlockYou

F8:A2:D6 added, and the module now states plainly what it cannot detect. It comes from a 31-prefix set scraped off the Flock stack and contributed by ek0ms_savi0r — 28 were already carried here, and of the last three only F8:A2:D6 held up when checked against the live IEEE registry. The other two are rejected on the record: one is not registered to anyone, and the other is a randomised address that can never be a vendor prefix at all.

Regulatory

An FCC e-label, under 47 CFR 2.935. About → Regulatory carries the radio module's FCC ID, the 15.19(a)(3) two-conditions statement quoted verbatim, and the 15.21 modification warning — two steps from the home screen, against a rule budget of three. It reads "Contains FCC ID", because the grant belongs to the radio module rather than to the board, and a bare "FCC ID:" would assert something untrue.

Fixes

A row of skulls was clipped on the spinner screens on the 2.8-inch panels, the NM-RF Hat and the AWOK v6.

Boards

E32R35T (3.5"), E32R40T (4.0"), CYD (2.8"), E32R28T (2.8"), NM-RF Hat, AWOK Dual Touch v3, and AWOK MINI.

Thanks

@ek0ms_savi0r built the intel behind this release's drone work, and built it right.

Four datasets: an IEEE OUI classification set covering drone, defense and autonomous-vehicle registrants, the full ANSI/CTA-2063A Remote ID serial prefix set, a UAS control/video/telemetry channel plan running to 105 entries, and a drone-OUI list of 72 prefixes across 29 manufacturers. All of it then went through a deliberately hostile verification pass — every prefix checked against the live IEEE MA-L, MA-M, MA-S and IAB registries, every claimed registrant cross-checked against the organization actually on file, and every address tested for the locally-administered and multicast bits that disqualify a vendor prefix outright.

Zero failures. Every OUI present and correctly attributed, every Remote ID prefix resolving to the vendor named alongside it. And that gate is not lenient — pointed at an older community list it throws entries straight out, including one address registered to nobody at all and another that was a randomised MAC posing as a vendor prefix. It had nothing to catch here. /drone_oui.db and /drone_rid.db exist because this work was solid enough to build on without second-guessing it.

The Flock Safety OUI set scraped off the Flock stack is theirs too — that is where F8:A2:D6 came from, a camera prefix this firmware had been missing.

The author of issue #193, who asked for a Japanese UI and offered to review the translation.

                                                            ⣀⡀⣀⢀⡀⢀⡀⣀    ⣀⢀⡀ ⡀⢀ ⣀⢀⡀⢀⡀                                
                                                     ⢀⡀⣛⠘⠿⢦⠤⣽⢟⣿⢻⡟⣾⡏⣹⣿⣿⢻⡟⣿⣾⣿⣿⡿⣿⢿⣿⣌⣿⢸⡷⢤⡄⢚⢀⡀                           
                                              ⣀⢀⣀⣀⣀⢀⣀⣈⣁⣉⣀⣀⣀⣀⣉⣈⣁⣀⣀⣀⣀⣉⣀⣁⣀⣁⣉⣉⣀⣈⣀⣀⣀⣉⣈⣉⣀⣀⣀⣀⣈⣈⣁⣀⣀⣀ ⣀                      
                                           ⣤⠐⢶⢻⡟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⢠⡇                    
                                       ⢀⣀⣠⣄⣤⣀⣤⣤⣤⣤⣤⣤⣭⣭⣭⣭⣭⣭⣭⣭⣭⣭⣭⣭⣭⣭⣭⣭⣭⣭⣭⣭⣍⣭⣭⣭⣭⣥⣭⣭⣭⣭⣥⣭⣭⣭⣬⣭⣭⣥⣤⣤⣤⣤⣤⣤⣄⣤⣀⣄⣀⡀               
                                      ⣴⠸⠟⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⠿⠿⠉⠉               
                                  ⢀⡀⣶⣦⣶⣴⣶⣴⣤⣴⣶⣶⣼⣦⣿⣶⣾⣶⣶⣾⣧⣿⣾⣷⣾⣷⣿⣶⣶⣶⣶⣶⣦⣶⣶⣶⣶⣷⣿⣶⣶⣶⣶⣶⣶⣿⣾⣷⣴⣦⣶⣦⣤⣤⣦⣴⣦⣴⢠⣦⣤⡆⣴⣤⣤⣤⣤⣤⣄             
                                  ⠸⠇⠿⠻⢿⠿⠿⠿⠿⡿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠟⠛⠃           
                               ⡤⢰⣶⣶⣶⣾⣷⣿⣶⣿⣾⣷⣿⣶⣿⣶⣷⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣷⣿⣿⣿⣾⣿⣿⣷⣿⣾⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣾⣷⣿⣧⣶⣰⣶⣤⣤⣤⣴⣶⣴⣶⣶⣶⣤⣶⣶          
                               ⠛⠘⠛⠛⠛⢿⠿⣿⠿⠿⠿⠿⠿⠿⠿⠿⠿⢿⠿⠿⠿⠿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⢿⣿⣿⡿⣿⠿⠿⠛⠛⠛⠛⠛⠛⠛⠛⠋⠛⠛⠛⠛⠛⠛⠁⠛⠘⠃⠐⠂        
                           ⢠⠶⣾⣶⣶⣶⣶⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣾⣿⣿⣷⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣶⣿⣾⣷⣿⣷⣾⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⠶⣶⣶⣦⣤⣀      
                             ⠉⠉⠛⠈⠛⠙⠋⠙⠛⠛⠛⠛⣿⠿⢿⣻⣿⢿⡟⢿⠿⠿⠿⠿⢿⡿⣿⠿⠿⢿⡿⣿⠿⣿⢿⡿⢿⡟⠿⠿⣿⣿⡿⣿⠿⣿⢿⡟⠿⠿⠿⠻⡿⢿⡟⠛⠛⠛⠛⠛⠛⠛⠋⠙⠋⠛⠋⠛⠉⠛⠋ ⠘⠁⠉ ⠋⠉⠁⠈⠉⠉     
                        ⢰⢿⣷⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⡿⣿⣿⡾⢻⡟⣿⠿⣿ ⡆   
                       ⣀⢀⡀⣀⡘⢋⣀ ⣉⣉⣉⣈⣁⣙⡛⣁⣉⣉⣉⣉⣛⢛⣛⣛⣋⣛⣛⣛⣻⣿⣿⡟⣿⣿⣿⣿⡟⣿⣿⣿⣻⣟⣻⣛⣛⢛⣻⣿⣟⣛⣿⣿⣻⡟⣿⣟⣿⢛⣛⢛⣛⣛⣛⣛⣛⣛⣛⣛⣛⣛⣛⣉⡋⣛⡙⣛⠉⡀⠘⠁⠉⡈⠁⣈⡁⢉ ⠁⠈⠃   
                     ⠋⠠⠏⠘⠁⡿⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⡿⣿⢻⡿⣹⡇⣿ ⣓ ⡀   
                        ⢀⣀⣀⣈⣉⣩⣅⣄⣀⣭⣉⣍⣁⣈⣉⣩⣍⣩⣉⣭⣭⣿⣩⣍⣽⣭⣩⣭⣭⣭⣍⣭⣉⣍⣩⣍⣭⣉⣭⣩⣍⣩⣉⣭⣩⣍⣩⣍⣩⣉⣉⣉⣍⣉⣉⣭⣉⣉⣉⣍⣉⣉⣉⣩⣁⣉⢉⣉⢈⡁⣉⣀⣉⣉⣉⣁⣀⣈⣀⣈⣀⣁⣉⡁⠈ ⠁ ⠁   
                       ⠂⠚⠉⠛⠩⠟⠟⠻⣿⢿⣿⢿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⢿⣿⡿⠿⣿⢿⣿⣿⡿⣿⣿⣿⢹⣿⠿⠏⣿⢩⣿⣿⣿⣿⣿⣿⢿⡟⢹⡟⣤       
                        ⣠⣤⣤⣤⣤⣤⣤⣴⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣭⣼⣿⣿⣿⣿⣭⣭⣭⣭⣭⣭⣭⣤⣤⣤⣤⣤⣬⣥⣤⣄⣬⣭⣥⣬⣥⣭⣅⣤⣤⣬⣤⣄⣠⣄⣤ ⣤⣠⣤⣤⣴⣮⣤⣤⣤⣤⣤⣤⣤⣤⣤⣄⡀⣠⢀⣄⣤⣤⣤⣠⣤⣤⣀        
                      ⠈⠉⠛⠛⠿⠿⠛⠿⠿⠿⠿⠿⢿⠿⣿⠟⠿⠸⠟⢹⡇⢿⠘⠿⠻⠿⠟⠻⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⣿⢿⡿⢿⠿⠿⠿⠿⠿⠿⠿⠿⠿⢻⡟⠛⠃⠛ ⠚⠘⠏⠛⠙⠛⠻⠿⠿⠿⠛⠹⠟⠙⠃⣿⠰⡾⠛⠋⠿⠣⣿⠻⡿⠻⠇⠰       
                        ⢴⣤⣶⣶⣶⣶⣦⣶⣤⣤⣴⣤⢤⡄            ⣤⢠⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣦⣶⣤⣤⣴⣶⣶⣶⣶⣶⣶⣦⣤⣠⣄         ⣤⠠⡆⠠⣤⣤⢠⣶⣶⡶⣤⡤⢤       ⣠⡄⣀       
                        ⠘⠋⠛⠛⠉⠋⠉⠿⠉⠿ ⠁              ⠉⠈⠁⠉⠉⠉⠉⠉⠉⠉⠋⠹⠿⠻⠏⠻⠿⠿⠻⠿⠿⠿⠟⠛⠛⠃           ⠈⠁⠘⠁⠉⠉⠛⠙⠃⠛ ⠋     ⠰⠆⠈ ⠴       
                        ⢀⡶⣶⡐⢶ ⠆                           ⠠⠤⣦ ⣤⢲⣶⣶⣶⣶⣤⣤⢴⣦⢶⣶⣤⣶⣶                ⡴⢐⡆⢶⣰⣶                 
                        ⠈⠁⠋ ⠂  ⠛                            ⠋⠘⠛⠘⠋⠛⠛⠋⠙⠛⠛⠋⠚⠋⠛⠘⠃                 ⠈⠁⠈⠁          ⠚       
                                                          ⢰⣷⣦⣴⣿⣾⣷⣶⣦        ⢰⡆⢲⡆                                     
                               ⠛                          ⠉⠁⠉⠉⠋⠙⠋⠁         ⠈⠁⠈⠁                             ⠛       
                               ⣀ ⣀                   ⢀ ⣸⠹⣿⣿⡟⣿⢿⣿⢿⡽⠿⠞⢿⠃        ⣹⡟⣿⠇⣀                        ⢀⡀⣀       
                               ⣉ ⠉                   ⢀ ⡀⢀⣀⢈⡁⣉ ⠉⠈⠁  ⢀ ⡀       ⠉ ⠈ ⡉ ⡀                      ⠈⠁⢉       
                             ⢘⡃⣿ ⣛⢀⡀                  ⠈⣧⢸⡿⢿⣷⣹⡇     ⠘⠈⠃        ⠠⠶⢶⡿⢹⡟⣀                   ⢀⡀⢘⡇⣿ ⣟⢀⡀⢀⡀ 
                             ⣀⣀⣀⣀⣁⢈⠁               ⢠⣄⣀⣀⣉⣈⣀⣈⣁⠉        ⡀ ⡀          ⢀⡀⣈⣀⣄⢀⡀⢀⡀             ⢀⣁⣀⣁⣈⣀⣁ ⡁⠈  
                           ⢠⡤⢼⣿⣿⣯⡿⠸⡇⣤⠄⢤      ⣤⢠⡄⢿⠶⠿⢾⡟⣿⡏⣿⢫⣿⠹⡏⣤         ⠐⠃⠠      ⣤⠐⠶⠸⡇⢿⠻⠿⠸⡇⠙⠃⣤⠠⡤       ⢤⡄⣤⠈⠛⢽⠏⢿⠛⠿⠠⡇⢤⠄ 
                             ⣠⣄⣤⣤⣤⣤⣤⣤⣄   ⣠⡄⣤⣀⣤⢀⣄⣠⣤⣄⢀⣄⡀     ⡀          ⢀ ⣠⡄⢀         ⣤⣀⣤        ⡀⢀ ⡀ ⡀⣠⣤⣤⣤⣤⣤⣤⣀⣤⣤     
                      ⠐ ⠒ ⣶⠰⠦⠉⠹⠟⢹⡿⠿⠋⠾⠛⠿⠛⠿⠉⠉⠉⠉⠉⠙⠛⢿⠟⢿⠸⡟⠻⠟⠛⠿⠟⠘⠇          ⠉⠁⠈ ⠈ ⠂  ⠶ ⠆⠘⠏⠉⠉⠉⠰⠆⠰⠆⠴⠈⠇⠘⠇⠿ ⡿⠘⠇⠉⠁⠿⠹⡿⠿⠋⠿⠉⠉⠰⠆⠰⠂ 
                     ⣶⣴⣶⢶⡄⣀  ⢀⡀   ⢀⡀       ⢤⢠⣦⣤⡴⠲⡦⢤    ⣀                ⢀ ⣤⢀⡄⣠⡄⣠ ⡄              ⠴⠄⣶⣦⡴⢦  ⢠⣦⣶⣦⣴⣄⣀  ⣀⡀ 
                     ⠉⠛⠛⠿⠆⠿⠰⠇⠰⠟⠛⠛⠛⠰⠆⠶⠆       ⠛⠈⠁⠘⠃⠈  ⠰⠆⠴ ⠦⠰⠆            ⠈ ⠉⠈⠁  ⠉⠰⠷⠰⠇⠶ ⠶           ⠁    ⠾ ⠁⠸⠏  ⠶⠰⠆⠰ ⠶
                    ⠰⢶⣶⣿⣷⣶⣶⢶⣶⣶⣄⣀⡠⠦⠰⠦⠶⠄⠄       ⣀⡀          ⠠⡄⣤              ⠰⠦⠶⢤⣶⣤⡤⠠⡄⢤       ⠠⠶⣺⡷⣶⣶⣶⢶⡶⠶⠄        ⠠⣤⡤  
                      ⠉⠉⠙⠛⠛⠚⠛⠉⠈⠛                   ⠘⠃⠘⠃⠛⠐⠓⠘⠃⠛                   ⠙⠛⠘⠃⠛ ⠛⠘⠃     ⠈ ⠘⠉⠁ ⠁        ⠐⠛  ⠛⠂ 
                      ⠤⠤⢤⠄                             ⢀⠰⣶⠴⠦⣶⡆⣶⢠⡄  ⢀   ⡀  ⣀ ⡀⣶⡆⣶⣦⣤⢰⡦⢶⠆⣠         ⣒⢂⣶⢐⡒⠂              
                                                     ⠘⠁⠉    ⠉ ⠉⠈⠁⠈⠁⠉⠈⠉⠈⠃  ⠙⠈⠃⠈⠃⠉ ⠉⠈⠁  ⠉         ⠉⠈⠛⠈⠃               
                           ⢀⡀⢀⡀⣀                     ⢀⡀⣿⢈⣿⠸⣇⣴⣴⣦⣴⣦⣹⡇⣶    ⣶⠆⣿⣶⣦⣶⡄⣿⢈⣿⣿⡿⢿⡿⠿                        ⢀⡀   
                           ⠈⠁⠈⠁⠉                ⣀ ⢀⢀⡀⢈⡁⣈⣈⣁⣈⣁⣀    ⠉ ⢉   ⡀⣉ ⢉  ⢀⣀⠉⢈⣁⣈⡀⣉⠁⣀                        ⠈⠁   
                           ⢀⡀⢀⡀                 ⠉⠃⠉⠘⠋⢻⣿⣿⣿⣿⣻⡟⣿⠰⠶⠶⠶⣶⡶⠿⢻⣄⢀⡟⠿⠿⠿⠾⠷⣿⡟⣿⢻⡿⣿⣿⣿⣟⣿⢀⡄                           
                             ⠈⠁                ⡀⣠⡄⣠⢀⡀⣀⡅⣈⣩⣭⢀⡀⢀    ⠠⡀ ⠈⠉ ⡅⢠⣤⣤⣠⡄⣈⡀⣀ ⣄⣈⡀⣈⡉⠁ ⡁                           
                                               ⠁⠿⠁⠼⢸⡿⠻⡿⢿⢿⠟⠛⠛⣿⠤⣤   ⠁⠚⠛⠓ ⠁⠛⠹⣿⢩⡗⢤⡜⠋⠻⠟⢽⠇⢼⠟⠻⠺⡇                           
                                              ⣤⣄⢠⡄⣤⢀⡄      ⠄   ⢠⡄   ⢀⡀⣤⣴⣦⣤⣤⣴⣆⢰⡄ ⢀⡀                                  
                                              ⠛⠛⠚⠳⣿⠸⡇⠺⠏⠈⠁ ⠰⠆     ⠻⠏⢿⠈⠁⠈⠋⠛⠙⢿⠻⡿⠒⠁⠶⠈⠻⠠⠆  ⠶  ⠰⠆                         
                                              ⢰⡆⣴⡆⠤                   ⢰⣦⣴⡶⣶⢶⡦⣄ ⣀                                    
                                              ⠈⠁   ⠸⠇⠺⠇⠾           ⠿    ⠉ ⠛⠘⠋⠈⠁⠿ ⠶  ⠶ ⠶                             
                                                                        ⣀⡀                                          
                                                                 ⡀⢀⡀                                            
                                                                ⠈⠉⠈⠁                                            
                                                           ⢀⡀⢀⡀  ⡶⢰⡆                                            
                                                           ⠈⠁⠈⠁ ⠈⠉⠈⠁                                            
                                                                                                                
                                                                                                                
                                               ⠠⡤   ⠠⡤⠠⡄⢤                                                       
                                                                                                                
                                               ⠰⠆⠰⠆⠶⠐⠶⠰⠆⠶                                                       
                                                                 ⣄                                              
                                                   ⠺⠐⠇⠐⠆⠲ ⠶⠐⠇⠰⠂⠲ ⠇⠐⠇⠲ ⠲⠐⠆⠸⠂⠾ ⠖                                  
                                                                                                                
                                                    ⠘⠛⠘⠃⠛ ⠛⠘⠃⠘⠃⠛⠐⠓⠘⠃⠛ ⠛⠘⠃⠘⠃⠛⠐⠛⠐⠃                                

Don't miss a new HaleHound-CYD release

NewReleases is sending notifications on new releases.