Sigma-Ohio 6 meses atrás
pai
commit
24462f8cdc
38 arquivos alterados com 6454 adições e 9 exclusões
  1. 51 1
      README.md
  2. 29 0
      executables/raus.py
  3. 29 0
      executables/remove_duplicates.py
  4. BIN
      firmware/IP-BUTTON.BOD.bin
  5. 48 6
      research/bad-bruteforcing/attempt-1.txt
  6. 256 0
      research/bad-bruteforcing/grouped/allzone-sequence.txt
  7. 256 0
      research/bad-bruteforcing/grouped/melody-16-vol3-once-zone-all.txt
  8. 7 0
      research/bad-bruteforcing/grouped/melody15-repeat3-zone8-volume-increments.txt
  9. 256 0
      research/bad-bruteforcing/grouped/melody15-vol3-repeat2-zone16-sequecnce.txt
  10. 256 0
      research/bad-bruteforcing/grouped/melody15-vol3-repeat2-zone8-sequence.txt
  11. 5 0
      research/bad-bruteforcing/grouped/melody15-vol3-zone8-repeat-increments.txt
  12. 256 0
      research/bad-bruteforcing/grouped/melody16-vol3-repeat2-zone-all-sequence.txt
  13. 33 0
      research/bad-bruteforcing/grouped/stop-zone-all-partial-sequence.txt
  14. 160 0
      research/bad-bruteforcing/random-captures.txt
  15. 256 0
      research/bad-bruteforcing/reveng-formatted/allzone-sequence.txt
  16. 256 0
      research/bad-bruteforcing/reveng-formatted/melody-16-vol3-once-zone-all.txt
  17. 7 0
      research/bad-bruteforcing/reveng-formatted/melody15-repeat3-zone8-volume-increments.txt
  18. 256 0
      research/bad-bruteforcing/reveng-formatted/melody15-vol3-repeat2-zone16-sequecnce.txt
  19. 256 0
      research/bad-bruteforcing/reveng-formatted/melody15-vol3-repeat2-zone8-sequence.txt
  20. 5 0
      research/bad-bruteforcing/reveng-formatted/melody15-vol3-zone8-repeat-increments.txt
  21. 256 0
      research/bad-bruteforcing/reveng-formatted/melody16-vol3-repeat2-zone-all-sequence.txt
  22. 33 0
      research/bad-bruteforcing/reveng-formatted/stop-zone-all-partial-sequence.txt
  23. 256 0
      research/bad-bruteforcing/sequence.txt
  24. 0 0
      research/executables/bulk_checksum_verifier.py
  25. 0 0
      research/executables/calculate_packet_checksum.py
  26. 367 0
      research/executables/claude-ai-slop/checksum_bruteforce.py
  27. 319 0
      research/executables/claude-ai-slop/mel_checksum_cracker.py
  28. 231 0
      research/executables/claude-ai-slop/mel_protocol_checksum_analyzer.py
  29. 229 0
      research/executables/claude-ai-slop/pattern_finder.py
  30. 1 2
      research/firmware-strings/HARMONY-TRIO.txt
  31. 122 0
      research/firmware-strings/TRIO.md
  32. 131 0
      snmp-mibs/BODET-Control-box.mib
  33. 150 0
      snmp-mibs/BODET-Flash.mib
  34. 168 0
      snmp-mibs/BODET-Harmonys_Trio.mib
  35. 214 0
      snmp-mibs/BODET-Sigma.mib
  36. 162 0
      snmp-mibs/BODET-Speaker.mib
  37. 356 0
      snmp-mibs/SNMPv2-SMI.mib
  38. 781 0
      snmp-mibs/SNMPv2-TC.mib

+ 51 - 1
README.md

@@ -244,4 +244,54 @@ The `executables/hexen.py` script provides a utility to send raw hex payloads an
         *   If you press Enter, nothing is saved for that attempt.
     *   The script checks if the directory for the `MAGIC` file exists and if the file is writable, providing error messages if issues are encountered.
 
-This tool aims to simplify the process of testing variations of known packet structures, especially when only the checksum isnt known
+This tool aims to simplify the process of testing variations of known packet structures, especially when only the checksum isnt known
+
+# MQX ARM M4 Firmware Analysis Tools
+
+This toolkit provides specialized tools for analyzing MQX ARM M4 firmware, with a particular focus on identifying IP packet checksum algorithms.
+
+## Tools Overview
+
+1. **improved_disassembler.py**: An enhanced disassembler with visual formatting, pattern recognition, and network protocol awareness.
+
+2. **checksum_finder.py**: A specialized tool focused specifically on finding checksum algorithms in firmware.
+
+## Installation
+
+Install the required dependencies:
+
+```bash
+pip install -r requirements.txt
+```
+
+## Usage
+
+### Analyzing firmware with the improved disassembler
+
+```bash
+python improved_disassembler.py path/to/firmware.bin -o analysis_output.txt -b 0x08000000
+```
+
+### Finding checksum algorithms
+
+```bash
+python checksum_finder.py path/to/firmware.bin -o checksum_analysis.txt -b 0x08000000
+```
+
+## Tool Features
+
+- Color-coded output for better readability (in terminal)
+- Detection of network-related strings and constants
+- Pattern-based identification of common checksum algorithms
+- Context-aware disassembly around potential checksum code
+- Export analysis to text files for further examination
+
+## Understanding the Results
+
+The tools look for:
+
+- **IP header constants**: Values commonly found in IP header processing (0x0800, 0x45, 0x06, etc.)
+- **Checksum patterns**: Common instruction sequences used in checksum calculations
+- **Network strings**: TCP/IP-related strings in the firmware
+
+When a potential checksum implementation is found, the tools provide the surrounding context to help understand the algorithm.

+ 29 - 0
executables/raus.py

@@ -0,0 +1,29 @@
+import os
+import sys # Add this import
+
+def remove_duplicate_lines(filepath):
+    # Read the file and split it into lines
+    with open(filepath, 'r') as file:
+        lines = file.readlines()
+
+    # Remove duplicates by converting the list of lines to a set, then back to a list
+    # This also sorts the lines, as sets do not maintain order
+    unique_lines = list(set(lines))
+
+    # Sort the lines if needed (optional, depending on whether you want to maintain original order)
+    unique_lines.sort()
+
+    # Write the unique lines back to the file
+    with open(filepath, 'w') as file:
+        file.writelines(unique_lines)
+
+if __name__ == "__main__":
+    # Get filepath from command line arguments
+    if len(sys.argv) < 2:
+        print("Usage: python remove_duplicates.py <path_to_file>")
+        sys.exit(1)
+        
+    file_to_process = sys.argv[1]
+    
+    print(f"Processing file: {file_to_process}")
+    remove_duplicate_lines(file_to_process)

+ 29 - 0
executables/remove_duplicates.py

@@ -0,0 +1,29 @@
+import os
+import sys # Add this import
+
+def remove_duplicate_lines(filepath):
+    # Read the file and split it into lines
+    with open(filepath, 'r') as file:
+        lines = file.readlines()
+
+    # Remove duplicates by converting the list of lines to a set, then back to a list
+    # This also sorts the lines, as sets do not maintain order
+    unique_lines = list(set(lines))
+
+    # Sort the lines if needed (optional, depending on whether you want to maintain original order)
+    unique_lines.sort()
+
+    # Write the unique lines back to the file
+    with open(filepath, 'w') as file:
+        file.writelines(unique_lines)
+
+if __name__ == "__main__":
+    # Get filepath from command line arguments
+    if len(sys.argv) < 2:
+        print("Usage: python remove_duplicates.py <path_to_file>")
+        sys.exit(1)
+        
+    file_to_process = sys.argv[1]
+    
+    print(f"Processing file: {file_to_process}")
+    remove_duplicate_lines(file_to_process)

BIN
firmware/IP-BUTTON.BOD.bin


+ 48 - 6
research/bad-bruteforcing/attempt-1.txt

@@ -1,6 +1,48 @@
-Changeing Volume :
-4d454c0021010004ff300180000000000000000000000000010202010f010001ff
-fa
-fa
-4d454c0021010004ff300180000000000000000000000000010102010f010001fa
-4d454c0021010004ff300180000000000000000000000000010102010f010001fa
+Universal Stop, system officially doesnt support stopping individual Zones so I technically dont care too much about its checksum  : 
+4d454c001a01002dff5002ffffffffffffffffffffffff0f0118
+
+What happens when sequence number rolls over :
+4d454c00210100ffff300180000000000000000000000000010302010f010000f5
+4d454c0021010000ff300180000000000000000000000000010302010f010001f4
+4d454c0021010001ff300180000000000000000000000000010302010f010001fb
+
+
+Tests using Sequence 00 (mostly) :
+
+Repeat Increments for Melody 15 in Zone 8 at Volume 3 and bruteforced Checksums:
+4d454c0021010000ff300180000000000000000000000000010301010f010001f3
+4d454c0021010000ff300180000000000000000000000000010302010f010001f4
+4d454c0021010000ff300180000000000000000000000000010303010f010001f5
+4d454c0021010000ff300180000000000000000000000000010304010f010001f6
+4d454c0021010000ff300180000000000000000000000000010305010f010001f7
+
+
+Volume Increments for Melody 15 in Zone 8 with 3 Repetitions and bruteforced Checksum:
+4d454c0021010000ff300180000000000000000000000000010103010f010001f3
+4d454c0021010000ff300180000000000000000000000000010203010f010001f1
+4d454c0021010000ff300180000000000000000000000000010303010f010001f5
+4d454c0021010000ff300180000000000000000000000000010403010f010001f4
+4d454c0021010000ff300180000000000000000000000000010503010f010001f7
+4d454c0021010000ff300180000000000000000000000000010603010f010001f6
+4d454c0021010000ff300180000000000000000000000000010703010f010001c9
+
+Changign Zones from 8 to 8 and 16 :
+4d454c0021010000ff300180800000000000000000000000010103010f01000173
+
+Melody 1 in Zone 8 and 16 only once at Volume one Sequence Number 2:
+4d454c0021010002ff30018080000000000000000000000001010101010100014d
+
+Melody 1 in Zone 1 once at Volume one Sequence Number 3 :
+4d454c0021010003ff300101000000000000000000000000010101010101000149
+
+Meoldy 1 in Zone 8 and 16 only once at Volume one Sequencence Number 0:
+4d454c0021010000ff300180800000000000000000000000010101010101000143
+
+Melody 1 in Zone 1 once at Volume one Sequencey Number 0 Repetition Increments:
+4d454c0021010000ff300101000000000000000000000000010101010101000144
+4d454c0021010000ff300101000000000000000000000000010102010101000143
+4d454c0021010000ff300101000000000000000000000000010102010101000142
+
+Melody 1 in Zone 1 once at Volume 2 Sequence Number 0 Volume increments :
+4d454c0021010000ff300101000000000000000000000000010101010101000144
+4d454c0021010000ff300101000000000000000000000000010201010101000145

+ 256 - 0
research/bad-bruteforcing/grouped/allzone-sequence.txt

@@ -0,0 +1,256 @@
+4d454c0021010000ff3001ffffffffffffffffffffffff0f01030201100100015e
+4d454c0021010001ff3001ffffffffffffffffffffffff0f010302011001000151
+4d454c0021010002ff3001ffffffffffffffffffffffff0f010302011001000150
+4d454c0021010003ff3001ffffffffffffffffffffffff0f010302011001000153
+4d454c0021010004ff3001ffffffffffffffffffffffff0f010302011001000152
+4d454c0021010005ff3001ffffffffffffffffffffffff0f010302011001000155
+4d454c0021010006ff3001ffffffffffffffffffffffff0f010302011001000154
+4d454c0021010007ff3001ffffffffffffffffffffffff0f010302011001000157
+4d454c0021010008ff3001ffffffffffffffffffffffff0f010302011001000156
+4d454c0021010009ff3001ffffffffffffffffffffffff0f010302011001000149
+4d454c002101000aff3001ffffffffffffffffffffffff0f010302011001000148
+4d454c002101000bff3001ffffffffffffffffffffffff0f01030201100100014b
+4d454c002101000cff3001ffffffffffffffffffffffff0f01030201100100014a
+4d454c002101000dff3001ffffffffffffffffffffffff0f01030201100100014d
+4d454c002101000eff3001ffffffffffffffffffffffff0f01030201100100014c
+4d454c002101000fff3001ffffffffffffffffffffffff0f01030201100100014f
+4d454c0021010010ff3001ffffffffffffffffffffffff0f01030201100100014e
+4d454c0021010011ff3001ffffffffffffffffffffffff0f010302011001000141
+4d454c0021010012ff3001ffffffffffffffffffffffff0f010302011001000140
+4d454c0021010013ff3001ffffffffffffffffffffffff0f010302011001000143
+4d454c0021010014ff3001ffffffffffffffffffffffff0f010302011001000142
+4d454c0021010015ff3001ffffffffffffffffffffffff0f010302011001000145
+4d454c0021010016ff3001ffffffffffffffffffffffff0f010302011001000144
+4d454c0021010017ff3001ffffffffffffffffffffffff0f010302011001000147
+4d454c0021010018ff3001ffffffffffffffffffffffff0f010302011001000146
+4d454c0021010019ff3001ffffffffffffffffffffffff0f010302011001000179
+4d454c002101001aff3001ffffffffffffffffffffffff0f010302011001000178
+4d454c002101001bff3001ffffffffffffffffffffffff0f01030201100100017b
+4d454c002101001cff3001ffffffffffffffffffffffff0f01030201100100017a
+4d454c002101001dff3001ffffffffffffffffffffffff0f01030201100100017d
+4d454c002101001eff3001ffffffffffffffffffffffff0f01030201100100017c
+4d454c002101001fff3001ffffffffffffffffffffffff0f01030201100100017f
+4d454c0021010020ff3001ffffffffffffffffffffffff0f01030201100100017e
+4d454c0021010021ff3001ffffffffffffffffffffffff0f010302011001000171
+4d454c0021010022ff3001ffffffffffffffffffffffff0f010302011001000170
+4d454c0021010023ff3001ffffffffffffffffffffffff0f010302011001000173
+4d454c0021010024ff3001ffffffffffffffffffffffff0f010302011001000172
+4d454c0021010025ff3001ffffffffffffffffffffffff0f010302011001000175
+4d454c0021010026ff3001ffffffffffffffffffffffff0f010302011001000174
+4d454c0021010027ff3001ffffffffffffffffffffffff0f010302011001000177
+4d454c0021010028ff3001ffffffffffffffffffffffff0f010302011001000176
+4d454c0021010029ff3001ffffffffffffffffffffffff0f010302011001000169
+4d454c002101002aff3001ffffffffffffffffffffffff0f010302011001000168
+4d454c002101002bff3001ffffffffffffffffffffffff0f01030201100100016b
+4d454c002101002cff3001ffffffffffffffffffffffff0f01030201100100016a
+4d454c002101002dff3001ffffffffffffffffffffffff0f01030201100100016d
+4d454c002101002eff3001ffffffffffffffffffffffff0f01030201100100016c
+4d454c002101002fff3001ffffffffffffffffffffffff0f01030201100100016f
+4d454c0021010030ff3001ffffffffffffffffffffffff0f01030201100100016e
+4d454c0021010031ff3001ffffffffffffffffffffffff0f010302011001000161
+4d454c0021010032ff3001ffffffffffffffffffffffff0f010302011001000160
+4d454c0021010033ff3001ffffffffffffffffffffffff0f010302011001000163
+4d454c0021010034ff3001ffffffffffffffffffffffff0f010302011001000162
+4d454c0021010035ff3001ffffffffffffffffffffffff0f010302011001000165
+4d454c0021010036ff3001ffffffffffffffffffffffff0f010302011001000164
+4d454c0021010037ff3001ffffffffffffffffffffffff0f010302011001000167
+4d454c0021010038ff3001ffffffffffffffffffffffff0f010302011001000166
+4d454c0021010039ff3001ffffffffffffffffffffffff0f010302011001000119
+4d454c002101003aff3001ffffffffffffffffffffffff0f010302011001000118
+4d454c002101003bff3001ffffffffffffffffffffffff0f01030201100100011b
+4d454c002101003cff3001ffffffffffffffffffffffff0f01030201100100011a
+4d454c002101003dff3001ffffffffffffffffffffffff0f01030201100100011d
+4d454c002101003eff3001ffffffffffffffffffffffff0f01030201100100011c
+4d454c002101003fff3001ffffffffffffffffffffffff0f01030201100100011f
+4d454c0021010040ff3001ffffffffffffffffffffffff0f01030201100100011e
+4d454c0021010041ff3001ffffffffffffffffffffffff0f010302011001000111
+4d454c0021010042ff3001ffffffffffffffffffffffff0f010302011001000110
+4d454c0021010043ff3001ffffffffffffffffffffffff0f010302011001000113
+4d454c0021010044ff3001ffffffffffffffffffffffff0f010302011001000112
+4d454c0021010045ff3001ffffffffffffffffffffffff0f010302011001000115
+4d454c0021010046ff3001ffffffffffffffffffffffff0f010302011001000114
+4d454c0021010047ff3001ffffffffffffffffffffffff0f010302011001000117
+4d454c0021010048ff3001ffffffffffffffffffffffff0f010302011001000116
+4d454c0021010049ff3001ffffffffffffffffffffffff0f010302011001000109
+4d454c002101004aff3001ffffffffffffffffffffffff0f010302011001000108
+4d454c002101004bff3001ffffffffffffffffffffffff0f01030201100100010b
+4d454c002101004cff3001ffffffffffffffffffffffff0f01030201100100010a
+4d454c002101004dff3001ffffffffffffffffffffffff0f01030201100100010d
+4d454c002101004eff3001ffffffffffffffffffffffff0f01030201100100010c
+4d454c002101004fff3001ffffffffffffffffffffffff0f01030201100100010f
+4d454c0021010050ff3001ffffffffffffffffffffffff0f01030201100100010e
+4d454c0021010051ff3001ffffffffffffffffffffffff0f010302011001000101
+4d454c0021010052ff3001ffffffffffffffffffffffff0f010302011001000100
+4d454c0021010053ff3001ffffffffffffffffffffffff0f010302011001000103
+4d454c0021010054ff3001ffffffffffffffffffffffff0f010302011001000102
+4d454c0021010055ff3001ffffffffffffffffffffffff0f010302011001000105
+4d454c0021010056ff3001ffffffffffffffffffffffff0f010302011001000104
+4d454c0021010057ff3001ffffffffffffffffffffffff0f010302011001000107
+4d454c0021010058ff3001ffffffffffffffffffffffff0f010302011001000106
+4d454c0021010059ff3001ffffffffffffffffffffffff0f010302011001000139
+4d454c002101005aff3001ffffffffffffffffffffffff0f010302011001000138
+4d454c002101005bff3001ffffffffffffffffffffffff0f01030201100100013b
+4d454c002101005cff3001ffffffffffffffffffffffff0f01030201100100013a
+4d454c002101005dff3001ffffffffffffffffffffffff0f01030201100100013d
+4d454c002101005eff3001ffffffffffffffffffffffff0f01030201100100013c
+4d454c002101005fff3001ffffffffffffffffffffffff0f01030201100100013f
+4d454c0021010060ff3001ffffffffffffffffffffffff0f01030201100100013e
+4d454c0021010061ff3001ffffffffffffffffffffffff0f010302011001000131
+4d454c0021010062ff3001ffffffffffffffffffffffff0f010302011001000130
+4d454c0021010063ff3001ffffffffffffffffffffffff0f010302011001000133
+4d454c0021010064ff3001ffffffffffffffffffffffff0f010302011001000132
+4d454c0021010065ff3001ffffffffffffffffffffffff0f010302011001000135
+4d454c0021010066ff3001ffffffffffffffffffffffff0f010302011001000134
+4d454c0021010067ff3001ffffffffffffffffffffffff0f010302011001000137
+4d454c0021010068ff3001ffffffffffffffffffffffff0f010302011001000136
+4d454c0021010069ff3001ffffffffffffffffffffffff0f010302011001000129
+4d454c002101006aff3001ffffffffffffffffffffffff0f010302011001000128
+4d454c002101006bff3001ffffffffffffffffffffffff0f01030201100100012b
+4d454c002101006cff3001ffffffffffffffffffffffff0f01030201100100012a
+4d454c002101006dff3001ffffffffffffffffffffffff0f01030201100100012d
+4d454c002101006eff3001ffffffffffffffffffffffff0f01030201100100012c
+4d454c002101006fff3001ffffffffffffffffffffffff0f01030201100100012f
+4d454c0021010070ff3001ffffffffffffffffffffffff0f01030201100100012e
+4d454c0021010071ff3001ffffffffffffffffffffffff0f010302011001000121
+4d454c0021010072ff3001ffffffffffffffffffffffff0f010302011001000120
+4d454c0021010073ff3001ffffffffffffffffffffffff0f010302011001000123
+4d454c0021010074ff3001ffffffffffffffffffffffff0f010302011001000122
+4d454c0021010075ff3001ffffffffffffffffffffffff0f010302011001000125
+4d454c0021010076ff3001ffffffffffffffffffffffff0f010302011001000124
+4d454c0021010077ff3001ffffffffffffffffffffffff0f010302011001000127
+4d454c0021010078ff3001ffffffffffffffffffffffff0f010302011001000126
+4d454c0021010079ff3001ffffffffffffffffffffffff0f0103020110010001d9
+4d454c002101007aff3001ffffffffffffffffffffffff0f0103020110010001d8
+4d454c002101007bff3001ffffffffffffffffffffffff0f0103020110010001db
+4d454c002101007cff3001ffffffffffffffffffffffff0f0103020110010001da
+4d454c002101007dff3001ffffffffffffffffffffffff0f0103020110010001dd
+4d454c002101007eff3001ffffffffffffffffffffffff0f0103020110010001dc
+4d454c002101007fff3001ffffffffffffffffffffffff0f0103020110010001df
+4d454c0021010080ff3001ffffffffffffffffffffffff0f0103020110010001de
+4d454c0021010081ff3001ffffffffffffffffffffffff0f0103020110010001d1
+4d454c0021010082ff3001ffffffffffffffffffffffff0f0103020110010001d0
+4d454c0021010083ff3001ffffffffffffffffffffffff0f0103020110010001d3
+4d454c0021010084ff3001ffffffffffffffffffffffff0f0103020110010001d2
+4d454c0021010085ff3001ffffffffffffffffffffffff0f0103020110010001d5
+4d454c0021010086ff3001ffffffffffffffffffffffff0f0103020110010001d4
+4d454c0021010087ff3001ffffffffffffffffffffffff0f0103020110010001d7
+4d454c0021010088ff3001ffffffffffffffffffffffff0f0103020110010001d6
+4d454c0021010089ff3001ffffffffffffffffffffffff0f0103020110010001c9
+4d454c002101008aff3001ffffffffffffffffffffffff0f0103020110010001c8
+4d454c002101008bff3001ffffffffffffffffffffffff0f0103020110010001cb
+4d454c002101008cff3001ffffffffffffffffffffffff0f0103020110010001ca
+4d454c002101008dff3001ffffffffffffffffffffffff0f0103020110010001cd
+4d454c002101008eff3001ffffffffffffffffffffffff0f0103020110010001cc
+4d454c002101008fff3001ffffffffffffffffffffffff0f0103020110010001cf
+4d454c0021010090ff3001ffffffffffffffffffffffff0f0103020110010001ce
+4d454c0021010091ff3001ffffffffffffffffffffffff0f0103020110010001c1
+4d454c0021010092ff3001ffffffffffffffffffffffff0f0103020110010001c0
+4d454c0021010093ff3001ffffffffffffffffffffffff0f0103020110010001c3
+4d454c0021010094ff3001ffffffffffffffffffffffff0f0103020110010001c2
+4d454c0021010095ff3001ffffffffffffffffffffffff0f0103020110010001c5
+4d454c0021010096ff3001ffffffffffffffffffffffff0f0103020110010001c4
+4d454c0021010097ff3001ffffffffffffffffffffffff0f0103020110010001c7
+4d454c0021010098ff3001ffffffffffffffffffffffff0f0103020110010001c6
+4d454c0021010099ff3001ffffffffffffffffffffffff0f0103020110010001f9
+4d454c002101009aff3001ffffffffffffffffffffffff0f0103020110010001f8
+4d454c002101009bff3001ffffffffffffffffffffffff0f0103020110010001fb
+4d454c002101009cff3001ffffffffffffffffffffffff0f0103020110010001fa
+4d454c002101009dff3001ffffffffffffffffffffffff0f0103020110010001fd
+4d454c002101009eff3001ffffffffffffffffffffffff0f0103020110010001fc
+4d454c002101009fff3001ffffffffffffffffffffffff0f0103020110010001ff
+4d454c00210100a0ff3001ffffffffffffffffffffffff0f0103020110010001fe
+4d454c00210100a1ff3001ffffffffffffffffffffffff0f0103020110010001f1
+4d454c00210100a2ff3001ffffffffffffffffffffffff0f0103020110010001f0
+4d454c00210100a3ff3001ffffffffffffffffffffffff0f0103020110010001f3
+4d454c00210100a4ff3001ffffffffffffffffffffffff0f0103020110010001f2
+4d454c00210100a5ff3001ffffffffffffffffffffffff0f0103020110010001f5
+4d454c00210100a6ff3001ffffffffffffffffffffffff0f0103020110010001f4
+4d454c00210100a7ff3001ffffffffffffffffffffffff0f0103020110010001f7
+4d454c00210100a8ff3001ffffffffffffffffffffffff0f0103020110010001f6
+4d454c00210100a9ff3001ffffffffffffffffffffffff0f0103020110010001e9
+4d454c00210100aaff3001ffffffffffffffffffffffff0f0103020110010001e8
+4d454c00210100abff3001ffffffffffffffffffffffff0f0103020110010001eb
+4d454c00210100acff3001ffffffffffffffffffffffff0f0103020110010001ea
+4d454c00210100adff3001ffffffffffffffffffffffff0f0103020110010001ed
+4d454c00210100aeff3001ffffffffffffffffffffffff0f0103020110010001ec
+4d454c00210100afff3001ffffffffffffffffffffffff0f0103020110010001ef
+4d454c00210100b0ff3001ffffffffffffffffffffffff0f0103020110010001ee
+4d454c00210100b1ff3001ffffffffffffffffffffffff0f0103020110010001e1
+4d454c00210100b2ff3001ffffffffffffffffffffffff0f0103020110010001e0
+4d454c00210100b3ff3001ffffffffffffffffffffffff0f0103020110010001e3
+4d454c00210100b4ff3001ffffffffffffffffffffffff0f0103020110010001e2
+4d454c00210100b5ff3001ffffffffffffffffffffffff0f0103020110010001e5
+4d454c00210100b6ff3001ffffffffffffffffffffffff0f0103020110010001e4
+4d454c00210100b7ff3001ffffffffffffffffffffffff0f0103020110010001e7
+4d454c00210100b8ff3001ffffffffffffffffffffffff0f0103020110010001e6
+4d454c00210100b9ff3001ffffffffffffffffffffffff0f010302011001000199
+4d454c00210100baff3001ffffffffffffffffffffffff0f010302011001000198
+4d454c00210100bbff3001ffffffffffffffffffffffff0f01030201100100019b
+4d454c00210100bcff3001ffffffffffffffffffffffff0f01030201100100019a
+4d454c00210100bdff3001ffffffffffffffffffffffff0f01030201100100019d
+4d454c00210100beff3001ffffffffffffffffffffffff0f01030201100100019c
+4d454c00210100bfff3001ffffffffffffffffffffffff0f01030201100100019f
+4d454c00210100c0ff3001ffffffffffffffffffffffff0f01030201100100019e
+4d454c00210100c1ff3001ffffffffffffffffffffffff0f010302011001000191
+4d454c00210100c2ff3001ffffffffffffffffffffffff0f010302011001000190
+4d454c00210100c3ff3001ffffffffffffffffffffffff0f010302011001000193
+4d454c00210100c4ff3001ffffffffffffffffffffffff0f010302011001000192
+4d454c00210100c5ff3001ffffffffffffffffffffffff0f010302011001000195
+4d454c00210100c6ff3001ffffffffffffffffffffffff0f010302011001000194
+4d454c00210100c7ff3001ffffffffffffffffffffffff0f010302011001000197
+4d454c00210100c8ff3001ffffffffffffffffffffffff0f010302011001000196
+4d454c00210100c9ff3001ffffffffffffffffffffffff0f010302011001000189
+4d454c00210100caff3001ffffffffffffffffffffffff0f010302011001000188
+4d454c00210100cbff3001ffffffffffffffffffffffff0f01030201100100018b
+4d454c00210100ccff3001ffffffffffffffffffffffff0f01030201100100018a
+4d454c00210100cdff3001ffffffffffffffffffffffff0f01030201100100018d
+4d454c00210100ceff3001ffffffffffffffffffffffff0f01030201100100018c
+4d454c00210100cfff3001ffffffffffffffffffffffff0f01030201100100018f
+4d454c00210100d0ff3001ffffffffffffffffffffffff0f01030201100100018e
+4d454c00210100d1ff3001ffffffffffffffffffffffff0f010302011001000181
+4d454c00210100d2ff3001ffffffffffffffffffffffff0f010302011001000180
+4d454c00210100d3ff3001ffffffffffffffffffffffff0f010302011001000183
+4d454c00210100d4ff3001ffffffffffffffffffffffff0f010302011001000182
+4d454c00210100d5ff3001ffffffffffffffffffffffff0f010302011001000185
+4d454c00210100d6ff3001ffffffffffffffffffffffff0f010302011001000184
+4d454c00210100d7ff3001ffffffffffffffffffffffff0f010302011001000187
+4d454c00210100d8ff3001ffffffffffffffffffffffff0f010302011001000186
+4d454c00210100d9ff3001ffffffffffffffffffffffff0f0103020110010001b9
+4d454c00210100daff3001ffffffffffffffffffffffff0f0103020110010001b8
+4d454c00210100dbff3001ffffffffffffffffffffffff0f0103020110010001bb
+4d454c00210100dcff3001ffffffffffffffffffffffff0f0103020110010001ba
+4d454c00210100ddff3001ffffffffffffffffffffffff0f0103020110010001bd
+4d454c00210100deff3001ffffffffffffffffffffffff0f0103020110010001bc
+4d454c00210100dfff3001ffffffffffffffffffffffff0f0103020110010001bf
+4d454c00210100e0ff3001ffffffffffffffffffffffff0f0103020110010001be
+4d454c00210100e1ff3001ffffffffffffffffffffffff0f0103020110010001b1
+4d454c00210100e2ff3001ffffffffffffffffffffffff0f0103020110010001b0
+4d454c00210100e3ff3001ffffffffffffffffffffffff0f0103020110010001b3
+4d454c00210100e4ff3001ffffffffffffffffffffffff0f0103020110010001b2
+4d454c00210100e5ff3001ffffffffffffffffffffffff0f0103020110010001b5
+4d454c00210100e6ff3001ffffffffffffffffffffffff0f0103020110010001b4
+4d454c00210100e7ff3001ffffffffffffffffffffffff0f0103020110010001b7
+4d454c00210100e8ff3001ffffffffffffffffffffffff0f0103020110010001b6
+4d454c00210100e9ff3001ffffffffffffffffffffffff0f0103020110010001a9
+4d454c00210100eaff3001ffffffffffffffffffffffff0f0103020110010001a8
+4d454c00210100ebff3001ffffffffffffffffffffffff0f0103020110010001ab
+4d454c00210100ecff3001ffffffffffffffffffffffff0f0103020110010001aa
+4d454c00210100edff3001ffffffffffffffffffffffff0f0103020110010001ad
+4d454c00210100eeff3001ffffffffffffffffffffffff0f0103020110010001ac
+4d454c00210100efff3001ffffffffffffffffffffffff0f0103020110010001af
+4d454c00210100f0ff3001ffffffffffffffffffffffff0f0103020110010001ae
+4d454c00210100f1ff3001ffffffffffffffffffffffff0f0103020110010001a1
+4d454c00210100f2ff3001ffffffffffffffffffffffff0f0103020110010001a0
+4d454c00210100f3ff3001ffffffffffffffffffffffff0f0103020110010001a3
+4d454c00210100f4ff3001ffffffffffffffffffffffff0f0103020110010001a2
+4d454c00210100f5ff3001ffffffffffffffffffffffff0f0103020110010001a5
+4d454c00210100f6ff3001ffffffffffffffffffffffff0f0103020110010001a4
+4d454c00210100f7ff3001ffffffffffffffffffffffff0f0103020110010001a7
+4d454c00210100f8ff3001ffffffffffffffffffffffff0f0103020110010001a6
+4d454c00210100f9ff3001ffffffffffffffffffffffff0f010302011001000059
+4d454c00210100faff3001ffffffffffffffffffffffff0f010302011001000058
+4d454c00210100fbff3001ffffffffffffffffffffffff0f01030201100100005b
+4d454c00210100fcff3001ffffffffffffffffffffffff0f01030201100100005a
+4d454c00210100fdff3001ffffffffffffffffffffffff0f01030201100100005d
+4d454c00210100feff3001ffffffffffffffffffffffff0f01030201100100005c
+4d454c00210100ffff3001ffffffffffffffffffffffff0f01030201100100005f

+ 256 - 0
research/bad-bruteforcing/grouped/melody-16-vol3-once-zone-all.txt

@@ -0,0 +1,256 @@
+4d454c0021010000ff3001ffffffffffffffffffffffff0f010301011001000159
+4d454c0021010001ff3001ffffffffffffffffffffffff0f010301011001000156
+4d454c0021010002ff3001ffffffffffffffffffffffff0f010301011001000157
+4d454c0021010003ff3001ffffffffffffffffffffffff0f010301011001000154
+4d454c0021010004ff3001ffffffffffffffffffffffff0f010301011001000155
+4d454c0021010005ff3001ffffffffffffffffffffffff0f010301011001000152
+4d454c0021010006ff3001ffffffffffffffffffffffff0f010301011001000153
+4d454c0021010007ff3001ffffffffffffffffffffffff0f010301011001000150
+4d454c0021010008ff3001ffffffffffffffffffffffff0f010301011001000151
+4d454c0021010009ff3001ffffffffffffffffffffffff0f01030101100100014e
+4d454c002101000aff3001ffffffffffffffffffffffff0f01030101100100014f
+4d454c002101000bff3001ffffffffffffffffffffffff0f01030101100100014c
+4d454c002101000cff3001ffffffffffffffffffffffff0f01030101100100014d
+4d454c002101000dff3001ffffffffffffffffffffffff0f01030101100100014a
+4d454c002101000eff3001ffffffffffffffffffffffff0f01030101100100014b
+4d454c002101000fff3001ffffffffffffffffffffffff0f010301011001000148
+4d454c0021010010ff3001ffffffffffffffffffffffff0f010301011001000149
+4d454c0021010011ff3001ffffffffffffffffffffffff0f010301011001000146
+4d454c0021010012ff3001ffffffffffffffffffffffff0f010301011001000147
+4d454c0021010013ff3001ffffffffffffffffffffffff0f010301011001000144
+4d454c0021010014ff3001ffffffffffffffffffffffff0f010301011001000145
+4d454c0021010015ff3001ffffffffffffffffffffffff0f010301011001000142
+4d454c0021010016ff3001ffffffffffffffffffffffff0f010301011001000143
+4d454c0021010017ff3001ffffffffffffffffffffffff0f010301011001000140
+4d454c0021010018ff3001ffffffffffffffffffffffff0f010301011001000141
+4d454c0021010019ff3001ffffffffffffffffffffffff0f01030101100100017e
+4d454c002101001aff3001ffffffffffffffffffffffff0f01030101100100017f
+4d454c002101001bff3001ffffffffffffffffffffffff0f01030101100100017c
+4d454c002101001cff3001ffffffffffffffffffffffff0f01030101100100017d
+4d454c002101001dff3001ffffffffffffffffffffffff0f01030101100100017a
+4d454c002101001eff3001ffffffffffffffffffffffff0f01030101100100017b
+4d454c002101001fff3001ffffffffffffffffffffffff0f010301011001000178
+4d454c0021010020ff3001ffffffffffffffffffffffff0f010301011001000179
+4d454c0021010021ff3001ffffffffffffffffffffffff0f010301011001000176
+4d454c0021010022ff3001ffffffffffffffffffffffff0f010301011001000177
+4d454c0021010023ff3001ffffffffffffffffffffffff0f010301011001000174
+4d454c0021010024ff3001ffffffffffffffffffffffff0f010301011001000175
+4d454c0021010025ff3001ffffffffffffffffffffffff0f010301011001000172
+4d454c0021010026ff3001ffffffffffffffffffffffff0f010301011001000173
+4d454c0021010027ff3001ffffffffffffffffffffffff0f010301011001000170
+4d454c0021010028ff3001ffffffffffffffffffffffff0f010301011001000171
+4d454c0021010029ff3001ffffffffffffffffffffffff0f01030101100100016e
+4d454c002101002aff3001ffffffffffffffffffffffff0f01030101100100016f
+4d454c002101002bff3001ffffffffffffffffffffffff0f01030101100100016c
+4d454c002101002cff3001ffffffffffffffffffffffff0f01030101100100016d
+4d454c002101002dff3001ffffffffffffffffffffffff0f01030101100100016a
+4d454c002101002eff3001ffffffffffffffffffffffff0f01030101100100016b
+4d454c002101002fff3001ffffffffffffffffffffffff0f010301011001000168
+4d454c0021010030ff3001ffffffffffffffffffffffff0f010301011001000169
+4d454c0021010031ff3001ffffffffffffffffffffffff0f010301011001000166
+4d454c0021010032ff3001ffffffffffffffffffffffff0f010301011001000167
+4d454c0021010033ff3001ffffffffffffffffffffffff0f010301011001000164
+4d454c0021010034ff3001ffffffffffffffffffffffff0f010301011001000165
+4d454c0021010035ff3001ffffffffffffffffffffffff0f010301011001000162
+4d454c0021010036ff3001ffffffffffffffffffffffff0f010301011001000163
+4d454c0021010037ff3001ffffffffffffffffffffffff0f010301011001000160
+4d454c0021010038ff3001ffffffffffffffffffffffff0f010301011001000161
+4d454c0021010039ff3001ffffffffffffffffffffffff0f01030101100100011e
+4d454c002101003aff3001ffffffffffffffffffffffff0f01030101100100011f
+4d454c002101003bff3001ffffffffffffffffffffffff0f01030101100100011c
+4d454c002101003cff3001ffffffffffffffffffffffff0f01030101100100011d
+4d454c002101003dff3001ffffffffffffffffffffffff0f01030101100100011a
+4d454c002101003eff3001ffffffffffffffffffffffff0f01030101100100011b
+4d454c002101003fff3001ffffffffffffffffffffffff0f010301011001000118
+4d454c0021010040ff3001ffffffffffffffffffffffff0f010301011001000119
+4d454c0021010041ff3001ffffffffffffffffffffffff0f010301011001000116
+4d454c0021010042ff3001ffffffffffffffffffffffff0f010301011001000117
+4d454c0021010043ff3001ffffffffffffffffffffffff0f010301011001000114
+4d454c0021010044ff3001ffffffffffffffffffffffff0f010301011001000115
+4d454c0021010045ff3001ffffffffffffffffffffffff0f010301011001000112
+4d454c0021010046ff3001ffffffffffffffffffffffff0f010301011001000113
+4d454c0021010047ff3001ffffffffffffffffffffffff0f010301011001000110
+4d454c0021010048ff3001ffffffffffffffffffffffff0f010301011001000111
+4d454c0021010049ff3001ffffffffffffffffffffffff0f01030101100100010e
+4d454c002101004aff3001ffffffffffffffffffffffff0f01030101100100010f
+4d454c002101004bff3001ffffffffffffffffffffffff0f01030101100100010c
+4d454c002101004cff3001ffffffffffffffffffffffff0f01030101100100010d
+4d454c002101004dff3001ffffffffffffffffffffffff0f01030101100100010a
+4d454c002101004eff3001ffffffffffffffffffffffff0f01030101100100010b
+4d454c002101004fff3001ffffffffffffffffffffffff0f010301011001000108
+4d454c0021010050ff3001ffffffffffffffffffffffff0f010301011001000109
+4d454c0021010051ff3001ffffffffffffffffffffffff0f010301011001000106
+4d454c0021010052ff3001ffffffffffffffffffffffff0f010301011001000107
+4d454c0021010053ff3001ffffffffffffffffffffffff0f010301011001000104
+4d454c0021010054ff3001ffffffffffffffffffffffff0f010301011001000105
+4d454c0021010055ff3001ffffffffffffffffffffffff0f010301011001000102
+4d454c0021010056ff3001ffffffffffffffffffffffff0f010301011001000103
+4d454c0021010057ff3001ffffffffffffffffffffffff0f010301011001000100
+4d454c0021010058ff3001ffffffffffffffffffffffff0f010301011001000101
+4d454c0021010059ff3001ffffffffffffffffffffffff0f01030101100100013e
+4d454c002101005aff3001ffffffffffffffffffffffff0f01030101100100013f
+4d454c002101005bff3001ffffffffffffffffffffffff0f01030101100100013c
+4d454c002101005cff3001ffffffffffffffffffffffff0f01030101100100013d
+4d454c002101005dff3001ffffffffffffffffffffffff0f01030101100100013a
+4d454c002101005eff3001ffffffffffffffffffffffff0f01030101100100013b
+4d454c002101005fff3001ffffffffffffffffffffffff0f010301011001000138
+4d454c0021010060ff3001ffffffffffffffffffffffff0f010301011001000139
+4d454c0021010061ff3001ffffffffffffffffffffffff0f010301011001000136
+4d454c0021010062ff3001ffffffffffffffffffffffff0f010301011001000137
+4d454c0021010063ff3001ffffffffffffffffffffffff0f010301011001000134
+4d454c0021010064ff3001ffffffffffffffffffffffff0f010301011001000135
+4d454c0021010065ff3001ffffffffffffffffffffffff0f010301011001000132
+4d454c0021010066ff3001ffffffffffffffffffffffff0f010301011001000133
+4d454c0021010067ff3001ffffffffffffffffffffffff0f010301011001000130
+4d454c0021010068ff3001ffffffffffffffffffffffff0f010301011001000131
+4d454c0021010069ff3001ffffffffffffffffffffffff0f01030101100100012e
+4d454c002101006aff3001ffffffffffffffffffffffff0f01030101100100012f
+4d454c002101006bff3001ffffffffffffffffffffffff0f01030101100100012c
+4d454c002101006cff3001ffffffffffffffffffffffff0f01030101100100012d
+4d454c002101006dff3001ffffffffffffffffffffffff0f01030101100100012a
+4d454c002101006eff3001ffffffffffffffffffffffff0f01030101100100012b
+4d454c002101006fff3001ffffffffffffffffffffffff0f010301011001000128
+4d454c0021010070ff3001ffffffffffffffffffffffff0f010301011001000129
+4d454c0021010071ff3001ffffffffffffffffffffffff0f010301011001000126
+4d454c0021010072ff3001ffffffffffffffffffffffff0f010301011001000127
+4d454c0021010073ff3001ffffffffffffffffffffffff0f010301011001000124
+4d454c0021010074ff3001ffffffffffffffffffffffff0f010301011001000125
+4d454c0021010075ff3001ffffffffffffffffffffffff0f010301011001000122
+4d454c0021010076ff3001ffffffffffffffffffffffff0f010301011001000123
+4d454c0021010077ff3001ffffffffffffffffffffffff0f010301011001000120
+4d454c0021010078ff3001ffffffffffffffffffffffff0f010301011001000121
+4d454c0021010079ff3001ffffffffffffffffffffffff0f0103010110010001de
+4d454c002101007aff3001ffffffffffffffffffffffff0f0103010110010001df
+4d454c002101007bff3001ffffffffffffffffffffffff0f0103010110010001dc
+4d454c002101007cff3001ffffffffffffffffffffffff0f0103010110010001dd
+4d454c002101007dff3001ffffffffffffffffffffffff0f0103010110010001da
+4d454c002101007eff3001ffffffffffffffffffffffff0f0103010110010001db
+4d454c002101007fff3001ffffffffffffffffffffffff0f0103010110010001d8
+4d454c0021010080ff3001ffffffffffffffffffffffff0f0103010110010001d9
+4d454c0021010081ff3001ffffffffffffffffffffffff0f0103010110010001d6
+4d454c0021010082ff3001ffffffffffffffffffffffff0f0103010110010001d7
+4d454c0021010083ff3001ffffffffffffffffffffffff0f0103010110010001d4
+4d454c0021010084ff3001ffffffffffffffffffffffff0f0103010110010001d5
+4d454c0021010085ff3001ffffffffffffffffffffffff0f0103010110010001d2
+4d454c0021010086ff3001ffffffffffffffffffffffff0f0103010110010001d3
+4d454c0021010087ff3001ffffffffffffffffffffffff0f0103010110010001d0
+4d454c0021010088ff3001ffffffffffffffffffffffff0f0103010110010001d1
+4d454c0021010089ff3001ffffffffffffffffffffffff0f0103010110010001ce
+4d454c002101008aff3001ffffffffffffffffffffffff0f0103010110010001cf
+4d454c002101008bff3001ffffffffffffffffffffffff0f0103010110010001cc
+4d454c002101008cff3001ffffffffffffffffffffffff0f0103010110010001cd
+4d454c002101008dff3001ffffffffffffffffffffffff0f0103010110010001ca
+4d454c002101008eff3001ffffffffffffffffffffffff0f0103010110010001cb
+4d454c002101008fff3001ffffffffffffffffffffffff0f0103010110010001c8
+4d454c0021010090ff3001ffffffffffffffffffffffff0f0103010110010001c9
+4d454c0021010091ff3001ffffffffffffffffffffffff0f0103010110010001c6
+4d454c0021010092ff3001ffffffffffffffffffffffff0f0103010110010001c7
+4d454c0021010093ff3001ffffffffffffffffffffffff0f0103010110010001c4
+4d454c0021010094ff3001ffffffffffffffffffffffff0f0103010110010001c5
+4d454c0021010095ff3001ffffffffffffffffffffffff0f0103010110010001c2
+4d454c0021010096ff3001ffffffffffffffffffffffff0f0103010110010001c3
+4d454c0021010097ff3001ffffffffffffffffffffffff0f0103010110010001c0
+4d454c0021010098ff3001ffffffffffffffffffffffff0f0103010110010001c1
+4d454c0021010099ff3001ffffffffffffffffffffffff0f0103010110010001fe
+4d454c002101009aff3001ffffffffffffffffffffffff0f0103010110010001ff
+4d454c002101009bff3001ffffffffffffffffffffffff0f0103010110010001fc
+4d454c002101009cff3001ffffffffffffffffffffffff0f0103010110010001fd
+4d454c002101009dff3001ffffffffffffffffffffffff0f0103010110010001fa
+4d454c002101009eff3001ffffffffffffffffffffffff0f0103010110010001fb
+4d454c002101009fff3001ffffffffffffffffffffffff0f0103010110010001f8
+4d454c00210100a0ff3001ffffffffffffffffffffffff0f0103010110010001f9
+4d454c00210100a1ff3001ffffffffffffffffffffffff0f0103010110010001f6
+4d454c00210100a2ff3001ffffffffffffffffffffffff0f0103010110010001f7
+4d454c00210100a3ff3001ffffffffffffffffffffffff0f0103010110010001f4
+4d454c00210100a4ff3001ffffffffffffffffffffffff0f0103010110010001f5
+4d454c00210100a5ff3001ffffffffffffffffffffffff0f0103010110010001f2
+4d454c00210100a6ff3001ffffffffffffffffffffffff0f0103010110010001f3
+4d454c00210100a7ff3001ffffffffffffffffffffffff0f0103010110010001f0
+4d454c00210100a8ff3001ffffffffffffffffffffffff0f0103010110010001f1
+4d454c00210100a9ff3001ffffffffffffffffffffffff0f0103010110010001ee
+4d454c00210100aaff3001ffffffffffffffffffffffff0f0103010110010001ef
+4d454c00210100abff3001ffffffffffffffffffffffff0f0103010110010001ec
+4d454c00210100acff3001ffffffffffffffffffffffff0f0103010110010001ed
+4d454c00210100adff3001ffffffffffffffffffffffff0f0103010110010001ea
+4d454c00210100aeff3001ffffffffffffffffffffffff0f0103010110010001eb
+4d454c00210100afff3001ffffffffffffffffffffffff0f0103010110010001e8
+4d454c00210100b0ff3001ffffffffffffffffffffffff0f0103010110010001e9
+4d454c00210100b1ff3001ffffffffffffffffffffffff0f0103010110010001e6
+4d454c00210100b2ff3001ffffffffffffffffffffffff0f0103010110010001e7
+4d454c00210100b3ff3001ffffffffffffffffffffffff0f0103010110010001e4
+4d454c00210100b4ff3001ffffffffffffffffffffffff0f0103010110010001e5
+4d454c00210100b5ff3001ffffffffffffffffffffffff0f0103010110010001e2
+4d454c00210100b6ff3001ffffffffffffffffffffffff0f0103010110010001e3
+4d454c00210100b7ff3001ffffffffffffffffffffffff0f0103010110010001e0
+4d454c00210100b8ff3001ffffffffffffffffffffffff0f0103010110010001e1
+4d454c00210100b9ff3001ffffffffffffffffffffffff0f01030101100100019e
+4d454c00210100baff3001ffffffffffffffffffffffff0f01030101100100019f
+4d454c00210100bbff3001ffffffffffffffffffffffff0f01030101100100019c
+4d454c00210100bcff3001ffffffffffffffffffffffff0f01030101100100019d
+4d454c00210100bdff3001ffffffffffffffffffffffff0f01030101100100019a
+4d454c00210100beff3001ffffffffffffffffffffffff0f01030101100100019b
+4d454c00210100bfff3001ffffffffffffffffffffffff0f010301011001000198
+4d454c00210100c0ff3001ffffffffffffffffffffffff0f010301011001000199
+4d454c00210100c1ff3001ffffffffffffffffffffffff0f010301011001000196
+4d454c00210100c2ff3001ffffffffffffffffffffffff0f010301011001000197
+4d454c00210100c3ff3001ffffffffffffffffffffffff0f010301011001000194
+4d454c00210100c4ff3001ffffffffffffffffffffffff0f010301011001000195
+4d454c00210100c5ff3001ffffffffffffffffffffffff0f010301011001000192
+4d454c00210100c6ff3001ffffffffffffffffffffffff0f010301011001000193
+4d454c00210100c7ff3001ffffffffffffffffffffffff0f010301011001000190
+4d454c00210100c8ff3001ffffffffffffffffffffffff0f010301011001000191
+4d454c00210100c9ff3001ffffffffffffffffffffffff0f01030101100100018e
+4d454c00210100caff3001ffffffffffffffffffffffff0f01030101100100018f
+4d454c00210100cbff3001ffffffffffffffffffffffff0f01030101100100018c
+4d454c00210100ccff3001ffffffffffffffffffffffff0f01030101100100018d
+4d454c00210100cdff3001ffffffffffffffffffffffff0f01030101100100018a
+4d454c00210100ceff3001ffffffffffffffffffffffff0f01030101100100018b
+4d454c00210100cfff3001ffffffffffffffffffffffff0f010301011001000188
+4d454c00210100d0ff3001ffffffffffffffffffffffff0f010301011001000189
+4d454c00210100d1ff3001ffffffffffffffffffffffff0f010301011001000186
+4d454c00210100d2ff3001ffffffffffffffffffffffff0f010301011001000187
+4d454c00210100d3ff3001ffffffffffffffffffffffff0f010301011001000184
+4d454c00210100d4ff3001ffffffffffffffffffffffff0f010301011001000185
+4d454c00210100d5ff3001ffffffffffffffffffffffff0f010301011001000182
+4d454c00210100d6ff3001ffffffffffffffffffffffff0f010301011001000183
+4d454c00210100d7ff3001ffffffffffffffffffffffff0f010301011001000180
+4d454c00210100d8ff3001ffffffffffffffffffffffff0f010301011001000181
+4d454c00210100d9ff3001ffffffffffffffffffffffff0f0103010110010001be
+4d454c00210100daff3001ffffffffffffffffffffffff0f0103010110010001bf
+4d454c00210100dbff3001ffffffffffffffffffffffff0f0103010110010001bc
+4d454c00210100dcff3001ffffffffffffffffffffffff0f0103010110010001bd
+4d454c00210100ddff3001ffffffffffffffffffffffff0f0103010110010001ba
+4d454c00210100deff3001ffffffffffffffffffffffff0f0103010110010001bb
+4d454c00210100dfff3001ffffffffffffffffffffffff0f0103010110010001b8
+4d454c00210100e0ff3001ffffffffffffffffffffffff0f0103010110010001b9
+4d454c00210100e1ff3001ffffffffffffffffffffffff0f0103010110010001b6
+4d454c00210100e2ff3001ffffffffffffffffffffffff0f0103010110010001b7
+4d454c00210100e3ff3001ffffffffffffffffffffffff0f0103010110010001b4
+4d454c00210100e4ff3001ffffffffffffffffffffffff0f0103010110010001b5
+4d454c00210100e5ff3001ffffffffffffffffffffffff0f0103010110010001b2
+4d454c00210100e6ff3001ffffffffffffffffffffffff0f0103010110010001b3
+4d454c00210100e7ff3001ffffffffffffffffffffffff0f0103010110010001b0
+4d454c00210100e8ff3001ffffffffffffffffffffffff0f0103010110010001b1
+4d454c00210100e9ff3001ffffffffffffffffffffffff0f0103010110010001ae
+4d454c00210100eaff3001ffffffffffffffffffffffff0f0103010110010001af
+4d454c00210100ebff3001ffffffffffffffffffffffff0f0103010110010001ac
+4d454c00210100ecff3001ffffffffffffffffffffffff0f0103010110010001ad
+4d454c00210100edff3001ffffffffffffffffffffffff0f0103010110010001aa
+4d454c00210100eeff3001ffffffffffffffffffffffff0f0103010110010001ab
+4d454c00210100efff3001ffffffffffffffffffffffff0f0103010110010001a8
+4d454c00210100f0ff3001ffffffffffffffffffffffff0f0103010110010001a9
+4d454c00210100f1ff3001ffffffffffffffffffffffff0f0103010110010001a6
+4d454c00210100f2ff3001ffffffffffffffffffffffff0f0103010110010001a7
+4d454c00210100f3ff3001ffffffffffffffffffffffff0f0103010110010001a4
+4d454c00210100f4ff3001ffffffffffffffffffffffff0f0103010110010001a5
+4d454c00210100f5ff3001ffffffffffffffffffffffff0f0103010110010001a2
+4d454c00210100f6ff3001ffffffffffffffffffffffff0f0103010110010001a3
+4d454c00210100f7ff3001ffffffffffffffffffffffff0f0103010110010001a0
+4d454c00210100f8ff3001ffffffffffffffffffffffff0f0103010110010001a1
+4d454c00210100f9ff3001ffffffffffffffffffffffff0f01030101100100005e
+4d454c00210100faff3001ffffffffffffffffffffffff0f01030101100100005f
+4d454c00210100fbff3001ffffffffffffffffffffffff0f01030101100100005c
+4d454c00210100fcff3001ffffffffffffffffffffffff0f01030101100100005d
+4d454c00210100fdff3001ffffffffffffffffffffffff0f01030101100100005a
+4d454c00210100feff3001ffffffffffffffffffffffff0f01030101100100005b
+4d454c00210100ffff3001ffffffffffffffffffffffff0f010301011001000058

+ 7 - 0
research/bad-bruteforcing/grouped/melody15-repeat3-zone8-volume-increments.txt

@@ -0,0 +1,7 @@
+4d454c0021010000ff300180000000000000000000000000010103010f010001f3
+4d454c0021010000ff300180000000000000000000000000010203010f010001f1
+4d454c0021010000ff300180000000000000000000000000010303010f010001f5
+4d454c0021010000ff300180000000000000000000000000010403010f010001f4
+4d454c0021010000ff300180000000000000000000000000010503010f010001f7
+4d454c0021010000ff300180000000000000000000000000010603010f010001f6
+4d454c0021010000ff300180000000000000000000000000010703010f010001c9

+ 256 - 0
research/bad-bruteforcing/grouped/melody15-vol3-repeat2-zone16-sequecnce.txt

@@ -0,0 +1,256 @@
+4d454c0021010000ff300100800000000000000000000000010302010f010001f4
+4d454c0021010001ff300100800000000000000000000000010302010f010001fb
+4d454c0021010002ff300100800000000000000000000000010302010f010001fa
+4d454c0021010003ff300100800000000000000000000000010302010f010001f9
+4d454c0021010004ff300100800000000000000000000000010302010f010001f8
+4d454c0021010005ff300100800000000000000000000000010302010f010001ff
+4d454c0021010006ff300100800000000000000000000000010302010f010001fe
+4d454c0021010007ff300100800000000000000000000000010302010f010001fd
+4d454c0021010008ff300100800000000000000000000000010302010f010001fc
+4d454c0021010009ff300100800000000000000000000000010302010f010001e3
+4d454c002101000aff300100800000000000000000000000010302010f010001e2
+4d454c002101000bff300100800000000000000000000000010302010f010001e1
+4d454c002101000cff300100800000000000000000000000010302010f010001e0
+4d454c002101000dff300100800000000000000000000000010302010f010001e7
+4d454c002101000eff300100800000000000000000000000010302010f010001e6
+4d454c002101000fff300100800000000000000000000000010302010f010001e5
+4d454c0021010010ff300100800000000000000000000000010302010f010001e4
+4d454c0021010011ff300100800000000000000000000000010302010f010001eb
+4d454c0021010012ff300100800000000000000000000000010302010f010001ea
+4d454c0021010013ff300100800000000000000000000000010302010f010001e9
+4d454c0021010014ff300100800000000000000000000000010302010f010001e8
+4d454c0021010015ff300100800000000000000000000000010302010f010001ef
+4d454c0021010016ff300100800000000000000000000000010302010f010001ee
+4d454c0021010017ff300100800000000000000000000000010302010f010001ed
+4d454c0021010018ff300100800000000000000000000000010302010f010001ec
+4d454c0021010019ff300100800000000000000000000000010302010f010001d3
+4d454c002101001aff300100800000000000000000000000010302010f010001d2
+4d454c002101001bff300100800000000000000000000000010302010f010001d1
+4d454c002101001cff300100800000000000000000000000010302010f010001d0
+4d454c002101001dff300100800000000000000000000000010302010f010001d7
+4d454c002101001eff300100800000000000000000000000010302010f010001d6
+4d454c002101001fff300100800000000000000000000000010302010f010001d5
+4d454c0021010020ff300100800000000000000000000000010302010f010001d4
+4d454c0021010021ff300100800000000000000000000000010302010f010001db
+4d454c0021010022ff300100800000000000000000000000010302010f010001da
+4d454c0021010023ff300100800000000000000000000000010302010f010001d9
+4d454c0021010024ff300100800000000000000000000000010302010f010001d8
+4d454c0021010025ff300100800000000000000000000000010302010f010001df
+4d454c0021010026ff300100800000000000000000000000010302010f010001de
+4d454c0021010027ff300100800000000000000000000000010302010f010001dd
+4d454c0021010028ff300100800000000000000000000000010302010f010001dc
+4d454c0021010029ff300100800000000000000000000000010302010f010001c3
+4d454c002101002aff300100800000000000000000000000010302010f010001c2
+4d454c002101002bff300100800000000000000000000000010302010f010001c1
+4d454c002101002cff300100800000000000000000000000010302010f010001c0
+4d454c002101002dff300100800000000000000000000000010302010f010001c7
+4d454c002101002eff300100800000000000000000000000010302010f010001c6
+4d454c002101002fff300100800000000000000000000000010302010f010001c5
+4d454c0021010030ff300100800000000000000000000000010302010f010001c4
+4d454c0021010031ff300100800000000000000000000000010302010f010001cb
+4d454c0021010032ff300100800000000000000000000000010302010f010001ca
+4d454c0021010033ff300100800000000000000000000000010302010f010001c9
+4d454c0021010034ff300100800000000000000000000000010302010f010001c8
+4d454c0021010035ff300100800000000000000000000000010302010f010001cf
+4d454c0021010036ff300100800000000000000000000000010302010f010001ce
+4d454c0021010037ff300100800000000000000000000000010302010f010001cd
+4d454c0021010038ff300100800000000000000000000000010302010f010001cc
+4d454c0021010039ff300100800000000000000000000000010302010f010001b3
+4d454c002101003aff300100800000000000000000000000010302010f010001b2
+4d454c002101003bff300100800000000000000000000000010302010f010001b1
+4d454c002101003cff300100800000000000000000000000010302010f010001b0
+4d454c002101003dff300100800000000000000000000000010302010f010001b7
+4d454c002101003eff300100800000000000000000000000010302010f010001b6
+4d454c002101003fff300100800000000000000000000000010302010f010001b5
+4d454c0021010040ff300100800000000000000000000000010302010f010001b4
+4d454c0021010041ff300100800000000000000000000000010302010f010001bb
+4d454c0021010042ff300100800000000000000000000000010302010f010001ba
+4d454c0021010043ff300100800000000000000000000000010302010f010001b9
+4d454c0021010044ff300100800000000000000000000000010302010f010001b8
+4d454c0021010045ff300100800000000000000000000000010302010f010001bf
+4d454c0021010046ff300100800000000000000000000000010302010f010001be
+4d454c0021010047ff300100800000000000000000000000010302010f010001bd
+4d454c0021010048ff300100800000000000000000000000010302010f010001bc
+4d454c0021010049ff300100800000000000000000000000010302010f010001a3
+4d454c002101004aff300100800000000000000000000000010302010f010001a2
+4d454c002101004bff300100800000000000000000000000010302010f010001a1
+4d454c002101004cff300100800000000000000000000000010302010f010001a0
+4d454c002101004dff300100800000000000000000000000010302010f010001a7
+4d454c002101004eff300100800000000000000000000000010302010f010001a6
+4d454c002101004fff300100800000000000000000000000010302010f010001a5
+4d454c0021010050ff300100800000000000000000000000010302010f010001a4
+4d454c0021010051ff300100800000000000000000000000010302010f010001ab
+4d454c0021010052ff300100800000000000000000000000010302010f010001aa
+4d454c0021010053ff300100800000000000000000000000010302010f010001a9
+4d454c0021010054ff300100800000000000000000000000010302010f010001a8
+4d454c0021010055ff300100800000000000000000000000010302010f010001af
+4d454c0021010056ff300100800000000000000000000000010302010f010001ae
+4d454c0021010057ff300100800000000000000000000000010302010f010001ad
+4d454c0021010058ff300100800000000000000000000000010302010f010001ac
+4d454c0021010059ff300100800000000000000000000000010302010f01000193
+4d454c002101005aff300100800000000000000000000000010302010f01000192
+4d454c002101005bff300100800000000000000000000000010302010f01000191
+4d454c002101005cff300100800000000000000000000000010302010f01000190
+4d454c002101005dff300100800000000000000000000000010302010f01000197
+4d454c002101005eff300100800000000000000000000000010302010f01000196
+4d454c002101005fff300100800000000000000000000000010302010f01000195
+4d454c0021010060ff300100800000000000000000000000010302010f01000194
+4d454c0021010061ff300100800000000000000000000000010302010f0100019b
+4d454c0021010062ff300100800000000000000000000000010302010f0100019a
+4d454c0021010063ff300100800000000000000000000000010302010f01000199
+4d454c0021010064ff300100800000000000000000000000010302010f01000198
+4d454c0021010065ff300100800000000000000000000000010302010f0100019f
+4d454c0021010066ff300100800000000000000000000000010302010f0100019e
+4d454c0021010067ff300100800000000000000000000000010302010f0100019d
+4d454c0021010068ff300100800000000000000000000000010302010f0100019c
+4d454c0021010069ff300100800000000000000000000000010302010f01000183
+4d454c002101006aff300100800000000000000000000000010302010f01000182
+4d454c002101006bff300100800000000000000000000000010302010f01000181
+4d454c002101006cff300100800000000000000000000000010302010f01000180
+4d454c002101006dff300100800000000000000000000000010302010f01000187
+4d454c002101006eff300100800000000000000000000000010302010f01000186
+4d454c002101006fff300100800000000000000000000000010302010f01000185
+4d454c0021010070ff300100800000000000000000000000010302010f01000184
+4d454c0021010071ff300100800000000000000000000000010302010f0100018b
+4d454c0021010072ff300100800000000000000000000000010302010f0100018a
+4d454c0021010073ff300100800000000000000000000000010302010f01000189
+4d454c0021010074ff300100800000000000000000000000010302010f01000188
+4d454c0021010075ff300100800000000000000000000000010302010f0100018f
+4d454c0021010076ff300100800000000000000000000000010302010f0100018e
+4d454c0021010077ff300100800000000000000000000000010302010f0100018d
+4d454c0021010078ff300100800000000000000000000000010302010f0100018c
+4d454c0021010079ff300100800000000000000000000000010302010f01000173
+4d454c002101007aff300100800000000000000000000000010302010f01000172
+4d454c002101007bff300100800000000000000000000000010302010f01000171
+4d454c002101007cff300100800000000000000000000000010302010f01000170
+4d454c002101007dff300100800000000000000000000000010302010f01000177
+4d454c002101007eff300100800000000000000000000000010302010f01000176
+4d454c002101007fff300100800000000000000000000000010302010f01000175
+4d454c0021010080ff300100800000000000000000000000010302010f01000174
+4d454c0021010081ff300100800000000000000000000000010302010f0100017b
+4d454c0021010082ff300100800000000000000000000000010302010f0100017a
+4d454c0021010083ff300100800000000000000000000000010302010f01000179
+4d454c0021010084ff300100800000000000000000000000010302010f01000178
+4d454c0021010085ff300100800000000000000000000000010302010f0100017f
+4d454c0021010086ff300100800000000000000000000000010302010f0100017e
+4d454c0021010087ff300100800000000000000000000000010302010f0100017d
+4d454c0021010088ff300100800000000000000000000000010302010f0100017c
+4d454c0021010089ff300100800000000000000000000000010302010f01000163
+4d454c002101008aff300100800000000000000000000000010302010f01000162
+4d454c002101008bff300100800000000000000000000000010302010f01000161
+4d454c002101008cff300100800000000000000000000000010302010f01000160
+4d454c002101008dff300100800000000000000000000000010302010f01000167
+4d454c002101008eff300100800000000000000000000000010302010f01000166
+4d454c002101008fff300100800000000000000000000000010302010f01000165
+4d454c0021010090ff300100800000000000000000000000010302010f01000164
+4d454c0021010091ff300100800000000000000000000000010302010f0100016b
+4d454c0021010092ff300100800000000000000000000000010302010f0100016a
+4d454c0021010093ff300100800000000000000000000000010302010f01000169
+4d454c0021010094ff300100800000000000000000000000010302010f01000168
+4d454c0021010095ff300100800000000000000000000000010302010f0100016f
+4d454c0021010096ff300100800000000000000000000000010302010f0100016e
+4d454c0021010097ff300100800000000000000000000000010302010f0100016d
+4d454c0021010098ff300100800000000000000000000000010302010f0100016c
+4d454c0021010099ff300100800000000000000000000000010302010f01000153
+4d454c002101009aff300100800000000000000000000000010302010f01000152
+4d454c002101009bff300100800000000000000000000000010302010f01000151
+4d454c002101009cff300100800000000000000000000000010302010f01000150
+4d454c002101009dff300100800000000000000000000000010302010f01000157
+4d454c002101009eff300100800000000000000000000000010302010f01000156
+4d454c002101009fff300100800000000000000000000000010302010f01000155
+4d454c00210100a0ff300100800000000000000000000000010302010f01000154
+4d454c00210100a1ff300100800000000000000000000000010302010f0100015b
+4d454c00210100a2ff300100800000000000000000000000010302010f0100015a
+4d454c00210100a3ff300100800000000000000000000000010302010f01000159
+4d454c00210100a4ff300100800000000000000000000000010302010f01000158
+4d454c00210100a5ff300100800000000000000000000000010302010f0100015f
+4d454c00210100a6ff300100800000000000000000000000010302010f0100015e
+4d454c00210100a7ff300100800000000000000000000000010302010f0100015d
+4d454c00210100a8ff300100800000000000000000000000010302010f0100015c
+4d454c00210100a9ff300100800000000000000000000000010302010f01000143
+4d454c00210100aaff300100800000000000000000000000010302010f01000142
+4d454c00210100abff300100800000000000000000000000010302010f01000141
+4d454c00210100acff300100800000000000000000000000010302010f01000140
+4d454c00210100adff300100800000000000000000000000010302010f01000147
+4d454c00210100aeff300100800000000000000000000000010302010f01000146
+4d454c00210100afff300100800000000000000000000000010302010f01000145
+4d454c00210100b0ff300100800000000000000000000000010302010f01000144
+4d454c00210100b1ff300100800000000000000000000000010302010f0100014b
+4d454c00210100b2ff300100800000000000000000000000010302010f0100014a
+4d454c00210100b3ff300100800000000000000000000000010302010f01000149
+4d454c00210100b4ff300100800000000000000000000000010302010f01000148
+4d454c00210100b5ff300100800000000000000000000000010302010f0100014f
+4d454c00210100b6ff300100800000000000000000000000010302010f0100014e
+4d454c00210100b7ff300100800000000000000000000000010302010f0100014d
+4d454c00210100b8ff300100800000000000000000000000010302010f0100014c
+4d454c00210100b9ff300100800000000000000000000000010302010f01000133
+4d454c00210100baff300100800000000000000000000000010302010f01000132
+4d454c00210100bbff300100800000000000000000000000010302010f01000131
+4d454c00210100bcff300100800000000000000000000000010302010f01000130
+4d454c00210100bdff300100800000000000000000000000010302010f01000137
+4d454c00210100beff300100800000000000000000000000010302010f01000136
+4d454c00210100bfff300100800000000000000000000000010302010f01000135
+4d454c00210100c0ff300100800000000000000000000000010302010f01000134
+4d454c00210100c1ff300100800000000000000000000000010302010f0100013b
+4d454c00210100c2ff300100800000000000000000000000010302010f0100013a
+4d454c00210100c3ff300100800000000000000000000000010302010f01000139
+4d454c00210100c4ff300100800000000000000000000000010302010f01000138
+4d454c00210100c5ff300100800000000000000000000000010302010f0100013f
+4d454c00210100c6ff300100800000000000000000000000010302010f0100013e
+4d454c00210100c7ff300100800000000000000000000000010302010f0100013d
+4d454c00210100c8ff300100800000000000000000000000010302010f0100013c
+4d454c00210100c9ff300100800000000000000000000000010302010f01000123
+4d454c00210100caff300100800000000000000000000000010302010f01000122
+4d454c00210100cbff300100800000000000000000000000010302010f01000121
+4d454c00210100ccff300100800000000000000000000000010302010f01000120
+4d454c00210100cdff300100800000000000000000000000010302010f01000127
+4d454c00210100ceff300100800000000000000000000000010302010f01000126
+4d454c00210100cfff300100800000000000000000000000010302010f01000125
+4d454c00210100d0ff300100800000000000000000000000010302010f01000124
+4d454c00210100d1ff300100800000000000000000000000010302010f0100012b
+4d454c00210100d2ff300100800000000000000000000000010302010f0100012a
+4d454c00210100d3ff300100800000000000000000000000010302010f01000129
+4d454c00210100d4ff300100800000000000000000000000010302010f01000128
+4d454c00210100d5ff300100800000000000000000000000010302010f0100012f
+4d454c00210100d6ff300100800000000000000000000000010302010f0100012e
+4d454c00210100d7ff300100800000000000000000000000010302010f0100012d
+4d454c00210100d8ff300100800000000000000000000000010302010f0100012c
+4d454c00210100d9ff300100800000000000000000000000010302010f01000113
+4d454c00210100daff300100800000000000000000000000010302010f01000112
+4d454c00210100dbff300100800000000000000000000000010302010f01000111
+4d454c00210100dcff300100800000000000000000000000010302010f01000110
+4d454c00210100ddff300100800000000000000000000000010302010f01000117
+4d454c00210100deff300100800000000000000000000000010302010f01000116
+4d454c00210100dfff300100800000000000000000000000010302010f01000115
+4d454c00210100e0ff300100800000000000000000000000010302010f01000114
+4d454c00210100e1ff300100800000000000000000000000010302010f0100011b
+4d454c00210100e2ff300100800000000000000000000000010302010f0100011a
+4d454c00210100e3ff300100800000000000000000000000010302010f01000119
+4d454c00210100e4ff300100800000000000000000000000010302010f01000118
+4d454c00210100e5ff300100800000000000000000000000010302010f0100011f
+4d454c00210100e6ff300100800000000000000000000000010302010f0100011e
+4d454c00210100e7ff300100800000000000000000000000010302010f0100011d
+4d454c00210100e8ff300100800000000000000000000000010302010f0100011c
+4d454c00210100e9ff300100800000000000000000000000010302010f01000103
+4d454c00210100eaff300100800000000000000000000000010302010f01000102
+4d454c00210100ebff300100800000000000000000000000010302010f01000101
+4d454c00210100ecff300100800000000000000000000000010302010f01000100
+4d454c00210100edff300100800000000000000000000000010302010f01000107
+4d454c00210100eeff300100800000000000000000000000010302010f01000106
+4d454c00210100efff300100800000000000000000000000010302010f01000105
+4d454c00210100f0ff300100800000000000000000000000010302010f01000104
+4d454c00210100f1ff300100800000000000000000000000010302010f0100010b
+4d454c00210100f2ff300100800000000000000000000000010302010f0100010a
+4d454c00210100f3ff300100800000000000000000000000010302010f01000109
+4d454c00210100f4ff300100800000000000000000000000010302010f01000108
+4d454c00210100f5ff300100800000000000000000000000010302010f0100010f
+4d454c00210100f6ff300100800000000000000000000000010302010f0100010e
+4d454c00210100f7ff300100800000000000000000000000010302010f0100010d
+4d454c00210100f8ff300100800000000000000000000000010302010f0100010c
+4d454c00210100f9ff300100800000000000000000000000010302010f010000f3
+4d454c00210100faff300100800000000000000000000000010302010f010000f2
+4d454c00210100fbff300100800000000000000000000000010302010f010000f1
+4d454c00210100fcff300100800000000000000000000000010302010f010000f0
+4d454c00210100fdff300100800000000000000000000000010302010f010000f7
+4d454c00210100feff300100800000000000000000000000010302010f010000f6
+4d454c00210100ffff300100800000000000000000000000010302010f010000f5

+ 256 - 0
research/bad-bruteforcing/grouped/melody15-vol3-repeat2-zone8-sequence.txt

@@ -0,0 +1,256 @@
+4d454c0021010000ff300180000000000000000000000000010302010f010001f4
+4d454c0021010001ff300180000000000000000000000000010302010f010001fb
+4d454c0021010002ff300180000000000000000000000000010302010f010001fa
+4d454c0021010003ff300180000000000000000000000000010302010f010001f9
+4d454c0021010004ff300180000000000000000000000000010302010f010001f8
+4d454c0021010005ff300180000000000000000000000000010302010f010001ff
+4d454c0021010006ff300180000000000000000000000000010302010f010001fe
+4d454c0021010007ff300180000000000000000000000000010302010f010001fd
+4d454c0021010008ff300180000000000000000000000000010302010f010001fc
+4d454c0021010009ff300180000000000000000000000000010302010f010001e3
+4d454c002101000aff300180000000000000000000000000010302010f010001e2
+4d454c002101000bff300180000000000000000000000000010302010f010001e1
+4d454c002101000cff300180000000000000000000000000010302010f010001e0
+4d454c002101000dff300180000000000000000000000000010302010f010001e7
+4d454c002101000eff300180000000000000000000000000010302010f010001e6
+4d454c002101000fff300180000000000000000000000000010302010f010001e5
+4d454c0021010010ff300180000000000000000000000000010302010f010001e4
+4d454c0021010011ff300180000000000000000000000000010302010f010001eb
+4d454c0021010012ff300180000000000000000000000000010302010f010001ea
+4d454c0021010013ff300180000000000000000000000000010302010f010001e9
+4d454c0021010014ff300180000000000000000000000000010302010f010001e8
+4d454c0021010015ff300180000000000000000000000000010302010f010001ef
+4d454c0021010016ff300180000000000000000000000000010302010f010001ee
+4d454c0021010017ff300180000000000000000000000000010302010f010001ed
+4d454c0021010018ff300180000000000000000000000000010302010f010001ec
+4d454c0021010019ff300180000000000000000000000000010302010f010001d3
+4d454c002101001aff300180000000000000000000000000010302010f010001d2
+4d454c002101001bff300180000000000000000000000000010302010f010001d1
+4d454c002101001cff300180000000000000000000000000010302010f010001d0
+4d454c002101001dff300180000000000000000000000000010302010f010001d7
+4d454c002101001eff300180000000000000000000000000010302010f010001d6
+4d454c002101001fff300180000000000000000000000000010302010f010001d5
+4d454c0021010020ff300180000000000000000000000000010302010f010001d4
+4d454c0021010021ff300180000000000000000000000000010302010f010001db
+4d454c0021010022ff300180000000000000000000000000010302010f010001da
+4d454c0021010023ff300180000000000000000000000000010302010f010001d9
+4d454c0021010024ff300180000000000000000000000000010302010f010001d8
+4d454c0021010025ff300180000000000000000000000000010302010f010001df
+4d454c0021010026ff300180000000000000000000000000010302010f010001de
+4d454c0021010027ff300180000000000000000000000000010302010f010001dd
+4d454c0021010028ff300180000000000000000000000000010302010f010001dc
+4d454c0021010029ff300180000000000000000000000000010302010f010001c3
+4d454c002101002aff300180000000000000000000000000010302010f010001c2
+4d454c002101002bff300180000000000000000000000000010302010f010001c1
+4d454c002101002cff300180000000000000000000000000010302010f010001c0
+4d454c002101002dff300180000000000000000000000000010302010f010001c7
+4d454c002101002eff300180000000000000000000000000010302010f010001c6
+4d454c002101002fff300180000000000000000000000000010302010f010001c5
+4d454c0021010030ff300180000000000000000000000000010302010f010001c4
+4d454c0021010031ff300180000000000000000000000000010302010f010001cb
+4d454c0021010032ff300180000000000000000000000000010302010f010001ca
+4d454c0021010033ff300180000000000000000000000000010302010f010001c9
+4d454c0021010034ff300180000000000000000000000000010302010f010001c8
+4d454c0021010035ff300180000000000000000000000000010302010f010001cf
+4d454c0021010036ff300180000000000000000000000000010302010f010001ce
+4d454c0021010037ff300180000000000000000000000000010302010f010001cd
+4d454c0021010038ff300180000000000000000000000000010302010f010001cc
+4d454c0021010039ff300180000000000000000000000000010302010f010001b3
+4d454c002101003aff300180000000000000000000000000010302010f010001b2
+4d454c002101003bff300180000000000000000000000000010302010f010001b1
+4d454c002101003cff300180000000000000000000000000010302010f010001b0
+4d454c002101003dff300180000000000000000000000000010302010f010001b7
+4d454c002101003eff300180000000000000000000000000010302010f010001b6
+4d454c002101003fff300180000000000000000000000000010302010f010001b5
+4d454c0021010040ff300180000000000000000000000000010302010f010001b4
+4d454c0021010041ff300180000000000000000000000000010302010f010001bb
+4d454c0021010042ff300180000000000000000000000000010302010f010001ba
+4d454c0021010043ff300180000000000000000000000000010302010f010001b9
+4d454c0021010044ff300180000000000000000000000000010302010f010001b8
+4d454c0021010045ff300180000000000000000000000000010302010f010001bf
+4d454c0021010046ff300180000000000000000000000000010302010f010001be
+4d454c0021010047ff300180000000000000000000000000010302010f010001bd
+4d454c0021010048ff300180000000000000000000000000010302010f010001bc
+4d454c0021010049ff300180000000000000000000000000010302010f010001a3
+4d454c002101004aff300180000000000000000000000000010302010f010001a2
+4d454c002101004bff300180000000000000000000000000010302010f010001a1
+4d454c002101004cff300180000000000000000000000000010302010f010001a0
+4d454c002101004dff300180000000000000000000000000010302010f010001a7
+4d454c002101004eff300180000000000000000000000000010302010f010001a6
+4d454c002101004fff300180000000000000000000000000010302010f010001a5
+4d454c0021010050ff300180000000000000000000000000010302010f010001a4
+4d454c0021010051ff300180000000000000000000000000010302010f010001ab
+4d454c0021010052ff300180000000000000000000000000010302010f010001aa
+4d454c0021010053ff300180000000000000000000000000010302010f010001a9
+4d454c0021010054ff300180000000000000000000000000010302010f010001a8
+4d454c0021010055ff300180000000000000000000000000010302010f010001af
+4d454c0021010056ff300180000000000000000000000000010302010f010001ae
+4d454c0021010057ff300180000000000000000000000000010302010f010001ad
+4d454c0021010058ff300180000000000000000000000000010302010f010001ac
+4d454c0021010059ff300180000000000000000000000000010302010f01000193
+4d454c002101005aff300180000000000000000000000000010302010f01000192
+4d454c002101005bff300180000000000000000000000000010302010f01000191
+4d454c002101005cff300180000000000000000000000000010302010f01000190
+4d454c002101005dff300180000000000000000000000000010302010f01000197
+4d454c002101005eff300180000000000000000000000000010302010f01000196
+4d454c002101005fff300180000000000000000000000000010302010f01000195
+4d454c0021010060ff300180000000000000000000000000010302010f01000194
+4d454c0021010061ff300180000000000000000000000000010302010f0100019b
+4d454c0021010062ff300180000000000000000000000000010302010f0100019a
+4d454c0021010063ff300180000000000000000000000000010302010f01000199
+4d454c0021010064ff300180000000000000000000000000010302010f01000198
+4d454c0021010065ff300180000000000000000000000000010302010f0100019f
+4d454c0021010066ff300180000000000000000000000000010302010f0100019e
+4d454c0021010067ff300180000000000000000000000000010302010f0100019d
+4d454c0021010068ff300180000000000000000000000000010302010f0100019c
+4d454c0021010069ff300180000000000000000000000000010302010f01000183
+4d454c002101006aff300180000000000000000000000000010302010f01000182
+4d454c002101006bff300180000000000000000000000000010302010f01000181
+4d454c002101006cff300180000000000000000000000000010302010f01000180
+4d454c002101006dff300180000000000000000000000000010302010f01000187
+4d454c002101006eff300180000000000000000000000000010302010f01000186
+4d454c002101006fff300180000000000000000000000000010302010f01000185
+4d454c0021010070ff300180000000000000000000000000010302010f01000184
+4d454c0021010071ff300180000000000000000000000000010302010f0100018b
+4d454c0021010072ff300180000000000000000000000000010302010f0100018a
+4d454c0021010073ff300180000000000000000000000000010302010f01000189
+4d454c0021010074ff300180000000000000000000000000010302010f01000188
+4d454c0021010075ff300180000000000000000000000000010302010f0100018f
+4d454c0021010076ff300180000000000000000000000000010302010f0100018e
+4d454c0021010077ff300180000000000000000000000000010302010f0100018d
+4d454c0021010078ff300180000000000000000000000000010302010f0100018c
+4d454c0021010079ff300180000000000000000000000000010302010f01000173
+4d454c002101007aff300180000000000000000000000000010302010f01000172
+4d454c002101007bff300180000000000000000000000000010302010f01000171
+4d454c002101007cff300180000000000000000000000000010302010f01000170
+4d454c002101007dff300180000000000000000000000000010302010f01000177
+4d454c002101007eff300180000000000000000000000000010302010f01000176
+4d454c002101007fff300180000000000000000000000000010302010f01000175
+4d454c0021010080ff300180000000000000000000000000010302010f01000174
+4d454c0021010081ff300180000000000000000000000000010302010f0100017b
+4d454c0021010082ff300180000000000000000000000000010302010f0100017a
+4d454c0021010083ff300180000000000000000000000000010302010f01000179
+4d454c0021010084ff300180000000000000000000000000010302010f01000178
+4d454c0021010085ff300180000000000000000000000000010302010f0100017f
+4d454c0021010086ff300180000000000000000000000000010302010f0100017e
+4d454c0021010087ff300180000000000000000000000000010302010f0100017d
+4d454c0021010088ff300180000000000000000000000000010302010f0100017c
+4d454c0021010089ff300180000000000000000000000000010302010f01000163
+4d454c002101008aff300180000000000000000000000000010302010f01000162
+4d454c002101008bff300180000000000000000000000000010302010f01000161
+4d454c002101008cff300180000000000000000000000000010302010f01000160
+4d454c002101008dff300180000000000000000000000000010302010f01000167
+4d454c002101008eff300180000000000000000000000000010302010f01000166
+4d454c002101008fff300180000000000000000000000000010302010f01000165
+4d454c0021010090ff300180000000000000000000000000010302010f01000164
+4d454c0021010091ff300180000000000000000000000000010302010f0100016b
+4d454c0021010092ff300180000000000000000000000000010302010f0100016a
+4d454c0021010093ff300180000000000000000000000000010302010f01000169
+4d454c0021010094ff300180000000000000000000000000010302010f01000168
+4d454c0021010095ff300180000000000000000000000000010302010f0100016f
+4d454c0021010096ff300180000000000000000000000000010302010f0100016e
+4d454c0021010097ff300180000000000000000000000000010302010f0100016d
+4d454c0021010098ff300180000000000000000000000000010302010f0100016c
+4d454c0021010099ff300180000000000000000000000000010302010f01000153
+4d454c002101009aff300180000000000000000000000000010302010f01000152
+4d454c002101009bff300180000000000000000000000000010302010f01000151
+4d454c002101009cff300180000000000000000000000000010302010f01000150
+4d454c002101009dff300180000000000000000000000000010302010f01000157
+4d454c002101009eff300180000000000000000000000000010302010f01000156
+4d454c002101009fff300180000000000000000000000000010302010f01000155
+4d454c00210100a0ff300180000000000000000000000000010302010f01000154
+4d454c00210100a1ff300180000000000000000000000000010302010f0100015b
+4d454c00210100a2ff300180000000000000000000000000010302010f0100015a
+4d454c00210100a3ff300180000000000000000000000000010302010f01000159
+4d454c00210100a4ff300180000000000000000000000000010302010f01000158
+4d454c00210100a5ff300180000000000000000000000000010302010f0100015f
+4d454c00210100a6ff300180000000000000000000000000010302010f0100015e
+4d454c00210100a7ff300180000000000000000000000000010302010f0100015d
+4d454c00210100a8ff300180000000000000000000000000010302010f0100015c
+4d454c00210100a9ff300180000000000000000000000000010302010f01000143
+4d454c00210100aaff300180000000000000000000000000010302010f01000142
+4d454c00210100abff300180000000000000000000000000010302010f01000141
+4d454c00210100acff300180000000000000000000000000010302010f01000140
+4d454c00210100adff300180000000000000000000000000010302010f01000147
+4d454c00210100aeff300180000000000000000000000000010302010f01000146
+4d454c00210100afff300180000000000000000000000000010302010f01000145
+4d454c00210100b0ff300180000000000000000000000000010302010f01000144
+4d454c00210100b1ff300180000000000000000000000000010302010f0100014b
+4d454c00210100b2ff300180000000000000000000000000010302010f0100014a
+4d454c00210100b3ff300180000000000000000000000000010302010f01000149
+4d454c00210100b4ff300180000000000000000000000000010302010f01000148
+4d454c00210100b5ff300180000000000000000000000000010302010f0100014f
+4d454c00210100b6ff300180000000000000000000000000010302010f0100014e
+4d454c00210100b7ff300180000000000000000000000000010302010f0100014d
+4d454c00210100b8ff300180000000000000000000000000010302010f0100014c
+4d454c00210100b9ff300180000000000000000000000000010302010f01000133
+4d454c00210100baff300180000000000000000000000000010302010f01000132
+4d454c00210100bbff300180000000000000000000000000010302010f01000131
+4d454c00210100bcff300180000000000000000000000000010302010f01000130
+4d454c00210100bdff300180000000000000000000000000010302010f01000137
+4d454c00210100beff300180000000000000000000000000010302010f01000136
+4d454c00210100bfff300180000000000000000000000000010302010f01000135
+4d454c00210100c0ff300180000000000000000000000000010302010f01000134
+4d454c00210100c1ff300180000000000000000000000000010302010f0100013b
+4d454c00210100c2ff300180000000000000000000000000010302010f0100013a
+4d454c00210100c3ff300180000000000000000000000000010302010f01000139
+4d454c00210100c4ff300180000000000000000000000000010302010f01000138
+4d454c00210100c5ff300180000000000000000000000000010302010f0100013f
+4d454c00210100c6ff300180000000000000000000000000010302010f0100013e
+4d454c00210100c7ff300180000000000000000000000000010302010f0100013d
+4d454c00210100c8ff300180000000000000000000000000010302010f0100013c
+4d454c00210100c9ff300180000000000000000000000000010302010f01000123
+4d454c00210100caff300180000000000000000000000000010302010f01000122
+4d454c00210100cbff300180000000000000000000000000010302010f01000121
+4d454c00210100ccff300180000000000000000000000000010302010f01000120
+4d454c00210100cdff300180000000000000000000000000010302010f01000127
+4d454c00210100ceff300180000000000000000000000000010302010f01000126
+4d454c00210100cfff300180000000000000000000000000010302010f01000125
+4d454c00210100d0ff300180000000000000000000000000010302010f01000124
+4d454c00210100d1ff300180000000000000000000000000010302010f0100012b
+4d454c00210100d2ff300180000000000000000000000000010302010f0100012a
+4d454c00210100d3ff300180000000000000000000000000010302010f01000129
+4d454c00210100d4ff300180000000000000000000000000010302010f01000128
+4d454c00210100d5ff300180000000000000000000000000010302010f0100012f
+4d454c00210100d6ff300180000000000000000000000000010302010f0100012e
+4d454c00210100d7ff300180000000000000000000000000010302010f0100012d
+4d454c00210100d8ff300180000000000000000000000000010302010f0100012c
+4d454c00210100d9ff300180000000000000000000000000010302010f01000113
+4d454c00210100daff300180000000000000000000000000010302010f01000112
+4d454c00210100dbff300180000000000000000000000000010302010f01000111
+4d454c00210100dcff300180000000000000000000000000010302010f01000110
+4d454c00210100ddff300180000000000000000000000000010302010f01000117
+4d454c00210100deff300180000000000000000000000000010302010f01000116
+4d454c00210100dfff300180000000000000000000000000010302010f01000115
+4d454c00210100e0ff300180000000000000000000000000010302010f01000114
+4d454c00210100e1ff300180000000000000000000000000010302010f0100011b
+4d454c00210100e2ff300180000000000000000000000000010302010f0100011a
+4d454c00210100e3ff300180000000000000000000000000010302010f01000119
+4d454c00210100e4ff300180000000000000000000000000010302010f01000118
+4d454c00210100e5ff300180000000000000000000000000010302010f0100011f
+4d454c00210100e6ff300180000000000000000000000000010302010f0100011e
+4d454c00210100e7ff300180000000000000000000000000010302010f0100011d
+4d454c00210100e8ff300180000000000000000000000000010302010f0100011c
+4d454c00210100e9ff300180000000000000000000000000010302010f01000103
+4d454c00210100eaff300180000000000000000000000000010302010f01000102
+4d454c00210100ebff300180000000000000000000000000010302010f01000101
+4d454c00210100ecff300180000000000000000000000000010302010f01000100
+4d454c00210100edff300180000000000000000000000000010302010f01000107
+4d454c00210100eeff300180000000000000000000000000010302010f01000106
+4d454c00210100efff300180000000000000000000000000010302010f01000105
+4d454c00210100f0ff300180000000000000000000000000010302010f01000104
+4d454c00210100f1ff300180000000000000000000000000010302010f0100010b
+4d454c00210100f2ff300180000000000000000000000000010302010f0100010a
+4d454c00210100f3ff300180000000000000000000000000010302010f01000109
+4d454c00210100f4ff300180000000000000000000000000010302010f01000108
+4d454c00210100f5ff300180000000000000000000000000010302010f0100010f
+4d454c00210100f6ff300180000000000000000000000000010302010f0100010e
+4d454c00210100f7ff300180000000000000000000000000010302010f0100010d
+4d454c00210100f8ff300180000000000000000000000000010302010f0100010c
+4d454c00210100f9ff300180000000000000000000000000010302010f010000f3
+4d454c00210100faff300180000000000000000000000000010302010f010000f2
+4d454c00210100fbff300180000000000000000000000000010302010f010000f1
+4d454c00210100fcff300180000000000000000000000000010302010f010000f0
+4d454c00210100fdff300180000000000000000000000000010302010f010000f7
+4d454c00210100feff300180000000000000000000000000010302010f010000f6
+4d454c00210100ffff300180000000000000000000000000010302010f010000f5

+ 5 - 0
research/bad-bruteforcing/grouped/melody15-vol3-zone8-repeat-increments.txt

@@ -0,0 +1,5 @@
+4d454c0021010000ff300180000000000000000000000000010301010f010001f3
+4d454c0021010000ff300180000000000000000000000000010302010f010001f4
+4d454c0021010000ff300180000000000000000000000000010303010f010001f5
+4d454c0021010000ff300180000000000000000000000000010304010f010001f6
+4d454c0021010000ff300180000000000000000000000000010305010f010001f7

+ 256 - 0
research/bad-bruteforcing/grouped/melody16-vol3-repeat2-zone-all-sequence.txt

@@ -0,0 +1,256 @@
+4d454c0021010000ff3001ffffffffffffffffffffffff0f01030201100100015e
+4d454c0021010001ff3001ffffffffffffffffffffffff0f010302011001000151
+4d454c0021010002ff3001ffffffffffffffffffffffff0f010302011001000150
+4d454c0021010003ff3001ffffffffffffffffffffffff0f010302011001000153
+4d454c0021010004ff3001ffffffffffffffffffffffff0f010302011001000152
+4d454c0021010005ff3001ffffffffffffffffffffffff0f010302011001000155
+4d454c0021010006ff3001ffffffffffffffffffffffff0f010302011001000154
+4d454c0021010007ff3001ffffffffffffffffffffffff0f010302011001000157
+4d454c0021010008ff3001ffffffffffffffffffffffff0f010302011001000156
+4d454c0021010009ff3001ffffffffffffffffffffffff0f010302011001000149
+4d454c002101000aff3001ffffffffffffffffffffffff0f010302011001000148
+4d454c002101000bff3001ffffffffffffffffffffffff0f01030201100100014b
+4d454c002101000cff3001ffffffffffffffffffffffff0f01030201100100014a
+4d454c002101000dff3001ffffffffffffffffffffffff0f01030201100100014d
+4d454c002101000eff3001ffffffffffffffffffffffff0f01030201100100014c
+4d454c002101000fff3001ffffffffffffffffffffffff0f01030201100100014f
+4d454c0021010010ff3001ffffffffffffffffffffffff0f01030201100100014e
+4d454c0021010011ff3001ffffffffffffffffffffffff0f010302011001000141
+4d454c0021010012ff3001ffffffffffffffffffffffff0f010302011001000140
+4d454c0021010013ff3001ffffffffffffffffffffffff0f010302011001000143
+4d454c0021010014ff3001ffffffffffffffffffffffff0f010302011001000142
+4d454c0021010015ff3001ffffffffffffffffffffffff0f010302011001000145
+4d454c0021010016ff3001ffffffffffffffffffffffff0f010302011001000144
+4d454c0021010017ff3001ffffffffffffffffffffffff0f010302011001000147
+4d454c0021010018ff3001ffffffffffffffffffffffff0f010302011001000146
+4d454c0021010019ff3001ffffffffffffffffffffffff0f010302011001000179
+4d454c002101001aff3001ffffffffffffffffffffffff0f010302011001000178
+4d454c002101001bff3001ffffffffffffffffffffffff0f01030201100100017b
+4d454c002101001cff3001ffffffffffffffffffffffff0f01030201100100017a
+4d454c002101001dff3001ffffffffffffffffffffffff0f01030201100100017d
+4d454c002101001eff3001ffffffffffffffffffffffff0f01030201100100017c
+4d454c002101001fff3001ffffffffffffffffffffffff0f01030201100100017f
+4d454c0021010020ff3001ffffffffffffffffffffffff0f01030201100100017e
+4d454c0021010021ff3001ffffffffffffffffffffffff0f010302011001000171
+4d454c0021010022ff3001ffffffffffffffffffffffff0f010302011001000170
+4d454c0021010023ff3001ffffffffffffffffffffffff0f010302011001000173
+4d454c0021010024ff3001ffffffffffffffffffffffff0f010302011001000172
+4d454c0021010025ff3001ffffffffffffffffffffffff0f010302011001000175
+4d454c0021010026ff3001ffffffffffffffffffffffff0f010302011001000174
+4d454c0021010027ff3001ffffffffffffffffffffffff0f010302011001000177
+4d454c0021010028ff3001ffffffffffffffffffffffff0f010302011001000176
+4d454c0021010029ff3001ffffffffffffffffffffffff0f010302011001000169
+4d454c002101002aff3001ffffffffffffffffffffffff0f010302011001000168
+4d454c002101002bff3001ffffffffffffffffffffffff0f01030201100100016b
+4d454c002101002cff3001ffffffffffffffffffffffff0f01030201100100016a
+4d454c002101002dff3001ffffffffffffffffffffffff0f01030201100100016d
+4d454c002101002eff3001ffffffffffffffffffffffff0f01030201100100016c
+4d454c002101002fff3001ffffffffffffffffffffffff0f01030201100100016f
+4d454c0021010030ff3001ffffffffffffffffffffffff0f01030201100100016e
+4d454c0021010031ff3001ffffffffffffffffffffffff0f010302011001000161
+4d454c0021010032ff3001ffffffffffffffffffffffff0f010302011001000160
+4d454c0021010033ff3001ffffffffffffffffffffffff0f010302011001000163
+4d454c0021010034ff3001ffffffffffffffffffffffff0f010302011001000162
+4d454c0021010035ff3001ffffffffffffffffffffffff0f010302011001000165
+4d454c0021010036ff3001ffffffffffffffffffffffff0f010302011001000164
+4d454c0021010037ff3001ffffffffffffffffffffffff0f010302011001000167
+4d454c0021010038ff3001ffffffffffffffffffffffff0f010302011001000166
+4d454c0021010039ff3001ffffffffffffffffffffffff0f010302011001000119
+4d454c002101003aff3001ffffffffffffffffffffffff0f010302011001000118
+4d454c002101003bff3001ffffffffffffffffffffffff0f01030201100100011b
+4d454c002101003cff3001ffffffffffffffffffffffff0f01030201100100011a
+4d454c002101003dff3001ffffffffffffffffffffffff0f01030201100100011d
+4d454c002101003eff3001ffffffffffffffffffffffff0f01030201100100011c
+4d454c002101003fff3001ffffffffffffffffffffffff0f01030201100100011f
+4d454c0021010040ff3001ffffffffffffffffffffffff0f01030201100100011e
+4d454c0021010041ff3001ffffffffffffffffffffffff0f010302011001000111
+4d454c0021010042ff3001ffffffffffffffffffffffff0f010302011001000110
+4d454c0021010043ff3001ffffffffffffffffffffffff0f010302011001000113
+4d454c0021010044ff3001ffffffffffffffffffffffff0f010302011001000112
+4d454c0021010045ff3001ffffffffffffffffffffffff0f010302011001000115
+4d454c0021010046ff3001ffffffffffffffffffffffff0f010302011001000114
+4d454c0021010047ff3001ffffffffffffffffffffffff0f010302011001000117
+4d454c0021010048ff3001ffffffffffffffffffffffff0f010302011001000116
+4d454c0021010049ff3001ffffffffffffffffffffffff0f010302011001000109
+4d454c002101004aff3001ffffffffffffffffffffffff0f010302011001000108
+4d454c002101004bff3001ffffffffffffffffffffffff0f01030201100100010b
+4d454c002101004cff3001ffffffffffffffffffffffff0f01030201100100010a
+4d454c002101004dff3001ffffffffffffffffffffffff0f01030201100100010d
+4d454c002101004eff3001ffffffffffffffffffffffff0f01030201100100010c
+4d454c002101004fff3001ffffffffffffffffffffffff0f01030201100100010f
+4d454c0021010050ff3001ffffffffffffffffffffffff0f01030201100100010e
+4d454c0021010051ff3001ffffffffffffffffffffffff0f010302011001000101
+4d454c0021010052ff3001ffffffffffffffffffffffff0f010302011001000100
+4d454c0021010053ff3001ffffffffffffffffffffffff0f010302011001000103
+4d454c0021010054ff3001ffffffffffffffffffffffff0f010302011001000102
+4d454c0021010055ff3001ffffffffffffffffffffffff0f010302011001000105
+4d454c0021010056ff3001ffffffffffffffffffffffff0f010302011001000104
+4d454c0021010057ff3001ffffffffffffffffffffffff0f010302011001000107
+4d454c0021010058ff3001ffffffffffffffffffffffff0f010302011001000106
+4d454c0021010059ff3001ffffffffffffffffffffffff0f010302011001000139
+4d454c002101005aff3001ffffffffffffffffffffffff0f010302011001000138
+4d454c002101005bff3001ffffffffffffffffffffffff0f01030201100100013b
+4d454c002101005cff3001ffffffffffffffffffffffff0f01030201100100013a
+4d454c002101005dff3001ffffffffffffffffffffffff0f01030201100100013d
+4d454c002101005eff3001ffffffffffffffffffffffff0f01030201100100013c
+4d454c002101005fff3001ffffffffffffffffffffffff0f01030201100100013f
+4d454c0021010060ff3001ffffffffffffffffffffffff0f01030201100100013e
+4d454c0021010061ff3001ffffffffffffffffffffffff0f010302011001000131
+4d454c0021010062ff3001ffffffffffffffffffffffff0f010302011001000130
+4d454c0021010063ff3001ffffffffffffffffffffffff0f010302011001000133
+4d454c0021010064ff3001ffffffffffffffffffffffff0f010302011001000132
+4d454c0021010065ff3001ffffffffffffffffffffffff0f010302011001000135
+4d454c0021010066ff3001ffffffffffffffffffffffff0f010302011001000134
+4d454c0021010067ff3001ffffffffffffffffffffffff0f010302011001000137
+4d454c0021010068ff3001ffffffffffffffffffffffff0f010302011001000136
+4d454c0021010069ff3001ffffffffffffffffffffffff0f010302011001000129
+4d454c002101006aff3001ffffffffffffffffffffffff0f010302011001000128
+4d454c002101006bff3001ffffffffffffffffffffffff0f01030201100100012b
+4d454c002101006cff3001ffffffffffffffffffffffff0f01030201100100012a
+4d454c002101006dff3001ffffffffffffffffffffffff0f01030201100100012d
+4d454c002101006eff3001ffffffffffffffffffffffff0f01030201100100012c
+4d454c002101006fff3001ffffffffffffffffffffffff0f01030201100100012f
+4d454c0021010070ff3001ffffffffffffffffffffffff0f01030201100100012e
+4d454c0021010071ff3001ffffffffffffffffffffffff0f010302011001000121
+4d454c0021010072ff3001ffffffffffffffffffffffff0f010302011001000120
+4d454c0021010073ff3001ffffffffffffffffffffffff0f010302011001000123
+4d454c0021010074ff3001ffffffffffffffffffffffff0f010302011001000122
+4d454c0021010075ff3001ffffffffffffffffffffffff0f010302011001000125
+4d454c0021010076ff3001ffffffffffffffffffffffff0f010302011001000124
+4d454c0021010077ff3001ffffffffffffffffffffffff0f010302011001000127
+4d454c0021010078ff3001ffffffffffffffffffffffff0f010302011001000126
+4d454c0021010079ff3001ffffffffffffffffffffffff0f0103020110010001d9
+4d454c002101007aff3001ffffffffffffffffffffffff0f0103020110010001d8
+4d454c002101007bff3001ffffffffffffffffffffffff0f0103020110010001db
+4d454c002101007cff3001ffffffffffffffffffffffff0f0103020110010001da
+4d454c002101007dff3001ffffffffffffffffffffffff0f0103020110010001dd
+4d454c002101007eff3001ffffffffffffffffffffffff0f0103020110010001dc
+4d454c002101007fff3001ffffffffffffffffffffffff0f0103020110010001df
+4d454c0021010080ff3001ffffffffffffffffffffffff0f0103020110010001de
+4d454c0021010081ff3001ffffffffffffffffffffffff0f0103020110010001d1
+4d454c0021010082ff3001ffffffffffffffffffffffff0f0103020110010001d0
+4d454c0021010083ff3001ffffffffffffffffffffffff0f0103020110010001d3
+4d454c0021010084ff3001ffffffffffffffffffffffff0f0103020110010001d2
+4d454c0021010085ff3001ffffffffffffffffffffffff0f0103020110010001d5
+4d454c0021010086ff3001ffffffffffffffffffffffff0f0103020110010001d4
+4d454c0021010087ff3001ffffffffffffffffffffffff0f0103020110010001d7
+4d454c0021010088ff3001ffffffffffffffffffffffff0f0103020110010001d6
+4d454c0021010089ff3001ffffffffffffffffffffffff0f0103020110010001c9
+4d454c002101008aff3001ffffffffffffffffffffffff0f0103020110010001c8
+4d454c002101008bff3001ffffffffffffffffffffffff0f0103020110010001cb
+4d454c002101008cff3001ffffffffffffffffffffffff0f0103020110010001ca
+4d454c002101008dff3001ffffffffffffffffffffffff0f0103020110010001cd
+4d454c002101008eff3001ffffffffffffffffffffffff0f0103020110010001cc
+4d454c002101008fff3001ffffffffffffffffffffffff0f0103020110010001cf
+4d454c0021010090ff3001ffffffffffffffffffffffff0f0103020110010001ce
+4d454c0021010091ff3001ffffffffffffffffffffffff0f0103020110010001c1
+4d454c0021010092ff3001ffffffffffffffffffffffff0f0103020110010001c0
+4d454c0021010093ff3001ffffffffffffffffffffffff0f0103020110010001c3
+4d454c0021010094ff3001ffffffffffffffffffffffff0f0103020110010001c2
+4d454c0021010095ff3001ffffffffffffffffffffffff0f0103020110010001c5
+4d454c0021010096ff3001ffffffffffffffffffffffff0f0103020110010001c4
+4d454c0021010097ff3001ffffffffffffffffffffffff0f0103020110010001c7
+4d454c0021010098ff3001ffffffffffffffffffffffff0f0103020110010001c6
+4d454c0021010099ff3001ffffffffffffffffffffffff0f0103020110010001f9
+4d454c002101009aff3001ffffffffffffffffffffffff0f0103020110010001f8
+4d454c002101009bff3001ffffffffffffffffffffffff0f0103020110010001fb
+4d454c002101009cff3001ffffffffffffffffffffffff0f0103020110010001fa
+4d454c002101009dff3001ffffffffffffffffffffffff0f0103020110010001fd
+4d454c002101009eff3001ffffffffffffffffffffffff0f0103020110010001fc
+4d454c002101009fff3001ffffffffffffffffffffffff0f0103020110010001ff
+4d454c00210100a0ff3001ffffffffffffffffffffffff0f0103020110010001fe
+4d454c00210100a1ff3001ffffffffffffffffffffffff0f0103020110010001f1
+4d454c00210100a2ff3001ffffffffffffffffffffffff0f0103020110010001f0
+4d454c00210100a3ff3001ffffffffffffffffffffffff0f0103020110010001f3
+4d454c00210100a4ff3001ffffffffffffffffffffffff0f0103020110010001f2
+4d454c00210100a5ff3001ffffffffffffffffffffffff0f0103020110010001f5
+4d454c00210100a6ff3001ffffffffffffffffffffffff0f0103020110010001f4
+4d454c00210100a7ff3001ffffffffffffffffffffffff0f0103020110010001f7
+4d454c00210100a8ff3001ffffffffffffffffffffffff0f0103020110010001f6
+4d454c00210100a9ff3001ffffffffffffffffffffffff0f0103020110010001e9
+4d454c00210100aaff3001ffffffffffffffffffffffff0f0103020110010001e8
+4d454c00210100abff3001ffffffffffffffffffffffff0f0103020110010001eb
+4d454c00210100acff3001ffffffffffffffffffffffff0f0103020110010001ea
+4d454c00210100adff3001ffffffffffffffffffffffff0f0103020110010001ed
+4d454c00210100aeff3001ffffffffffffffffffffffff0f0103020110010001ec
+4d454c00210100afff3001ffffffffffffffffffffffff0f0103020110010001ef
+4d454c00210100b0ff3001ffffffffffffffffffffffff0f0103020110010001ee
+4d454c00210100b1ff3001ffffffffffffffffffffffff0f0103020110010001e1
+4d454c00210100b2ff3001ffffffffffffffffffffffff0f0103020110010001e0
+4d454c00210100b3ff3001ffffffffffffffffffffffff0f0103020110010001e3
+4d454c00210100b4ff3001ffffffffffffffffffffffff0f0103020110010001e2
+4d454c00210100b5ff3001ffffffffffffffffffffffff0f0103020110010001e5
+4d454c00210100b6ff3001ffffffffffffffffffffffff0f0103020110010001e4
+4d454c00210100b7ff3001ffffffffffffffffffffffff0f0103020110010001e7
+4d454c00210100b8ff3001ffffffffffffffffffffffff0f0103020110010001e6
+4d454c00210100b9ff3001ffffffffffffffffffffffff0f010302011001000199
+4d454c00210100baff3001ffffffffffffffffffffffff0f010302011001000198
+4d454c00210100bbff3001ffffffffffffffffffffffff0f01030201100100019b
+4d454c00210100bcff3001ffffffffffffffffffffffff0f01030201100100019a
+4d454c00210100bdff3001ffffffffffffffffffffffff0f01030201100100019d
+4d454c00210100beff3001ffffffffffffffffffffffff0f01030201100100019c
+4d454c00210100bfff3001ffffffffffffffffffffffff0f01030201100100019f
+4d454c00210100c0ff3001ffffffffffffffffffffffff0f01030201100100019e
+4d454c00210100c1ff3001ffffffffffffffffffffffff0f010302011001000191
+4d454c00210100c2ff3001ffffffffffffffffffffffff0f010302011001000190
+4d454c00210100c3ff3001ffffffffffffffffffffffff0f010302011001000193
+4d454c00210100c4ff3001ffffffffffffffffffffffff0f010302011001000192
+4d454c00210100c5ff3001ffffffffffffffffffffffff0f010302011001000195
+4d454c00210100c6ff3001ffffffffffffffffffffffff0f010302011001000194
+4d454c00210100c7ff3001ffffffffffffffffffffffff0f010302011001000197
+4d454c00210100c8ff3001ffffffffffffffffffffffff0f010302011001000196
+4d454c00210100c9ff3001ffffffffffffffffffffffff0f010302011001000189
+4d454c00210100caff3001ffffffffffffffffffffffff0f010302011001000188
+4d454c00210100cbff3001ffffffffffffffffffffffff0f01030201100100018b
+4d454c00210100ccff3001ffffffffffffffffffffffff0f01030201100100018a
+4d454c00210100cdff3001ffffffffffffffffffffffff0f01030201100100018d
+4d454c00210100ceff3001ffffffffffffffffffffffff0f01030201100100018c
+4d454c00210100cfff3001ffffffffffffffffffffffff0f01030201100100018f
+4d454c00210100d0ff3001ffffffffffffffffffffffff0f01030201100100018e
+4d454c00210100d1ff3001ffffffffffffffffffffffff0f010302011001000181
+4d454c00210100d2ff3001ffffffffffffffffffffffff0f010302011001000180
+4d454c00210100d3ff3001ffffffffffffffffffffffff0f010302011001000183
+4d454c00210100d4ff3001ffffffffffffffffffffffff0f010302011001000182
+4d454c00210100d5ff3001ffffffffffffffffffffffff0f010302011001000185
+4d454c00210100d6ff3001ffffffffffffffffffffffff0f010302011001000184
+4d454c00210100d7ff3001ffffffffffffffffffffffff0f010302011001000187
+4d454c00210100d8ff3001ffffffffffffffffffffffff0f010302011001000186
+4d454c00210100d9ff3001ffffffffffffffffffffffff0f0103020110010001b9
+4d454c00210100daff3001ffffffffffffffffffffffff0f0103020110010001b8
+4d454c00210100dbff3001ffffffffffffffffffffffff0f0103020110010001bb
+4d454c00210100dcff3001ffffffffffffffffffffffff0f0103020110010001ba
+4d454c00210100ddff3001ffffffffffffffffffffffff0f0103020110010001bd
+4d454c00210100deff3001ffffffffffffffffffffffff0f0103020110010001bc
+4d454c00210100dfff3001ffffffffffffffffffffffff0f0103020110010001bf
+4d454c00210100e0ff3001ffffffffffffffffffffffff0f0103020110010001be
+4d454c00210100e1ff3001ffffffffffffffffffffffff0f0103020110010001b1
+4d454c00210100e2ff3001ffffffffffffffffffffffff0f0103020110010001b0
+4d454c00210100e3ff3001ffffffffffffffffffffffff0f0103020110010001b3
+4d454c00210100e4ff3001ffffffffffffffffffffffff0f0103020110010001b2
+4d454c00210100e5ff3001ffffffffffffffffffffffff0f0103020110010001b5
+4d454c00210100e6ff3001ffffffffffffffffffffffff0f0103020110010001b4
+4d454c00210100e7ff3001ffffffffffffffffffffffff0f0103020110010001b7
+4d454c00210100e8ff3001ffffffffffffffffffffffff0f0103020110010001b6
+4d454c00210100e9ff3001ffffffffffffffffffffffff0f0103020110010001a9
+4d454c00210100eaff3001ffffffffffffffffffffffff0f0103020110010001a8
+4d454c00210100ebff3001ffffffffffffffffffffffff0f0103020110010001ab
+4d454c00210100ecff3001ffffffffffffffffffffffff0f0103020110010001aa
+4d454c00210100edff3001ffffffffffffffffffffffff0f0103020110010001ad
+4d454c00210100eeff3001ffffffffffffffffffffffff0f0103020110010001ac
+4d454c00210100efff3001ffffffffffffffffffffffff0f0103020110010001af
+4d454c00210100f0ff3001ffffffffffffffffffffffff0f0103020110010001ae
+4d454c00210100f1ff3001ffffffffffffffffffffffff0f0103020110010001a1
+4d454c00210100f2ff3001ffffffffffffffffffffffff0f0103020110010001a0
+4d454c00210100f3ff3001ffffffffffffffffffffffff0f0103020110010001a3
+4d454c00210100f4ff3001ffffffffffffffffffffffff0f0103020110010001a2
+4d454c00210100f5ff3001ffffffffffffffffffffffff0f0103020110010001a5
+4d454c00210100f6ff3001ffffffffffffffffffffffff0f0103020110010001a4
+4d454c00210100f7ff3001ffffffffffffffffffffffff0f0103020110010001a7
+4d454c00210100f8ff3001ffffffffffffffffffffffff0f0103020110010001a6
+4d454c00210100f9ff3001ffffffffffffffffffffffff0f010302011001000059
+4d454c00210100faff3001ffffffffffffffffffffffff0f010302011001000058
+4d454c00210100fbff3001ffffffffffffffffffffffff0f01030201100100005b
+4d454c00210100fcff3001ffffffffffffffffffffffff0f01030201100100005a
+4d454c00210100fdff3001ffffffffffffffffffffffff0f01030201100100005d
+4d454c00210100feff3001ffffffffffffffffffffffff0f01030201100100005c
+4d454c00210100ffff3001ffffffffffffffffffffffff0f01030201100100005f

+ 33 - 0
research/bad-bruteforcing/grouped/stop-zone-all-partial-sequence.txt

@@ -0,0 +1,33 @@
+4d454c001a010020ff5002ffffffffffffffffffffffff0f010b
+4d454c001a010021ff5002ffffffffffffffffffffffff0f0104
+4d454c001a010022ff5002ffffffffffffffffffffffff0f0105
+4d454c001a010028ff5002ffffffffffffffffffffffff0f0103
+4d454c001a010029ff5002ffffffffffffffffffffffff0f011c
+4d454c001a01002aff5002ffffffffffffffffffffffff0f011d
+4d454c001a01002bff5002ffffffffffffffffffffffff0f011e
+4d454c001a01002cff5002ffffffffffffffffffffffff0f011f
+4d454c001a01002dff5002ffffffffffffffffffffffff0f0118
+4d454c001a01002eff5002ffffffffffffffffffffffff0f0119
+4d454c001a01002fff5002ffffffffffffffffffffffff0f011a
+4d454c001a010030ff5002ffffffffffffffffffffffff0f011b
+4d454c001a010031ff5002ffffffffffffffffffffffff0f0114
+4d454c001a010032ff5002ffffffffffffffffffffffff0f0115
+4d454c001a010033ff5002ffffffffffffffffffffffff0f0116
+4d454c001a010034ff5002ffffffffffffffffffffffff0f0117
+4d454c001a010035ff5002ffffffffffffffffffffffff0f0110
+4d454c001a010036ff5002ffffffffffffffffffffffff0f0111
+4d454c001a010037ff5002ffffffffffffffffffffffff0f0112
+4d454c001a010038ff5002ffffffffffffffffffffffff0f0113
+4d454c001a010039ff5002ffffffffffffffffffffffff0f016c
+4d454c001a01003aff5002ffffffffffffffffffffffff0f016d
+4d454c001a01003bff5002ffffffffffffffffffffffff0f016e
+4d454c001a01003cff5002ffffffffffffffffffffffff0f016f
+4d454c001a01003dff5002ffffffffffffffffffffffff0f0168
+4d454c001a01003eff5002ffffffffffffffffffffffff0f0169
+4d454c001a01003fff5002ffffffffffffffffffffffff0f016a
+4d454c001a010040ff5002ffffffffffffffffffffffff0f016b
+4d454c001a010041ff5002ffffffffffffffffffffffff0f0164
+4d454c001a010042ff5002ffffffffffffffffffffffff0f0165
+4d454c001a010043ff5002ffffffffffffffffffffffff0f0166
+4d454c001a010044ff5002ffffffffffffffffffffffff0f0167
+4d454c001a010045ff5002ffffffffffffffffffffffff0f0160

+ 160 - 0
research/bad-bruteforcing/random-captures.txt

@@ -0,0 +1,160 @@
+stop commands for all zones (system apparently only supports stopping all zones so its irrelevant):
+4d454c001a010020ff5002ffffffffffffffffffffffff0f010b
+4d454c001a010021ff5002ffffffffffffffffffffffff0f0104
+4d454c001a010022ff5002ffffffffffffffffffffffff0f0105
+4d454c001a010028ff5002ffffffffffffffffffffffff0f0103
+4d454c001a010029ff5002ffffffffffffffffffffffff0f011c
+4d454c001a01002aff5002ffffffffffffffffffffffff0f011d
+4d454c001a01002bff5002ffffffffffffffffffffffff0f011e
+4d454c001a01002cff5002ffffffffffffffffffffffff0f011f
+4d454c001a01002dff5002ffffffffffffffffffffffff0f0118
+4d454c001a01002eff5002ffffffffffffffffffffffff0f0119
+4d454c001a01002fff5002ffffffffffffffffffffffff0f011a
+4d454c001a010030ff5002ffffffffffffffffffffffff0f011b
+4d454c001a010031ff5002ffffffffffffffffffffffff0f0114
+4d454c001a010032ff5002ffffffffffffffffffffffff0f0115
+4d454c001a010033ff5002ffffffffffffffffffffffff0f0116
+4d454c001a010034ff5002ffffffffffffffffffffffff0f0117
+4d454c001a010035ff5002ffffffffffffffffffffffff0f0110
+4d454c001a010036ff5002ffffffffffffffffffffffff0f0111
+4d454c001a010037ff5002ffffffffffffffffffffffff0f0112
+4d454c001a010038ff5002ffffffffffffffffffffffff0f0113
+4d454c001a010039ff5002ffffffffffffffffffffffff0f016c
+4d454c001a01003aff5002ffffffffffffffffffffffff0f016d
+4d454c001a01003bff5002ffffffffffffffffffffffff0f016e
+4d454c001a01003cff5002ffffffffffffffffffffffff0f016f
+4d454c001a01003dff5002ffffffffffffffffffffffff0f0168
+4d454c001a01003eff5002ffffffffffffffffffffffff0f0169
+4d454c001a01003fff5002ffffffffffffffffffffffff0f016a
+4d454c001a010040ff5002ffffffffffffffffffffffff0f016b
+4d454c001a010041ff5002ffffffffffffffffffffffff0f0164
+4d454c001a010042ff5002ffffffffffffffffffffffff0f0165
+4d454c001a010043ff5002ffffffffffffffffffffffff0f0166
+4d454c001a010044ff5002ffffffffffffffffffffffff0f0167
+4d454c001a010045ff5002ffffffffffffffffffffffff0f0160
+
+alarm for some zone (forgot which) 5001 is alarm which also makes flashing lights turn on in addition to the melody playing :
+4d454c0021010000ff500100000000000000200000200000020301010f01000110
+4d454c0021010001ff500100000000000000200000200000020301010f0100011f
+4d454c0021010002ff500100000000000000200000200000020301010f0100011e
+4d454c0021010003ff500100000000000000200000200000020301010f0100011d
+4d454c0021010004ff500100000000000000200000200000020301010f0100011c
+4d454c0021010005ff500100000000000000200000200000020301010f0100011b
+4d454c0021010006ff500100000000000000200000200000020301010f0100011a
+4d454c0021010007ff500100000000000000200000200000020301010f01000119
+4d454c0021010008ff500100000000000000200000200000020301010f01000118
+4d454c0021010009ff500100000000000000200000200000020301010f01000107
+4d454c002101000aff500100000000000000200000200000020301010f01000106
+4d454c002101000bff500100000000000000200000200000020301010f01000105
+4d454c002101000cff500100000000000000200000200000020301010f01000104
+4d454c002101000dff500100000000000000200000200000020301010f01000103
+4d454c002101000eff500100000000000000200000200000020301010f01000102
+4d454c002101000fff500100000000000000200000200000020301010f01000101
+4d454c0021010010ff500100000000000000200000200000020301010f01000100
+4d454c0021010011ff500100000000000000200000200000020301010f0100010f
+4d454c0021010012ff500100000000000000200000200000020301010f0100010e
+4d454c0021010013ff500100000000000000200000200000020301010f0100010d
+4d454c0021010014ff500100000000000000200000200000020301010f0100010c
+4d454c0021010015ff500100000000000000200000200000020301010f0100010b
+4d454c0021010016ff500100000000000000200000200000020301010f0100010a
+4d454c0021010017ff500100000000000000200000200000020301010f01000109
+4d454c0021010018ff500100000000000000200000200000020301010f01000108
+4d454c0021010019ff500100000000000000200000200000020301010f01000137
+4d454c002101001aff500100000000000000200000200000020301010f01000136
+4d454c002101001bff500100000000000000200000200000020301010f01000135
+4d454c002101001cff500100000000000000200000200000020301010f01000134
+4d454c002101001dff500100000000000000200000200000020301010f01000133
+
+Example data 2 of playing melody in zone 8 :
+4d454c00210100a6ff300180000000000000000000000000010301010f01000159
+4d454c00210100a7ff300180000000000000000000000000010301010f0100015a
+4d454c00210100a8ff300180000000000000000000000000010301010f0100015b
+4d454c00210100a9ff300180000000000000000000000000010301010f01000144
+4d454c00210100aaff300180000000000000000000000000010301010f01000145
+4d454c00210100abff300180000000000000000000000000010301010f01000146
+4d454c00210100acff300180000000000000000000000000010301010f01000147
+4d454c00210100adff300180000000000000000000000000010301010f01000140
+4d454c00210100aeff300180000000000000000000000000010301010f01000141
+4d454c00210100afff300180000000000000000000000000010301010f01000142
+4d454c00210100b0ff300180000000000000000000000000010301010f01000143
+4d454c00210100b1ff300180000000000000000000000000010301010f0100014c
+4d454c00210100b2ff300180000000000000000000000000010301010f0100014d
+4d454c00210100b3ff300180000000000000000000000000010301010f0100014e
+4d454c00210100b4ff300180000000000000000000000000010301010f0100014f
+4d454c00210100b5ff300180000000000000000000000000010301010f01000148
+4d454c00210100b6ff300180000000000000000000000000010301010f01000149
+4d454c00210100b7ff300180000000000000000000000000010301010f0100014a
+4d454c00210100b8ff300180000000000000000000000000010301010f0100014b
+4d454c00210100b9ff300180000000000000000000000000010301010f01000134
+4d454c00210100baff300180000000000000000000000000010301010f01000135
+4d454c00210100bbff300180000000000000000000000000010301010f01000136
+4d454c00210100bcff300180000000000000000000000000010301010f01000137
+4d454c00210100bdff300180000000000000000000000000010301010f01000130
+4d454c00210100beff300180000000000000000000000000010301010f01000131
+4d454c00210100bfff300180000000000000000000000000010301010f01000132
+4d454c00210100c0ff300180000000000000000000000000010301010f01000133
+4d454c00210100c1ff300180000000000000000000000000010301010f0100013c
+4d454c00210100c2ff300180000000000000000000000000010301010f0100013d
+4d454c00210100c3ff300180000000000000000000000000010301010f0100013e
+4d454c00210100c4ff300180000000000000000000000000010301010f0100013f
+4d454c00210100c5ff300180000000000000000000000000010301010f01000138
+4d454c00210100c6ff300180000000000000000000000000010301010f01000139
+4d454c00210100c7ff300180000000000000000000000000010301010f0100013a
+4d454c00210100c8ff300180000000000000000000000000010301010f0100013b
+4d454c00210100c9ff300180000000000000000000000000010301010f01000124
+4d454c00210100caff300180000000000000000000000000010301010f01000125
+4d454c00210100cbff300180000000000000000000000000010301010f01000126
+4d454c00210100ccff300180000000000000000000000000010301010f01000127
+4d454c00210100cdff300180000000000000000000000000010301010f01000120
+
+Example data 1 of playing melody in zone 16 :
+4d454c00210100ceff30010000800000000000000000000001030101090100012f
+4d454c00210100cfff30010000800000000000000000000001030101090100012c
+4d454c00210100d0ff30010000800000000000000000000001030101090100012d
+4d454c00210100d1ff300100008000000000000000000000010301010901000122
+4d454c00210100d2ff300100008000000000000000000000010301010901000123
+4d454c00210100d3ff300100008000000000000000000000010301010901000120
+4d454c00210100d4ff300100008000000000000000000000010301010901000121
+4d454c00210100d5ff300100008000000000000000000000010301010901000126
+4d454c00210100d6ff300100008000000000000000000000010301010901000127
+4d454c00210100d7ff300100008000000000000000000000010301010901000124
+4d454c00210100d8ff300100008000000000000000000000010301010901000125
+4d454c00210100d9ff30010000800000000000000000000001030101090100011a
+4d454c00210100daff30010000800000000000000000000001030101090100011b
+4d454c00210100dbff300100008000000000000000000000010301010901000118
+4d454c00210100dcff300100008000000000000000000000010301010901000119
+4d454c00210100ddff30010000800000000000000000000001030101090100011e
+4d454c00210100deff30010000800000000000000000000001030101090100011f
+4d454c00210100dfff30010000800000000000000000000001030101090100011c
+4d454c00210100e0ff30010000800000000000000000000001030101090100011d
+4d454c00210100e1ff300100008000000000000000000000010301010901000112
+4d454c00210100e2ff300100008000000000000000000000010301010901000113
+4d454c00210100e3ff300100008000000000000000000000010301010901000110
+4d454c00210100e4ff300100008000000000000000000000010301010901000111
+4d454c00210100e5ff300100008000000000000000000000010301010901000116
+4d454c00210100e6ff300100008000000000000000000000010301010901000117
+4d454c00210100e7ff300100008000000000000000000000010301010901000114
+4d454c00210100e8ff300100008000000000000000000000010301010901000115
+4d454c00210100e9ff30010000800000000000000000000001030101090100010a
+4d454c00210100eaff30010000800000000000000000000001030101090100010b
+4d454c00210100ebff300100008000000000000000000000010301010901000108
+4d454c00210100ecff300100008000000000000000000000010301010901000109
+4d454c00210100edff30010000800000000000000000000001030101090100010e
+4d454c00210100eeff30010000800000000000000000000001030101090100010f
+4d454c00210100efff30010000800000000000000000000001030101090100010c
+4d454c00210100f0ff30010000800000000000000000000001030101090100010d
+4d454c00210100f1ff300100008000000000000000000000010301010901000102
+4d454c00210100f2ff300100008000000000000000000000010301010901000103
+4d454c00210100f3ff300100008000000000000000000000010301010901000100
+4d454c00210100f4ff300100008000000000000000000000010301010901000101
+4d454c00210100f5ff300100008000000000000000000000010301010901000106
+4d454c00210100f6ff300100008000000000000000000000010301010901000107
+4d454c00210100f7ff500100000000000000200000200000020301010f010001e9
+4d454c00210100f8ff500100000000000000200000200000020301010f010001e8
+4d454c00210100f9ff500100000000000000200000200000020301010f01000017
+4d454c00210100faff500100000000000000200000200000020301010f01000016
+4d454c00210100fbff500100000000000000200000200000020301010f01000015
+4d454c00210100fcff500100000000000000200000200000020301010f01000014
+4d454c00210100fdff500100000000000000200000200000020301010f01000013
+4d454c00210100feff500100000000000000200000200000020301010f01000012
+4d454c00210100ffff500100000000000000200000200000020301010f01000011

+ 256 - 0
research/bad-bruteforcing/reveng-formatted/allzone-sequence.txt

@@ -0,0 +1,256 @@
+4d454c0021010000ff3001ffffffffffffffffffffffff0f0103020110010001=5e
+4d454c0021010001ff3001ffffffffffffffffffffffff0f0103020110010001=51
+4d454c0021010002ff3001ffffffffffffffffffffffff0f0103020110010001=50
+4d454c0021010003ff3001ffffffffffffffffffffffff0f0103020110010001=53
+4d454c0021010004ff3001ffffffffffffffffffffffff0f0103020110010001=52
+4d454c0021010005ff3001ffffffffffffffffffffffff0f0103020110010001=55
+4d454c0021010006ff3001ffffffffffffffffffffffff0f0103020110010001=54
+4d454c0021010007ff3001ffffffffffffffffffffffff0f0103020110010001=57
+4d454c0021010008ff3001ffffffffffffffffffffffff0f0103020110010001=56
+4d454c0021010009ff3001ffffffffffffffffffffffff0f0103020110010001=49
+4d454c002101000aff3001ffffffffffffffffffffffff0f0103020110010001=48
+4d454c002101000bff3001ffffffffffffffffffffffff0f0103020110010001=4b
+4d454c002101000cff3001ffffffffffffffffffffffff0f0103020110010001=4a
+4d454c002101000dff3001ffffffffffffffffffffffff0f0103020110010001=4d
+4d454c002101000eff3001ffffffffffffffffffffffff0f0103020110010001=4c
+4d454c002101000fff3001ffffffffffffffffffffffff0f0103020110010001=4f
+4d454c0021010010ff3001ffffffffffffffffffffffff0f0103020110010001=4e
+4d454c0021010011ff3001ffffffffffffffffffffffff0f0103020110010001=41
+4d454c0021010012ff3001ffffffffffffffffffffffff0f0103020110010001=40
+4d454c0021010013ff3001ffffffffffffffffffffffff0f0103020110010001=43
+4d454c0021010014ff3001ffffffffffffffffffffffff0f0103020110010001=42
+4d454c0021010015ff3001ffffffffffffffffffffffff0f0103020110010001=45
+4d454c0021010016ff3001ffffffffffffffffffffffff0f0103020110010001=44
+4d454c0021010017ff3001ffffffffffffffffffffffff0f0103020110010001=47
+4d454c0021010018ff3001ffffffffffffffffffffffff0f0103020110010001=46
+4d454c0021010019ff3001ffffffffffffffffffffffff0f0103020110010001=79
+4d454c002101001aff3001ffffffffffffffffffffffff0f0103020110010001=78
+4d454c002101001bff3001ffffffffffffffffffffffff0f0103020110010001=7b
+4d454c002101001cff3001ffffffffffffffffffffffff0f0103020110010001=7a
+4d454c002101001dff3001ffffffffffffffffffffffff0f0103020110010001=7d
+4d454c002101001eff3001ffffffffffffffffffffffff0f0103020110010001=7c
+4d454c002101001fff3001ffffffffffffffffffffffff0f0103020110010001=7f
+4d454c0021010020ff3001ffffffffffffffffffffffff0f0103020110010001=7e
+4d454c0021010021ff3001ffffffffffffffffffffffff0f0103020110010001=71
+4d454c0021010022ff3001ffffffffffffffffffffffff0f0103020110010001=70
+4d454c0021010023ff3001ffffffffffffffffffffffff0f0103020110010001=73
+4d454c0021010024ff3001ffffffffffffffffffffffff0f0103020110010001=72
+4d454c0021010025ff3001ffffffffffffffffffffffff0f0103020110010001=75
+4d454c0021010026ff3001ffffffffffffffffffffffff0f0103020110010001=74
+4d454c0021010027ff3001ffffffffffffffffffffffff0f0103020110010001=77
+4d454c0021010028ff3001ffffffffffffffffffffffff0f0103020110010001=76
+4d454c0021010029ff3001ffffffffffffffffffffffff0f0103020110010001=69
+4d454c002101002aff3001ffffffffffffffffffffffff0f0103020110010001=68
+4d454c002101002bff3001ffffffffffffffffffffffff0f0103020110010001=6b
+4d454c002101002cff3001ffffffffffffffffffffffff0f0103020110010001=6a
+4d454c002101002dff3001ffffffffffffffffffffffff0f0103020110010001=6d
+4d454c002101002eff3001ffffffffffffffffffffffff0f0103020110010001=6c
+4d454c002101002fff3001ffffffffffffffffffffffff0f0103020110010001=6f
+4d454c0021010030ff3001ffffffffffffffffffffffff0f0103020110010001=6e
+4d454c0021010031ff3001ffffffffffffffffffffffff0f0103020110010001=61
+4d454c0021010032ff3001ffffffffffffffffffffffff0f0103020110010001=60
+4d454c0021010033ff3001ffffffffffffffffffffffff0f0103020110010001=63
+4d454c0021010034ff3001ffffffffffffffffffffffff0f0103020110010001=62
+4d454c0021010035ff3001ffffffffffffffffffffffff0f0103020110010001=65
+4d454c0021010036ff3001ffffffffffffffffffffffff0f0103020110010001=64
+4d454c0021010037ff3001ffffffffffffffffffffffff0f0103020110010001=67
+4d454c0021010038ff3001ffffffffffffffffffffffff0f0103020110010001=66
+4d454c0021010039ff3001ffffffffffffffffffffffff0f0103020110010001=19
+4d454c002101003aff3001ffffffffffffffffffffffff0f0103020110010001=18
+4d454c002101003bff3001ffffffffffffffffffffffff0f0103020110010001=1b
+4d454c002101003cff3001ffffffffffffffffffffffff0f0103020110010001=1a
+4d454c002101003dff3001ffffffffffffffffffffffff0f0103020110010001=1d
+4d454c002101003eff3001ffffffffffffffffffffffff0f0103020110010001=1c
+4d454c002101003fff3001ffffffffffffffffffffffff0f0103020110010001=1f
+4d454c0021010040ff3001ffffffffffffffffffffffff0f0103020110010001=1e
+4d454c0021010041ff3001ffffffffffffffffffffffff0f0103020110010001=11
+4d454c0021010042ff3001ffffffffffffffffffffffff0f0103020110010001=10
+4d454c0021010043ff3001ffffffffffffffffffffffff0f0103020110010001=13
+4d454c0021010044ff3001ffffffffffffffffffffffff0f0103020110010001=12
+4d454c0021010045ff3001ffffffffffffffffffffffff0f0103020110010001=15
+4d454c0021010046ff3001ffffffffffffffffffffffff0f0103020110010001=14
+4d454c0021010047ff3001ffffffffffffffffffffffff0f0103020110010001=17
+4d454c0021010048ff3001ffffffffffffffffffffffff0f0103020110010001=16
+4d454c0021010049ff3001ffffffffffffffffffffffff0f0103020110010001=09
+4d454c002101004aff3001ffffffffffffffffffffffff0f0103020110010001=08
+4d454c002101004bff3001ffffffffffffffffffffffff0f0103020110010001=0b
+4d454c002101004cff3001ffffffffffffffffffffffff0f0103020110010001=0a
+4d454c002101004dff3001ffffffffffffffffffffffff0f0103020110010001=0d
+4d454c002101004eff3001ffffffffffffffffffffffff0f0103020110010001=0c
+4d454c002101004fff3001ffffffffffffffffffffffff0f0103020110010001=0f
+4d454c0021010050ff3001ffffffffffffffffffffffff0f0103020110010001=0e
+4d454c0021010051ff3001ffffffffffffffffffffffff0f0103020110010001=01
+4d454c0021010052ff3001ffffffffffffffffffffffff0f0103020110010001=00
+4d454c0021010053ff3001ffffffffffffffffffffffff0f0103020110010001=03
+4d454c0021010054ff3001ffffffffffffffffffffffff0f0103020110010001=02
+4d454c0021010055ff3001ffffffffffffffffffffffff0f0103020110010001=05
+4d454c0021010056ff3001ffffffffffffffffffffffff0f0103020110010001=04
+4d454c0021010057ff3001ffffffffffffffffffffffff0f0103020110010001=07
+4d454c0021010058ff3001ffffffffffffffffffffffff0f0103020110010001=06
+4d454c0021010059ff3001ffffffffffffffffffffffff0f0103020110010001=39
+4d454c002101005aff3001ffffffffffffffffffffffff0f0103020110010001=38
+4d454c002101005bff3001ffffffffffffffffffffffff0f0103020110010001=3b
+4d454c002101005cff3001ffffffffffffffffffffffff0f0103020110010001=3a
+4d454c002101005dff3001ffffffffffffffffffffffff0f0103020110010001=3d
+4d454c002101005eff3001ffffffffffffffffffffffff0f0103020110010001=3c
+4d454c002101005fff3001ffffffffffffffffffffffff0f0103020110010001=3f
+4d454c0021010060ff3001ffffffffffffffffffffffff0f0103020110010001=3e
+4d454c0021010061ff3001ffffffffffffffffffffffff0f0103020110010001=31
+4d454c0021010062ff3001ffffffffffffffffffffffff0f0103020110010001=30
+4d454c0021010063ff3001ffffffffffffffffffffffff0f0103020110010001=33
+4d454c0021010064ff3001ffffffffffffffffffffffff0f0103020110010001=32
+4d454c0021010065ff3001ffffffffffffffffffffffff0f0103020110010001=35
+4d454c0021010066ff3001ffffffffffffffffffffffff0f0103020110010001=34
+4d454c0021010067ff3001ffffffffffffffffffffffff0f0103020110010001=37
+4d454c0021010068ff3001ffffffffffffffffffffffff0f0103020110010001=36
+4d454c0021010069ff3001ffffffffffffffffffffffff0f0103020110010001=29
+4d454c002101006aff3001ffffffffffffffffffffffff0f0103020110010001=28
+4d454c002101006bff3001ffffffffffffffffffffffff0f0103020110010001=2b
+4d454c002101006cff3001ffffffffffffffffffffffff0f0103020110010001=2a
+4d454c002101006dff3001ffffffffffffffffffffffff0f0103020110010001=2d
+4d454c002101006eff3001ffffffffffffffffffffffff0f0103020110010001=2c
+4d454c002101006fff3001ffffffffffffffffffffffff0f0103020110010001=2f
+4d454c0021010070ff3001ffffffffffffffffffffffff0f0103020110010001=2e
+4d454c0021010071ff3001ffffffffffffffffffffffff0f0103020110010001=21
+4d454c0021010072ff3001ffffffffffffffffffffffff0f0103020110010001=20
+4d454c0021010073ff3001ffffffffffffffffffffffff0f0103020110010001=23
+4d454c0021010074ff3001ffffffffffffffffffffffff0f0103020110010001=22
+4d454c0021010075ff3001ffffffffffffffffffffffff0f0103020110010001=25
+4d454c0021010076ff3001ffffffffffffffffffffffff0f0103020110010001=24
+4d454c0021010077ff3001ffffffffffffffffffffffff0f0103020110010001=27
+4d454c0021010078ff3001ffffffffffffffffffffffff0f0103020110010001=26
+4d454c0021010079ff3001ffffffffffffffffffffffff0f0103020110010001=d9
+4d454c002101007aff3001ffffffffffffffffffffffff0f0103020110010001=d8
+4d454c002101007bff3001ffffffffffffffffffffffff0f0103020110010001=db
+4d454c002101007cff3001ffffffffffffffffffffffff0f0103020110010001=da
+4d454c002101007dff3001ffffffffffffffffffffffff0f0103020110010001=dd
+4d454c002101007eff3001ffffffffffffffffffffffff0f0103020110010001=dc
+4d454c002101007fff3001ffffffffffffffffffffffff0f0103020110010001=df
+4d454c0021010080ff3001ffffffffffffffffffffffff0f0103020110010001=de
+4d454c0021010081ff3001ffffffffffffffffffffffff0f0103020110010001=d1
+4d454c0021010082ff3001ffffffffffffffffffffffff0f0103020110010001=d0
+4d454c0021010083ff3001ffffffffffffffffffffffff0f0103020110010001=d3
+4d454c0021010084ff3001ffffffffffffffffffffffff0f0103020110010001=d2
+4d454c0021010085ff3001ffffffffffffffffffffffff0f0103020110010001=d5
+4d454c0021010086ff3001ffffffffffffffffffffffff0f0103020110010001=d4
+4d454c0021010087ff3001ffffffffffffffffffffffff0f0103020110010001=d7
+4d454c0021010088ff3001ffffffffffffffffffffffff0f0103020110010001=d6
+4d454c0021010089ff3001ffffffffffffffffffffffff0f0103020110010001=c9
+4d454c002101008aff3001ffffffffffffffffffffffff0f0103020110010001=c8
+4d454c002101008bff3001ffffffffffffffffffffffff0f0103020110010001=cb
+4d454c002101008cff3001ffffffffffffffffffffffff0f0103020110010001=ca
+4d454c002101008dff3001ffffffffffffffffffffffff0f0103020110010001=cd
+4d454c002101008eff3001ffffffffffffffffffffffff0f0103020110010001=cc
+4d454c002101008fff3001ffffffffffffffffffffffff0f0103020110010001=cf
+4d454c0021010090ff3001ffffffffffffffffffffffff0f0103020110010001=ce
+4d454c0021010091ff3001ffffffffffffffffffffffff0f0103020110010001=c1
+4d454c0021010092ff3001ffffffffffffffffffffffff0f0103020110010001=c0
+4d454c0021010093ff3001ffffffffffffffffffffffff0f0103020110010001=c3
+4d454c0021010094ff3001ffffffffffffffffffffffff0f0103020110010001=c2
+4d454c0021010095ff3001ffffffffffffffffffffffff0f0103020110010001=c5
+4d454c0021010096ff3001ffffffffffffffffffffffff0f0103020110010001=c4
+4d454c0021010097ff3001ffffffffffffffffffffffff0f0103020110010001=c7
+4d454c0021010098ff3001ffffffffffffffffffffffff0f0103020110010001=c6
+4d454c0021010099ff3001ffffffffffffffffffffffff0f0103020110010001=f9
+4d454c002101009aff3001ffffffffffffffffffffffff0f0103020110010001=f8
+4d454c002101009bff3001ffffffffffffffffffffffff0f0103020110010001=fb
+4d454c002101009cff3001ffffffffffffffffffffffff0f0103020110010001=fa
+4d454c002101009dff3001ffffffffffffffffffffffff0f0103020110010001=fd
+4d454c002101009eff3001ffffffffffffffffffffffff0f0103020110010001=fc
+4d454c002101009fff3001ffffffffffffffffffffffff0f0103020110010001=ff
+4d454c00210100a0ff3001ffffffffffffffffffffffff0f0103020110010001=fe
+4d454c00210100a1ff3001ffffffffffffffffffffffff0f0103020110010001=f1
+4d454c00210100a2ff3001ffffffffffffffffffffffff0f0103020110010001=f0
+4d454c00210100a3ff3001ffffffffffffffffffffffff0f0103020110010001=f3
+4d454c00210100a4ff3001ffffffffffffffffffffffff0f0103020110010001=f2
+4d454c00210100a5ff3001ffffffffffffffffffffffff0f0103020110010001=f5
+4d454c00210100a6ff3001ffffffffffffffffffffffff0f0103020110010001=f4
+4d454c00210100a7ff3001ffffffffffffffffffffffff0f0103020110010001=f7
+4d454c00210100a8ff3001ffffffffffffffffffffffff0f0103020110010001=f6
+4d454c00210100a9ff3001ffffffffffffffffffffffff0f0103020110010001=e9
+4d454c00210100aaff3001ffffffffffffffffffffffff0f0103020110010001=e8
+4d454c00210100abff3001ffffffffffffffffffffffff0f0103020110010001=eb
+4d454c00210100acff3001ffffffffffffffffffffffff0f0103020110010001=ea
+4d454c00210100adff3001ffffffffffffffffffffffff0f0103020110010001=ed
+4d454c00210100aeff3001ffffffffffffffffffffffff0f0103020110010001=ec
+4d454c00210100afff3001ffffffffffffffffffffffff0f0103020110010001=ef
+4d454c00210100b0ff3001ffffffffffffffffffffffff0f0103020110010001=ee
+4d454c00210100b1ff3001ffffffffffffffffffffffff0f0103020110010001=e1
+4d454c00210100b2ff3001ffffffffffffffffffffffff0f0103020110010001=e0
+4d454c00210100b3ff3001ffffffffffffffffffffffff0f0103020110010001=e3
+4d454c00210100b4ff3001ffffffffffffffffffffffff0f0103020110010001=e2
+4d454c00210100b5ff3001ffffffffffffffffffffffff0f0103020110010001=e5
+4d454c00210100b6ff3001ffffffffffffffffffffffff0f0103020110010001=e4
+4d454c00210100b7ff3001ffffffffffffffffffffffff0f0103020110010001=e7
+4d454c00210100b8ff3001ffffffffffffffffffffffff0f0103020110010001=e6
+4d454c00210100b9ff3001ffffffffffffffffffffffff0f0103020110010001=99
+4d454c00210100baff3001ffffffffffffffffffffffff0f0103020110010001=98
+4d454c00210100bbff3001ffffffffffffffffffffffff0f0103020110010001=9b
+4d454c00210100bcff3001ffffffffffffffffffffffff0f0103020110010001=9a
+4d454c00210100bdff3001ffffffffffffffffffffffff0f0103020110010001=9d
+4d454c00210100beff3001ffffffffffffffffffffffff0f0103020110010001=9c
+4d454c00210100bfff3001ffffffffffffffffffffffff0f0103020110010001=9f
+4d454c00210100c0ff3001ffffffffffffffffffffffff0f0103020110010001=9e
+4d454c00210100c1ff3001ffffffffffffffffffffffff0f0103020110010001=91
+4d454c00210100c2ff3001ffffffffffffffffffffffff0f0103020110010001=90
+4d454c00210100c3ff3001ffffffffffffffffffffffff0f0103020110010001=93
+4d454c00210100c4ff3001ffffffffffffffffffffffff0f0103020110010001=92
+4d454c00210100c5ff3001ffffffffffffffffffffffff0f0103020110010001=95
+4d454c00210100c6ff3001ffffffffffffffffffffffff0f0103020110010001=94
+4d454c00210100c7ff3001ffffffffffffffffffffffff0f0103020110010001=97
+4d454c00210100c8ff3001ffffffffffffffffffffffff0f0103020110010001=96
+4d454c00210100c9ff3001ffffffffffffffffffffffff0f0103020110010001=89
+4d454c00210100caff3001ffffffffffffffffffffffff0f0103020110010001=88
+4d454c00210100cbff3001ffffffffffffffffffffffff0f0103020110010001=8b
+4d454c00210100ccff3001ffffffffffffffffffffffff0f0103020110010001=8a
+4d454c00210100cdff3001ffffffffffffffffffffffff0f0103020110010001=8d
+4d454c00210100ceff3001ffffffffffffffffffffffff0f0103020110010001=8c
+4d454c00210100cfff3001ffffffffffffffffffffffff0f0103020110010001=8f
+4d454c00210100d0ff3001ffffffffffffffffffffffff0f0103020110010001=8e
+4d454c00210100d1ff3001ffffffffffffffffffffffff0f0103020110010001=81
+4d454c00210100d2ff3001ffffffffffffffffffffffff0f0103020110010001=80
+4d454c00210100d3ff3001ffffffffffffffffffffffff0f0103020110010001=83
+4d454c00210100d4ff3001ffffffffffffffffffffffff0f0103020110010001=82
+4d454c00210100d5ff3001ffffffffffffffffffffffff0f0103020110010001=85
+4d454c00210100d6ff3001ffffffffffffffffffffffff0f0103020110010001=84
+4d454c00210100d7ff3001ffffffffffffffffffffffff0f0103020110010001=87
+4d454c00210100d8ff3001ffffffffffffffffffffffff0f0103020110010001=86
+4d454c00210100d9ff3001ffffffffffffffffffffffff0f0103020110010001=b9
+4d454c00210100daff3001ffffffffffffffffffffffff0f0103020110010001=b8
+4d454c00210100dbff3001ffffffffffffffffffffffff0f0103020110010001=bb
+4d454c00210100dcff3001ffffffffffffffffffffffff0f0103020110010001=ba
+4d454c00210100ddff3001ffffffffffffffffffffffff0f0103020110010001=bd
+4d454c00210100deff3001ffffffffffffffffffffffff0f0103020110010001=bc
+4d454c00210100dfff3001ffffffffffffffffffffffff0f0103020110010001=bf
+4d454c00210100e0ff3001ffffffffffffffffffffffff0f0103020110010001=be
+4d454c00210100e1ff3001ffffffffffffffffffffffff0f0103020110010001=b1
+4d454c00210100e2ff3001ffffffffffffffffffffffff0f0103020110010001=b0
+4d454c00210100e3ff3001ffffffffffffffffffffffff0f0103020110010001=b3
+4d454c00210100e4ff3001ffffffffffffffffffffffff0f0103020110010001=b2
+4d454c00210100e5ff3001ffffffffffffffffffffffff0f0103020110010001=b5
+4d454c00210100e6ff3001ffffffffffffffffffffffff0f0103020110010001=b4
+4d454c00210100e7ff3001ffffffffffffffffffffffff0f0103020110010001=b7
+4d454c00210100e8ff3001ffffffffffffffffffffffff0f0103020110010001=b6
+4d454c00210100e9ff3001ffffffffffffffffffffffff0f0103020110010001=a9
+4d454c00210100eaff3001ffffffffffffffffffffffff0f0103020110010001=a8
+4d454c00210100ebff3001ffffffffffffffffffffffff0f0103020110010001=ab
+4d454c00210100ecff3001ffffffffffffffffffffffff0f0103020110010001=aa
+4d454c00210100edff3001ffffffffffffffffffffffff0f0103020110010001=ad
+4d454c00210100eeff3001ffffffffffffffffffffffff0f0103020110010001=ac
+4d454c00210100efff3001ffffffffffffffffffffffff0f0103020110010001=af
+4d454c00210100f0ff3001ffffffffffffffffffffffff0f0103020110010001=ae
+4d454c00210100f1ff3001ffffffffffffffffffffffff0f0103020110010001=a1
+4d454c00210100f2ff3001ffffffffffffffffffffffff0f0103020110010001=a0
+4d454c00210100f3ff3001ffffffffffffffffffffffff0f0103020110010001=a3
+4d454c00210100f4ff3001ffffffffffffffffffffffff0f0103020110010001=a2
+4d454c00210100f5ff3001ffffffffffffffffffffffff0f0103020110010001=a5
+4d454c00210100f6ff3001ffffffffffffffffffffffff0f0103020110010001=a4
+4d454c00210100f7ff3001ffffffffffffffffffffffff0f0103020110010001=a7
+4d454c00210100f8ff3001ffffffffffffffffffffffff0f0103020110010001=a6
+4d454c00210100f9ff3001ffffffffffffffffffffffff0f0103020110010000=59
+4d454c00210100faff3001ffffffffffffffffffffffff0f0103020110010000=58
+4d454c00210100fbff3001ffffffffffffffffffffffff0f0103020110010000=5b
+4d454c00210100fcff3001ffffffffffffffffffffffff0f0103020110010000=5a
+4d454c00210100fdff3001ffffffffffffffffffffffff0f0103020110010000=5d
+4d454c00210100feff3001ffffffffffffffffffffffff0f0103020110010000=5c
+4d454c00210100ffff3001ffffffffffffffffffffffff0f0103020110010000=5f

+ 256 - 0
research/bad-bruteforcing/reveng-formatted/melody-16-vol3-once-zone-all.txt

@@ -0,0 +1,256 @@
+4d454c0021010000ff3001ffffffffffffffffffffffff0f0103010110010001=59
+4d454c0021010001ff3001ffffffffffffffffffffffff0f0103010110010001=56
+4d454c0021010002ff3001ffffffffffffffffffffffff0f0103010110010001=57
+4d454c0021010003ff3001ffffffffffffffffffffffff0f0103010110010001=54
+4d454c0021010004ff3001ffffffffffffffffffffffff0f0103010110010001=55
+4d454c0021010005ff3001ffffffffffffffffffffffff0f0103010110010001=52
+4d454c0021010006ff3001ffffffffffffffffffffffff0f0103010110010001=53
+4d454c0021010007ff3001ffffffffffffffffffffffff0f0103010110010001=50
+4d454c0021010008ff3001ffffffffffffffffffffffff0f0103010110010001=51
+4d454c0021010009ff3001ffffffffffffffffffffffff0f0103010110010001=4e
+4d454c002101000aff3001ffffffffffffffffffffffff0f0103010110010001=4f
+4d454c002101000bff3001ffffffffffffffffffffffff0f0103010110010001=4c
+4d454c002101000cff3001ffffffffffffffffffffffff0f0103010110010001=4d
+4d454c002101000dff3001ffffffffffffffffffffffff0f0103010110010001=4a
+4d454c002101000eff3001ffffffffffffffffffffffff0f0103010110010001=4b
+4d454c002101000fff3001ffffffffffffffffffffffff0f0103010110010001=48
+4d454c0021010010ff3001ffffffffffffffffffffffff0f0103010110010001=49
+4d454c0021010011ff3001ffffffffffffffffffffffff0f0103010110010001=46
+4d454c0021010012ff3001ffffffffffffffffffffffff0f0103010110010001=47
+4d454c0021010013ff3001ffffffffffffffffffffffff0f0103010110010001=44
+4d454c0021010014ff3001ffffffffffffffffffffffff0f0103010110010001=45
+4d454c0021010015ff3001ffffffffffffffffffffffff0f0103010110010001=42
+4d454c0021010016ff3001ffffffffffffffffffffffff0f0103010110010001=43
+4d454c0021010017ff3001ffffffffffffffffffffffff0f0103010110010001=40
+4d454c0021010018ff3001ffffffffffffffffffffffff0f0103010110010001=41
+4d454c0021010019ff3001ffffffffffffffffffffffff0f0103010110010001=7e
+4d454c002101001aff3001ffffffffffffffffffffffff0f0103010110010001=7f
+4d454c002101001bff3001ffffffffffffffffffffffff0f0103010110010001=7c
+4d454c002101001cff3001ffffffffffffffffffffffff0f0103010110010001=7d
+4d454c002101001dff3001ffffffffffffffffffffffff0f0103010110010001=7a
+4d454c002101001eff3001ffffffffffffffffffffffff0f0103010110010001=7b
+4d454c002101001fff3001ffffffffffffffffffffffff0f0103010110010001=78
+4d454c0021010020ff3001ffffffffffffffffffffffff0f0103010110010001=79
+4d454c0021010021ff3001ffffffffffffffffffffffff0f0103010110010001=76
+4d454c0021010022ff3001ffffffffffffffffffffffff0f0103010110010001=77
+4d454c0021010023ff3001ffffffffffffffffffffffff0f0103010110010001=74
+4d454c0021010024ff3001ffffffffffffffffffffffff0f0103010110010001=75
+4d454c0021010025ff3001ffffffffffffffffffffffff0f0103010110010001=72
+4d454c0021010026ff3001ffffffffffffffffffffffff0f0103010110010001=73
+4d454c0021010027ff3001ffffffffffffffffffffffff0f0103010110010001=70
+4d454c0021010028ff3001ffffffffffffffffffffffff0f0103010110010001=71
+4d454c0021010029ff3001ffffffffffffffffffffffff0f0103010110010001=6e
+4d454c002101002aff3001ffffffffffffffffffffffff0f0103010110010001=6f
+4d454c002101002bff3001ffffffffffffffffffffffff0f0103010110010001=6c
+4d454c002101002cff3001ffffffffffffffffffffffff0f0103010110010001=6d
+4d454c002101002dff3001ffffffffffffffffffffffff0f0103010110010001=6a
+4d454c002101002eff3001ffffffffffffffffffffffff0f0103010110010001=6b
+4d454c002101002fff3001ffffffffffffffffffffffff0f0103010110010001=68
+4d454c0021010030ff3001ffffffffffffffffffffffff0f0103010110010001=69
+4d454c0021010031ff3001ffffffffffffffffffffffff0f0103010110010001=66
+4d454c0021010032ff3001ffffffffffffffffffffffff0f0103010110010001=67
+4d454c0021010033ff3001ffffffffffffffffffffffff0f0103010110010001=64
+4d454c0021010034ff3001ffffffffffffffffffffffff0f0103010110010001=65
+4d454c0021010035ff3001ffffffffffffffffffffffff0f0103010110010001=62
+4d454c0021010036ff3001ffffffffffffffffffffffff0f0103010110010001=63
+4d454c0021010037ff3001ffffffffffffffffffffffff0f0103010110010001=60
+4d454c0021010038ff3001ffffffffffffffffffffffff0f0103010110010001=61
+4d454c0021010039ff3001ffffffffffffffffffffffff0f0103010110010001=1e
+4d454c002101003aff3001ffffffffffffffffffffffff0f0103010110010001=1f
+4d454c002101003bff3001ffffffffffffffffffffffff0f0103010110010001=1c
+4d454c002101003cff3001ffffffffffffffffffffffff0f0103010110010001=1d
+4d454c002101003dff3001ffffffffffffffffffffffff0f0103010110010001=1a
+4d454c002101003eff3001ffffffffffffffffffffffff0f0103010110010001=1b
+4d454c002101003fff3001ffffffffffffffffffffffff0f0103010110010001=18
+4d454c0021010040ff3001ffffffffffffffffffffffff0f0103010110010001=19
+4d454c0021010041ff3001ffffffffffffffffffffffff0f0103010110010001=16
+4d454c0021010042ff3001ffffffffffffffffffffffff0f0103010110010001=17
+4d454c0021010043ff3001ffffffffffffffffffffffff0f0103010110010001=14
+4d454c0021010044ff3001ffffffffffffffffffffffff0f0103010110010001=15
+4d454c0021010045ff3001ffffffffffffffffffffffff0f0103010110010001=12
+4d454c0021010046ff3001ffffffffffffffffffffffff0f0103010110010001=13
+4d454c0021010047ff3001ffffffffffffffffffffffff0f0103010110010001=10
+4d454c0021010048ff3001ffffffffffffffffffffffff0f0103010110010001=11
+4d454c0021010049ff3001ffffffffffffffffffffffff0f0103010110010001=0e
+4d454c002101004aff3001ffffffffffffffffffffffff0f0103010110010001=0f
+4d454c002101004bff3001ffffffffffffffffffffffff0f0103010110010001=0c
+4d454c002101004cff3001ffffffffffffffffffffffff0f0103010110010001=0d
+4d454c002101004dff3001ffffffffffffffffffffffff0f0103010110010001=0a
+4d454c002101004eff3001ffffffffffffffffffffffff0f0103010110010001=0b
+4d454c002101004fff3001ffffffffffffffffffffffff0f0103010110010001=08
+4d454c0021010050ff3001ffffffffffffffffffffffff0f0103010110010001=09
+4d454c0021010051ff3001ffffffffffffffffffffffff0f0103010110010001=06
+4d454c0021010052ff3001ffffffffffffffffffffffff0f0103010110010001=07
+4d454c0021010053ff3001ffffffffffffffffffffffff0f0103010110010001=04
+4d454c0021010054ff3001ffffffffffffffffffffffff0f0103010110010001=05
+4d454c0021010055ff3001ffffffffffffffffffffffff0f0103010110010001=02
+4d454c0021010056ff3001ffffffffffffffffffffffff0f0103010110010001=03
+4d454c0021010057ff3001ffffffffffffffffffffffff0f0103010110010001=00
+4d454c0021010058ff3001ffffffffffffffffffffffff0f0103010110010001=01
+4d454c0021010059ff3001ffffffffffffffffffffffff0f0103010110010001=3e
+4d454c002101005aff3001ffffffffffffffffffffffff0f0103010110010001=3f
+4d454c002101005bff3001ffffffffffffffffffffffff0f0103010110010001=3c
+4d454c002101005cff3001ffffffffffffffffffffffff0f0103010110010001=3d
+4d454c002101005dff3001ffffffffffffffffffffffff0f0103010110010001=3a
+4d454c002101005eff3001ffffffffffffffffffffffff0f0103010110010001=3b
+4d454c002101005fff3001ffffffffffffffffffffffff0f0103010110010001=38
+4d454c0021010060ff3001ffffffffffffffffffffffff0f0103010110010001=39
+4d454c0021010061ff3001ffffffffffffffffffffffff0f0103010110010001=36
+4d454c0021010062ff3001ffffffffffffffffffffffff0f0103010110010001=37
+4d454c0021010063ff3001ffffffffffffffffffffffff0f0103010110010001=34
+4d454c0021010064ff3001ffffffffffffffffffffffff0f0103010110010001=35
+4d454c0021010065ff3001ffffffffffffffffffffffff0f0103010110010001=32
+4d454c0021010066ff3001ffffffffffffffffffffffff0f0103010110010001=33
+4d454c0021010067ff3001ffffffffffffffffffffffff0f0103010110010001=30
+4d454c0021010068ff3001ffffffffffffffffffffffff0f0103010110010001=31
+4d454c0021010069ff3001ffffffffffffffffffffffff0f0103010110010001=2e
+4d454c002101006aff3001ffffffffffffffffffffffff0f0103010110010001=2f
+4d454c002101006bff3001ffffffffffffffffffffffff0f0103010110010001=2c
+4d454c002101006cff3001ffffffffffffffffffffffff0f0103010110010001=2d
+4d454c002101006dff3001ffffffffffffffffffffffff0f0103010110010001=2a
+4d454c002101006eff3001ffffffffffffffffffffffff0f0103010110010001=2b
+4d454c002101006fff3001ffffffffffffffffffffffff0f0103010110010001=28
+4d454c0021010070ff3001ffffffffffffffffffffffff0f0103010110010001=29
+4d454c0021010071ff3001ffffffffffffffffffffffff0f0103010110010001=26
+4d454c0021010072ff3001ffffffffffffffffffffffff0f0103010110010001=27
+4d454c0021010073ff3001ffffffffffffffffffffffff0f0103010110010001=24
+4d454c0021010074ff3001ffffffffffffffffffffffff0f0103010110010001=25
+4d454c0021010075ff3001ffffffffffffffffffffffff0f0103010110010001=22
+4d454c0021010076ff3001ffffffffffffffffffffffff0f0103010110010001=23
+4d454c0021010077ff3001ffffffffffffffffffffffff0f0103010110010001=20
+4d454c0021010078ff3001ffffffffffffffffffffffff0f0103010110010001=21
+4d454c0021010079ff3001ffffffffffffffffffffffff0f0103010110010001=de
+4d454c002101007aff3001ffffffffffffffffffffffff0f0103010110010001=df
+4d454c002101007bff3001ffffffffffffffffffffffff0f0103010110010001=dc
+4d454c002101007cff3001ffffffffffffffffffffffff0f0103010110010001=dd
+4d454c002101007dff3001ffffffffffffffffffffffff0f0103010110010001=da
+4d454c002101007eff3001ffffffffffffffffffffffff0f0103010110010001=db
+4d454c002101007fff3001ffffffffffffffffffffffff0f0103010110010001=d8
+4d454c0021010080ff3001ffffffffffffffffffffffff0f0103010110010001=d9
+4d454c0021010081ff3001ffffffffffffffffffffffff0f0103010110010001=d6
+4d454c0021010082ff3001ffffffffffffffffffffffff0f0103010110010001=d7
+4d454c0021010083ff3001ffffffffffffffffffffffff0f0103010110010001=d4
+4d454c0021010084ff3001ffffffffffffffffffffffff0f0103010110010001=d5
+4d454c0021010085ff3001ffffffffffffffffffffffff0f0103010110010001=d2
+4d454c0021010086ff3001ffffffffffffffffffffffff0f0103010110010001=d3
+4d454c0021010087ff3001ffffffffffffffffffffffff0f0103010110010001=d0
+4d454c0021010088ff3001ffffffffffffffffffffffff0f0103010110010001=d1
+4d454c0021010089ff3001ffffffffffffffffffffffff0f0103010110010001=ce
+4d454c002101008aff3001ffffffffffffffffffffffff0f0103010110010001=cf
+4d454c002101008bff3001ffffffffffffffffffffffff0f0103010110010001=cc
+4d454c002101008cff3001ffffffffffffffffffffffff0f0103010110010001=cd
+4d454c002101008dff3001ffffffffffffffffffffffff0f0103010110010001=ca
+4d454c002101008eff3001ffffffffffffffffffffffff0f0103010110010001=cb
+4d454c002101008fff3001ffffffffffffffffffffffff0f0103010110010001=c8
+4d454c0021010090ff3001ffffffffffffffffffffffff0f0103010110010001=c9
+4d454c0021010091ff3001ffffffffffffffffffffffff0f0103010110010001=c6
+4d454c0021010092ff3001ffffffffffffffffffffffff0f0103010110010001=c7
+4d454c0021010093ff3001ffffffffffffffffffffffff0f0103010110010001=c4
+4d454c0021010094ff3001ffffffffffffffffffffffff0f0103010110010001=c5
+4d454c0021010095ff3001ffffffffffffffffffffffff0f0103010110010001=c2
+4d454c0021010096ff3001ffffffffffffffffffffffff0f0103010110010001=c3
+4d454c0021010097ff3001ffffffffffffffffffffffff0f0103010110010001=c0
+4d454c0021010098ff3001ffffffffffffffffffffffff0f0103010110010001=c1
+4d454c0021010099ff3001ffffffffffffffffffffffff0f0103010110010001=fe
+4d454c002101009aff3001ffffffffffffffffffffffff0f0103010110010001=ff
+4d454c002101009bff3001ffffffffffffffffffffffff0f0103010110010001=fc
+4d454c002101009cff3001ffffffffffffffffffffffff0f0103010110010001=fd
+4d454c002101009dff3001ffffffffffffffffffffffff0f0103010110010001=fa
+4d454c002101009eff3001ffffffffffffffffffffffff0f0103010110010001=fb
+4d454c002101009fff3001ffffffffffffffffffffffff0f0103010110010001=f8
+4d454c00210100a0ff3001ffffffffffffffffffffffff0f0103010110010001=f9
+4d454c00210100a1ff3001ffffffffffffffffffffffff0f0103010110010001=f6
+4d454c00210100a2ff3001ffffffffffffffffffffffff0f0103010110010001=f7
+4d454c00210100a3ff3001ffffffffffffffffffffffff0f0103010110010001=f4
+4d454c00210100a4ff3001ffffffffffffffffffffffff0f0103010110010001=f5
+4d454c00210100a5ff3001ffffffffffffffffffffffff0f0103010110010001=f2
+4d454c00210100a6ff3001ffffffffffffffffffffffff0f0103010110010001=f3
+4d454c00210100a7ff3001ffffffffffffffffffffffff0f0103010110010001=f0
+4d454c00210100a8ff3001ffffffffffffffffffffffff0f0103010110010001=f1
+4d454c00210100a9ff3001ffffffffffffffffffffffff0f0103010110010001=ee
+4d454c00210100aaff3001ffffffffffffffffffffffff0f0103010110010001=ef
+4d454c00210100abff3001ffffffffffffffffffffffff0f0103010110010001=ec
+4d454c00210100acff3001ffffffffffffffffffffffff0f0103010110010001=ed
+4d454c00210100adff3001ffffffffffffffffffffffff0f0103010110010001=ea
+4d454c00210100aeff3001ffffffffffffffffffffffff0f0103010110010001=eb
+4d454c00210100afff3001ffffffffffffffffffffffff0f0103010110010001=e8
+4d454c00210100b0ff3001ffffffffffffffffffffffff0f0103010110010001=e9
+4d454c00210100b1ff3001ffffffffffffffffffffffff0f0103010110010001=e6
+4d454c00210100b2ff3001ffffffffffffffffffffffff0f0103010110010001=e7
+4d454c00210100b3ff3001ffffffffffffffffffffffff0f0103010110010001=e4
+4d454c00210100b4ff3001ffffffffffffffffffffffff0f0103010110010001=e5
+4d454c00210100b5ff3001ffffffffffffffffffffffff0f0103010110010001=e2
+4d454c00210100b6ff3001ffffffffffffffffffffffff0f0103010110010001=e3
+4d454c00210100b7ff3001ffffffffffffffffffffffff0f0103010110010001=e0
+4d454c00210100b8ff3001ffffffffffffffffffffffff0f0103010110010001=e1
+4d454c00210100b9ff3001ffffffffffffffffffffffff0f0103010110010001=9e
+4d454c00210100baff3001ffffffffffffffffffffffff0f0103010110010001=9f
+4d454c00210100bbff3001ffffffffffffffffffffffff0f0103010110010001=9c
+4d454c00210100bcff3001ffffffffffffffffffffffff0f0103010110010001=9d
+4d454c00210100bdff3001ffffffffffffffffffffffff0f0103010110010001=9a
+4d454c00210100beff3001ffffffffffffffffffffffff0f0103010110010001=9b
+4d454c00210100bfff3001ffffffffffffffffffffffff0f0103010110010001=98
+4d454c00210100c0ff3001ffffffffffffffffffffffff0f0103010110010001=99
+4d454c00210100c1ff3001ffffffffffffffffffffffff0f0103010110010001=96
+4d454c00210100c2ff3001ffffffffffffffffffffffff0f0103010110010001=97
+4d454c00210100c3ff3001ffffffffffffffffffffffff0f0103010110010001=94
+4d454c00210100c4ff3001ffffffffffffffffffffffff0f0103010110010001=95
+4d454c00210100c5ff3001ffffffffffffffffffffffff0f0103010110010001=92
+4d454c00210100c6ff3001ffffffffffffffffffffffff0f0103010110010001=93
+4d454c00210100c7ff3001ffffffffffffffffffffffff0f0103010110010001=90
+4d454c00210100c8ff3001ffffffffffffffffffffffff0f0103010110010001=91
+4d454c00210100c9ff3001ffffffffffffffffffffffff0f0103010110010001=8e
+4d454c00210100caff3001ffffffffffffffffffffffff0f0103010110010001=8f
+4d454c00210100cbff3001ffffffffffffffffffffffff0f0103010110010001=8c
+4d454c00210100ccff3001ffffffffffffffffffffffff0f0103010110010001=8d
+4d454c00210100cdff3001ffffffffffffffffffffffff0f0103010110010001=8a
+4d454c00210100ceff3001ffffffffffffffffffffffff0f0103010110010001=8b
+4d454c00210100cfff3001ffffffffffffffffffffffff0f0103010110010001=88
+4d454c00210100d0ff3001ffffffffffffffffffffffff0f0103010110010001=89
+4d454c00210100d1ff3001ffffffffffffffffffffffff0f0103010110010001=86
+4d454c00210100d2ff3001ffffffffffffffffffffffff0f0103010110010001=87
+4d454c00210100d3ff3001ffffffffffffffffffffffff0f0103010110010001=84
+4d454c00210100d4ff3001ffffffffffffffffffffffff0f0103010110010001=85
+4d454c00210100d5ff3001ffffffffffffffffffffffff0f0103010110010001=82
+4d454c00210100d6ff3001ffffffffffffffffffffffff0f0103010110010001=83
+4d454c00210100d7ff3001ffffffffffffffffffffffff0f0103010110010001=80
+4d454c00210100d8ff3001ffffffffffffffffffffffff0f0103010110010001=81
+4d454c00210100d9ff3001ffffffffffffffffffffffff0f0103010110010001=be
+4d454c00210100daff3001ffffffffffffffffffffffff0f0103010110010001=bf
+4d454c00210100dbff3001ffffffffffffffffffffffff0f0103010110010001=bc
+4d454c00210100dcff3001ffffffffffffffffffffffff0f0103010110010001=bd
+4d454c00210100ddff3001ffffffffffffffffffffffff0f0103010110010001=ba
+4d454c00210100deff3001ffffffffffffffffffffffff0f0103010110010001=bb
+4d454c00210100dfff3001ffffffffffffffffffffffff0f0103010110010001=b8
+4d454c00210100e0ff3001ffffffffffffffffffffffff0f0103010110010001=b9
+4d454c00210100e1ff3001ffffffffffffffffffffffff0f0103010110010001=b6
+4d454c00210100e2ff3001ffffffffffffffffffffffff0f0103010110010001=b7
+4d454c00210100e3ff3001ffffffffffffffffffffffff0f0103010110010001=b4
+4d454c00210100e4ff3001ffffffffffffffffffffffff0f0103010110010001=b5
+4d454c00210100e5ff3001ffffffffffffffffffffffff0f0103010110010001=b2
+4d454c00210100e6ff3001ffffffffffffffffffffffff0f0103010110010001=b3
+4d454c00210100e7ff3001ffffffffffffffffffffffff0f0103010110010001=b0
+4d454c00210100e8ff3001ffffffffffffffffffffffff0f0103010110010001=b1
+4d454c00210100e9ff3001ffffffffffffffffffffffff0f0103010110010001=ae
+4d454c00210100eaff3001ffffffffffffffffffffffff0f0103010110010001=af
+4d454c00210100ebff3001ffffffffffffffffffffffff0f0103010110010001=ac
+4d454c00210100ecff3001ffffffffffffffffffffffff0f0103010110010001=ad
+4d454c00210100edff3001ffffffffffffffffffffffff0f0103010110010001=aa
+4d454c00210100eeff3001ffffffffffffffffffffffff0f0103010110010001=ab
+4d454c00210100efff3001ffffffffffffffffffffffff0f0103010110010001=a8
+4d454c00210100f0ff3001ffffffffffffffffffffffff0f0103010110010001=a9
+4d454c00210100f1ff3001ffffffffffffffffffffffff0f0103010110010001=a6
+4d454c00210100f2ff3001ffffffffffffffffffffffff0f0103010110010001=a7
+4d454c00210100f3ff3001ffffffffffffffffffffffff0f0103010110010001=a4
+4d454c00210100f4ff3001ffffffffffffffffffffffff0f0103010110010001=a5
+4d454c00210100f5ff3001ffffffffffffffffffffffff0f0103010110010001=a2
+4d454c00210100f6ff3001ffffffffffffffffffffffff0f0103010110010001=a3
+4d454c00210100f7ff3001ffffffffffffffffffffffff0f0103010110010001=a0
+4d454c00210100f8ff3001ffffffffffffffffffffffff0f0103010110010001=a1
+4d454c00210100f9ff3001ffffffffffffffffffffffff0f0103010110010000=5e
+4d454c00210100faff3001ffffffffffffffffffffffff0f0103010110010000=5f
+4d454c00210100fbff3001ffffffffffffffffffffffff0f0103010110010000=5c
+4d454c00210100fcff3001ffffffffffffffffffffffff0f0103010110010000=5d
+4d454c00210100fdff3001ffffffffffffffffffffffff0f0103010110010000=5a
+4d454c00210100feff3001ffffffffffffffffffffffff0f0103010110010000=5b
+4d454c00210100ffff3001ffffffffffffffffffffffff0f0103010110010000=58

+ 7 - 0
research/bad-bruteforcing/reveng-formatted/melody15-repeat3-zone8-volume-increments.txt

@@ -0,0 +1,7 @@
+4d454c0021010000ff300180000000000000000000000000010103010f010001=f3
+4d454c0021010000ff300180000000000000000000000000010203010f010001=f1
+4d454c0021010000ff300180000000000000000000000000010303010f010001=f5
+4d454c0021010000ff300180000000000000000000000000010403010f010001=f4
+4d454c0021010000ff300180000000000000000000000000010503010f010001=f7
+4d454c0021010000ff300180000000000000000000000000010603010f010001=f6
+4d454c0021010000ff300180000000000000000000000000010703010f010001=c9

+ 256 - 0
research/bad-bruteforcing/reveng-formatted/melody15-vol3-repeat2-zone16-sequecnce.txt

@@ -0,0 +1,256 @@
+4d454c0021010000ff300100800000000000000000000000010302010f010001=f4
+4d454c0021010001ff300100800000000000000000000000010302010f010001=fb
+4d454c0021010002ff300100800000000000000000000000010302010f010001=fa
+4d454c0021010003ff300100800000000000000000000000010302010f010001=f9
+4d454c0021010004ff300100800000000000000000000000010302010f010001=f8
+4d454c0021010005ff300100800000000000000000000000010302010f010001=ff
+4d454c0021010006ff300100800000000000000000000000010302010f010001=fe
+4d454c0021010007ff300100800000000000000000000000010302010f010001=fd
+4d454c0021010008ff300100800000000000000000000000010302010f010001=fc
+4d454c0021010009ff300100800000000000000000000000010302010f010001=e3
+4d454c002101000aff300100800000000000000000000000010302010f010001=e2
+4d454c002101000bff300100800000000000000000000000010302010f010001=e1
+4d454c002101000cff300100800000000000000000000000010302010f010001=e0
+4d454c002101000dff300100800000000000000000000000010302010f010001=e7
+4d454c002101000eff300100800000000000000000000000010302010f010001=e6
+4d454c002101000fff300100800000000000000000000000010302010f010001=e5
+4d454c0021010010ff300100800000000000000000000000010302010f010001=e4
+4d454c0021010011ff300100800000000000000000000000010302010f010001=eb
+4d454c0021010012ff300100800000000000000000000000010302010f010001=ea
+4d454c0021010013ff300100800000000000000000000000010302010f010001=e9
+4d454c0021010014ff300100800000000000000000000000010302010f010001=e8
+4d454c0021010015ff300100800000000000000000000000010302010f010001=ef
+4d454c0021010016ff300100800000000000000000000000010302010f010001=ee
+4d454c0021010017ff300100800000000000000000000000010302010f010001=ed
+4d454c0021010018ff300100800000000000000000000000010302010f010001=ec
+4d454c0021010019ff300100800000000000000000000000010302010f010001=d3
+4d454c002101001aff300100800000000000000000000000010302010f010001=d2
+4d454c002101001bff300100800000000000000000000000010302010f010001=d1
+4d454c002101001cff300100800000000000000000000000010302010f010001=d0
+4d454c002101001dff300100800000000000000000000000010302010f010001=d7
+4d454c002101001eff300100800000000000000000000000010302010f010001=d6
+4d454c002101001fff300100800000000000000000000000010302010f010001=d5
+4d454c0021010020ff300100800000000000000000000000010302010f010001=d4
+4d454c0021010021ff300100800000000000000000000000010302010f010001=db
+4d454c0021010022ff300100800000000000000000000000010302010f010001=da
+4d454c0021010023ff300100800000000000000000000000010302010f010001=d9
+4d454c0021010024ff300100800000000000000000000000010302010f010001=d8
+4d454c0021010025ff300100800000000000000000000000010302010f010001=df
+4d454c0021010026ff300100800000000000000000000000010302010f010001=de
+4d454c0021010027ff300100800000000000000000000000010302010f010001=dd
+4d454c0021010028ff300100800000000000000000000000010302010f010001=dc
+4d454c0021010029ff300100800000000000000000000000010302010f010001=c3
+4d454c002101002aff300100800000000000000000000000010302010f010001=c2
+4d454c002101002bff300100800000000000000000000000010302010f010001=c1
+4d454c002101002cff300100800000000000000000000000010302010f010001=c0
+4d454c002101002dff300100800000000000000000000000010302010f010001=c7
+4d454c002101002eff300100800000000000000000000000010302010f010001=c6
+4d454c002101002fff300100800000000000000000000000010302010f010001=c5
+4d454c0021010030ff300100800000000000000000000000010302010f010001=c4
+4d454c0021010031ff300100800000000000000000000000010302010f010001=cb
+4d454c0021010032ff300100800000000000000000000000010302010f010001=ca
+4d454c0021010033ff300100800000000000000000000000010302010f010001=c9
+4d454c0021010034ff300100800000000000000000000000010302010f010001=c8
+4d454c0021010035ff300100800000000000000000000000010302010f010001=cf
+4d454c0021010036ff300100800000000000000000000000010302010f010001=ce
+4d454c0021010037ff300100800000000000000000000000010302010f010001=cd
+4d454c0021010038ff300100800000000000000000000000010302010f010001=cc
+4d454c0021010039ff300100800000000000000000000000010302010f010001=b3
+4d454c002101003aff300100800000000000000000000000010302010f010001=b2
+4d454c002101003bff300100800000000000000000000000010302010f010001=b1
+4d454c002101003cff300100800000000000000000000000010302010f010001=b0
+4d454c002101003dff300100800000000000000000000000010302010f010001=b7
+4d454c002101003eff300100800000000000000000000000010302010f010001=b6
+4d454c002101003fff300100800000000000000000000000010302010f010001=b5
+4d454c0021010040ff300100800000000000000000000000010302010f010001=b4
+4d454c0021010041ff300100800000000000000000000000010302010f010001=bb
+4d454c0021010042ff300100800000000000000000000000010302010f010001=ba
+4d454c0021010043ff300100800000000000000000000000010302010f010001=b9
+4d454c0021010044ff300100800000000000000000000000010302010f010001=b8
+4d454c0021010045ff300100800000000000000000000000010302010f010001=bf
+4d454c0021010046ff300100800000000000000000000000010302010f010001=be
+4d454c0021010047ff300100800000000000000000000000010302010f010001=bd
+4d454c0021010048ff300100800000000000000000000000010302010f010001=bc
+4d454c0021010049ff300100800000000000000000000000010302010f010001=a3
+4d454c002101004aff300100800000000000000000000000010302010f010001=a2
+4d454c002101004bff300100800000000000000000000000010302010f010001=a1
+4d454c002101004cff300100800000000000000000000000010302010f010001=a0
+4d454c002101004dff300100800000000000000000000000010302010f010001=a7
+4d454c002101004eff300100800000000000000000000000010302010f010001=a6
+4d454c002101004fff300100800000000000000000000000010302010f010001=a5
+4d454c0021010050ff300100800000000000000000000000010302010f010001=a4
+4d454c0021010051ff300100800000000000000000000000010302010f010001=ab
+4d454c0021010052ff300100800000000000000000000000010302010f010001=aa
+4d454c0021010053ff300100800000000000000000000000010302010f010001=a9
+4d454c0021010054ff300100800000000000000000000000010302010f010001=a8
+4d454c0021010055ff300100800000000000000000000000010302010f010001=af
+4d454c0021010056ff300100800000000000000000000000010302010f010001=ae
+4d454c0021010057ff300100800000000000000000000000010302010f010001=ad
+4d454c0021010058ff300100800000000000000000000000010302010f010001=ac
+4d454c0021010059ff300100800000000000000000000000010302010f010001=93
+4d454c002101005aff300100800000000000000000000000010302010f010001=92
+4d454c002101005bff300100800000000000000000000000010302010f010001=91
+4d454c002101005cff300100800000000000000000000000010302010f010001=90
+4d454c002101005dff300100800000000000000000000000010302010f010001=97
+4d454c002101005eff300100800000000000000000000000010302010f010001=96
+4d454c002101005fff300100800000000000000000000000010302010f010001=95
+4d454c0021010060ff300100800000000000000000000000010302010f010001=94
+4d454c0021010061ff300100800000000000000000000000010302010f010001=9b
+4d454c0021010062ff300100800000000000000000000000010302010f010001=9a
+4d454c0021010063ff300100800000000000000000000000010302010f010001=99
+4d454c0021010064ff300100800000000000000000000000010302010f010001=98
+4d454c0021010065ff300100800000000000000000000000010302010f010001=9f
+4d454c0021010066ff300100800000000000000000000000010302010f010001=9e
+4d454c0021010067ff300100800000000000000000000000010302010f010001=9d
+4d454c0021010068ff300100800000000000000000000000010302010f010001=9c
+4d454c0021010069ff300100800000000000000000000000010302010f010001=83
+4d454c002101006aff300100800000000000000000000000010302010f010001=82
+4d454c002101006bff300100800000000000000000000000010302010f010001=81
+4d454c002101006cff300100800000000000000000000000010302010f010001=80
+4d454c002101006dff300100800000000000000000000000010302010f010001=87
+4d454c002101006eff300100800000000000000000000000010302010f010001=86
+4d454c002101006fff300100800000000000000000000000010302010f010001=85
+4d454c0021010070ff300100800000000000000000000000010302010f010001=84
+4d454c0021010071ff300100800000000000000000000000010302010f010001=8b
+4d454c0021010072ff300100800000000000000000000000010302010f010001=8a
+4d454c0021010073ff300100800000000000000000000000010302010f010001=89
+4d454c0021010074ff300100800000000000000000000000010302010f010001=88
+4d454c0021010075ff300100800000000000000000000000010302010f010001=8f
+4d454c0021010076ff300100800000000000000000000000010302010f010001=8e
+4d454c0021010077ff300100800000000000000000000000010302010f010001=8d
+4d454c0021010078ff300100800000000000000000000000010302010f010001=8c
+4d454c0021010079ff300100800000000000000000000000010302010f010001=73
+4d454c002101007aff300100800000000000000000000000010302010f010001=72
+4d454c002101007bff300100800000000000000000000000010302010f010001=71
+4d454c002101007cff300100800000000000000000000000010302010f010001=70
+4d454c002101007dff300100800000000000000000000000010302010f010001=77
+4d454c002101007eff300100800000000000000000000000010302010f010001=76
+4d454c002101007fff300100800000000000000000000000010302010f010001=75
+4d454c0021010080ff300100800000000000000000000000010302010f010001=74
+4d454c0021010081ff300100800000000000000000000000010302010f010001=7b
+4d454c0021010082ff300100800000000000000000000000010302010f010001=7a
+4d454c0021010083ff300100800000000000000000000000010302010f010001=79
+4d454c0021010084ff300100800000000000000000000000010302010f010001=78
+4d454c0021010085ff300100800000000000000000000000010302010f010001=7f
+4d454c0021010086ff300100800000000000000000000000010302010f010001=7e
+4d454c0021010087ff300100800000000000000000000000010302010f010001=7d
+4d454c0021010088ff300100800000000000000000000000010302010f010001=7c
+4d454c0021010089ff300100800000000000000000000000010302010f010001=63
+4d454c002101008aff300100800000000000000000000000010302010f010001=62
+4d454c002101008bff300100800000000000000000000000010302010f010001=61
+4d454c002101008cff300100800000000000000000000000010302010f010001=60
+4d454c002101008dff300100800000000000000000000000010302010f010001=67
+4d454c002101008eff300100800000000000000000000000010302010f010001=66
+4d454c002101008fff300100800000000000000000000000010302010f010001=65
+4d454c0021010090ff300100800000000000000000000000010302010f010001=64
+4d454c0021010091ff300100800000000000000000000000010302010f010001=6b
+4d454c0021010092ff300100800000000000000000000000010302010f010001=6a
+4d454c0021010093ff300100800000000000000000000000010302010f010001=69
+4d454c0021010094ff300100800000000000000000000000010302010f010001=68
+4d454c0021010095ff300100800000000000000000000000010302010f010001=6f
+4d454c0021010096ff300100800000000000000000000000010302010f010001=6e
+4d454c0021010097ff300100800000000000000000000000010302010f010001=6d
+4d454c0021010098ff300100800000000000000000000000010302010f010001=6c
+4d454c0021010099ff300100800000000000000000000000010302010f010001=53
+4d454c002101009aff300100800000000000000000000000010302010f010001=52
+4d454c002101009bff300100800000000000000000000000010302010f010001=51
+4d454c002101009cff300100800000000000000000000000010302010f010001=50
+4d454c002101009dff300100800000000000000000000000010302010f010001=57
+4d454c002101009eff300100800000000000000000000000010302010f010001=56
+4d454c002101009fff300100800000000000000000000000010302010f010001=55
+4d454c00210100a0ff300100800000000000000000000000010302010f010001=54
+4d454c00210100a1ff300100800000000000000000000000010302010f010001=5b
+4d454c00210100a2ff300100800000000000000000000000010302010f010001=5a
+4d454c00210100a3ff300100800000000000000000000000010302010f010001=59
+4d454c00210100a4ff300100800000000000000000000000010302010f010001=58
+4d454c00210100a5ff300100800000000000000000000000010302010f010001=5f
+4d454c00210100a6ff300100800000000000000000000000010302010f010001=5e
+4d454c00210100a7ff300100800000000000000000000000010302010f010001=5d
+4d454c00210100a8ff300100800000000000000000000000010302010f010001=5c
+4d454c00210100a9ff300100800000000000000000000000010302010f010001=43
+4d454c00210100aaff300100800000000000000000000000010302010f010001=42
+4d454c00210100abff300100800000000000000000000000010302010f010001=41
+4d454c00210100acff300100800000000000000000000000010302010f010001=40
+4d454c00210100adff300100800000000000000000000000010302010f010001=47
+4d454c00210100aeff300100800000000000000000000000010302010f010001=46
+4d454c00210100afff300100800000000000000000000000010302010f010001=45
+4d454c00210100b0ff300100800000000000000000000000010302010f010001=44
+4d454c00210100b1ff300100800000000000000000000000010302010f010001=4b
+4d454c00210100b2ff300100800000000000000000000000010302010f010001=4a
+4d454c00210100b3ff300100800000000000000000000000010302010f010001=49
+4d454c00210100b4ff300100800000000000000000000000010302010f010001=48
+4d454c00210100b5ff300100800000000000000000000000010302010f010001=4f
+4d454c00210100b6ff300100800000000000000000000000010302010f010001=4e
+4d454c00210100b7ff300100800000000000000000000000010302010f010001=4d
+4d454c00210100b8ff300100800000000000000000000000010302010f010001=4c
+4d454c00210100b9ff300100800000000000000000000000010302010f010001=33
+4d454c00210100baff300100800000000000000000000000010302010f010001=32
+4d454c00210100bbff300100800000000000000000000000010302010f010001=31
+4d454c00210100bcff300100800000000000000000000000010302010f010001=30
+4d454c00210100bdff300100800000000000000000000000010302010f010001=37
+4d454c00210100beff300100800000000000000000000000010302010f010001=36
+4d454c00210100bfff300100800000000000000000000000010302010f010001=35
+4d454c00210100c0ff300100800000000000000000000000010302010f010001=34
+4d454c00210100c1ff300100800000000000000000000000010302010f010001=3b
+4d454c00210100c2ff300100800000000000000000000000010302010f010001=3a
+4d454c00210100c3ff300100800000000000000000000000010302010f010001=39
+4d454c00210100c4ff300100800000000000000000000000010302010f010001=38
+4d454c00210100c5ff300100800000000000000000000000010302010f010001=3f
+4d454c00210100c6ff300100800000000000000000000000010302010f010001=3e
+4d454c00210100c7ff300100800000000000000000000000010302010f010001=3d
+4d454c00210100c8ff300100800000000000000000000000010302010f010001=3c
+4d454c00210100c9ff300100800000000000000000000000010302010f010001=23
+4d454c00210100caff300100800000000000000000000000010302010f010001=22
+4d454c00210100cbff300100800000000000000000000000010302010f010001=21
+4d454c00210100ccff300100800000000000000000000000010302010f010001=20
+4d454c00210100cdff300100800000000000000000000000010302010f010001=27
+4d454c00210100ceff300100800000000000000000000000010302010f010001=26
+4d454c00210100cfff300100800000000000000000000000010302010f010001=25
+4d454c00210100d0ff300100800000000000000000000000010302010f010001=24
+4d454c00210100d1ff300100800000000000000000000000010302010f010001=2b
+4d454c00210100d2ff300100800000000000000000000000010302010f010001=2a
+4d454c00210100d3ff300100800000000000000000000000010302010f010001=29
+4d454c00210100d4ff300100800000000000000000000000010302010f010001=28
+4d454c00210100d5ff300100800000000000000000000000010302010f010001=2f
+4d454c00210100d6ff300100800000000000000000000000010302010f010001=2e
+4d454c00210100d7ff300100800000000000000000000000010302010f010001=2d
+4d454c00210100d8ff300100800000000000000000000000010302010f010001=2c
+4d454c00210100d9ff300100800000000000000000000000010302010f010001=13
+4d454c00210100daff300100800000000000000000000000010302010f010001=12
+4d454c00210100dbff300100800000000000000000000000010302010f010001=11
+4d454c00210100dcff300100800000000000000000000000010302010f010001=10
+4d454c00210100ddff300100800000000000000000000000010302010f010001=17
+4d454c00210100deff300100800000000000000000000000010302010f010001=16
+4d454c00210100dfff300100800000000000000000000000010302010f010001=15
+4d454c00210100e0ff300100800000000000000000000000010302010f010001=14
+4d454c00210100e1ff300100800000000000000000000000010302010f010001=1b
+4d454c00210100e2ff300100800000000000000000000000010302010f010001=1a
+4d454c00210100e3ff300100800000000000000000000000010302010f010001=19
+4d454c00210100e4ff300100800000000000000000000000010302010f010001=18
+4d454c00210100e5ff300100800000000000000000000000010302010f010001=1f
+4d454c00210100e6ff300100800000000000000000000000010302010f010001=1e
+4d454c00210100e7ff300100800000000000000000000000010302010f010001=1d
+4d454c00210100e8ff300100800000000000000000000000010302010f010001=1c
+4d454c00210100e9ff300100800000000000000000000000010302010f010001=03
+4d454c00210100eaff300100800000000000000000000000010302010f010001=02
+4d454c00210100ebff300100800000000000000000000000010302010f010001=01
+4d454c00210100ecff300100800000000000000000000000010302010f010001=00
+4d454c00210100edff300100800000000000000000000000010302010f010001=07
+4d454c00210100eeff300100800000000000000000000000010302010f010001=06
+4d454c00210100efff300100800000000000000000000000010302010f010001=05
+4d454c00210100f0ff300100800000000000000000000000010302010f010001=04
+4d454c00210100f1ff300100800000000000000000000000010302010f010001=0b
+4d454c00210100f2ff300100800000000000000000000000010302010f010001=0a
+4d454c00210100f3ff300100800000000000000000000000010302010f010001=09
+4d454c00210100f4ff300100800000000000000000000000010302010f010001=08
+4d454c00210100f5ff300100800000000000000000000000010302010f010001=0f
+4d454c00210100f6ff300100800000000000000000000000010302010f010001=0e
+4d454c00210100f7ff300100800000000000000000000000010302010f010001=0d
+4d454c00210100f8ff300100800000000000000000000000010302010f010001=0c
+4d454c00210100f9ff300100800000000000000000000000010302010f010000=f3
+4d454c00210100faff300100800000000000000000000000010302010f010000=f2
+4d454c00210100fbff300100800000000000000000000000010302010f010000=f1
+4d454c00210100fcff300100800000000000000000000000010302010f010000=f0
+4d454c00210100fdff300100800000000000000000000000010302010f010000=f7
+4d454c00210100feff300100800000000000000000000000010302010f010000=f6
+4d454c00210100ffff300100800000000000000000000000010302010f010000=f5

+ 256 - 0
research/bad-bruteforcing/reveng-formatted/melody15-vol3-repeat2-zone8-sequence.txt

@@ -0,0 +1,256 @@
+4d454c0021010000ff300180000000000000000000000000010302010f010001=f4
+4d454c0021010001ff300180000000000000000000000000010302010f010001=fb
+4d454c0021010002ff300180000000000000000000000000010302010f010001=fa
+4d454c0021010003ff300180000000000000000000000000010302010f010001=f9
+4d454c0021010004ff300180000000000000000000000000010302010f010001=f8
+4d454c0021010005ff300180000000000000000000000000010302010f010001=ff
+4d454c0021010006ff300180000000000000000000000000010302010f010001=fe
+4d454c0021010007ff300180000000000000000000000000010302010f010001=fd
+4d454c0021010008ff300180000000000000000000000000010302010f010001=fc
+4d454c0021010009ff300180000000000000000000000000010302010f010001=e3
+4d454c002101000aff300180000000000000000000000000010302010f010001=e2
+4d454c002101000bff300180000000000000000000000000010302010f010001=e1
+4d454c002101000cff300180000000000000000000000000010302010f010001=e0
+4d454c002101000dff300180000000000000000000000000010302010f010001=e7
+4d454c002101000eff300180000000000000000000000000010302010f010001=e6
+4d454c002101000fff300180000000000000000000000000010302010f010001=e5
+4d454c0021010010ff300180000000000000000000000000010302010f010001=e4
+4d454c0021010011ff300180000000000000000000000000010302010f010001=eb
+4d454c0021010012ff300180000000000000000000000000010302010f010001=ea
+4d454c0021010013ff300180000000000000000000000000010302010f010001=e9
+4d454c0021010014ff300180000000000000000000000000010302010f010001=e8
+4d454c0021010015ff300180000000000000000000000000010302010f010001=ef
+4d454c0021010016ff300180000000000000000000000000010302010f010001=ee
+4d454c0021010017ff300180000000000000000000000000010302010f010001=ed
+4d454c0021010018ff300180000000000000000000000000010302010f010001=ec
+4d454c0021010019ff300180000000000000000000000000010302010f010001=d3
+4d454c002101001aff300180000000000000000000000000010302010f010001=d2
+4d454c002101001bff300180000000000000000000000000010302010f010001=d1
+4d454c002101001cff300180000000000000000000000000010302010f010001=d0
+4d454c002101001dff300180000000000000000000000000010302010f010001=d7
+4d454c002101001eff300180000000000000000000000000010302010f010001=d6
+4d454c002101001fff300180000000000000000000000000010302010f010001=d5
+4d454c0021010020ff300180000000000000000000000000010302010f010001=d4
+4d454c0021010021ff300180000000000000000000000000010302010f010001=db
+4d454c0021010022ff300180000000000000000000000000010302010f010001=da
+4d454c0021010023ff300180000000000000000000000000010302010f010001=d9
+4d454c0021010024ff300180000000000000000000000000010302010f010001=d8
+4d454c0021010025ff300180000000000000000000000000010302010f010001=df
+4d454c0021010026ff300180000000000000000000000000010302010f010001=de
+4d454c0021010027ff300180000000000000000000000000010302010f010001=dd
+4d454c0021010028ff300180000000000000000000000000010302010f010001=dc
+4d454c0021010029ff300180000000000000000000000000010302010f010001=c3
+4d454c002101002aff300180000000000000000000000000010302010f010001=c2
+4d454c002101002bff300180000000000000000000000000010302010f010001=c1
+4d454c002101002cff300180000000000000000000000000010302010f010001=c0
+4d454c002101002dff300180000000000000000000000000010302010f010001=c7
+4d454c002101002eff300180000000000000000000000000010302010f010001=c6
+4d454c002101002fff300180000000000000000000000000010302010f010001=c5
+4d454c0021010030ff300180000000000000000000000000010302010f010001=c4
+4d454c0021010031ff300180000000000000000000000000010302010f010001=cb
+4d454c0021010032ff300180000000000000000000000000010302010f010001=ca
+4d454c0021010033ff300180000000000000000000000000010302010f010001=c9
+4d454c0021010034ff300180000000000000000000000000010302010f010001=c8
+4d454c0021010035ff300180000000000000000000000000010302010f010001=cf
+4d454c0021010036ff300180000000000000000000000000010302010f010001=ce
+4d454c0021010037ff300180000000000000000000000000010302010f010001=cd
+4d454c0021010038ff300180000000000000000000000000010302010f010001=cc
+4d454c0021010039ff300180000000000000000000000000010302010f010001=b3
+4d454c002101003aff300180000000000000000000000000010302010f010001=b2
+4d454c002101003bff300180000000000000000000000000010302010f010001=b1
+4d454c002101003cff300180000000000000000000000000010302010f010001=b0
+4d454c002101003dff300180000000000000000000000000010302010f010001=b7
+4d454c002101003eff300180000000000000000000000000010302010f010001=b6
+4d454c002101003fff300180000000000000000000000000010302010f010001=b5
+4d454c0021010040ff300180000000000000000000000000010302010f010001=b4
+4d454c0021010041ff300180000000000000000000000000010302010f010001=bb
+4d454c0021010042ff300180000000000000000000000000010302010f010001=ba
+4d454c0021010043ff300180000000000000000000000000010302010f010001=b9
+4d454c0021010044ff300180000000000000000000000000010302010f010001=b8
+4d454c0021010045ff300180000000000000000000000000010302010f010001=bf
+4d454c0021010046ff300180000000000000000000000000010302010f010001=be
+4d454c0021010047ff300180000000000000000000000000010302010f010001=bd
+4d454c0021010048ff300180000000000000000000000000010302010f010001=bc
+4d454c0021010049ff300180000000000000000000000000010302010f010001=a3
+4d454c002101004aff300180000000000000000000000000010302010f010001=a2
+4d454c002101004bff300180000000000000000000000000010302010f010001=a1
+4d454c002101004cff300180000000000000000000000000010302010f010001=a0
+4d454c002101004dff300180000000000000000000000000010302010f010001=a7
+4d454c002101004eff300180000000000000000000000000010302010f010001=a6
+4d454c002101004fff300180000000000000000000000000010302010f010001=a5
+4d454c0021010050ff300180000000000000000000000000010302010f010001=a4
+4d454c0021010051ff300180000000000000000000000000010302010f010001=ab
+4d454c0021010052ff300180000000000000000000000000010302010f010001=aa
+4d454c0021010053ff300180000000000000000000000000010302010f010001=a9
+4d454c0021010054ff300180000000000000000000000000010302010f010001=a8
+4d454c0021010055ff300180000000000000000000000000010302010f010001=af
+4d454c0021010056ff300180000000000000000000000000010302010f010001=ae
+4d454c0021010057ff300180000000000000000000000000010302010f010001=ad
+4d454c0021010058ff300180000000000000000000000000010302010f010001=ac
+4d454c0021010059ff300180000000000000000000000000010302010f010001=93
+4d454c002101005aff300180000000000000000000000000010302010f010001=92
+4d454c002101005bff300180000000000000000000000000010302010f010001=91
+4d454c002101005cff300180000000000000000000000000010302010f010001=90
+4d454c002101005dff300180000000000000000000000000010302010f010001=97
+4d454c002101005eff300180000000000000000000000000010302010f010001=96
+4d454c002101005fff300180000000000000000000000000010302010f010001=95
+4d454c0021010060ff300180000000000000000000000000010302010f010001=94
+4d454c0021010061ff300180000000000000000000000000010302010f010001=9b
+4d454c0021010062ff300180000000000000000000000000010302010f010001=9a
+4d454c0021010063ff300180000000000000000000000000010302010f010001=99
+4d454c0021010064ff300180000000000000000000000000010302010f010001=98
+4d454c0021010065ff300180000000000000000000000000010302010f010001=9f
+4d454c0021010066ff300180000000000000000000000000010302010f010001=9e
+4d454c0021010067ff300180000000000000000000000000010302010f010001=9d
+4d454c0021010068ff300180000000000000000000000000010302010f010001=9c
+4d454c0021010069ff300180000000000000000000000000010302010f010001=83
+4d454c002101006aff300180000000000000000000000000010302010f010001=82
+4d454c002101006bff300180000000000000000000000000010302010f010001=81
+4d454c002101006cff300180000000000000000000000000010302010f010001=80
+4d454c002101006dff300180000000000000000000000000010302010f010001=87
+4d454c002101006eff300180000000000000000000000000010302010f010001=86
+4d454c002101006fff300180000000000000000000000000010302010f010001=85
+4d454c0021010070ff300180000000000000000000000000010302010f010001=84
+4d454c0021010071ff300180000000000000000000000000010302010f010001=8b
+4d454c0021010072ff300180000000000000000000000000010302010f010001=8a
+4d454c0021010073ff300180000000000000000000000000010302010f010001=89
+4d454c0021010074ff300180000000000000000000000000010302010f010001=88
+4d454c0021010075ff300180000000000000000000000000010302010f010001=8f
+4d454c0021010076ff300180000000000000000000000000010302010f010001=8e
+4d454c0021010077ff300180000000000000000000000000010302010f010001=8d
+4d454c0021010078ff300180000000000000000000000000010302010f010001=8c
+4d454c0021010079ff300180000000000000000000000000010302010f010001=73
+4d454c002101007aff300180000000000000000000000000010302010f010001=72
+4d454c002101007bff300180000000000000000000000000010302010f010001=71
+4d454c002101007cff300180000000000000000000000000010302010f010001=70
+4d454c002101007dff300180000000000000000000000000010302010f010001=77
+4d454c002101007eff300180000000000000000000000000010302010f010001=76
+4d454c002101007fff300180000000000000000000000000010302010f010001=75
+4d454c0021010080ff300180000000000000000000000000010302010f010001=74
+4d454c0021010081ff300180000000000000000000000000010302010f010001=7b
+4d454c0021010082ff300180000000000000000000000000010302010f010001=7a
+4d454c0021010083ff300180000000000000000000000000010302010f010001=79
+4d454c0021010084ff300180000000000000000000000000010302010f010001=78
+4d454c0021010085ff300180000000000000000000000000010302010f010001=7f
+4d454c0021010086ff300180000000000000000000000000010302010f010001=7e
+4d454c0021010087ff300180000000000000000000000000010302010f010001=7d
+4d454c0021010088ff300180000000000000000000000000010302010f010001=7c
+4d454c0021010089ff300180000000000000000000000000010302010f010001=63
+4d454c002101008aff300180000000000000000000000000010302010f010001=62
+4d454c002101008bff300180000000000000000000000000010302010f010001=61
+4d454c002101008cff300180000000000000000000000000010302010f010001=60
+4d454c002101008dff300180000000000000000000000000010302010f010001=67
+4d454c002101008eff300180000000000000000000000000010302010f010001=66
+4d454c002101008fff300180000000000000000000000000010302010f010001=65
+4d454c0021010090ff300180000000000000000000000000010302010f010001=64
+4d454c0021010091ff300180000000000000000000000000010302010f010001=6b
+4d454c0021010092ff300180000000000000000000000000010302010f010001=6a
+4d454c0021010093ff300180000000000000000000000000010302010f010001=69
+4d454c0021010094ff300180000000000000000000000000010302010f010001=68
+4d454c0021010095ff300180000000000000000000000000010302010f010001=6f
+4d454c0021010096ff300180000000000000000000000000010302010f010001=6e
+4d454c0021010097ff300180000000000000000000000000010302010f010001=6d
+4d454c0021010098ff300180000000000000000000000000010302010f010001=6c
+4d454c0021010099ff300180000000000000000000000000010302010f010001=53
+4d454c002101009aff300180000000000000000000000000010302010f010001=52
+4d454c002101009bff300180000000000000000000000000010302010f010001=51
+4d454c002101009cff300180000000000000000000000000010302010f010001=50
+4d454c002101009dff300180000000000000000000000000010302010f010001=57
+4d454c002101009eff300180000000000000000000000000010302010f010001=56
+4d454c002101009fff300180000000000000000000000000010302010f010001=55
+4d454c00210100a0ff300180000000000000000000000000010302010f010001=54
+4d454c00210100a1ff300180000000000000000000000000010302010f010001=5b
+4d454c00210100a2ff300180000000000000000000000000010302010f010001=5a
+4d454c00210100a3ff300180000000000000000000000000010302010f010001=59
+4d454c00210100a4ff300180000000000000000000000000010302010f010001=58
+4d454c00210100a5ff300180000000000000000000000000010302010f010001=5f
+4d454c00210100a6ff300180000000000000000000000000010302010f010001=5e
+4d454c00210100a7ff300180000000000000000000000000010302010f010001=5d
+4d454c00210100a8ff300180000000000000000000000000010302010f010001=5c
+4d454c00210100a9ff300180000000000000000000000000010302010f010001=43
+4d454c00210100aaff300180000000000000000000000000010302010f010001=42
+4d454c00210100abff300180000000000000000000000000010302010f010001=41
+4d454c00210100acff300180000000000000000000000000010302010f010001=40
+4d454c00210100adff300180000000000000000000000000010302010f010001=47
+4d454c00210100aeff300180000000000000000000000000010302010f010001=46
+4d454c00210100afff300180000000000000000000000000010302010f010001=45
+4d454c00210100b0ff300180000000000000000000000000010302010f010001=44
+4d454c00210100b1ff300180000000000000000000000000010302010f010001=4b
+4d454c00210100b2ff300180000000000000000000000000010302010f010001=4a
+4d454c00210100b3ff300180000000000000000000000000010302010f010001=49
+4d454c00210100b4ff300180000000000000000000000000010302010f010001=48
+4d454c00210100b5ff300180000000000000000000000000010302010f010001=4f
+4d454c00210100b6ff300180000000000000000000000000010302010f010001=4e
+4d454c00210100b7ff300180000000000000000000000000010302010f010001=4d
+4d454c00210100b8ff300180000000000000000000000000010302010f010001=4c
+4d454c00210100b9ff300180000000000000000000000000010302010f010001=33
+4d454c00210100baff300180000000000000000000000000010302010f010001=32
+4d454c00210100bbff300180000000000000000000000000010302010f010001=31
+4d454c00210100bcff300180000000000000000000000000010302010f010001=30
+4d454c00210100bdff300180000000000000000000000000010302010f010001=37
+4d454c00210100beff300180000000000000000000000000010302010f010001=36
+4d454c00210100bfff300180000000000000000000000000010302010f010001=35
+4d454c00210100c0ff300180000000000000000000000000010302010f010001=34
+4d454c00210100c1ff300180000000000000000000000000010302010f010001=3b
+4d454c00210100c2ff300180000000000000000000000000010302010f010001=3a
+4d454c00210100c3ff300180000000000000000000000000010302010f010001=39
+4d454c00210100c4ff300180000000000000000000000000010302010f010001=38
+4d454c00210100c5ff300180000000000000000000000000010302010f010001=3f
+4d454c00210100c6ff300180000000000000000000000000010302010f010001=3e
+4d454c00210100c7ff300180000000000000000000000000010302010f010001=3d
+4d454c00210100c8ff300180000000000000000000000000010302010f010001=3c
+4d454c00210100c9ff300180000000000000000000000000010302010f010001=23
+4d454c00210100caff300180000000000000000000000000010302010f010001=22
+4d454c00210100cbff300180000000000000000000000000010302010f010001=21
+4d454c00210100ccff300180000000000000000000000000010302010f010001=20
+4d454c00210100cdff300180000000000000000000000000010302010f010001=27
+4d454c00210100ceff300180000000000000000000000000010302010f010001=26
+4d454c00210100cfff300180000000000000000000000000010302010f010001=25
+4d454c00210100d0ff300180000000000000000000000000010302010f010001=24
+4d454c00210100d1ff300180000000000000000000000000010302010f010001=2b
+4d454c00210100d2ff300180000000000000000000000000010302010f010001=2a
+4d454c00210100d3ff300180000000000000000000000000010302010f010001=29
+4d454c00210100d4ff300180000000000000000000000000010302010f010001=28
+4d454c00210100d5ff300180000000000000000000000000010302010f010001=2f
+4d454c00210100d6ff300180000000000000000000000000010302010f010001=2e
+4d454c00210100d7ff300180000000000000000000000000010302010f010001=2d
+4d454c00210100d8ff300180000000000000000000000000010302010f010001=2c
+4d454c00210100d9ff300180000000000000000000000000010302010f010001=13
+4d454c00210100daff300180000000000000000000000000010302010f010001=12
+4d454c00210100dbff300180000000000000000000000000010302010f010001=11
+4d454c00210100dcff300180000000000000000000000000010302010f010001=10
+4d454c00210100ddff300180000000000000000000000000010302010f010001=17
+4d454c00210100deff300180000000000000000000000000010302010f010001=16
+4d454c00210100dfff300180000000000000000000000000010302010f010001=15
+4d454c00210100e0ff300180000000000000000000000000010302010f010001=14
+4d454c00210100e1ff300180000000000000000000000000010302010f010001=1b
+4d454c00210100e2ff300180000000000000000000000000010302010f010001=1a
+4d454c00210100e3ff300180000000000000000000000000010302010f010001=19
+4d454c00210100e4ff300180000000000000000000000000010302010f010001=18
+4d454c00210100e5ff300180000000000000000000000000010302010f010001=1f
+4d454c00210100e6ff300180000000000000000000000000010302010f010001=1e
+4d454c00210100e7ff300180000000000000000000000000010302010f010001=1d
+4d454c00210100e8ff300180000000000000000000000000010302010f010001=1c
+4d454c00210100e9ff300180000000000000000000000000010302010f010001=03
+4d454c00210100eaff300180000000000000000000000000010302010f010001=02
+4d454c00210100ebff300180000000000000000000000000010302010f010001=01
+4d454c00210100ecff300180000000000000000000000000010302010f010001=00
+4d454c00210100edff300180000000000000000000000000010302010f010001=07
+4d454c00210100eeff300180000000000000000000000000010302010f010001=06
+4d454c00210100efff300180000000000000000000000000010302010f010001=05
+4d454c00210100f0ff300180000000000000000000000000010302010f010001=04
+4d454c00210100f1ff300180000000000000000000000000010302010f010001=0b
+4d454c00210100f2ff300180000000000000000000000000010302010f010001=0a
+4d454c00210100f3ff300180000000000000000000000000010302010f010001=09
+4d454c00210100f4ff300180000000000000000000000000010302010f010001=08
+4d454c00210100f5ff300180000000000000000000000000010302010f010001=0f
+4d454c00210100f6ff300180000000000000000000000000010302010f010001=0e
+4d454c00210100f7ff300180000000000000000000000000010302010f010001=0d
+4d454c00210100f8ff300180000000000000000000000000010302010f010001=0c
+4d454c00210100f9ff300180000000000000000000000000010302010f010000=f3
+4d454c00210100faff300180000000000000000000000000010302010f010000=f2
+4d454c00210100fbff300180000000000000000000000000010302010f010000=f1
+4d454c00210100fcff300180000000000000000000000000010302010f010000=f0
+4d454c00210100fdff300180000000000000000000000000010302010f010000=f7
+4d454c00210100feff300180000000000000000000000000010302010f010000=f6
+4d454c00210100ffff300180000000000000000000000000010302010f010000=f5

+ 5 - 0
research/bad-bruteforcing/reveng-formatted/melody15-vol3-zone8-repeat-increments.txt

@@ -0,0 +1,5 @@
+4d454c0021010000ff300180000000000000000000000000010301010f010001=f3
+4d454c0021010000ff300180000000000000000000000000010302010f010001=f4
+4d454c0021010000ff300180000000000000000000000000010303010f010001=f5
+4d454c0021010000ff300180000000000000000000000000010304010f010001=f6
+4d454c0021010000ff300180000000000000000000000000010305010f010001=f7

+ 256 - 0
research/bad-bruteforcing/reveng-formatted/melody16-vol3-repeat2-zone-all-sequence.txt

@@ -0,0 +1,256 @@
+4d454c0021010000ff3001ffffffffffffffffffffffff0f0103020110010001=5e
+4d454c0021010001ff3001ffffffffffffffffffffffff0f0103020110010001=51
+4d454c0021010002ff3001ffffffffffffffffffffffff0f0103020110010001=50
+4d454c0021010003ff3001ffffffffffffffffffffffff0f0103020110010001=53
+4d454c0021010004ff3001ffffffffffffffffffffffff0f0103020110010001=52
+4d454c0021010005ff3001ffffffffffffffffffffffff0f0103020110010001=55
+4d454c0021010006ff3001ffffffffffffffffffffffff0f0103020110010001=54
+4d454c0021010007ff3001ffffffffffffffffffffffff0f0103020110010001=57
+4d454c0021010008ff3001ffffffffffffffffffffffff0f0103020110010001=56
+4d454c0021010009ff3001ffffffffffffffffffffffff0f0103020110010001=49
+4d454c002101000aff3001ffffffffffffffffffffffff0f0103020110010001=48
+4d454c002101000bff3001ffffffffffffffffffffffff0f0103020110010001=4b
+4d454c002101000cff3001ffffffffffffffffffffffff0f0103020110010001=4a
+4d454c002101000dff3001ffffffffffffffffffffffff0f0103020110010001=4d
+4d454c002101000eff3001ffffffffffffffffffffffff0f0103020110010001=4c
+4d454c002101000fff3001ffffffffffffffffffffffff0f0103020110010001=4f
+4d454c0021010010ff3001ffffffffffffffffffffffff0f0103020110010001=4e
+4d454c0021010011ff3001ffffffffffffffffffffffff0f0103020110010001=41
+4d454c0021010012ff3001ffffffffffffffffffffffff0f0103020110010001=40
+4d454c0021010013ff3001ffffffffffffffffffffffff0f0103020110010001=43
+4d454c0021010014ff3001ffffffffffffffffffffffff0f0103020110010001=42
+4d454c0021010015ff3001ffffffffffffffffffffffff0f0103020110010001=45
+4d454c0021010016ff3001ffffffffffffffffffffffff0f0103020110010001=44
+4d454c0021010017ff3001ffffffffffffffffffffffff0f0103020110010001=47
+4d454c0021010018ff3001ffffffffffffffffffffffff0f0103020110010001=46
+4d454c0021010019ff3001ffffffffffffffffffffffff0f0103020110010001=79
+4d454c002101001aff3001ffffffffffffffffffffffff0f0103020110010001=78
+4d454c002101001bff3001ffffffffffffffffffffffff0f0103020110010001=7b
+4d454c002101001cff3001ffffffffffffffffffffffff0f0103020110010001=7a
+4d454c002101001dff3001ffffffffffffffffffffffff0f0103020110010001=7d
+4d454c002101001eff3001ffffffffffffffffffffffff0f0103020110010001=7c
+4d454c002101001fff3001ffffffffffffffffffffffff0f0103020110010001=7f
+4d454c0021010020ff3001ffffffffffffffffffffffff0f0103020110010001=7e
+4d454c0021010021ff3001ffffffffffffffffffffffff0f0103020110010001=71
+4d454c0021010022ff3001ffffffffffffffffffffffff0f0103020110010001=70
+4d454c0021010023ff3001ffffffffffffffffffffffff0f0103020110010001=73
+4d454c0021010024ff3001ffffffffffffffffffffffff0f0103020110010001=72
+4d454c0021010025ff3001ffffffffffffffffffffffff0f0103020110010001=75
+4d454c0021010026ff3001ffffffffffffffffffffffff0f0103020110010001=74
+4d454c0021010027ff3001ffffffffffffffffffffffff0f0103020110010001=77
+4d454c0021010028ff3001ffffffffffffffffffffffff0f0103020110010001=76
+4d454c0021010029ff3001ffffffffffffffffffffffff0f0103020110010001=69
+4d454c002101002aff3001ffffffffffffffffffffffff0f0103020110010001=68
+4d454c002101002bff3001ffffffffffffffffffffffff0f0103020110010001=6b
+4d454c002101002cff3001ffffffffffffffffffffffff0f0103020110010001=6a
+4d454c002101002dff3001ffffffffffffffffffffffff0f0103020110010001=6d
+4d454c002101002eff3001ffffffffffffffffffffffff0f0103020110010001=6c
+4d454c002101002fff3001ffffffffffffffffffffffff0f0103020110010001=6f
+4d454c0021010030ff3001ffffffffffffffffffffffff0f0103020110010001=6e
+4d454c0021010031ff3001ffffffffffffffffffffffff0f0103020110010001=61
+4d454c0021010032ff3001ffffffffffffffffffffffff0f0103020110010001=60
+4d454c0021010033ff3001ffffffffffffffffffffffff0f0103020110010001=63
+4d454c0021010034ff3001ffffffffffffffffffffffff0f0103020110010001=62
+4d454c0021010035ff3001ffffffffffffffffffffffff0f0103020110010001=65
+4d454c0021010036ff3001ffffffffffffffffffffffff0f0103020110010001=64
+4d454c0021010037ff3001ffffffffffffffffffffffff0f0103020110010001=67
+4d454c0021010038ff3001ffffffffffffffffffffffff0f0103020110010001=66
+4d454c0021010039ff3001ffffffffffffffffffffffff0f0103020110010001=19
+4d454c002101003aff3001ffffffffffffffffffffffff0f0103020110010001=18
+4d454c002101003bff3001ffffffffffffffffffffffff0f0103020110010001=1b
+4d454c002101003cff3001ffffffffffffffffffffffff0f0103020110010001=1a
+4d454c002101003dff3001ffffffffffffffffffffffff0f0103020110010001=1d
+4d454c002101003eff3001ffffffffffffffffffffffff0f0103020110010001=1c
+4d454c002101003fff3001ffffffffffffffffffffffff0f0103020110010001=1f
+4d454c0021010040ff3001ffffffffffffffffffffffff0f0103020110010001=1e
+4d454c0021010041ff3001ffffffffffffffffffffffff0f0103020110010001=11
+4d454c0021010042ff3001ffffffffffffffffffffffff0f0103020110010001=10
+4d454c0021010043ff3001ffffffffffffffffffffffff0f0103020110010001=13
+4d454c0021010044ff3001ffffffffffffffffffffffff0f0103020110010001=12
+4d454c0021010045ff3001ffffffffffffffffffffffff0f0103020110010001=15
+4d454c0021010046ff3001ffffffffffffffffffffffff0f0103020110010001=14
+4d454c0021010047ff3001ffffffffffffffffffffffff0f0103020110010001=17
+4d454c0021010048ff3001ffffffffffffffffffffffff0f0103020110010001=16
+4d454c0021010049ff3001ffffffffffffffffffffffff0f0103020110010001=09
+4d454c002101004aff3001ffffffffffffffffffffffff0f0103020110010001=08
+4d454c002101004bff3001ffffffffffffffffffffffff0f0103020110010001=0b
+4d454c002101004cff3001ffffffffffffffffffffffff0f0103020110010001=0a
+4d454c002101004dff3001ffffffffffffffffffffffff0f0103020110010001=0d
+4d454c002101004eff3001ffffffffffffffffffffffff0f0103020110010001=0c
+4d454c002101004fff3001ffffffffffffffffffffffff0f0103020110010001=0f
+4d454c0021010050ff3001ffffffffffffffffffffffff0f0103020110010001=0e
+4d454c0021010051ff3001ffffffffffffffffffffffff0f0103020110010001=01
+4d454c0021010052ff3001ffffffffffffffffffffffff0f0103020110010001=00
+4d454c0021010053ff3001ffffffffffffffffffffffff0f0103020110010001=03
+4d454c0021010054ff3001ffffffffffffffffffffffff0f0103020110010001=02
+4d454c0021010055ff3001ffffffffffffffffffffffff0f0103020110010001=05
+4d454c0021010056ff3001ffffffffffffffffffffffff0f0103020110010001=04
+4d454c0021010057ff3001ffffffffffffffffffffffff0f0103020110010001=07
+4d454c0021010058ff3001ffffffffffffffffffffffff0f0103020110010001=06
+4d454c0021010059ff3001ffffffffffffffffffffffff0f0103020110010001=39
+4d454c002101005aff3001ffffffffffffffffffffffff0f0103020110010001=38
+4d454c002101005bff3001ffffffffffffffffffffffff0f0103020110010001=3b
+4d454c002101005cff3001ffffffffffffffffffffffff0f0103020110010001=3a
+4d454c002101005dff3001ffffffffffffffffffffffff0f0103020110010001=3d
+4d454c002101005eff3001ffffffffffffffffffffffff0f0103020110010001=3c
+4d454c002101005fff3001ffffffffffffffffffffffff0f0103020110010001=3f
+4d454c0021010060ff3001ffffffffffffffffffffffff0f0103020110010001=3e
+4d454c0021010061ff3001ffffffffffffffffffffffff0f0103020110010001=31
+4d454c0021010062ff3001ffffffffffffffffffffffff0f0103020110010001=30
+4d454c0021010063ff3001ffffffffffffffffffffffff0f0103020110010001=33
+4d454c0021010064ff3001ffffffffffffffffffffffff0f0103020110010001=32
+4d454c0021010065ff3001ffffffffffffffffffffffff0f0103020110010001=35
+4d454c0021010066ff3001ffffffffffffffffffffffff0f0103020110010001=34
+4d454c0021010067ff3001ffffffffffffffffffffffff0f0103020110010001=37
+4d454c0021010068ff3001ffffffffffffffffffffffff0f0103020110010001=36
+4d454c0021010069ff3001ffffffffffffffffffffffff0f0103020110010001=29
+4d454c002101006aff3001ffffffffffffffffffffffff0f0103020110010001=28
+4d454c002101006bff3001ffffffffffffffffffffffff0f0103020110010001=2b
+4d454c002101006cff3001ffffffffffffffffffffffff0f0103020110010001=2a
+4d454c002101006dff3001ffffffffffffffffffffffff0f0103020110010001=2d
+4d454c002101006eff3001ffffffffffffffffffffffff0f0103020110010001=2c
+4d454c002101006fff3001ffffffffffffffffffffffff0f0103020110010001=2f
+4d454c0021010070ff3001ffffffffffffffffffffffff0f0103020110010001=2e
+4d454c0021010071ff3001ffffffffffffffffffffffff0f0103020110010001=21
+4d454c0021010072ff3001ffffffffffffffffffffffff0f0103020110010001=20
+4d454c0021010073ff3001ffffffffffffffffffffffff0f0103020110010001=23
+4d454c0021010074ff3001ffffffffffffffffffffffff0f0103020110010001=22
+4d454c0021010075ff3001ffffffffffffffffffffffff0f0103020110010001=25
+4d454c0021010076ff3001ffffffffffffffffffffffff0f0103020110010001=24
+4d454c0021010077ff3001ffffffffffffffffffffffff0f0103020110010001=27
+4d454c0021010078ff3001ffffffffffffffffffffffff0f0103020110010001=26
+4d454c0021010079ff3001ffffffffffffffffffffffff0f0103020110010001=d9
+4d454c002101007aff3001ffffffffffffffffffffffff0f0103020110010001=d8
+4d454c002101007bff3001ffffffffffffffffffffffff0f0103020110010001=db
+4d454c002101007cff3001ffffffffffffffffffffffff0f0103020110010001=da
+4d454c002101007dff3001ffffffffffffffffffffffff0f0103020110010001=dd
+4d454c002101007eff3001ffffffffffffffffffffffff0f0103020110010001=dc
+4d454c002101007fff3001ffffffffffffffffffffffff0f0103020110010001=df
+4d454c0021010080ff3001ffffffffffffffffffffffff0f0103020110010001=de
+4d454c0021010081ff3001ffffffffffffffffffffffff0f0103020110010001=d1
+4d454c0021010082ff3001ffffffffffffffffffffffff0f0103020110010001=d0
+4d454c0021010083ff3001ffffffffffffffffffffffff0f0103020110010001=d3
+4d454c0021010084ff3001ffffffffffffffffffffffff0f0103020110010001=d2
+4d454c0021010085ff3001ffffffffffffffffffffffff0f0103020110010001=d5
+4d454c0021010086ff3001ffffffffffffffffffffffff0f0103020110010001=d4
+4d454c0021010087ff3001ffffffffffffffffffffffff0f0103020110010001=d7
+4d454c0021010088ff3001ffffffffffffffffffffffff0f0103020110010001=d6
+4d454c0021010089ff3001ffffffffffffffffffffffff0f0103020110010001=c9
+4d454c002101008aff3001ffffffffffffffffffffffff0f0103020110010001=c8
+4d454c002101008bff3001ffffffffffffffffffffffff0f0103020110010001=cb
+4d454c002101008cff3001ffffffffffffffffffffffff0f0103020110010001=ca
+4d454c002101008dff3001ffffffffffffffffffffffff0f0103020110010001=cd
+4d454c002101008eff3001ffffffffffffffffffffffff0f0103020110010001=cc
+4d454c002101008fff3001ffffffffffffffffffffffff0f0103020110010001=cf
+4d454c0021010090ff3001ffffffffffffffffffffffff0f0103020110010001=ce
+4d454c0021010091ff3001ffffffffffffffffffffffff0f0103020110010001=c1
+4d454c0021010092ff3001ffffffffffffffffffffffff0f0103020110010001=c0
+4d454c0021010093ff3001ffffffffffffffffffffffff0f0103020110010001=c3
+4d454c0021010094ff3001ffffffffffffffffffffffff0f0103020110010001=c2
+4d454c0021010095ff3001ffffffffffffffffffffffff0f0103020110010001=c5
+4d454c0021010096ff3001ffffffffffffffffffffffff0f0103020110010001=c4
+4d454c0021010097ff3001ffffffffffffffffffffffff0f0103020110010001=c7
+4d454c0021010098ff3001ffffffffffffffffffffffff0f0103020110010001=c6
+4d454c0021010099ff3001ffffffffffffffffffffffff0f0103020110010001=f9
+4d454c002101009aff3001ffffffffffffffffffffffff0f0103020110010001=f8
+4d454c002101009bff3001ffffffffffffffffffffffff0f0103020110010001=fb
+4d454c002101009cff3001ffffffffffffffffffffffff0f0103020110010001=fa
+4d454c002101009dff3001ffffffffffffffffffffffff0f0103020110010001=fd
+4d454c002101009eff3001ffffffffffffffffffffffff0f0103020110010001=fc
+4d454c002101009fff3001ffffffffffffffffffffffff0f0103020110010001=ff
+4d454c00210100a0ff3001ffffffffffffffffffffffff0f0103020110010001=fe
+4d454c00210100a1ff3001ffffffffffffffffffffffff0f0103020110010001=f1
+4d454c00210100a2ff3001ffffffffffffffffffffffff0f0103020110010001=f0
+4d454c00210100a3ff3001ffffffffffffffffffffffff0f0103020110010001=f3
+4d454c00210100a4ff3001ffffffffffffffffffffffff0f0103020110010001=f2
+4d454c00210100a5ff3001ffffffffffffffffffffffff0f0103020110010001=f5
+4d454c00210100a6ff3001ffffffffffffffffffffffff0f0103020110010001=f4
+4d454c00210100a7ff3001ffffffffffffffffffffffff0f0103020110010001=f7
+4d454c00210100a8ff3001ffffffffffffffffffffffff0f0103020110010001=f6
+4d454c00210100a9ff3001ffffffffffffffffffffffff0f0103020110010001=e9
+4d454c00210100aaff3001ffffffffffffffffffffffff0f0103020110010001=e8
+4d454c00210100abff3001ffffffffffffffffffffffff0f0103020110010001=eb
+4d454c00210100acff3001ffffffffffffffffffffffff0f0103020110010001=ea
+4d454c00210100adff3001ffffffffffffffffffffffff0f0103020110010001=ed
+4d454c00210100aeff3001ffffffffffffffffffffffff0f0103020110010001=ec
+4d454c00210100afff3001ffffffffffffffffffffffff0f0103020110010001=ef
+4d454c00210100b0ff3001ffffffffffffffffffffffff0f0103020110010001=ee
+4d454c00210100b1ff3001ffffffffffffffffffffffff0f0103020110010001=e1
+4d454c00210100b2ff3001ffffffffffffffffffffffff0f0103020110010001=e0
+4d454c00210100b3ff3001ffffffffffffffffffffffff0f0103020110010001=e3
+4d454c00210100b4ff3001ffffffffffffffffffffffff0f0103020110010001=e2
+4d454c00210100b5ff3001ffffffffffffffffffffffff0f0103020110010001=e5
+4d454c00210100b6ff3001ffffffffffffffffffffffff0f0103020110010001=e4
+4d454c00210100b7ff3001ffffffffffffffffffffffff0f0103020110010001=e7
+4d454c00210100b8ff3001ffffffffffffffffffffffff0f0103020110010001=e6
+4d454c00210100b9ff3001ffffffffffffffffffffffff0f0103020110010001=99
+4d454c00210100baff3001ffffffffffffffffffffffff0f0103020110010001=98
+4d454c00210100bbff3001ffffffffffffffffffffffff0f0103020110010001=9b
+4d454c00210100bcff3001ffffffffffffffffffffffff0f0103020110010001=9a
+4d454c00210100bdff3001ffffffffffffffffffffffff0f0103020110010001=9d
+4d454c00210100beff3001ffffffffffffffffffffffff0f0103020110010001=9c
+4d454c00210100bfff3001ffffffffffffffffffffffff0f0103020110010001=9f
+4d454c00210100c0ff3001ffffffffffffffffffffffff0f0103020110010001=9e
+4d454c00210100c1ff3001ffffffffffffffffffffffff0f0103020110010001=91
+4d454c00210100c2ff3001ffffffffffffffffffffffff0f0103020110010001=90
+4d454c00210100c3ff3001ffffffffffffffffffffffff0f0103020110010001=93
+4d454c00210100c4ff3001ffffffffffffffffffffffff0f0103020110010001=92
+4d454c00210100c5ff3001ffffffffffffffffffffffff0f0103020110010001=95
+4d454c00210100c6ff3001ffffffffffffffffffffffff0f0103020110010001=94
+4d454c00210100c7ff3001ffffffffffffffffffffffff0f0103020110010001=97
+4d454c00210100c8ff3001ffffffffffffffffffffffff0f0103020110010001=96
+4d454c00210100c9ff3001ffffffffffffffffffffffff0f0103020110010001=89
+4d454c00210100caff3001ffffffffffffffffffffffff0f0103020110010001=88
+4d454c00210100cbff3001ffffffffffffffffffffffff0f0103020110010001=8b
+4d454c00210100ccff3001ffffffffffffffffffffffff0f0103020110010001=8a
+4d454c00210100cdff3001ffffffffffffffffffffffff0f0103020110010001=8d
+4d454c00210100ceff3001ffffffffffffffffffffffff0f0103020110010001=8c
+4d454c00210100cfff3001ffffffffffffffffffffffff0f0103020110010001=8f
+4d454c00210100d0ff3001ffffffffffffffffffffffff0f0103020110010001=8e
+4d454c00210100d1ff3001ffffffffffffffffffffffff0f0103020110010001=81
+4d454c00210100d2ff3001ffffffffffffffffffffffff0f0103020110010001=80
+4d454c00210100d3ff3001ffffffffffffffffffffffff0f0103020110010001=83
+4d454c00210100d4ff3001ffffffffffffffffffffffff0f0103020110010001=82
+4d454c00210100d5ff3001ffffffffffffffffffffffff0f0103020110010001=85
+4d454c00210100d6ff3001ffffffffffffffffffffffff0f0103020110010001=84
+4d454c00210100d7ff3001ffffffffffffffffffffffff0f0103020110010001=87
+4d454c00210100d8ff3001ffffffffffffffffffffffff0f0103020110010001=86
+4d454c00210100d9ff3001ffffffffffffffffffffffff0f0103020110010001=b9
+4d454c00210100daff3001ffffffffffffffffffffffff0f0103020110010001=b8
+4d454c00210100dbff3001ffffffffffffffffffffffff0f0103020110010001=bb
+4d454c00210100dcff3001ffffffffffffffffffffffff0f0103020110010001=ba
+4d454c00210100ddff3001ffffffffffffffffffffffff0f0103020110010001=bd
+4d454c00210100deff3001ffffffffffffffffffffffff0f0103020110010001=bc
+4d454c00210100dfff3001ffffffffffffffffffffffff0f0103020110010001=bf
+4d454c00210100e0ff3001ffffffffffffffffffffffff0f0103020110010001=be
+4d454c00210100e1ff3001ffffffffffffffffffffffff0f0103020110010001=b1
+4d454c00210100e2ff3001ffffffffffffffffffffffff0f0103020110010001=b0
+4d454c00210100e3ff3001ffffffffffffffffffffffff0f0103020110010001=b3
+4d454c00210100e4ff3001ffffffffffffffffffffffff0f0103020110010001=b2
+4d454c00210100e5ff3001ffffffffffffffffffffffff0f0103020110010001=b5
+4d454c00210100e6ff3001ffffffffffffffffffffffff0f0103020110010001=b4
+4d454c00210100e7ff3001ffffffffffffffffffffffff0f0103020110010001=b7
+4d454c00210100e8ff3001ffffffffffffffffffffffff0f0103020110010001=b6
+4d454c00210100e9ff3001ffffffffffffffffffffffff0f0103020110010001=a9
+4d454c00210100eaff3001ffffffffffffffffffffffff0f0103020110010001=a8
+4d454c00210100ebff3001ffffffffffffffffffffffff0f0103020110010001=ab
+4d454c00210100ecff3001ffffffffffffffffffffffff0f0103020110010001=aa
+4d454c00210100edff3001ffffffffffffffffffffffff0f0103020110010001=ad
+4d454c00210100eeff3001ffffffffffffffffffffffff0f0103020110010001=ac
+4d454c00210100efff3001ffffffffffffffffffffffff0f0103020110010001=af
+4d454c00210100f0ff3001ffffffffffffffffffffffff0f0103020110010001=ae
+4d454c00210100f1ff3001ffffffffffffffffffffffff0f0103020110010001=a1
+4d454c00210100f2ff3001ffffffffffffffffffffffff0f0103020110010001=a0
+4d454c00210100f3ff3001ffffffffffffffffffffffff0f0103020110010001=a3
+4d454c00210100f4ff3001ffffffffffffffffffffffff0f0103020110010001=a2
+4d454c00210100f5ff3001ffffffffffffffffffffffff0f0103020110010001=a5
+4d454c00210100f6ff3001ffffffffffffffffffffffff0f0103020110010001=a4
+4d454c00210100f7ff3001ffffffffffffffffffffffff0f0103020110010001=a7
+4d454c00210100f8ff3001ffffffffffffffffffffffff0f0103020110010001=a6
+4d454c00210100f9ff3001ffffffffffffffffffffffff0f0103020110010000=59
+4d454c00210100faff3001ffffffffffffffffffffffff0f0103020110010000=58
+4d454c00210100fbff3001ffffffffffffffffffffffff0f0103020110010000=5b
+4d454c00210100fcff3001ffffffffffffffffffffffff0f0103020110010000=5a
+4d454c00210100fdff3001ffffffffffffffffffffffff0f0103020110010000=5d
+4d454c00210100feff3001ffffffffffffffffffffffff0f0103020110010000=5c
+4d454c00210100ffff3001ffffffffffffffffffffffff0f0103020110010000=5f

+ 33 - 0
research/bad-bruteforcing/reveng-formatted/stop-zone-all-partial-sequence.txt

@@ -0,0 +1,33 @@
+4d454c001a010020ff5002ffffffffffffffffffffffff0f01=0b
+4d454c001a010021ff5002ffffffffffffffffffffffff0f01=04
+4d454c001a010022ff5002ffffffffffffffffffffffff0f01=05
+4d454c001a010028ff5002ffffffffffffffffffffffff0f01=03
+4d454c001a010029ff5002ffffffffffffffffffffffff0f01=1c
+4d454c001a01002aff5002ffffffffffffffffffffffff0f01=1d
+4d454c001a01002bff5002ffffffffffffffffffffffff0f01=1e
+4d454c001a01002cff5002ffffffffffffffffffffffff0f01=1f
+4d454c001a01002dff5002ffffffffffffffffffffffff0f01=18
+4d454c001a01002eff5002ffffffffffffffffffffffff0f01=19
+4d454c001a01002fff5002ffffffffffffffffffffffff0f01=1a
+4d454c001a010030ff5002ffffffffffffffffffffffff0f01=1b
+4d454c001a010031ff5002ffffffffffffffffffffffff0f01=14
+4d454c001a010032ff5002ffffffffffffffffffffffff0f01=15
+4d454c001a010033ff5002ffffffffffffffffffffffff0f01=16
+4d454c001a010034ff5002ffffffffffffffffffffffff0f01=17
+4d454c001a010035ff5002ffffffffffffffffffffffff0f01=10
+4d454c001a010036ff5002ffffffffffffffffffffffff0f01=11
+4d454c001a010037ff5002ffffffffffffffffffffffff0f01=12
+4d454c001a010038ff5002ffffffffffffffffffffffff0f01=13
+4d454c001a010039ff5002ffffffffffffffffffffffff0f01=6c
+4d454c001a01003aff5002ffffffffffffffffffffffff0f01=6d
+4d454c001a01003bff5002ffffffffffffffffffffffff0f01=6e
+4d454c001a01003cff5002ffffffffffffffffffffffff0f01=6f
+4d454c001a01003dff5002ffffffffffffffffffffffff0f01=68
+4d454c001a01003eff5002ffffffffffffffffffffffff0f01=69
+4d454c001a01003fff5002ffffffffffffffffffffffff0f01=6a
+4d454c001a010040ff5002ffffffffffffffffffffffff0f01=6b
+4d454c001a010041ff5002ffffffffffffffffffffffff0f01=64
+4d454c001a010042ff5002ffffffffffffffffffffffff0f01=65
+4d454c001a010043ff5002ffffffffffffffffffffffff0f01=66
+4d454c001a010044ff5002ffffffffffffffffffffffff0f01=67
+4d454c001a010045ff5002ffffffffffffffffffffffff0f01=60

+ 256 - 0
research/bad-bruteforcing/sequence.txt

@@ -0,0 +1,256 @@
+4d454c0021010001ff300180000000000000000000000000010302010f010001fb
+4d454c0021010002ff300180000000000000000000000000010302010f010001fa
+4d454c0021010003ff300180000000000000000000000000010302010f010001f9
+4d454c0021010004ff300180000000000000000000000000010302010f010001f8
+4d454c0021010005ff300180000000000000000000000000010302010f010001ff
+4d454c0021010006ff300180000000000000000000000000010302010f010001fe
+4d454c0021010007ff300180000000000000000000000000010302010f010001fd
+4d454c0021010008ff300180000000000000000000000000010302010f010001fc
+4d454c0021010009ff300180000000000000000000000000010302010f010001e3
+4d454c002101000aff300180000000000000000000000000010302010f010001e2
+4d454c002101000bff300180000000000000000000000000010302010f010001e1
+4d454c002101000cff300180000000000000000000000000010302010f010001e0
+4d454c002101000dff300180000000000000000000000000010302010f010001e7
+4d454c002101000eff300180000000000000000000000000010302010f010001e6
+4d454c002101000fff300180000000000000000000000000010302010f010001e5
+4d454c0021010010ff300180000000000000000000000000010302010f010001e4
+4d454c0021010011ff300180000000000000000000000000010302010f010001eb
+4d454c0021010012ff300180000000000000000000000000010302010f010001ea
+4d454c0021010013ff300180000000000000000000000000010302010f010001e9
+4d454c0021010014ff300180000000000000000000000000010302010f010001e8
+4d454c0021010015ff300180000000000000000000000000010302010f010001ef
+4d454c0021010016ff300180000000000000000000000000010302010f010001ee
+4d454c0021010017ff300180000000000000000000000000010302010f010001ed
+4d454c0021010018ff300180000000000000000000000000010302010f010001ec
+4d454c0021010019ff300180000000000000000000000000010302010f010001d3
+4d454c002101001aff300180000000000000000000000000010302010f010001d2
+4d454c002101001bff300180000000000000000000000000010302010f010001d1
+4d454c002101001cff300180000000000000000000000000010302010f010001d0
+4d454c002101001dff300180000000000000000000000000010302010f010001d7
+4d454c002101001eff300180000000000000000000000000010302010f010001d6
+4d454c002101001fff300180000000000000000000000000010302010f010001d5
+4d454c0021010020ff300180000000000000000000000000010302010f010001d4
+4d454c0021010021ff300180000000000000000000000000010302010f010001db
+4d454c0021010022ff300180000000000000000000000000010302010f010001da
+4d454c0021010023ff300180000000000000000000000000010302010f010001d9
+4d454c0021010024ff300180000000000000000000000000010302010f010001d8
+4d454c0021010025ff300180000000000000000000000000010302010f010001df
+4d454c0021010026ff300180000000000000000000000000010302010f010001de
+4d454c0021010027ff300180000000000000000000000000010302010f010001dd
+4d454c0021010028ff300180000000000000000000000000010302010f010001dc
+4d454c0021010029ff300180000000000000000000000000010302010f010001c3
+4d454c002101002aff300180000000000000000000000000010302010f010001c2
+4d454c002101002bff300180000000000000000000000000010302010f010001c1
+4d454c002101002cff300180000000000000000000000000010302010f010001c0
+4d454c002101002dff300180000000000000000000000000010302010f010001c7
+4d454c002101002eff300180000000000000000000000000010302010f010001c6
+4d454c002101002fff300180000000000000000000000000010302010f010001c5
+4d454c0021010030ff300180000000000000000000000000010302010f010001c4
+4d454c0021010031ff300180000000000000000000000000010302010f010001cb
+4d454c0021010032ff300180000000000000000000000000010302010f010001ca
+4d454c0021010033ff300180000000000000000000000000010302010f010001c9
+4d454c0021010034ff300180000000000000000000000000010302010f010001c8
+4d454c0021010035ff300180000000000000000000000000010302010f010001cf
+4d454c0021010036ff300180000000000000000000000000010302010f010001ce
+4d454c0021010037ff300180000000000000000000000000010302010f010001cd
+4d454c0021010038ff300180000000000000000000000000010302010f010001cc
+4d454c0021010039ff300180000000000000000000000000010302010f010001b3
+4d454c002101003aff300180000000000000000000000000010302010f010001b2
+4d454c002101003bff300180000000000000000000000000010302010f010001b1
+4d454c002101003cff300180000000000000000000000000010302010f010001b0
+4d454c002101003dff300180000000000000000000000000010302010f010001b7
+4d454c002101003eff300180000000000000000000000000010302010f010001b6
+4d454c002101003fff300180000000000000000000000000010302010f010001b5
+4d454c0021010040ff300180000000000000000000000000010302010f010001b4
+4d454c0021010041ff300180000000000000000000000000010302010f010001bb
+4d454c0021010042ff300180000000000000000000000000010302010f010001ba
+4d454c0021010043ff300180000000000000000000000000010302010f010001b9
+4d454c0021010044ff300180000000000000000000000000010302010f010001b8
+4d454c0021010045ff300180000000000000000000000000010302010f010001bf
+4d454c0021010046ff300180000000000000000000000000010302010f010001be
+4d454c0021010047ff300180000000000000000000000000010302010f010001bd
+4d454c0021010048ff300180000000000000000000000000010302010f010001bc
+4d454c0021010049ff300180000000000000000000000000010302010f010001a3
+4d454c002101004aff300180000000000000000000000000010302010f010001a2
+4d454c002101004bff300180000000000000000000000000010302010f010001a1
+4d454c002101004cff300180000000000000000000000000010302010f010001a0
+4d454c002101004dff300180000000000000000000000000010302010f010001a7
+4d454c002101004eff300180000000000000000000000000010302010f010001a6
+4d454c002101004fff300180000000000000000000000000010302010f010001a5
+4d454c0021010050ff300180000000000000000000000000010302010f010001a4
+4d454c0021010051ff300180000000000000000000000000010302010f010001ab
+4d454c0021010052ff300180000000000000000000000000010302010f010001aa
+4d454c0021010053ff300180000000000000000000000000010302010f010001a9
+4d454c0021010054ff300180000000000000000000000000010302010f010001a8
+4d454c0021010055ff300180000000000000000000000000010302010f010001af
+4d454c0021010056ff300180000000000000000000000000010302010f010001ae
+4d454c0021010057ff300180000000000000000000000000010302010f010001ad
+4d454c0021010058ff300180000000000000000000000000010302010f010001ac
+4d454c0021010059ff300180000000000000000000000000010302010f01000193
+4d454c002101005aff300180000000000000000000000000010302010f01000192
+4d454c002101005bff300180000000000000000000000000010302010f01000191
+4d454c002101005cff300180000000000000000000000000010302010f01000190
+4d454c002101005dff300180000000000000000000000000010302010f01000197
+4d454c002101005eff300180000000000000000000000000010302010f01000196
+4d454c002101005fff300180000000000000000000000000010302010f01000195
+4d454c0021010060ff300180000000000000000000000000010302010f01000194
+4d454c0021010061ff300180000000000000000000000000010302010f0100019b
+4d454c0021010062ff300180000000000000000000000000010302010f0100019a
+4d454c0021010063ff300180000000000000000000000000010302010f01000199
+4d454c0021010064ff300180000000000000000000000000010302010f01000198
+4d454c0021010065ff300180000000000000000000000000010302010f0100019f
+4d454c0021010066ff300180000000000000000000000000010302010f0100019e
+4d454c0021010067ff300180000000000000000000000000010302010f0100019d
+4d454c0021010068ff300180000000000000000000000000010302010f0100019c
+4d454c0021010069ff300180000000000000000000000000010302010f01000183
+4d454c002101006aff300180000000000000000000000000010302010f01000182
+4d454c002101006bff300180000000000000000000000000010302010f01000181
+4d454c002101006cff300180000000000000000000000000010302010f01000180
+4d454c002101006dff300180000000000000000000000000010302010f01000187
+4d454c002101006eff300180000000000000000000000000010302010f01000186
+4d454c002101006fff300180000000000000000000000000010302010f01000185
+4d454c0021010070ff300180000000000000000000000000010302010f01000184
+4d454c0021010071ff300180000000000000000000000000010302010f0100018b
+4d454c0021010072ff300180000000000000000000000000010302010f0100018a
+4d454c0021010073ff300180000000000000000000000000010302010f01000189
+4d454c0021010074ff300180000000000000000000000000010302010f01000188
+4d454c0021010075ff300180000000000000000000000000010302010f0100018f
+4d454c0021010076ff300180000000000000000000000000010302010f0100018e
+4d454c0021010077ff300180000000000000000000000000010302010f0100018d
+4d454c0021010078ff300180000000000000000000000000010302010f0100018c
+4d454c0021010079ff300180000000000000000000000000010302010f01000173
+4d454c002101007aff300180000000000000000000000000010302010f01000172
+4d454c002101007bff300180000000000000000000000000010302010f01000171
+4d454c002101007cff300180000000000000000000000000010302010f01000170
+4d454c002101007dff300180000000000000000000000000010302010f01000177
+4d454c002101007eff300180000000000000000000000000010302010f01000176
+4d454c002101007fff300180000000000000000000000000010302010f01000175
+4d454c0021010080ff300180000000000000000000000000010302010f01000174
+4d454c0021010081ff300180000000000000000000000000010302010f0100017b
+4d454c0021010082ff300180000000000000000000000000010302010f0100017a
+4d454c0021010083ff300180000000000000000000000000010302010f01000179
+4d454c0021010084ff300180000000000000000000000000010302010f01000178
+4d454c0021010085ff300180000000000000000000000000010302010f0100017f
+4d454c0021010086ff300180000000000000000000000000010302010f0100017e
+4d454c0021010087ff300180000000000000000000000000010302010f0100017d
+4d454c0021010088ff300180000000000000000000000000010302010f0100017c
+4d454c0021010089ff300180000000000000000000000000010302010f01000163
+4d454c002101008aff300180000000000000000000000000010302010f01000162
+4d454c002101008bff300180000000000000000000000000010302010f01000161
+4d454c002101008cff300180000000000000000000000000010302010f01000160
+4d454c002101008dff300180000000000000000000000000010302010f01000167
+4d454c002101008eff300180000000000000000000000000010302010f01000166
+4d454c002101008fff300180000000000000000000000000010302010f01000165
+4d454c0021010090ff300180000000000000000000000000010302010f01000164
+4d454c0021010091ff300180000000000000000000000000010302010f0100016b
+4d454c0021010092ff300180000000000000000000000000010302010f0100016a
+4d454c0021010093ff300180000000000000000000000000010302010f01000169
+4d454c0021010094ff300180000000000000000000000000010302010f01000168
+4d454c0021010095ff300180000000000000000000000000010302010f0100016f
+4d454c0021010096ff300180000000000000000000000000010302010f0100016e
+4d454c0021010097ff300180000000000000000000000000010302010f0100016d
+4d454c0021010098ff300180000000000000000000000000010302010f0100016c
+4d454c0021010099ff300180000000000000000000000000010302010f01000153
+4d454c002101009aff300180000000000000000000000000010302010f01000152
+4d454c002101009bff300180000000000000000000000000010302010f01000151
+4d454c002101009cff300180000000000000000000000000010302010f01000150
+4d454c002101009dff300180000000000000000000000000010302010f01000157
+4d454c002101009eff300180000000000000000000000000010302010f01000156
+4d454c002101009fff300180000000000000000000000000010302010f01000155
+4d454c00210100a0ff300180000000000000000000000000010302010f01000154
+4d454c00210100a1ff300180000000000000000000000000010302010f0100015b
+4d454c00210100a2ff300180000000000000000000000000010302010f0100015a
+4d454c00210100a3ff300180000000000000000000000000010302010f01000159
+4d454c00210100a4ff300180000000000000000000000000010302010f01000158
+4d454c00210100a5ff300180000000000000000000000000010302010f0100015f
+4d454c00210100a6ff300180000000000000000000000000010302010f0100015e
+4d454c00210100a7ff300180000000000000000000000000010302010f0100015d
+4d454c00210100a8ff300180000000000000000000000000010302010f0100015c
+4d454c00210100a9ff300180000000000000000000000000010302010f01000143
+4d454c00210100aaff300180000000000000000000000000010302010f01000142
+4d454c00210100abff300180000000000000000000000000010302010f01000141
+4d454c00210100acff300180000000000000000000000000010302010f01000140
+4d454c00210100adff300180000000000000000000000000010302010f01000147
+4d454c00210100aeff300180000000000000000000000000010302010f01000146
+4d454c00210100afff300180000000000000000000000000010302010f01000145
+4d454c00210100b0ff300180000000000000000000000000010302010f01000144
+4d454c00210100b1ff300180000000000000000000000000010302010f0100014b
+4d454c00210100b2ff300180000000000000000000000000010302010f0100014a
+4d454c00210100b3ff300180000000000000000000000000010302010f01000149
+4d454c00210100b4ff300180000000000000000000000000010302010f01000148
+4d454c00210100b5ff300180000000000000000000000000010302010f0100014f
+4d454c00210100b6ff300180000000000000000000000000010302010f0100014e
+4d454c00210100b7ff300180000000000000000000000000010302010f0100014d
+4d454c00210100b8ff300180000000000000000000000000010302010f0100014c
+4d454c00210100b9ff300180000000000000000000000000010302010f01000133
+4d454c00210100baff300180000000000000000000000000010302010f01000132
+4d454c00210100bbff300180000000000000000000000000010302010f01000131
+4d454c00210100bcff300180000000000000000000000000010302010f01000130
+4d454c00210100bdff300180000000000000000000000000010302010f01000137
+4d454c00210100beff300180000000000000000000000000010302010f01000136
+4d454c00210100bfff300180000000000000000000000000010302010f01000135
+4d454c00210100c0ff300180000000000000000000000000010302010f01000134
+4d454c00210100c1ff300180000000000000000000000000010302010f0100013b
+4d454c00210100c2ff300180000000000000000000000000010302010f0100013a
+4d454c00210100c3ff300180000000000000000000000000010302010f01000139
+4d454c00210100c4ff300180000000000000000000000000010302010f01000138
+4d454c00210100c5ff300180000000000000000000000000010302010f0100013f
+4d454c00210100c6ff300180000000000000000000000000010302010f0100013e
+4d454c00210100c7ff300180000000000000000000000000010302010f0100013d
+4d454c00210100c8ff300180000000000000000000000000010302010f0100013c
+4d454c00210100c9ff300180000000000000000000000000010302010f01000123
+4d454c00210100caff300180000000000000000000000000010302010f01000122
+4d454c00210100cbff300180000000000000000000000000010302010f01000121
+4d454c00210100ccff300180000000000000000000000000010302010f01000120
+4d454c00210100cdff300180000000000000000000000000010302010f01000127
+4d454c00210100ceff300180000000000000000000000000010302010f01000126
+4d454c00210100cfff300180000000000000000000000000010302010f01000125
+4d454c00210100d0ff300180000000000000000000000000010302010f01000124
+4d454c00210100d1ff300180000000000000000000000000010302010f0100012b
+4d454c00210100d2ff300180000000000000000000000000010302010f0100012a
+4d454c00210100d3ff300180000000000000000000000000010302010f01000129
+4d454c00210100d4ff300180000000000000000000000000010302010f01000128
+4d454c00210100d5ff300180000000000000000000000000010302010f0100012f
+4d454c00210100d6ff300180000000000000000000000000010302010f0100012e
+4d454c00210100d7ff300180000000000000000000000000010302010f0100012d
+4d454c00210100d8ff300180000000000000000000000000010302010f0100012c
+4d454c00210100d9ff300180000000000000000000000000010302010f01000113
+4d454c00210100daff300180000000000000000000000000010302010f01000112
+4d454c00210100dbff300180000000000000000000000000010302010f01000111
+4d454c00210100dcff300180000000000000000000000000010302010f01000110
+4d454c00210100ddff300180000000000000000000000000010302010f01000117
+4d454c00210100deff300180000000000000000000000000010302010f01000116
+4d454c00210100dfff300180000000000000000000000000010302010f01000115
+4d454c00210100e0ff300180000000000000000000000000010302010f01000114
+4d454c00210100e1ff300180000000000000000000000000010302010f0100011b
+4d454c00210100e2ff300180000000000000000000000000010302010f0100011a
+4d454c00210100e3ff300180000000000000000000000000010302010f01000119
+4d454c00210100e4ff300180000000000000000000000000010302010f01000118
+4d454c00210100e5ff300180000000000000000000000000010302010f0100011f
+4d454c00210100e6ff300180000000000000000000000000010302010f0100011e
+4d454c00210100e7ff300180000000000000000000000000010302010f0100011d
+4d454c00210100e8ff300180000000000000000000000000010302010f0100011c
+4d454c00210100e9ff300180000000000000000000000000010302010f01000103
+4d454c00210100eaff300180000000000000000000000000010302010f01000102
+4d454c00210100ebff300180000000000000000000000000010302010f01000101
+4d454c00210100ecff300180000000000000000000000000010302010f01000100
+4d454c00210100edff300180000000000000000000000000010302010f01000107
+4d454c00210100eeff300180000000000000000000000000010302010f01000106
+4d454c00210100efff300180000000000000000000000000010302010f01000105
+4d454c00210100f0ff300180000000000000000000000000010302010f01000104
+4d454c00210100f1ff300180000000000000000000000000010302010f0100010b
+4d454c00210100f2ff300180000000000000000000000000010302010f0100010a
+4d454c00210100f3ff300180000000000000000000000000010302010f01000109
+4d454c00210100f4ff300180000000000000000000000000010302010f01000108
+4d454c00210100f5ff300180000000000000000000000000010302010f0100010f
+4d454c00210100f6ff300180000000000000000000000000010302010f0100010e
+4d454c00210100f7ff300180000000000000000000000000010302010f0100010d
+4d454c00210100f8ff300180000000000000000000000000010302010f0100010c
+4d454c00210100f9ff300180000000000000000000000000010302010f010000f3
+4d454c00210100faff300180000000000000000000000000010302010f010000f2
+4d454c00210100fbff300180000000000000000000000000010302010f010000f1
+4d454c00210100fcff300180000000000000000000000000010302010f010000f0
+4d454c00210100fdff300180000000000000000000000000010302010f010000f7
+4d454c00210100feff300180000000000000000000000000010302010f010000f6
+4d454c00210100ffff300180000000000000000000000000010302010f010000f5
+4d454c0021010000ff300180000000000000000000000000010302010f010001f4

+ 0 - 0
research/executables/bulk_checksum_verifier.py


+ 0 - 0
research/executables/calculate_packet_checksum.py


+ 367 - 0
research/executables/claude-ai-slop/checksum_bruteforce.py

@@ -0,0 +1,367 @@
+#!/usr/bin/env python3
+"""
+Comprehensive checksum bruteforce tool for the MEL protocol
+Usage: python checksum_bruteforce.py <hex_file>
+"""
+
+import sys
+import struct
+from typing import List, Tuple, Dict
+
+def parse_hex_line(hex_string: str) -> List[int]:
+    """Parse a hex string into list of bytes"""
+    hex_clean = hex_string.strip().replace(' ', '')
+    return [int(hex_clean[i:i+2], 16) for i in range(0, len(hex_clean), 2)]
+
+def bytes_to_hex(bytes_list: List[int]) -> str:
+    """Convert bytes to hex string"""
+    return ''.join(f'{b:02x}' for b in bytes_list)
+
+class ChecksumTester:
+    def __init__(self):
+        self.algorithms = [
+            self.simple_sum,
+            self.sum_with_carry,
+            self.twos_complement,
+            self.ones_complement,
+            self.xor_checksum,
+            self.crc16_ccitt,
+            self.crc16_ibm,
+            self.fletcher16,
+            self.modsum_256,
+            self.internet_checksum,
+        ]
+        
+    def simple_sum(self, data: List[int]) -> int:
+        """Simple sum of all bytes"""
+        return sum(data) & 0xFFFF
+    
+    def sum_with_carry(self, data: List[int]) -> int:
+        """Sum with end-around carry"""
+        s = sum(data)
+        while s > 0xFFFF:
+            s = (s & 0xFFFF) + (s >> 16)
+        return s
+    
+    def twos_complement(self, data: List[int]) -> int:
+        """Two's complement of sum"""
+        s = sum(data)
+        return (~s + 1) & 0xFFFF
+    
+    def ones_complement(self, data: List[int]) -> int:
+        """One's complement of sum"""
+        s = sum(data)
+        return (~s) & 0xFFFF
+    
+    def xor_checksum(self, data: List[int]) -> int:
+        """XOR of all bytes, extended to 16-bit"""
+        result = 0
+        for b in data:
+            result ^= b
+        return result
+    
+    def crc16_ccitt(self, data: List[int], poly: int = 0x1021) -> int:
+        """CRC-16 CCITT"""
+        crc = 0xFFFF
+        for byte in data:
+            crc ^= (byte << 8)
+            for _ in range(8):
+                if crc & 0x8000:
+                    crc = (crc << 1) ^ poly
+                else:
+                    crc <<= 1
+                crc &= 0xFFFF
+        return crc
+    
+    def crc16_ibm(self, data: List[int]) -> int:
+        """CRC-16 IBM/ANSI"""
+        return self.crc16_ccitt(data, 0x8005)
+    
+    def fletcher16(self, data: List[int]) -> int:
+        """Fletcher-16 checksum"""
+        sum1 = sum2 = 0
+        for byte in data:
+            sum1 = (sum1 + byte) % 255
+            sum2 = (sum2 + sum1) % 255
+        return (sum2 << 8) | sum1
+    
+    def modsum_256(self, data: List[int]) -> int:
+        """Sum modulo 256, extended to 16-bit"""
+        return sum(data) % 256
+    
+    def internet_checksum(self, data: List[int]) -> int:
+        """Internet/TCP checksum"""
+        # Pad to even length
+        if len(data) % 2:
+            data = data + [0]
+        
+        s = 0
+        for i in range(0, len(data), 2):
+            s += (data[i] << 8) + data[i+1]
+        
+        while s >> 16:
+            s = (s & 0xFFFF) + (s >> 16)
+        
+        return (~s) & 0xFFFF
+
+def test_parametric_algorithms(data: List[int], expected: int) -> List[str]:
+    """Test algorithms with various parameters"""
+    matches = []
+    
+    # Test sum with different initial values
+    for init_val in range(0, 0x10000, 0x1000):
+        result = (init_val + sum(data)) & 0xFFFF
+        if result == expected:
+            matches.append(f"Sum + 0x{init_val:04x}")
+    
+    # Test sum with different modulo values
+    for mod_val in [0xFF, 0x100, 0x101, 0x1FF, 0x200, 0xFFFF, 0x10000]:
+        if mod_val > 0:
+            result = sum(data) % mod_val
+            if result == expected:
+                matches.append(f"Sum mod 0x{mod_val:x}")
+    
+    # Test XOR with different patterns
+    for pattern in [0x00, 0xFF, 0xAA, 0x55, 0x5A, 0xA5]:
+        result = 0
+        for byte in data:
+            result ^= (byte ^ pattern)
+        if (result & 0xFFFF) == expected:
+            matches.append(f"XOR with pattern 0x{pattern:02x}")
+    
+    # Test rotation-based checksums
+    for shift in range(1, 16):
+        result = 0
+        for byte in data:
+            result = ((result << shift) | (result >> (16 - shift))) & 0xFFFF
+            result ^= byte
+        if result == expected:
+            matches.append(f"Rotate-XOR shift {shift}")
+    
+    return matches
+
+def analyze_file(filename: str):
+    """Analyze a file of hex data to find checksum patterns"""
+    with open(filename, 'r') as f:
+        lines = [line.strip() for line in f if line.strip()]
+    
+    print(f"Analyzing {filename} with {len(lines)} entries")
+    
+    tester = ChecksumTester()
+    algorithm_matches = {}
+    
+    # Test first 10 entries to find patterns
+    for i, line in enumerate(lines[:10]):
+        bytes_data = parse_hex_line(line)
+        if len(bytes_data) < 3:
+            continue
+            
+        # Assume last 2 bytes are checksum
+        payload = bytes_data[:-2]
+        checksum_be = (bytes_data[-2] << 8) | bytes_data[-1]
+        checksum_le = bytes_data[-2] | (bytes_data[-1] << 8)
+        
+        print(f"\nEntry {i}:")
+        print(f"  Payload: {bytes_to_hex(payload)}")
+        print(f"  Checksum BE: 0x{checksum_be:04x}")
+        print(f"  Checksum LE: 0x{checksum_le:04x}")
+        
+        # Test standard algorithms for both byte orders
+        for checksum, order in [(checksum_be, "BE"), (checksum_le, "LE")]:
+            print(f"  Testing {order} interpretation:")
+            for algo in tester.algorithms:
+                result = algo(payload)
+                if result == checksum:
+                    algo_name = f"{algo.__name__}_{order}"
+                    algorithm_matches[algo_name] = algorithm_matches.get(algo_name, 0) + 1
+                    print(f"    ✓ {algo.__name__}: 0x{result:04x}")
+                else:
+                    print(f"    ✗ {algo.__name__}: 0x{result:04x}")
+            
+            # Test parametric algorithms
+            param_matches = test_parametric_algorithms(payload, checksum)
+            for match in param_matches:
+                print(f"    ✓ {match}")
+                key = f"{match}_{order}"
+                algorithm_matches[key] = algorithm_matches.get(key, 0) + 1
+    
+    # Summary of algorithms that work consistently
+    print(f"\n{'='*50}")
+    print("SUMMARY - Algorithms with multiple matches:")
+    for algo, count in sorted(algorithm_matches.items(), key=lambda x: x[1], reverse=True):
+        if count > 1:
+            print(f"  {algo}: {count} matches")
+    
+    return algorithm_matches
+
+def brute_force_unknown_algorithm(filename: str, max_entries: int = 5):
+    """Brute force approach for completely unknown algorithms"""
+    with open(filename, 'r') as f:
+        lines = [line.strip() for line in f if line.strip()][:max_entries]
+    
+    print(f"Brute forcing {len(lines)} entries...")
+    
+    # Collect all data points
+    data_points = []
+    for line in lines:
+        bytes_data = parse_hex_line(line)
+        payload = bytes_data[:-2]
+        checksum_le = bytes_data[-2] | (bytes_data[-1] << 8)
+        data_points.append((payload, checksum_le))
+    
+    # Try to find a mathematical relationship
+    # This is a simplified approach - in practice you'd want more sophisticated analysis
+    
+    # Check if it's a linear relationship: checksum = a * sum(payload) + b
+    if len(data_points) >= 2:
+        payload_sums = [sum(payload) for payload, _ in data_points]
+        checksums = [checksum for _, checksum in data_points]
+        
+        print(f"Payload sums: {[f'0x{s:x}' for s in payload_sums[:5]]}")
+        print(f"Checksums:    {[f'0x{c:04x}' for c in checksums[:5]]}")
+        
+        # Try to solve for linear relationship
+        if len(set(payload_sums)) > 1:  # Need different sums to solve
+            sum1, sum2 = payload_sums[0], payload_sums[1]
+            check1, check2 = checksums[0], checksums[1]
+            
+            if sum1 != sum2:
+                # Solve: check1 = a * sum1 + b, check2 = a * sum2 + b
+                a = (check2 - check1) / (sum2 - sum1)
+                b = check1 - a * sum1
+                
+                print(f"Testing linear relationship: checksum = {a:.3f} * sum + {b:.3f}")
+                
+                # Verify with all data points
+                matches = 0
+                for payload, expected in data_points:
+                    predicted = int(a * sum(payload) + b) & 0xFFFF
+                    if predicted == expected:
+                        matches += 1
+                        print(f"  ✓ Linear match: sum={sum(payload)}, expected=0x{expected:04x}, predicted=0x{predicted:04x}")
+                    else:
+                        print(f"  ✗ Linear miss: sum={sum(payload)}, expected=0x{expected:04x}, predicted=0x{predicted:04x}")
+                
+                if matches == len(data_points):
+                    print(f"🎉 FOUND LINEAR RELATIONSHIP! checksum = {a:.3f} * sum(payload) + {b:.3f}")
+
+def generate_test_vectors(base_hex: str, variations: int = 10):
+    """Generate test vectors by modifying a base message"""
+    base_bytes = parse_hex_line(base_hex)
+    payload = base_bytes[:-2]
+    
+    print(f"Generating {variations} test vectors from base:")
+    print(f"Base: {base_hex}")
+    
+    # Generate variations by changing single bytes
+    for i in range(min(variations, len(payload))):
+        modified = payload.copy()
+        modified[i] = (modified[i] + 1) % 256  # Increment one byte
+        
+        # You would calculate the correct checksum here and append it
+        # For now, we'll just show the modified payload
+        print(f"Variation {i}: {bytes_to_hex(modified)} + [CHECKSUM_TO_CALCULATE]")
+
+def test_specific_algorithms(data: List[int], expected: int) -> Dict[str, int]:
+    """Test specific algorithms that might be used in embedded systems"""
+    results = {}
+    
+    # Test sum with various bit operations
+    s = sum(data)
+    
+    # Basic variations
+    results["sum_low16"] = s & 0xFFFF
+    results["sum_high16"] = (s >> 16) & 0xFFFF
+    results["sum_rotated"] = ((s << 8) | (s >> 8)) & 0xFFFF
+    results["sum_inverted"] = (~s) & 0xFFFF
+    results["sum_twos_comp"] = (-s) & 0xFFFF
+    
+    # With different initial values (common in embedded systems)
+    for init in [0x0000, 0x5555, 0xAAAA, 0xFFFF, 0x1234, 0x4321]:
+        results[f"sum_init_{init:04x}"] = (s + init) & 0xFFFF
+        results[f"xor_init_{init:04x}"] = (s ^ init) & 0xFFFF
+    
+    # Byte-wise operations
+    byte_xor = 0
+    byte_sum = 0
+    for b in data:
+        byte_xor ^= b
+        byte_sum += b
+    
+    results["byte_xor"] = byte_xor
+    results["byte_xor_16bit"] = (byte_xor << 8) | byte_xor
+    results["byte_sum_mod256"] = byte_sum % 256
+    results["byte_sum_mod255"] = byte_sum % 255
+    
+    # Position-weighted sums
+    pos_sum = sum(i * b for i, b in enumerate(data))
+    results["position_weighted"] = pos_sum & 0xFFFF
+    
+    # Polynomial checksums (simplified)
+    poly_result = 0
+    for b in data:
+        poly_result = ((poly_result << 1) ^ b) & 0xFFFF
+    results["poly_shift_xor"] = poly_result
+    
+    # Return only matches
+    return {name: value for name, value in results.items() if value == expected}
+
+def main():
+    if len(sys.argv) != 2:
+        print("Usage: python checksum_bruteforce.py <hex_file>")
+        print("\nThis tool will:")
+        print("1. Test standard checksum algorithms")
+        print("2. Try parametric variations")
+        print("3. Attempt to find mathematical relationships")
+        print("4. Generate test vectors for validation")
+        sys.exit(1)
+    
+    filename = sys.argv[1]
+    
+    try:
+        # Main analysis
+        print("=" * 60)
+        print("COMPREHENSIVE CHECKSUM ANALYSIS")
+        print("=" * 60)
+        
+        matches = analyze_file(filename)
+        
+        print("\n" + "=" * 60)
+        print("BRUTE FORCE UNKNOWN ALGORITHMS")
+        print("=" * 60)
+        
+        brute_force_unknown_algorithm(filename, max_entries=10)
+        
+        print("\n" + "=" * 60)
+        print("SPECIFIC EMBEDDED ALGORITHMS")
+        print("=" * 60)
+        
+        # Test first entry with specific algorithms
+        with open(filename, 'r') as f:
+            first_line = f.readline().strip()
+            
+        bytes_data = parse_hex_line(first_line)
+        payload = bytes_data[:-2]
+        checksum_le = bytes_data[-2] | (bytes_data[-1] << 8)
+        
+        specific_matches = test_specific_algorithms(payload, checksum_le)
+        if specific_matches:
+            print("Specific algorithm matches found:")
+            for name, value in specific_matches.items():
+                print(f"  ✓ {name}: 0x{value:04x}")
+        else:
+            print("No specific algorithm matches found")
+        
+        print("\n" + "=" * 60)
+        print("TEST VECTOR GENERATION")
+        print("=" * 60)
+        
+        generate_test_vectors(first_line, 5)
+        
+    except FileNotFoundError:
+        print(f"Error: File '{filename}' not found")
+    except Exception as e:
+        print(f"Error: {e}")
+
+if __name__ == "__main__":
+    main()

+ 319 - 0
research/executables/claude-ai-slop/mel_checksum_cracker.py

@@ -0,0 +1,319 @@
+#!/usr/bin/env python3
+"""
+MEL Checksum Cracker - Final comprehensive tool
+Based on analysis showing sum-sequence is constant but checksum follows different pattern
+"""
+
+import sys
+import struct
+
+def parse_hex(hex_str):
+    """Parse hex string to bytes"""
+    return [int(hex_str[i:i+2], 16) for i in range(0, len(hex_str), 2)]
+
+def calculate_mel_checksum(payload_bytes, sequence=None):
+    """
+    Calculate MEL checksum based on discovered patterns
+    This function will be updated as we discover the actual algorithm
+    """
+    if sequence is None:
+        # Try to extract sequence from payload if it's a full packet
+        if len(payload_bytes) >= 8:
+            sequence = payload_bytes[7]
+        else:
+            sequence = 0
+    
+    # Calculate payload sum (excluding checksum bytes)
+    if len(payload_bytes) > 31:  # Full packet
+        payload_sum = sum(payload_bytes[:-2])
+    else:  # Just payload
+        payload_sum = sum(payload_bytes)
+    
+    # Test various algorithms based on our analysis
+    algorithms = {
+        'simple_sum': payload_sum & 0xFFFF,
+        'sum_minus_seq': (payload_sum - sequence) & 0xFFFF,
+        'sum_plus_seq': (payload_sum + sequence) & 0xFFFF,
+        'twos_complement': (~payload_sum + 1) & 0xFFFF,
+        'ones_complement': (~payload_sum) & 0xFFFF,
+        'constant_minus_sum': (0x10000 - payload_sum) & 0xFFFF,
+        'sum_with_carry': payload_sum + (payload_sum >> 16),
+    }
+    
+    return algorithms
+
+def analyze_pattern_discovery(filename):
+    """Discover the actual checksum pattern"""
+    print(f"Pattern Discovery Analysis for {filename}")
+    print("=" * 60)
+    
+    with open(filename, 'r') as f:
+        lines = [line.strip() for line in f if line.strip()]
+    
+    # Analyze first 20 entries to find the pattern
+    entries = []
+    for i, line in enumerate(lines[:20]):
+        bytes_data = parse_hex(line)
+        payload = bytes_data[:-2]
+        checksum = bytes_data[-2] | (bytes_data[-1] << 8)  # Little endian
+        sequence = bytes_data[7] if len(bytes_data) > 7 else 0
+        payload_sum = sum(payload)
+        
+        entries.append({
+            'index': i,
+            'sequence': sequence,
+            'checksum': checksum,
+            'payload_sum': payload_sum,
+            'payload': payload,
+            'hex': line
+        })
+    
+    # Print analysis table
+    print("Entry | Seq | Checksum | PayloadSum | Sum-Seq | Patterns")
+    print("------|-----|----------|------------|---------|----------")
+    
+    base_constant = None
+    for entry in entries:
+        seq = entry['sequence']
+        check = entry['checksum']
+        psum = entry['payload_sum']
+        sum_minus_seq = psum - seq
+        
+        if base_constant is None:
+            base_constant = sum_minus_seq
+        
+        # Test various patterns
+        pattern_tests = []
+        if sum_minus_seq == base_constant:
+            pattern_tests.append("SUM-SEQ=CONST")
+        
+        # Test if checksum relates to a base value
+        if entry['index'] == 0:
+            base_checksum = check
+            checksum_base = check
+        else:
+            checksum_diff = check - base_checksum
+            pattern_tests.append(f"ΔCHK={checksum_diff:+d}")
+        
+        patterns = " ".join(pattern_tests) if pattern_tests else "-"
+        
+        print(f"{entry['index']:5d} | {seq:3d} | 0x{check:04x} | {psum:10d} | {sum_minus_seq:7d} | {patterns}")
+    
+    # Test for mathematical relationships
+    print(f"\nMathematical Relationship Analysis:")
+    print(f"Base constant (sum - sequence): {base_constant}")
+    
+    # Look for checksum calculation pattern
+    print(f"\nChecksum Pattern Analysis:")
+    
+    # Test if there's a consistent transformation from payload_sum to checksum
+    transformations = {}
+    for entry in entries:
+        psum = entry['payload_sum']
+        check = entry['checksum']
+        seq = entry['sequence']
+        
+        # Test various transformations
+        transforms = {
+            'sum_low8': psum & 0xFF,
+            'sum_high8': (psum >> 8) & 0xFF,
+            'sum_mod256': psum % 256,
+            'sum_mod255': psum % 255,
+            'sum_rotated': ((psum << 8) | (psum >> 8)) & 0xFFFF,
+            'sum_xor_seq': (psum ^ seq) & 0xFFFF,
+            'sum_add_magic': (psum + 0x5555) & 0xFFFF,
+            'sum_sub_magic': (psum - 0x5555) & 0xFFFF,
+        }
+        
+        for name, value in transforms.items():
+            if value == check:
+                if name not in transformations:
+                    transformations[name] = []
+                transformations[name].append(entry['index'])
+    
+    if transformations:
+        print("Found consistent transformations:")
+        for transform, indices in transformations.items():
+            if len(indices) > 1:
+                print(f"  {transform}: matches at entries {indices}")
+    else:
+        print("No simple mathematical transformation found")
+    
+    # Advanced pattern detection
+    print(f"\nAdvanced Pattern Detection:")
+    
+    # Check if it's a lookup table or formula with sequence
+    checksum_by_seq = {}
+    for entry in entries:
+        seq = entry['sequence']
+        check = entry['checksum']
+        if seq not in checksum_by_seq:
+            checksum_by_seq[seq] = []
+        checksum_by_seq[seq].append(check)
+    
+    # Look for sequence-based pattern
+    if len(checksum_by_seq) > 1:
+        print("Checksum vs Sequence relationship:")
+        for seq in sorted(checksum_by_seq.keys())[:10]:
+            checksums = checksum_by_seq[seq]
+            print(f"  Sequence {seq:3d}: checksums {[f'0x{c:04x}' for c in checksums]}")
+    
+    return entries
+
+def brute_force_checksum_algorithm(entries):
+    """Brute force the checksum algorithm using known good data"""
+    print("\nBrute Force Algorithm Discovery:")
+    print("=" * 40)
+    
+    # Get the first entry as reference
+    ref_entry = entries[0]
+    ref_sum = ref_entry['payload_sum']
+    ref_checksum = ref_entry['checksum']
+    
+    print(f"Reference: sum={ref_sum}, checksum=0x{ref_checksum:04x}")
+    
+    # Try to find the magic constant or operation
+    # Test if checksum = (payload_sum + magic) & 0xFFFF
+    for magic in range(-1000, 1000):
+        predicted = (ref_sum + magic) & 0xFFFF
+        if predicted == ref_checksum:
+            print(f"Possible algorithm: checksum = (payload_sum + {magic}) & 0xFFFF")
+            
+            # Verify with other entries
+            matches = 0
+            for entry in entries[1:6]:  # Test next 5 entries
+                test_predicted = (entry['payload_sum'] + magic) & 0xFFFF
+                if test_predicted == entry['checksum']:
+                    matches += 1
+            
+            print(f"  Verification: {matches}/5 additional entries match")
+            if matches >= 4:
+                print(f"  🎉 LIKELY ALGORITHM FOUND!")
+                return f"(payload_sum + {magic}) & 0xFFFF"
+    
+    # Test multiplicative factors
+    for factor in [1, 2, 3, 4, 5, 7, 8, 15, 16, 31, 32, 63, 64, 127, 128, 255, 256]:
+        for offset in range(-100, 101, 10):
+            predicted = (ref_sum * factor + offset) & 0xFFFF
+            if predicted == ref_checksum:
+                # Verify with next entry
+                next_entry = entries[1]
+                next_predicted = (next_entry['payload_sum'] * factor + offset) & 0xFFFF
+                if next_predicted == next_entry['checksum']:
+                    print(f"Possible algorithm: checksum = (payload_sum * {factor} + {offset}) & 0xFFFF")
+    
+    print("No simple algorithm found in brute force range")
+    return None
+
+def generate_implementation(algorithm_desc):
+    """Generate C/Python implementation of discovered algorithm"""
+    if not algorithm_desc:
+        return
+    
+    print(f"\nGenerated Implementation:")
+    print("=" * 30)
+    
+    print("Python:")
+    print(f"def calculate_mel_checksum(payload_bytes):")
+    print(f"    payload_sum = sum(payload_bytes)")
+    print(f"    return {algorithm_desc}")
+    
+    print("\nC:")
+    print(f"uint16_t calculate_mel_checksum(uint8_t* payload, size_t length) {{")
+    print(f"    uint32_t payload_sum = 0;")
+    print(f"    for (size_t i = 0; i < length; i++) {{")
+    print(f"        payload_sum += payload[i];")
+    print(f"    }}")
+    print(f"    return {algorithm_desc.replace('payload_sum', 'payload_sum')};")
+    print(f"}}")
+
+def validate_algorithm(filename, algorithm_func):
+    """Validate the discovered algorithm against all entries in file"""
+    print(f"\nValidating algorithm against all entries in {filename}")
+    print("=" * 50)
+    
+    with open(filename, 'r') as f:
+        lines = [line.strip() for line in f if line.strip()]
+    
+    matches = 0
+    total = 0
+    mismatches = []
+    
+    for i, line in enumerate(lines):
+        bytes_data = parse_hex(line)
+        payload = bytes_data[:-2]
+        expected_checksum = bytes_data[-2] | (bytes_data[-1] << 8)
+        
+        calculated_checksum = algorithm_func(payload)
+        
+        if calculated_checksum == expected_checksum:
+            matches += 1
+        else:
+            mismatches.append((i, expected_checksum, calculated_checksum))
+        
+        total += 1
+        
+        # Show first few results
+        if i < 10:
+            status = "✓" if calculated_checksum == expected_checksum else "✗"
+            print(f"  Entry {i:3d}: expected=0x{expected_checksum:04x}, calculated=0x{calculated_checksum:04x} {status}")
+    
+    success_rate = (matches / total) * 100
+    print(f"\nValidation Results:")
+    print(f"  Matches: {matches}/{total} ({success_rate:.1f}%)")
+    
+    if success_rate == 100:
+        print("  🎉 PERFECT MATCH! Algorithm verified!")
+    elif success_rate > 95:
+        print("  ⚠️  Very high success rate - likely correct with minor issues")
+    else:
+        print("  ❌ Low success rate - algorithm needs refinement")
+        if mismatches[:3]:
+            print("  First few mismatches:")
+            for entry_idx, expected, calculated in mismatches[:3]:
+                print(f"    Entry {entry_idx}: expected=0x{expected:04x}, got=0x{calculated:04x}")
+
+def main():
+    if len(sys.argv) < 2:
+        print("MEL Checksum Cracker - Comprehensive Analysis Tool")
+        print("=" * 50)
+        print("Usage: python mel_checksum_cracker.py <hex_file>")
+        print("\nThis tool will:")
+        print("  1. Discover checksum patterns")
+        print("  2. Brute force the algorithm")
+        print("  3. Generate implementations")
+        print("  4. Validate against all data")
+        sys.exit(1)
+    
+    filename = sys.argv[1]
+    
+    try:
+        # Step 1: Pattern discovery
+        entries = analyze_pattern_discovery(filename)
+        
+        # Step 2: Brute force algorithm
+        algorithm = brute_force_checksum_algorithm(entries)
+        
+        # Step 3: Generate implementation
+        generate_implementation(algorithm)
+        
+        # Step 4: Validation (if algorithm found)
+        if algorithm:
+            # Create a lambda function for validation
+            def test_algorithm(payload):
+                payload_sum = sum(payload)
+                # This would be replaced with the actual discovered algorithm
+                # For now, using a placeholder
+                return payload_sum & 0xFFFF
+            
+            validate_algorithm(filename, test_algorithm)
+        
+    except FileNotFoundError:
+        print(f"Error: File '{filename}' not found")
+    except Exception as e:
+        print(f"Error: {e}")
+        import traceback
+        traceback.print_exc()
+
+if __name__ == "__main__":
+    main()

+ 231 - 0
research/executables/claude-ai-slop/mel_protocol_checksum_analyzer.py

@@ -0,0 +1,231 @@
+#!/usr/bin/env python3
+"""
+MEL Protocol Checksum Analyzer
+Specifically designed for the MEL protocol hex data
+
+Based on analysis of the provided data patterns.
+"""
+
+import sys
+from typing import List, Tuple
+
+def parse_hex(hex_str: str) -> List[int]:
+    """Parse hex string to bytes"""
+    return [int(hex_str[i:i+2], 16) for i in range(0, len(hex_str), 2)]
+
+def analyze_mel_structure(hex_line: str) -> dict:
+    """Analyze MEL protocol structure"""
+    bytes_data = parse_hex(hex_line.strip())
+    
+    return {
+        'header': bytes_data[0:4],           # 4D454C00
+        'length': bytes_data[4],             # Packet length
+        'flags': bytes_data[5:8],            # Type/flags
+        'sequence': bytes_data[6],           # Sequence number (based on your data)
+        'command': bytes_data[8:12],         # Command and zone info
+        'zone_mask': bytes_data[12:16],      # Zone targeting
+        'reserved': bytes_data[16:28],       # Reserved/padding
+        'payload': bytes_data[28:-2],        # Actual payload
+        'checksum_bytes': bytes_data[-2:],   # Last 2 bytes
+        'checksum_le': bytes_data[-2] | (bytes_data[-1] << 8),  # Little endian
+        'checksum_be': (bytes_data[-2] << 8) | bytes_data[-1],  # Big endian
+        'full_payload': bytes_data[:-2],     # Everything except checksum
+    }
+
+def test_mel_checksums(data: List[int], expected: int) -> List[Tuple[str, int, bool]]:
+    """Test checksum algorithms specific to MEL protocol"""
+    results = []
+    
+    # Test 1: Simple sum of all payload bytes
+    simple_sum = sum(data) & 0xFFFF
+    results.append(("Simple Sum", simple_sum, simple_sum == expected))
+    
+    # Test 2: Sum with initial value (common in embedded protocols)
+    for init_val in [0x0000, 0x5555, 0xAAAA, 0xFFFF, 0x1234, 0x4321, 0x0001]:
+        checksum = (sum(data) + init_val) & 0xFFFF
+        results.append((f"Sum + 0x{init_val:04x}", checksum, checksum == expected))
+    
+    # Test 3: Two's complement variations
+    sum_val = sum(data)
+    twos_comp = (~sum_val + 1) & 0xFFFF
+    results.append(("Two's Complement", twos_comp, twos_comp == expected))
+    
+    # Test 4: One's complement
+    ones_comp = (~sum_val) & 0xFFFF
+    results.append(("One's Complement", ones_comp, ones_comp == expected))
+    
+    # Test 5: Subtract from constant
+    for const in [0xFFFF, 0x10000, 0x8000, 0x7FFF]:
+        checksum = (const - sum_val) & 0xFFFF
+        results.append((f"0x{const:04x} - Sum", checksum, checksum == expected))
+    
+    # Test 6: XOR-based checksums
+    xor_result = 0
+    for byte in data:
+        xor_result ^= byte
+    results.append(("XOR all bytes", xor_result, xor_result == expected))
+    
+    # Test 7: Position-weighted sum
+    pos_sum = sum(i * byte for i, byte in enumerate(data)) & 0xFFFF
+    results.append(("Position-weighted sum", pos_sum, pos_sum == expected))
+    
+    # Test 8: Rolling checksum
+    rolling = 0
+    for byte in data:
+        rolling = ((rolling << 1) | (rolling >> 15)) & 0xFFFF
+        rolling ^= byte
+    results.append(("Rolling XOR", rolling, rolling == expected))
+    
+    # Test 9: Modular arithmetic variations
+    for mod_val in [0x100, 0x101, 0x1FF, 0x200, 0x255, 0x256]:
+        if mod_val > 0:
+            checksum = sum(data) % mod_val
+            results.append((f"Sum mod 0x{mod_val:x}", checksum, checksum == expected))
+    
+    return results
+
+def analyze_sequence_relationship(filename: str):
+    """Analyze relationship between sequence numbers and checksums"""
+    with open(filename, 'r') as f:
+        lines = [line.strip() for line in f if line.strip()]
+    
+    print(f"Analyzing sequence-checksum relationship in {filename}")
+    print("=" * 60)
+    
+    sequence_data = []
+    
+    for i, line in enumerate(lines[:20]):  # First 20 entries
+        mel_data = analyze_mel_structure(line)
+        
+        # Look for the actual sequence field
+        # Based on your data, it seems to increment in byte 6
+        actual_sequence = mel_data['sequence']
+        checksum = mel_data['checksum_le']
+        
+        sequence_data.append((i, actual_sequence, checksum))
+        
+        print(f"Entry {i:2d}: seq=0x{actual_sequence:02x} ({actual_sequence:3d}), "
+              f"checksum=0x{checksum:04x} ({checksum:5d})")
+    
+    # Look for patterns
+    print("\nSequence vs Checksum Analysis:")
+    print("=" * 40)
+    
+    # Check if checksum changes predictably with sequence
+    if len(sequence_data) > 1:
+        for i in range(1, min(10, len(sequence_data))):
+            seq_diff = sequence_data[i][1] - sequence_data[i-1][1]
+            check_diff = sequence_data[i][2] - sequence_data[i-1][2]
+            print(f"Entry {i-1}→{i}: seq_diff={seq_diff:2d}, check_diff={check_diff:4d} (0x{check_diff & 0xFFFF:04x})")
+
+def find_checksum_algorithm(filename: str):
+    """Main function to find the checksum algorithm"""
+    with open(filename, 'r') as f:
+        lines = [line.strip() for line in f if line.strip()]
+    
+    print(f"MEL Protocol Checksum Analysis")
+    print(f"File: {filename}")
+    print(f"Entries: {len(lines)}")
+    print("=" * 60)
+    
+    # Analyze first few entries
+    algorithm_scores = {}
+    
+    for i, line in enumerate(lines[:10]):
+        mel_data = analyze_mel_structure(line)
+        
+        print(f"\nEntry {i}:")
+        print(f"  Hex: {line}")
+        print(f"  Sequence: 0x{mel_data['sequence']:02x}")
+        print(f"  Expected checksum: 0x{mel_data['checksum_le']:04x} (LE)")
+        print(f"  Payload length: {len(mel_data['full_payload'])} bytes")
+        
+        # Test algorithms
+        results = test_mel_checksums(mel_data['full_payload'], mel_data['checksum_le'])
+        
+        for algo_name, result, is_match in results:
+            if is_match:
+                print(f"  ✓ {algo_name}: 0x{result:04x}")
+                algorithm_scores[algo_name] = algorithm_scores.get(algo_name, 0) + 1
+            # Uncomment below to see all results
+            # else:
+            #     print(f"  ✗ {algo_name}: 0x{result:04x}")
+    
+    # Summary
+    print(f"\n{'='*60}")
+    print("ALGORITHM MATCH SUMMARY")
+    print(f"{'='*60}")
+    
+    if algorithm_scores:
+        for algo, score in sorted(algorithm_scores.items(), key=lambda x: x[1], reverse=True):
+            print(f"{algo}: {score}/10 matches")
+            
+        best_algo = max(algorithm_scores.items(), key=lambda x: x[1])
+        if best_algo[1] >= 8:  # At least 8/10 matches
+            print(f"\n🎉 LIKELY ALGORITHM FOUND: {best_algo[0]}")
+            print(f"   Confidence: {best_algo[1]}/10 matches")
+    else:
+        print("No consistent algorithm found with standard methods.")
+        print("This may require custom algorithm development.")
+    
+    # Analyze sequence relationship
+    print(f"\n{'='*60}")
+    analyze_sequence_relationship(filename)
+
+def verify_algorithm(filename: str, algorithm_name: str):
+    """Verify a specific algorithm against all entries"""
+    with open(filename, 'r') as f:
+        lines = [line.strip() for line in f if line.strip()]
+    
+    print(f"Verifying algorithm '{algorithm_name}' against {len(lines)} entries...")
+    
+    matches = 0
+    mismatches = []
+    
+    for i, line in enumerate(lines):
+        mel_data = analyze_mel_structure(line)
+        expected = mel_data['checksum_le']
+        
+        # Apply the algorithm (you'd implement the specific one here)
+        if algorithm_name == "Simple Sum":
+            calculated = sum(mel_data['full_payload']) & 0xFFFF
+        elif algorithm_name.startswith("Sum + "):
+            init_val = int(algorithm_name.split("0x")[1], 16)
+            calculated = (sum(mel_data['full_payload']) + init_val) & 0xFFFF
+        else:
+            print(f"Algorithm '{algorithm_name}' not implemented in verify function")
+            return
+        
+        if calculated == expected:
+            matches += 1
+        else:
+            mismatches.append((i, expected, calculated))
+            if len(mismatches) <= 5:  # Show first 5 mismatches
+                print(f"  Mismatch at entry {i}: expected 0x{expected:04x}, got 0x{calculated:04x}")
+    
+    print(f"Results: {matches}/{len(lines)} matches ({100*matches/len(lines):.1f}%)")
+    
+    if matches == len(lines):
+        print("🎉 PERFECT MATCH! Algorithm verified.")
+    elif matches > len(lines) * 0.9:
+        print("⚠️  Very close match. May need minor adjustment.")
+    else:
+        print("❌ Algorithm doesn't work consistently.")
+
+def main():
+    if len(sys.argv) < 2:
+        print("Usage:")
+        print("  python mel_checksum_analyzer.py <hex_file>           # Find algorithm")
+        print("  python mel_checksum_analyzer.py <hex_file> verify <algorithm>  # Verify algorithm")
+        sys.exit(1)
+    
+    filename = sys.argv[1]
+    
+    if len(sys.argv) >= 4 and sys.argv[2] == "verify":
+        algorithm = sys.argv[3]
+        verify_algorithm(filename, algorithm)
+    else:
+        find_checksum_algorithm(filename)
+
+if __name__ == "__main__":
+    main()

+ 229 - 0
research/executables/claude-ai-slop/pattern_finder.py

@@ -0,0 +1,229 @@
+#!/usr/bin/env python3
+"""
+Pattern Analysis Tool for MEL Protocol Checksums
+Looks for mathematical relationships and patterns in the checksum data
+"""
+
+import sys
+import struct
+from collections import defaultdict
+
+def parse_hex(hex_str: str):
+    """Parse hex string to bytes"""
+    return [int(hex_str[i:i+2], 16) for i in range(0, len(hex_str), 2)]
+
+def find_changing_bytes(filename: str):
+    """Find which bytes change between consecutive entries"""
+    with open(filename, 'r') as f:
+        lines = [line.strip() for line in f if line.strip()]
+    
+    if len(lines) < 2:
+        return
+    
+    print(f"Analyzing byte changes in {filename}")
+    print("=" * 50)
+    
+    # Parse first two entries
+    bytes1 = parse_hex(lines[0])
+    bytes2 = parse_hex(lines[1])
+    
+    print("Changes between first two entries:")
+    for i, (b1, b2) in enumerate(zip(bytes1, bytes2)):
+        if b1 != b2:
+            print(f"  Byte {i:2d}: 0x{b1:02x} → 0x{b2:02x} (diff: {b2-b1:+d})")
+    
+    # Look at sequence field specifically (byte 6 based on your data)
+    print(f"\nSequence progression (byte 6):")
+    for i in range(min(20, len(lines))):
+        bytes_data = parse_hex(lines[i])
+        seq = bytes_data[6] if len(bytes_data) > 6 else 0
+        checksum = bytes_data[-2] | (bytes_data[-1] << 8) if len(bytes_data) >= 2 else 0
+        print(f"  Entry {i:2d}: seq=0x{seq:02x}, checksum=0x{checksum:04x}")
+
+def analyze_checksum_patterns(filename: str):
+    """Analyze patterns in checksum values"""
+    with open(filename, 'r') as f:
+        lines = [line.strip() for line in f if line.strip()]
+    
+    print(f"Checksum Pattern Analysis for {filename}")
+    print("=" * 50)
+    
+    checksums = []
+    sequences = []
+    payload_sums = []
+    
+    for line in lines:
+        bytes_data = parse_hex(line)
+        payload = bytes_data[:-2]
+        checksum = bytes_data[-2] | (bytes_data[-1] << 8)
+        sequence = bytes_data[6] if len(bytes_data) > 6 else 0
+        
+        checksums.append(checksum)
+        sequences.append(sequence)
+        payload_sums.append(sum(payload))
+    
+    # Look for arithmetic progression in checksums
+    print("Checksum differences (first 20):")
+    for i in range(1, min(20, len(checksums))):
+        diff = checksums[i] - checksums[i-1]
+        print(f"  {i-1:2d}→{i:2d}: {diff:+5d} (0x{diff & 0xFFFF:04x})")
+    
+    # Check for correlation with payload sum
+    print(f"\nPayload sum vs Checksum correlation:")
+    for i in range(min(10, len(checksums))):
+        print(f"  Entry {i}: sum={payload_sums[i]:5d}, checksum={checksums[i]:5d}, "
+              f"ratio={checksums[i]/payload_sums[i] if payload_sums[i] != 0 else 'N/A':.3f}")
+
+def test_bitwise_operations(filename: str):
+    """Test various bitwise operations that might be used"""
+    with open(filename, 'r') as f:
+        first_line = f.readline().strip()
+    
+    bytes_data = parse_hex(first_line)
+    payload = bytes_data[:-2]
+    expected = bytes_data[-2] | (bytes_data[-1] << 8)
+    
+    print(f"Testing bitwise operations on first entry:")
+    print(f"Expected checksum: 0x{expected:04x}")
+    print("=" * 40)
+    
+    # Sum with bit operations
+    s = sum(payload)
+    
+    tests = [
+        ("Sum", s & 0xFFFF),
+        ("Sum >> 1", (s >> 1) & 0xFFFF),
+        ("Sum << 1", (s << 1) & 0xFFFF),
+        ("Sum rotated right", ((s >> 8) | (s << 8)) & 0xFFFF),
+        ("Sum rotated left", ((s << 8) | (s >> 8)) & 0xFFFF),
+        ("Sum XOR 0xFFFF", (s ^ 0xFFFF) & 0xFFFF),
+        ("Sum XOR 0x5555", (s ^ 0x5555) & 0xFFFF),
+        ("Sum XOR 0xAAAA", (s ^ 0xAAAA) & 0xFFFF),
+        ("~Sum", (~s) & 0xFFFF),
+        ("~Sum + 1", (~s + 1) & 0xFFFF),
+        ("0x10000 - Sum", (0x10000 - s) & 0xFFFF),
+        ("0xFFFF - Sum", (0xFFFF - s) & 0xFFFF),
+    ]
+    
+    for name, result in tests:
+        match = "✓" if result == expected else "✗"
+        print(f"  {match} {name:20s}: 0x{result:04x}")
+
+def analyze_multiple_files(filenames):
+    """Compare patterns across multiple files"""
+    print("Multi-file Pattern Analysis")
+    print("=" * 50)
+    
+    all_data = {}
+    
+    for filename in filenames:
+        try:
+            with open(filename, 'r') as f:
+                lines = [line.strip() for line in f if line.strip()]
+            
+            # Get first entry from each file
+            if lines:
+                bytes_data = parse_hex(lines[0])
+                payload = bytes_data[:-2]
+                checksum = bytes_data[-2] | (bytes_data[-1] << 8)
+                
+                all_data[filename] = {
+                    'payload': payload,
+                    'checksum': checksum,
+                    'payload_sum': sum(payload),
+                    'first_hex': lines[0]
+                }
+                
+        except FileNotFoundError:
+            print(f"Warning: File {filename} not found")
+            continue
+    
+    print("Comparison of first entries:")
+    for filename, data in all_data.items():
+        print(f"\n{filename}:")
+        print(f"  Checksum: 0x{data['checksum']:04x}")
+        print(f"  Payload sum: {data['payload_sum']}")
+        print(f"  First hex: {data['first_hex'][:40]}...")
+    
+    # Look for common differences
+    checksums = [data['checksum'] for data in all_data.values()]
+    sums = [data['payload_sum'] for data in all_data.values()]
+    
+    if len(checksums) > 1:
+        print(f"\nDifferences between files:")
+        filenames_list = list(all_data.keys())
+        for i in range(len(filenames_list)):
+            for j in range(i+1, len(filenames_list)):
+                f1, f2 = filenames_list[i], filenames_list[j]
+                check_diff = all_data[f2]['checksum'] - all_data[f1]['checksum']
+                sum_diff = all_data[f2]['payload_sum'] - all_data[f1]['payload_sum']
+                print(f"  {f1} vs {f2}:")
+                print(f"    Checksum diff: {check_diff:+d}")
+                print(f"    Sum diff: {sum_diff:+d}")
+
+def find_magic_constants(filename: str):
+    """Try to find magic constants used in the checksum calculation"""
+    with open(filename, 'r') as f:
+        lines = [line.strip() for line in f if line.strip()]
+    
+    print("Searching for magic constants...")
+    print("=" * 40)
+    
+    # Test first few entries
+    for i, line in enumerate(lines[:5]):
+        bytes_data = parse_hex(line)
+        payload = bytes_data[:-2]
+        expected = bytes_data[-2] | (bytes_data[-1] << 8)
+        payload_sum = sum(payload)
+        
+        print(f"\nEntry {i}:")
+        print(f"  Expected: 0x{expected:04x} ({expected})")
+        print(f"  Sum: 0x{payload_sum:04x} ({payload_sum})")
+        
+        # Try to find what constant when added/subtracted/XORed gives the expected result
+        magic_add = (expected - payload_sum) & 0xFFFF
+        magic_sub = (payload_sum - expected) & 0xFFFF
+        magic_xor = expected ^ payload_sum
+        
+        print(f"  Magic add: 0x{magic_add:04x} (sum + this = expected)")
+        print(f"  Magic sub: 0x{magic_sub:04x} (sum - this = expected)")
+        print(f"  Magic XOR: 0x{magic_xor:04x} (sum ^ this = expected)")
+
+def main():
+    if len(sys.argv) < 2:
+        print("Usage:")
+        print("  python pattern_finder.py <file1> [file2] [file3] ...")
+        print("\nThis tool will:")
+        print("  - Find changing bytes between entries")
+        print("  - Analyze checksum patterns")
+        print("  - Test bitwise operations")
+        print("  - Compare multiple files")
+        print("  - Search for magic constants")
+        sys.exit(1)
+    
+    filenames = sys.argv[1:]
+    
+    # Single file analysis
+    main_file = filenames[0]
+    
+    print("PATTERN ANALYSIS REPORT")
+    print("=" * 60)
+    
+    find_changing_bytes(main_file)
+    print()
+    
+    analyze_checksum_patterns(main_file)
+    print()
+    
+    test_bitwise_operations(main_file)
+    print()
+    
+    find_magic_constants(main_file)
+    print()
+    
+    # Multi-file analysis if multiple files provided
+    if len(filenames) > 1:
+        analyze_multiple_files(filenames)
+
+if __name__ == "__main__":
+    main()

+ 1 - 2
research/firmware-strings/HARMONY-TRIO.txt

@@ -5673,8 +5673,7 @@ F_gestion_repeteur_UDP : !!!!! ERREUR !!!!! --> SETSOCKOPT UDP du socket serveur
 F_repondre_IP --> send failed with with count %ld : 
 Failed to set SO_BROADCAST On. Error %d
 Failed to config SO_RCVTIMEO.  Error %d
-F_gestion_repeteur_UDP : !!!!! ERREUR !!!!! --> Cr
-ation du socket serveur impossible
+F_gestion_repeteur_UDP : !!!!! ERREUR !!!!! --> Cration du socket serveur impossible
 F_gestion_repeteur_UDP : !!!!! ERREUR !!!!! --> BIND du socket serveur impossible
 0F9FO
 "AFHF

+ 122 - 0
research/firmware-strings/TRIO.md

@@ -0,0 +1,122 @@
+d:\JenkinsJobs\workspace\Indus\Harmonys\Harmonys_trio\Metis_appli\LWIP\App\A_trame_UDP_TCP.c
+EINPROGRESS in connect() - selecting
+
+no previous fragment, this must be the first fragment!
+validate_datagram:next_pbuf!=NULL
+
+F_gestion_trame_PROTOCOLE : !!!!! ERREUR !!!!! --> Cr
+ation du socket serveur impossible
+F_gestion_trame_PROTOCOLE : !!!!! ERREUR !!!!! --> BIND du socket serveur impossible
+F_gestion_trame_PROTOCOLE : !!!!! ERREUR !!!!! --> Abonnement IGMP BAD sur %d.%d.%d.%d
+
+d:\JenkinsJobs\workspace\Indus\Harmonys\Harmonys_trio\Metis_appli\Middlewares\Third_Party\LwIP\src\api\sockets.c
+newconn->callback == event_callback
+invalid copylen, len would underflow
+lwip_sendmsg: invalid msghdr iov
+lwip_sendmsg: invalid msghdr name
+lwip_sendto: size must fit in u16_t
+
+d:\JenkinsJobs\workspace\Indus\Harmonys\Harmonys_trio\Metis_appli\Middlewares\Third_Party\LwIP\src\core\tcp_in.c
+tcp_input: active pcb->state != CLOSED
+tcp_input: active pcb->state != TIME-WAIT
+tcp_input: active pcb->state != LISTEN
+tcp_input: pcb->next != pcb (before cache)
+tcp_input: pcb->next != pcb (after cache)
+tcp_input: TIME-WAIT pcb->state == TIME-WAIT
+pcb->snd_queuelen >= pbuf_clen(next->p)
+tcp_receive: segment not trimmed correctly to rcv_wnd
+tcp_receive: segment not trimmed correctly to ooseq queue
+tcp_receive: ooseq tcplen > rcv_wnd
+
+recv_udp must have a pcb argument
+
+SNTP_setup error_code : %d
+SNTP_oneshot error_code : %d
+erreur SNTP : %d
+erreur IGMP : %d
+sendto error
+Select failed: errno %d
+rcv NTP: %s
+error 0x%X
+addr.sin_port 0x%X
+probleme validation header
+
+recv_udp must have an argument
+recv_udp: recv for wrong pcb!
+recv_tcp must have an argument
+recv_tcp: recv for wrong pcb!
+
+new_rcv_ann_wnd <= 0xffff
+
+check decode_idx
+decode_len %% 4 == 0
+invalid decode_len
+
+
+pbuf_alloc: bad pbuf layer
+rem_len < max_u16_t
+pbuf_alloc: erroneous type
+pbuf_realloc: p != NULL
+pbuf_realloc: sane p->type
+grow < max_u16_t
+pbuf_realloc: q != NULL
+mem_trim returned q == NULL
+p != NULL
+increment_magnitude <= p->len
+bad pbuf type
+pbuf_free: sane type
+pbuf_free: p->ref > 0
+pbuf ref overflow
+p->next == NULL
+offset_to <= p_to->len
+offset_from <= p_from->len
+p_to != NULL
+pbuf_copy_partial: invalid buf
+pbuf_take: invalid buf
+pbuf_take: invalid dataptr
+pbuf_take: buf not large enough
+pbuf_take: invalid pbuf
+
+
+padding buffer full %d
+Padding ...
+%02d*.mp3
+/MELODIES
+F_repeat_trio --> STOP
+spi2:
+VS1011E init ERROR
+F_audio_init : PLay Streaming
+
+@ip : %d char = 
+
+
+stop manuel message
+buffer full %d
+F_traitement_OPCODE --> ERROR
+BAD %d/%d
+RX %d/%d (%d/%d)
+CHK BAD !!! %d
+error %lx
+
+ ERROR delete file %s
+/CONFIG\C_A_vars.tri
+F_sauv_A_vars DEBUT
+/CONFIG\C_A_vars.triold
+C_A_vars.triold
+ERROR rename file
+Create file ERROR
+%d.%d.%d.%d
+CHK = %04x (%d)
+F_sauv_A_vars FIN
+F_config_par_defaut_A_vars
+BODET-%02X%02X%02X%02X%02X%02X
+jkl1vi5erjnfh
+public
+aSe2=9Z8gOi37*
+----
+239.192.54.1
+MELODYS_2013
+
+MSDOS5.0
+NO NAME    FAT32   
+NO NAME    FAT  

+ 131 - 0
snmp-mibs/BODET-Control-box.mib

@@ -0,0 +1,131 @@
+BODET-Harmonys-Control-Box-MIB DEFINITIONS ::= BEGIN
+
+--******************************************************************************
+-- MIB objects for agent module 
+--******************************************************************************
+
+	IMPORTS
+		MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-TYPE, enterprises
+			FROM SNMPv2-SMI
+		MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+			FROM SNMPv2-CONF
+		DisplayString
+			FROM SNMPv2-TC
+		;
+
+	controlbox MODULE-IDENTITY
+		LAST-UPDATED	"201706190000Z"	-- 19 June 2017
+		ORGANIZATION	"BODET S.A"
+		CONTACT-INFO	"
+						BODET S.A
+						postal: BP1
+						49340 TREMENTINES
+						FRANCE
+						email:	assistance.ts@bodet.com
+						"
+		DESCRIPTION	"MIB for Harmonys Control Box"
+		
+		REVISION	"201706190000Z"	-- 19 June 2017
+		DESCRIPTION	"Initial Release"
+		::= { harmonys 3 }
+		
+
+--******************************************************************************
+-- Definition
+--******************************************************************************
+	bodetSnmp 			OBJECT IDENTIFIER ::= { enterprises 30731 }
+	harmonys   			OBJECT IDENTIFIER ::= { bodetSnmp 6 }
+
+	data            	OBJECT IDENTIFIER ::= { controlbox 1 }
+
+	traps        		OBJECT IDENTIFIER ::= { controlbox 2 }
+
+	controlboxConformance  	OBJECT IDENTIFIER ::= { controlbox 3 }
+	controlboxCompliances  	OBJECT IDENTIFIER ::= { controlboxConformance 1 }
+	controlboxGroups       	OBJECT IDENTIFIER ::= { controlboxConformance 2 }
+
+--******************************************************************************
+-- Objects
+--******************************************************************************
+	dnsName OBJECT-TYPE
+			SYNTAX 			DisplayString(SIZE(0..51))
+			MAX-ACCESS 		read-only
+			STATUS 			current
+			DESCRIPTION		"Hostname"
+			::= { data 1 }
+
+	statusAlarm OBJECT-TYPE
+			SYNTAX 			DisplayString(SIZE(0..32))
+			MAX-ACCESS 		read-only
+			STATUS 			current
+			DESCRIPTION		"Current Status"
+			::= { data 2 }
+
+
+--******************************************************************************
+-- Traps
+--******************************************************************************
+
+	trapInfoReboot NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Power Recovery"
+			::= { traps 1 }
+			
+	trapButtonPressed NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		" Button pressed"
+			::= { traps 2 }
+
+	trapStatus NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Status"
+			::= { traps 3 }
+
+	trapWebAccess NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Web Access"
+			::= { traps 4 }
+
+	trapAuthentificationFailure NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Authentification Failure in Web Server"
+			::= { traps 5 }
+
+--******************************************************************************
+-- Conformance Section 
+--******************************************************************************
+
+	controlboxCompliance		MODULE-COMPLIANCE
+			STATUS        	current
+			DESCRIPTION		"Compliance statement for Bodet Control Box SNMP MIB"
+			MODULE
+					MANDATORY-GROUPS { controlboxObjectsGroup,
+									   controlboxTrapsGroup }
+			::= { controlboxCompliances 1 }
+
+--******************************************************************************
+-- Groups
+--******************************************************************************
+
+	controlboxObjectsGroup    OBJECT-GROUP
+			OBJECTS       	{ 	
+								dnsName,
+								statusAlarm,
+							}
+			STATUS        	current
+			DESCRIPTION   	"Collection of objects for Bodet Control Box MIB"
+			::= { controlboxGroups 1 }
+
+	controlboxTrapsGroup      NOTIFICATION-GROUP
+			NOTIFICATIONS 	{ 	
+								trapInfoReboot,
+								trapButtonPressed,
+								trapStatus,
+								trapWebAccess,
+								trapAuthentificationFailure,
+							}
+			STATUS        	current
+			DESCRIPTION   	"Collection of traps for Bodet Control Box MIB"
+			::= { controlboxGroups 2 }
+
+END

+ 150 - 0
snmp-mibs/BODET-Flash.mib

@@ -0,0 +1,150 @@
+BODET-Harmonys-Flash-MIB DEFINITIONS ::= BEGIN
+
+--******************************************************************************
+-- MIB objects for agent module 
+--******************************************************************************
+
+	IMPORTS
+		MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-TYPE, enterprises
+			FROM SNMPv2-SMI
+		MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+			FROM SNMPv2-CONF
+		DisplayString
+			FROM SNMPv2-TC
+		;
+
+	flash MODULE-IDENTITY
+		LAST-UPDATED	"201703300000Z"	-- 30 March 2017
+		ORGANIZATION	"BODET S.A"
+		CONTACT-INFO	"
+						BODET S.A
+						postal: BP1
+						49340 TREMENTINES
+						FRANCE
+						email:	assistance.ts@bodet.com
+						"
+		DESCRIPTION	"MIB for Harmonys Flash"
+		
+		REVISION	"201703300000Z"	-- 30 March 2017
+		DESCRIPTION	"Initial Release"
+		::= { harmonys 2 }
+		
+
+--******************************************************************************
+-- Definition
+--******************************************************************************
+	bodetSnmp 			OBJECT IDENTIFIER ::= { enterprises 30731 }
+	harmonys   			OBJECT IDENTIFIER ::= { bodetSnmp 6 }
+
+	data            	OBJECT IDENTIFIER ::= { flash 1 }
+
+	traps        		OBJECT IDENTIFIER ::= { flash 2 }
+
+	flashConformance  	OBJECT IDENTIFIER ::= { flash 3 }
+	flashCompliances  	OBJECT IDENTIFIER ::= { flashConformance 1 }
+	flashGroups       	OBJECT IDENTIFIER ::= { flashConformance 2 }
+
+--******************************************************************************
+-- Objects
+--******************************************************************************
+	dnsName OBJECT-TYPE
+			SYNTAX 			DisplayString(SIZE(0..51))
+			MAX-ACCESS 		read-only
+			STATUS 			current
+			DESCRIPTION		"Hostname"
+			::= { data 1 }
+
+	statusAlarm OBJECT-TYPE
+			SYNTAX 			DisplayString(SIZE(0..32))
+			MAX-ACCESS 		read-only
+			STATUS 			current
+			DESCRIPTION		"Current Status"
+			::= { data 2 }
+
+
+--******************************************************************************
+-- Traps
+--******************************************************************************
+
+	trapInfoReboot NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Power Recovery"
+			::= { traps 1 }
+			
+	trapScheduledMelody NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Scheduled Melody"
+			::= { traps 2 }
+
+	trapManualMelody NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Manual Melody"
+			::= { traps 3 }
+
+	trapAlertMelody NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Alert Melody"
+			::= { traps 4 }
+			
+	trapStatus NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Status"
+			::= { traps 5 }
+
+	trapWebAccess NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Web Access"
+			::= { traps 6 }
+
+	trapAuthentificationFailure NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Authentification Failure in Web Server"
+			::= { traps 7 }
+
+	trapRepeaterFailure NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Repeater Failure"
+			::= { traps 8 }
+
+
+--******************************************************************************
+-- Conformance Section 
+--******************************************************************************
+
+	flashCompliance		MODULE-COMPLIANCE
+			STATUS        	current
+			DESCRIPTION		"Compliance statement for Bodet Flash SNMP MIB"
+			MODULE
+					MANDATORY-GROUPS { flashObjectsGroup,
+									   flashTrapsGroup }
+			::= { flashCompliances 1 }
+
+--******************************************************************************
+-- Groups
+--******************************************************************************
+
+	flashObjectsGroup    OBJECT-GROUP
+			OBJECTS       	{ 	
+								dnsName,
+								statusAlarm
+							}
+			STATUS        	current
+			DESCRIPTION   	"Collection of objects for Bodet Flash MIB"
+			::= { flashGroups 1 }
+
+	flashTrapsGroup      NOTIFICATION-GROUP
+			NOTIFICATIONS 	{ 	
+								trapInfoReboot,
+								trapScheduledMelody,
+								trapManualMelody,
+								trapAlertMelody,
+								trapStatus,
+								trapWebAccess,
+								trapAuthentificationFailure,
+								trapRepeaterFailure
+							}
+			STATUS        	current
+			DESCRIPTION   	"Collection of traps for Bodet Flash MIB"
+			::= { flashGroups 2 }
+
+END

+ 168 - 0
snmp-mibs/BODET-Harmonys_Trio.mib

@@ -0,0 +1,168 @@
+BODET-Harmonys-Trio-MIB DEFINITIONS ::= BEGIN
+
+--******************************************************************************
+-- MIB objects for agent module 
+--******************************************************************************
+
+	IMPORTS
+		MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-TYPE, enterprises
+			FROM SNMPv2-SMI
+		MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+			FROM SNMPv2-CONF
+		DisplayString
+			FROM SNMPv2-TC
+		;
+
+	trio MODULE-IDENTITY
+		LAST-UPDATED	"202001080000Z"	-- 08 January 2020
+		ORGANIZATION	"BODET S.A"
+		CONTACT-INFO	"
+						BODET S.A
+						postal: BP1
+						49340 TREMENTINES
+						FRANCE
+						email:	assistance@bodet-timesport.com
+						"
+		DESCRIPTION	"MIB for Harmonys Trio"
+		
+		REVISION	"202001080000Z"	-- 08 January 2020
+		DESCRIPTION	"Initial Release"
+		::= { harmonys 4 }
+		
+
+--******************************************************************************
+-- Definition
+--******************************************************************************
+	bodetSnmp 			OBJECT IDENTIFIER ::= { enterprises 30731 }
+	harmonys   			OBJECT IDENTIFIER ::= { bodetSnmp 6 }
+
+	data            	OBJECT IDENTIFIER ::= { trio 1 }
+
+	traps        		OBJECT IDENTIFIER ::= { trio 2 }
+
+	trioConformance  	OBJECT IDENTIFIER ::= { trio 3 }
+	trioCompliances  	OBJECT IDENTIFIER ::= { trioConformance 1 }
+	trioGroups       	OBJECT IDENTIFIER ::= { trioConformance 2 }
+
+--******************************************************************************
+-- Objects
+--******************************************************************************
+	dnsName OBJECT-TYPE
+			SYNTAX 			DisplayString(SIZE(0..51))
+			MAX-ACCESS 		read-only
+			STATUS 			current
+			DESCRIPTION		"Hostname"
+			::= { data 1 }
+
+	statusAlarm OBJECT-TYPE
+			SYNTAX 			DisplayString(SIZE(0..32))
+			MAX-ACCESS 		read-only
+			STATUS 			current
+			DESCRIPTION		"Current Status"
+			::= { data 2 }
+
+--******************************************************************************
+-- Traps
+--******************************************************************************
+
+	trapInfoReboot NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Power Recovery"
+			::= { traps 1 }
+			
+	trapScheduledMelody NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Scheduled Melody"
+			::= { traps 2 }
+
+	trapManualMelody NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Manual Melody"
+			::= { traps 3 }
+
+	trapAlertMelody NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Alert Melody"
+			::= { traps 4 }
+			
+	trapStatus NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Status"
+			::= { traps 5 }
+
+	trapWebAccess NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Web Access"
+			::= { traps 6 }
+
+	trapAuthentificationFailure NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Authentification Failure in Web Server"
+			::= { traps 7 }
+
+	trapRepeaterFailure NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Repeater Failure"
+			::= { traps 8 }
+
+	trapStreaming NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Streaming"
+			::= { traps 9 }
+
+	trapMissingFile NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Missing File"
+			::= { traps 10 }
+			
+	trapSynchronisationFailure NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Synchronisation Failure"
+			::= { traps 11 }
+
+			
+
+--******************************************************************************
+-- Conformance Section 
+--******************************************************************************
+
+	trioCompliance		MODULE-COMPLIANCE
+			STATUS        	current
+			DESCRIPTION		"Compliance statement for Bodet Speaker SNMP MIB"
+			MODULE
+					MANDATORY-GROUPS { trioObjectsGroup,
+									   trioTrapsGroup }
+			::= { trioCompliances 1 }
+
+--******************************************************************************
+-- Groups
+--******************************************************************************
+
+	trioObjectsGroup    OBJECT-GROUP
+			OBJECTS       	{ 	
+								dnsName,
+								statusAlarm
+							}
+			STATUS        	current
+			DESCRIPTION   	"Collection of objects for Bodet Speaker MIB"
+			::= { trioGroups 1 }
+
+	trioTrapsGroup      NOTIFICATION-GROUP
+			NOTIFICATIONS 	{ 	
+								trapInfoReboot,
+								trapScheduledMelody,
+								trapManualMelody,
+								trapAlertMelody,
+								trapStatus,
+								trapWebAccess,
+								trapAuthentificationFailure,
+								trapRepeaterFailure,
+								trapStreaming,
+								trapMissingFile,
+								trapSynchronisationFailure
+							}
+			STATUS        	current
+			DESCRIPTION   	"Collection of traps for Bodet Speaker MIB"
+			::= { trioGroups 2 }
+
+END

+ 214 - 0
snmp-mibs/BODET-Sigma.mib

@@ -0,0 +1,214 @@
+BODET-Sigma-MIB DEFINITIONS ::= BEGIN
+
+--******************************************************************************
+-- MIB objects for agent module 
+--******************************************************************************
+
+IMPORTS
+		MODULE-IDENTITY, NOTIFICATION-TYPE, enterprises
+			FROM SNMPv2-SMI
+		MODULE-COMPLIANCE, NOTIFICATION-GROUP
+			FROM SNMPv2-CONF
+		;
+
+	sigma MODULE-IDENTITY
+		LAST-UPDATED	"201707030000Z"	-- 03 July 2017
+		ORGANIZATION	"BODET S.A"
+		CONTACT-INFO	"
+						BODET S.A
+						postal: BP1
+						49340 TREMENTINES
+						FRANCE
+						email:	assistance.ts@bodet.com
+						"
+		DESCRIPTION	"MIB for Sigma"
+		REVISION	"201707030000Z"	-- 03 July 2017
+		DESCRIPTION	"Update"
+		::= { bodetSnmp 1 }
+
+--******************************************************************************
+-- Definition
+--******************************************************************************
+	bodetSnmp 			OBJECT IDENTIFIER ::= { enterprises 30731 }
+	traps        		OBJECT IDENTIFIER ::= { sigma 1 }
+
+	sigmaConformance  	OBJECT IDENTIFIER ::= { sigma 3 }
+	sigmaCompliances  	OBJECT IDENTIFIER ::= { sigmaConformance 1 }
+	sigmaGroups       	OBJECT IDENTIFIER ::= { sigmaConformance 2 }
+
+--******************************************************************************
+-- Traps
+--******************************************************************************
+
+trapSystemFailure NOTIFICATION-TYPE
+   	STATUS      current
+    DESCRIPTION
+        "Sigma : System Failure"
+    ::= { traps 1 }
+
+trapFailureClientCode NOTIFICATION-TYPE
+    STATUS      current
+    DESCRIPTION
+        "Sigma : Failure Client Code"
+    ::= { traps 2 }
+
+trapFailureCodeTechnician NOTIFICATION-TYPE
+    STATUS      current
+    DESCRIPTION
+        "Sigma : Failure code technician"
+    ::= { traps 3 }
+
+trapFailureBattery NOTIFICATION-TYPE
+    STATUS      current
+    DESCRIPTION
+        "Sigma : Failure battery"
+    ::= { traps 4 }
+
+trapBatteryFault24V NOTIFICATION-TYPE
+    STATUS      current
+    DESCRIPTION
+        "Sigma : Battery fault 24V"
+    ::= { traps 5 }
+
+trapFailingMaster NOTIFICATION-TYPE
+    STATUS      current
+    DESCRIPTION
+        "Sigma : Failing Master"
+    ::= { traps 6 }
+
+trapFailureSynchro NOTIFICATION-TYPE
+    STATUS      current
+    DESCRIPTION
+        "Sigma : Failure synchro"
+    ::= { traps 7 }
+
+trapOverloading24V NOTIFICATION-TYPE
+    STATUS      current
+    DESCRIPTION
+        "Sigma : Overloading 24V"
+    ::= { traps 8 }
+
+trapFailurePulse24V NOTIFICATION-TYPE
+    STATUS      current
+    DESCRIPTION
+        "Sigma : Failure pulse 24V"
+    ::= { traps 9 }
+
+trapFailureAfnor NOTIFICATION-TYPE
+    STATUS      current
+    DESCRIPTION
+        "Sigma : Failure Afnor"
+    ::= { traps 10 }
+
+trapFailureAscii NOTIFICATION-TYPE
+    STATUS      current
+    DESCRIPTION
+        "Sigma : Failure Ascii"
+    ::= { traps 11 }
+
+trapFailureDRHF NOTIFICATION-TYPE
+    STATUS      current
+    DESCRIPTION
+        "Sigma : Failure DRHF"
+    ::= { traps 12 }
+
+trapFailureSerialPulse NOTIFICATION-TYPE
+    STATUS      current
+    DESCRIPTION
+        "Sigma : Failure serial pulse"
+    ::= { traps 13 }
+
+trapShortCircuitSerialPulse NOTIFICATION-TYPE
+    STATUS      current
+    DESCRIPTION
+        "Sigma : Short-circuit serial pulse"
+    ::= { traps 14 }
+
+trapOpenCircuitSerialPulse NOTIFICATION-TYPE
+    STATUS      current
+    DESCRIPTION
+        "Sigma : Open circuit serial pulse"
+    ::= { traps 15 }
+	
+trapFailureCircuit NOTIFICATION-TYPE
+    STATUS      current
+    DESCRIPTION
+        "Sigma : Failure circuit"
+    ::= { traps 16 }
+	
+trapFailureAfnorSynchro NOTIFICATION-TYPE
+    STATUS      current
+    DESCRIPTION
+        "Sigma : Failure Afnor Synchro"
+    ::= { traps 17 }
+	
+trapFailureSynchronousWire NOTIFICATION-TYPE
+    STATUS      current
+    DESCRIPTION
+        "Sigma : Failure Synchronous Wire"
+    ::= { traps 18 }
+	
+trapFailureSound NOTIFICATION-TYPE
+    STATUS      current
+    DESCRIPTION
+        "Sigma : Failure Sound"
+    ::= { traps 19 }
+	
+trapFailureExternalInput NOTIFICATION-TYPE
+    STATUS      current
+    DESCRIPTION
+        "Sigma : Failure External Input"
+    ::= { traps 20 }
+	
+trapAlertTriggered NOTIFICATION-TYPE
+    STATUS      current
+    DESCRIPTION
+        "Sigma : Alert triggered"
+    ::= { traps 21 }
+
+--******************************************************************************
+-- Conformance Section 
+--******************************************************************************
+
+	flashCompliance		MODULE-COMPLIANCE
+			STATUS        	current
+			DESCRIPTION		"Compliance statement for Bodet SIGMA SNMP MIB"
+			MODULE
+					MANDATORY-GROUPS { sigmaTrapsGroup }
+			::= { sigmaCompliances 1 }
+
+--******************************************************************************
+-- Groups
+--******************************************************************************
+
+	sigmaTrapsGroup      NOTIFICATION-GROUP
+			NOTIFICATIONS 	{ 	
+								trapSystemFailure,
+								trapFailureClientCode,
+								trapFailureCodeTechnician,
+								trapFailureBattery,
+								trapBatteryFault24V,
+								trapFailingMaster,
+								trapFailureSynchro,
+								trapOverloading24V,
+								trapFailurePulse24V,
+								trapFailureAfnor,
+								trapFailureAscii,
+								trapFailureDRHF,
+								trapFailureSerialPulse,
+								trapShortCircuitSerialPulse,
+								trapOpenCircuitSerialPulse,
+								trapFailureCircuit,
+								trapFailureAfnorSynchro,
+								trapFailureSynchronousWire,
+								trapFailureSound,
+								trapFailureExternalInput,
+								trapAlertTriggered
+							}
+			STATUS        	current
+			DESCRIPTION   	"Collection of traps for Bodet SIGMA MIB"
+			::= { sigmaGroups 2 }
+	
+END
+
+

+ 162 - 0
snmp-mibs/BODET-Speaker.mib

@@ -0,0 +1,162 @@
+BODET-Harmonys-Speaker-MIB DEFINITIONS ::= BEGIN
+
+--******************************************************************************
+-- MIB objects for agent module 
+--******************************************************************************
+
+	IMPORTS
+		MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-TYPE, enterprises
+			FROM SNMPv2-SMI
+		MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+			FROM SNMPv2-CONF
+		DisplayString
+			FROM SNMPv2-TC
+		;
+
+	speaker MODULE-IDENTITY
+		LAST-UPDATED	"201706070000Z"	-- 07 June 2017
+		ORGANIZATION	"BODET S.A"
+		CONTACT-INFO	"
+						BODET S.A
+						postal: BP1
+						49340 TREMENTINES
+						FRANCE
+						email:	assistance.ts@bodet.com
+						"
+		DESCRIPTION	"MIB for Harmonys Speaker"
+		
+		REVISION	"201706070000Z"	-- 07 June 2017
+		DESCRIPTION	"Initial Release"
+		::= { harmonys 1 }
+		
+
+--******************************************************************************
+-- Definition
+--******************************************************************************
+	bodetSnmp 			OBJECT IDENTIFIER ::= { enterprises 30731 }
+	harmonys   			OBJECT IDENTIFIER ::= { bodetSnmp 6 }
+
+	data            	OBJECT IDENTIFIER ::= { speaker 1 }
+
+	traps        		OBJECT IDENTIFIER ::= { speaker 2 }
+
+	speakerConformance  	OBJECT IDENTIFIER ::= { speaker 3 }
+	speakerCompliances  	OBJECT IDENTIFIER ::= { speakerConformance 1 }
+	speakerGroups       	OBJECT IDENTIFIER ::= { speakerConformance 2 }
+
+--******************************************************************************
+-- Objects
+--******************************************************************************
+	dnsName OBJECT-TYPE
+			SYNTAX 			DisplayString(SIZE(0..51))
+			MAX-ACCESS 		read-only
+			STATUS 			current
+			DESCRIPTION		"Hostname"
+			::= { data 1 }
+
+	statusAlarm OBJECT-TYPE
+			SYNTAX 			DisplayString(SIZE(0..32))
+			MAX-ACCESS 		read-only
+			STATUS 			current
+			DESCRIPTION		"Current Status"
+			::= { data 2 }
+
+
+--******************************************************************************
+-- Traps
+--******************************************************************************
+
+	trapInfoReboot NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Power Recovery"
+			::= { traps 1 }
+			
+	trapScheduledMelody NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Scheduled Melody"
+			::= { traps 2 }
+
+	trapManualMelody NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Manual Melody"
+			::= { traps 3 }
+
+	trapAlertMelody NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Alert Melody"
+			::= { traps 4 }
+			
+	trapStatus NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Status"
+			::= { traps 5 }
+
+	trapWebAccess NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Web Access"
+			::= { traps 6 }
+
+	trapAuthentificationFailure NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Authentification Failure in Web Server"
+			::= { traps 7 }
+
+	trapRepeaterFailure NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Repeater Failure"
+			::= { traps 8 }
+
+	trapStreaming NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Streaming"
+			::= { traps 9 }
+
+	trapMissingMelody NOTIFICATION-TYPE
+			STATUS 			current
+			DESCRIPTION		"Missing Melody"
+			::= { traps 10 }
+
+
+--******************************************************************************
+-- Conformance Section 
+--******************************************************************************
+
+	speakerCompliance		MODULE-COMPLIANCE
+			STATUS        	current
+			DESCRIPTION		"Compliance statement for Bodet Speaker SNMP MIB"
+			MODULE
+					MANDATORY-GROUPS { speakerObjectsGroup,
+									   speakerTrapsGroup }
+			::= { speakerCompliances 1 }
+
+--******************************************************************************
+-- Groups
+--******************************************************************************
+
+	speakerObjectsGroup    OBJECT-GROUP
+			OBJECTS       	{ 	
+								dnsName,
+								statusAlarm
+							}
+			STATUS        	current
+			DESCRIPTION   	"Collection of objects for Bodet Speaker MIB"
+			::= { speakerGroups 1 }
+
+	speakerTrapsGroup      NOTIFICATION-GROUP
+			NOTIFICATIONS 	{ 	
+								trapInfoReboot,
+								trapScheduledMelody,
+								trapManualMelody,
+								trapAlertMelody,
+								trapStatus,
+								trapWebAccess,
+								trapAuthentificationFailure,
+								trapRepeaterFailure,
+								trapStreaming,
+								trapMissingMelody
+							}
+			STATUS        	current
+			DESCRIPTION   	"Collection of traps for Bodet Speaker MIB"
+			::= { speakerGroups 2 }
+
+END

+ 356 - 0
snmp-mibs/SNMPv2-SMI.mib

@@ -0,0 +1,356 @@
+
+
+SNMPv2-SMI DEFINITIONS ::= BEGIN
+
+-- the path to the root
+
+org            OBJECT IDENTIFIER ::= { iso 3 }  --  "iso" = 1
+dod            OBJECT IDENTIFIER ::= { org 6 }
+internet       OBJECT IDENTIFIER ::= { dod 1 }
+
+directory      OBJECT IDENTIFIER ::= { internet 1 }
+
+mgmt           OBJECT IDENTIFIER ::= { internet 2 }
+mib-2          OBJECT IDENTIFIER ::= { mgmt 1 }
+transmission   OBJECT IDENTIFIER ::= { mib-2 10 }
+
+experimental   OBJECT IDENTIFIER ::= { internet 3 }
+
+private        OBJECT IDENTIFIER ::= { internet 4 }
+enterprises    OBJECT IDENTIFIER ::= { private 1 }
+
+security       OBJECT IDENTIFIER ::= { internet 5 }
+
+snmpV2         OBJECT IDENTIFIER ::= { internet 6 }
+
+-- transport domains
+snmpDomains    OBJECT IDENTIFIER ::= { snmpV2 1 }
+
+-- transport proxies
+snmpProxys     OBJECT IDENTIFIER ::= { snmpV2 2 }
+
+-- module identities
+snmpModules    OBJECT IDENTIFIER ::= { snmpV2 3 }
+
+-- Extended UTCTime, to allow dates with four-digit years
+-- (Note that this definition of ExtUTCTime is not to be IMPORTed
+--  by MIB modules.)
+ExtUTCTime ::= OCTET STRING(SIZE(11 | 13))
+    -- format is YYMMDDHHMMZ or YYYYMMDDHHMMZ
+
+    --   where: YY   - last two digits of year (only years
+    --                 between 1900-1999)
+    --          YYYY - last four digits of the year (any year)
+    --          MM   - month (01 through 12)
+    --          DD   - day of month (01 through 31)
+    --          HH   - hours (00 through 23)
+    --          MM   - minutes (00 through 59)
+    --          Z    - denotes GMT (the ASCII character Z)
+    --
+    -- For example, "9502192015Z" and "199502192015Z" represent
+    -- 8:15pm GMT on 19 February 1995. Years after 1999 must use
+    -- the four digit year format. Years 1900-1999 may use the
+    -- two or four digit format.
+
+-- definitions for information modules
+
+MODULE-IDENTITY MACRO ::=
+BEGIN
+    TYPE NOTATION ::=
+                  "LAST-UPDATED" value(Update ExtUTCTime)
+                  "ORGANIZATION" Text
+                  "CONTACT-INFO" Text
+                  "DESCRIPTION" Text
+                  RevisionPart
+
+    VALUE NOTATION ::=
+                  value(VALUE OBJECT IDENTIFIER)
+
+    RevisionPart ::=
+                  Revisions
+                | empty
+    Revisions ::=
+                  Revision
+                | Revisions Revision
+    Revision ::=
+                  "REVISION" value(Update ExtUTCTime)
+                  "DESCRIPTION" Text
+
+    -- a character string as defined in section 3.1.1
+    Text ::= value(IA5String)
+END
+
+OBJECT-IDENTITY MACRO ::=
+BEGIN
+    TYPE NOTATION ::=
+                  "STATUS" Status
+                  "DESCRIPTION" Text
+
+                  ReferPart
+
+    VALUE NOTATION ::=
+                  value(VALUE OBJECT IDENTIFIER)
+
+    Status ::=
+                  "current"
+                | "deprecated"
+                | "obsolete"
+
+    ReferPart ::=
+                  "REFERENCE" Text
+                | empty
+
+    -- a character string as defined in section 3.1.1
+    Text ::= value(IA5String)
+END
+
+-- names of objects
+-- (Note that these definitions of ObjectName and NotificationName
+--  are not to be IMPORTed by MIB modules.)
+
+ObjectName ::=
+    OBJECT IDENTIFIER
+
+NotificationName ::=
+    OBJECT IDENTIFIER
+
+-- syntax of objects
+
+-- the "base types" defined here are:
+--   3 built-in ASN.1 types: INTEGER, OCTET STRING, OBJECT IDENTIFIER
+--   8 application-defined types: Integer32, IpAddress, Counter32,
+--              Gauge32, Unsigned32, TimeTicks, Opaque, and Counter64
+
+ObjectSyntax ::=
+    CHOICE {
+        simple
+            SimpleSyntax,
+
+          -- note that SEQUENCEs for conceptual tables and
+          -- rows are not mentioned here...
+
+        application-wide
+            ApplicationSyntax
+    }
+
+-- built-in ASN.1 types
+
+SimpleSyntax ::=
+    CHOICE {
+        -- INTEGERs with a more restrictive range
+        -- may also be used
+        integer-value               -- includes Integer32
+            INTEGER (-2147483648..2147483647),
+
+        -- OCTET STRINGs with a more restrictive size
+        -- may also be used
+        string-value
+            OCTET STRING (SIZE (0..65535)),
+
+        objectID-value
+            OBJECT IDENTIFIER
+    }
+
+-- indistinguishable from INTEGER, but never needs more than
+-- 32-bits for a two's complement representation
+Integer32 ::=
+        INTEGER (-2147483648..2147483647)
+
+-- application-wide types
+
+ApplicationSyntax ::=
+    CHOICE {
+        ipAddress-value
+            IpAddress,
+
+        counter-value
+            Counter32,
+
+        timeticks-value
+            TimeTicks,
+
+        arbitrary-value
+            Opaque,
+
+        big-counter-value
+            Counter64,
+
+        unsigned-integer-value  -- includes Gauge32
+            Unsigned32
+    }
+
+-- in network-byte order
+
+-- (this is a tagged type for historical reasons)
+IpAddress ::=
+    [APPLICATION 0]
+        IMPLICIT OCTET STRING (SIZE (4))
+
+-- this wraps
+Counter32 ::=
+    [APPLICATION 1]
+        IMPLICIT INTEGER (0..4294967295)
+
+-- this doesn't wrap
+Gauge32 ::=
+    [APPLICATION 2]
+        IMPLICIT INTEGER (0..4294967295)
+
+-- an unsigned 32-bit quantity
+-- indistinguishable from Gauge32
+Unsigned32 ::=
+    [APPLICATION 2]
+        IMPLICIT INTEGER (0..4294967295)
+
+-- hundredths of seconds since an epoch
+TimeTicks ::=
+    [APPLICATION 3]
+        IMPLICIT INTEGER (0..4294967295)
+
+-- for backward-compatibility only
+Opaque ::=
+    [APPLICATION 4]
+        IMPLICIT OCTET STRING
+
+-- for counters that wrap in less than one hour with only 32 bits
+Counter64 ::=
+    [APPLICATION 6]
+        IMPLICIT INTEGER (0..18446744073709551615)
+
+-- definition for objects
+
+OBJECT-TYPE MACRO ::=
+BEGIN
+    TYPE NOTATION ::=
+                  "SYNTAX" Syntax
+                  UnitsPart
+                  "MAX-ACCESS" Access
+                  "STATUS" Status
+                  "DESCRIPTION" Text
+                  ReferPart
+
+                  IndexPart
+                  DefValPart
+
+    VALUE NOTATION ::=
+                  value(VALUE ObjectName)
+
+    Syntax ::=   -- Must be one of the following:
+                       -- a base type (or its refinement),
+                       -- a textual convention (or its refinement), or
+                       -- a BITS pseudo-type
+                   type
+                | "BITS" "{" NamedBits "}"
+
+    NamedBits ::= NamedBit
+                | NamedBits "," NamedBit
+
+    NamedBit ::=  identifier "(" number ")" -- number is nonnegative
+
+    UnitsPart ::=
+                  "UNITS" Text
+                | empty
+
+    Access ::=
+                  "not-accessible"
+                | "accessible-for-notify"
+                | "read-only"
+                | "read-write"
+                | "read-create"
+
+    Status ::=
+                  "current"
+                | "deprecated"
+                | "obsolete"
+
+    ReferPart ::=
+                  "REFERENCE" Text
+                | empty
+
+    IndexPart ::=
+                  "INDEX"    "{" IndexTypes "}"
+                | "AUGMENTS" "{" Entry      "}"
+                | empty
+    IndexTypes ::=
+                  IndexType
+                | IndexTypes "," IndexType
+    IndexType ::=
+                  "IMPLIED" Index
+                | Index
+
+    Index ::=
+                    -- use the SYNTAX value of the
+                    -- correspondent OBJECT-TYPE invocation
+                  value(ObjectName)
+    Entry ::=
+                    -- use the INDEX value of the
+                    -- correspondent OBJECT-TYPE invocation
+                  value(ObjectName)
+
+    DefValPart ::= "DEFVAL" "{" Defvalue "}"
+                | empty
+
+    Defvalue ::=  -- must be valid for the type specified in
+                  -- SYNTAX clause of same OBJECT-TYPE macro
+                  value(ObjectSyntax)
+                | "{" BitsValue "}"
+
+    BitsValue ::= BitNames
+                | empty
+
+    BitNames ::=  BitName
+                | BitNames "," BitName
+
+    BitName ::= identifier
+
+    -- a character string as defined in section 3.1.1
+    Text ::= value(IA5String)
+END
+
+-- definitions for notifications
+
+NOTIFICATION-TYPE MACRO ::=
+BEGIN
+    TYPE NOTATION ::=
+                  ObjectsPart
+                  "STATUS" Status
+                  "DESCRIPTION" Text
+                  ReferPart
+
+    VALUE NOTATION ::=
+                  value(VALUE NotificationName)
+
+    ObjectsPart ::=
+                  "OBJECTS" "{" Objects "}"
+                | empty
+    Objects ::=
+                  Object
+
+                | Objects "," Object
+    Object ::=
+                  value(ObjectName)
+
+    Status ::=
+                  "current"
+                | "deprecated"
+                | "obsolete"
+
+    ReferPart ::=
+                  "REFERENCE" Text
+                | empty
+
+    -- a character string as defined in section 3.1.1
+    Text ::= value(IA5String)
+END
+
+-- definitions of administrative identifiers
+
+zeroDotZero    OBJECT-IDENTITY
+    STATUS     current
+    DESCRIPTION
+            "A value used for null identifiers."
+    ::= { 0 0 }
+
+END
+
+

+ 781 - 0
snmp-mibs/SNMPv2-TC.mib

@@ -0,0 +1,781 @@
+
+
+SNMPv2-TC DEFINITIONS ::= BEGIN
+
+IMPORTS
+    TimeTicks         FROM SNMPv2-SMI;
+
+-- definition of textual conventions
+
+TEXTUAL-CONVENTION MACRO ::=
+
+BEGIN
+    TYPE NOTATION ::=
+                  DisplayPart
+                  "STATUS" Status
+                  "DESCRIPTION" Text
+                  ReferPart
+                  "SYNTAX" Syntax
+
+    VALUE NOTATION ::=
+                   value(VALUE Syntax)      -- adapted ASN.1
+
+    DisplayPart ::=
+                  "DISPLAY-HINT" Text
+                | empty
+
+    Status ::=
+                  "current"
+                | "deprecated"
+                | "obsolete"
+
+    ReferPart ::=
+                  "REFERENCE" Text
+                | empty
+
+    -- a character string as defined in [2]
+    Text ::= value(IA5String)
+
+    Syntax ::=   -- Must be one of the following:
+                       -- a base type (or its refinement), or
+                       -- a BITS pseudo-type
+                  type
+                | "BITS" "{" NamedBits "}"
+
+    NamedBits ::= NamedBit
+                | NamedBits "," NamedBit
+
+    NamedBit ::=  identifier "(" number ")" -- number is nonnegative
+
+END
+
+DisplayString ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "255a"
+    STATUS       current
+    DESCRIPTION
+            "Represents textual information taken from the NVT ASCII
+
+            character set, as defined in pages 4, 10-11 of RFC 854.
+
+            To summarize RFC 854, the NVT ASCII repertoire specifies:
+
+              - the use of character codes 0-127 (decimal)
+
+              - the graphics characters (32-126) are interpreted as
+                US ASCII
+
+              - NUL, LF, CR, BEL, BS, HT, VT and FF have the special
+                meanings specified in RFC 854
+
+              - the other 25 codes have no standard interpretation
+
+              - the sequence 'CR LF' means newline
+
+              - the sequence 'CR NUL' means carriage-return
+
+              - an 'LF' not preceded by a 'CR' means moving to the
+                same column on the next line.
+
+              - the sequence 'CR x' for any x other than LF or NUL is
+                illegal.  (Note that this also means that a string may
+                end with either 'CR LF' or 'CR NUL', but not with CR.)
+
+            Any object defined using this syntax may not exceed 255
+            characters in length."
+    SYNTAX       OCTET STRING (SIZE (0..255))
+
+PhysAddress ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "1x:"
+    STATUS       current
+    DESCRIPTION
+            "Represents media- or physical-level addresses."
+    SYNTAX       OCTET STRING
+
+MacAddress ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "1x:"
+    STATUS       current
+    DESCRIPTION
+            "Represents an 802 MAC address represented in the
+            `canonical' order defined by IEEE 802.1a, i.e., as if it
+            were transmitted least significant bit first, even though
+            802.5 (in contrast to other 802.x protocols) requires MAC
+            addresses to be transmitted most significant bit first."
+    SYNTAX       OCTET STRING (SIZE (6))
+
+TruthValue ::= TEXTUAL-CONVENTION
+    STATUS       current
+    DESCRIPTION
+            "Represents a boolean value."
+    SYNTAX       INTEGER { true(1), false(2) }
+
+TestAndIncr ::= TEXTUAL-CONVENTION
+    STATUS       current
+    DESCRIPTION
+            "Represents integer-valued information used for atomic
+            operations.  When the management protocol is used to specify
+            that an object instance having this syntax is to be
+            modified, the new value supplied via the management protocol
+            must precisely match the value presently held by the
+            instance.  If not, the management protocol set operation
+            fails with an error of `inconsistentValue'.  Otherwise, if
+            the current value is the maximum value of 2^31-1 (2147483647
+            decimal), then the value held by the instance is wrapped to
+            zero; otherwise, the value held by the instance is
+            incremented by one.  (Note that regardless of whether the
+            management protocol set operation succeeds, the variable-
+            binding in the request and response PDUs are identical.)
+
+            The value of the ACCESS clause for objects having this
+            syntax is either `read-write' or `read-create'.  When an
+            instance of a columnar object having this syntax is created,
+            any value may be supplied via the management protocol.
+
+            When the network management portion of the system is re-
+            initialized, the value of every object instance having this
+            syntax must either be incremented from its value prior to
+            the re-initialization, or (if the value prior to the re-
+            initialization is unknown) be set to a pseudo-randomly
+            generated value."
+    SYNTAX       INTEGER (0..2147483647)
+
+AutonomousType ::= TEXTUAL-CONVENTION
+    STATUS       current
+    DESCRIPTION
+            "Represents an independently extensible type identification
+            value.  It may, for example, indicate a particular sub-tree
+            with further MIB definitions, or define a particular type of
+            protocol or hardware."
+    SYNTAX       OBJECT IDENTIFIER
+
+InstancePointer ::= TEXTUAL-CONVENTION
+    STATUS       obsolete
+
+    DESCRIPTION
+            "A pointer to either a specific instance of a MIB object or
+            a conceptual row of a MIB table in the managed device.  In
+            the latter case, by convention, it is the name of the
+            particular instance of the first accessible columnar object
+            in the conceptual row.
+
+            The two uses of this textual convention are replaced by
+            VariablePointer and RowPointer, respectively."
+    SYNTAX       OBJECT IDENTIFIER
+
+VariablePointer ::= TEXTUAL-CONVENTION
+    STATUS       current
+    DESCRIPTION
+            "A pointer to a specific object instance.  For example,
+            sysContact.0 or ifInOctets.3."
+    SYNTAX       OBJECT IDENTIFIER
+
+RowPointer ::= TEXTUAL-CONVENTION
+    STATUS       current
+    DESCRIPTION
+            "Represents a pointer to a conceptual row.  The value is the
+            name of the instance of the first accessible columnar object
+            in the conceptual row.
+
+            For example, ifIndex.3 would point to the 3rd row in the
+            ifTable (note that if ifIndex were not-accessible, then
+            ifDescr.3 would be used instead)."
+    SYNTAX       OBJECT IDENTIFIER
+
+RowStatus ::= TEXTUAL-CONVENTION
+    STATUS       current
+    DESCRIPTION
+            "The RowStatus textual convention is used to manage the
+            creation and deletion of conceptual rows, and is used as the
+            value of the SYNTAX clause for the status column of a
+            conceptual row (as described in Section 7.7.1 of [2].)
+
+            The status column has six defined values:
+
+                 - `active', which indicates that the conceptual row is
+                 available for use by the managed device;
+
+                 - `notInService', which indicates that the conceptual
+                 row exists in the agent, but is unavailable for use by
+                 the managed device (see NOTE below); 'notInService' has
+                 no implication regarding the internal consistency of
+                 the row, availability of resources, or consistency with
+                 the current state of the managed device;
+
+                 - `notReady', which indicates that the conceptual row
+                 exists in the agent, but is missing information
+                 necessary in order to be available for use by the
+                 managed device (i.e., one or more required columns in
+                 the conceptual row have not been instanciated);
+
+                 - `createAndGo', which is supplied by a management
+                 station wishing to create a new instance of a
+                 conceptual row and to have its status automatically set
+                 to active, making it available for use by the managed
+                 device;
+
+                 - `createAndWait', which is supplied by a management
+                 station wishing to create a new instance of a
+                 conceptual row (but not make it available for use by
+                 the managed device); and,
+
+                 - `destroy', which is supplied by a management station
+                 wishing to delete all of the instances associated with
+                 an existing conceptual row.
+
+            Whereas five of the six values (all except `notReady') may
+            be specified in a management protocol set operation, only
+            three values will be returned in response to a management
+            protocol retrieval operation:  `notReady', `notInService' or
+            `active'.  That is, when queried, an existing conceptual row
+            has only three states:  it is either available for use by
+            the managed device (the status column has value `active');
+            it is not available for use by the managed device, though
+            the agent has sufficient information to attempt to make it
+            so (the status column has value `notInService'); or, it is
+            not available for use by the managed device, and an attempt
+            to make it so would fail because the agent has insufficient
+            information (the state column has value `notReady').
+
+                                     NOTE WELL
+
+                 This textual convention may be used for a MIB table,
+                 irrespective of whether the values of that table's
+                 conceptual rows are able to be modified while it is
+                 active, or whether its conceptual rows must be taken
+                 out of service in order to be modified.  That is, it is
+                 the responsibility of the DESCRIPTION clause of the
+                 status column to specify whether the status column must
+                 not be `active' in order for the value of some other
+                 column of the same conceptual row to be modified.  If
+                 such a specification is made, affected columns may be
+                 changed by an SNMP set PDU if the RowStatus would not
+                 be equal to `active' either immediately before or after
+                 processing the PDU.  In other words, if the PDU also
+                 contained a varbind that would change the RowStatus
+                 value, the column in question may be changed if the
+                 RowStatus was not equal to `active' as the PDU was
+                 received, or if the varbind sets the status to a value
+                 other than 'active'.
+
+            Also note that whenever any elements of a row exist, the
+            RowStatus column must also exist.
+
+            To summarize the effect of having a conceptual row with a
+            status column having a SYNTAX clause value of RowStatus,
+            consider the following state diagram:
+
+                                         STATE
+              +--------------+-----------+-------------+-------------
+              |      A       |     B     |      C      |      D
+              |              |status col.|status column|
+              |status column |    is     |      is     |status column
+    ACTION    |does not exist|  notReady | notInService|  is active
+--------------+--------------+-----------+-------------+-------------
+set status    |noError    ->D|inconsist- |inconsistent-|inconsistent-
+column to     |       or     |   entValue|        Value|        Value
+createAndGo   |inconsistent- |           |             |
+              |         Value|           |             |
+--------------+--------------+-----------+-------------+-------------
+set status    |noError  see 1|inconsist- |inconsistent-|inconsistent-
+column to     |       or     |   entValue|        Value|        Value
+createAndWait |wrongValue    |           |             |
+--------------+--------------+-----------+-------------+-------------
+set status    |inconsistent- |inconsist- |noError      |noError
+column to     |         Value|   entValue|             |
+active        |              |           |             |
+              |              |     or    |             |
+              |              |           |             |
+              |              |see 2   ->D|see 8     ->D|          ->D
+--------------+--------------+-----------+-------------+-------------
+set status    |inconsistent- |inconsist- |noError      |noError   ->C
+column to     |         Value|   entValue|             |
+notInService  |              |           |             |
+              |              |     or    |             |      or
+              |              |           |             |
+              |              |see 3   ->C|          ->C|see 6
+--------------+--------------+-----------+-------------+-------------
+set status    |noError       |noError    |noError      |noError   ->A
+column to     |              |           |             |      or
+destroy       |           ->A|        ->A|          ->A|see 7
+--------------+--------------+-----------+-------------+-------------
+set any other |see 4         |noError    |noError      |see 5
+column to some|              |           |             |
+value         |              |      see 1|          ->C|          ->D
+--------------+--------------+-----------+-------------+-------------
+
+            (1) goto B or C, depending on information available to the
+            agent.
+
+            (2) if other variable bindings included in the same PDU,
+
+            provide values for all columns which are missing but
+            required, and all columns have acceptable values, then
+            return noError and goto D.
+
+            (3) if other variable bindings included in the same PDU,
+            provide legal values for all columns which are missing but
+            required, then return noError and goto C.
+
+            (4) at the discretion of the agent, the return value may be
+            either:
+
+                 inconsistentName:  because the agent does not choose to
+                 create such an instance when the corresponding
+                 RowStatus instance does not exist, or
+
+                 inconsistentValue:  if the supplied value is
+                 inconsistent with the state of some other MIB object's
+                 value, or
+
+                 noError: because the agent chooses to create the
+                 instance.
+
+            If noError is returned, then the instance of the status
+            column must also be created, and the new state is B or C,
+            depending on the information available to the agent.  If
+            inconsistentName or inconsistentValue is returned, the row
+            remains in state A.
+
+            (5) depending on the MIB definition for the column/table,
+            either noError or inconsistentValue may be returned.
+
+            (6) the return value can indicate one of the following
+            errors:
+
+                 wrongValue: because the agent does not support
+                 notInService (e.g., an agent which does not support
+                 createAndWait), or
+
+                 inconsistentValue: because the agent is unable to take
+                 the row out of service at this time, perhaps because it
+                 is in use and cannot be de-activated.
+
+            (7) the return value can indicate the following error:
+
+                 inconsistentValue: because the agent is unable to
+                 remove the row at this time, perhaps because it is in
+                 use and cannot be de-activated.
+
+            (8) the transition to D can fail, e.g., if the values of the
+            conceptual row are inconsistent, then the error code would
+            be inconsistentValue.
+
+            NOTE: Other processing of (this and other varbinds of) the
+            set request may result in a response other than noError
+            being returned, e.g., wrongValue, noCreation, etc.
+
+                              Conceptual Row Creation
+
+            There are four potential interactions when creating a
+            conceptual row:  selecting an instance-identifier which is
+            not in use; creating the conceptual row; initializing any
+            objects for which the agent does not supply a default; and,
+            making the conceptual row available for use by the managed
+            device.
+
+            Interaction 1: Selecting an Instance-Identifier
+
+            The algorithm used to select an instance-identifier varies
+            for each conceptual row.  In some cases, the instance-
+            identifier is semantically significant, e.g., the
+            destination address of a route, and a management station
+            selects the instance-identifier according to the semantics.
+
+            In other cases, the instance-identifier is used solely to
+            distinguish conceptual rows, and a management station
+            without specific knowledge of the conceptual row might
+            examine the instances present in order to determine an
+            unused instance-identifier.  (This approach may be used, but
+            it is often highly sub-optimal; however, it is also a
+            questionable practice for a naive management station to
+            attempt conceptual row creation.)
+
+            Alternately, the MIB module which defines the conceptual row
+            might provide one or more objects which provide assistance
+            in determining an unused instance-identifier.  For example,
+            if the conceptual row is indexed by an integer-value, then
+            an object having an integer-valued SYNTAX clause might be
+            defined for such a purpose, allowing a management station to
+            issue a management protocol retrieval operation.  In order
+            to avoid unnecessary collisions between competing management
+            stations, `adjacent' retrievals of this object should be
+            different.
+
+            Finally, the management station could select a pseudo-random
+            number to use as the index.  In the event that this index
+
+            was already in use and an inconsistentValue was returned in
+            response to the management protocol set operation, the
+            management station should simply select a new pseudo-random
+            number and retry the operation.
+
+            A MIB designer should choose between the two latter
+            algorithms based on the size of the table (and therefore the
+            efficiency of each algorithm).  For tables in which a large
+            number of entries are expected, it is recommended that a MIB
+            object be defined that returns an acceptable index for
+            creation.  For tables with small numbers of entries, it is
+            recommended that the latter pseudo-random index mechanism be
+            used.
+
+            Interaction 2: Creating the Conceptual Row
+
+            Once an unused instance-identifier has been selected, the
+            management station determines if it wishes to create and
+            activate the conceptual row in one transaction or in a
+            negotiated set of interactions.
+
+            Interaction 2a: Creating and Activating the Conceptual Row
+
+            The management station must first determine the column
+            requirements, i.e., it must determine those columns for
+            which it must or must not provide values.  Depending on the
+            complexity of the table and the management station's
+            knowledge of the agent's capabilities, this determination
+            can be made locally by the management station.  Alternately,
+            the management station issues a management protocol get
+            operation to examine all columns in the conceptual row that
+            it wishes to create.  In response, for each column, there
+            are three possible outcomes:
+
+                 - a value is returned, indicating that some other
+                 management station has already created this conceptual
+                 row.  We return to interaction 1.
+
+                 - the exception `noSuchInstance' is returned,
+                 indicating that the agent implements the object-type
+                 associated with this column, and that this column in at
+                 least one conceptual row would be accessible in the MIB
+                 view used by the retrieval were it to exist. For those
+                 columns to which the agent provides read-create access,
+                 the `noSuchInstance' exception tells the management
+                 station that it should supply a value for this column
+                 when the conceptual row is to be created.
+
+                 - the exception `noSuchObject' is returned, indicating
+                 that the agent does not implement the object-type
+                 associated with this column or that there is no
+                 conceptual row for which this column would be
+                 accessible in the MIB view used by the retrieval.  As
+                 such, the management station can not issue any
+                 management protocol set operations to create an
+                 instance of this column.
+
+            Once the column requirements have been determined, a
+            management protocol set operation is accordingly issued.
+            This operation also sets the new instance of the status
+            column to `createAndGo'.
+
+            When the agent processes the set operation, it verifies that
+            it has sufficient information to make the conceptual row
+            available for use by the managed device.  The information
+            available to the agent is provided by two sources:  the
+            management protocol set operation which creates the
+            conceptual row, and, implementation-specific defaults
+            supplied by the agent (note that an agent must provide
+            implementation-specific defaults for at least those objects
+            which it implements as read-only).  If there is sufficient
+            information available, then the conceptual row is created, a
+            `noError' response is returned, the status column is set to
+            `active', and no further interactions are necessary (i.e.,
+            interactions 3 and 4 are skipped).  If there is insufficient
+            information, then the conceptual row is not created, and the
+            set operation fails with an error of `inconsistentValue'.
+            On this error, the management station can issue a management
+            protocol retrieval operation to determine if this was
+            because it failed to specify a value for a required column,
+            or, because the selected instance of the status column
+            already existed.  In the latter case, we return to
+            interaction 1.  In the former case, the management station
+            can re-issue the set operation with the additional
+            information, or begin interaction 2 again using
+            `createAndWait' in order to negotiate creation of the
+            conceptual row.
+
+                                     NOTE WELL
+
+                 Regardless of the method used to determine the column
+                 requirements, it is possible that the management
+                 station might deem a column necessary when, in fact,
+                 the agent will not allow that particular columnar
+                 instance to be created or written.  In this case, the
+                 management protocol set operation will fail with an
+                 error such as `noCreation' or `notWritable'.  In this
+                 case, the management station decides whether it needs
+                 to be able to set a value for that particular columnar
+                 instance.  If not, the management station re-issues the
+                 management protocol set operation, but without setting
+                 a value for that particular columnar instance;
+                 otherwise, the management station aborts the row
+                 creation algorithm.
+
+            Interaction 2b: Negotiating the Creation of the Conceptual
+            Row
+
+            The management station issues a management protocol set
+            operation which sets the desired instance of the status
+            column to `createAndWait'.  If the agent is unwilling to
+            process a request of this sort, the set operation fails with
+            an error of `wrongValue'.  (As a consequence, such an agent
+            must be prepared to accept a single management protocol set
+            operation, i.e., interaction 2a above, containing all of the
+            columns indicated by its column requirements.)  Otherwise,
+            the conceptual row is created, a `noError' response is
+            returned, and the status column is immediately set to either
+            `notInService' or `notReady', depending on whether it has
+            sufficient information to (attempt to) make the conceptual
+            row available for use by the managed device.  If there is
+            sufficient information available, then the status column is
+            set to `notInService'; otherwise, if there is insufficient
+            information, then the status column is set to `notReady'.
+            Regardless, we proceed to interaction 3.
+
+            Interaction 3: Initializing non-defaulted Objects
+
+            The management station must now determine the column
+            requirements.  It issues a management protocol get operation
+            to examine all columns in the created conceptual row.  In
+            the response, for each column, there are three possible
+            outcomes:
+
+                 - a value is returned, indicating that the agent
+                 implements the object-type associated with this column
+                 and had sufficient information to provide a value.  For
+                 those columns to which the agent provides read-create
+                 access (and for which the agent allows their values to
+                 be changed after their creation), a value return tells
+                 the management station that it may issue additional
+                 management protocol set operations, if it desires, in
+                 order to change the value associated with this column.
+
+                 - the exception `noSuchInstance' is returned,
+                 indicating that the agent implements the object-type
+                 associated with this column, and that this column in at
+                 least one conceptual row would be accessible in the MIB
+                 view used by the retrieval were it to exist. However,
+                 the agent does not have sufficient information to
+                 provide a value, and until a value is provided, the
+                 conceptual row may not be made available for use by the
+                 managed device.  For those columns to which the agent
+                 provides read-create access, the `noSuchInstance'
+                 exception tells the management station that it must
+                 issue additional management protocol set operations, in
+                 order to provide a value associated with this column.
+
+                 - the exception `noSuchObject' is returned, indicating
+                 that the agent does not implement the object-type
+                 associated with this column or that there is no
+                 conceptual row for which this column would be
+                 accessible in the MIB view used by the retrieval.  As
+                 such, the management station can not issue any
+                 management protocol set operations to create an
+                 instance of this column.
+
+            If the value associated with the status column is
+            `notReady', then the management station must first deal with
+            all `noSuchInstance' columns, if any.  Having done so, the
+            value of the status column becomes `notInService', and we
+            proceed to interaction 4.
+
+            Interaction 4: Making the Conceptual Row Available
+
+            Once the management station is satisfied with the values
+            associated with the columns of the conceptual row, it issues
+            a management protocol set operation to set the status column
+            to `active'.  If the agent has sufficient information to
+            make the conceptual row available for use by the managed
+            device, the management protocol set operation succeeds (a
+            `noError' response is returned).  Otherwise, the management
+            protocol set operation fails with an error of
+            `inconsistentValue'.
+
+                                     NOTE WELL
+
+                 A conceptual row having a status column with value
+                 `notInService' or `notReady' is unavailable to the
+                 managed device.  As such, it is possible for the
+                 managed device to create its own instances during the
+                 time between the management protocol set operation
+                 which sets the status column to `createAndWait' and the
+                 management protocol set operation which sets the status
+                 column to `active'.  In this case, when the management
+                 protocol set operation is issued to set the status
+                 column to `active', the values held in the agent
+                 supersede those used by the managed device.
+
+            If the management station is prevented from setting the
+            status column to `active' (e.g., due to management station
+            or network failure) the conceptual row will be left in the
+            `notInService' or `notReady' state, consuming resources
+            indefinitely.  The agent must detect conceptual rows that
+            have been in either state for an abnormally long period of
+            time and remove them.  It is the responsibility of the
+            DESCRIPTION clause of the status column to indicate what an
+            abnormally long period of time would be.  This period of
+            time should be long enough to allow for human response time
+            (including `think time') between the creation of the
+            conceptual row and the setting of the status to `active'.
+            In the absence of such information in the DESCRIPTION
+            clause, it is suggested that this period be approximately 5
+            minutes in length.  This removal action applies not only to
+            newly-created rows, but also to previously active rows which
+            are set to, and left in, the notInService state for a
+            prolonged period exceeding that which is considered normal
+            for such a conceptual row.
+
+                             Conceptual Row Suspension
+
+            When a conceptual row is `active', the management station
+            may issue a management protocol set operation which sets the
+            instance of the status column to `notInService'.  If the
+            agent is unwilling to do so, the set operation fails with an
+            error of `wrongValue' or `inconsistentValue'.  Otherwise,
+            the conceptual row is taken out of service, and a `noError'
+            response is returned.  It is the responsibility of the
+            DESCRIPTION clause of the status column to indicate under
+            what circumstances the status column should be taken out of
+            service (e.g., in order for the value of some other column
+            of the same conceptual row to be modified).
+
+                              Conceptual Row Deletion
+
+            For deletion of conceptual rows, a management protocol set
+            operation is issued which sets the instance of the status
+            column to `destroy'.  This request may be made regardless of
+            the current value of the status column (e.g., it is possible
+            to delete conceptual rows which are either `notReady',
+            `notInService' or `active'.)  If the operation succeeds,
+            then all instances associated with the conceptual row are
+            immediately removed."
+    SYNTAX       INTEGER {
+                     -- the following two values are states:
+                     -- these values may be read or written
+                     active(1),
+                     notInService(2),
+
+                     -- the following value is a state:
+                     -- this value may be read, but not written
+                     notReady(3),
+
+                     -- the following three values are
+                     -- actions: these values may be written,
+                     --   but are never read
+                     createAndGo(4),
+                     createAndWait(5),
+                     destroy(6)
+                 }
+
+TimeStamp ::= TEXTUAL-CONVENTION
+    STATUS       current
+    DESCRIPTION
+            "The value of the sysUpTime object at which a specific
+            occurrence happened.  The specific occurrence must be
+
+            defined in the description of any object defined using this
+            type.
+
+            If sysUpTime is reset to zero as a result of a re-
+            initialization of the network management (sub)system, then
+            the values of all TimeStamp objects are also reset.
+            However, after approximately 497 days without a re-
+            initialization, the sysUpTime object will reach 2^^32-1 and
+            then increment around to zero; in this case, existing values
+            of TimeStamp objects do not change.  This can lead to
+            ambiguities in the value of TimeStamp objects."
+    SYNTAX       TimeTicks
+
+TimeInterval ::= TEXTUAL-CONVENTION
+    STATUS       current
+    DESCRIPTION
+            "A period of time, measured in units of 0.01 seconds."
+    SYNTAX       INTEGER (0..2147483647)
+
+DateAndTime ::= TEXTUAL-CONVENTION
+    DISPLAY-HINT "2d-1d-1d,1d:1d:1d.1d,1a1d:1d"
+    STATUS       current
+    DESCRIPTION
+            "A date-time specification.
+
+            field  octets  contents                  range
+            -----  ------  --------                  -----
+              1      1-2   year*                     0..65536
+              2       3    month                     1..12
+              3       4    day                       1..31
+              4       5    hour                      0..23
+              5       6    minutes                   0..59
+              6       7    seconds                   0..60
+                           (use 60 for leap-second)
+              7       8    deci-seconds              0..9
+              8       9    direction from UTC        '+' / '-'
+              9      10    hours from UTC*           0..13
+             10      11    minutes from UTC          0..59
+
+            * Notes:
+            - the value of year is in network-byte order
+            - daylight saving time in New Zealand is +13
+
+            For example, Tuesday May 26, 1992 at 1:30:15 PM EDT would be
+            displayed as:
+
+                             1992-5-26,13:30:15.0,-4:0
+
+            Note that if only local time is known, then timezone
+            information (fields 8-10) is not present."
+    SYNTAX       OCTET STRING (SIZE (8 | 11))
+
+StorageType ::= TEXTUAL-CONVENTION
+    STATUS       current
+    DESCRIPTION
+            "Describes the memory realization of a conceptual row.  A
+            row which is volatile(2) is lost upon reboot.  A row which
+            is either nonVolatile(3), permanent(4) or readOnly(5), is
+            backed up by stable storage.  A row which is permanent(4)
+            can be changed but not deleted.  A row which is readOnly(5)
+            cannot be changed nor deleted.
+
+            If the value of an object with this syntax is either
+            permanent(4) or readOnly(5), it cannot be written.
+            Conversely, if the value is either other(1), volatile(2) or
+            nonVolatile(3), it cannot be modified to be permanent(4) or
+            readOnly(5).  (All illegal modifications result in a
+            'wrongValue' error.)
+
+            Every usage of this textual convention is required to
+            specify the columnar objects which a permanent(4) row must
+            at a minimum allow to be writable."
+    SYNTAX       INTEGER {
+                     other(1),       -- eh?
+                     volatile(2),    -- e.g., in RAM
+                     nonVolatile(3), -- e.g., in NVRAM
+                     permanent(4),   -- e.g., partially in ROM
+                     readOnly(5)     -- e.g., completely in ROM
+                 }
+
+TDomain ::= TEXTUAL-CONVENTION
+    STATUS       current
+    DESCRIPTION
+          "Denotes a kind of transport service.
+
+          Some possible values, such as snmpUDPDomain, are defined in
+          the SNMPv2-TM MIB module.  Other possible values are defined
+          in other MIB modules."
+    REFERENCE    "The SNMPv2-TM MIB module is defined in RFC 1906."
+    SYNTAX       OBJECT IDENTIFIER
+
+TAddress ::= TEXTUAL-CONVENTION
+    STATUS       current
+    DESCRIPTION
+          "Denotes a transport service address.
+
+          A TAddress value is always interpreted within the context of a
+          TDomain value.  Thus, each definition of a TDomain value must
+          be accompanied by a definition of a textual convention for use
+          with that TDomain.  Some possible textual conventions, such as
+          SnmpUDPAddress for snmpUDPDomain, are defined in the SNMPv2-TM
+          MIB module.  Other possible textual conventions are defined in
+          other MIB modules."
+    REFERENCE    "The SNMPv2-TM MIB module is defined in RFC 1906."
+    SYNTAX       OCTET STRING (SIZE (1..255))
+
+END
+
+