test: certify mac_unit/mac8 datapath (C.1), confirm real N_INPUTS=0 guard gap
mac_unit.v: exhaustive unit test (all 65536 (x,w) combinations at DATA_WIDTH=8, plus 486 boundary acc_in vectors) against an independent Python oracle (tools/validation/mac_oracle.py). 66022/66022 match, 0 reserves. mac8.v: first-ever dedicated unit test (previously only indirect coverage at whatever single PARALLEL neuron_parallel_tb.v happens to use). Verified at PARALLEL=2/8/32 with structural adversarial vectors (catches swapped/duplicated tree wiring), 300 random INT8 pairs per PARALLEL with realistic accumulating acc_in, and worst-case magnitude adversarial vectors. 939/939 match. Confirms BUG-002 (N_INPUTS=0 bypasses the N_INPUTS%PARALLEL elaboration guard) is real, on both simulation and real Yosys synthesis -- root cause: [DATA_WIDTH*N_INPUTS-1:0] becomes [-1:0] for N_INPUTS=0, which both tools treat as a genuine 2-bit undriven vector rather than collapsing to zero width. Includes a documented self-correction: the first verification attempt produced a false "hang" using an invalid one-shot late check of a single-cycle done pulse -- caught by reproducing the same false result on a known-good sanity config before trusting it. Full regression re-run clean after adding 3 new testbenches: 36/36 real tests pass. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013xXuuRUWZScuo1DeYJxs3v
This commit is contained in:
+42
@@ -1194,3 +1194,45 @@ integrazione nel top level (F5), verifica consolidata e misure reali (F6).
|
||||
modulo→testbench, discrepanze doc↔codice), `docs/validation/bugs.md` (registro aperto).
|
||||
- **Prossimo passo**: aspetti C.1–C.14 uno alla volta, ciascuno con test avversari e oracolo
|
||||
Python indipendente, verdetto tracciato in un capitolo dedicato.
|
||||
|
||||
## Campagna di ri-certificazione — C.1: Datapath aritmetico (2026-09-04)
|
||||
|
||||
- **`tools/validation/mac_oracle.py`**: oracolo Python indipendente per `mac_unit.v`/
|
||||
`mac8.v` (complemento a due da zero, non trascritto dall'RTL), auto-verificato contro 6
|
||||
casi derivati a mano prima dell'uso.
|
||||
- **`mac_unit.v` certificato ESAUSTIVAMENTE**: `sim/mac_unit_tb.v`, tutte le 65536
|
||||
combinazioni possibili di `(x,w)` a DATA_WIDTH=8 (non un campione) + 486 vettori a
|
||||
`acc_in` di bordo per il contratto di porta completo. **66022/66022 PASS, 0 mismatch.**
|
||||
- **`mac8.v` certificato** (mai testato isolatamente prima, Fase 0 §0.4): `sim/mac8_tree_tb.v`
|
||||
a PARALLEL=2/8/32, 939 vettori — pattern strutturale avversariale (somma nota
|
||||
`PARALLEL×(PARALLEL+1)/2`, cattura cablaggi scambiati), 300 coppie INT8 casuali/PARALLEL
|
||||
con `acc_in` realistico (accumulatore multi-gruppo, non 0 come si potrebbe assumere), e
|
||||
casi avversariali di grandezza massima del prodotto. **939/939 PASS, 0 mismatch.**
|
||||
- **BUG-002 (guard `N_INPUTS%PARALLEL` non copre `N_INPUTS=0`) confermato reale**, con una
|
||||
narrativa di autocorrezione degna di nota: il primo tentativo di verifica ha riportato
|
||||
"hang" con un metodo di test **invalido** (controllo tardivo e singolo di `done`, che è un
|
||||
impulso di un solo ciclo — lo stesso falso "hang" si riproduceva anche su una config
|
||||
nota-buona, N_INPUTS=2/PARALLEL=2, il che ha smascherato il problema). Corretto il metodo
|
||||
(osservare `done` ogni ciclo), riverificata la config nota-buona (ora PASS
|
||||
correttamente), e **confermato** il sintomo reale per N_INPUTS=0: `start` viene accettato
|
||||
ma `busy` non si alza mai, `done` non pulsa mai in 200 cicli — un sintomo diverso da
|
||||
quello descritto nel commento originale del guard ("busy alto per sempre"). **Causa
|
||||
radice trovata**: `x_bus`/`w_bus` dichiarati `[-1:0]` per N_INPUTS=0 non collassano a
|
||||
larghezza zero — sia Icarus sia Yosys li trattano come vettori reali a 2 bit non
|
||||
pilotati (confermato dai warning di Yosys stesso). **Confermato su ENTRAMBI i piani di
|
||||
verifica** (§A.4): sintesi reale Yosys elabora la config con 0 problemi CHECK, stesso
|
||||
silenzio del simulatore. Creato test di regressione permanente
|
||||
(`sim/neuron_parallel_bug002_n_inputs_zero_tb.v`) che documenta il sintomo attuale come
|
||||
APERTO, non come comportamento accettabile. Impatto pratico basso (N_INPUTS è fissato in
|
||||
sintesi, non raggiungibile via SPI a runtime) ma il buco nella protezione è reale, non
|
||||
teorico.
|
||||
- **Regressione completa ri-eseguita** con `tools/run_regression.py` dopo l'aggiunta dei 3
|
||||
nuovi testbench: **36/36 test reali PASS**, 0 regressioni, 1 benchmark invariato.
|
||||
- **Deliverable**: `docs/validation/01-datapath.md` (verdetto per sotto-aspetto: mac_unit
|
||||
CERTIFICATO, mac8 CERTIFICATO, saturazione CERTIFICATO CON RISERVA — test pre-esistente
|
||||
riverificato, guard NON CERTIFICATO per N_INPUTS=0), `docs/validation/bugs.md` aggiornato
|
||||
con evidenza completa per BUG-002.
|
||||
- **Prossimo passo**: C.2 (larghezza runtime `n_inputs_real`/`n_neurons_real`) — nota:
|
||||
l'header di `neuron_parallel.v` dichiara esplicitamente che `n_inputs_real=0` riproduce lo
|
||||
stesso rischio di BUG-002 "per responsabilità del chiamante" — da verificare se questo
|
||||
claim tiene, con lo stesso rigore.
|
||||
|
||||
@@ -0,0 +1,162 @@
|
||||
# C.1 — Datapath aritmetico (`mac_unit`, `mac8`, `neuron_parallel`)
|
||||
|
||||
Data: 2026-09-04. Chiude i due punti aperti in Fase 0 (§0.4 copertura `mac_unit`/`mac8`,
|
||||
§0.6 gap del guard `N_INPUTS=0`).
|
||||
|
||||
---
|
||||
|
||||
## 1.1 `mac_unit.v` — CERTIFICATO
|
||||
|
||||
**Metodo**: test esaustivo, non a campione. `mac_unit` è puramente combinazionale
|
||||
(`x`, `w`, `acc_in` → `acc_out = acc_in + sign_extend(x*w)`), a `DATA_WIDTH=8` esistono
|
||||
esattamente 256×256=65536 combinazioni possibili di `(x,w)` — tutte esercitate, non un
|
||||
sottoinsieme casuale.
|
||||
|
||||
**Oracolo**: `tools/validation/mac_oracle.py`, reimplementazione Python indipendente
|
||||
dell'aritmetica complemento-a-due da zero (non trascritta dall'RTL) — auto-verificata contro
|
||||
6 casi derivati a mano prima di essere usata come oracolo per chiunque altro
|
||||
(`python3 tools/validation/mac_oracle.py` → `ALL SELF-CHECKS PASSED`).
|
||||
|
||||
**Test**: `sim/mac_unit_tb.v`, due batterie:
|
||||
1. Le 65536 combinazioni esaustive di `(x,w)`, `acc_in=0` (l'uso reale in `mac8.v`, dove
|
||||
`acc_in` è cablato a 0 per ogni istanza `mac_unit`).
|
||||
2. 486 vettori a `acc_in` diverso da zero — inclusi i 4 valori limite (`0`, `±2³¹`, `±2³⁰`) e
|
||||
i 4 angoli di grandezza massima del prodotto (`±128×±128`, `±128×∓127`) — a copertura del
|
||||
**contratto di porta completo** del modulo, non solo di come viene usato oggi.
|
||||
|
||||
```
|
||||
$ iverilog -g2012 -o /tmp/mac_unit_tb.out rtl/mac_unit.v sim/mac_unit_tb.v && vvp /tmp/mac_unit_tb.out
|
||||
ALL TESTS PASSED (66022 vectors, 0 mismatches against independent Python oracle)
|
||||
```
|
||||
|
||||
**Verdetto: CERTIFICATO.** 66022/66022 vettori, 0 mismatch, copertura esaustiva sullo
|
||||
spazio degli input a INT8. Nessuna riserva.
|
||||
|
||||
---
|
||||
|
||||
## 1.2 `mac8.v` — adder tree bilanciato — CERTIFICATO
|
||||
|
||||
**Metodo**: `mac8.v` non aveva alcun test unitario dedicato (Fase 0, §0.4) — solo copertura
|
||||
indiretta a un singolo `PARALLEL` tramite `neuron_parallel_tb.v`. Un bug di cablaggio
|
||||
dell'albero (linea scambiata/duplicata/persa) a un `PARALLEL` diverso da quello usato dai
|
||||
test esistenti sarebbe passato inosservato.
|
||||
|
||||
**Test**: `sim/mac8_tree_tb.v`, verificato a **PARALLEL=2, 8 (il default/omonimo del modulo)
|
||||
e 32** — gli estremi realmente usati nei benchmark del progetto
|
||||
(`docs/FPGA-Neural-Datapatch-Benchmark.md`), non un solo valore a piacere. Tre famiglie per
|
||||
ciascun `PARALLEL` (939 vettori totali):
|
||||
1. **Strutturale/avversariale**: `x=[1..PARALLEL]`, `w=1`, ordine sia ascendente che
|
||||
invertito. La somma attesa (`PARALLEL×(PARALLEL+1)/2`) torna corretta **solo se ogni
|
||||
linea è sommata esattamente una volta** — un modo efficace di scoprire un cablaggio
|
||||
scambiato che un test casuale potrebbe non notare (uno scambio+una linea persa possono
|
||||
annullarsi per caso su input casuali, mai su questo pattern esatto).
|
||||
2. **300 coppie INT8 casuali per `PARALLEL`**, `acc_in` variato su un range realistico —
|
||||
riproduce il collegamento reale (`neuron_parallel.v`: `mac8.acc_in = acc`, l'accumulatore
|
||||
che cresce gruppo dopo gruppo, **non** cablato a 0 come si potrebbe erroneamente
|
||||
assumere).
|
||||
3. **Avversariale**: tutte le linee al prodotto di grandezza massima (`±16384`/`∓16256`)
|
||||
simultaneamente, con `acc_in` ai bordi di `ACC_WIDTH=32` — conferma che l'eventuale
|
||||
wraparound complemento-a-due dell'albero è ben definito (non X/indefinito), pur essendo
|
||||
una magnitudine ben oltre quanto un layer reale (`N_INPUTS≤256`) accumulerebbe mai
|
||||
(dichiarato, non presentato come condizione operativa reale).
|
||||
|
||||
```
|
||||
$ iverilog -g2012 -o /tmp/mac8_tb.out rtl/mac_unit.v rtl/mac8.v sim/mac8_tree_tb.v && vvp /tmp/mac8_tb.out
|
||||
ALL TESTS PASSED (939 vectors across PARALLEL=2/8/32, 0 mismatches against independent Python oracle)
|
||||
```
|
||||
|
||||
**Verdetto: CERTIFICATO** a PARALLEL=2/8/32. **Riserva dichiarata**: non verificato ad ogni
|
||||
altro `PARALLEL` usato nel progetto (es. 4, 16) — il rischio residuo è basso (la costruzione
|
||||
dell'albero è generica via `$clog2(PARALLEL)`, identica per ogni potenza di due, e 3 valori
|
||||
distinti già la esercitano a profondità diverse: 1, 3, 5 livelli), ma non è "esaustivo su
|
||||
tutti i PARALLEL" nello stesso senso in cui §1.1 lo è su `(x,w)`.
|
||||
|
||||
---
|
||||
|
||||
## 1.3 Saturazione INT8 / attivazione — CERTIFICATO CON RISERVA (test pre-esistente, riverificato)
|
||||
|
||||
`sim/neuron_parallel_saturation_bounds_tb.v` (già presente prima di questa campagna) copre
|
||||
gli 8 valori di bordo dichiarati nel task di timing-closure (126, 127, 128, 129, -128, -129,
|
||||
-1, 0) per `ACT_NONE` e `ACT_RELU`, con oracolo **calcolato a mano** (non derivato dal
|
||||
codice) — verificato bit-esatto per confermare che la riscrittura a bit-test delle
|
||||
comparazioni di saturazione (da confronti aritmetici `>127`/`<-128` a riduzioni AND/OR)
|
||||
durante la timing closure non ha alterato il comportamento.
|
||||
|
||||
Ri-eseguito da zero in questa campagna (non solo citato dal WORKLOG): **PASS**, invariato.
|
||||
|
||||
**Riserva**: il test usa `N_INPUTS=PARALLEL=1` (una sola corsia MAC), per raggiungere ogni
|
||||
valore di bordo esattamente con una singola tripla `(x,w,bias)` scelta a mano. Non esercita
|
||||
l'interazione tra l'albero a più corsie (§1.2, ora certificato separatamente) e la
|
||||
saturazione finale nello stesso run — cioè non c'è un test che porti un accumulo
|
||||
multi-gruppo/multi-corsia esattamente a uno di questi bordi. Rischio basso (la saturazione
|
||||
opera sul valore finale di `acc+bias`, indipendentemente da come quel valore è stato
|
||||
costruito), ma non è stato verificato esplicitamente in questa campagna.
|
||||
|
||||
---
|
||||
|
||||
## 1.4 Guard `N_INPUTS % PARALLEL != 0` — CERTIFICATO CON RISERVA GRAVE (BUG-002 confermato)
|
||||
|
||||
### Cosa funziona (già coperto, riverificato)
|
||||
|
||||
`sim/neuron_parallel_guard_negative_{nonmultiple,degenerate}_tb.v`: due test negativi che
|
||||
provano che il guard blocca l'elaborazione per `N_INPUTS % PARALLEL != 0` (incl. il caso
|
||||
degenere "PARALLEL > N_INPUTS" per N_INPUTS≥1, dove il resto della divisione coincide con
|
||||
N_INPUTS stesso, quindi è comunque non-zero). Rieseguiti da zero: **entrambi falliscono a
|
||||
compilare come previsto** — è il PASS.
|
||||
|
||||
### BUG-002 — confermato reale, su ENTRAMBI i piani di verifica (non solo ipotizzato)
|
||||
|
||||
**Il finding aperto in Fase 0 §0.6 era corretto nell'ipotesi ma la mia prima verifica
|
||||
empirica era sbagliata per un bug nella MIA testbench** — narrativa completa perché è
|
||||
rilevante per la fiducia nel resto della campagna:
|
||||
|
||||
1. Primo tentativo: un test con `repeat(50) @(posedge clk); if (done) ... else "HANG"` ha
|
||||
riportato "hang" per `N_INPUTS=0`. **Metodologicamente invalido**: `done` è un impulso di
|
||||
**un solo ciclo** (`rtl/neuron_parallel.v:207/227`, `done <= 0` incondizionato subito dopo
|
||||
averlo asserito), quindi un controllo tardivo e singolo di `done` mostra sempre 0 **anche
|
||||
quando tutto funziona correttamente** — confermato riproducendo lo stesso falso "HANG" su
|
||||
una config nota-buona (`N_INPUTS=2, PARALLEL=2`, valida, mai dovrebbe fallire).
|
||||
2. Corretto il metodo: osservare `done` **ogni ciclo** (non un controllo singolo tardivo).
|
||||
Sulla config nota-buona, ora **PASS correttamente** (`done` pulsa al ciclo giusto, `y=5`
|
||||
coerente col calcolo a mano). Sul caso `N_INPUTS=0`: **confermato, `busy` non si alza mai
|
||||
e `done` non pulsa mai in 200 cicli** — non è più un'ipotesi, è un fatto osservato con un
|
||||
metodo verificato corretto prima su un caso di controllo.
|
||||
3. **Causa architetturale trovata** (non solo il sintomo): `x_bus`/`w_bus` sono dichiarati
|
||||
`[DATA_WIDTH*N_INPUTS-1:0]` — per `N_INPUTS=0` questo è `[-1:0]`, che **non collassa a
|
||||
larghezza zero**: sia Icarus che Yosys lo trattano come un vettore a **2 bit** reali
|
||||
(larghezza = |MSB-LSB|+1 = |-1-0|+1 = 2), lasciato **non pilotato**. Confermato dai
|
||||
warning di Yosys stesso: `Wire ...x_bus[1] is used but has no driver` (×2 per x_bus/w_bus).
|
||||
4. **Confermato anche in sintesi reale**, non solo in simulazione (§A.4): `yosys synth_ecp5`
|
||||
elabora `neuron_parallel #(.N_INPUTS(0), .PARALLEL(2))` con **0 problemi segnalati** dal
|
||||
CHECK pass — lo stesso silenzio che permette al guard di non scattare in simulazione si
|
||||
ripete identico sul secondo piano di verifica indipendente.
|
||||
|
||||
**Test di regressione permanente**: `sim/neuron_parallel_bug002_n_inputs_zero_tb.v` —
|
||||
riproduce il sintomo esatto in modo deterministico, PASSA oggi confermando che il bug è
|
||||
ancora presente (non è un'asserzione che questo comportamento sia desiderabile — il file
|
||||
stesso lo dichiara esplicitamente in testa, con l'istruzione di riscriverlo, non
|
||||
allentarlo, quando il bug verrà corretto).
|
||||
|
||||
**Verdetto: NON CERTIFICATO per `N_INPUTS=0`.** Il guard copre correttamente ogni
|
||||
combinazione `N_INPUTS≥1` non multipla di `PARALLEL` (incl. il caso degenere
|
||||
`PARALLEL>N_INPUTS≥1`), ma **non copre `N_INPUTS=0`**, che produce un `start` silenziosamente
|
||||
inefficace (non l'hang "busy alto per sempre" descritto nel commento originale del guard —
|
||||
un sintomo diverso, osservato per la prima volta in questa campagna) su entrambi i piani di
|
||||
verifica. Vedi `docs/validation/bugs.md` BUG-002 per severità e fix proposto.
|
||||
|
||||
---
|
||||
|
||||
## 1.5 Verdetto complessivo C.1
|
||||
|
||||
| Sotto-aspetto | Verdetto |
|
||||
|---|---|
|
||||
| `mac_unit.v` | **CERTIFICATO** (esaustivo, 66022 vettori, 0 riserve) |
|
||||
| `mac8.v` (adder tree) | **CERTIFICATO** (939 vettori, PARALLEL=2/8/32; riserva: non esaustivo su ogni PARALLEL) |
|
||||
| Saturazione/attivazione | **CERTIFICATO CON RISERVA** (test pre-esistente valido; riserva: non testato in combinazione con l'albero multi-corsia) |
|
||||
| Guard `N_INPUTS%PARALLEL` | **NON CERTIFICATO per N_INPUTS=0** — BUG-002 confermato su sim + sintesi reale |
|
||||
|
||||
**Il datapath aritmetico di base (moltiplicazione, estensione di segno, albero di somma) è
|
||||
solido** — certificato esaustivamente dove possibile. **Il guard di protezione attorno ad
|
||||
esso ha un buco reale e confermato**, non un rischio teorico: `N_INPUTS=0` produce hardware
|
||||
sintetizzabile (0 errori Yosys) che silenziosamente non fa nulla quando l'host tenta di
|
||||
avviarlo.
|
||||
+28
-15
@@ -24,22 +24,35 @@ funzionale pratico), **INFO** (non un bug: gap di copertura, ambiguità document
|
||||
- **Stato**: aperto, non corretto per policy §E (analisi separata dalla correzione). Azione
|
||||
proposta: rimuovere il file o aggiornarlo, decisione da confermare con l'utente.
|
||||
|
||||
### BUG-002 (da classificare, indagine formale in C.1) — guard `N_INPUTS % PARALLEL` non copre `N_INPUTS=0`
|
||||
### BUG-002 (MEDIA, CONFERMATO su sim + sintesi reale) — `N_INPUTS=0` bypassa il guard, `start` viene silenziosamente ignorato
|
||||
|
||||
- **Sintomo potenziale**: se `N_INPUTS=0`, il guard elaboration-time in
|
||||
`rtl/neuron_parallel.v:71` (`if (N_INPUTS % PARALLEL != 0)`) non scatta (`0 % PARALLEL ==
|
||||
0` per ogni `PARALLEL`), ma `GROUPS = N_INPUTS / PARALLEL = 0` — la stessa condizione di
|
||||
hang (`group_index == GROUPS-1` mai soddisfatta) che il guard dichiara di prevenire nel
|
||||
proprio commento (righe 55-58).
|
||||
- **Causa radice (ipotesi, non ancora confermata su hardware simulato)**: il guard controlla
|
||||
solo la divisibilità, non `N_INPUTS > 0` esplicitamente.
|
||||
- **Evidenza**: lettura diretta di `rtl/neuron_parallel.v:55-73` — vedi
|
||||
`docs/validation/00-inventario.md` §0.6 per il testo esatto.
|
||||
- **Stato**: **APERTO, non ancora verificato con un test reale**. Non è ancora chiaro se
|
||||
`N_INPUTS=0` sia una configurazione raggiungibile nella pratica (nessun layer con zero
|
||||
ingressi ha senso a livello di sistema) — da chiudere in C.1 con un test avversariale
|
||||
dedicato e un oracolo indipendente, prima di classificarlo come bug vero o come rischio
|
||||
teorico non rilevante.
|
||||
- **Sintomo confermato** (non più un'ipotesi — vedi `docs/validation/01-datapath.md` §1.4 per
|
||||
la narrativa completa, incl. un falso positivo iniziale nella mia stessa metodologia di
|
||||
test, corretto e ridocumentato per trasparenza): con
|
||||
`neuron_parallel #(.N_INPUTS(0), .PARALLEL(P))`, il guard elaboration-time
|
||||
(`rtl/neuron_parallel.v:71`, `if (N_INPUTS % PARALLEL != 0)`) **non scatta** (`0 % P == 0`
|
||||
per ogni `P`), il modulo **elabora con successo** (sia in simulazione Icarus sia in sintesi
|
||||
reale Yosys, 0 problemi CHECK). A runtime: `start` viene accettato ma **`busy` non si alza
|
||||
mai e `done` non pulsa mai** — non l'hang "busy resta alto per sempre" descritto nel
|
||||
commento originale del guard (righe 55-58), un sintomo diverso, osservato per la prima
|
||||
volta in questa campagna.
|
||||
- **Causa radice, confermata (non più ipotesi)**: `x_bus`/`w_bus` sono dichiarati
|
||||
`[DATA_WIDTH*N_INPUTS-1:0]`, che per `N_INPUTS=0` diventa `[-1:0]` — un range che **non
|
||||
collassa a larghezza zero**: sia Icarus sia Yosys lo trattano come un vettore reale a
|
||||
**2 bit** (larghezza = |MSB-LSB|+1 = 2), lasciato non pilotato. Confermato dai warning di
|
||||
Yosys: `Wire ...x_bus[1] is used but has no driver` (×2, per x_bus e w_bus).
|
||||
- **Evidenza**:
|
||||
- `iverilog -g2012 -o /tmp/n0proper.out rtl/neuron_parallel.v rtl/mac8.v rtl/mac_unit.v sim/neuron_parallel_bug002_n_inputs_zero_tb.v && vvp /tmp/n0proper.out` → conferma il sintomo, ogni volta.
|
||||
- `yosys -p "synth_ecp5 -json /tmp/n0.json -top n0_synth_wrap" rtl/neuron_parallel.v rtl/mac8.v rtl/mac_unit.v <wrapper>` → **0 problemi CHECK**, 4 warning "no driver" su x_bus/w_bus[1:0].
|
||||
- Test di regressione permanente: `sim/neuron_parallel_bug002_n_inputs_zero_tb.v`.
|
||||
- **Impatto pratico**: `N_INPUTS` è un parametro Verilog fissato in fase di sintesi (non un
|
||||
registro configurabile via SPI a runtime) — per essere raggiunto, qualcuno deve
|
||||
deliberatamente istanziare il modulo con `N_INPUTS=0`, cosa che non ha senso semantico per
|
||||
un layer reale. Rischio quindi basso in pratica (nessun percorso runtime/host-controllato
|
||||
può innescarlo), ma è un buco reale e confermato nella protezione, non solo teorico.
|
||||
- **Fix proposto** (non applicato — analisi separata dalla correzione, §E del prompt di
|
||||
certificazione): estendere il guard a `if (N_INPUTS == 0 || N_INPUTS % PARALLEL != 0)`.
|
||||
- **Stato**: **APERTO, confermato, non corretto.**
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
$date
|
||||
Fri Sep 4 13:22:49 2026
|
||||
Fri Sep 4 13:40:12 2026
|
||||
$end
|
||||
$version
|
||||
Icarus Verilog
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
$date
|
||||
Fri Sep 4 13:22:53 2026
|
||||
Fri Sep 4 13:40:16 2026
|
||||
$end
|
||||
$version
|
||||
Icarus Verilog
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
$date
|
||||
Fri Sep 4 13:22:54 2026
|
||||
Fri Sep 4 13:40:17 2026
|
||||
$end
|
||||
$version
|
||||
Icarus Verilog
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
$date
|
||||
Fri Sep 4 13:22:54 2026
|
||||
Fri Sep 4 13:40:17 2026
|
||||
$end
|
||||
$version
|
||||
Icarus Verilog
|
||||
|
||||
@@ -0,0 +1,165 @@
|
||||
`timescale 1ns/1ps
|
||||
|
||||
// ================================================================
|
||||
// MAC8 TESTBENCH -- balanced binary adder tree (certification
|
||||
// campaign, aspect C.1)
|
||||
//
|
||||
// rtl/mac8.v had NO dedicated unit-level testbench before this
|
||||
// (docs/validation/00-inventario.md §0.4/§0.5): only indirect coverage
|
||||
// through neuron_parallel_tb.v, always at whatever single PARALLEL that
|
||||
// testbench happens to use. A tree-wiring bug (swapped/duplicated/
|
||||
// dropped lane) at a DIFFERENT PARALLEL than what neuron_parallel_tb.v
|
||||
// exercises would go completely undetected.
|
||||
//
|
||||
// Checked at PARALLEL=2, 8 (the module's own default/namesake), and 32
|
||||
// -- the extremes actually used across this project's own benchmarks
|
||||
// (docs/FPGA-Neural-Datapatch-Benchmark.md), not just the one value a
|
||||
// single higher-level test happens to pick.
|
||||
//
|
||||
// Oracle: tools/validation/mac_oracle.py's mac8_full() -- an
|
||||
// independent Python model (two's complement tree-sum from first
|
||||
// principles). Vectors pre-generated per PARALLEL
|
||||
// (tools/validation/mac8_tree_p{2,8,32}.hex), three families each:
|
||||
// 1. Structural (x=[1..PARALLEL], w=1, ascending AND reversed lane
|
||||
// order): the expected sum PARALLEL*(PARALLEL+1)/2 only comes out
|
||||
// right if every lane is summed EXACTLY once -- catches a
|
||||
// swapped/duplicated/dropped tree input that random testing could
|
||||
// miss by chance (a duplicate+drop pair can cancel out on some
|
||||
// random inputs but never on this exact structural pattern).
|
||||
// 2. 300 realistic random INT8 (x,w) pairs per PARALLEL with a
|
||||
// boundary-swept acc_in -- matches the REAL wiring in
|
||||
// neuron_parallel.v (acc_in = running accumulator across
|
||||
// previous MAC groups, NOT hardwired to 0).
|
||||
// 3. Adversarial worst-case product magnitude
|
||||
// (x=w=-128 -> +16384/lane, or x=-128,w=127 -> -16256/lane) at
|
||||
// every lane simultaneously, with boundary acc_in near the
|
||||
// ACC_WIDTH=32 edge -- confirms the tree's wraparound behavior is
|
||||
// well-defined two's complement, not X/undefined, even though
|
||||
// this magnitude is far beyond what any realistic N_INPUTS<=256
|
||||
// layer would ever accumulate to (documented, not asserted as a
|
||||
// real operating condition).
|
||||
// ================================================================
|
||||
|
||||
module tb;
|
||||
|
||||
localparam DATA_WIDTH = 8;
|
||||
localparam ACC_WIDTH = 32;
|
||||
|
||||
integer total_errors;
|
||||
integer total_checked;
|
||||
|
||||
// ------------------------------------------------------------
|
||||
// PARALLEL = 2
|
||||
// ------------------------------------------------------------
|
||||
localparam P2 = 2;
|
||||
localparam W2 = 16*P2 + 64;
|
||||
reg [W2-1:0] vec2 [0:312];
|
||||
reg signed [DATA_WIDTH*P2-1:0] x_bus2, w_bus2;
|
||||
reg signed [ACC_WIDTH-1:0] acc_in2;
|
||||
wire signed [ACC_WIDTH-1:0] acc_out2;
|
||||
reg signed [ACC_WIDTH-1:0] expected2;
|
||||
integer li2;
|
||||
|
||||
mac8 #(.DATA_WIDTH(DATA_WIDTH), .ACC_WIDTH(ACC_WIDTH), .PARALLEL(P2)) dut2 (
|
||||
.x_bus(x_bus2), .w_bus(w_bus2), .acc_in(acc_in2), .acc_out(acc_out2)
|
||||
);
|
||||
|
||||
// ------------------------------------------------------------
|
||||
// PARALLEL = 8 (mac8's own namesake default)
|
||||
// ------------------------------------------------------------
|
||||
localparam P8 = 8;
|
||||
localparam W8 = 16*P8 + 64;
|
||||
reg [W8-1:0] vec8 [0:312];
|
||||
reg signed [DATA_WIDTH*P8-1:0] x_bus8, w_bus8;
|
||||
reg signed [ACC_WIDTH-1:0] acc_in8;
|
||||
wire signed [ACC_WIDTH-1:0] acc_out8;
|
||||
reg signed [ACC_WIDTH-1:0] expected8;
|
||||
integer li8;
|
||||
|
||||
mac8 #(.DATA_WIDTH(DATA_WIDTH), .ACC_WIDTH(ACC_WIDTH), .PARALLEL(P8)) dut8 (
|
||||
.x_bus(x_bus8), .w_bus(w_bus8), .acc_in(acc_in8), .acc_out(acc_out8)
|
||||
);
|
||||
|
||||
// ------------------------------------------------------------
|
||||
// PARALLEL = 32
|
||||
// ------------------------------------------------------------
|
||||
localparam P32 = 32;
|
||||
localparam W32 = 16*P32 + 64;
|
||||
reg [W32-1:0] vec32 [0:312];
|
||||
reg signed [DATA_WIDTH*P32-1:0] x_bus32, w_bus32;
|
||||
reg signed [ACC_WIDTH-1:0] acc_in32;
|
||||
wire signed [ACC_WIDTH-1:0] acc_out32;
|
||||
reg signed [ACC_WIDTH-1:0] expected32;
|
||||
integer li32;
|
||||
|
||||
mac8 #(.DATA_WIDTH(DATA_WIDTH), .ACC_WIDTH(ACC_WIDTH), .PARALLEL(P32)) dut32 (
|
||||
.x_bus(x_bus32), .w_bus(w_bus32), .acc_in(acc_in32), .acc_out(acc_out32)
|
||||
);
|
||||
|
||||
initial begin
|
||||
total_errors = 0;
|
||||
total_checked = 0;
|
||||
|
||||
// ---- PARALLEL = 2 ----
|
||||
$readmemh("tools/validation/mac8_tree_p2.hex", vec2);
|
||||
$display("--- PARALLEL=2: 313 vectors ---");
|
||||
for (li2 = 0; li2 < 313; li2 = li2 + 1) begin
|
||||
for (integer lane = 0; lane < P2; lane = lane + 1) begin
|
||||
x_bus2[lane*8 +: 8] = vec2[li2][W2-1-16*lane -: 8];
|
||||
w_bus2[lane*8 +: 8] = vec2[li2][W2-1-16*lane-8 -: 8];
|
||||
end
|
||||
acc_in2 = vec2[li2][63:32];
|
||||
expected2 = vec2[li2][31:0];
|
||||
#1;
|
||||
total_checked = total_checked + 1;
|
||||
if (acc_out2 !== expected2) begin
|
||||
total_errors = total_errors + 1;
|
||||
$display("MISMATCH P2 idx=%0d: got=%0d expected=%0d", li2, acc_out2, expected2);
|
||||
end
|
||||
end
|
||||
|
||||
// ---- PARALLEL = 8 ----
|
||||
$readmemh("tools/validation/mac8_tree_p8.hex", vec8);
|
||||
$display("--- PARALLEL=8: 313 vectors ---");
|
||||
for (li8 = 0; li8 < 313; li8 = li8 + 1) begin
|
||||
for (integer lane = 0; lane < P8; lane = lane + 1) begin
|
||||
x_bus8[lane*8 +: 8] = vec8[li8][W8-1-16*lane -: 8];
|
||||
w_bus8[lane*8 +: 8] = vec8[li8][W8-1-16*lane-8 -: 8];
|
||||
end
|
||||
acc_in8 = vec8[li8][63:32];
|
||||
expected8 = vec8[li8][31:0];
|
||||
#1;
|
||||
total_checked = total_checked + 1;
|
||||
if (acc_out8 !== expected8) begin
|
||||
total_errors = total_errors + 1;
|
||||
$display("MISMATCH P8 idx=%0d: got=%0d expected=%0d", li8, acc_out8, expected8);
|
||||
end
|
||||
end
|
||||
|
||||
// ---- PARALLEL = 32 ----
|
||||
$readmemh("tools/validation/mac8_tree_p32.hex", vec32);
|
||||
$display("--- PARALLEL=32: 313 vectors ---");
|
||||
for (li32 = 0; li32 < 313; li32 = li32 + 1) begin
|
||||
for (integer lane = 0; lane < P32; lane = lane + 1) begin
|
||||
x_bus32[lane*8 +: 8] = vec32[li32][W32-1-16*lane -: 8];
|
||||
w_bus32[lane*8 +: 8] = vec32[li32][W32-1-16*lane-8 -: 8];
|
||||
end
|
||||
acc_in32 = vec32[li32][63:32];
|
||||
expected32 = vec32[li32][31:0];
|
||||
#1;
|
||||
total_checked = total_checked + 1;
|
||||
if (acc_out32 !== expected32) begin
|
||||
total_errors = total_errors + 1;
|
||||
$display("MISMATCH P32 idx=%0d: got=%0d expected=%0d", li32, acc_out32, expected32);
|
||||
end
|
||||
end
|
||||
|
||||
$display("--- TOTAL: checked=%0d errors=%0d ---", total_checked, total_errors);
|
||||
if (total_errors == 0)
|
||||
$display("ALL TESTS PASSED (%0d vectors across PARALLEL=2/8/32, 0 mismatches against independent Python oracle)", total_checked);
|
||||
else
|
||||
$display("FAILED: %0d/%0d vectors mismatched", total_errors, total_checked);
|
||||
$finish;
|
||||
end
|
||||
|
||||
endmodule
|
||||
@@ -0,0 +1,104 @@
|
||||
`timescale 1ns/1ps
|
||||
|
||||
// ================================================================
|
||||
// MAC_UNIT TESTBENCH (certification campaign, aspect C.1)
|
||||
//
|
||||
// rtl/mac_unit.v had NO dedicated unit-level testbench before this
|
||||
// (docs/validation/00-inventario.md §0.4/§0.5): only indirect coverage
|
||||
// through neuron_parallel_tb.v and friends, where acc_in is always
|
||||
// hardwired to 0 by mac8.v and a bug isolated to this module would only
|
||||
// surface if it happened to propagate visibly through the full layer.
|
||||
//
|
||||
// Oracle: tools/validation/mac_oracle.py, an independent Python
|
||||
// reimplementation (two's complement from first principles, not a
|
||||
// transcription of this RTL) -- see that file's own header. Vectors are
|
||||
// pre-generated (tools/validation/mac_unit_vectors_*.hex) rather than
|
||||
// computed at Verilog runtime, so the comparison at each step is purely
|
||||
// mechanical (no chance of Verilog-side arithmetic accidentally
|
||||
// re-deriving the same bug the oracle exists to catch).
|
||||
//
|
||||
// Coverage: EXHAUSTIVE on (x,w) at DATA_WIDTH=8 -- all 256*256=65536
|
||||
// combinations, acc_in=0 (matches mac8.v's real usage). Plus a second,
|
||||
// separate file exercising the module's own full port contract
|
||||
// (acc_out = acc_in + product for ANY acc_in, not just the acc_in=0 case
|
||||
// this design happens to use today) across boundary/random acc_in values
|
||||
// including the four true product-magnitude corners
|
||||
// (-128*-128, 127*127, -128*127, 127*-128).
|
||||
// ================================================================
|
||||
|
||||
module tb;
|
||||
|
||||
localparam DATA_WIDTH = 8;
|
||||
localparam ACC_WIDTH = 32;
|
||||
|
||||
reg signed [DATA_WIDTH-1:0] x;
|
||||
reg signed [DATA_WIDTH-1:0] w;
|
||||
reg signed [ACC_WIDTH-1:0] acc_in;
|
||||
wire signed [ACC_WIDTH-1:0] acc_out;
|
||||
|
||||
mac_unit #(.DATA_WIDTH(DATA_WIDTH), .ACC_WIDTH(ACC_WIDTH)) dut (
|
||||
.x(x), .w(w), .acc_in(acc_in), .acc_out(acc_out)
|
||||
);
|
||||
|
||||
// 80-bit packed vector: x[79:72] w[71:64] acc_in[63:32] expected[31:0]
|
||||
reg [79:0] exhaustive_vec [0:65535];
|
||||
reg [79:0] boundary_vec [0:485];
|
||||
|
||||
integer i;
|
||||
integer errors;
|
||||
integer checked;
|
||||
|
||||
reg [7:0] vx;
|
||||
reg [7:0] vw;
|
||||
reg [31:0] vacc_in;
|
||||
reg [31:0] vexpected;
|
||||
|
||||
task automatic check_one(input [79:0] packed_vec);
|
||||
begin
|
||||
vx = packed_vec[79:72];
|
||||
vw = packed_vec[71:64];
|
||||
vacc_in = packed_vec[63:32];
|
||||
vexpected = packed_vec[31:0];
|
||||
x = vx;
|
||||
w = vw;
|
||||
acc_in = vacc_in;
|
||||
#1;
|
||||
checked = checked + 1;
|
||||
if (acc_out !== $signed(vexpected)) begin
|
||||
errors = errors + 1;
|
||||
if (errors <= 20) begin
|
||||
$display("MISMATCH: x=%0d w=%0d acc_in=%0d -> got=%0d expected=%0d",
|
||||
$signed(vx), $signed(vw), $signed(vacc_in), acc_out, $signed(vexpected));
|
||||
end
|
||||
end
|
||||
end
|
||||
endtask
|
||||
|
||||
initial begin
|
||||
errors = 0;
|
||||
checked = 0;
|
||||
|
||||
$readmemh("tools/validation/mac_unit_vectors_exhaustive.hex", exhaustive_vec);
|
||||
$readmemh("tools/validation/mac_unit_vectors_boundary_accin.hex", boundary_vec);
|
||||
|
||||
$display("--- TEST 1: exhaustive (x,w), acc_in=0 -- 65536 combinations ---");
|
||||
for (i = 0; i < 65536; i = i + 1) begin
|
||||
check_one(exhaustive_vec[i]);
|
||||
end
|
||||
$display(" checked %0d, errors so far %0d", checked, errors);
|
||||
|
||||
$display("--- TEST 2: full port contract, boundary/random acc_in -- 486 vectors ---");
|
||||
for (i = 0; i < 486; i = i + 1) begin
|
||||
check_one(boundary_vec[i]);
|
||||
end
|
||||
$display(" checked %0d total, errors %0d", checked, errors);
|
||||
|
||||
if (errors == 0) begin
|
||||
$display("ALL TESTS PASSED (%0d vectors, 0 mismatches against independent Python oracle)", checked);
|
||||
end else begin
|
||||
$display("FAILED: %0d/%0d vectors mismatched", errors, checked);
|
||||
end
|
||||
$finish;
|
||||
end
|
||||
|
||||
endmodule
|
||||
@@ -1,5 +1,5 @@
|
||||
$date
|
||||
Fri Sep 4 13:22:54 2026
|
||||
Fri Sep 4 13:40:17 2026
|
||||
$end
|
||||
$version
|
||||
Icarus Verilog
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
$date
|
||||
Fri Sep 4 13:23:02 2026
|
||||
Fri Sep 4 13:40:25 2026
|
||||
$end
|
||||
$version
|
||||
Icarus Verilog
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
$date
|
||||
Fri Sep 4 13:22:58 2026
|
||||
Fri Sep 4 13:40:21 2026
|
||||
$end
|
||||
$version
|
||||
Icarus Verilog
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
$date
|
||||
Fri Sep 4 13:23:02 2026
|
||||
Fri Sep 4 13:40:25 2026
|
||||
$end
|
||||
$version
|
||||
Icarus Verilog
|
||||
|
||||
@@ -0,0 +1,115 @@
|
||||
`timescale 1ns/1ps
|
||||
|
||||
// ================================================================
|
||||
// BUG-002 REGRESSION TRAP (certification campaign, aspect C.1,
|
||||
// docs/validation/bugs.md) -- N_INPUTS=0 bypasses the elaboration-
|
||||
// time guard and produces a confirmed, real hang.
|
||||
//
|
||||
// rtl/neuron_parallel.v:71's guard is a single condition:
|
||||
// if (N_INPUTS % PARALLEL != 0) ... force elaboration failure
|
||||
// For N_INPUTS=0, `0 % PARALLEL == 0` for any PARALLEL != 0 -- the
|
||||
// guard does NOT fire, yet GROUPS = N_INPUTS/PARALLEL = 0, the exact
|
||||
// condition the guard's own header comment (lines 55-58) says causes
|
||||
// a hang. This module DOES compile/elaborate (unlike the two
|
||||
// deliberate negative tests, neuron_parallel_guard_negative_*_tb.v)
|
||||
// -- that is itself part of the bug: no elaboration-time protection
|
||||
// exists for this specific boundary value.
|
||||
//
|
||||
// CONFIRMED on BOTH verification planes (§A.4):
|
||||
// - Simulation (this file): `start` never causes `busy` to assert;
|
||||
// `done` never pulses. Checked cycle-by-cycle for 200 cycles, not
|
||||
// a one-shot late check (an early investigation attempt used a
|
||||
// one-shot check-at-the-end and produced a methodologically
|
||||
// invalid "hang" verdict even for a KNOWN-GOOD N_INPUTS=2 sanity
|
||||
// config, because `done` is a documented single-cycle pulse,
|
||||
// rtl/neuron_parallel.v:207/227 -- see docs/validation/01-datapath.md
|
||||
// for the full self-correction narrative).
|
||||
// - Real synthesis: `yosys synth_ecp5` elaborates this exact
|
||||
// configuration with 0 reported problems. Root cause visible in
|
||||
// Yosys's own warnings: `x_bus`/`w_bus`, declared
|
||||
// `[DATA_WIDTH*N_INPUTS-1:0]` = `[-1:0]` for N_INPUTS=0, do NOT
|
||||
// collapse to a true zero-width bus -- Yosys (and, per this
|
||||
// simulation, Icarus) interpret a `[-1:0]` range as a genuine
|
||||
// 2-bit vector (width = |MSB-LSB|+1 = |-1-0|+1 = 2), left
|
||||
// completely undriven ("Wire ... is used but has no driver").
|
||||
//
|
||||
// This test currently PASSES by confirming the bug's exact symptom is
|
||||
// still present and unchanged -- it is a regression trap for the
|
||||
// CURRENT, documented-as-open, unfixed behavior (docs/validation/
|
||||
// bugs.md BUG-002), not a correctness assertion that this behavior is
|
||||
// desirable. If/when BUG-002 is fixed (e.g. an explicit `N_INPUTS==0`
|
||||
// elaboration guard is added), THIS test must be rewritten to expect
|
||||
// the new, fixed behavior instead -- do not "fix" it by loosening the
|
||||
// check.
|
||||
// ================================================================
|
||||
|
||||
module tb;
|
||||
|
||||
localparam DATA_WIDTH = 8;
|
||||
localparam PARALLEL = 2;
|
||||
localparam ACC_WIDTH = 32;
|
||||
|
||||
reg clk;
|
||||
initial begin
|
||||
clk = 1'b0;
|
||||
forever #5 clk = ~clk;
|
||||
end
|
||||
|
||||
reg rst, start;
|
||||
wire busy, done;
|
||||
wire signed [DATA_WIDTH-1:0] y;
|
||||
|
||||
integer cyc;
|
||||
integer errors;
|
||||
|
||||
neuron_parallel #(
|
||||
.DATA_WIDTH(DATA_WIDTH), .N_INPUTS(0), .PARALLEL(PARALLEL), .ACC_WIDTH(ACC_WIDTH)
|
||||
) dut (
|
||||
.clk(clk), .rst(rst), .start(start),
|
||||
.x_bus(), .w_bus(), .bias(8'sd0),
|
||||
.y(y), .busy(busy), .done(done)
|
||||
);
|
||||
|
||||
initial begin
|
||||
errors = 0;
|
||||
|
||||
$display("--- TEST 1: N_INPUTS=0 elaborates without error (confirms guard gap) ---");
|
||||
// If this file failed to compile/elaborate, the guard would
|
||||
// have started covering N_INPUTS=0 too -- that would be a fix
|
||||
// landing, not a regression. This $display only runs if
|
||||
// elaboration succeeded, which it must, for the test below to
|
||||
// even execute.
|
||||
$display(" elaborated successfully -- guard did NOT fire for N_INPUTS=0 (as of this writing)");
|
||||
|
||||
$display("--- TEST 2: start is accepted (busy asserts) within 200 cycles? ---");
|
||||
rst = 1; start = 0;
|
||||
repeat(3) @(posedge clk);
|
||||
rst = 0;
|
||||
@(posedge clk);
|
||||
start = 1;
|
||||
@(posedge clk);
|
||||
start = 0;
|
||||
|
||||
cyc = 0;
|
||||
while (!done && !busy && cyc < 200) begin
|
||||
@(posedge clk);
|
||||
cyc = cyc + 1;
|
||||
end
|
||||
|
||||
if (busy || done) begin
|
||||
// Behavior CHANGED from the confirmed-broken state -- this
|
||||
// is the "fix landed" case, not expected today.
|
||||
$display(" UNEXPECTED (relative to BUG-002 as currently documented): busy=%b done=%b at cycle %0d -- if this is a deliberate fix, update this test's expectations, don't just delete the check.", busy, done, cyc);
|
||||
errors = errors + 1;
|
||||
end else begin
|
||||
$display(" CONFIRMED (matches BUG-002, docs/validation/bugs.md): busy never asserted, done never pulsed in 200 cycles -- start was silently ineffective.");
|
||||
end
|
||||
|
||||
if (errors == 0)
|
||||
$display("ALL TESTS PASSED (BUG-002 symptom reproduced exactly as documented -- this is a KNOWN, OPEN bug, not a clean bill of health for N_INPUTS=0)");
|
||||
else
|
||||
$display("FAILED: %0d unexpected result(s) -- see messages above", errors);
|
||||
$finish;
|
||||
end
|
||||
|
||||
endmodule
|
||||
@@ -1,5 +1,5 @@
|
||||
$date
|
||||
Fri Sep 4 13:23:02 2026
|
||||
Fri Sep 4 13:40:25 2026
|
||||
$end
|
||||
$version
|
||||
Icarus Verilog
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
$date
|
||||
Fri Sep 4 13:23:02 2026
|
||||
Fri Sep 4 13:40:25 2026
|
||||
$end
|
||||
$version
|
||||
Icarus Verilog
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
$date
|
||||
Fri Sep 4 13:23:07 2026
|
||||
Fri Sep 4 13:40:30 2026
|
||||
$end
|
||||
$version
|
||||
Icarus Verilog
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
$date
|
||||
Fri Sep 4 13:23:07 2026
|
||||
Fri Sep 4 13:40:30 2026
|
||||
$end
|
||||
$version
|
||||
Icarus Verilog
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
$date
|
||||
Fri Sep 4 13:23:07 2026
|
||||
Fri Sep 4 13:40:30 2026
|
||||
$end
|
||||
$version
|
||||
Icarus Verilog
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
$date
|
||||
Fri Sep 4 13:23:33 2026
|
||||
Fri Sep 4 13:40:57 2026
|
||||
$end
|
||||
$version
|
||||
Icarus Verilog
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
$date
|
||||
Fri Sep 4 13:23:17 2026
|
||||
Fri Sep 4 13:40:41 2026
|
||||
$end
|
||||
$version
|
||||
Icarus Verilog
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
$date
|
||||
Fri Sep 4 13:23:28 2026
|
||||
Fri Sep 4 13:40:52 2026
|
||||
$end
|
||||
$version
|
||||
Icarus Verilog
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
$date
|
||||
Fri Sep 4 13:23:35 2026
|
||||
Fri Sep 4 13:40:58 2026
|
||||
$end
|
||||
$version
|
||||
Icarus Verilog
|
||||
|
||||
@@ -0,0 +1,313 @@
|
||||
010102010000000000000003
|
||||
01010201000003e8000003eb
|
||||
02010101000003e8000003eb
|
||||
bd4be50f0018cd950018b85f
|
||||
ff7afec3ffe201f6ffe201f6
|
||||
0a733a08ffefd14affefd798
|
||||
0cc49dadfff87fccfff89d15
|
||||
1d9b7be4000dc1da000da8f5
|
||||
518e08db0006102e0005eaf4
|
||||
020873adffe94b82ffe92649
|
||||
4586613effe49f1fffe495bb
|
||||
5dc3db5efffb7993fffb55d4
|
||||
000d8ec2ffe7b08bffe7cc27
|
||||
6a2d0d24ffff2aeeffff3f64
|
||||
9fdb2eeefffd2e32fffd38fb
|
||||
60e536130005083e00050220
|
||||
fcbe4fa5ffe9f34dffe9d840
|
||||
1468468effeefd23ffeee617
|
||||
c6d8c7c40015fa85001610f1
|
||||
729062190001366100010e13
|
||||
3625df60ffe6d55effe6d0cc
|
||||
6ca9d49afffc4da4fffc3a78
|
||||
dff589f8ffe8da9affe8dfbd
|
||||
4a8439c1fff44c47fff41a68
|
||||
f838cdd7ffe95c12ffe9627d
|
||||
7c11807d0019ab16001974d2
|
||||
ec3d9232001e5c0d001e41cd
|
||||
e796233d000236be0002496f
|
||||
75d886370005ed470005c0c9
|
||||
4b542a430019d8150019fbaf
|
||||
c6ff8ebc0018ab880018ca0a
|
||||
0191475a001b17e7001b306e
|
||||
89a8be3200066e1600068a1a
|
||||
c4b7555f0000e3a80001144f
|
||||
d076684effed2df2ffed3782
|
||||
5640429ffffb8ddafffb8a58
|
||||
4117ca88ffeaab8effeacab5
|
||||
a8c8576ffff92268fff95b61
|
||||
3699aae0fffcb954fffcae5a
|
||||
22a650990009702e0009440a
|
||||
01aed7a8fffa3798fffa455e
|
||||
8f85a70afff59ed4fff5d1a5
|
||||
75b451bdfff480bbfff448cc
|
||||
e807fc26000e4f58000e4e18
|
||||
8dce0e6f001c8f7c001cac04
|
||||
f212f33cfff61190fff60d88
|
||||
47e8493efff4c5d7fff4d0dd
|
||||
90a6ba8e00065c850006a311
|
||||
06467307ffeb5f30ffeb63f9
|
||||
df01ea67fffd474cfffd3e51
|
||||
57dbef48fffb3582fffb2427
|
||||
d0e0a190000786790007b609
|
||||
18bf4e1a00000bed00000dc1
|
||||
4d0c90c5fff9f65ffffa13cb
|
||||
bd5ac4faffe1c904ffe1b2de
|
||||
d351238a0005b7e500059986
|
||||
cca902e5ffe4fea9ffe5101f
|
||||
2aee00f9ffefcb56ffefc862
|
||||
262d65e2001610e600160bbe
|
||||
e83c7786ffe45874ffe41a1e
|
||||
c0d3b71afff8091afff80cf0
|
||||
158651e4001a1dfb001a0b1d
|
||||
2528ed6d000f9846000f95f7
|
||||
818d72c300040eda00042cbd
|
||||
569a14c1ffe35fdeffe338ae
|
||||
c65666fdffec908bffec7bdd
|
||||
8b2b8c8900056c0000058e45
|
||||
da075361ffe91ba1ffe93a0a
|
||||
d1b323befff280c4fff285e1
|
||||
22a36a4efff4570cfff46afe
|
||||
a2e5e8a5000a98d5000aab47
|
||||
1806ddb6000ebe28000ec8d6
|
||||
cc0f01f0ffeccfa4ffeccc88
|
||||
e1f88b06000aaeec000aad26
|
||||
f9a0742cffeba0b8ffebb748
|
||||
dd701d67ffee5b3bffee5796
|
||||
6ee89cbefff5ced2fff5de4a
|
||||
f764246d00000bbe0000178e
|
||||
d9e7ec75ffe6106bffe60b16
|
||||
1087d468000a1aea000a017a
|
||||
fb4c4542000408cf0004191d
|
||||
ad8513ddffebfdf4ffec233c
|
||||
c857dd2cffedff1fffede613
|
||||
f58610e00000ea550000ed93
|
||||
e08d873e000a2688000a179a
|
||||
5a5805befff4fa3cfff517e2
|
||||
28be8b00001cbe7c001cb42c
|
||||
c6b09528fff33d6afff33ed2
|
||||
5104857c00026c25000231d5
|
||||
0dcf3a68ffe54401ffe55914
|
||||
005098cd000fe29c000ff754
|
||||
0fe227a5ffedd757ffedc7b8
|
||||
02242eb20012993900128b7d
|
||||
1c0fdccc001a4bf8001a54ec
|
||||
fbad7b4d00175e8e0017852c
|
||||
edf7978b0008510f000881b7
|
||||
be1290d900075546000761b2
|
||||
5f82de74000c0f56000bd12c
|
||||
3fd736d4fff5aa50fff596f1
|
||||
158cb806ffeadfcfffead49b
|
||||
f9109392fff281cafff2b030
|
||||
24d9bcdefff14a52fff14dde
|
||||
ce987afeffee4aa2ffee5dfe
|
||||
5bd538e8001d54e6001d405d
|
||||
e295dbab0011dd3b0011f60e
|
||||
98d4b1300000c8ee0000cbfe
|
||||
d20d3e3cfff46124fff46d56
|
||||
bbb98c4800025276000244f9
|
||||
6d7d0d280010e58000111cc1
|
||||
e46e3766ffe429d7ffe433b9
|
||||
16e45fd0000814130007ffdb
|
||||
e9c9ca810017828e0017a249
|
||||
acfb04c9ffefbf47ffefc00f
|
||||
6214fc7bffea734fffea790b
|
||||
723a814b0011787a00116d19
|
||||
931e969a0013e2b70014002d
|
||||
8070984ffff40561fff3ad49
|
||||
667a3b760000eb8f0001375d
|
||||
f5826451fff6d249fff6f757
|
||||
60be22ba0005dc600005ba54
|
||||
e7e33a56001b4244001b5895
|
||||
2e56624300007ae20000a3fc
|
||||
7e8c3039000919e10008eb79
|
||||
7ae441adfffbd2ebfffbb080
|
||||
858bed6700019f650001cff7
|
||||
a8e6ebadfff8c48ffff8d44e
|
||||
5fa08676fffc382cfffbdc50
|
||||
53e41748000a084b000a05af
|
||||
95cbb6ac001b7bd3001baa42
|
||||
71eb5c63001072fa00108d49
|
||||
6fabe1a0ffea6066ffea472b
|
||||
a71a8387000f27ef000f59fa
|
||||
4e1173f2001a5d5f001a5c43
|
||||
29b8b1470004b00300048e92
|
||||
db1cd7e5fff815c8fff8160f
|
||||
3b77d220fffbe3dbfffbf988
|
||||
ff2b8ae7ffe853d2ffe85f2d
|
||||
141cadb8ffeaefacffeb0934
|
||||
c1f8e920fffd7840fffd7758
|
||||
770eca72000f8fbc000f7e32
|
||||
912cf5eafff65ffbfff64dd9
|
||||
ec6bc941fff1f3d1fff1dd7e
|
||||
7279f2e600177a630017b1b1
|
||||
8fb5eb02000a150b000a35fc
|
||||
d061af25000046a2000028bd
|
||||
e018796700012509000152b8
|
||||
cf68ffb8ffe96fccffe95c2c
|
||||
da396a58ffefb77affefd374
|
||||
d1c5447dffe4cff6ffe4fbff
|
||||
5aa1bcef0016b20400169522
|
||||
5385e2c1fff43347fff412c8
|
||||
a470fb25ffe95c3dffe93344
|
||||
7ac9d65e0008739a000849f8
|
||||
3e9b54bb000e8812000e58f8
|
||||
53ad5aedffe91c99ffe8fb02
|
||||
53718c9d00072b4f00077cce
|
||||
5aa84e25000a86f0000a7346
|
||||
8a6f14d30019a19800196aea
|
||||
a30ce8ee000c3c3b000c398f
|
||||
541bdc500014c30a0014c0a6
|
||||
dd7e2e2f001df291001de9c9
|
||||
7f70d3bb000c6d70000cb121
|
||||
d8a0830ffff605ebfff60d98
|
||||
e8f75f56ffeb152affeb35ec
|
||||
b2116cd8ffe82a97ffe81489
|
||||
e8c8f3f400195f5900196535
|
||||
c9ddc1cc00156fe100158432
|
||||
05eefe06fffd2a9efffd2a38
|
||||
c702f4dd0018d2140018d346
|
||||
fe905fe5ffe6ecc7ffe6e3a2
|
||||
c839475afffaeea7fffafb25
|
||||
1eb92900ffebe60cffebddba
|
||||
3387b1eaffffbcbeffffab6d
|
||||
375319a6fff841a5fff84ab0
|
||||
37c0abaefff16e10fff17b8a
|
||||
58e15d9dffe93e90ffe90ff1
|
||||
0608f0a9001aa3bc001aa95c
|
||||
57387ae8fff4dd48fff4e4e0
|
||||
d50c7bf0fffcf9eafffcf036
|
||||
765f6f0affea3899ffea68b9
|
||||
779ca35afff142b5fff0f387
|
||||
e52db31f0002538300024571
|
||||
79b4bb9dffeaafdcffeaa69f
|
||||
4df6a2270011b9e20011a88e
|
||||
83fb97c70003759f00038f71
|
||||
c5e953a5fffb076dfffaef39
|
||||
e36e3631001a7e88001a7c68
|
||||
c60d67affff807a9fff7e420
|
||||
87cdee52fff7c6f1fff7d948
|
||||
4007693f0000b1550000ccec
|
||||
cb59e67c0010e45f0010c55a
|
||||
ab126a5c0002c8890002e8a7
|
||||
ad0ecf19ffeefeafffeef55c
|
||||
1594631f0003f3ec0003f70d
|
||||
10bf6e4cffeffeacfff01b44
|
||||
f6bce59b0005f4f500060244
|
||||
dfb3f459001191ca0011978b
|
||||
6aac6ba2ffe8eb95ffe8a183
|
||||
469a77b800132ee60012f18a
|
||||
5f4c0e11ffe80987ffe826a9
|
||||
ed07ed3bfff57238fff56d52
|
||||
4524a14d00092d6300091a84
|
||||
6da73ea700016bce0001305b
|
||||
036537880015f6980015ddff
|
||||
4b1b177bffe95188ffe9647e
|
||||
516bee000010b65d0010d838
|
||||
2c2e483bfff90577fff91df7
|
||||
52c79733ffffd4f0ffffadc3
|
||||
9a8876bb001cb489001cc48b
|
||||
d017936dfff7513ffff71e86
|
||||
fe406099fffbb688fffb8f68
|
||||
4d41a9fa0000bc040000d19b
|
||||
2be3b042000217d70001fe58
|
||||
d51ed089000aa2e3000ab429
|
||||
15543321fff9c073fff9cdea
|
||||
00b0456a001e3125001e4db7
|
||||
a9c24f5ffffe9ae0fffecd43
|
||||
e4b540580010ed9500110bc9
|
||||
9914566dffe30f0cffe32b9e
|
||||
934b5c8d000f5e20000f14dd
|
||||
01e8e447fffcc85afffcc07e
|
||||
b186310dffff9006ffffb829
|
||||
9531b440000b8d06000b658b
|
||||
5e91ac9bfff8b9e8fff8b24a
|
||||
e2cf86cbffe290d2ffe2afd2
|
||||
352a774affec354cffec6064
|
||||
1b28625c0011bcd20011e442
|
||||
ebb924d2fffd973cfffd9697
|
||||
f628063200112e2300112dbf
|
||||
f0ebd212001ddcc0001ddad4
|
||||
9809356bffed82d6ffed9555
|
||||
87760c65ffe82b7effe7f874
|
||||
7cf12f75000e27a1000e35d8
|
||||
7818690b000afc7a000b0c3d
|
||||
cd8003b3fffaadc2fffac65b
|
||||
5cf076df0006a1de00068ce8
|
||||
87bc0071ffed22caffed42ee
|
||||
1d5aef1cffeb76daffeb7f30
|
||||
9405e60000096b2d00096911
|
||||
cd803798000d550c000d5834
|
||||
78ae10bcfffe5296fffe27e6
|
||||
6fe3d11600035f2e00034e91
|
||||
00da01e7fff76c6dfff76c54
|
||||
7425d4d200066b9d00068449
|
||||
fc98810e0004c82a0004c2d8
|
||||
43470923ffe6f196ffe70566
|
||||
e2dd1fcdfffd17bffffd15ac
|
||||
dc6c6a5effe7135affe72b16
|
||||
c9bafe95fff5f191fff60171
|
||||
77db3bd00011a4f0001188ad
|
||||
c247cd16ffea3ce7ffea2753
|
||||
3bb375b7001b8a72001b5756
|
||||
c7e3b109001cb08a001cb438
|
||||
ae22add9000c1902000c1ac3
|
||||
7add47470008b1aa0008b4ad
|
||||
0c1c78f10014e7ff0014e247
|
||||
5f0af63e0001410f00014259
|
||||
b95a6ed3fffbd619fffba9cd
|
||||
7e0dd8e9ffe38120ffe38b1e
|
||||
8d444401000dd383000db53b
|
||||
da03c35f001a5a49001a4334
|
||||
0d57fd99001cff2a001d04ca
|
||||
d3857cd7ffe53c59ffe53e1c
|
||||
f5fc0382fff33391fff33243
|
||||
7b6ad9ab0015dc2800161c09
|
||||
3ea59fccffe617e6ffe61590
|
||||
6a652d35001a821f001ab542
|
||||
c1bd05f600086bbd00087c08
|
||||
3fa3eea30010d1740010c11b
|
||||
07a3c41c000783b200077a97
|
||||
83ab4a06fff31622fff3415f
|
||||
1400aea700065e2100067aa3
|
||||
6ab0674b00110d1300110a20
|
||||
c844a0cffff3c843fff3cbc3
|
||||
bb00e5b6fffc80c3fffc8891
|
||||
6cff3413fff42402fff42772
|
||||
9915a9bd00060cc700061b19
|
||||
2e49e366ffe59e12ffe59fa2
|
||||
eed43421ffeb98d1ffeba29d
|
||||
54c74021ffe6825dffe677e9
|
||||
49f501c9ffe38652ffe382f8
|
||||
8ffeae58ffeadbceffeac080
|
||||
ea49377c001a73b8001a8816
|
||||
8a329f4cffe45d3fffe42967
|
||||
89ed38d600123321001232c6
|
||||
b8b9e67effe20b06ffe21232
|
||||
b223216a000977ca00097aca
|
||||
a8f383b80017099900173139
|
||||
26470afe0009ac5e0009b6d4
|
||||
fffb6c91ffe39120ffe36251
|
||||
0caa4684fffdaaa7fffd84b7
|
||||
5abee23cffe3c639ffe3a7fd
|
||||
9db182baffe35ed3ffe39fd4
|
||||
6e185e55001d0bc6001d354c
|
||||
b59259a6ffe7d780ffe7d870
|
||||
de8de9ff00145872001467cf
|
||||
d730383e000a1aad000a208d
|
||||
6a621909ffe83872ffe861e7
|
||||
f156d0f9000860af00085cf5
|
||||
3ee2b8abffeafed9ffeb0f7d
|
||||
a401d9970008d79a0008e73d
|
||||
7ef08639001cf4a3001cd199
|
||||
25fe55bafffa5738fffa3fb0
|
||||
808080800000000000008000
|
||||
807f807f00000000ffff8100
|
||||
808080807fffffff80007fff
|
||||
807f807f7fffffff7fff80ff
|
||||
808080808000000080008000
|
||||
807f807f800000007fff8100
|
||||
808080804000000040008000
|
||||
807f807f400000003fff8100
|
||||
80808080c0000000c0008000
|
||||
807f807fc0000000bfff8100
|
||||
@@ -0,0 +1,313 @@
|
||||
0101020103010401050106010701080109010a010b010c010d010e010f0110011101120113011401150116011701180119011a011b011c011d011e011f0120010000000000000210
|
||||
0101020103010401050106010701080109010a010b010c010d010e010f0110011101120113011401150116011701180119011a011b011c011d011e011f012001000003e8000005f8
|
||||
20011f011e011d011c011b011a0119011801170116011501140113011201110110010f010e010d010c010b010a01090108010701060105010401030102010101000003e8000005f8
|
||||
de6f407d1a76fd194d997493175c283612cccd068b10f8f29916e0a45e07c2becb2b22ce16cd58ce1c75a47567c1079d4d1efd5a60cade2e0484d3c09cecc4f8fff7b5d9fff73e0c
|
||||
b9e11f2f5d61b449753f6eb40d91ecd44c54b3c748bc32f18a6004ab71ec79762fe9e271aebb07e82283f68d59d37e286766a5f9a22d794abe6f3c61eeef2384ffe34194ffe39105
|
||||
24bbeffa5eae61cf97e32dd6238637b46e3d9580f47e063f48dda07c0a28278e2b83fdad756f4edd49ceb264c6aef4cf71b5008fe37a679a283db15f3f9b04d2fffc9c4afffbbfd0
|
||||
cea51e5a6edeea1b0bbe4f675107ff6c18792f6a41428cde5bd450f3c48934f2f5c5c841f51f19ad9a6edaf164a20c199bdae700f5bb884191569fdc39a5e831001743760017129f
|
||||
447e9a0a9c1e11528463cc01e763141ae3ccbc18c609248308ae0c0c783f09a8cf14159a9eea7b977c30a25b3938d9badb62c58f08a0f616508a5f17b515638e00010ac300007eb4
|
||||
f395bed3d1236409be3c54f008a2cae4d068d26f2ffd212a3ed29b3d24989bad9356d28e66c793dc3235b59df2931323a49b7fbc9d1e48f58ac51c8242c1cc2d001cbf8f001c8890
|
||||
b76195624ccdba61eeacb046ff900feb078c8fd8951342380de3a3582fdea5d4f6e93123e4b892815c443c19d7c655608e75d1d6174c8cf2cb4b3575366ea1fcffe9643fffe971ce
|
||||
98ab7bd95ec4a5dfb97e7e32e51e627a99297b365a5a500506d3b4c4dde1d1965ade6643d9df244b7b5d023404e89e5d6726baf68780f708a588e56a5ba8e933ffedbde9ffeea900
|
||||
0bd1b328532fcb24b26320b4faa2da2ae709d18506d5bebe35addea26386b3077f5c62d7a18d57697f114bdb854e99d693cbaa063912e06457f1742335426270fff5806afff5e2dc
|
||||
5031b525f6ca02523e726b7c600cefeb7c20bcb21897ffcfbd7c25703e65298085678ea0d58b2f497005fe7abda1561f34b84aab25dc5a87bfc94b8ff2d66fcfffe8239cffe8503a
|
||||
2e756bd6b569fcb44695d5a7e967845c88a729c2b32638b31f8a850e61ecc38ef8bcfd8f60e355d1a233242619a94f7c0a498bf5379a78dba461cf617424db35ffecf34fffec445e
|
||||
d53f7efec8a0295535092101305b829174f792840bc3e039330962239ea7b3cabdfa1d97a5d070337155f00753eab535e9615701e022f359aa2ef87079cb25b800198432001a31cf
|
||||
96acdab91625f2833c4602f401cc6c030bad3e2b28717bc0f6b421efb0d34960a84f59846f6e16f85a4bb0fed5aed21436038b6e12ff0132b10d3db761356d2f001b53a6001baf6a
|
||||
5b73c2523581c423b0f14fe70876baeb49104388445f7c01bf0202a510cb548a7b1e7cc020918f884807cb96ce7bfb58192ef9645ff41d3a9afc29d49ffd19260002477700022bf7
|
||||
2a977fc8cad0448e8bceb6600b4e48bc48d08aca59aca19e79645aeeaf1229dccf9587e23c5217f1f31fbef70204d4960dafbbdb614bbb877b4e24012a02420fffe8bb68ffe949d5
|
||||
5bad567f113b1ac52364c3514babedb9ad875b0e246f63f1747f97d99a08f5c468fcc1ce5fcb658a52a481ddad343cd9d24f2c4cec0e13b7f9c3500bb7b8640100171f6b001744ed
|
||||
a684fa51da60c8ce6c44f46a43e14139f893e6f916c170c9394c36a898d461fd14fdc5076463cf1941ac56a21aa19fbda53645ff3016c3929da282e054c405b8000740f900079fec
|
||||
cf96697c9cb116efb08450b30d4777a2e2516226141e8646e82aa4e24794e1b732e0b37038be0a940881b5c6c4a38633e72905db55ed661ce97560bdf11097ef0010b1210010867c
|
||||
09a1404ab4535617c8d9ba20ae29fbf1bb4808375b9a061caf87fe32574bf1001e23edebcc676bfc599da963990d484439e42bb697efb4443782ea85ab678b80fff04d54ffefe96e
|
||||
1af40daaaff360794ead7f46f4dbe4bb097d7d85ff329696d980e31f204213c30b48eae190ba936614c66afefb2a0fac17bb4dd7d76b17a5878b1b3dafb1a53d000a178b000a60f6
|
||||
406aea06148f7068984b6911c69ee1dffc24c896721c717955e7fc773fe3dfed4e8d56a179bb3528cae7e156c42a6d9e870465de092f9dc57da595905046fe500015307e0015484e
|
||||
afab6b57caf42641345a36adcd74edf86ae933f540c81453ffafb40da0931c337bb8251bf4d2f6e5d267094d24081e6693a1dc668b94fc6a1f6c0855cf6c36f6fff22ddefff29fcd
|
||||
51ab7cda40769028bd64cde6e1197684c59f8ed7feb70752a6f1d18053dcba255bc5060ba88bc157d68ec40a276b6220f2d95478fdd6f251b02b1db957a29d59ffe19fcaffe15874
|
||||
cb95865a76b7f7ace2f96fb9729f09f153292ced7500046367f51ad0d3051f133f8f845945f8dd1e20bb667812f7af80adeeee06901ef46e5829ecb6ba8a50fdfffaab80fffa5a4a
|
||||
99a46e0e4821b899523a627bd40343ef245c0bc1b1b116977e68e95fba7a31805139949cf8474d35e26187bb2a40e6d3b172756e4f1dd6ceb6a5e3842da97e06fff2ffe1fff442c2
|
||||
f592a840cce640cf6439978357cd0cbb263d3154c02dda2d8d0b4d69fdbbc5c8ec0f8f20d29acfb70f98f25e65c65078ee98e585a0d4664d2ea83f22f25137a8001720bd0017a618
|
||||
32521f8efa60406d89228726095b491d711782a837df537391ea814f2b6205349539ed67900dae49615f9de27e2a64503adf777d0b940b15644b5f15df930bb3fff382d7fff454f1
|
||||
9352cbfed7fa252bd7f1b773b39b8e3f55e665cd8aa01b139720e394287934576500d4b612e068d5ea547d859c9ab893919426a9c3236d65093a227bf1435242ffece1c0ffed43f0
|
||||
03f2462f86d1b2cab49158e7da3803f8597b9fd00a99e0d215f161cfdcdf24c960e488e97d210a40389375c3a8b97c9e11dfd6f4b83bb3bb587364f837d5d3ddfffd7743fffdcfe8
|
||||
97f0447225d37bb812311dd0658bffb8af4da8f3f2fbfb1f28a7f2cb48533ed1f662b4e3c2b2a6e8c186917de6ecb6087b04e3a5072a16682ad8bc0ff9261a81ffe9f722ffe9b538
|
||||
55d2b7e459f899506e8a48c285f8acffba72b44e766b8a4a1eee25cf317e6ec21f8d20050602240774e5818e06202cf640bfa0666a511851357dcad17f2fb8f7fffeb532fffe677e
|
||||
4b11987d3ae4690f8b9fc1a36d0142d46f4f4b08e672117d371f1cb6270097dfe8b05cd0a1222dd1e305c268bff06120113fb992c6f2b1e64dd8c47cc4f3e228fff85f8dfff8723d
|
||||
89b46dadaf83ce3c6f7f7900600beb1e31a684cadc9ab1c3a64bd039a9d937f68c82d9462d89b1762ad246b4f24024d91b6e4a0dbd4ef9756c816ba0751b8bb2ffed49d5ffed4859
|
||||
02764cece219022cbc818fe241da8ce440f2ba244b78e33558f98a2725a8a374e4923aa754d1d56bbb2563c303a51e86831d9fb3dc8c3b90b741039013836a9b00066b7d0005be96
|
||||
8e059679b65d4f1e62c2e1a80d320acf0b588abd863211453126f38cdd3dca78ab221eeaa6171d81f4ca7e7ccf3f2b7936d4f704cd2ceeb1044dd98ca381bfdc0017b61a0017bfa2
|
||||
e3d5cd54418faefd3853fcce257ae7b2eb592b4bff3da32a54af9715c5fa56f914a0893da30464d095a853b1cb32c5b2618cb93feb1401df27e4058040bf1c8000051b8400046846
|
||||
694f4b735c99250661fbddbf51f177f945c3fb685c02d1affd1b6c82b9584d53a486ebd9d96b96acab90eaf2b07aa05a8b1a0578acb65c6bcf0b25af22437c4bffed4774ffeda13e
|
||||
181ad1eb9b1ff4d382924cdd44225e2e78f0d9bf86bad591bbc1aa3ccda9d9fd3a470b621f6ce0f668069929f10059a69a7ebe3c1d42993d8b961045ff2bb208000e67b7000ec345
|
||||
9ed7e155b192eb18210d969c6e41716a66ab960bac47a81f5fdd3a479965f1617bf71cf0785e8f9ab0b3088ae0b3d40cd769645acaade51f56dd00629d656ba3ffeb6164ffebbed0
|
||||
20d2c74071f293fab03b38972adb3235daf9aaedae1b356c5eb928b201ae196e836a96a8dfcc1b88bb5d6128cb49f348fe1b7629ffcd43354c29a77d9f6fc78d0001e31f00015ebc
|
||||
09564232466f2c7b7e40122a583acd44e236ed8875322e831f2949da5e1b2793e45211c3afca8fac2c5a9e8703eaef58c7ae421b2a3667272458a98e7b5de7a70008eff9000a4db9
|
||||
031fec28a8652ad21cf6fcc40b99194fdedd9f3ddec0cea3132ff410eca34a3d72d38b9edb76712810b82bd19c7e4022aed000d4349ee2972651ce91eb4ff948000dc73c000dc671
|
||||
9a3064923dfce471280d5cf09518a2793ce625aca6e3e08df7d6a1bce5b8bb45cd699fdf6e20a7bb76746754edf4f397722d048358d119b9d3f323265b573fa8000ec3bb000edabf
|
||||
52239aa6b5c1b18da6d4d0a64de30a3a11de9b34ca7d73a2eb13eec6eb2d1a0c128de076590ca02ab9384a1276873dbb01fd8fea979877426a6b1bb352000a400001a66c0001cec4
|
||||
013c25c698b569819814a66ffae4067a43bf15427d386d9c461ed4a214f0374edc45dec586b6d2963a5ed08de7fdd151c50e5a22741f86444b1501ce8f962965001853f60018a39c
|
||||
541a85bcd8dcc3479ab7521ad2c26fbc40a728f35b83eae19e5544b26be8aba4b3e5a28ff34515f71b292971a89471f6d5963e284fea6b6903608dedb201fe94ffe6b70effe73489
|
||||
acb25a61d06415c563b5a7cf318b519e704550ea5976d7d8383831ed76c62b84cde97d37e00ff55fc52745a74faaa7e94ff2fd8b31578741b2e3b77706a289fd001539900014f720
|
||||
18c31bbdb49cc9c94cc018aa4f24c5fb06b8562a71915968bd1dbe84b36d3268a98ba01c02228440280543afcc018246c584829ff4cae9593478d7d535e7f3b9ffe880f1ffe8c659
|
||||
271d3724ab9ee74f9380428a4bee1e3d6c5a060dcb36cb707278d9037d27a2fa444051ed006ecccf1b05ad4b4d4de007f9ad21f09ca0e4b2ee35dcfc113e6ee8ffe3f5b3ffe4bb14
|
||||
669617a45323c85c9d796da3c79518d0312e908f2e1e3f57d4f1dbb6cdbcb6fa6765d9970f98f436b650847f232c512f3d5b74c08551617440153ef2826653a60009a16500093519
|
||||
7de236bdc70750a81e1a0ccba5e2c362274e59fed7f78ecb18892211e35359b7388cc6974bfe48cf4e4aef24c5a4d8717de024d7a495c64704f3a7df64bdc3f600053cb50004eb80
|
||||
4d3e7c2d9c0dc0cdb39589578e28d29ecd8ee535e977d457f3d81dabe0eec289f880ef56d5d3696c03afbfd7f688e1f9e2977a72228ca0f6a5b4db318226de52ffe2d46fffe3797f
|
||||
fa11c0f689e33fc6ef07da30a06e74470ec6aeb78c6907f4ef2a55bdf97e18d4cf7bb521af244f1aa54d516fcd9861643a823bb20ed519d8504a6b5530f2298ffff5eb09fff5ae4e
|
||||
3f9650751825608cfe4d34ede2cfea3c22a6ca8b8f39e63157641defd1c200f6c1beacd560b265b60571e81e8834cde43a054558488b59e0e4556559c92deb1bffe34e7fffe3125b
|
||||
3ff7da022ea49c30137ed48e77890daa2b372a48b36c91e7e91166a4e5af9fd63e05ac8bbaf6d647f5459e6be119ca9f9760d93a0df1fc4542ac7ae5043c7e6bfff2411cfff1d37b
|
||||
f4840c4822c71c78514c0eda142e8b5064d0241f3b02e17c4b434ddc97edc579e7cc6d44dbe8dbab66f8e39de0b7498a0d82196e8d5282631b94866daf785b89fff46864fff3845c
|
||||
4397ece9e5cd18da90cd8454b20435e402932fe180d8df003fdbb57533c5b517c32f5a9bbdf5bcbacec33e90d1a45a7c8217948302e46a97a0ce75904085b218ffe283bcffe1ed51
|
||||
9bb202de3c9223121638c60ccc81d712737b1e1ee9d0bb16291219a01bedf1af8caaa40a751c8e46a0ab29244c182882f2552269e4f4236fbb118a8ca5a5dcdf001b28c1001c1817
|
||||
4db290886e2443f576644a4705070a30778cf9296f731f0236584aa43b65bed90ae337f0420d7f98616f61bde53b75a2ea95596a38ac7319ddf395e17b6bc6e20007bb4400085868
|
||||
aeb88c93c49849274692c205e6191c1c8878d08014b1c400bb827311f56537295e5c8802fb12663342432fb7757b94066e9b2ed433fad744f9ee200e7f63770afff08181fff13d50
|
||||
ff7ffbbaa0d175a00accf05a4d87c018319c800f96f71a85b7aae7bf27ce94115f57f87e01852091deccd0d3dbb450884f5726afd7a6db9ad97b2c3ef95ae0effffdea4dfffdb1ee
|
||||
c1ead787898bc5f978e5e27e9627b444760b2b82077773a96d45f79659f0c24e0b9f716e25a97c6171873b72852b8e30e15693eaea839dd50de11b3ce60df89600093dcf00094e45
|
||||
8c19ccdc95578f545f03fbdb578e0b2eb0cf6f2d1ab58e2914db2336a74d9c2948b1737424e3ea6420d72123ed1b086d3be36c1be10886548a46384e53d6224300063b8e0005879e
|
||||
8c99d7fcedfa838386b99c15a90a4a91a2a524af4409847932d0e837a17b57f2a8e2db435a9858fdc9e2492bc9652dd0ca1580ea95bf7e147af733ae7c9d28cefff30e45fff2bce1
|
||||
e92f095b2e8a6d38f889394dd8adc5b0c5eb988857432e8f5e48c36ed2e00f139b50341532e226c78e0d3b5a5223f4c29278e2daf263ce8919c207cc54f97882fffc5e27fffc6485
|
||||
830d6934b8436b27ebd01e5288a03db7d290c50cf1bf03a0d68a3e350e222bd1d40737dc32d2e9707ab0b1bee1fa7c51d6dbb91fabb60189689b19cc2f672d8b0010e74400112b17
|
||||
51ebd4836efcd343762d81abaf51be46daef4e2030982dffae5bf61c4a1b5cb3f719c9ad003cd8f04e41776f74761a5a6965a28ae62c01eed389ad84d6f4e189ffe45e85ffe570c4
|
||||
60153a8df135165a55ed447bbe0b8dabf84830eed8c61cfca24bd73653ade73f4259d7263b8a386aaea5e655027f3f364b71be4a9d46b3c1819be4291f2226bc001d5857001da373
|
||||
e3529f336d3020b33f5bdca78efe8971980e010a3072d1b5ce35b7cfcce7013bd0ee4442f8f04265654f68c678888368810998f3fa2ac381e8568fea1264737fffed251dffed54db
|
||||
448c32f7eb0946856ca6b681c34d030f71d677ab7cd8485bbb12805e09567ce116fb42efe87a310422348a1b02f04a9c55ec52af6389cbbe2bbfe9fd29e38805000f98ef000e4a41
|
||||
23d41d9993760b56bab4187848b0102afb311b5027e87c36867f0f96ec47f8d46658c50bc309fa3c1bfb7799bb0be4de0873b35eb3e2f907f0aaaacaa49d58cdfffe4c8efffdf698
|
||||
3ca3a56dd4fb0b9c788bf8aa08486fbe6dfe3b41a4a86a2aea2c9aadc483ed81782e06a5599579c9737b86f942bec839bc35b254462f03dbfab785640939c3f5ffea9c82ffea3d89
|
||||
68e07cebbfd3302d77e36540c1b3c6dcfdc223db55af6cc4c61a18926f991fd5c7f4505ccdd25012618c5d80c265a003f62ebad2c83bc9a8420b6b702181ffc2001e1bee001db15c
|
||||
65813af1f7f64e41bb83352188bcdc95a51d75e51479ce5815561d0754b3e9cbb6c11389290b53567b1ca3d59882d7d327e4d9fae387bd01d88a095eafee6e100003dd6d00049362
|
||||
fd119ddc189a521fdd497817ae5547348eb15025929140fcc66e5a007e46efc790d8189a450fb9110ce3c8e3ad31a26503be95a5cd3594a887c7508f2d604a920016e915001755bc
|
||||
f0426c1d588840c99714f9b7fa04c1c3c6ff5f3c446614ca04537704a93b9a7dddf8512d25fb67e0755cf753604b0ebe269170b95b6d357533e377e23df2de4c00064d2400064149
|
||||
b00a4e8fcc03d4f215d5f1def7f92bc20e5dfadf56a7f2ca7471a1eccbbb176cf470115490553face965515fb9eee887e5be198627706ff2d6be0d20aaf54e96ffe250feffe240bd
|
||||
046348ed2bc27ce1bb30326abfdcbe6166363200acdb20d7ea967dac22819ad1870b458503655be89beedcdd648151aa24d92a929247fd057444bd53f00cac8afff821cbfff7856a
|
||||
49abb2529673df3209b6264115a2a7ccceb24eaededb9f01731d5b94416806606183a2d57d1cf125a81b4b75527a62a5655e47ff025abd71a3872c7c46cc5d48fff0c2f8fff0c97d
|
||||
847ba617d14dc80d3e8a6ce0e50172b72d5d9ab858e76421bb4b87d249df367cace771e002ff3c1b9a0103bab293ca86df5745d5b9ea3cbc7f043e399046614afff4467ffff41174
|
||||
06f98dbfe1dd09e8ab94168e5d47ea8e1a024e2b081ae47958e3402dd79f4bb362f08ed3c3c1e8754d15dfc1f96cc71f66ffa6f885f52cdb1d31cade337bc8130008ac1800093e44
|
||||
9ab37f97edabfcd240742aa507299e5c2745179db309b5abcc57810f84dfb994a2357065befb9c17d1437bb10dd3c5da3f81a49d75374628a96227744c98c550fff132aafff10997
|
||||
55e396d3d8b6428686d6334864e7d692a0d8720731b699e04cd8d7361f2dcce9f9a33950b298a9029dfab195de78e8881f30f0b7a94329c0494f214701bff525000700dd00078040
|
||||
f7be2d1fbfa80c069e23373b39f43efcebad5905834d2b67187256da157f29d7603e09ff98160e52330b08a7c5cf6f6d934091b83f51199a86a7f053e3c0f098000d97a3000e3556
|
||||
78f283debbf6c5d7b5beeceaf8cdbc1b8eb0ed11d057ae455486705605bcbe1bbe4e086c8da55b92f0a7fff873e418afed22f8ea993f81034d2b45055adb6990ffedab00ffed5b0b
|
||||
5a42d462af1ea77ba8f7271b83b0e8045e80b1acd6b2070a47a777f1474656cf3c8e492fcd0bacaf6ba53d4fdf40b3ee10b20abdf79302a3a444b1ee152d11600009776600093a82
|
||||
97b37ab52aa8a2ba8980ec6566bf58e0e056b81705941fe9fb5c32bee70bd0161c792695dea0cc6bc1593a73b37b2ae97a95861decbf6991d785648872d80a970003dab70002fbee
|
||||
4e2fd61abfd2d31ac15d8265c2f15be9d257eb0acc947044d1dcc7e34ad2784838745f6133617a57ab4a9a26f9a0e3b2e22ffd4df5a403f1b492d9974aeb6420fffa2947fffac469
|
||||
f0917324c4a8fc899c3f36c251cd7b6ba80559ce3b502765b1a4716f37046e4ce3879056742414f63a8b04c000799217f741abfb2cc7ec3c652d117f49a8c363000f790c000fce78
|
||||
3e6e6f2bed5863d82799deed1c3b4fea649668402d0bbdb83da9ee5af4d26749b8816011b676e48b0614032e7cc01b1a004528cf50b8c437bf33ef06f13257e6ffecdf47ffeca845
|
||||
c29b5a84e22ddb8b1a97370fd5e468ae9840ac147970dcd5130ff7f355a044279c09f1d562d410419ae6193e78db11a002eb7f688451c596f922ad3334a686c20016c4980016a8de
|
||||
5bae57b0a664ac878fa63f1c2e9161f5e6ceacdbc260d7c6c532df5c4856124bdb16c791ba237ea0d4487b673a259416228577285018f0ea81dc38bcaa1fd13d0014f7680014dce4
|
||||
a42637dd5f6d2f5d90a18019b0025cf7f3498810a1119ad37a9c60bc514569322d37a83b2e977ecd5be9650d8980534b5fd106e5b51124db5ce8f89114cb89340019501100194bad
|
||||
55af11f4e538fcec4106be0bc52cd3048f3d90b8972244ada7e19738158483d952512262dd1a2e2d1e43f65cd31bbd1d5900f748899ed0661acd53e5c3d9010bffe27e8effe26517
|
||||
5431bad805682e5f15abb2c14f09fa2aab415f1b5904db7de8ed732167269c5dc03cb7da02b4259aba728ee891208cc7244dfaf68da8bafee0f19a1d77b1c147000844ac0008375e
|
||||
14038293ec234f9f90d521a12fd70ab75c939866769b3fc85f1cd0bc9598cf1ea983ffbcc945ebd1bfb3f46c9050d0f4c970edd6d5dada4c46980585a0f06f29ffefbc8affef6a79
|
||||
3c4f74d39a67efac852dcb7731f23bd5941a15e67d58bfba5b7e30e0e059bba303b84ec76fadfcb9781e5a46bb15817aaf0b2e7c33ae0d82fbbf1e96452bacdaffe21976ffe1d605
|
||||
e70686017e688cee3537d0ca0112fa47eb923cc99c9f1486adf7181342f3ee98ad464675dbc578d67ab5d3845a7270ea90db8d821ad9a4697f3f0b0ce6fca07efffc28a9fffcb6ad
|
||||
44055ec45a0988655d9add67d61eecf8e7676f092ae9456a5c47bcc49137155a6b6d300960992fd4149e1cf8879067598e1d4b781e94af18b2342cf090b93449000ab323000ad47f
|
||||
ed3bb5809fd5e3401d43dc330acd25f17197606ff0ec3c68861ea306fc1eca1e8a26a1834be665d42c6bb7f257ef701f3ddff08ee03704f0335f8be2be74cb290018ac500018e4ce
|
||||
5652b16f21880add15bbe8c0db0b6302b00d05fff813e06369cab4d10f3052e4712a054f0da5e09294bbc6dfa09666e5ac2579087968860483782997cbd60637fff9e47ffff9f154
|
||||
272949e936f7191334b6a011b93be51f47f55eda5133531855a8ae51aeb7d2981eeb497afccea2053f2aeef42076eb304b314c180d03d82fc920b6a32fd8118a00176b7700178446
|
||||
976a6c7310875b768babf02059986023914782bf2668e8825239f38827db02a992a514bd86cc420a5ea0eea0a8fa98384090ed774cae84df4182a01ff8c4fd4f00011ea30001368c
|
||||
af3c4618ebaef220ff492531b687b2d7ceaf5734b318f3acbe1eb5be3f5014432d02201162d357f88398149b6fb736a3f265ca89746358e9ff903dd1967487180017d21300181c81
|
||||
a60cd48c16a7efb1cd9c6e183df0505bf02472f2c17a050b45ba28b8b72a9c1155d6a93d39e34232582dcb1e697881685353820aa9f9e587b965e231ea8ff00b000a7883000a5cb3
|
||||
4cf75d0478dae432addbeb3fe87ad589c75a227feca17badb86fa7c8b368cb6a710c62235198521ae3440915cd2e1a27e1b74bc73198aeda15eacf7efbfdcee6ffe88156ffe7dd2e
|
||||
ca1c695c16342bcaf3686ac572a8d5f8734e4dc7e9359655dbb440b473e418af5482cd2b3850452983cd2312c64b3383d35aaaa8b51d7ff8901609dc83d0ce24fff05cf5ffefe548
|
||||
70bdd286d01df2f5d438ed8225d7dbd65dc8b49a11306b95908afde3bed22d2e57f60855929992b74def356b1e86edf64633383442741b102f1c8b52c6f50858ffe90d1effe99543
|
||||
5de07829862f64b55ea10f1db10a7fe7182f4b8d9b29116857c9f454cf0ac4c27b3fd5b50bb82c3ead92379b29fa382e1a5a612dec1ba7a27559d6bb21a23a8b000480050004824f
|
||||
473177dff489efb8174c2c344dd0a47f8085e46f8ed60b521356eca80c94543ead4a4f626bdd1382c711b98481d2e4c92b60f6b715edc940fac78179a82b6ecdfff1c050fff1ceba
|
||||
f88cad13ed6ca219aa2438dbcf729508c976a288b7d2bca388c02c55a63d2ecbc6b9795d61b4cec53be51970bc5ae515c08d8cc187bfe27c424da46008617583000370a100038fd3
|
||||
e90f5bfb5e1b1482a8492d0e2dbec57e3b2dc831977d8aac205320b9420a3d078e3a4cb0661d0232e670ed87f61c1297af515ff8cf8e4509068fd3f377ec794dffea12ccffe9af32
|
||||
84a5f5957b4ce9e2328c22c1b959e6260aa9befa6242e0f24612d30edcdbd9c886011b69f85bc724bf1a266807e8ab5eb207d7e7cd721fe57b76bd6fa039606400139d5e0013df6a
|
||||
19db23e0b243ad05f0465655cce4a71ec287df5d321f2dd9ca30c2d9c2b76e955245528df8e8ce67fd328dc9e78322ba24625aa2c43f79fe3af5969f82da24e900122cd6001220e2
|
||||
0a11cb6714c43e3588441eb8c06b247a96a25169ee658aa579ecd745b545dcaeba10787f84871f3e08febc90f986dbe7536671bf061d5f0f2cf9a0e3907240d9000c70b2000cf6a9
|
||||
3d7bae3978305f7e18c615122947fb3215ef99b2bb47689afaf666e33e3ab601bc86f6446e75fd87ed4d4968ffcb2cdfc8a402a0ed1d25ab9d44c1a5aa647f7cffe6dee6ffe79a5e
|
||||
a868203d258ceaf16d22871ac74170f68e35014619ae6acf67565c6583c6526320537ddeac2cc1a95688a00bd1c118763404918c34a950ba59d0411cae6d8586fff20df9fff225a4
|
||||
ae55c65ab3e3fe6eb038c5e3009d1942c02023ae6f0b5f1c7d89296218c86779afc7e3c3341e53be90369fc9a5e75190f821134f11c31c5555d96e17ef3a2d5dffeef338ffeec3e1
|
||||
fec16bb979e317a2dc3995f21eac2dd47a04f97121b6dc6057b393cc88e29de7dffe8df653db73a5ff739c31f865eb476bc5e5cf0b8df2627bff77d52679dec9fffa3513fff983c9
|
||||
2128d6aa38989c1abc04fff016f08e1c56fd0b3d4c41738e1966b4e0c818d6adbf758362353281bfe642d3c32e01fcb8a120118cafb28a5c93eb872f0e8dc429001c3399001bb487
|
||||
bdd3baa319693760b1b60b96bff7228d37962f44a6894d5741b3a5f0df921386da3a4f0924ffbcb8cd841023fd5595593117a33cd4a11ff1fbb738b78462e874fffa20fafffa5169
|
||||
1736e9cad3ebe844b8bbecc00257e4c92a448c9871d5f1bf01b4d3ca9df68f7faed57f25adf65db0b90439d239bdd5c37c6a42f588bfeb51ccae7da2d63537b6ffe9d355ffea0259
|
||||
c2a9cb3cfb535f8fc381de8b656ba5cd0175cb67ac777159cd00d0bcaa62a74cff09247ceb08680c8a2c2f4be3f078a58282d4a1be3854149dfa73d4e34f64b6001e57ba001e512d
|
||||
224148fcf8462c6e082285a6d18baf5cc066b2bb02b95c4bf11de9b979bd54d421ecfc43d1dca37652020a9d5297c503836cc86de85626dda44c3ff03702d421ffe78c4effe6e9f1
|
||||
693d1830d6f400ce916f8fa6c530e564c464065c2fb5ab524a2f2048d0fb4d25f100b2bb072a5e1b5a4f08bd44ca75e4d334ac81ea079f58f5b5da8188cb4589ffe28d62ffe29f4a
|
||||
3586677460cca3278c6faa81d5cfa272de6c2582c9faa2c6b391477625bbe3c742692572ba62b6be8689d8e9c2c4647ba3d341b6aa3fb17b3f8783b25977132effeca0f9ffed3654
|
||||
325367e0149703d98f0b37eecbf4a2c800dfb3d9f0a0da6d770862c575711c30bcb2430316003944601d411b641e60ba0c2c8e616a1d965fa3e2f63aa588f6ed000742ee00078aec
|
||||
49c340d17a9a6f907a0b11c21f199a4cee765528ad0e20ada90177b4f8606b379da813f3afc982761472d6bad1d71551b3c9f09ac6fb49533cbd7fb98b2b7bb2fff48e06fff3ba96
|
||||
583db083b1824a8ad578a573c671e488b22653d763eeea4e221c7cd22ce5784c74f6a9a0e97507ca927f105a1ec83f85c5789c536f6abac49edde08f6f2a56c1ffff347dfffee6db
|
||||
c6bbff271d87d7b93b41a9a33771507e5fcc45c2f6f4be13bef0215245055cbb0e93355e19ef6f8007f683048d56cae36b70ac14101e3a5a3d9236547fce6d8f00048f3200047817
|
||||
e7d01c776fe48722a54385728f4e350af992dddb0f47e60614e1df335054147f52fecc72979a57d46ae8748cc7d1794a19a0a63f9bbf83b5b2eab68269bb9cac0015610e00154ecc
|
||||
fc0e7f6441b7779707a25de2d4bcd26b7d3969e26469e4c287d9df66c0b4657ec88f0dadd1afa167fe461578917eb1186810fd5be166302ad77c9e81e02b7bc6ffe5ed5cffe6149a
|
||||
1129650f2a6b2f848b6096030746d05eb879c5906469a7ef28c5ba9b0f3705c1c2ba1f710bf3814c9e0f7c9c929caad25f5a11973869b2c590a9c49f754204e3fff95f18fff9fb4a
|
||||
3fcd89c3cd28e6d4c2e479197fe60177862d2361455ff35c0e6bf2b1959f187c6976bb902197b9f117bda2f8e24c0e25e4ed50674b4654deb9462750c2836c05001629b60017074a
|
||||
c947c98d564e58b8e413be80226d7e1fcb6835a8abaf557059f7886ff3d6b57e5b37903c9ad6a3a99b470615f90fcef99db9f6138554173c574dbabeed6dc6ab0012162e00125a57
|
||||
e07e9ffa85af8506998bb82a2f4cadc3b063d021dc20555a74d10ff24ddccbfebce2af352f64a07989bb2d6073f6d5f00fd9b8525b122f07df9c33eb8325a342ffe54567ffe54d02
|
||||
8ac23760a245950ac34becc973b503dad6fac17e0366a0fea2834b6b3787222487fee201fbfefe5f5966e170493b7fc841f9917cb543b867b5f98f3967a2ba56fff6df25fff62d8e
|
||||
07e0c56d039340ee6e7b8ac2c4077b1e6c291782b816aca762853925d8c7f67be04a77ffa1e66987aac5374451889a4c20fd469a4d39ab62b9d353a5ef5e19e7ffebcfdbffeb6fa6
|
||||
8b6e8208c2c70f1f814141ef24d56695ad4d3764be16598d3d1ca03c0670ac5f040d81e6fe253705812ca8cd1aa422af8a5d65a51b6b09cb7b6545d92bc94f1e00091cb300081989
|
||||
175afbb65a8e9d76ea8fc0978f04e32f126ad0c96eb07eb45d92e7c512704d9965eb266e1f3ed2fcf15180932fab4a19208a7e713efdbb9dcc8228c4daafbb4ffffa4432fffa28fc
|
||||
1b732ec1e5e51370919779f704454daba4a46f1e5c897fd68d0f707351324c7dd3cefaf29f5e297172251c380467241ea598aef0bc431556c4cd61d50f1eac1affe5bf80ffe6537e
|
||||
bd49d5867dbf3b9eac34c30048e1360c1900cb4e31be79a59ea3cf0c976b42e4c5b6a2fc29ea7f81d3f9d9ca45db3986f40c3d06647bb10882511236fa867d11ffe1a23effe0c650
|
||||
51a811e354f450738727ce9cc5b6f15dcfdb322b92abfd0fe0c654a4f8920eb26334326dfc88076147e65ccdeb9b59eb53eca1fe12f0ca13d6f246f207666d9e000b621e000b6f24
|
||||
a9e7caec34594420f126decaf07f08a5b87dc365ec0c365bc81a18aa1b5a715ecb92bd793b574296c590cda988ec727935ca63c20b21626b4d61dd2afc763891fff27296fff2ef13
|
||||
b703337f37a7e696365e375a286dea07dc7a55eb640365acbc02ac8389bbe3a1f56318c5f2b889ef07758f3aeb3cada5d945a10290904a866f831199667bb029fffdb85ffffe0926
|
||||
d4bcba7cf5bd46c96b7a2b9a0f821f0e3b92334d59cf8940e72b3cf6ef5bf1226f1946507ac0cd6e7e452783a961e2bdfd6780d1893953a5807e7210e6fbc5d3ffeebb34ffee0106
|
||||
0aaf8887c5ef00504bccfdede8b34d20355ff1308a0fc318f393f8ce6bb00e199743b0da965c92dcba0f4b6a44c691ddb3d874484b64152c9855a73ad156b649000446a0000453a6
|
||||
748f14546fa6ce11b92a35da96f34431be980a376db154372312215ca05afda37b9e4c9b2ce83ce64e4992cee734f49481ea960295c37115a37dbbd82ff839bf000c2002000b91a4
|
||||
af138c6a39ac6d0e94d370df8fade4929e186ffd0eabbd2d29e2e07c1632caf6cfab759729f317d53dfa5dd0c97b6cbc434f6d5fad4a39d54d9646d6916bf83d001386800012a05d
|
||||
19b293681deb20f4e12d790ff7a42e59bec351645cff0a9154556d8803759fc37b2564c6441575fdf540b84c7e0c60b38fa24980ebfe69d2cd98d34d69a3da060016d96c00168523
|
||||
a8b4e8c39ccf98a20f99eebced2c16684b27e326946881d575d052f0a7af19924a6e6ef9c431710b16f13996fdd9b332ae1ea06853ca4a69f14e6bdd233c0bd9ffe29e06ffe2a0cc
|
||||
9be9ab904cc2fb39d342a33cc66eceb130c72f4169e94fc3c3c3a2ab97dfcedfd6ab6f68a619155e960ac39e5ccfbeb5ae3bee335ebc1225ff09f8643b36ce9a0011d66300122c35
|
||||
85151748dfba7e2fa62cda5b01e2708ca9314cb11b5a4fbfff94de09aa5fa0ef35bb4d50a4c22c97feb6fe8cb8396a35b543e417a6698e7e66e6a251e70a9240ffe58672ffe463d1
|
||||
7455c95dda43d7983357fc6041f78d48131fc36c5f45d0785524548ec308f1ac10cf34c9106f4a80dff2992cbac999071da1f0c10d2512e61cead6d20c3289350008a4420008380b
|
||||
8eaf1445316afe14a961d9e57851dd28af7718ad90fdf331aea363b2c08e3b844257ee0fe145821235c987dba986e583ad83ec5e2d36ded9b736ff63d6f68bd4000cde67000d674f
|
||||
67f8a9042a431fb3c19e9dca9cbf54658d5d95d518c11954d7fcb3be294bd2c3fa106f86ac0003a8463eed896a3f2da75ee5c62fd28a095c1ffeebf7454cf7a90006805a000704c4
|
||||
2643b2462362784c6378aa47fea5a0ef7d9ab6e46a07501122f72a7fe697025845c4a4e8c554d5db60604f2b10822f011a3925b47b33875a605a6bdabb8c79b6001636b100168347
|
||||
d1c18741ea828d9ceea3ee299f1d31662ec770387cf7f6481432f5bb2bc23f46023ae0a988a36b93fcc27b5649ced648d3f88513c2e423a9649a0b7f489343280013654900138103
|
||||
14c8bd3e357a851e6ec34e068df85654760599f51c2c33bdf6bc84b36ce47ac0dc419accfca112970832c5cf2cd5d4022e8088be5f2f2e8c17d1b1861ca3f64f000e9cb7000eb9ba
|
||||
0bbc698a82414ffd563f8d3f51df504f951226eb836d263699dedfa2b4124b9846c03eed72a9ac712611ded85e9a86a141d1753e5f54a0696e73d90685febbeefffb3c29fffa996a
|
||||
14bd259ea005c91b77329d23ab91577b270fe00c7e6458ee2026a629eeffa79d62d5208b420b5d910423cecb2cae9f6bcd4cd8817e6b58abad575ce15f2ffb47000f2652000f3ccb
|
||||
023fc71460cffd8aff7b5a8d08a0873b20c0fcfbbde595f11eef4c392f9887559e5935b2bb40f7a4a6511a1f06c4f05d4686e9fb96b320cfeb3f0decf4080aa2ffef1aa4ffee24cd
|
||||
aabc221d85863a932f7d8d39a8a286a73ea01cab7497d19ff6898ee6edc6ca991d9ee509911b8f272b9216e7b6ca565d082f703ca2f476e9b358ef71d7c60be700194ea90019ac4f
|
||||
40d2ed1176d80dbd500070dfd95564654ac52665c07352e4c589e02a1660c37ac1acd9e7093f3ab761876ecaa46ae281d31ca6dc2f0353b53cc1584613fe789d000d3d2b000c78d0
|
||||
aaf7300358114a785b3d4c6a3637bfd42f642dfe1fc804e9421dbb98688435bad7347599bba484210bf123f1053a3704ec766583cb4bc37306204d068b9bf8befffbb5cffffbb961
|
||||
fd4f9f3e0df5650474b21b3b57b423d98230c76d8d55ba935bbc8aa3fc50a0d5da6248df27fc207f4ba381148ed6e510cae8718fd2219b614b7f1e4f930921b3fff874ccfff7b564
|
||||
82e47f147a77ecc7d6818dafed1c8ee20e142a0e322abf28af1684223793f44f143709908afb49b358cc9bda07f26b604aed507d054788c908f216acf305d3f2ffeab98effeb6aab
|
||||
f24239a6aa3db6f322056fdc4b80b7e4c3588d23ce96c57a286fc7700cdad7dd0708f2d92e44808a54233571d1e6b8b54e3fb4c903da9f51d7e9cabbd9a4b9e5000b93f7000bc1b1
|
||||
ee8c3f277f8090a558e26a640534693c55f817dc728bc2c65a0bdfb205e78ca10c965f54d9799229b7c53181689432cd3b92b7d0be3fd7319dd431cd1561dbf5ffe1e850ffe1cd83
|
||||
1d5ddbb807635fd7d6861630f68972b87027cfc3c4f0e65d00a5bb954fd1202c73cb0c5bef69e7c514aa09253d90c7c0f862c18d4dd5c7d227f5fb6642726e48000151340001a9d7
|
||||
f52c783c7b82cc2a8eb498994b45d900971a2b7cc31b6ee61ad5b201075e01bfe72bfbfc0b5bf036a27436d3fee5c964e39959822ead265b163e309313d126a9001e2f50001dcc95
|
||||
a218f58b90110eddfd02eb05541a49c62c8d762e55754468e1f17e6567a7d6f3c1b5b2d7e5cf45e2539f2e3c3fe570649f2c66cbfcd1eca5609415db01c00b440010214900104721
|
||||
1e7dffbe4bcd7cf980879f5a4971a5c48ae88ee951e7d153da8efdb7102271ec76b3058316c4289acc1f67928716204609e43da90b0ca7a1696a80010dcfafeffff593c6fff5b3fe
|
||||
8148baf4f521ee7193abeb15cda017d5df5e1b744298dde24dbbafa1d14edf31af3f3ef0a25f6e4acfde5fd53a516523c3153f2b1e80c0128f849af14b2f68a7fff60b16fff6054f
|
||||
4304c29ef8c03af4935bed7465f4a2f7d01cd60a40a7871ab06e64e746f78550e12d37ce08f556640d4db9366d0d05792b503f1436d316848677e263d48ada29000a003800093f03
|
||||
518348ba41828a4e736f52a15a3c9f94a90918128655bf8ff52d552762ace63e7360dc955b5ebbb0914d09968db492ffeff73dec596b18794cba08deb5707167000d1d6f000d58dd
|
||||
abde8bc0e974c04c4a9fd67489c93758a8b5ff68959bac2e3ea1caa3437cf7e06f1d7a79bc382f2a7768a0eb02b8d3ee2c81e3a724eeffa26431fc09c5e6538dffecda07ffed94ec
|
||||
f71db82c6b0700d65b25f7949d04292ab4d4d938b62f354974ea3409f5004c92f2b43642334a38e0e3d7c710455d63909121758f370f2d3feb13a2a2988074fbfffb7894fffb8931
|
||||
1a126b29ad9c1c7241cc132670434d72dd4fb8a51a2f080102ad01e7e1e85424b67fb6d36b4a3089f97a94cb135126f492852c8fe14742658ed71b4f04ec5061ffea8422ffeb8e68
|
||||
032fb5ccb7cf1ae204afd4b220fac2ab401601539dda1f94d832c1bba79e4d515c4c09a131934ffdb507e899482bbe80d033244d0c294b9578f7863c60957eb60017e5eb00181903
|
||||
4ca08d8b1e298ebc1c74d86b62b914c76b8c6c60c0d88bfae3714a210e2930a37f3f3a6aff2e2fd02e55c901bbe2d0fdcbd53a315dd8653cd68c27d8aad24cc8fffd3e99fffdb746
|
||||
9abcf5cc5680f3e71f9f4355c0701ae3c6d94abab0bda6b8a0c07fb3bf7b48d6ca36643a05d6069e5e80b76f2f965337079d838f72748fe66f7a5051eb8dbaf3ffff0df1ffff5d5f
|
||||
ff7896259c757f5db95017ec958d91bd35f38f54a01cf385faf7f2e727e3e35f53ee7de80aeae4959bb961fec047d01feeaef61981c34995e67c06fc9ff111ba001cb3a3001c95a8
|
||||
84e0e86f4d252803c379eb2bd26c724d82469d4b8eb416222d6105b00aafe55de24333ce1dd6b2eff3ab711a69b14b3876e9710c6183fb97cf874718b83f9f8bfff23453fff20f95
|
||||
1c3eaa8c1bd28b0d882bbccda211ef761054fc3551d3903240ff898cffbeb060e0012660b2973ba60890be2201e11dd3efd8ff6af0e8be505e187d033a2b03bbfff06634fff076ee
|
||||
263825289784d5765a60407fc4e227427561606b4b503180485277cd83b390980f35a68b0d3d9c4325127d8894e78b073cc417c5e34f7d6b30a721cb9c75894bfff0a1f2fff15be1
|
||||
fec9569702bbeb1fcafbb726d52b195e0987c721a7f3f0122de5b28b3104a563f29fccc897574701fe3eb9dd7d7ac6af6324e0e1806ce9d894b16a4dea720f240009f3ec000a17c6
|
||||
b42a1a4d8bfd4477301ed9f8680859b8896318b4258f1c72ecc3b7050adfe283ebe7865eaa1203f00911a5bfba5a498b346a180e21bd4e6f6ced69abcdfc889afff87042fff837da
|
||||
6f5297077dca331fba2c761a055363c56d4e819ea534b58512988f155a41fed6641df4bdb7c8f8712c3972490473826f1e2518d64a7516b05f9e6a3aea5265defff89197fff8fdb9
|
||||
d4f0e888f30b654a4e5c605b2ad4918a942c66d97e113f4622bf1697b217c7d703b7e5162bb906b324716a376c8e123a1008cae19e050fb74a6ba93d11a99169001d7443001db271
|
||||
c447371f47e955455d0bbe9a86174d017491b5db086aa5fa1498fcdee8da3f4a1b254d8d1fff70394823fabe7769b7ef935d4aa993ecf3af249ea2612f4f774e001343a80013526e
|
||||
0732a4388de05743807cc5bc8569c059dcc523c2351e26c77d1f4092928e776e9518e24ec23f4223847a310865dcbd5bbfc26db80a2f17bc43412960d918ccf7fff08e9cfff011ad
|
||||
5a8c5fe84c4f1eca36cffaed174bf18a392d6fe3c72da331e840c25544c0ca6a2cb42562c55e136a3fe8f83034c837c31f21deafb6a3a4f1876921af48d0dbdd001df766001d3836
|
||||
3b4079c14a5000b52921a03aeb87960cc31af9421b45faf426137a2440f3f9e2d39e88d35eb92f730d3cae91b227ab17bded159b6e1465b83310f976f85da75a00140f2c001417f4
|
||||
4e070c1caa773dcbab286a14454d18ac32816069d46cf0e8a292f862c3caec00b9821d242bfd4f0137fedabf419f472d2ba1418108c3c01ca185becf2caf9646ffe27b2cffe27bc1
|
||||
37b7aac5d0db996cb2a25d681bd0613109957f9195cab8eec4d047aac29dfb65ecff0ccdcbbe0acf5af098386de3866b9368357a844364ec716625d32debca9d000659a800061d8e
|
||||
7ba0516ef5a358c76e5bdbcd69305751bf1e63bfac4c53a1508e4ce875cf2a600cc1b85116d5570af99413718ff35e4f82fcb7e16aac1005391096753cbaf2620018fe2b001870cc
|
||||
5666bc90246b68b5099e2cb4a36098bcc6f06639e69e5d060c0aa221c7da98dcf60cb03bb5b6d8ac3ef49c554d15578d2151f2dd48b93faed2ef8822242828b7ffe33067ffe317b6
|
||||
f38cddf0ffb96491b73ce59764eaaaac3ac219c5b94b44cdb2843737b5ea5a53f380ca8105d8fc32fd3b405938dbb6ec560de8c097b23fcfc8c402054cc17c5d00191b1700199d86
|
||||
5c4eec8c015c21c4b607049f294f59200e5ee57bbd891359fcae6b8d30b1cc5101bfa5dd45e3e842ef4e6ec426e5824310b6b910cf39392ec36c4794d998861a0015a4be001522d7
|
||||
a3b4acd0dc4b0586f1970463eafc71ee8e88b69a12bdd7113a49ccf68b1b9424d1bdb2627a36972bb83db94860156012f49dd4d332bcd5db079f361a9c9c1a09fff8f771fff968a8
|
||||
a020cd8fc41e4c6477a7722cfe5279cf494950879e241c7e066d7a6591946de48c4bd3d3dea96b04241af8c917c7fbe69a2a6147d6d7ea0b4fabb024796e7251fff6a9e0fff71882
|
||||
430ed7b028ceafb4fea21e580df75da704ce6d4bc48cc7903eef7b84591eab7a3e6c0346d40426abeb1ba2aefe0d24e76ed06f83cd93852a50cd83a04821425b001e76b2001e9382
|
||||
dd082366e4e22c95dfe06d2022b8a9d3689153f43f8e0e1404870ca6f19c4df381f3a8b800ecd1aeda3116c50968245cf566fe34faa9875e915621ede008f4b9001beb88001b8e90
|
||||
a2a8ae1808e78129aaceb5020a264d9c8d3c789351d8fdda76d18034b24af15d81aec9bce10a49fd99034d595cf106105597c9946b430a7fa193b3299ef92c68000cc7a8000ca89b
|
||||
6a100453cdd68638bc4762fd62b9515f1b91196e0666c90c91946a4f567bd60c5082ec35ef4d8b0e2302835a7f37b87a4129d0d41988511864077f705f4c9ac1000c06a0000c753f
|
||||
6e67df070d853e626ffee5f660415e42a8f149196f0d7bb5a2915525d197de02e6f561c401487705abb1d119e094bdb74c99e12c141d94ab3bf0794a053a6df0001555ca0016386f
|
||||
d0743e66f0a3960266d1bc1e5e6db5a30d648e645ac383052105f14e18a97c0753f7c69ded1b7091b0bf827ed32a200a821fedfd2f546cee0f7a4ac404efd0e20016b0f200163e7e
|
||||
0d993b07f6720daca7265af3791f3403cec0a1f2059b107e34f0a031a59e1d8f3ae43311e30ab12c89ad158f857e6cfafb481a852869758c22bb58b7e8059660fffee39cfffe3c5a
|
||||
e304499e3e11b296829a7540ffca28aafff608fc7eda1d27ae8278cb0ada14e6c9058c6a0fb369cf2bd3f7b90b1c9938c5d5d1068ae8eb14bc709aae1f8416ae0011606e00114349
|
||||
0b64ce02ef1a499418599a3ce159ab1b63d25cc88abed4ea8ff5e110e3c5dcd647cd5b97840093bf2e7cbcd042ddd4bd2181b4333670bcca02ae801eb0cdc0ffffff83e8ffff6484
|
||||
d7b6faa020a8a80a387c92ccffe38b796a0bdb43f4c6622a08237768b8ff3e3c0b422e3611961d4b7fac0a616378472e385d86e72ce098fa01201d4f25655792fff37433fff3eed3
|
||||
06575b54433c54a9b24b0c9c16277ff5727b875f272d5563945bc34588c03b600553d0fdba036e4984710d65280e3da3c2149ace966d9a5fed5b1c0f1906218900166d7700161525
|
||||
b3ccc0c76b2c5818c11f1394ed5959fac2013c45eedc68991c108efe4984b45021e27b435df6e947ee1c0fe6b0cbb81d9770d40340dadd53e9d15c19cec623f40018410c0017fc36
|
||||
74af374bd13e4d649028f1351dd58fb1963e2cf508ad2bd306a1ab21a86e6d771fd4dd163d4463f6ef419c6cd0cb66994e726c973078b3469c615190956ae95dffe5ea50ffe4fc0f
|
||||
540095e5a55df701ba953142f4b7c3916185028adf6ae80d9ec0a7d084b7dd40fed49994b6556aba504cf1512f71acf1bb89771c0436f77c95b7ffdf48baa08400017d3300023a7b
|
||||
ccc6e49ed774cdbc7e356d6485b663d63a35404f2d2f44d8a6a9f4fa62ba1fed29dacb980eca153467a14e8d3edd20c6d5c07bedfce9ae2992587919cb30ccb1fff8867afff8a7d1
|
||||
9d00ca71df4a2d486c3a10a860a3d9f8dcd64f4d67e56c1520be265ba044f55130ac46b857449fb2ab7b7122727fd10e8944452d6f1b44a0b9c25cf1eae1886e00032cb70002f443
|
||||
8e18a4756a32519ecaf2a922c5ea5c2ee3d59305383e0dc6757cad575e772df7a146c4e14aee3a85c327cc31093bcb13fabaee1ebe3da47ca032fdea462406ea001850ac0017e3c3
|
||||
ac579d9c8584047a3f59d70127a44e2d4a350e3135cc499eb772a57d9df342ee1c9d23dc43fbfb96c15f2ffce50772d454df1b1e62e83e5f12bc7fcf2cc2beecfff58352fff5273c
|
||||
fc162ec2cf36832ef0c5803d0005a409dcc46c13d7b1c4f67e60355ec974ce3c7f753399ebd7d7b8465c7ae16f863970884d9b21bff4f9ba9ff86b4911b9384b001c2fcb001c46e8
|
||||
26df797b9755534d4491ab8261520b3d67300c83d494056a47147da0f9c88d66b7e6f4e65aaac8ebe941e634c7530ed073d5964c731242116aa4d6f136d696f6ffe78624ffe72c17
|
||||
c853cd73de9f9170dea2d8bcd882ff4131c2211b8adaba49cf7ec61aee254ea88a5a6b3ef491c35a44584afcca74c207125caa5ec27f877ab44dd84c5e0a3dc9ffea991dffe96f33
|
||||
1c1b102211a7122becdc1fbbda5cf628bb08c80f2cadac539a77c40976683d789d4cec9ac9b57c8889ab37a643857a575a1beac6abc5f2c80caf1d1aab83b2a4001be7db001c092e
|
||||
c5fdace7052e12f67e0b50133332875e7e5e8e6ece16ebcdeb606b81ca8a35aed3cbc6db01be33dae879e20ccec78a063bc2292242790a1f994c5d56b50de4b30017abaa00178817
|
||||
9a2458a152853b9fd187c14d15c3411cd3efa7cffc3da5fce8a181cf0a136b88f6f6265f703ddb1640c7641d758ea7895a87bcef6f13ea94f4a91b41951de896fff8f9bcfff8a33d
|
||||
9a06c3ae943685ee33c5dca3fcce107f4d2904991219c44be27309a3e60e3d594ddd4993a08b08c31cc19e2bbe1ed00659004bcd4f8afb8c696114a50a1a0ce00008af5d0008899d
|
||||
f08eb8b8e70dd6cf9bc708d6c01b7432afee3f9d30710a787d99c8647bc40e14520915eb9b5bf8b4f53a3ab8012a966915b33efebaaf76ff681a65fa95737f91fff0300fffef6c0e
|
||||
68d113eb439d18aa033860de5b33bb749f5637dec021664a4231cdcbbfcb4a9c8993bcfb230da35568035e12b6a97e547395ee50b6732cc8349d72c5421573870007660b0006ac9b
|
||||
be3155c1132d60178a0d001647ff4c9e5ba9b1a221b9cd49462fb3855564f52a7883bbac248b38824574a9c0d02741060665674c33be1385ce0b3f1101a681b2000ac70b000ad808
|
||||
ed1f593b0191f74762ae5198c6f854c9a2e51c282381188bb23989590d358d12645b393afcce69096647995c6d2ad8438b84f566540449bd061204d9d6eea72d0000b95200007322
|
||||
5bcd0c247989ae1fffc66d70ca0ae5fd16d6bfe51a6c708233d034b2964943075764ccc5892faf8d747e17f6c473f86d2190e4747ad72d1122eed943e4c30c7dfff236fbfff1de60
|
||||
bd30f16e5fb1860d3a44115b1144ed3b0a77678e308449994250b5ac34b2ef75d8d43f3f5087684d76d38ed1a0b296fbed332873b825a4b83e58aadee8e2561cfffb83a2fffb9471
|
||||
2cabba310c57801bcf3689b65826a92ab59f16743749dba5aed35d09ebc8f17d02a53cb35c7f6cc727eae465bd64b1941ac6a72c9f0cc22ce6d7278f777b6f78001b45af001bc0a4
|
||||
c009f70cc86c8752869eda06d23a4bdaa5346e3ae0ce58dd18d70057a4b315872cc6648128e3ab01d5bb23687a2967d22978256daed3331aae0d144181cce2f6000227d300023a6f
|
||||
5cd96b61d4ef5690f236b1eea77605f06fe7641e196ca401949f31f5c736199b436a76adc5c07e0ade8d47b29d41cb72355dd61a5d282b38ca5a626b5fbb3746fff92f80fff920fb
|
||||
de2fe85c0b23f4544bd607d8580719d00ecb58c5afb31546c4a626c18fb685f1b760d325e245d67c05522118edaa6b6df5c024b2aa3a1fd78c67f105c7dae90effebc97effeb94f3
|
||||
270a27d729e4403c066e64ca5af0081b529e41d0704e5358f85b420e632b500a53e79aeec1176a6d5c197e8184e94e699004d4cf46c134e2fd56076ae7ade45afff7867ffff7a83e
|
||||
f73f9419655f2857ce3f8523f313f864193953f9324f3e6ed658f215d44944cce3a622c2c47131d7b1b178617155bf0412131932cab5138bc909a80d22914f0f000d036b000d52c3
|
||||
f8aa3add23893caf1a9298c02f8cc3f3b6eb0af0b3c4f7c776752760e1b2bc4ca8ae03670da77fab19e8aedca504e72248f96870635d4d27b0cc57ca8992ae68fff6814efff706d8
|
||||
c079a2ffaf6e442001fdd6e0ad38bee717fceda46411d59a47074ff052f70781c42cff708493ef845981cc36f95c6f059a4601c5825eacf24d723a05acf7f262fff45ba7fff407eb
|
||||
6806786bb75a8ea8efb2b13d1747cdbdafed31c054bfeba05ea96fb352b8381c208425fb4396ed64a4bfeff5ac5195d102c7b6339c33def40b4a4e8abacca5defff36e9efff306a4
|
||||
775cd66294313c630a979bc43f648564a648a9bbc314949ba831d560282ee371ec70c9a025033917a78cc198bdbdffab21542dde74b9e788c8ac5a72ec59e861ffe7425bffe7d921
|
||||
2f79878cf8955f5f46fc9f0a0106887c712080e9133f090a3946ed1fda26b37d5d52aac11c02c1ec88ba3a46633b8e315d0bda1ff21a33dc4b334a652471897bffee9accffef3391
|
||||
85240ee43df77b32759629c4b3f416f685596fe206a849e07fd3bb62edf6fb14eda65092842be9f102f1cd48e11568dc3ab8b16692df185a040e31520985190bffe62b7bffe52892
|
||||
b90a924f75335113ad54895c8cb2f85f984b930356b232c86193b9bca230625727932127b6adfc76efd913bc289904a61721cec7763a5aa5f14e87145f5c088dfffe2070fffdb7be
|
||||
4eafe389c902e6449e296f805e0ea7977d2efe39e5acda398053c16105cf3a871e0c243b2384eaf4fe6fac17f02a2ff21a35741fa70bbd1b91e8d42e520818e0fffcc276fffc41d2
|
||||
f22f6a02993b58fe54e31c997f00661cd10d9f685320107ea8e489d767eeb95ae1e25d49ea0b4a4122859d0a71f417b118e904baf22ae1e0b1d2e75daa7ebe18ffff77d1ffff1b49
|
||||
8f7fae072a555badc1680899424f0fa32a9e4e53ef864df6ddeca3ed867288034f8489831e6fb101e6959c76cf21e916949620f4cf6dd054cf3d82772a65d147fffad45cfffa15ba
|
||||
1220e56b3175095dbf80b9fb876fac57bbc8ca0095f6fd86515a74289121ce0394be933661629f6fa108b1dd660f32f261ac8d9a6ac7f4dac04e3d636d94da2300150f1b0014f91a
|
||||
d20c8bbca651ed7b92853a2199c1e0a8d444944aebbadbd1756f16eab73c4bf027982bdaad33c7f5a5eb0939ff3b57db9b0f544720c57467bcd4467857fabb97ffee2c68ffeed8dc
|
||||
69d3129fb4aad644c0994848a9cd4b4b6590d95117e7dcd9245d17df78c42ef124f5d5c592068b251aece26b587d733078349449164bd1fa5b8ef58f7fad99af0016a3c300169fe0
|
||||
8f3e3abbafbfec6b8618ead0a92ec3b28a23cb07f57174cfea44216b88173024132ef06c36b52e7627e77459e074deef6acc8a3fa0d0fc2820ff167b5f95425ffff7172dfff6bfa9
|
||||
1b9248069b8c8b6195caf7a2853d74a98e4e54697c762ccc8055eb7b87257e4c26deaa9a104d20a380c94c95bde9d9996f9fcede5fc5f855fc70c83aafbdb52affe4e858ffe4aa9d
|
||||
2ea1203db8e5c5a39abc6a585fbedbcdc4524b806a908a9f24bdfe040f491459a502baf1283228797e2d5e962cd343778eab5e9d20c5bdd12d2f7914ec8374c6fff69fa6fff6d568
|
||||
7a4f2c74dcc04abca6b838c2e00bc26eef1e360622fc2d6c6928f53be6907926fdaa5e997d0541ab0aadbeb57480f1526c4660e6d9fe07f0250de07153bd5161ffea5e5fffea63ad
|
||||
c6e127b6d2622231d09e7600f2d31a4a99eb36b2a426b14ab7cd62afd0b8c5eab0a6612f60fa70c7e47f01869e3e9830d96cf50bed1629c48f3b5a404cc8e51b000490a300041935
|
||||
e2116239dbeb1874a8fc74a9ad46497d6a0d3315d43133f0111b00b0b35c85d7dd61c0453fffa18693a55b2ead6f8fd7e8a65e8c75ad21275ec1a4d1f5ee2e0dffef54f6ffef42e8
|
||||
c44ca5383428bce57f4a1a8cb95ba39851b1d27a701d7d7fc16bc4276b49cff17c88e0cb01a7f4a46d2dae2fe1ac2671acff44262ea7714b176c68b39c85c7a4fffa0d07fffa6fc6
|
||||
4d3a2601c3aa638ffe45246ec00656b0f7d115ca0889985618c2898eb7fdca477fffb78f2ea673fde8c5e4adf3390d8638e26a8c5233de02a6e4f0d786b771e400016a6200015efd
|
||||
449187563eb2827baa9bc5479870d9f56b637aa328f9d361aa39f26fc2d0062ea6a0cf89875305cb0ce3b49b975121d97162f2f1bbde9cb204bd3ca1a90f85d0fff77dc1fff70155
|
||||
83a9f0694d86de4945032ff2ce6eba411f650ad527722a94180a8bf6a63229ee11c1e2855212dc77e2892c46f87af8682e88505b9e178d4a76229c6d7f46b1d8000ce3b3000cae9f
|
||||
fa3a7d500d2736bbfa6f7ac32fc0c013b19acd9be65ddc780016b8b6b4e37f0a9460037d54e3ae57998cae1b824deeb39948c8491c83df092e8d26efbc637747001c9d1a001c2e97
|
||||
3f126e8d2ac97588407667b041f952af1d06c933b644aea85924b7242d347936ae7e4f1940b0bd23fbfbefdce179133013cb611064478e8ea37f7c313475d2980014610900141737
|
||||
c9d3aae40b9e9f8ceb8d3dea8c0836842f870834d9c6513c1ccd659e8197935890f4833359633c03b2f4853ed1e58fc4e7bede1bb718317b094d9218ad9b840cffef7085ffefb705
|
||||
62ba8fadda0af0093866fa631600a2e4409f2e15254169b96b87d1ce87569ba554bd2baac1b0b931a53f1ebc7e7a79733ce43079d5d69dd97a12ed802bd444310017ed080018306d
|
||||
138ca95b2f14507854c1cf9d4a464385cd1fc69092bea68559e2265289985aaa35210f0a52bbaa64f77c981e56837a2909032f172b58c4d5901807577176f2a00005fa3c000653f8
|
||||
35fd6bdd3b23f58861edd7aea75d6e13b30cfd0817299055723bd5be0310220871d0a71f3b1beb7056a03934f7552cd3fd4049132cd37bff9aaf7d0e666ec113fff172c3fff1684b
|
||||
be71febea0d066bc8ce6bf573b565c2fd5d25087c09a320f871f93f5df576c24e97fddb72a0ffde75189fe39264056cf15fd44ee4fd04226af368c117f1a6138fffbaad8fffb6b6f
|
||||
c908bc944c2967f9a9450e1936229398aa9f0171b6dd0b2b7045a15fa17c2486748e6c5ff82da44202059364f66870ce7cfe2b73f7452d6440a10983095aa4b7ffe7bc73ffe7a079
|
||||
89aeaf706f0dbb4111e27e1e31d9de1b52adbcaef02955f800c78241e1465bec0be3ab01d2e2b751c6ba8c3ce72ab2a65bbacc0c72f498df1206f822e6c6190cffe74ec0ffe6f98a
|
||||
6d0babedbd7b6345f888810782ebe40af59458c1f6b9f6df70fdb02a1be43a2015ff3593ff7985164508af001120c2ac2afd3e75d68d6ddb032187d584d837a700187c9800189f5c
|
||||
72bcbb601961720eabbd836bd3efde76a83c168d368767f19a11e180b759f0a6054a9d1c70cb8c9de09c6dc3746219f361fa4111b5697b5f1466a2a099488d88ffebad46ffeb9015
|
||||
173696379ffc429e3f823829527f83dad585a23c5cc322b9facb75e3898fe9c5a7170501100ed378261ebd8227921752bb380fa961b50f81da79bc9c3fab3243000c9558000c6686
|
||||
cd77127811ed6cf01639b142138dd9d288213c72747406a12dd375f26547c7fceda1a165bff15be9f8305703ed9fec94a31786a46d19cc6ee52f10bc7177a793001844560018bd9a
|
||||
285976cb418722432439b03f65cd3d532dbf1f6ab618fade68ba95c217ca9e841a3f3198318014fc2e012c0a0811d4df4f40506787a581a9aa0d1a5b42276fd3ffed2b30ffed897f
|
||||
583c2b3a1b8e4a9bffb0c65320a3967335bbe68aa3975379e91661c9e4b815fa45a1dd117500166dc54aa09d054ceddaf6c42d555e60e630477794b7c0c771f80018e48800194794
|
||||
b176166c1870782a44bd95ba025c15a951f799e8b5345e7d2208696f70ebb1383f66a5b604d0725d54502e2382cfe1c3451b0428c8f7a0484e8518b57341a8f5ffe37e1cffe43f42
|
||||
24fa2ecd98d456b285df80a4f581ed64daeaa19d9db63e8aa5d842ae0f1565f7bcf5cbb52b93f8d56ad156f11e6b2c8a349ddfc6485f1eb3d374cd6aec3c085d0010d4b00010d80f
|
||||
b07f4f01e84f4e8a0e097bc1b1af226be8333dc03117127f14241e3a5931c49105830f4415d77a3c02aa60b1fb53f3bf4d0f45a66ce19ee10ccbb91d85f33fb9000545510004fd6a
|
||||
b07a29488a1789c245ffa39ff59e4e4954777955c03bb73a203b82b66a61d25d8b5e23c7ca7a865c49bd67da9c56a3636d6e691870e9bc938350a0743891c89fffe9ba56ffe9783a
|
||||
3e225f8f9f8670060563645c472d0b6a7d0e3c23cacbbde8f4c1015ab5dad7ae154cd60f994490127f5b47f68d6a0562c77004369cda62b6ef9c4f7ff05d1be6001ba7e3001c06ec
|
||||
a4e94bd0f512661dd04cdac5099d4b885d72896f09cc6ebb705e4eb01b4942506e682b24824be3c974ddd07b92928e8bd9ba966c2cba459a0d67137ce428f27a0001992000017fb3
|
||||
bbc746679d55ab39adff20a6acf879f72eb5306a2551a9588399e8743735ffeed1f6b2f60e12be389b77c7c1916af8e65a41d68aa51334217781e21f812288b9001bfac6001bb24a
|
||||
c560cecae3f35282fdccfd5ae201846d2702c9648ec7aa4dc43399ee6f383808e2fe925239eaaa565d828031adac86a1c0b5813c23c8dbcb97c42225166724a3001d6fdf001cd36f
|
||||
750488544450c64daccfe557f2eb09147717318e9b6e33333967768a6c70080d52c7a92db22c51d8bdabb929cea584075d5af4ebdd6eb6765ea02e7e43fa163d000b40ce000ad0e3
|
||||
c5c129d420b16195e4c73988ba164cc99850a3af52c05c7170276aef04c2f559a847e2e04fb740af4fd1345662b2e80b6517d19bcccce3a356074ed1f16f909cffe6e37fffe6929f
|
||||
99dbca7d6039ec66cc41f452bea75f7cf991e691457131f9539855c9d0f1593d43e0f63bec365f9f21831b236cf7e7b486a99c9f13ed8f986312a192d68b5560000314130003fc63
|
||||
c8fb8274629c5865f1c7132c7d448d60e015b2e09db7b1a0d1596500b1b44e25f9a5445f1189654e8981cd627b255fddf55c9075f8de18bc2bd6913032dafed7fff36cdffff380d5
|
||||
5c4f3055c03d2fd0b69939cfa1decb78f1804a8d895594b3389d89ba3ea65d2e4e814edc8e7089d855959f345bdbec5baa5ac6eb2a362229e3e831c0c5ae9adfffe65ab7ffe5c98d
|
||||
958201c85d9b12f7d8fbd9e5cc58520c709a01f6c9c262e371953fd03af196719c2181969a9c57256f3677c03feccb39dfb1343aff5ec3225f67eaea04793f7effedac62ffedb641
|
||||
73ebf0edaa164d18b18819f2645db1d2d335b1199071c5ba6480eb9e46e188358fc5dddb317dc46f84cdef2e77827a56d388b7f10f6a17bf7434c6023e1fa99bffed212cffed6d15
|
||||
1f9d5d3c45a475fa5bca91027ec7a809689162f20e4774c45bc2e9b7f78482c99637c14f50942fb31a9bd5222e52d829f9758d2d51a2ae5231583c9dedced895fff87b09fff75931
|
||||
e1ffba6a6f0c9913c0fd078215c0b1c44014c16c2199efc261acee2cf3589bc623e5bb96f80d61b405bb0088e337dc365c3d594c9f2b72f3ee477f7a3ea054fa001ccc7c001cad95
|
||||
5cfe0120ec89b59edfa866e4eed5a50a6f015cfea8872af4fe494c0d6ce23962de0cd1786a381d816f7cd2d3f923a1c8f8d8af47c8ef836a481b6037b9779d08ffe96b77ffe9ba0c
|
||||
077924127ebbc10f81ed969e901f9693fa53607aef2cf8bf8eaa4f71875d4adb32a877c9caf77a9ba078022d7391e6643f4b0a7f4b56768aba33e7bffa125338ffe7b42affe7660f
|
||||
06776ddae10b8db0df41cb042838d14b7e8375382e3bc471da8f54a3ba13925e10d40fd92c78f69a7ed49b3d9a2e23be67814926a3d77e26de0e4c2447e709e00016f8c000165534
|
||||
662fe36651955b44268c249823c1bd908aba9871bb352775fa52e3548631f14a230d2323c31c767d71e43e25bd07d890337b114b6c8623dbeccb2e97d5ce3b32fffd7989fffd6a95
|
||||
5446418a98ce11d98479c58721dd36b8f417fd5bc44fdae2a51aaaf6f958f9dc9b9e77f29237f4dce337e8e2e6f57865adee060d618faad9d1a177b8adbf0dcbfffb5d68fffb403d
|
||||
239ffa3e99af994193f9e783a4d10e0edaa264a410b27dd8528d50222f45edffd0d9f4af1586dfeeb1d65fb5b42d21c6bffd9175e99acc83391ef493a3ef1da4fff02446ffefd8d3
|
||||
808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080800000000000080000
|
||||
807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f00000000fff81000
|
||||
808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080807fffffff8007ffff
|
||||
807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f7fffffff7ff80fff
|
||||
808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808000000080080000
|
||||
807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f800000007ff81000
|
||||
808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080804000000040080000
|
||||
807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f400000003ff81000
|
||||
80808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080c0000000c0080000
|
||||
807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807f807fc0000000bff81000
|
||||
@@ -0,0 +1,313 @@
|
||||
010102010301040105010601070108010000000000000024
|
||||
01010201030104010501060107010801000003e80000040c
|
||||
08010701060105010401030102010101000003e80000040c
|
||||
b7483466dbcb9526cdd4861542989600000a7c2b000a5814
|
||||
4815ad15958496bac69368ca9a275a0bfff723b0fff76aaf
|
||||
ae51d46e25713b1ad5ecaad9299e8191000bbe7b000bdfc9
|
||||
ef360dfed3ae2d9bf90201eabdb94f6500004cdc00007771
|
||||
6d45e4cf7242cbd0a8f8fa0d7cea95fdfffe2ae1fffe6dfd
|
||||
391199224f11253452fad45f542a4438fff04e74fff05bba
|
||||
67075abf5947d9955b0c7bc62881867d000888a700083696
|
||||
8a208357a1184f28d0588c25e0d87265ffe8b7f6ffe892e1
|
||||
931115638e31f7222ada4a82569b073d001cd276001c7169
|
||||
731f310325856ae736d5faf0ac43f6b3fff28dc3fff26476
|
||||
2f764e0c36424cd56ddc69a24dfa9ce0ffecdfe2ffeccf2c
|
||||
3f7e82c0ef5b8129eba9a2a807e72c7cffed50a4ffedb0d8
|
||||
06b04540b9ffe2f8d21b32b635c7418fffeb9092ffeb655d
|
||||
7a6e2abd117279d26748b144d75fbf0c0013decc0013efc7
|
||||
9bd460653c0826f1c0c3a20b115c6eabfffb52fcfffb76aa
|
||||
b1ce9a34dd6661c7725bb497468b8dafffed19e1ffed3d23
|
||||
d518c1d2d6d7929513761c0bee8a7133fff6f96bfff75e2e
|
||||
7195000b0ef33d3454dbaec2612409abffee5142ffee4014
|
||||
c0f320b6aadfb15c58fc7c645f7ea5c9001d1e98001d78a9
|
||||
17f25acd3f112e2b0a50912898e4c7a8000efa3d000f03b6
|
||||
bcf4f55ec369634ae2349f9b849e48b1ffef2153ffef5d7f
|
||||
94bb2b70a6b6bd7a47c7c98b3c58abf6ffee77b0ffeec2f8
|
||||
06125f9667a9ed35b3caf85b28848be0fff5d316fff58de2
|
||||
28e2a70fbdb984b5f3031ad461757455ffe454faffe4d036
|
||||
3fe63ae2d915e01534d3c1fad65ee7e8000fb011000f884e
|
||||
6ececdfa2b30df16d31aaed4b655dd3e0006db3d0006b4a7
|
||||
7392021baa4fd900d7794b8616786cbefffa4a0afff9b5a5
|
||||
811074997aae0cd6efdafce50995e959000d54a4000cec2c
|
||||
2908baf8fb17185c9becbd36a325e2450005fec20005eea2
|
||||
4b41e2013fe6c565f390be2ea9c384c7fffcc541fffce4ac
|
||||
161db028f0f5805b07197aca3bef0b4ffffd2435fffcd3d0
|
||||
6a7c39956f0e758d13c388335fbb73220016a21200166856
|
||||
b4f8d975269d81baf50f2864e451833efff987a1fff9740f
|
||||
fa9b6bd6837f7e7ab9b40197caed5c2b0003d1e20003e8dc
|
||||
d04ebcd930dc3dc5b9eedbacb07de96e000af3b1000abace
|
||||
b72ef1606f97f053c3f73f035995002400085eed0007f727
|
||||
4fc1480ee648e3d05317bd4815450ed5ffff30aaffff1735
|
||||
e0f4966f5ac1bc89d1c80b108e805d4800013bad000176cd
|
||||
c7e71f4ad3b7b9821986c4ec6f683fb800103d9300109007
|
||||
43d41faae1cce47eff2890933607d8150009b05e0009c0ae
|
||||
c71419b54020ed7001e230c5a68079cb0016a4980016a146
|
||||
dc5ec6dbe9560010a97694cc78cad72effe20228ffe1c2c0
|
||||
fad568a676736debc7f63f75da44141a001763ff00178377
|
||||
c37cb0cd6f4129b747445b712a4f699d001a8494001aa6d8
|
||||
278096d2b8fb101ee37038b0a66abdcf001146aa001112dd
|
||||
7ff9b9c1b1657ecad1521f95069de0fcfffa2433fff9da9f
|
||||
ddcceb697e44c7899b0cf20e8c60b73e0010c4850010bc4d
|
||||
772ab23f01ed4d8125f5068f0c2d8e3c000e73ac000e30e1
|
||||
e13352661fb2a04909e6823c986ddf74001ba4d5001b40d4
|
||||
c1c2bcdc194ac947351050f00d658d36fff9ac66fff9a860
|
||||
b76a21a0be48aa62ebafa461af3db86c000379090002cd0f
|
||||
0261d1b2b0c1f948b460692b49c46aacfff5cee8fff5b0f3
|
||||
e9c0904fb7dd27b28f3c5ab885482711ffe73f3affe6ccb6
|
||||
1547eb50f98216058dfd4737ce400371ffe97389ffe97c19
|
||||
5c56b7101c87a663215aa0b1b5dbe29c0015003500152a4c
|
||||
62b319bbcf47b51128ac5c080ac7fa65fffb5e1ffffb187e
|
||||
8126721ad1b97c16b4450fd19a9ba6c7000c9e7e000cd3f4
|
||||
ce2737533f358361661d0ee72067ac07000a4dd5000a4a7e
|
||||
2c87a56ba9c1e0c100c000926693b50c001d12a5001cc627
|
||||
8f181165fed8e84237925802ff7a7755fff80862fff80eb6
|
||||
b018c5975ae20076508d773b1e8652bdffef5128ffef2b0a
|
||||
96696d0e93c68585a8eab34f4b6aa1a7ffea49d0ffeaa7f9
|
||||
564b654626ede20b535a478f7856cb1000182e3a001881c5
|
||||
dfed96b14627ad18d073479c2d6bca8cffe8f3acffe913b2
|
||||
a234597ab87321659e2ec0eeb64373f8ffea1c98ffe9fc85
|
||||
3101f0a525e72c661e767690afe934ce0012e4110012cf30
|
||||
52616bb1de0ae2840a0e17faeae1a01cfff2979cfff29b09
|
||||
017c1a554e4598d50c73365b416b3877000aa153000b1eb8
|
||||
38f9390cd37ff767835832b853e49d71ffef8faeffef0911
|
||||
40e324027459d0c96e18100dd3d55765000040090000a0b7
|
||||
b9bc479b044f5c88ad11300695839b97001344e400136b22
|
||||
398a26a3e06e18bedfae126e09758723fffbb12efffb7b0a
|
||||
cbb5abd876193e0bc40940fc01f831d8fff6b317fff6d34a
|
||||
42b51761feb4bce61e9f5d2ce84ff231ffeaa3e7ffea9b50
|
||||
489911a340c4422339bd494b0beea94dffebe282ffeba4ea
|
||||
0b28392cf2316542e24558d111a91875ffe3a66bffe3b63e
|
||||
6669918d6f128b3a6f806272c8d3bb0e00009a370000dd6c
|
||||
a7c4cbc70273d47153555e620a184647000543bb0005a5c3
|
||||
9cc907a60f93c630b65295dd03739a470009a87800098637
|
||||
51cd0222befa74ebe6ca95cd2c6b63eb001b05be001b12f9
|
||||
687e3c3467638d2620c6f3a330fe7c7bfff6b617fff744e7
|
||||
871b9634b7f8a0a35057d07eb09b5db7001353b200135f2a
|
||||
6bcec96e66de4c2f289fe024e043a84400016031000100a9
|
||||
fffbd0e19af79c3e23704626e310dfa4001470380014852b
|
||||
ddd414e8c4fdf148c574ebd471a927f5fff2b2a0fff2740c
|
||||
b0839f0acb195ba0f65f5ca8d254d2e000066b8e00063ad9
|
||||
c9f59c462a8716b1a414d1144140985b001181b000112e7d
|
||||
141b1944e7bdf2ea4fdaf5838657c8adfffc118efffc0464
|
||||
93a3b9e21d8b6b3b06bb0941c5038bb1ffffde3a00003da2
|
||||
4204dde6c6bce1adf1f80b3f86c701c1001b5ec3001b9ae6
|
||||
0af0188fc7f63b343665190c1678b0f0001b9404001bbccc
|
||||
5504e54025326065298c223152247dbb0005ccd20005d245
|
||||
c2b882bdbf2aa9e751b9ce1b3789e3fbfffa067bfffa01fd
|
||||
8166387c3465a820318a96eb32229c460003096e0002d8e0
|
||||
9d225798be0e8481dd0b46eaeaa218730015ca0b0015decc
|
||||
6896242717a3cc2d6c3fa59b3c2a2723ffe4f0aeffe50743
|
||||
f2b40b0458a29c4e95d9bec686d3994cfffad160fffaad0b
|
||||
f48198675fc8c34cfb1c3665f204fa4dffee2577ffeded6b
|
||||
267abbba3a95d4a83853830e03f43b94ffe8ac83ffe8baa9
|
||||
26816495be64663ea586b4456215438400104c0400100cc2
|
||||
5932e501bd3a2b06e7d9c32950ec9c8a000578ab00059da8
|
||||
aef9f53b15bf7cfbb4e4ff43fa3720d1000ead82000ea659
|
||||
393c857a359571a58271dee965b29f65001632b200154d83
|
||||
6366e14b9f4ec873bbe05138bb0cf8560004a47b0004a08e
|
||||
59de6c333352a82f34196712144364f9ffe2e365ffe2fc17
|
||||
03326f4287af8cf9e2cb5bf59e972431fffce5ccfffd5dd8
|
||||
44b031dbd65436133f2bc04cb9e63b730005b1680005a499
|
||||
f90b283f8abd2e617f6d7bd3d1e6f114ffe6c316ffe720ff
|
||||
50641c4d226cfd156af6083e1652766cffebb325ffec1f8a
|
||||
bbb217cd36096e5ac86f326341032422ffe2202affe259c6
|
||||
94de250907cbcd843347eaafe7686669ffecd352ffed2f01
|
||||
1cdd3bfdcd1eb5207e0dbabba81ddf4efff0bcabfff0ae0a
|
||||
7674f1b8731a569ef14d18a00e4fab4b0004794a00047ba4
|
||||
629f8445178b68aa3b14780b64fdae56000434f90003ae04
|
||||
2232966739645ab5031fef6600e5fc33fffa4e5bfffa1f0a
|
||||
539d8bc5e825c28f064ff124af4a8f34ffe71026ffe6f44a
|
||||
f9d0ae2e24fcf0cd00a4f9a08bdcace7ffed3e5cffed4ed8
|
||||
16bf4181b1cb4c1e88741fcd2de58c6cffe215a2ffe196d4
|
||||
9ccf8b8deb66fdc266e909a08c08f840ffe8c8a7ffe8f68c
|
||||
4f04fb983f175c0251f2f5f960ad6504001599230015811b
|
||||
87782ca499757f68facb2e4b7756dc34fff54434fff52f93
|
||||
e7af192720bd174cf91cfa3e5db1fe74ffe5130effe4fd67
|
||||
ce233906f7fd214de2f562a7b53c3174ffebcea8ffebb708
|
||||
bca8d2e7520399b177060a7fb6ebb6e9ffee2205ffee731a
|
||||
8b90fb5630f15e7dc0f5382cfbcce5d9fffb30e8fffb9f01
|
||||
2640d8dbb3d30a991daa9ecb888cc934fffa8419fffad2a4
|
||||
a63dc30fbac127c7193dd17f15f260c4fff3d4c9fff39b4d
|
||||
946f50ec1023319003212c1c29f4253efffe4868fffe0c51
|
||||
03335ff4a956b90cd644c59b4cce80b1ffebf327ffebf385
|
||||
c6a7c433712b03fe305cc0b0ac2b28c50003c03f0003e956
|
||||
27f237587a3fd308fe5ea0d52fd211900011ad6c0011da52
|
||||
e56ed41aa68c2d8834db17a3184cd59c000d66d0000d727b
|
||||
62994ae17b180482441cc4720a6e2aa1fff456bdfff41157
|
||||
755a8ad0918d693ef848cb4a03146518ffed8634ffee08e3
|
||||
50eb182ab845a7195600ab5b97e44ccfffe546b6ffe506b6
|
||||
f3790b75211c1ada72262c58c824436bfffdd484fffe0753
|
||||
314f80096d7aced6e0b386b1772f14090015cb0f001657a7
|
||||
9a87153463862b7340a5a75ec31745c5fffa7db4fffa4981
|
||||
778d71d2da87b726362334b3428d692d000abd9d000a6787
|
||||
ef850e3b5ab9b8b0fb2639039d7f3a2effeefff6ffeee221
|
||||
232947efe675728277512e2dfa868a3b001d80bc001d5309
|
||||
8636eecb76b0fb4e3706f941b1d473f3000616200005e0f8
|
||||
f2935b6e5623b9783fb462394f3c9d490002a5430002b634
|
||||
cd443203803bf6feadc2fc2eb5b75616fff32dcafff33391
|
||||
377143a0ef27ca7606005e75181b8351ffef7e05ffef67a2
|
||||
55ade9241882593eceed313267b735980000992c00005e80
|
||||
ceed591380bd78b4949ae63db7311287fff8a49ffff8bb2b
|
||||
e259812fd85d80d85c8f8bfd259f3e4c00166be600162cc5
|
||||
3d0a9a7420c552e675e6d034105c728dffe1aecaffe13028
|
||||
ab78a726ad0a52e5867f6d718085e017001dd7ee001dc533
|
||||
ef286f9c9049c543044174687dfb6ed20010423c000ffec6
|
||||
3ad04a1fdbc29ac2b7840bf43f117015ffefc322fff01319
|
||||
60dc4ac38aadb96d0647e2cce88b4abffff0de3bfff0c710
|
||||
798ba083b24a31a7eb3056ac2aad4acffffdc4d0fffd58de
|
||||
37850ab05453191f70707ab0f708dcc100033af300034f1d
|
||||
bcf250a377ce3c755a1b41b514400646ffe195ecffe17dd9
|
||||
55ef3a16173a1aac06f36ce99d68225800099c29000971a4
|
||||
48dd3f091a221c0a332379fc33588ad8ffed5a9fffed8097
|
||||
d62507012e68669aa3d6c4ce53d1f9effff6cd53fff6bd88
|
||||
bf6552a08ce02879f29df8b6250ce282ffe3ea2effe3eb6b
|
||||
14e7a8a7c082118af4065ae66bb627860016f3090016ec67
|
||||
cb5e66cedb29effa191c03cb362098affff2a153fff29e2f
|
||||
033a1a950e741bef813584afbe3bcc5200136fa300135713
|
||||
35b83866e0a478ea565a17cc91d44253fff9dfeffffa2a91
|
||||
a3b2e2d467440fccf003cbd6692669720010e5d40011667c
|
||||
94f230ed09843b0ca98132fabfd9ee63fff837b3fff86561
|
||||
a8c0635d9360606284ad53849b35af11fffdda24fffdf5b1
|
||||
914d181d43cf2b9e1e565758d39b95a3000a478c000a6c34
|
||||
f9bd85ea6cc76aa933329767408eeac5001532280014cac6
|
||||
deb9c9b1ed4e1946114c2b4999a66b950015e9f200160e31
|
||||
04ddb3ded7a90311a47ac60bde437d42fff5b8eefff5b9bc
|
||||
f3ec704da2535324d8758cacf95e7613000f42e7000f6cc5
|
||||
84c37268c407fccfa3c9e4f77542ae46ffeb03c9ffeb6b7a
|
||||
e902db12fb364e8d5f38a2fc752cbeb7fffc0aa3fffc20f1
|
||||
cae028e53409288138e0555b94896825ffe55c3bffe5a532
|
||||
fef358ec43d67cf5622a83b027b1d82dfffcd3cffffce0ca
|
||||
0a053117ead48bc73c486f142665232b000057c50000a89e
|
||||
1779e5215c316779e0b0e887497dd193000fac1d001042cc
|
||||
91b75fb91ea20265ac1e40ddb1a5130effea9fb7ffeaa552
|
||||
dbd6cac1d3e74496d22c74a1199e1341ffeebfc4ffee83aa
|
||||
6484122c02dd089f3752232c108a5583000ef2d1000ea8ec
|
||||
2794431374116820c869dc26d47052a1ffe8eebdffe8a9f8
|
||||
42da9b6cc27932f2bc8576b18d5274490007b61700075a25
|
||||
5b9b15df3a43d7c78f40345cc2883134ffe25b3bffe26a62
|
||||
b368e7f92ed0b631dd262c35d2418f2400034b120002fe07
|
||||
c829ce6aad13ddf6a7f0b9e441c63bcd000c0727000bd789
|
||||
4567d0e8ae382d60c01cc59642bbcf40fff26ae8fff27d7f
|
||||
65a671a01470a44f91f77d37425ef3dc001a4055001a17a1
|
||||
fddee7a9390c343b5f9829996552b965ffeaf5c5ffeada92
|
||||
70b87bfa6e52079fc4460ea763112b55ffead4b1ffead278
|
||||
b6277d9d8bef3aef164aedca3d03a5fffffacd43fffaa101
|
||||
df6c71731cac38f21355b73273b16654fffd9740fffda5df
|
||||
efbf6909cf6446d2ddd8ed95f1854949fff65671fff6682a
|
||||
5ada9db6ebb22ff3a3bfe61e5bf6de78fffe8789fffe9be1
|
||||
b3901ebafe80fd3510d6158f3258b75e0012318e001235e8
|
||||
1c9917b5b6c9ffa3f378d67d75b30b55000103dd0000c7fb
|
||||
2dc85ea9cee033ca2e24bd97b5866bbfffee80fcffee7d36
|
||||
d072437559782912a143afc24a3fa445fff10b2dfff13531
|
||||
4fe4a2cb672db8c8156fc84816528b37001c39a8001c4d99
|
||||
94f1e5f9f4e61dfe33da293a340848c80014315300142cfa
|
||||
87d653da7a20cfd8ef154c3a615e600b0010c79a00111d9b
|
||||
453de9207bf11328545f8b31cfdbb7c00011deab00120a1b
|
||||
c3dc309b89a8d82d4ec2eca7c35619e20003762c00036a54
|
||||
7b82544f145637d6f6f22d59764ccd48fff8144dfff81442
|
||||
3751cbaa579062248fac167b8114ec7bffea43abffea6ab6
|
||||
6e0aea5f38eae5544ccf251bc8db74eb000b3c51000b1eb6
|
||||
f636a368c55f1b1c9664b4b4e60a0862000344400002f89f
|
||||
d6edc920fdcd92e498e7eaa37cbdc569fff244cffff2272d
|
||||
f6dea61c2754dfedbf228b183384df02fffa913afffa6b65
|
||||
3ee407b217e95227e87414ed0f95cb3cffe9a5b7ffe9882d
|
||||
06a247226e2381e403832ddfb777efc7fff57f3afff57df8
|
||||
d00022fcaf35cb061c1e493caea79a46fffd76a8fffd791f
|
||||
5a2bc58f9a38625eb1caa1ac64c6e7fc00124ba500129c0c
|
||||
76d8414f5e8d714e7acb0275f3c86f8fffee877affee3ace
|
||||
8e2eaa422098bb450b2b051c41704fa4001b6fe7001b2817
|
||||
409e7e95229c8b95752a5892065ea82c0011a85900115f44
|
||||
8b9c7d11ccefa4d9fa929f2504dec294fff13d40fff192e8
|
||||
eb08039624717eba4e5ff34e0b211ceffff63550fff63965
|
||||
fa515245fcf591aaf05a8a20b06a5149001bea7b001c05be
|
||||
175fcd87e324395316682efedae9e0bcfffe91bffffed548
|
||||
030083af7d20ded073b50710c535bce7ffebed25ffec03de
|
||||
f1d6b346756249557e8713c2b1fdca0f00107ae100106aeb
|
||||
71280cdf1ccce2fb2c642450566557de000170f70001aec9
|
||||
4e82e302fcc656c8d1287dbe9ca8acd5000e8463000e54c7
|
||||
c632e830e0b489aa6e9ac4973d2c641a0007b89b0007dbad
|
||||
60f9cfe84bd046708942d466401bb5ce000bdeb9000bd671
|
||||
5f081111e9417406bd9546d5764dd250ffe9a639ffe9cc90
|
||||
8f13dbc7cd09f3d9313ff4e5d2465651001428500014444f
|
||||
1b2eba80265c8d98e1fed0b35dcce940ffe5fb3dffe65581
|
||||
5ac7442fc82ac66f098e399c6e3fb4fb001d151f001ced83
|
||||
cae6f36567cd8caa3812749e4fff9b2bffe5dc9bffe5b5ab
|
||||
c6f3ff6084c91c035e8e28164d4be2e9ffeda203ffedb262
|
||||
d686ca96df340791934db0010fa8ebeb0017bd670017b982
|
||||
7339786ae66a19855e2ba71c87709df9fff3ba3afff3c291
|
||||
49523c1d1c49208b47f36c5ff3998ccdfffc0b35fffc638f
|
||||
22dcffda462bd2258c0a97773a6275b6ffeee4e6ffeea46b
|
||||
76dfa247cdeb846a57e2c57c7c5d778800091ec0000894cd
|
||||
b2580eb1665e3728557c839097c05fc9000538560005acf3
|
||||
b7cc4ac52f93627b3c19614e0b791ed8ffec478cffec8452
|
||||
40a9e4cce211bbb58026aea827b45a9e0010bcc300109a14
|
||||
f363168c25a8d0d3160a5ea055ee58a7ffe39321ffe338e4
|
||||
26b926e992b876e8ed4278599a386577ffe7b894ffe7fbf5
|
||||
d6d50ac33ff99775f298a0dccbb1ee25ffe30d95ffe3017c
|
||||
c7d4bdc94a344bb7f763821e7f3005cfffffd9c3fffff035
|
||||
af5a8628a5c09fc32aa6e24a837a2a10fffd4210fffcf001
|
||||
ab8ac0f6f17fcf9a18a26a0d807a7913ffe33b55ffe339a5
|
||||
5ca5d10b891a765f0cb225bee87c8271fffabcaafffa6935
|
||||
9ba2b6ce1d9a7533f6c1c3caadebfc7e0002a13a0002f4b0
|
||||
5789153690237e2688942b805575a0e3fffd18f2fffd472c
|
||||
4b852a2192aa0a6aabdc6f82d9ee78de001b3c42001b0edb
|
||||
e9289e016228f6b48b421301a9d2df380005235f00051c00
|
||||
10b0aa90b58309a9d8abeed8087fb8a4fff706b2fff776d2
|
||||
59f6232e0b63a69475a67c36f8e4e63dfff3961afff3aed7
|
||||
3766b0e18dfe9e50fccbf8a6ca48b40b000cefb7000ce2c7
|
||||
3122f997dc8fd1ddd354b07d9e011acdfffb7e6afffb62b8
|
||||
9f84dd71736442842cda1771289e6518fff789abfff7b3ef
|
||||
38b83f0ed769743d5d74ca2dd99ac132001a9e14001ac07b
|
||||
982fe5a1e5de08a630f4d1dab69f1260fffee12dffff0064
|
||||
72295afa25e39589c6ab41c61515dd78001dede7001e2172
|
||||
025dd6549d6f49ccbcce8fb88485168cfffef630ffff0e0d
|
||||
71bb53d45ff8253790a82559ddbc9e5affec9981ffec8bf8
|
||||
6d91eb73ce5674efd1c4954b8ae96531001b89a9001b4211
|
||||
d6a42acca07fe81b149b6137bfd59b43ffea12fcffe9e4d3
|
||||
823785a842d0bc686730ddb2e3c884bb001d79ff001da6f3
|
||||
347e44dc56e3347615606f6bf4fd2a2e000ce2ed000d3f24
|
||||
e8bd3bca1328e51fe561b12428279eb0fff2facffff303b9
|
||||
6a91ba12459fbccd12fb00429065ea90fff7287dfff6c618
|
||||
906767fe48cebaa9214bb5c6355fe251fffc8320fffc83d2
|
||||
f325fa3235d3789333fcc63159f16fa8ffed7727ffed006c
|
||||
efb850605a347e2948f932fa0d859036ffe3b69fffe3deda
|
||||
83ed6a54bcfc9ea33ab06d4a9361dbfd000ce23d000d177a
|
||||
1d58e66bf7f44fadd4590490158d42a4001603f50015b7ab
|
||||
2698043ee6176a07a7133a54b4266bac000f9669000f668a
|
||||
d04a625ead2bedf952008d9e2e551fb9ffe28b43ffe2c6a6
|
||||
85b7edecd24b819ba9d349141f11ef34ffea49cbffeaa695
|
||||
a6019601595263cecc658effcf7ea82b0015ae4400157bb4
|
||||
670de80e82ac2689fc5076fe7b687f700000fd7300018068
|
||||
7761858719b008971ba24237979830ca000b708d000bf17b
|
||||
c88949769c319df934fbcd3a560b7c82000a5c83000a41da
|
||||
07d2082c17e5fced450abb3c44869517ffed7254ffed38d2
|
||||
ec1f82e2bc4ac91f2542825ff34a00b6ffe9008effe8c99b
|
||||
76e6453dcd0a84951f81050d9a04ad30001490730014a676
|
||||
86e413b844cf099da91fdf799e59ac16fff5047afff4b88f
|
||||
82c549a5cb06a36f62b3946fd9a6b0380019bae800194456
|
||||
5fbcb5cc39d6ee4d6a18bab1ee2fe9a6ffe7dc4dffe7e7db
|
||||
eec7983fefc2588889b714f504f0537e000a74db000a83d0
|
||||
ed32593452602f57747c5374115bff0f000576c5000617a4
|
||||
7dbe69d3a592966ba3be2c700642cec70009d99f0009d9a4
|
||||
93f2c7e49586cd774deab8c9e31a385dffe60c79ffe64e34
|
||||
481742921c2e831e785a3278925519a4ffe60e97ffe60333
|
||||
9b717e8827ddc3c340646b0a636e7b610015b0ce0015c8b0
|
||||
4a74cfa4572a35bfc270733b6794e72b00127524001278d3
|
||||
c20a6258901d05934a89250ca4498b750000d7ce000077e2
|
||||
ae0c9595b16a80f5bef56bfb10b6da96fff27f56fff298dc
|
||||
e1cd28658ddf399e5e58498802c6ded9ffff604dffff7215
|
||||
4d90cc91e659d22777c125acea09866d0017118b00169836
|
||||
a38f5226e5b4864c7d57b7a8c56754afffefd0b0ffeffaf7
|
||||
93249eb07fb94c7ca1719d502bdf347c0017c83e0017a3e7
|
||||
bf89e99ee41a5289900b72af1b35f6f1ffed859cffed60f6
|
||||
4610fecf337e89567b1f1e182801c33b00099b35000994e5
|
||||
808080808080808080808080808080800000000000020000
|
||||
807f807f807f807f807f807f807f807f00000000fffe0400
|
||||
808080808080808080808080808080807fffffff8001ffff
|
||||
807f807f807f807f807f807f807f807f7fffffff7ffe03ff
|
||||
808080808080808080808080808080808000000080020000
|
||||
807f807f807f807f807f807f807f807f800000007ffe0400
|
||||
808080808080808080808080808080804000000040020000
|
||||
807f807f807f807f807f807f807f807f400000003ffe0400
|
||||
80808080808080808080808080808080c0000000c0020000
|
||||
807f807f807f807f807f807f807f807fc0000000bffe0400
|
||||
@@ -0,0 +1,81 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Independent Python oracle for rtl/mac_unit.v and rtl/mac8.v (aspect C.1 of
|
||||
the re-certification campaign, docs/validation/01-datapath.md).
|
||||
|
||||
Deliberately reimplements the arithmetic from first principles (two's
|
||||
complement wraparound, sign extension) -- NOT by reading the Verilog and
|
||||
transcribing it. Every function below is checked against Python's own
|
||||
built-in arbitrary-precision integers, which have no width and cannot
|
||||
share a truncation/sign-extension bug with the RTL.
|
||||
|
||||
Run standalone to regenerate the golden vectors used by
|
||||
sim/mac_unit_tb.v / sim/mac8_tree_tb.v:
|
||||
python3 tools/validation/mac_oracle.py
|
||||
"""
|
||||
|
||||
def to_signed(val: int, width: int) -> int:
|
||||
"""Interpret the low `width` bits of `val` as two's complement."""
|
||||
val &= (1 << width) - 1
|
||||
if val >= (1 << (width - 1)):
|
||||
val -= (1 << width)
|
||||
return val
|
||||
|
||||
def to_unsigned(val: int, width: int) -> int:
|
||||
return val & ((1 << width) - 1)
|
||||
|
||||
def mac_unit(x: int, w: int, acc_in: int, data_width: int = 8, acc_width: int = 32) -> int:
|
||||
"""Bit-exact model of rtl/mac_unit.v: acc_out = acc_in + sign_extend(x*w)."""
|
||||
assert -(1 << (data_width - 1)) <= x < (1 << (data_width - 1))
|
||||
assert -(1 << (data_width - 1)) <= w < (1 << (data_width - 1))
|
||||
product = x * w # Python int, exact, no width -- the whole point of an independent oracle
|
||||
prod_width = 2 * data_width
|
||||
assert -(1 << (prod_width - 1)) <= product < (1 << (prod_width - 1)), \
|
||||
"product overflowed PROD_WIDTH -- data_width assumption violated"
|
||||
raw = to_unsigned(acc_in, acc_width) + to_unsigned(product, prod_width if product >= 0 else prod_width)
|
||||
# acc_in + sign_extend(product) computed directly in signed arithmetic,
|
||||
# then wrapped to acc_width bits (matches Verilog's silent wraparound
|
||||
# on a fixed-width signed reg/wire -- confirmed intentional, not a
|
||||
# bug, because callers rely on it: see docs/validation/01-datapath.md).
|
||||
return to_signed(acc_in + product, acc_width)
|
||||
|
||||
def mac8_tree(products: list[int], acc_in: int, acc_width: int = 32) -> int:
|
||||
"""
|
||||
Bit-exact model of rtl/mac8.v's balanced binary adder tree +
|
||||
final accumulator add. `products` must have length PARALLEL (a power
|
||||
of two, matching the RTL's $clog2-based tree construction).
|
||||
"""
|
||||
n = len(products)
|
||||
assert n > 0 and (n & (n - 1)) == 0, "PARALLEL must be a power of two"
|
||||
level = list(products)
|
||||
while len(level) > 1:
|
||||
level = [to_signed(level[i] + level[i + 1], acc_width) for i in range(0, len(level), 2)]
|
||||
return to_signed(acc_in + level[0], acc_width)
|
||||
|
||||
def mac8_full(x_vals: list[int], w_vals: list[int], acc_in: int,
|
||||
data_width: int = 8, acc_width: int = 32) -> int:
|
||||
"""End-to-end oracle: PARALLEL independent products -> balanced tree -> + acc_in."""
|
||||
assert len(x_vals) == len(w_vals)
|
||||
products = [mac_unit(x, w, 0, data_width, acc_width) for x, w in zip(x_vals, w_vals)]
|
||||
return mac8_tree(products, acc_in, acc_width)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Self-check: a handful of hand-verifiable cases, printed for a human
|
||||
# to eyeball before trusting this file as an oracle for anything else.
|
||||
cases = [
|
||||
(5, 7, 0, 35),
|
||||
(-128, -128, 0, 16384), # the one INT8 x INT8 case that does NOT fit in INT16 magnitude terms symmetrically
|
||||
(127, 127, 0, 16129),
|
||||
(-128, 127, 0, -16256),
|
||||
(0, 0, 0, 0),
|
||||
(-1, -1, 0, 1),
|
||||
]
|
||||
ok = True
|
||||
for x, w, acc_in, expected in cases:
|
||||
got = mac_unit(x, w, acc_in)
|
||||
status = "OK" if got == expected else "MISMATCH"
|
||||
if got != expected:
|
||||
ok = False
|
||||
print(f"mac_unit(x={x}, w={w}, acc_in={acc_in}) = {got} (expected {expected}) {status}")
|
||||
print("ALL SELF-CHECKS PASSED" if ok else "SELF-CHECK FAILURE -- oracle itself is wrong, fix before using it")
|
||||
@@ -0,0 +1,486 @@
|
||||
bde50000000000000711
|
||||
4b0f0000000000000465
|
||||
fffe0000000000000002
|
||||
7ac300000000ffffe2ee
|
||||
840a00000000fffffb28
|
||||
3a730000000000001a0e
|
||||
08f200000000ffffff90
|
||||
0c9d00000000fffffb5c
|
||||
c4ad0000000000001374
|
||||
381d0000000000000658
|
||||
7b9b00000000ffffcf79
|
||||
e45100000000fffff724
|
||||
088e00000000fffffc70
|
||||
db0200000000ffffffb6
|
||||
73080000000000000398
|
||||
adbe0000000000001566
|
||||
45610000000000001a25
|
||||
863e00000000ffffe274
|
||||
995d00000000ffffda95
|
||||
dbc300000000000008d1
|
||||
5e4f0000000000001d02
|
||||
008e0000000000000000
|
||||
0dc200000000fffffcda
|
||||
b16a00000000ffffdf4a
|
||||
0d2d0000000000000249
|
||||
246d0000000000000f54
|
||||
9f2e00000000ffffee92
|
||||
dbee000000000000029a
|
||||
5d6000000000000022e0
|
||||
36e500000000fffffa4e
|
||||
13fc00000000ffffffb4
|
||||
4fbe00000000ffffeba2
|
||||
a5c300000000000015af
|
||||
14460000000000000578
|
||||
688e00000000ffffd1b0
|
||||
ecc60000000000000488
|
||||
c7d800000000000008e8
|
||||
c47200000000ffffe548
|
||||
629000000000ffffd520
|
||||
197d0000000000000c35
|
||||
36df00000000fffff90a
|
||||
25600000000000000de0
|
||||
aa6c00000000ffffdbb8
|
||||
d4a90000000000000ef4
|
||||
9a5600000000ffffddbc
|
||||
df890000000000000f57
|
||||
f5f80000000000000058
|
||||
ba4a00000000ffffebc4
|
||||
398400000000ffffe464
|
||||
c11600000000fffffa96
|
||||
f8cd0000000100000199
|
||||
38d700000001fffff709
|
||||
bf7c00000001ffffe085
|
||||
801100000001fffff781
|
||||
7dec00000001fffff63d
|
||||
923d00000001ffffe5cb
|
||||
32e700000001fffffb1f
|
||||
239600000001fffff183
|
||||
3d750000000100001be2
|
||||
86d80000000100001311
|
||||
374b000000010000101e
|
||||
2a540000000100000dc9
|
||||
43c600000001fffff0d3
|
||||
8eff0000000100000073
|
||||
bc0100000001ffffffbd
|
||||
479100000001ffffe138
|
||||
5a8900000001ffffd62b
|
||||
bea800000001000016b1
|
||||
32c400000001fffff449
|
||||
55b700000001ffffe7c4
|
||||
5f7b0000000100002da6
|
||||
d06800000001ffffec81
|
||||
764e00000001000023f5
|
||||
dd5600000001fffff43f
|
||||
42400000000100001081
|
||||
9f5000000001ffffe1b1
|
||||
41ca00000001fffff24b
|
||||
178800000001fffff539
|
||||
c9a800000001000012e9
|
||||
57c800000001ffffecf9
|
||||
6f3d0000000100001a74
|
||||
36aa00000001ffffeddd
|
||||
99e00000000100000ce1
|
||||
59220000000100000bd3
|
||||
50a600000001ffffe3e1
|
||||
990100000001ffffff9a
|
||||
d7ae0000000100000d23
|
||||
a84500000001ffffe849
|
||||
8fa7000000010000274a
|
||||
850a00000001fffffb33
|
||||
21750000000100000f16
|
||||
51b400000001ffffe7f5
|
||||
bd1800000001fffff9b9
|
||||
e8fc0000000100000061
|
||||
0726000000010000010b
|
||||
8d0e00000001fffff9b7
|
||||
ce6f00000001ffffea53
|
||||
f2f300000001000000b7
|
||||
123c0000000100000439
|
||||
244700000001000009fd
|
||||
49e8fffffffffffff927
|
||||
3e1affffffff0000064b
|
||||
90baffffffff00001e9f
|
||||
a68effffffff00002813
|
||||
0673ffffffff000002b1
|
||||
4607ffffffff000001e9
|
||||
cfdfffffffff00000650
|
||||
ea01ffffffffffffffe9
|
||||
675effffffff000025d1
|
||||
57effffffffffffffa38
|
||||
db48fffffffffffff597
|
||||
4dd0fffffffffffff18f
|
||||
a1e0ffffffff00000bdf
|
||||
9018fffffffffffff57f
|
||||
4ebfffffffffffffec31
|
||||
1a74ffffffff00000bc7
|
||||
4d90ffffffffffffde4f
|
||||
0cc5fffffffffffffd3b
|
||||
43bdffffffffffffee76
|
||||
c45affffffffffffeae7
|
||||
fa82ffffffff000002f3
|
||||
d323fffffffffffff9d8
|
||||
518affffffffffffdaa9
|
||||
cc02ffffffffffffff97
|
||||
a9e5ffffffff0000092c
|
||||
9c2affffffffffffef97
|
||||
00eeffffffffffffffff
|
||||
f9f2ffffffff00000061
|
||||
2665ffffffff00000efd
|
||||
2de2fffffffffffffab9
|
||||
e877fffffffffffff4d7
|
||||
3c86ffffffffffffe367
|
||||
96c0ffffffff00001a7f
|
||||
b7d3ffffffff00000cd4
|
||||
1a34ffffffff00000547
|
||||
1551ffffffff000006a4
|
||||
86e4ffffffff00000d57
|
||||
25edfffffffffffffd40
|
||||
286dffffffff00001107
|
||||
8172ffffffffffffc771
|
||||
8dc3ffffffff00001b66
|
||||
5614ffffffff000006b7
|
||||
9ac1ffffffff00001919
|
||||
8fc6ffffffff00001999
|
||||
6656ffffffff00002243
|
||||
fdd8ffffffff00000077
|
||||
8b8cffffffff00003503
|
||||
2b89ffffffffffffec02
|
||||
da53fffffffffffff3ad
|
||||
0761ffffffff000002a6
|
||||
bdd17fffffff80000c4c
|
||||
23b37fffffff7ffff578
|
||||
be087fffffff7ffffdef
|
||||
226a7fffffff80000e13
|
||||
a34e7fffffff7fffe3a9
|
||||
16a27fffffff7ffff7eb
|
||||
e8e57fffffff80000287
|
||||
a5187fffffff7ffff777
|
||||
dd067fffffff7fffff2d
|
||||
b6cc7fffffff80000f07
|
||||
010f7fffffff8000000e
|
||||
f0da7fffffff8000025f
|
||||
e18b7fffffff80000e2a
|
||||
f8067fffffff7fffffcf
|
||||
f9747fffffff7ffffcd3
|
||||
a02c7fffffff7fffef7f
|
||||
d1dd7fffffff8000066c
|
||||
1d707fffffff80000caf
|
||||
67e67fffffff7ffff589
|
||||
6e9c7fffffff7fffd507
|
||||
e8be7fffffff8000062f
|
||||
22f77fffffff7ffffecd
|
||||
24647fffffff80000e0f
|
||||
6d747fffffff80003163
|
||||
d9ec7fffffff8000030b
|
||||
e7757fffffff7ffff492
|
||||
a4107fffffff7ffffa3f
|
||||
d4877fffffff800014cb
|
||||
68fb7fffffff7ffffdf7
|
||||
454c7fffffff8000147b
|
||||
42ad7fffffff7fffea99
|
||||
13857fffffff7ffff6de
|
||||
ddd47fffffff80000603
|
||||
c8dd7fffffff800007a7
|
||||
572c7fffffff80000ef3
|
||||
e4f57fffffff80000133
|
||||
10867fffffff7ffff85f
|
||||
e07b7fffffff7ffff09f
|
||||
e0877fffffff80000f1f
|
||||
8d3e7fffffff7fffe425
|
||||
5a057fffffff800001c1
|
||||
58be7fffffff7fffe94f
|
||||
1b287fffffff80000437
|
||||
8bbe7fffffff80001e29
|
||||
00c67fffffff7fffffff
|
||||
95b07fffffff8000216f
|
||||
280e7fffffff8000022f
|
||||
51857fffffff7fffd914
|
||||
047c7fffffff800001ef
|
||||
0d3a7fffffff800002f1
|
||||
cf68800000007fffec18
|
||||
9e008000000080000000
|
||||
9850800000007fffdf80
|
||||
cd0f800000007ffffd03
|
||||
27e2800000007ffffb6e
|
||||
a5e28000000080000aaa
|
||||
022e800000008000005c
|
||||
24b2800000007ffff508
|
||||
1cdc800000007ffffc10
|
||||
0fcc800000007ffffcf4
|
||||
fb7b800000007ffffd99
|
||||
ad4d800000007fffe709
|
||||
ed9780000000800007cb
|
||||
f78b800000008000041d
|
||||
be908000000080001ce0
|
||||
12d9800000007ffffd42
|
||||
5fde800000007ffff362
|
||||
8274800000007fffc6e8
|
||||
3f368000000080000d4a
|
||||
d7d4800000008000070c
|
||||
211580000000800002b5
|
||||
b88c80000000800020a0
|
||||
06cb800000007ffffec2
|
||||
f99380000000800002fb
|
||||
1092800000007ffff920
|
||||
08248000000080000120
|
||||
bcd98000000080000a5c
|
||||
defe8000000080000044
|
||||
ce7a800000007fffe82c
|
||||
98fe80000000800000d0
|
||||
e65b800000007ffff6c2
|
||||
38d5800000007ffff698
|
||||
e8e280000000800002d0
|
||||
db958000000080000f77
|
||||
ab988000000080002288
|
||||
b1d48000000080000d94
|
||||
307a80000000800016e0
|
||||
d23e800000007ffff4dc
|
||||
0d3c800000008000030c
|
||||
17bb800000007ffff9cd
|
||||
8cb9800000008000202c
|
||||
486d8000000080001ea8
|
||||
0d7d8000000080000659
|
||||
28e4800000007ffffba0
|
||||
376e80000000800017a2
|
||||
6695800000007fffd55e
|
||||
165f800000008000082a
|
||||
e4d08000000080000540
|
||||
e9ca80000000800004da
|
||||
c9818000000080001b49
|
||||
ac04400000003ffffeb0
|
||||
fbc94000000040000113
|
||||
f262400000003ffffaa4
|
||||
fc14400000003fffffb0
|
||||
7bc7400000003fffe49d
|
||||
7281400000003fffc772
|
||||
3a4b40000000400010fe
|
||||
93964000000040002d22
|
||||
1e9a400000003ffff40c
|
||||
80984000000040003400
|
||||
704f4000000040002290
|
||||
146640000000400007f8
|
||||
3b7a4000000040001c1e
|
||||
767b40000000400038b2
|
||||
f564400000003ffffbb4
|
||||
8251400000003fffd822
|
||||
2a604000000040000fc0
|
||||
22be400000003ffff73c
|
||||
bae740000000400006d6
|
||||
3ae3400000003ffff96e
|
||||
562e4000000040000f74
|
||||
625640000000400020ec
|
||||
43774000000040001f25
|
||||
7e3040000000400017a0
|
||||
8c39400000003fffe62c
|
||||
7a414000000040001efa
|
||||
e4ad4000000040000914
|
||||
5285400000003fffd89a
|
||||
ed8b40000000400008af
|
||||
67a8400000003fffdc98
|
||||
ebe64000000040000222
|
||||
ad3a400000003fffed32
|
||||
5f86400000003fffd2ba
|
||||
a076400000003fffd3c0
|
||||
55534000000040001b8f
|
||||
17e4400000003ffffd7c
|
||||
4895400000003fffe1e8
|
||||
b6cb4000000040000f52
|
||||
ac71400000003fffdaec
|
||||
5ceb400000003ffff874
|
||||
636f4000000040002aed
|
||||
e1ab4000000040000a4b
|
||||
a0c74000000040001560
|
||||
a7834000000040002b75
|
||||
1a87400000003ffff3b6
|
||||
4e73400000004000230a
|
||||
11f2400000003fffff12
|
||||
29b1400000003ffff359
|
||||
b847400000003fffec08
|
||||
dbd740000000400005ed
|
||||
1ce5c0000000bffffd0c
|
||||
343bc0000000c0000bfc
|
||||
d277c0000000bfffea9e
|
||||
2053c0000000c0000a60
|
||||
ff8ac0000000c0000076
|
||||
2be7c0000000bffffbcd
|
||||
b614c0000000bffffa38
|
||||
ad1cc0000000bffff6ec
|
||||
b8cbc0000000c0000ee8
|
||||
c1e9c0000000c00005a9
|
||||
f820c0000000bfffff00
|
||||
5f77c0000000c0002c29
|
||||
ca0ec0000000bffffd0c
|
||||
7291c0000000bfffce92
|
||||
f52cc0000000bffffe1c
|
||||
ea27c0000000bffffca6
|
||||
ecc9c0000000c000044c
|
||||
6b41c0000000c0001b2b
|
||||
0372c0000000c0000156
|
||||
f279c0000000bffff962
|
||||
e68fc0000000c0000b7a
|
||||
ebb5c0000000c0000627
|
||||
02d0c0000000bfffffa0
|
||||
af61c0000000bfffe14f
|
||||
2576c0000000c000110e
|
||||
e079c0000000bffff0e0
|
||||
1867c0000000c00009a8
|
||||
7dcfc0000000bfffe813
|
||||
ff68c0000000bfffff98
|
||||
b8bfc0000000c0001248
|
||||
da6ac0000000bffff044
|
||||
3958c0000000c0001398
|
||||
f1d1c0000000c00002c1
|
||||
44c5c0000000bffff054
|
||||
7d9ac0000000bfffce32
|
||||
5abcc0000000bfffe818
|
||||
a1efc0000000c000064f
|
||||
53e2c0000000bffff646
|
||||
85c1c0000000c0001e45
|
||||
15a4c0000000bffff874
|
||||
fb70c0000000bffffdd0
|
||||
25bfc0000000bffff69b
|
||||
7ad6c0000000bfffebfc
|
||||
c95ec0000000bfffebce
|
||||
3e54c0000000c0001458
|
||||
9bbbc0000000c0001b39
|
||||
535ac0000000c0001d2e
|
||||
adedc0000000c0000629
|
||||
bd53c0000000bfffea47
|
||||
8c71c0000000bfffcccc
|
||||
9d5a00bc614e00bc3e80
|
||||
4ea800bc614e00bc467e
|
||||
258a00bc614e00bc5040
|
||||
146f00bc614e00bc69fa
|
||||
d3a300bc614e00bc71a7
|
||||
e80c00bc614e00bc602e
|
||||
ee5400bc614e00bc5b66
|
||||
dc1b00bc614e00bc5d82
|
||||
50dd00bc614e00bc565e
|
||||
2e7e00bc614e00bc77f2
|
||||
2f7f00bc614e00bc789f
|
||||
d37000bc614e00bc4d9e
|
||||
bbd800bc614e00bc6c16
|
||||
83a000bc614e00bc902e
|
||||
0f2400bc614e00bc636a
|
||||
e85f00bc614e00bc5866
|
||||
f75600bc614e00bc5e48
|
||||
ccb200bc614e00bc7126
|
||||
6c1100bc614e00bc687a
|
||||
d8b500bc614e00bc6d06
|
||||
e8f300bc614e00bc6286
|
||||
c8f400bc614e00bc63ee
|
||||
c9c100bc614e00bc6ed7
|
||||
ddcc00bc614e00bc686a
|
||||
05fe00bc614e00bc6144
|
||||
ee0600bc614e00bc60e2
|
||||
5dc700bc614e00bc4c99
|
||||
f40200bc614e00bc6136
|
||||
ddfe00bc614e00bc6194
|
||||
5f9000bc614e00bc37be
|
||||
e5ab00bc614e00bc6a45
|
||||
c84700bc614e00bc51c6
|
||||
395a00bc614e00bc7558
|
||||
4b1e00bc614e00bc6a18
|
||||
29b900bc614e00bc55ef
|
||||
00d300bc614e00bc614e
|
||||
33b100bc614e00bc5191
|
||||
87ea00bc614e00bc6bb4
|
||||
723700bc614e00bc79cc
|
||||
195300bc614e00bc6969
|
||||
a63600bc614e00bc4e52
|
||||
37ab00bc614e00bc4f0b
|
||||
c0ae00bc614e00bc75ce
|
||||
ff5800bc614e00bc60f6
|
||||
5de100bc614e00bc560b
|
||||
9dbe00bc614e00bc7ad4
|
||||
06f000bc614e00bc60ee
|
||||
08a900bc614e00bc5e96
|
||||
577a00bc614e00bc8ac4
|
||||
38e800bc614e00bc5c0e
|
||||
1bd5ff439eb2ff439a29
|
||||
7b0cff439eb2ff43a476
|
||||
f05bff439eb2ff439902
|
||||
766fff439eb2ff43d1dc
|
||||
5f0aff439eb2ff43a268
|
||||
c577ff439eb2ff438345
|
||||
a39cff439eb2ff43c306
|
||||
5afeff439eb2ff439dfe
|
||||
e5b3ff439eb2ff43a6d1
|
||||
2d1fff439eb2ff43a425
|
||||
79bbff439eb2ff437e15
|
||||
b49dff439eb2ff43bc16
|
||||
c94dff439eb2ff438e27
|
||||
a2f6ff439eb2ff43a25e
|
||||
2783ff439eb2ff438ba7
|
||||
97fbff439eb2ff43a0bf
|
||||
c7c5ff439eb2ff43abd5
|
||||
53e9ff439eb2ff43973d
|
||||
a54cff439eb2ff4383ae
|
||||
e336ff439eb2ff439894
|
||||
6e31ff439eb2ff43b3c0
|
||||
c667ff439eb2ff43875c
|
||||
0dafff439eb2ff439a95
|
||||
3487ff439eb2ff43861e
|
||||
eecdff439eb2ff43a248
|
||||
5232ff439eb2ff43aeb6
|
||||
4069ff439eb2ff43b8f2
|
||||
073fff439eb2ff43a06b
|
||||
79cbff439eb2ff4385a5
|
||||
e659ff439eb2ff4395a8
|
||||
7cabff439eb2ff437586
|
||||
6a12ff439eb2ff43a626
|
||||
5cadff439eb2ff4380de
|
||||
cf0eff439eb2ff439c04
|
||||
19ecff439eb2ff439cbe
|
||||
1563ff439eb2ff43a6d1
|
||||
941fff439eb2ff43919e
|
||||
106eff439eb2ff43a592
|
||||
bf4cff439eb2ff438b66
|
||||
f4f6ff439eb2ff439f2a
|
||||
e5bcff439eb2ff43a5de
|
||||
9bdfff439eb2ff43abb7
|
||||
f4b3ff439eb2ff43a24e
|
||||
596aff439eb2ff43c38c
|
||||
6bacff439eb2ff437b96
|
||||
a2bbff439eb2ff43b808
|
||||
4677ff439eb2ff43bf3c
|
||||
9ab8ff439eb2ff43bb62
|
||||
5f0eff439eb2ff43a3e4
|
||||
4c11ff439eb2ff43a3be
|
||||
80800000000000004000
|
||||
80800000000100004001
|
||||
8080ffffffff00003fff
|
||||
80807fffffff80003fff
|
||||
80808000000080004000
|
||||
80804000000040004000
|
||||
8080c0000000c0004000
|
||||
808000bc614e00bca14e
|
||||
8080ff439eb2ff43deb2
|
||||
7f7f0000000000003f01
|
||||
7f7f0000000100003f02
|
||||
7f7fffffffff00003f00
|
||||
7f7f7fffffff80003f00
|
||||
7f7f8000000080003f01
|
||||
7f7f4000000040003f01
|
||||
7f7fc0000000c0003f01
|
||||
7f7f00bc614e00bca04f
|
||||
7f7fff439eb2ff43ddb3
|
||||
807f00000000ffffc080
|
||||
807f00000001ffffc081
|
||||
807fffffffffffffc07f
|
||||
807f7fffffff7fffc07f
|
||||
807f800000007fffc080
|
||||
807f400000003fffc080
|
||||
807fc0000000bfffc080
|
||||
807f00bc614e00bc21ce
|
||||
807fff439eb2ff435f32
|
||||
7f8000000000ffffc080
|
||||
7f8000000001ffffc081
|
||||
7f80ffffffffffffc07f
|
||||
7f807fffffff7fffc07f
|
||||
7f80800000007fffc080
|
||||
7f80400000003fffc080
|
||||
7f80c0000000bfffc080
|
||||
7f8000bc614e00bc21ce
|
||||
7f80ff439eb2ff435f32
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user