Fix typo in technical report: corrected function call syntax in homomorphic test description

This commit is contained in:
E-Voting Developer 2025-11-11 21:57:16 +01:00
parent 734d5c262e
commit 7deefcc3cf
3 changed files with 169 additions and 407 deletions

View File

@ -1,258 +0,0 @@
# 🔐 Cryptographie Post-Quantique - Documentation
## Vue d'ensemble
Le système de vote électronique utilise maintenant une **cryptographie post-quantique hybride** basée sur les standards **NIST FIPS 203/204/205**. Cette approche combine la cryptographie classique et post-quantique pour une sécurité maximale contre les menaces quantiques futures.
## 🛡️ Stratégie Hybride (Defense-in-Depth)
Notre approche utilise deux systèmes indépendants simultanément:
```
┌─────────────────────────────────────────────────────┐
│ SIGNATURES HYBRIDES │
│ RSA-PSS (2048-bit) + ML-DSA-65 (Dilithium) │
│ ✓ Si RSA est cassé, Dilithium reste sûr │
│ ✓ Si Dilithium est cassé, RSA reste sûr │
└─────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────┐
│ CHIFFREMENT HYBRIDE │
│ ElGamal + ML-KEM-768 (Kyber) │
│ ✓ Chiffrement post-quantique du secret │
│ ✓ Dérivation de clés robuste aux quantiques │
└─────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────┐
│ HACHAGE │
│ SHA-256 (Quantum-resistant pour préimage) │
│ ✓ Sûr même contre ordinateurs quantiques │
└─────────────────────────────────────────────────────┘
```
## 📋 Algorithmes NIST-Certifiés
### 1. Signatures: ML-DSA-65 (Dilithium)
- **Standard**: FIPS 204 (Finalized 2024)
- **Type**: Lattice-based signature
- **Taille clé publique**: ~1,312 bytes
- **Taille signature**: ~2,420 bytes
- **Sécurité**: 192-bit post-quantique
### 2. Chiffrement: ML-KEM-768 (Kyber)
- **Standard**: FIPS 203 (Finalized 2024)
- **Type**: Lattice-based KEM (Key Encapsulation Mechanism)
- **Taille clé publique**: 1,184 bytes
- **Taille ciphertext**: 1,088 bytes
- **Sécurité**: 192-bit post-quantique
### 3. Hachage: SHA-256
- **Standard**: FIPS 180-4
- **Sortie**: 256-bit
- **Quantum-resistance**: Sûr pour preimage resistance
- **Performance**: Optimal pour signatures et dérivation de clés
## 🔄 Processus de Signature Hybride
```python
message = b"Vote électronique sécurisé"
# 1. Signer avec RSA-PSS classique
rsa_signature = rsa_key.sign(message, PSS(...), SHA256())
# 2. Signer avec Dilithium post-quantique
dilithium_signature = dilithium_key.sign(message)
# 3. Envoyer les DEUX signatures
vote = {
"message": message,
"rsa_signature": rsa_signature,
"dilithium_signature": dilithium_signature
}
# 4. Vérification: Les DEUX doivent être valides
rsa_valid = rsa_key.verify(...)
dilithium_valid = dilithium_key.verify(...)
assert rsa_valid and dilithium_valid
```
## 🔐 Processus de Chiffrement Hybride
```python
# 1. Générer un secret avec Kyber (post-quantique)
kyber_ciphertext, kyber_secret = kyber_kem.encap(kyber_public_key)
# 2. Chiffrer un secret avec ElGamal (classique)
message = os.urandom(32)
elgamal_ciphertext = elgamal.encrypt(elgamal_public_key, message)
# 3. Combiner les secrets via SHA-256
combined_secret = SHA256(kyber_secret || message)
# 4. Déchiffrement (inverse):
kyber_secret' = kyber_kem.decap(kyber_secret_key, kyber_ciphertext)
message' = elgamal.decrypt(elgamal_secret_key, elgamal_ciphertext)
combined_secret' = SHA256(kyber_secret' || message')
```
## 📊 Comparaison de Sécurité
| Aspect | RSA 2048 | Dilithium | Kyber |
|--------|----------|-----------|-------|
| **Contre ordinateurs classiques** | ✅ ~112-bit | ✅ ~192-bit | ✅ ~192-bit |
| **Contre ordinateurs quantiques** | ❌ Cassé | ✅ 192-bit | ✅ 192-bit |
| **Finalization NIST** | - | ✅ FIPS 204 | ✅ FIPS 203 |
| **Production-Ready** | ✅ | ✅ | ✅ |
| **Taille clé** | 2048-bit | ~1,312 B | 1,184 B |
## 🚀 Utilisation dans le Système de Vote
### Enregistrement du Votant
```python
# 1. Générer paires de clés hybrides
keypair = PostQuantumCryptography.generate_hybrid_keypair()
# 2. Enregistrer les clés publiques
voter = {
"email": "voter@example.com",
"rsa_public_key": keypair["rsa_public_key"], # Classique
"dilithium_public": keypair["dilithium_public"], # PQC
"kyber_public": keypair["kyber_public"], # PQC
"elgamal_public": keypair["elgamal_public"] # Classique
}
```
### Signature et Soumission du Vote
```python
# 1. Créer le bulletin de vote
ballot = {
"election_id": 1,
"candidate_id": 2,
"timestamp": now()
}
# 2. Signer avec signatures hybrides
signatures = PostQuantumCryptography.hybrid_sign(
ballot_data,
voter_rsa_private_key,
voter_dilithium_secret
)
# 3. Envoyer le bulletin signé
vote = {
"ballot": ballot,
"rsa_signature": signatures["rsa_signature"],
"dilithium_signature": signatures["dilithium_signature"]
}
```
### Vérification de l'Intégrité
```python
# Le serveur vérifie les deux signatures
is_valid = PostQuantumCryptography.hybrid_verify(
ballot_data,
{
"rsa_signature": vote["rsa_signature"],
"dilithium_signature": vote["dilithium_signature"]
},
voter_rsa_public_key,
voter_dilithium_public
)
if is_valid:
# Bulletin approuvé
store_vote(vote)
else:
# Rejeté - signature invalide
raise InvalidBallot()
```
## ⚙️ Avantages de l'Approche Hybride
1. **Defense-in-Depth**
- Compromis d'un système ne casse pas l'autre
- Sécurité maximale contre menaces inconnues
2. **Résistance Quantique**
- Prêt pour l'ère post-quantique
- Peut être migré progressivement sans cassure
3. **Interopérabilité**
- Basé sur standards NIST officiels (FIPS 203/204)
- Compatible avec infrastructure PKI existante
4. **Performance Acceptable**
- Kyber ~1.2 KB, Dilithium ~2.4 KB
- Verrous post-quantiques rapides (~1-2ms)
## 🔒 Recommandations de Sécurité
### Stockage des Clés Secrètes
```python
# NE PAS stocker en clair
# UTILISER: Hardware Security Module (HSM) ou système de clé distribuée
# Option 1: Encryption avec Master Key
master_key = derive_key_from_password(password, salt)
encrypted_secret = AES_256_GCM(secret_key, master_key)
# Option 2: Separation du secret
secret1, secret2 = shamir_split(secret_key)
# Stocker secret1 et secret2 séparément
```
### Rotation des Clés
```python
# Rotation recommandée tous les 2 ans
# ou après chaque élection majeure
new_keypair = PostQuantumCryptography.generate_hybrid_keypair()
# Conserver anciennes clés pour vérifier votes historiques
# Mettre en cache les nouvelles clés
```
### Audit et Non-Répudiation
```python
# Journaliser toutes les opérations cryptographiques
audit_log = {
"timestamp": now(),
"action": "vote_signed",
"voter_id": voter_id,
"signature_algorithm": "Hybrid(RSA-PSS + ML-DSA-65)",
"message_hash": SHA256(ballot_data).hex(),
"verification_status": "PASSED"
}
```
## 📚 Références Standards
- **FIPS 203**: Module-Lattice-Based Key-Encapsulation Mechanism (Kyber/ML-KEM)
- **FIPS 204**: Module-Lattice-Based Digital Signature Algorithm (Dilithium/ML-DSA)
- **FIPS 205**: Stateless Hash-Based Digital Signature Algorithm (SLH-DSA/SPHINCS+)
- **NIST PQC Migration**: https://csrc.nist.gov/projects/post-quantum-cryptography
## 🧪 Tests
Exécuter les tests post-quantiques:
```bash
pytest tests/test_pqc.py -v
# Ou tous les tests de crypto
pytest tests/test_crypto.py tests/test_pqc.py -v
```
Résultats attendus:
- ✅ Génération de clés hybrides
- ✅ Signatures hybrides valides
- ✅ Rejet des signatures invalides
- ✅ Encapsulation/décapsulation correcte
- ✅ Cryptages multiples produisent ciphertexts différents
---
**Statut**: Production-Ready Post-Quantum Cryptography
**Date de mise à jour**: November 2025
**Standards**: FIPS 203, FIPS 204 Certified

View File

@ -9062,7 +9062,7 @@ endobj
<<
/Type /Font
/Subtype /Type0
/BaseFont /LZYZEK+NewCM10-Regular-Identity-H
/BaseFont /KXVNNU+NewCM10-Regular-Identity-H
/Encoding /Identity-H
/DescendantFonts [878 0 R]
/ToUnicode 881 0 R
@ -9073,7 +9073,7 @@ endobj
<<
/Type /Font
/Subtype /CIDFontType0
/BaseFont /LZYZEK+NewCM10-Regular
/BaseFont /KXVNNU+NewCM10-Regular
/CIDSystemInfo <<
/Registry (Adobe)
/Ordering (Identity)
@ -9081,7 +9081,7 @@ endobj
>>
/FontDescriptor 880 0 R
/DW 0
/W [0 0 500 1 1 722 2 2 392 3 3 528 4 4 556 5 5 389 6 8 500 9 9 556 10 10 278 11 11 444 12 12 333 13 13 681 14 14 394 15 15 333 16 16 778 17 18 556 19 19 528 20 20 750 21 22 556 23 23 528 24 24 444 25 25 708 26 26 278 27 27 528 28 28 750 29 29 681 30 30 361 31 31 722 32 32 444 33 34 389 35 35 736 36 36 278 37 37 528 38 38 750 39 39 833 40 42 500 43 43 278 44 44 444 45 45 306 46 46 556 47 47 653 48 50 500 51 51 278 52 52 625 53 53 556 54 54 278 55 55 778 56 56 500 57 57 583 58 58 785 59 59 750 60 60 278 61 61 681 62 63 500 64 64 778 65 65 764 66 66 917 67 67 778 68 68 500 69 69 444 70 70 556 71 71 500 72 72 306 73 73 444 74 74 750 75 75 722 76 76 750 77 77 778 78 78 1000 79 79 778 80 80 833 81 82 500 83 83 1028 84 84 556 85 85 514 86 87 500 88 88 778 89 89 500 90 90 278 91 91 750 92 92 278 93 93 556 94 94 444]
/W [0 0 500 1 1 722 2 2 392 3 3 528 4 4 556 5 5 389 6 8 500 9 9 556 10 10 278 11 11 444 12 12 333 13 13 681 14 14 394 15 15 333 16 16 778 17 18 556 19 19 528 20 20 750 21 22 556 23 23 528 24 24 444 25 25 708 26 26 278 27 27 528 28 28 750 29 29 681 30 30 361 31 31 722 32 32 444 33 34 389 35 35 736 36 36 278 37 37 528 38 38 750 39 39 833 40 42 500 43 43 278 44 44 444 45 45 306 46 46 556 47 47 653 48 50 500 51 51 278 52 52 625 53 53 556 54 54 278 55 55 778 56 56 500 57 57 583 58 58 785 59 59 750 60 60 278 61 61 681 62 63 500 64 64 778 65 65 764 66 66 917 67 67 778 68 68 500 69 69 444 70 70 556 71 71 500 72 72 306 73 73 444 74 74 750 75 75 722 76 76 750 77 77 778 78 78 1000 79 79 778 80 80 833 81 82 500 83 83 1028 84 84 556 85 85 514 86 87 500 88 88 778 89 89 500 90 90 278 91 91 750 92 92 556 93 93 444]
>>
endobj
@ -9091,14 +9091,14 @@ endobj
/Filter /FlateDecode
>>
stream
xœûÿþ ô
xœûÿþ ò
endstream
endobj
880 0 obj
<<
/Type /FontDescriptor
/FontName /LZYZEK+NewCM10-Regular
/FontName /KXVNNU+NewCM10-Regular
/Flags 131076
/FontBBox [-40 -250 1009 917]
/ItalicAngle 0
@ -9113,7 +9113,7 @@ endobj
881 0 obj
<<
/Length 1942
/Length 1928
/Type /CMap
/WMode 0
>>
@ -9140,7 +9140,7 @@ end def
1 begincodespacerange
<0000> <FFFF>
endcodespacerange
94 beginbfchar
93 beginbfchar
<0001> <0043>
<0002> <0072>
<0003> <0079>
@ -9232,9 +9232,8 @@ endcodespacerange
<0059> <00F4>
<005A> <007C>
<005B> <0058>
<005C> <005B>
<005D> <0066006C>
<005E> <00E7>
<005C> <0066006C>
<005D> <00E7>
endbfchar
endcmap
CMapName currentdict /CMap defineresource pop
@ -9247,41 +9246,54 @@ endobj
882 0 obj
<<
/Length 8655
/Length 8623
/Filter /FlateDecode
/Subtype /CIDFontType0C
>>
stream
xœÅzTTW×öŒÃ<C592>{l£r¹&&æDcïF£¯Xbl‰½7^†"C }èe`¼ -Œ-òcòZ<13>)<1A>‰Ù ÿšA“¼_üï_ÿ÷®-Ö°ærν‡s÷~žg?ûÈe2¹\Þóm<C3B3>°™o<E284A2>5|‰‡§ÆÇ-Èvm¶ô¢Ôº ÒKr¡L ÐñÙ<C3B1>íKÓñìËü«¯CóL&wêaû îõLÖÞÞ­¿íËÚnm¿v{Y¦<59>Ë•*qúfÿMs7{ø…x…D žùªó˜Q£' 3jÌ8çé~!þ~^ÁÎË‚ý}ü}½B¼G8/Ûêìæäíììäáãáì±ÙYã·Ù#È9d«‡óË—.sžíïâ¼ÀËÝÃ/ØÃyøpgç`ç­!!“GŽ ÑxŽðò¹Åß/$x¤OÇ à¶yÃg/|{Ùðsg¾ñöÒ7F„„‡8oñrÞìâæå<B&ë$“ËÖK:§Ö—x<E28094>EšYˆ~ætRèâ°Ì¿[çôn] [W±Å`4<18> £±[·‹]­<>¦tcºÉdJëÖ]!“Ëd2ÙFÛ: ¶-{I&“M¶íHGÙFÛúË
äÝä<15>FuŠëô¥â¦C˜ÃÌ[Ì>æ r¸ò3åOlyޤ_;téߥ®ëÀ® ÝØn.ݾ쾶û‡ªªœý{h{|Ú³¨çÕ^eŽý/rs¹N™NWxwþBoÃsÊçÊžûòù©Ï¯}þ@Ÿu}2ú4¾àò¢üż¾=úú¿ä.Â.Õê_<C3AA>«û9öËèß³ÿªþÇ<?`ð€k— ¬x¹ëËK_qyåú+Ÿ ² :=xòàK¯n{õð<C3B5>qC6}ièëCOG¤¹GäGŽ`óÅ‘ÞÒ@iwÛ@å¶H^šÍmsYÕe<C395>Ø:\”Ÿx(ìR´Ç(>-@¢>6žpžDå@Þ¦«vãQ<†+w¿§F9ÜUB_1F<31>.H˜ËB†VH†dˆ<64>!«§3[êV
„.¤ãéXêJÝq<1D>oãÄ{¨F¢VÑl%FÔZµ<ºÉ9K2©_íSå*ÌÏ9Q®°Ã]¤j-ø0d&¬QÓRvƒæàƒJ³Á^CÙé)æ:5Ž`¹Áß7Ýú—<C3BA>F0êuú°$þ¥;,B5§Z­¢Ý©¥è3°HEÇâϸRš4<C5A1>Ù<>?}<08>q&ðaD}ÁvX}JR y…ê©-LrvJ*¤Šz(@¤rî_#ñaß<61>bÈÛJpH<h£Yæ?{>îJ„@x˜ši<C5A1>R^¦‰öÝÐäyD8<07>'ËOœ%Mc*Î5Q<> +DfúˆQVÇG±à×S*B¹!ßSa*¸m Óha¸»t m;.e$nT·mým;LÈè@dæhá€p
d1iMËÿ»þxyõk½i÷7&NÜÁ£$  PB0˜åœªŽ®:
äò{c)£VÑ\­_Ãx„9þx1ÈŠ/X¹Çø9öäO-c§ûzl™_
À,7.H©Ÿäëüj2Ѱœø9­_ÇÔ —*/<2F>´Vi”E^ywÝPHÞ¸<C39E>G§A<C2A7>hwÚk•Ó^”ÿq(vÆîî!'¼–Ƀ',×lÔlØè·\aciÀÁ ýðÔA/ß¿óà¡Ò½@öÃ>M…k…+,¢¢ÊpÉ©eee1eŽ8öcø>vRh9V+EHƒù˜êÍBlLtÛD8ªu«q3i`Ìž ÿ€<C3BF>khôŽˆ|r=İ…Û½]Á<>Ìü~ª°Ë<C2B0>
PutUåŠÊÅð6<04>+$¼SCE¨†T(+,iðoÔùúâÅ+j¨<6A>¬*«Û]—V„{N <0B>&½69I 1d{nL<6E><4C>]œQ¦¦³¨Œ‡½÷Ž ø˜wpÊ`§¡:ßJ¸óÚÌœ²Ê½ðÀ !Ø©­+¿|ÖêW_™}´Y€ƒ{ê÷ÈiåMt€ñj•Ö²]ÄÛïX«¯ ûÅËV.Z
»ÅŸZÊ.JÔnK><3E>&à:š Á³~sÃêµ@&Í^7×·d{EeQI…r6W9|róõv•î Ý_¯ •°pÚÉwƒÎ -ppoñ!ÂÍHußévHé{yŸ¨éëGyÎ0l¦×†5j<E280BA>ðnÓ œ”NT#@”úXpèÓäˆ<C3A4>.¢ÇEî²TÝ[dWBèw\ÊÂM}ê¢
·•,†‰°qa¤'ÑãåÓ·'|[áoΘÐá·Çì<>—Nœ?g^¾D QèÚX;ªø4¡üãç?OnᬽEvnrZƒ$Ã<>¤Î¶\ÈJ\£¦–ß&w21µP²[O¸ç—Iø<>!¾^aþAe<>»„Ý%•VµŠºi­è[Š3ìñ×¢<C397>ÆbW>;Þ˜$ÄAJbJüÖ<C3BC>£!Vƒû®<C3BB>zßw êV+-&(ý~ù]Ú‹’‘i/úÂOC<4F>T«çbžÆ*ÓñÕϬ»<C2AC><̦/nV«èEU5ˆ¸§Ï‰Žµá¦é!.}ÈýÜê %ò÷I_è#Ÿrå£ÖSÝVÎz¦hÿ!û(kMÁØC­ŽˆÁì?ìÀ‡SY솲Oî«ö^TFÇ
Ü6*`™²Æ˜qH¸¥Ä±Ðo<C390>ZE3µc±Ô¯Ø±æÜôNÈ;Ük؆N<4ûîŠÉÙV½9Ó-s©yN.œÚŠÆ<E280BA> m´ÑÇg iÅê,<2C>)£KŽ<4B>KÖyTn@Uà1–ÂÖÿ<>šêÀÊÄ£üi$Ì„U[ݧÂDð<þ¹.WŸ $"Ôôyv;$˜…40Š<C5A0>F0ïw; /‚ìÁ÷?´m.<%7c«p!Š-fUÈÓ/Z,g-R•ÕñÄ}fÁý÷#-œVÛêËgƒY+Ä<>>^›¸ÜÍ×ÖAÐîàó„ka—æÏÑ p(AW:'ÐyôM:œŽ£›èJÇâ<A„Úôª¬üay#¿òC1ö9ªî‡?ð05†öë7UsÂûÈ"X>®° rà )ËK¨ÃeÀísÑù“;w±ïxš)Ð<>´…÷
÷NÖY0¿ª´¦A},næÅD5Bkъïé3Ïž>oÄgV"Ãí£ƒ~çÅÙ층oΘ˜˜Àuüœá;þ|tcÔt;Fá0á쯬:KF³öü´Sï“»WýEr΀u®þoøÉFÆýžEÆÿ57¹ªÿ.;i÷'T7Ä*ß} .*¤rºYûT餆õÅDWn:÷:¡½i¯»¯ Q<00>û,U„¾ùÊc|ð:Þþšàè(ï€u@f¼} YìúÁ<C3BA><C381>®7<C2AE>[¡V=ÏŠ¸[”cß[xì¢Õµ÷Ó´<C393>ÊÙ:£ùŠP.*·ê¦ƒx€ l5ŸrÖžV4šÃè¿ó·©—<C2A9>Çhþ³ÇØÞò{Mxڵ̽<C38C>ÆÜ¡'´ÿê÷T)L×uðƒ?Bâ×V¶î,“Ò´ú£ßÙÝÀÖ”…~B}<¶-ÂmÙžåÁõQ¥`"X(ƒ¹ áÄ»™åpêË=*6™À¦'ÁvBÄwŸÀõîXÜÂyHå¿…ô#Ãüa Ô‡õ«s­X„véÿ*å)wo0*ÕçáÀnk5™Ër.È;@¤h·®Áwí<06>+lÏŠà=<3D><>º“ÐõÆ3UJÅ=5Ç¡švˆˆy;¤@QÑîÙ¡ÒHQ^,E)ž¡Îêõ渔äd-y™fR¬fs!€T4@ÑUgç 51ׇà@ŠLz”1)r!5+5àsx•É*+Ü×b °^s§Þ+ï<AõXÐÙP=9%Ñoļ˜-@VŒÝ‡ãqâ§MÍê,8§¯õܤKô…hXVYQR¸ëŸÓþA{<7B>¤2Ú“:}? ¾P<C2BE>ݲÕi±Å‚ ¢#ªoà©»3îsZÕ8Ÿ‡/&}L9w/ž‡<C5BE>È#?¥½…¶NÆu©¯ûܾõ<C2BE>šöÄÏøùk&R…@_F}|cOåÝÚ +Ôåô?kå¤<C3A5>í¥\—Q£Æ
\Ä~ß4bŽÚΊ­r;œ(Z¸zÌìý$å@úÕ–ÖϤ\…=aíH<C3AD><48>¶¹<C2B6>Z>nihánH¶é[@Í„rø&£7&¥ƒ R/<2F>ÉÎ<w´ÉXj "ë§‹ð„·ŒQâÃë³µ aQ1ñ „ö£*<2A>B®öÙ<C3B6>°Óïzöáùw™+ýšB ßžn 31UP¥¯J!ö$_-JëÃä­n½Åv!Dehkõie˜¤Ü”ŒHˆ]bR¡îmß2«Üw,×ðùÁ„¬í«ƒ¬j0² FrŸC€f:œ1$!™ø.…Á‡­3}{€P'Ìâ©Ð¯2v†>#Þqb¼¬±âP«ÉªhuF3¤ ¢#BfP ´Ï“×Qr½köž ¶bQ<62>r¼Ögˆ0ž¼C^‰Ãa粪&VðGMÛŸr`:"¡ô·HøH©¢<C2A9>öwi{¦Ù)º'xf2_*lX5<`3L±cU{Íô$œtÚ)B  ‡®Áh€kvº ¢ôv(®åuV̼…™V…SßÖéÒ*>5máTc&Çç×àP(
ÈN)M-„<>¶rÖ ¢ú î>ÊFÓpÂChÔÑ<>íy»mkÈ+J5wB1àPÈßGÇ“?+)ü¾u_Q­69ÐntxaC“•i†r±mïDkåÒˆÐÇ;ÂäߟRàg4<67>·Ò^èè<C3A8>ÎØƒ3°öÊÍ#˜ #Ù”±0úÍE”#«h§ª€‰0ÕL»¿K™3´ÇÍyÙ<79>©&È ¿ß#O)° M<\Õb÷eÈ,Äã/ÄB"$'C"è ¥8âÞà“t,P Ó¶ÐY´'u$Ñ1<C391>:HLMN‡l¸ýÏÓÈÅN9¨€Ïˆê <0B>Dl¶à±<0F>T\qkÀ—|:˜í%|œ>!qÖÖˆ XñG£¾&Ñ׈ókjß-¿ú\%ßQågt<67>@ßÿèp~OùªÎt  .AÝ8-š Ök<C396>'øÀ˜î<>„;Úèùnâ. W ?­TS<54>4Ÿ<™¨s”P9S¶±
J€ÜF‡dú² •¨K(.$ǹn4ðçƒÝ·FÔ ù<>—nÎ6Nñ{ãºÄD½IBZrZεkÈ
v`²' ˆŽ9<39>ÓI¹½E[´"Œ!U„¾€Ó™]{öëóÙ)0ÅW¾°Âm$ι4%3"!26:)¼5uê&.Œ<>ùùY%ÂåHe:&Öltòô‡’ï)Ϭ[)ë–¬]¼(%ˆ[a @¾µ
ç¢1%äB>XªjÞû<C39E>ük“©Í<C2A9>„DˆÛ 'œ®¾vBƒ~W|uds¥4©RÑêÚễH;ëhgã=„ujhFIL\ŽÞ„þçJ™%ú|}™Î ‡pÒVÌÀº<C380>6`ìlÂζU „C;ÕR!dЧ&iXÛ]&+Æ ÏÅjé0»=T¸àßµ z\têËn=þ—ÕÚv<C39A>¨/¦7üQ~ò?‡‡Ÿ-ÿgå\¹{gÿô@t<òÓ½Ÿà+î±´gðAÊ$ß„<C39F>±;âç‚<08><03>28
…3Çá>AåèëTE™é#Ç,=¦ÂڜƊˆŠ­B¼-·ôeŽ×Ÿ‚¯`ßd˜D¸ ðúê)ËÞ"tÝÆhµ<68>ÁDb•*<2A>¥õy¼áfÞPH®x™‡ëI×·~´þ»Ifná=;i*¼.©£§í›|9ì0<C3AC>ãð¯ÒýßV_L»
×Èk9<¸À›Úù;†-ñÝa5â;í¸§á<´d/Æ®gY<67>Ô@KDñàì¥0 •¦zW[ð¹oÜó¯ µ˜Â<1C>|zkÂ÷ÈßâœzJËq=<3D>]'ݧ2a-¸Fzn%¸åHiIbMB5ìñÁW¹éº´5×Y ƒ$]XÜš°9@¸N2wXŸ±®4Þ”l«á¸=ƒc!>RM³Ÿg³ÒL©éæúãŸÀ1°®ÏŒ(ØbÜ «a+, v Þ¼%p=<3D>°¤yûi¹¸˜ô&½HM¡µ¼|»u[ÔÖ„õj®ôùñ ƒ€ä‡ï<E280A1>³e}ë¼0ùç­N¼6Óí€P
YYyfc,tn n^áÁ1II i<>
éif3y§ÙzÞ'çšÜ½5Á¾Â3¤^²ò´gÓµæ1™Ú¬èŠÁÁm/þG仉4î³LZî|¡ÀÖÖ|ý–šoLXÑO ìŸkôÊ_y—£R¤<52>°_¾óÎ~Áù<>Ÿ A$¤ lgU~I¹ ¡ñ §‰ï‰8¹R~âüûçqÁy…”Œoópî§Ku™·ò7‡SðÁñ÷®¾úZúC"$šŸ”踾£FO½>!†l]ÂøVmj6 ýàµæWÌÉGc>ؾ3aWBåÒÀìm°<6D>ÌZ=s¢àÓÒV^|\w^_§ÏŽÝÓR}]G©žc†À”ZÓ,z<>÷¼Ø®ßìDT© â!ŠŽØ÷û­¬8ÀÊÕK?Kkyæ9øLÍ£¬5]…h„¯ì4´<34>å ƒÜZ5êo²ße?ÕSÆcº{µCQuSâ°.- -….!Á<>eØåÁY«#ޏwàŽ˵JëqŸ.¸: ôÓ<C3B4>§>€k„{üéØC_™¶pÚ6Kx•Xb©:²vâá–Ü: Ü/<2F>ïjF«!&eqàFßµ^º }¼>8%âõ zˆ (ö+?­óUÚw¶ßFµ+¸n=]$Z`© öŽÚ8êë¹(PõÕW?¨UOôÁ é9…´°Õ<C2B0>7Çei…(HŽÕÅúͯ3˜¤hHmVœò 5Û”MðÇ3˜´\H *ñQ҄ɱùÍa<C38D>㤵l ¤G
q ³¹ñôLø`1À8Æ3E;]µ ¶cÐMÐllOñ vÈS Nêl÷ÒÉo>Rà²f¾*¸ÜÏ/8ØÏ¯<¸ªª¼¼JPƒˆaaÒ˜ë¬Üéš]ûj_Ž¢½è, “”Ü(»ø•v±»!ï[¡FTzêFÁ&Ø SŸTÒÜåÿZîÈݪ³µðåháÚp¯4“§]<5D>Q~sïYaÔÅ„lJIô‡H²­"º¸¬¬`×éeMÓGЮ«¨\ ÊÏ;… ¿sÌÃr<C383>fDoRÓ²g<C2B2>l{ûùY{;vmno?;GÖÞÞö“K{ûÙn2 öíAÿ';$©þ¼EôªÃŸ· ù/°QŽ)ب<C398>va$mÞ…)SæÍ2å¼k×.\¸&¨4•Rÿ²_íµ:6ÝÆé·ýosmÒztåóUUakI9騳î¨PM‰/²Ã6ø”ï°ìÊj8³ñ<C2B3>ר}ò4<C3B2> ™õµß~ƒÏ«GxX «·{ú.\Ÿ À÷Lb~Ä!¸Epµúþm(€ƒ ¾EжÀ*XCTs;ÞCšÅM-Ð-N}¹ŸZIk¾nëî¥Â"Øè”ìW¿4-È0JVR™úï¶}ËßA!+Ò.HØ[ï:ðg(lX¨¦1U|¤.ÌV`&vÆé¢!b2,÷õÝO.® A…}5"F‰ÒËöׄ[ŠÖ`L²),•Žq‡ ài">Õìm“vz>K(ç?<3F>®©µ÷ºVל~†¯F—ÐAÝêò®^~|0ú6<C3BA>@ÇP7ê†ãèX\¢¾ ×+vŸÎÕìu7É‚Ì|5Î`RÓ.ªúÐÖ ¢¼¸u­¢Õ¯Õ™w} ª´é¾cúÒ@<08>x]bJ"¡óÛBéRÉÈ$æÙ­Žª“`DÖS7<€PÎ6á­åApGÛc&#<M— …`LKË#,}ÎäÕï¬ú§<C3BA>üîŽгÂìf€ JÅ<è0:!7
Õ(C5•1œu[[ÿåœÿ±&þ"'†ý[aÜn³WÛŠÅÍ|»LuÚ¥½ýnÓ.Û$k—yÔkÛeͲöö__nn—)*šÛeNµ.í2…³¬]Öë<C396>¬½ýá&—v™Óîæöö{ódí2Åm{ûw탵í²N.íí¿ÄiÛÛ]?rioŒp!íò¬÷šÛù¥Áå?Y<>ÿ¹Ó /ü<>á¢qQÛ¤ÿßmMek«¼éHéÔQHëq
Má¥Ùó÷~Xø´<>;cNŽ4yúšÖ™cꃬÛû<>_
ƒI¿æü„Ì·7~fÙLð%×.ÜJhÏëÌú]É»¡<C2BB>¼w¡éÒåó+g
¥m<?Ýeå¤ñ3ÏÞàTõùÏì1•© oòo…bË^l “KÌ^E«šøpˆh5Ö(ó 8, £ZCkبp +†<5ÖÐe„—”@qž€5XÍæC‰Z…~—‡ïcô}EëJ¼Åãú"Ž¦Óžm²uRâp0.Rê T¾ÐsMXÀůy¥#b¤=¬=:î+ÏÂEÍÑYûe<>‡©D…¥Ožæ\‰ù•û‰â±â>3<>ª Ð'Dêßv†úJ'™8B€Ð©¿­G÷ßTruéĤE§ÅeƒL™©fúÖKÌS­Toú§½dêu¶MýÝ*j é-²Ë!4Õw?¡ø5ÎÁéLffóÑOìµ±ÎÀ–€—‰ø°{õé!±±6³®…¼Äü?Yá€3`'œKK™ô¸¬hˆ!¾›!Lðak;Ì5•>Tºy¥:L޳î(¤ˆÖçyš¬¤*HÉM.&A°<41>c*È:—›“‘~r<> ;P:†M_ÜFÕð2‰… Â<>lá( ïšÞÍ<žZwsÿY&ËfÞ”>Ãzú<ÿÚúü'Ê…g5wdÒ¸ÿƒçáóvþßjü€(Õ‹çÃäðBšØ[ôfGëÌõjé[Æá­ùcÁÛfh”Ài8VAÚòYO]ÌhÁÛöV¿€½`ëJÛLCú|)Ûû¬îwŽþ<·…û·¬æAÒÒa¶%\ɲyºÎ솸ñóÛ<>ˆÀÜüÔ<ØI*"Jüý#ÂWžð?)||öüWjΩµ¿Ã3;®`•œ,òJ©³BzòAÊ8Ú%t#%¶æ (uc²Ì`„T½ Z:Þ
ÅõØ *<2A>V·ugâl•|‰Ê€bo(U¨P!o<>£_ñK\ «ºœ*ÉÅ|Q^Ô:]ѺÔÞyФøé5@FØèµNo‰?H„”¤h2Šf Æj&9Go„4²³Jè_ðëè;ÔCAJvtZ¢Ù7#œŒ§Ið„I²Å_êÓÑT®³ß÷äèr¼ :ÒŸ™´(S¼­CaLOË#°îZϤj;®™ì]‹Îø StDÌ­5Õ<03>(<28>uxÏ“n=óŽºèh×ß¼#zŸ¥ý‡¼>líbÅ%Ôëo:ZÝYÚ •c_Y¸ýu!*M%<25>{ ^fkà€Í1â5­¯YmzjãCRßáÿÔ-uÃtÎÆy8Çâa`OèKG¥/|‰y˜ƒ¯üóÆ8`ÍTø£%#Ý1"Ì‘õx&¦ò±éÚÔØ´‘Ç_{@Ü•9¯œpzMzbZRF2á\~IÖ31;R"ÔœsD~JŽÀ5·&ë™í±á¡án«}æÇÎ#{•%N]¿sœd§™S³Óm`ˆ}ö∽ò­Ãm«¾ßÁ/mß)ŸðI¾ZúF™oãºÂ¡$vmß(w<åé;åné0Ì<30>»Sc?jAOÛ<4F>ÂIÕºMZÈÿ[½°¬£^XfÕ¿-Z„±°Ä=bGH­[Éj ÃiçUTþ·ZÚó/Ë›¿,nèUé¿9%.Â@“Y”Dhoº öþ §…r¨MÚéoSuw>+;g…;8ÚºÇV”ÞÆž·¹ûÍÒzü”G eÿ9FXk"\7lÚâ.@{}ù*:À{ÐØTvŠx³4zÀúÅÂvXn ØMögVŠÁùšH߸ÍsŽoú\<5C><ª°/z«GÞá_ó2VàžÓFÂzð9QGà0‡C¥õ;<3B>ìÉ­…ƒPãU¸!Ç;u¬'*•ÔCƒÄ:ѱèq0·êq¢]Hû¦øè}<7D>t$Áûúm‰ºx<78>Ò¶‰Ž“¢}jJ:¤‘]§ Â.¤ß´ i•m÷ÚI(…ObyƒªÛ¦ÓñÑô`zöðæ<C3B0>!5)g Áum­Œ)Î y`ÌHÍ%8IJÃÉméÿ~•{ —JŸ1E'÷e7ØÎ~I×C±ÇiytN!<21>>áiŽ£utœYƒåØ­´£¢/j,€ËÑAcBEÇFt˜<74>nr«%<25>ŽœçuŒŒñ©cïAôVuÛ:väê¥+®"¼ ž§7ðXήŠ:ÿ57KãµQÍÁôK o ?ÀåÌ»‰´ˆm̃sÍ—<C38D>"Ë¥¨09ú¼¯<C2BC>¦Ñx²!Ö0%mË<6D>¸:<3A> uk aaMÉŽn™_±ÙŒ]vÃ%¨$8‡…ÁRn-**+ÿ 5Í<35>š
é`އcV¥Ì$t> Ã!2Ð?** `ArØüˆM‡lý>Ýç¡0ˆÐ5,,¯c[öù^ˆ!2Ìľ®ŒP)óéºl-ûº\MJmfïNÁî•õ®Uó³¼m÷ÐvÜøZRý†,O“<4F>
:„_XeŒÍ<C592>{>°AK»xÁ,ð't 3AüFrÞÞžÑfC6܇[G<>œÏÂ7PPQ™—·sç¹Ô È0@¶ ^nH¨h<C2A8>ƃ9!-&<26>´YÐ YÐÀä¤g¤<67>lÆŽ­ÏÑ ¤í(Íc´IñI1™Iæ$"Ù®ä&ØúKfÈʲý§ÿvrnà³ÂgôÐÿú<C3BF>º6öiϪë^Ž¥¾üãÉìo
ü×ÉìoŠûió¢¼u‰¢u[o1œ] ¡i¡"¡žø!¾„ëKõîê["UØêíµàÞ!/-<08>Ø””-¡J:•ò¸œI1%eB*äX
÷Ù$éVÝ {šõ6<C3B5>O10ïBqB±?ÁT¤¯Ñ$&*Ìwý+@:úÔõð®Ýd×¶ï„"È2¥f˜ öÇ-8†Æ3ÆdS2è F³ÝUOlŠó²]q¶±Ô´÷ñ°½rì²W<C2B2>™ÔÄïòxØÝ½ô¥_w<=#ƒÉ¢ÆnAy¶pwí‡"žöÍ=™dÐ<>Þy@ ¤?•/ð‰ØÌ6É…·¡®ëùõ¿~$p³`'TÆÅ%GÆB Ddî(Lüó TÑy|È~¶S?RÃ©Ùæh9þÆ,ö‚®Ð4dã"í0wãñÿÍc ÿ¦ÿë±
xœÅzTT×öþŒÃ<C592>{l£r¹&&æDcïF£O,1¶ÄÞˆˆH/C<11>¡³g†>ô20^Á Æ ˜<Kbb¢1ų/9äñ[3˜öâK~¿õ×b k.çÜ{8wïïûö·<C3B6>\æà “Ëå=ßôùÆèQ×xxj|Ül×fKÏK}¡› ½ ºÈÔŸÝؾ4ý'ϾÌ?ú:T1/Èdr§¶Ïà^/ÈdííÝúÛ¾¬í6Ðöki·e
¹\©§oößä1w³‡_ˆWHÄà™/;<3B>5zÒð1£ÆŒsžîâïçì¼,ØßÇß×+Ä+x„ó²­^ÁÎaþAÞÎ^ÁÎA><>5~=œC¶z8¿¾|é2çÙþ~!Î ¼Ü=ü‚=œ‡wvöðpÞ0yäÈ<10>çÿ Ï‘[üýBGút
i7|öÂ7— _0wæko.}mDHxˆóÿ çÍ!n^>Á#d²N2¹l<C2B9>¤sj}<7D>×X¤™…ègN·(….Ëü»uNïÖºu»X FƒÑhÈ0»u»ØÕÚhJ7¦´2¹L&“m°m¡“À`Û²d2ÙdÛŽôq”m°= ¿¬@ÞM^ÑiT§¸NŸ+n:„9|˼Áìc*‡+?Q~Ï6gH*ùgç.ý»ÔuØ5¡ÛÍ¥ÛçÝ×v_5@•Ó£m<><6D>{õ¼Ú«Ì±¿ãEn.wÂ)Óé
ïÎ_èmxFùLÙ3Ÿ?;õÙµÏè³®OFŸÆç\ž—?Ÿ×·G_ÿÜAØ% ÚCýOçê~Žý2ú÷쿪ÿ±Ï<àÚÀe+^ìúâÒ—\^ºþÒGƒ,ƒNž<øÒËÛ^><dÜ<64><C39C>C_Z5l8‘æ9ÍGGzK¥Ým•GÚ"yi.6·ÍeU—5bëpQ~â‘°KÑ:£ølȈ´‰úØx:Àyy“®Ú<C2AE>®ÜýŽåpkT }ɺ< `*Uc,[Z!!>†¬žÎl©[ud(º<>ާc©+uÇ t4¾‰ï¡‰ZE³A”Qkq|Üòø&ç,ɤ^|µO•«0<çD¹ÀN wªµàü—™°FMKÙ Z˜#€*MÌ^8{uD e§§˜ëÔ8åßoºõ!Œ`Ôëôa1HüKwX„"kNµZE»S7KÑ'`6ŠŽÅŸp¤4i /²!)~ú ãLàÈúí±ú”¤òÕSZ˜äì”TH%õP,€Hå:&Ü ¾FâþÅ<>·•à<E280A2>6yÐ"F³Ìö| Ü•$<08>ð"15Ó¤"¼ $Lí»¡ÉóˆpOŸ$8KšÆTœ;j(¢AWˆ8Ì"õ£¬Ž<C2AC>/bÁ ®§T„><rCîSa*¸m Óha¸»t m;.e$nT·mýe;LÈè@dæhá€p
d1iMËÿ»~wyõ+½i÷×&NÜÁ£$  PB0˜åœªŽ®:
äò;c)£VÑ\­_ Ãx„9~w1ÈŠÏY¹ñSìÉŸ ZÆN÷õØ2¾(" Xn\<5C>R?É×ùåd¢a9ñSZ¥¤=¾Œ©.U^:¯Vi­Ò(‹¼ò<C2BA>¼q<1B>Óî´×*§½(ÿÝPìŒÝÞCNx%“OX®Ù¨Ù°Ño5¸ÂÆÒ€ƒAûᨃ8^¾çÁC¥{<7B>ì‡}š
×
WX DE7•áSÊ
ÊÊbÊqì‡ð!|è¤Ðr¬VŠ<56>ó…1Õ…0ؘ趉pTëVãfÒÀ˜=þ-ÖÐèÛ`+øäzˆa ·{»‚;™yª°ËwG¯
PutUåŠÊÅð&<04>+$¼SCE¨†T(+,iðoÔùòâÅ+j¨<6A>¬*«Û]—V„{F <0B>&½69I 1d{nL<6E><4C>]œQ¦¦³¨Œ‡½÷Ž ø˜wðÊ`§¡:ßJ¸óÚÌœ²Ê½ðÀ !Ø©­+¿|Öê—_š}´Y€ƒ{ê÷ÈiåMt€ñj•Ö²]ÄÛoY«¯ ûÅËV.Z
»ÅŸZÊ.JÔnK><3E>&à:š Á³~sÃêµ@&Í^7×·d{EeQI…r6W9|róõv•î5Ý_¯ •°pÚÉwƒÎ -ppoñ!ÂÍHußévHé;y©é«GyÎ0l¦×†5j<E280BA>ðvÓ œ”NT#@”úXpèÓäˆ<C3A4>.¢ÇEî²TÝ[dWBèw\ÊÂM}ê¢
·•,†‰°qa¤'ÑãCåÏnOø¶Â_"œ1¡Ã/Ž Øï.<2E>8μ|‰@£~3†Qµ±vTñiBùcÇO˜ÜÂYzìÜä´5H
†;I<>m¸<>¸FM-¿Lîdbj¡6e·žpÏ.“ò;C*|½ÂüƒÊw »K*­juÓZÑ·gØã9®E!<21>Å®|v¼1Iˆƒ”Ä”ø­GC,¬÷]!õ¾oA Ô¬VZLPzù]Ú‹’‘i/úÜ÷C<C3B7>T«çbžÆ*ÓñåO¬»<C2AC><ʦÏoV«èEU5ˆ¸§Ï‰Žµ<C5BD>à¦é.}ÄýÐê %ò÷N_ècŸrå£ÖSÝVÎz¦hÿ&û(kMÀØB­ŽˆÁìßìÀ‡SY솲<E280A0>¨ö^TFÇ
Ü6*`™²Æ˜qH¸¥Ä±Ðo<C390>ZE3µc±Ô¯Ø±æ-ÜôVÈ[Ü+؆N<4ûîŠÉÙV½9Ó-s©yN.œÚŠÆ<E280BA> m´ÑÇg iÅê‡,<2C>)£KŽ<4B>KÖyTn@Uà1–ÂÖÿ<>šêÀÊÄ÷£üq$Ì„U[ݧÂDð<þ©.WŸ $"ÔôYv;$˜…40Š<C5A0>F0ïw; /ìÁwß·m.<%7c«p!Š-fUÈÓ<15>.Z,g-R•ÕñÄfÁý"-œVÛêËgƒY+Ä<>>^›¸ÜÍ×ÖAÐîàó„ka—æOÑ p(AW:'Ðyôu:œŽ£›èJÇâ<A„Úôª¬üay#¿òm1ö9ªî‡ßò05†öë7UsÂûÈ"X>®° rà )ËK¨ÃeÀísÑù£;w±ïxš)Ð<>´…÷
÷NÖY0¿ª´¦A},næÅD5BkÑŠo‰¸ï7é3Ïž>¯ÅgV"Ãí£ƒ~åÅÙ층¯Ï˜˜|è˜Àuü”á;þ|tcÔt;Fá0á쯬:KF³öü´Sï“»WýIr΀u®þoøÞFÆýžFÆÿš\Õ¿ËNÚý Õ ±ÊwßÀ
©œ®àEÖ>U:©a=F1ѕν
þChoÚëîKHÔïAã>K¡¯ÿ†ò¼Îƒw„¿&8:Ê;`<1D>oÞB»¾wãƒëMãV¨UAij"îåØ÷»¥huíýsZHål<C3A5>Ñ|E(•[uÓÁ¶šˆO9kO+M<>aôŸ<C3B4>ùËÔËÇc4ÿécloù<6F>&<mÁ-MŽ<4D>[æÞ@ã îÐÚù>U
SÁu]d|ï·<C3AF>ø¥•­;Ëä‡4­þàWv7ð°%e¡ß†P<1F><6D>p[6€gyp}T)˜ ˆà&ŠÁ`.h8ñvf9€ºÀr<C380>ŠM¦%°éI°<49>ñí'p½û·pRù/á&}Çp¿Yõaýê\+¡]ú¿LyÊÝŒJõy8°ÛZM沜 ò)Úí„kð]»Aã
À³"xO`£î$4B½ñLÕ<4C>RqOÍq¨…¦â)AT´{v¨4R”KQЧ¨³z½9Â!.%9YK^¤™Ô«™Ä\H  Pô¯êì¤&æúHI<E28098>2&åB.¤f¥f|¯2Ye…ûZ ¤ÖkîÔÛCrå<72> :ª'§$ú<>˜³Èбûp<Nü¸©Y<C2A9>çôµžt‰¾M‹Â*+J
wý}ZÃßh¯TF{R§ûƒàsÕØ-[P<>[,Ø :¢úžº;ãw U<C2A0>óyølÒ‡Ts·øâyø€|6òcÚ[hëôG\—ú*±Ïí[_©iOü„Ÿ¿f"UôEÔwÀ7öTÞ­<C39E>°B]Noð³VN(Ð^Êu)5j¬ÀEìý¦sÔvVl•ÛáDÑÂÕcfï')Ò?miýTÊUØÖŽhû¸åÃî†d¾4àÑL(‡¯3zcR:˜ õÒ™ìÌsGŒ¥"²~ºhðOxÃe >l±>[ ÑŸ@h?ª)„ájŸþh¹ ;ýªg<1F>¹Ò¯i)D<>ðíÉá¶2SUúªbOòÕ¢´>LÞêÖ[Œ`BT†¶†PŸV†IÊMɈ„HÐ%&EêÞö5±Ê}Çr=ŸoMÈÚ±:ÈZ¡“!Û`$ñh¦ÃC²1‰ïR|Ø:Ó{°uÂ,žjð*cgè3âM'vÀË+µš¬ŠVg4óAÊ :"duBû<y%·Ù»fï j+)Çk}†£1áÉ;ä•8v.+ jbÔ´<C394>ð)¦#J‰„”*Úh—¶g*ðfo1<6F><31>¢{g&ó5¡Â†USÀ;VU°×LOÂI§<49>"Úpèì<>¸fÇ¡Ë Jo†â
Q^gÅÌ[˜iU8õm<C3B5>.­âÃQÓ†N5V`òp|~ …"¨€ì”ÒdÐBi+g½ ª¿àî£l4} á <FÝÙþ<C399>·Û¶&(<28>¼¢T³q'…ümyt<ù£Âû­Cø¢ˆ¢ahµÉ‰„v£Ã #pª˜¬ŒL3ä<33>m{ÿ+Z+—F„þ¸#L~ÿ”?¡ <˜À¸½<C2B8>öBGo\ 8œ<>=°WnÁɦDˆ…ѯ/¢YE;ÅPL„©fÚýmÊœ¡=nΈtH5AùõîyJ<79>Mhâ᪻/Cf!ö!!9A÷Ÿ¤c<C2A4>z<00>¶…΢=©#‰Ž<E280B0>ÐAbjr:dÃí¿ŸFî(vÊA|BTŸi, b³<05>u¨Dxä¤âŠ[>çÓÁl/áãô ‰³¶FÁˆ?õ%‰¾ÎDœ_S³¬ønùÕwà*ù†*?¡ƒúîo@‡óû™¯êL— àÔý†ÓÒe   j½öxÌ<>yàÞèA¸£<C2B8>žo'îrµðãJ5ÕHcùÙÁ“é`<60>*0G e<>c1e« ÈmtH¦/ÚP‰º„âòÇrœkQàF>¸Ñ}kD@``a@<40><>yéælãÿ77®KLÔë!™$¤%§å\»†¬`&{‚è˜#8<>”Û[d¹EË!ÂREès8<73>ÙµgÏáò
±®1ÿ<EFBFBD> <0A>S|õ<>à +ŒÑ6@âœKS2£!"c£“ÉS§>dâ²Áé<>ŸŸUb \.ˆT¦cBa<42>!ÀF'ï<>Ah!¹OyfÝBHY·díâE)¡@|Ø
£h¨òµ P8<17>)!òÁRUóÎû䃘Lmn$$B\ÜŽ=átðµô»:à«#+¥I•ŠV×VgDÚYG;Ûï¬ PCÛ4úX*`ârô†p ôo>UÊ|(ÑçëËt=„“¶b6Ö ´cg­b Ú©–
Ù´$ƒ>5HÃÚî2Y1}<06><È(VK‡Ù<E280A1> Â¿×èqÑ©/w¸õøŸVkÛ=¢>nÞð[qøÑÿR~º8üß•wpåîœýýCÑñÈ÷÷¾‡/¸¥å8ƒR&ù&lŒÝ?4@èˆÁQ(œ9*G_§*ÊL9fé0Öæ4VDTlâm¹¥/»p¼þ|û&Ã$Â]€WWOYö¡Ëè6F«…&«Ti,­ÏZä 70ó†BrÅË<\Oº¾õƒõßL*pƒ…0#pÓïÙISáUpIÝ8mßäËa‡<61>”îÿºúbÚU¸F^ÉáÁ^×Îß1l‰ïØ ‹¬ßhÏÀ8 ç¡%óx1vý0Ë
¤Z"Šg/…i°€¨4•ØéÞиÚÏÜxíže¨Åæxä~è­ ÷¿Å9õ”ãz»Nz@eÂZp<5A>ôÜJp%ËÒÄš„j Øã½/rÓui j®³ @Iº°¸5as€p<E282AC>dî°>c]i¼)ÙVÃq{ÇB|¤šf# >Ïf¥™RÓÍõÇ?c`]ŸQ°Å¸VÃVXì¼yKàz 3`IóöÓ„sq1éMz3<7A>šBkyùv붨­ ëÕ\é³ã/AÉ·ß gËúÖyaòO[<5B>xm¦Û¡²²òÌÆX0èÜÜ"=¼Âƒc 2Ò ÒÓÌfòV³õ ¼KÎ4¹{k}…§H½dåi7Î$§kÍ; "" b2µY ‡QƒƒÛžÿ¯È7iÜ'™9:´ÜùL<C3B9>­­=øú-5+^›°¢Ÿ@Ù)>×è•?ó.?D¥H;#a?ë­ý‚ ò!?!&9"HHAØÎªürA5B#âk"Nßqr¥üÄùwÏãó
)ßäáÁÜ<C381>'ê$2oäo>§à½ãï\|,ô•ô †DH4?)Ñq}G<>žz}B Ùº„ñ­ÚÔ8l,6úÁ+Í3®˜<CB9C>Ƽ·}g®„Ê-¥<>ÙÛ`™µzæDÁ¦¥­8¼ø¸î¼¾NŸºŸKõu¥zŒfSjM³èuÞó`g¸~°ˆ‡D<(:bß[î·®Ý
²â+W/ý ­åmšçàS5<53>²Öt ¾°ÓÐ6[2 rkÕ¨¿É~“ý³žš»m¨0Ó•ÜËŠª›‡€uil)t ,Ã.ÏZ¸wœX®UZ<55>ÓxøxÁÕ¥ï<õ\#Ü<><1F>=1ô¥i §m³„W‰%–ª#ë`‡ ­ÂýÔø¶f´bRnô]ë¥ ÒÇëƒS ‡X¢Í€Ba¿òãú×_¦}gûmT»KáÖÓµI¢ö<>º€¿`ï¨<C3AF>£¾œrU_|ñ­ZõDœ<>žQH [ýxs\VˆäX],¡_ýs I ÍŠ3C¤f² ~õã &-Òˆ
D|N”4arl¾dsX'ñâ i-[éBèln<=Óæ>X 0ŽñLÑNBmí4AÛ“@üŒ<C3BC>%òT¨“:Û½´Çò<C3B2>¸¬™¯
.÷ó öó+®ª*/¯TÁ bX˜4æÉëÄ:+wAºf×¾Ú£h/: È$%7Ê.~¥]ìnÈûZ¨•žºQ° 6ÃÔ'•4wù_Ë<5F>ƒ¹[u¶ö¾Ø-\î•fò´ 2Êû7÷žvA]lIȦ”Dˆ$Û*¢‹ËÊ
v<EFBFBD>^Ö4}íºŠÊªü}Þ)L¨ø•c®à–ûñ`Fô&5-{úIÁ¶·Ÿ¯µ·c׿öö³sdíímß»´·Ÿí&ô²Cê<E28099>[D¯:üqÛ<71>ÿ å˜<CB9C>
i׿]˜2eÞ¼)S.Ì»víÂ…kJS)õ/»ñÅ^«cÓmœ~Ûÿ6×&­GW¹1ßP…ð:lY¶–”³˜Ž=ëŽ
åДhñ";ÜaƒOùKÁ®¬†3ßz…:Ñç)Oi Y_ªQñõWø¬z´<7A>‡µ°z»§ïÂõI!°|Ï$æGëP܆8â¤h ¬5D5·ã=¤YÑÔ-ÐâÔ—û¾•´öàë¶î^*,<>IÉ~õKÓ £d%•©ÿjÛ·ü²"í‚„½õÖ¡„BÁ†…jSÅGêÂlf¢!hgœ.â †Pz!Ãr_Þý¸éÂáÊpTØW#b”(½hoqM¸¥h Æ$ÂRéw˜ž&âSÍÞ6i·¨ç³Ô<C2B3>rqþóèšZ{¯kuÍáøbt ôç­.ïêåÇ¡oÒ t u£n8ŽŽÅ%êËp½b÷é\Í^w3<77>,ÈÌWã ¶!5í m<> Ê‹[×*ZýZ<C3BD>yõIqסJî;¦/ „ˆ×%¦$:¿-”.•ŒLbžÝê¨: VAd=u³ÁålQw´ýÈd„§ér¡Œiiyƒ¥O™¼ú<C2BC>U7<7F>_Ýñ¯CqV˜Ý <0C>áA©˜§ÃpF'äF¡e¨¦2†³nkKãÿOÎùokâÏBqbØï
ãv½Ú®P,næÛeªÓ.ííwû˘vÙþ Y»Ì£^Û.shµ·ÿóÅæv™¢¢¹]æTëÒ.S8ËÚe½ÉÚÛmri—9ínno¿7OÖ.S,ж·³Ø>XÛ.ëTàÒÞþSœ¶½Ýõ—ööÀÒ.Ïz§¹ý§Ÿ\þ›õø;0ÝðÂ_‰.µMúÿݦÑT¶ö°ÊŽ”…´§ðP§=àÑ^™=ïûõ‡<C3B5>A ¹3æä¨A“§<E2809C> ¸¡i<C2A1>9¦>Ⱥ}±ßø¥0˜ôûvÎ÷È|}ãaÍ_²yí­„ö¼Î¬ß•¼
É;š.]>¿r¦PÚÆóÓ]VN?óì NUŸÿôÁS™ÊðC¾ð&Q!ÿF(¶ìÅ0¹ÄìU´z ‰/ ‡(<28>Vc<56>2ŠÃ <J 5´<C2B4>
‡°°bÈSc ­QFAxI ç XƒÕl^1”¨UØáwÉQ¸F?P´®Ä[<.¡Ïãh:íé&['%NAã"õ Þ@á =ׄ,Yü<12>—:"FÚÃÚ£ã<C2A3>ò,\Ô<1C>µoQÖx˜JTXúäiΕ˜_‰±)~T<Åg¦S•<53>ú„BýÛÎP_é$gÑA:õ—õèþM%Wg`1ñ§NLZtZ\6˜Á”™j&¨oính»Äü¬•êM·—ìïB½Î¶©¿ZE­!½Ev9„¦úî'4¿Ä98<39>ÉÌl>ú½6ÖyCð2v¯>=â 26ÖfÖµÐc€—˜ÿ'+p&ì„si)“ 1Äw3„ >lm‡¹¦Ò‡J7¯T‡ÉqÖÑú,O“•T)¹ÉÅ$¶ÑMV`LYçrs2Ò¯B.tê@Ç0£éóÛ¨^$±°áàA8<41>-eámÓÛ™ÇSËònî?Kðy\ÂdÙÌÒ§XORŸ§ã_C[ŸÿF¹ð´æŽL÷o0x>káÿTãD©^<&Ç€ÒÄÞ¢7;Zg®WK§Ør0† Þ6C£Nñ
ÒÏzêbF Þ¶·úì[WÚfÒo¨¥às)ØÞgu¿sô‡¹-Ü׸e5³-áJÍÓuf7Ä<37>Ÿ/ØDææ§äÁNRQâï¸ò„ÿIáóç¿PsN­ýžÚq«ädWJ<57>Ò¸<E280B9>RÆÑ.¡)±5“eÜxˆèeÐÒñV`Ò¿-®ÇN@P ´º­;g«ä“HT xC©zH…
ykøŠŸâYÕåìPI.æ‹ò¢ÖéŠÖ¥ö΃&ÅO¯2ÂF¯uzKøA"¤$E“Q4k0V3É9z#¤<C2A4> P"€8@Çø_Gß¡
R²£Ó;ád<M†%L-þRMå:û}<7D>@Ž.Ç› #ý<>I2ÅÛ:Æô´<òë¾¥õLª¶ãšÉÞµèŒ1EGÄÜZQ=ÔˆÒYñP‡÷<éÖ#ñ﨎výÅ;¢È«ÃÖÑ.V\"H½þ¢£Õ<C2A3>¥ý<C2A5>P9ö<15>…Û_¢ÒTY°—àe¶Ø#^SÑúŠÕ¦§6>²!õþÝR7AGálœ‡Cq,næñ´ˆ¾0qäPúÜ瘇9øÒßo|†fÑ,A…ßYB1¢Ñ½¹Q?ÎÄT>6]6òøâëa‰»2çÕƒN¯IOLKÊH&œËOÉz&fGJ„šsŽÈOɸæÖd=³=6<42ÜmµÏüØyd¯²äá©ëwŽ“ì4sjvº ±Ï^±W~¢u¸:ø¥íå>ÉWK_)ómüAW8”„áí+原¹FúFù„[: 3äîÔXä<58>[ÐÓö£pRµn“ò¿« Ël±ú—E0¸©u+Y d8í¼ŠÊÿRK{þiyó§Å ½*]â7§ÄChr"íM·!Ã>ø¬á´PµI;ým
¡îÎ'eç¬pG[÷Ø*ÒÛØó6÷ YZ<59>óh¡ìßÇË`M„ë†MBÜÀh¯Ï_FxÊNoFX¿XØË<>»Éþ̪B18_é·yÎñMŸªGöEoõÈ;ü+^CÆ
Ü3ÚHX>ç"êá†ãp¨´~ç‘=¹µp
7äx§.€õD¥zèC¥{b<>X':ýÌ­ú1Ñ.¤}S|ô¾@:’à]}É6‡D]¼MHiÛDÇIÑŒ>5%ÒÈ®SPaÒ¯Û…´Ê6<C38A>{å$”BŽ'±¼FÕmÓéxIËèMú 0=}xó‡<C3B3>š”³…àº¶VÆgŠÍ…<0f¤æœ$¥áä¶ôß_å^Á¥Ò'LÑÉ}Ù ¶³_ÒõPìqZž$<24>SH§¤<C2A7>xZ‡ãhgÖ`9ö@+íÁ¨èó  ÃrtÐX¤Pѱæ£ÃÃÜjÉ£#çyãcÁÃD|êØ{½Uݶ޹zé
<EFBFBD>럯ƒç) <³«¢Î¿Ä_ÍÍÒxEmTs0ýÒÂ[·pù=ó‡†L0Ân"-bóàœ`ó%¤Èr)*LŽ>ï*¤i4ž‡ìDˆ5LIÛr ®NgCÝZCXØGS²£[æWl6c—Ýp * Îaá}°”[ŠÊÊßKM3¤¦B:˜ã!Á˜U)3 <09>ÏÂpˆ ô<>Š
X<>œ6ÿbÓ![¿O÷i( "t ‹ÁëØ–}¾âEÈ<45>L3±¯+#TÊüy]¶–Š}]®¦ ¥6³w §`÷ÊzתùYÞ¶{h;n|-©~C§ÉF[ ‚/¬2ÆæÎ=Ø ¥]¼`ø:‡…™  Šˆ ~-9IooÏh³!À­£Æ÷ Îgá+(¨¨ÌËÛ¹ó\jd Û/7$T´Î ãÁœ<C381>“NÚ,h<>,h`rÒ3ÒÀ 6cÇÖç<C396>èÒv”æ1Ú¤ø$ˆ<>˜Ì$slWrlý%3deÙþÓß<C393>œøt<C3B8>ð =ô?PׯþܳêºW<C2BA>c©/ÿãdöþÏÉì/ŠûçæEyëEë¶Þb8»BÓBEB=ñ}|×3êÝÕ· Dª°ÕÛkÁ½C^Z4±)) ZB•t*åq9“bJÊ„Tȱî³IÒ­ºö4ëmŸb`Þ†â„b ¨H_¡ILT˜ïú—€tô©ëám»9È®7lß E<>eJÍ0ì<>[p <0C>gŒÉ¦dÐAŒf»«žØçe»â|b2%»ÉäÙÂݵ{ø¹3î™È$ƒÞ<C692>lôÎÛZ ý©|é€ÿ#&3Û$Þ†«J®ç—ÿ8ø<38>ÀmÎ<C38E>P <0B>¹£0ñ<30>gPEçñ!ûÙtLý@ §f£Mäøk³Ø ºB_Ð<5F><C390>´ÃÜ<>Çÿ“þª ÚË
endstream
endobj
@ -9992,17 +10004,23 @@ endobj
959 0 obj
<<
/Length 1780
/Length 1776
/Filter /FlateDecode
>>
stream
xœÕZmoÛ6þ®_Áu }|§Ú"]^ŠnÒaˆ?mî‡&€<> «±¥ö÷K¢DRÔQ¶ä û"Y©;Þ=|îÈãòî¯Ï[òæMAÈòöúÇÅŹº¹.þ.äœÔjÍ$1FQUr+È×bùäákäëö¸Z@V<>År„I²Út½w·Õ—ât ¯dõGñnUüR¼»½.±t<74>nelªôßjñ» Ù]Ö÷Õ¯ï\6wSÝë'&šY}‡ú-€Ÿ9,ˆà¤’±<06>¾„¶Oð¯€)uÛõA[±øDVƒqÔ]ÒR£ÁjÜ`|”Á@˜œ2"¡LÉ)”òʤ¼ÈÄœwŽ`zA£eYÚÖ†ŽjÌμ<C38E>½=ï<ÍMøe÷Úݳ¶¨£P+ DLÃaÓÜTjlܰ#%ÆëanÃVM¯M„pÞá•76\?%{(¿éV猤P#1NÀªƒ­ô~wÉN)<29>æ -çQâ* úï²±7óÌæ9æÑsCÏI<C38F>ª•wk/vW»»|ç»xéþ·ZB¬8A1"ä¼ûB ·¦ñ6 füœ:4bY  ´T°ò`­OG!ÅbH™A /ftÆÂj#•sŸžˆŸ·tükˆ íMô;rö/QXE…{°ùa  ˜ªD<44>{úöm}§B;Gͳ;wLÄÃÙîÂ[:©ß|ÓHR!<21>DŠ`àM—{Ÿ;걽Ⱥ¡x0œÃóÜ| 8
ˆÉZ¼^+[…é<E280A6>³¦—Jù¶Š„5°NÛŸp8DÈУŽNZŸUN‡ßAÖÔu¸²TÛ)¡úlœÃ%êðÉZ,=‡wv×h<00>;À£Á´0—õšSjQR«&ðóe0æ˜ýiY«%TI÷<49>Ë•™FÆ5†d`œX,îÄkRÇï.¢DpY„­ê^/;<3B>´ßiA<>¦ªŸÍ{áîí;k <d@e)õÿâkwïm„,fU2ª5j…l""Øíß_°Øchú¦Œ¥B¤p¥¡Éì4q4o ý˜¤<CB9C>Ý Je@Lp*Å,£Z?¥oï²Uµ"tIÒçþÎ3T¸(¶ÊåãÓï›ÏOäêvІ‚é q}W¹»þX•äŸBÛb×çKÁÌ*C€üYÜeHKA P´„ÒZ-GJPŠk>^§¥VB9R†}%hI%B=l¢[•J+
µ<Ú|è|Ÿ ¾ãÇ:§
Âׯ[Ц'@Hš#çy*ådBQ-fÍ?Ñ6 X{l:ž:« jäü¤ åÒ(3^ÀÞ¤PRVOÙ±ö&¹¯-©äÒŽ@µàší1Å# ½©æÿJ1ª=Ž<C5BD>uÐÍä Ò½ÕÇðfñ1B¯¿¥œ¥)41W¼¤ ùõ ³¬&+MÍ©É!E¾®ÏEÃnÕ]uR‡ÿ7…+ïÓYCàI7c”1ÔÙ(hüÌw Däàl¾êÌpÀçf —fɬ9*F¹ExcÈx¦œt?ö…E»§mxi•ˆ]©¼ Ñ8Ÿß£óI[‰Ìnz
´`/KN¹}.‡r2øà™@&ê‰}›ä†dëV<C3AB>÷]™×aJuA+^"rQ½{Y;* ¡N`ýü}Œ¹Ó¬ÑMmi•ê™ü{<>Ãy¥<GnûÄØ§4èìNQðÔÆuË<75>m<EFBFBD>?€†Y¥Gl‡ý¼xÙÕüŒ÷°ÏÆJþÚ´Éz](I%©æ»Tì9\~N0®°Šo"ÿˆŠSaâᦫì<-R8ØÆ[(<28>Ã<>ç¹e´c<C2B4>ä[¼Ì=¸Ñ›<5A>BQS>[œv‡£â Ð0¶¢õ!é^…èè<C3A8>åI2* UjÝ]¹ÆúÔ/ö€ï‡Ð>ñÿÚ^Ú#6.¹dÐä%þö@ ‰"úÑ3E Ê4ÌÔ.³š(,½žS“iéu ÞúUëÔɽ].páIG<49>\îЕ­W
´d#JE¹€ Ì~l:Ç'¸*5?¹—ý4Ìr'éÂVˆÓÞŒÿ6jeƤC>v?eòÀep. ×çÕ°ý™ÛX(XÁ“è×ä{'3|"óú´6`˜^®œ]Û t¹-Œ¦`òfCoá<15>ûhC‰ÁŽ™¥ŒãÍÙhƒe”³z<C2B3>(¤ýÍê<>Èî¼ö÷qFÙ=Í@ªö~õp1\çÃ3<C383>GÇ•ûQ= !´ˆ(”¡ÊLa¨î8ÓÑŽ ai}<7D>t\̈3AŸôªô
;nU}H%óÑ™fö$ÕŸŒ]´ŒÖ… þ<>i€åé ÝzÂR#'ÐÓ¬KÊÁ5ÎÏaý»M¡ü°ÅkJs²bˆ<62>ÀiY°
xœÕZmoÛ6þ®_Áu }|§Ú"]^ŠnÒaˆ?mÞ‡&€<> «±¥ú÷K¢DRÔQ¶ä û"YÈ;Þ=|îÈãòîïO[òæMAÈòöúÇÅŹº¹.þ)äœÔjÍ$1FQUr+ÈÃçbùäáKäËö¸Z@V<>År„I²Út­w·Õçât ¯dõgñnUüR¼»½.±t<74>nelªôßjñ» Ù]Ö÷Õ¯ï\6wSÝë'&šY}‡ú-€Ÿ9,ˆà¤’±<06>¾„¶Mð¯€)uÛÂ}#oÄâw²ú€Œ£î’–㣠Âä” eJN¡”GP&åE&ä¼sÓ "-˲Զþ3tTcvæuö"ô¼ó47aÏîµ»gm#QG  V@‰˜†湩ÔظaGJ:Œ×ÃÜ:†_5­6Ây‡WÞØpý”l  ü6¤ß­ÎI¡Fbœ€U[éýî<C3AE>R:ÍAZΣÄU@ÜsIõßecoæ™Íṣ熞“T_VÞ­]¼Ø]íîò<C3AE>ïâ¤û}µ„X)pbD.Èy×C ·æãm$Íø9thIJ@1Pti©6`åÁ>ZŸŽBŠÅ<C5A0>^ÌèŒ%„ÿÔF*ç>=?o;èø×èhH)4v
äì_¢(°Š
ö`óÃ( 0@A0U‰;öôíÛúN…vŽ>kÌîÜ1 oé¤~óM#I…)<>7\î}î¨Çö"ë
†âÁp
Ï?p_ðq€à( &kñzA¬hl¦?ÎZ:˜^*åÛ*ÖÀ:mÂá "C<>::i}V9~YS ÔáÊRm§„ê³q—¨Ã'k±ôÞÙ]£tîhÓÂ\Ö;hN©EI­šÀÏ—Á˜cô§e­z”P%Ý7.Wfn<><6E>qb±¸¯I¿»ˆÁe~U·zÙ<7A>¤í§M=šª~6ï…»·kì¬%ðl<C3B0>•¥ÔÿKˆî»{¿·˜Tɨ֨²‰ˆ yÀb<C380>¡é2
q<EFBFBD>•†&³ÓÄѼmôcvv7(•1Á©³Œjý”R¼½ËVÕŠÐY&! HŸû; ÎPá¢QD¢Ø*—<>Ol>=<«ÛAC
¦3Äõ]äîúcT¯…$·Å®Íç‚ *˜U†ù«¸Ë
<EFBFBD>4ÊŽ h ¥µZŽ” --×NK#­„r¤ ûJÐ
J„zØD·*•V@jy´ù.Ðù>A|Ç<>uN„¯<E2809E>· MO€<4F>4GÎóTÊÉ„¢ZÌ4šÿ~¢l@°8öØt<)tVÔÈùIA1Ê¥Qf¼€½I¡¤¬ž²c%ìM
r_ ZRÉ¥9.€jÁ5Ûcœ‚ŠGzSÍÿ•bT{7;렛ɤ{«<>áÍâc„^K9KShb®xIAò9êAgYM,VššS“CŠ|]›‹†Ý ª;ºê¤ÿo
W^×YCàI7c”1ÔÙ(hüÌw Däàl¾êÌpÀçf —fɬ9*F¹ExcÈx¦œt?ö…E»§mxi•ˆ]©¼ Ñ8Ÿß£ñI[‰Ìnz
´`/KN¹}.‡r2øà™@&ê‰}›ä™õ}WåÝcØf ^qWõæeí§$:<3A>õó÷1äN³îE÷´¥TªgrïeP=§•òü¸íc—Ò ±;DÁSûÖ-¶%þfA”±´óÂeWbðÞú<C383>•ü!´i="õ8ºNJRÍw™Øs¸ü:œ_\aßDúզ¼ÃÍV'ØyZ¤p°<70>wP:?†ÏsËhÇÉ·x•{pŸ7 ´²!…¢¦|¶0íÎFÅûŸahª1DËCÒ½
ÑÑ;Ê“dTªÔ¬¹»j<C2BB>õ™_ìß¡|âÿµ½´'l\ rÈ ¹KÜ÷@ ‰"ùÑ#E Ê4ÌÓ.³š(,»žS“iÙu ÞúEëÔÁ½].páIG¹Ü¡+[®hÅF”Šr˜ý.ØsŽpÕj®ÝÛŽ<C39B>~¦¹“ta+joÊ}eÆ0¤D>v?eòÀep. ×æÕ°ý©ÛŒX,hÁ“è×ä{'3|&óÚ´$6`˜^®œ]Û t¹-Œ¦`òfCoá<15>ûhc‰ÁŽ™¥ŒãMÚhƒe”³z(äýÍê<>Hï¼ïï㔲<>TßûÕÃÅpyœÏ4Wî‡õ,„Ð"¢P†*3…¢ºãLG;&„åõ=ÒqA#ZÍmÒ«Ò+ì¸J&¤#RÍìIª!>»j­ ÓËÓºõ$„¥FN §Y×”ƒœ)ž=ÂxBùa«×”ædÅÿŸYt
endstream
endobj
@ -10032,12 +10050,14 @@ endobj
/Filter /FlateDecode
>>
stream
xœÍZmoÛ6þ®_Áî%©·šæ;)¬ º¤Å°Á0ÌûÔlÀ ÔØÒü E‰GÑGÙŒº}ˆ["<22>ºçîøÜ7¿þýçž¼~ݲ¹½ùñaÍÕ¹~wÓüÓpÂ#kN,£Î®ˆµšêV8Iî?6{Fî?5Œ|ºß7×Û†íc³y`„+²}G—wŒ±·+²ý«y¿m~iÞßÞ4T:ÏHwr^+ýƒ¸<7F>Ãånw¸êî_&¸ÿd&ù®úï&ùÞßç²ÿ~¸wø“ãÔwŒY0ªÿU꼄Ïððl˜Ñ®È:óXv!_çfdrõ;Ùþ„èZ H+G­aÎຳtͤ--FfÓ
ÊZµÀb>“H3ÁNÀ£ë *Dɨ“¬EÔÆ gÇÕöÃáR\ƒÎ;­Qϲ†»Ç®×âèò¢Ó£ñ`~ê5) bý án?ƒ`Æ~&¬A@' H+
³ è üÓOÑÛÌЭAuË-ÕŒ9}†r»ØB8¶9¯4T‰Zé=´ƒj½â к<5A><C39C><31>ä`Àˆf}Ïäæ 6Ñÿì‡%>.r@Ìàñp^VYÚ¡P3E¹eN-uB]!ÝCM<43>8êÜ'a8d<>0~‡þÝ ‰œ˜FÞÞau äuƒ¿<C692>Æ
M ˜DLúÅä%M,X€(Ñ z6Œ~Þ@LôæáG?þ5q”ȧ©TÌ<54>ïºÝµhÓœcF]¿Šxo<18>K¥pìGȇ¸L°ì˜\ /ae''UžÉ%æš5â½ØKíŠhw[Õú½qwdï Z;hˆ¿C,a?ü~‰Ü"L
…I;jÜ{%×(Lâÿ4çjt¼Í<C2BC>…­; 7KhHÉv¬|j:Éï7Eû0hD”-uº"uë/Çií"Î#Ëß<C38B>>O¦HiÐn®¹¥ä.e[Y>Õ<>| 4E>¼Á˜„•ŽR+# Õ⬠e^`@©U…tùBàõ> m(xnÆ!ü;ûiœ­ÍEŸÂNðÙ·ÁPâòvA 8jAâC&Í”!í’À©ý8E8ÆyÚ˜ierºŒ C#ƒ2îÞ„wów¸<‰_çHÍåtî¯Æ!ñ]<5D>ÿ%ùl6(O7¿\®™·^èfÐmƒ„Ïá…Ê<16>Vu«¨45ù`· r‰Rb~W¿Š¹ÛeŸJ•- Å}rÌÍïÍN¦Î(²¨A”kÇ);¯87/p¡œ¸Bº‡ïM.ÔO"V)úd£ŒõïsûæÞ åWGÀ(0@á蔹ƒt{~†+Ð2£6ZÆœ]ÌLÐ:c<>xo'_<1E>ÍYG„¡9”ë¢#¾æçhFXXõ´í``]X£Y¡ÝE¯ôž<C3B4>Ö=áÎ=<3D>8ã³Wã¿ä\O,Z¦C÷!¥)3ͪç6†¾).¥ÅzTϺ”ÿ¦a8J½X6<14>ÆFUÒ¸<>™ ÔØü­ÕèUÁ9ްv?‡+v Ñâ¦r鞥11éŠlðOì;&Œ° R|3޾—Ô1·\@¢¥ÎñC¦8TRŒzš÷Õ¤µ—9Ù9ýu¯¯¿¯ìw7+Â9B±šUÆ—µƨ²çYú<{Àéc…xo¿á^&ŠÝµSè5̲²í€WÇw» =‡$/±ÿùjnmRj få,åÊ-W`<60>(ÿ« ¥ÌÖãžuºÛ æ"^š°a²ÄÎÎë×Jbf%u|I×Dš5â=f׉+Ã8èиWiìßU#žgØÃaȸA× 7[­hëj,zÐNrœ#WôËP…’ ¥85zAª ÐÖn<C396>x¯áï#gL{¶Ð$N¬ŸL¦E擪œ><3E>=<3D>²Ç»%¹pXtñ”pTŠ÷…ÖïjÄOû(îd“ꄹ#u¾v/Xi\…Ie|ÀiPè¹>Åm[·\AF¡GújÄG¸ÕÕògþæ×.²GBb:ÐÝ"EœÐž²bœšBM '´\#þh,
ýà&ð@_7ÕE<C395>z7TMhÀÅÀ( ŽI·/)xBæ<00>]<5D>¦Rö:´Ø$<24> ˜½ÊqˆO=+A@9<>4-ÕlAãÔhÓ´F|hÞ$<24>Ö:ÓcIö~J#&Ã?Ž<67>ó ¦ùEbÝ…a¢¤ósÖ"oÐhJjC¹]<5D>7h´ U#><3E>k)£{†"S²Ù÷Þ<C3B7>tdcGÞ€(yLi_9´`$• N-éôhÁ¨Fü‡à×0‡•«+øg¼gf`™À)çœððäÜ/„ð_ÁÆý¡
xœÍZÝoÛ6×_Áî#©·šæ7)¬ º¤Å°Á0Ì{jú0ÈÀ[šÿƒEQâQôQ6£ncKäQ÷»;þîŽßÿþsO^¿nÙÜÞüüްæêŠ\¿»iþi8a„5'Qg WÄZMu+œ$÷ŸšÍ=#÷ŸF>ßïëmÃÈö±Ù<0ÂÙ>Œ£ÛOÍË;ÆØÛÙþÕ¼ß6¿5ïoošM*<2A>g¤;I9¯•þÁ?\Èár·;\u÷/Ü2“|Wýw“|ïïsÙ?Ü;üÉqê;Æ,Õÿ*õŠHA^Âgxx6ÌhWd<57>y,»<>os32¹úH¶¿ º(ÒÊQk˜3¸®Å,]3iK™Å´²V-°˜/dRÆÀL°“°Çèzˆ
Q2ê$kµqÂÙqµýt¸× óNkÔ³¬áîqE„뵸º|€èôh<˜ŸzM
ˆX?C¸ÛÏ ˜±Ÿ‰kÐI’ÁŠÂ,zÿôSô63tkPÝrK5cNŸ¡ÜnŽmÎ+ U¢Vzí Z¯x´®€÷c` ú#9ØGß3¹9ƒMô¿ûa‰<61> 3x<œ×€U v(ÔLQn™SKAÝ¢PWH÷PÓ#ŽÆ<C5BD>:÷IŽYgŒß¡wC"'¦·wX]yÝàï§±…B&“~1yI  Jtƒ^„ £Ÿ7½yøÑ<C3B8>ÿªdM%rÆi*sç»nw-Ú4ç˜Qׯ"ÞFãR)ûò!®,;&èKXAÇÉI•gr‰¹f<C2B9>x¯DöR»"ÚÀÝFµ~oÜÙûâïKAØ¿_â·“BaÒŽ·à^É5
S…øÿE͹os`DaëHÂÍR²Ý&+ŸšNòû@ÅMÑ> eK<65>®ˆEÝú˱ĢFZ»ˆóÈò£Ï“)R´kn)¹KÙVOu#ß@Mo0&aE¥£ÔÊCµ8+C™PjU!ÝC¾x½ÏB
ž„qÈÀ|ÿŽà~gksѧ°­E0Ô€¸¤¼]<5D>ŽZP…ø<E280A6>‡I3eH»$0Gj?NŽqž6fZ™œ.cÂÐÈ A†Œ»7áÝü.Oâ×9Rs9<73>ûqH|äI> ÊÓÍ/—kæ­ºtÛàásx¡²Å£ÕAÝ**MM>Ø-¨\¢”˜ßÕ¯bîvÙ§†ReK <C±AŸsó{³“i†3Š,j%ÅÚqÊÎ+ÎÍ \('®<>îá{“ õ“ˆUŠ>Ù¨cÅG þ}nÂÜÔ¢üê(<1C>#w<>nÏÏpZfÔÆR˘³™ Zg¬ïíä룱9ëˆ04‡r½@CtÄ2 ÃwÓüÍk+²ž0  ¬kk4+´»èõ€€Þ3к'ܹ§g|öjü—œë‰EËtè>¤4eÆ¡YõÜÆÐwÅ¥´X<C2B4>êY—òß4 +Ò†"ÐØ¨J2›¿µ½*8ÇÖîçpÅn!ZÜÔÂR.ݳ4&&A þ‰}Ç„TŠoÆÑ7ã:æ–ëH´ÔY#~È4‡JŠQO3ò¾š´ö2'{ Ç`¸·î5 ã`ó÷•ýNâfE8çC(V³ÊøR¢öÀUö<KŸg8}¬ïíáÜËD±»v
½†YV¶ðêøn7¡ç<C2A1>ä%6â?_Í­MJ<4D>Á¬œ¥\¹å
å5âa<C3A2>¡”ÙzܳN—c;Á\ÂËA6LØÙyýZiQ̬¤Ž/éšhQ³F¼Çì:q%à`÷* ƒÝàÛ¡jÄó {8l”ãf£m]<5D>EÚIŽsäŠ^bª P¤§F/HÚÚ­ï5ücäŒiϚĉ5ã“IÀ´È|R•3ò§Söx·$n Ð2žŽJ±à¾¢Ðú]<5D>øibÅ<>lR<6C>0w¤ÎwÂîâï+<2B>«0I Œ8Íà
=×§¸¢më+È(ôH_<48>ø·ºzXöÌßüÚEöHHLº[¤ˆÚSVŒSS¨ Ôá„v“kÄ̓E¡?Üè릺èQ ¸ØÄ1éö%౫ÑTÊ^‡›¤ÔɳWù#ñI°g%(’¦¥š-hœmšÖˆÍ›$°ÃZgzL ÉÞOiÄdøÇ±âï þñb~Á4¿H¬»0L”tþ`ÎZä -CIm(· ò<06>¡jħq-etÏPdJ6ûÞ»“ŽlìÈÐâ%<25>)í+"‡Œ¤Ô©%<25>-Õˆÿüæðƒ¢ruÿŒ÷ÌÌÁ,8åœÞžœû…þ ¥jý 
endstream
endobj
@ -10080,8 +10100,8 @@ endobj
964 0 obj
<<
/Creator (Typst 0.14.0)
/ModDate (D:20251111204857+01'00)
/CreationDate (D:20251111204857+01'00)
/ModDate (D:20251111215308+01'00)
/CreationDate (D:20251111215308+01'00)
>>
endobj
@ -10092,7 +10112,7 @@ endobj
/Subtype /XML
>>
stream
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?><x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="xmp-writer"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" ><xmp:CreatorTool>Typst 0.14.0</xmp:CreatorTool><dc:language><rdf:Bag><rdf:li>fr</rdf:li></rdf:Bag></dc:language><xmp:ModifyDate>2025-11-11T20:48:57+01:00</xmp:ModifyDate><xmp:CreateDate>2025-11-11T20:48:57+01:00</xmp:CreateDate><xmpTPg:NPages>14</xmpTPg:NPages><dc:format>application/pdf</dc:format><xmpMM:InstanceID>qOiABtvAuy1vyxpi9itmRQ==</xmpMM:InstanceID><xmpMM:DocumentID>qOiABtvAuy1vyxpi9itmRQ==</xmpMM:DocumentID><xmpMM:RenditionClass>proof</xmpMM:RenditionClass><pdf:PDFVersion>1.7</pdf:PDFVersion></rdf:Description></rdf:RDF></x:xmpmeta><?xpacket end="r"?>
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?><x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="xmp-writer"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" ><xmp:CreatorTool>Typst 0.14.0</xmp:CreatorTool><dc:language><rdf:Bag><rdf:li>fr</rdf:li></rdf:Bag></dc:language><xmp:ModifyDate>2025-11-11T21:53:08+01:00</xmp:ModifyDate><xmp:CreateDate>2025-11-11T21:53:08+01:00</xmp:CreateDate><xmpTPg:NPages>14</xmpTPg:NPages><dc:format>application/pdf</dc:format><xmpMM:InstanceID>MVbuUUU0+4V4MHFCXBAo7Q==</xmpMM:InstanceID><xmpMM:DocumentID>MVbuUUU0+4V4MHFCXBAo7Q==</xmpMM:DocumentID><xmpMM:RenditionClass>proof</xmpMM:RenditionClass><pdf:PDFVersion>1.7</pdf:PDFVersion></rdf:Description></rdf:RDF></x:xmpmeta><?xpacket end="r"?>
endstream
endobj
@ -10995,101 +11015,101 @@ xref
0000116342 00000 n
0000122698 00000 n
0000122875 00000 n
0000123921 00000 n
0000124012 00000 n
0000124261 00000 n
0000126285 00000 n
0000135046 00000 n
0000135084 00000 n
0000135122 00000 n
0000135481 00000 n
0000135904 00000 n
0000135958 00000 n
0000136012 00000 n
0000136065 00000 n
0000136119 00000 n
0000136173 00000 n
0000136227 00000 n
0000136280 00000 n
0000136334 00000 n
0000136388 00000 n
0000136441 00000 n
0000136495 00000 n
0000136549 00000 n
0000136603 00000 n
0000136657 00000 n
0000136711 00000 n
0000136765 00000 n
0000136819 00000 n
0000136872 00000 n
0000136926 00000 n
0000136980 00000 n
0000137034 00000 n
0000137088 00000 n
0000137142 00000 n
0000137196 00000 n
0000137250 00000 n
0000137304 00000 n
0000137358 00000 n
0000137412 00000 n
0000137466 00000 n
0000137519 00000 n
0000137573 00000 n
0000137627 00000 n
0000137682 00000 n
0000137736 00000 n
0000137790 00000 n
0000137843 00000 n
0000137897 00000 n
0000137951 00000 n
0000138005 00000 n
0000138059 00000 n
0000138112 00000 n
0000138165 00000 n
0000138219 00000 n
0000138273 00000 n
0000138327 00000 n
0000138381 00000 n
0000138435 00000 n
0000138727 00000 n
0000139855 00000 n
0000140147 00000 n
0000142307 00000 n
0000142617 00000 n
0000144360 00000 n
0000144688 00000 n
0000147522 00000 n
0000147814 00000 n
0000150317 00000 n
0000150627 00000 n
0000152184 00000 n
0000152476 00000 n
0000154742 00000 n
0000155034 00000 n
0000157367 00000 n
0000157641 00000 n
0000158099 00000 n
0000158427 00000 n
0000162472 00000 n
0000162801 00000 n
0000165292 00000 n
0000165552 00000 n
0000165823 00000 n
0000166173 00000 n
0000168033 00000 n
0000168326 00000 n
0000170149 00000 n
0000170442 00000 n
0000172015 00000 n
0000172142 00000 n
0000173229 00000 n
0000123911 00000 n
0000124002 00000 n
0000124251 00000 n
0000126261 00000 n
0000134990 00000 n
0000135028 00000 n
0000135066 00000 n
0000135425 00000 n
0000135848 00000 n
0000135902 00000 n
0000135956 00000 n
0000136009 00000 n
0000136063 00000 n
0000136117 00000 n
0000136171 00000 n
0000136224 00000 n
0000136278 00000 n
0000136332 00000 n
0000136385 00000 n
0000136439 00000 n
0000136493 00000 n
0000136547 00000 n
0000136601 00000 n
0000136655 00000 n
0000136709 00000 n
0000136763 00000 n
0000136816 00000 n
0000136870 00000 n
0000136924 00000 n
0000136978 00000 n
0000137032 00000 n
0000137086 00000 n
0000137140 00000 n
0000137194 00000 n
0000137248 00000 n
0000137302 00000 n
0000137356 00000 n
0000137410 00000 n
0000137463 00000 n
0000137517 00000 n
0000137571 00000 n
0000137626 00000 n
0000137680 00000 n
0000137734 00000 n
0000137787 00000 n
0000137841 00000 n
0000137895 00000 n
0000137949 00000 n
0000138003 00000 n
0000138056 00000 n
0000138109 00000 n
0000138163 00000 n
0000138217 00000 n
0000138271 00000 n
0000138325 00000 n
0000138379 00000 n
0000138671 00000 n
0000139799 00000 n
0000140091 00000 n
0000142251 00000 n
0000142561 00000 n
0000144304 00000 n
0000144632 00000 n
0000147466 00000 n
0000147758 00000 n
0000150261 00000 n
0000150571 00000 n
0000152128 00000 n
0000152420 00000 n
0000154686 00000 n
0000154978 00000 n
0000157311 00000 n
0000157585 00000 n
0000158043 00000 n
0000158371 00000 n
0000162416 00000 n
0000162745 00000 n
0000165236 00000 n
0000165496 00000 n
0000165767 00000 n
0000166117 00000 n
0000167973 00000 n
0000168266 00000 n
0000170089 00000 n
0000170382 00000 n
0000171955 00000 n
0000172082 00000 n
0000173169 00000 n
trailer
<<
/Size 967
/Root 966 0 R
/Info 964 0 R
/ID [(qOiABtvAuy1vyxpi9itmRQ==) (qOiABtvAuy1vyxpi9itmRQ==)]
/ID [(MVbuUUU0+4V4MHFCXBAo7Q==) (MVbuUUU0+4V4MHFCXBAo7Q==)]
>>
startxref
173467
173407
%%EOF

View File

@ -573,7 +573,7 @@ Accès :
Test ElGamal roundtrip : m = decrypt(encrypt(m))
Test homomorphe : decrypt(E[m1) times E(m2)) = m1 + m2
Test homomorphe : decrypt(E(m1) times E(m2)) = m1 + m2
Test Dilithium : Signature valide / invalide rejeté