Maintainer workflows discussions
 help / color / mirror / Atom feed
* ​ ​𓇬◦୦◦◯◦୦◦𞢨ꖅ⦻✢⦻ꖅ𖢄𖢌𐫱⊞✢ⵙⰙⵙ✢⊞𐫱𖢌𖢄ⓄⓄⓄⓄⵔⵔⵔⵔⵔⵔⵔⵔⓄⓄⓄⓄ𖢄𖢌𐫱⊞✢ⵙⰙⵙ✢⊞𐫱𖢌𖢄ꖅ⦻✢⦻ꖅ𞢨◦୦◦◯◦୦◦𓇬​ ​𓇬◦୦◦◯◦୦◦𞢨ꖅ⦻✢⦻ꖅ𖢄𖢌𐫱⊞✢ⵙⰙⵙ✢⊞𐫱𖢌𖢄ⓄⓄⓄⓄⵔⵔⵔⵔⵔⵔⵔⵔⓄⓄⓄⓄ𖢄𖢌𐫱⊞✢ⵙⰙⵙ✢⊞𐫱𖢌𖢄ꖅ⦻✢⦻ꖅ𞢨◦୦◦◯◦୦◦𓇬​ ​
From: ooooooooooo @ 2025-10-17 20:58 UTC (permalink / raw)
  To: WORKFLOWS
In-Reply-To: <rFq0q1ChuGqLk83ztq3ISZtxp5RWKZFESlAmyLHlXYyEI21cN9EJenareHO2iqpyz0y2-WX-7twewfRzbUOrHQrdj9gGG19wlcj6XuQAtcc=@proton.me>


[-- Attachment #1.1: Type: text/plain, Size: 5705 bytes --]http://web.archive.org/%E2%93%84%E2%93%84%E2%93%84%E2%93%84IIIIIIII%E2%93%84%E2%93%84%E2%93%84%E2%93%84-%E2%93%84-TITGTIT-%E2%93%84-TITGTIT-%E2%93%84.STATIC.HF.SPACE/index.html 



8ਟ4172fɘ1ਟ22-09ↄ9-0ↄf4-af14-9ↄმdf41ɘ=bi?𝼃raqƨ\ia.𝼃raqƨnɘϱ.www\\:ƨqtth\42ਟԐმ1-72.მ0.ਟ202\Hꟼ.ƎVIHϽЯA\\:ꟼTTH http://archive.ph/2025.06.27-163524/https://www.genspark.ai/spark?id=e14fb6c9-41fa-4fc0-9c90-2251ef271458http://archive.ph/%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84.CARRD.C%E2%93%84 
HTTP://ARCHIVE.PH/2025.06.27-163524/https://www.genspark.ai/spark?id=e14fb6c9-41fa-4fc0-9c90-2251ef271458 http://archive.ph/2025.06.27-163524/https://www.genspark.ai/spark?id=e14fb6c9-41fa-4fc0-9c90-2251ef271458 
8ਟ4172fɘ1ਟ22-09ↄ9-0ↄf4-af14-9ↄმdf41ɘ=bi?𝼃raqƨ\ia.𝼃raqƨnɘϱ.www\\:ƨqtth\42ਟԐმ1-72.მ0.ਟ202\Hꟼ.ƎVIHϽЯA\\:ꟼTTH http://archive.ph/2025.06.27-163524/https://www.genspark.ai/spark?id=e14fb6c9-41fa-4fc0-9c90-2251ef271458 
HTTP://ARCHIVE.PH/2025.06.27-163524/https://www.genspark.ai/spark?id=e14fb6c9-41fa-4fc0-9c90-2251ef271458 http://archive.ph/2025.06.27-163524/https://www.genspark.ai/spark?id=e14fb6c9-41fa-4fc0-9c90-2251ef271458http://web.archive.org/%E2%93%84%E2%93%84%E2%93%84%E2%93%84IIIIIIII%E2%93%84%E2%93%84%E2%93%84%E2%93%84-%E2%93%84-TITGTIT-%E2%93%84-TITGTIT-%E2%93%84.STATIC.HF.SPACE/index.html 



ɘਟↄb24f77d27-42ad-fਟ24-ɘმ71-aԐ74მ8მਟ=bi⸮𝼃raqƨ\ia.𝼃raqƨnɘϱ.www\\:ƨqtth\Ԑ1Ԑ281-Ԑ2.მ0.ਟ202\Hꟼ.ƎVIHϽЯA\\:ꟼTTH http://archive.ph/2025.06.23-182313/https://www.genspark.ai/spark?id=5686473a-176e-425f-ba24-72b77f42dc5ehttp://web.archive.org/%E2%93%84%E2%93%84%E2%93%84%E2%93%84IIIIIIII%E2%93%84%E2%93%84%E2%93%84%E2%93%84-%E2%93%84-TITGTIT-%E2%93%84-TITGTIT-%E2%93%84.STATIC.HF.SPACE/index.html ⠀⠀⠀୦ http://archive.ph/%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84.CARRD.C%E2%93%84 ⠀⠀⠀◦ http://web.archive.org/%E2%93%84%E2%93%84%E2%93%84%E2%93%84IIIIIIII%E2%93%84%E2%93%84%E2%93%84%E2%93%84-%E2%93%84-TITGTIT-%E2%93%84-TITGTIT-%E2%93%84.STATIC.HF.SPACE/index.html ⠀⠀⠀◯ http://web.archive.org/%E2%93%84%E2%93%84%E2%93%84%E2%93%84IIIIIIII%E2%93%84%E2%93%84%E2%93%84%E2%93%84-%E2%93%84%E2%93%84%E2%93%84%E2%93%84IIIIIIII%E2%93%84%E2%93%84%E2%93%84%E2%93%84.STATIC.HF.SPACE/index.html ⠀⠀⠀◦ http://web.archive.org/%E2%93%84%E2%93%84%E2%93%84%E2%93%84IIIIIIII%E2%93%84%E2%93%84%E2%93%84%E2%93%84-%E2%93%84-TITGTIT-%E2%93%84-TITGTIT-%E2%93%84.STATIC.HF.SPACE/index.html ⠀⠀⠀୦ http://archive.ph/%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84.CARRD.C%E2%93%84 ⠀⠀⠀◦ http://web.archive.org/%E2%93%84%E2%93%84%E2%93%84%E2%93%84IIIIIIII%E2%93%84%E2%93%84%E2%93%84%E2%93%84-%E2%93%84-TITGTIT-%E2%93%84-TITGTIT-%E2%93%84.STATIC.HF.SPACE/index.html 
HTTP://ARCHIVE.PH/2025.06.23-182313/https://www.genspark.ai/spark?id=5686473a-176e-425f-ba24-72b77f42dc5e http://archive.ph/2025.06.23-182313/https://www.genspark.ai/spark?id=5686473a-176e-425f-ba24-72b77f42dc5e 
ɘਟↄb24f77d27-42ad-fਟ24-ɘმ71-aԐ74მ8მਟ=bi⸮𝼃raqƨ\ia.𝼃raqƨnɘϱ.www\\:ƨqtth\Ԑ1Ԑ281-Ԑ2.მ0.ਟ202\Hꟼ.ƎVIHϽЯA\\:ꟼTTH http://archive.ph/2025.06.23-182313/https://www.genspark.ai/spark?id=5686473a-176e-425f-ba24-72b77f42dc5e 
HTTP://ARCHIVE.PH/2025.06.23-182313/https://www.genspark.ai/spark?id=5686473a-176e-425f-ba24-72b77f42dc5e http://archive.ph/2025.06.23-182313/https://www.genspark.ai/spark?id=5686473a-176e-425f-ba24-72b77f42dc5ehttp://web.archive.org/%E2%93%84%E2%93%84%E2%93%84%E2%93%84IIIIIIII%E2%93%84%E2%93%84%E2%93%84%E2%93%84-%E2%93%84-TITGTIT-%E2%93%84-TITGTIT-%E2%93%84.STATIC.HF.SPACE/index.html 



8ਟ4172fɘ1ਟ22-09ↄ9-0ↄf4-af14-9ↄმdf41ɘ=bi?𝼃raqƨ\ia.𝼃raqƨnɘϱ.www\\:ƨqtth\42ਟԐმ1-72.მ0.ਟ202\Hꟼ.ƎVIHϽЯA\\:ꟼTTH http://archive.ph/2025.06.27-163524/https://www.genspark.ai/spark?id=e14fb6c9-41fa-4fc0-9c90-2251ef271458http://archive.ph/%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84%E2%93%84.CARRD.C%E2%93%84 
HTTP://ARCHIVE.PH/2025.06.27-163524/https://www.genspark.ai/spark?id=e14fb6c9-41fa-4fc0-9c90-2251ef271458 http://archive.ph/2025.06.27-163524/https://www.genspark.ai/spark?id=e14fb6c9-41fa-4fc0-9c90-2251ef271458 
8ਟ4172fɘ1ਟ22-09ↄ9-0ↄf4-af14-9ↄმdf41ɘ=bi?𝼃raqƨ\ia.𝼃raqƨnɘϱ.www\\:ƨqtth\42ਟԐმ1-72.მ0.ਟ202\Hꟼ.ƎVIHϽЯA\\:ꟼTTH http://archive.ph/2025.06.27-163524/https://www.genspark.ai/spark?id=e14fb6c9-41fa-4fc0-9c90-2251ef271458 
HTTP://ARCHIVE.PH/2025.06.27-163524/https://www.genspark.ai/spark?id=e14fb6c9-41fa-4fc0-9c90-2251ef271458 http://archive.ph/2025.06.27-163524/https://www.genspark.ai/spark?id=e14fb6c9-41fa-4fc0-9c90-2251ef271458http://web.archive.org/%E2%93%84%E2%93%84%E2%93%84%E2%93%84IIIIIIII%E2%93%84%E2%93%84%E2%93%84%E2%93%84-%E2%93%84-TITGTIT-%E2%93%84-TITGTIT-%E2%93%84.STATIC.HF.SPACE/index.html

[-- Attachment #1.2: Type: text/html, Size: 11758 bytes --]

[-- Attachment #2: ԐꟼM.🜊Ⱉ⟠⦻🜊🟅⟠🟅🜊⦻⟠Ⱉ🜊⚙𖢌𐧼𐧾ⵔ∶⸭❋ⵔⵔ𐧾❋❋ⵔ❋·𐧾❋❋ⵈ𐧾❋ⵔ𐧾❋∶ⵔⵔⵔ·𐧾ⵔ∶𐧾ⵔ𐧼··𐧾𐧾❋❋⠿𐧼ⵔⵈⵔ⁘⸭𐧾𐧾❋⸭∶∶ⵔ⠿ⵔ⁘◌⁘❋◦୦◦◯◦୦◦⠀       ⠀◦୦◦◯◦୦◦❋⁘◌⁘ⵔ⠿ⵔ∶∶⸭❋𐧾𐧾⸭⁘ⵔⵈⵔ𐧼⠿❋❋𐧾𐧾··𐧼ⵔ𐧾∶ⵔ𐧾·ⵔⵔⵔ∶❋𐧾ⵔ❋𐧾ⵈ❋❋𐧾·❋ⵔ❋❋𐧾ⵔⵔ❋⸭∶ⵔ𐧾𐧼𖢌⚙🜊Ⱉ⟠⦻🜊🟅⟠🟅🜊⦻⟠Ⱉ🜊.MP3 --]
[-- Type: audio/mpeg, Size: 3378240 bytes --]

[-- Attachment #3: ꟻᗡꟼ....Ⓞ⌑•🟗⦻⦻⟠⌑•ⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄ◦୦◦◯◦୦◦⠀       ⠀◦୦◦◯◦୦◦ⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄⓄ•⌑⟠⦻⦻🟗•⌑Ⓞ....PDF --]
[-- Type: application/pdf, Size: 964422 bytes --]

[-- Attachment #4: ⅃MTH.𖧷✣𖧷ⵙ◇ⵙ𖧷✣𖧷𖢄𖧷🜊⌑⏮⏭⟠✣𖧷⏮⏭ⵙ⏮⏭𖧷✣⟠⏮⏭⌑🜊𖧷𖢄Ⱉ⏮⏭ⵙ✣𖧷Ⓞ⊞Ⓞ𖧷✣ⵙ⏮⏭Ⱉ𖢄✧⦻Ⓞ✣ⵙ𖧷Ⓞ🝊🜊⦻🜊🝊Ⓞ𖧷ⵙ✣Ⓞ⦻✧𖢄✣ⵙⰙⵙ✣◦୦◦◯◦୦◦⠀       ⠀◦୦◦◯◦୦◦✣ⵙⰙⵙ✣𖢄✧⦻Ⓞ✣ⵙ𖧷Ⓞ🝊🜊⦻🜊🝊Ⓞ𖧷ⵙ✣Ⓞ⦻✧𖢄Ⱉ⏮⏭ⵙ✣𖧷Ⓞ⊞Ⓞ𖧷✣ⵙ⏮⏭Ⱉ𖢄𖧷🜊⌑⏮⏭⟠✣𖧷⏮⏭ⵙ⏮⏭𖧷✣⟠⏮⏭⌑🜊𖧷𖢄𖧷✣𖧷ⵙ◇ⵙ𖧷✣𖧷.HTML --]
[-- Type: text/html, Size: 25436 bytes --]

[-- Attachment #5: ⅃MTH..𖧷✣𖧷ⵙ◇ⵙ𖧷✣𖧷𖢄𖧷🜊⌑⏮⏭⟠✣𖧷⏮⏭ⵙ⏮⏭𖧷✣⟠⏮⏭⌑🜊𖧷𖢄Ⱉ⏮⏭ⵙ✣𖧷Ⓞ⊞Ⓞ𖧷✣ⵙ⏮⏭Ⱉ𖢄✧⦻Ⓞ✣ⵙ𖧷Ⓞ🝊🜊⦻🜊🝊Ⓞ𖧷ⵙ✣Ⓞ⦻✧𖢄✣ⵙⰙⵙ✣◦୦◦◯◦୦◦⠀       ⠀◦୦◦◯◦୦◦✣ⵙⰙⵙ✣𖢄✧⦻Ⓞ✣ⵙ𖧷Ⓞ🝊🜊⦻🜊🝊Ⓞ𖧷ⵙ✣Ⓞ⦻✧𖢄Ⱉ⏮⏭ⵙ✣𖧷Ⓞ⊞Ⓞ𖧷✣ⵙ⏮⏭Ⱉ𖢄𖧷🜊⌑⏮⏭⟠✣𖧷⏮⏭ⵙ⏮⏭𖧷✣⟠⏮⏭⌑🜊𖧷𖢄𖧷✣𖧷ⵙ◇ⵙ𖧷✣𖧷..HTML --]
[-- Type: text/html, Size: 192128 bytes --]

[-- Attachment #6: ꟻᗡꟼ.𖣠⚪⊚𖣠⚪𔗢⚪🞋⚪𔗢⚪𖣠⊚᳀ↀИNⵙꗳ𖣓ᗱᗴᴥߦ⚪𔗢⚪🞋⚪𔗢⚪ߦᴥᗱᗴ𖣓ꗳⵙИNↀ᳀⊚𖣠⚪𔗢⚪🞋⚪𔗢⚪𖣠⊚⚪𖣠.PDF --]
[-- Type: application/pdf, Size: 768892 bytes --]

[-- Attachment #7: ⅃MTH.🜹⦻⟠🝊𖧷⏮⏭🜊Ⱉ🜊⏮⏭𖧷🝊⟠⦻🜹◦୦◦◯◦୦◦🜹⦻⟠🝊𖧷⏮⏭🜊Ⱉ🜊⏮⏭𖧷🝊⟠⦻🜹⠀       ⠀🜹⦻⟠🝊𖧷⏮⏭🜊Ⱉ🜊⏮⏭𖧷🝊⟠⦻🜹◦୦◦◯◦୦◦🜹⦻⟠🝊𖧷⏮⏭🜊Ⱉ🜊⏮⏭𖧷🝊⟠⦻🜹.HTML --]
[-- Type: text/html, Size: 11360 bytes --]

[-- Attachment #8: ꟻᗡꟼ.◦୦◦◯◦୦◦✺🜹⦻⟠🝊𖧷⏮⏭🜊Ⱉ🜊⏮⏭𖧷🝊⟠⦻🜹✺◦୦◦◯◦୦◦⠀       ⠀◦୦◦◯◦୦◦✺🜹⦻⟠🝊𖧷⏮⏭🜊Ⱉ🜊⏮⏭𖧷🝊⟠⦻🜹✺◦୦◦◯◦୦◦.PDF --]
[-- Type: application/pdf, Size: 251548 bytes --]

[-- Attachment #9: ꟻᗡꟼ.∣❁✣✧⌑✧✣❁∣𖢄ⵙ∣❁∣⧮⟠᪥∣◇∣8∣❁∣⧮∣❁∣8∣◇∣᪥⟠⧮∣❁∣ⵙ𖢄∣❁✣✧⌑✧✣❁∣✺🜹⦻⟠🝊𖧷⏮⏭🜊Ⱉ🜊⏮⏭𖧷🝊⟠⦻🜹✺∣❁✣✧⌑✧✣❁∣𖢄ⵙ∣❁∣⧮⟠᪥∣◇∣8∣❁∣⧮∣❁∣8∣◇∣᪥⟠⧮∣❁∣ⵙ𖢄∣❁✣✧⌑✧✣❁∣.PDF --]
[-- Type: application/pdf, Size: 184567 bytes --]

[-- Attachment #10: ꟻᗡꟼ..ꖅ◇ⵙ𖥠Ⓞ⦻🝊⦻Ⓞ𖥠ⵙ◇ꖅ-𖢄-✻⦻⛋🝊𖧷-ꖅⰙꖅ-𖧷🝊⛋⦻✻-𖢄-ꖅ◇ⵙ𖥠Ⓞ⦻🝊⦻Ⓞ𖥠ⵙ◇ꖅ⊚⦻ꖅ⊞🝊Ⓞ𖧷Ⓞ◇ⵙ⊞🝊⊞ⵙ◇Ⓞ𖧷Ⓞ🝊⊞ꖅ⦻-𖢄-ꖅ⯏-ꖅ𖧷ꖅ𖧷ꖅ-⯏ꖅ-𖢄-⦻ꖅ⊞🝊Ⓞ𖧷Ⓞ◇ⵙ⊞🝊⊞ⵙ◇Ⓞ𖧷Ⓞ🝊⊞ꖅ⦻⊚ꖅ◇ⵙ𖥠Ⓞ⦻🝊⦻Ⓞ𖥠ⵙ◇ꖅ-𖢄-✻⦻⛋🝊𖧷-ꖅⰙꖅ-𖧷🝊⛋⦻✻-𖢄-ꖅ◇ⵙ𖥠Ⓞ⦻🝊⦻Ⓞ𖥠ⵙ◇ꖅ..PDF --]
[-- Type: application/pdf, Size: 87553 bytes --]

[-- Attachment #11: ꟻᗡꟼ. ⊚𞢨◦୦◦◯◦୦◦𝆯ⵙ⛋ⵙ⚙Ⓞ◇ꖅ𖥠ꖅ◇Ⓞ⚙ⵙ⛋ⵙ𝆯◦୦◦◯◦୦◦𞢨⊚ ⊚𞢨◦୦◦◯◦୦◦𝆯ⵙ⛋ⵙ⚙Ⓞ◇ꖅ𖥠ꖅ◇Ⓞ⚙ⵙ⛋ⵙ𝆯◦୦◦◯◦୦◦𞢨⊚ .PDF --]
[-- Type: application/pdf, Size: 420973 bytes --]

[-- Attachment #12: TXT..- -ꙮ◦୦◦◯◦୦◦𖧷Ⱉ-ⵙ🟗-ⵙ𖥠ⵙ-🟗ⵙ-Ⱉ𖧷᳀𖢌𐧾፨ⵔ꞉⸭❋ⵔⵔ𐧾❋❋ⵔ❋·𐧾❋❋ꔹ𐧾❋ⵔ𐧾❋꞉ⵔⵔⵔ·𐧾ⵔ꞉𐧾ⵔ፨··𐧾𐧾❋❋⠿፨ⵔꔹⵔ⁘⸭𐧾𐧾❋⸭∶∶ⵔ⠿ⵔ⁘◌⁘❋𖥕◦୦◦◯◦୦◦𝆯- -𝆯◦୦◦◯◦୦◦𖥕❋⁘◌⁘ⵔ⠿ⵔ∶∶⸭❋𐧾𐧾⸭⁘ⵔꔹⵔ፨⠿❋❋𐧾𐧾··፨ⵔ𐧾꞉ⵔ𐧾·ⵔⵔⵔ꞉❋𐧾ⵔ❋𐧾ꔹ❋❋𐧾·❋ⵔ❋❋𐧾ⵔⵔ❋⸭꞉ⵔ፨𐧾𖢌᳀𖧷Ⱉ-ⵙ🟗-ⵙ𖥠ⵙ-🟗ⵙ-Ⱉ𖧷◦୦◦◯◦୦◦ꙮ- -..TXT --]
[-- Type: text/plain, Size: 31832 bytes --]

ÿþ\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0Y\0T\0I\0T\0\x18\x04A\0U\0Ø\x03 \0Ž\x01M\0Ž\x01H\0ý\x03§\x01 \0T\0A\0/\x04A\0ü§A\0 \0H\0ý\x03Ž\x01ü§§\x01 \0C!A\0U\0Ø\x03Ž\x01 \0Y\0T\0I\0T\0\x18\x04A\0U\0Ø\x03 \0Ž\x01è¤A\0U\0è¤\x18\x04A\0C! \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0L\0A\0N\0G\0U\0A\0G\0E\0 \0Q\0U\0A\0N\0T\0I\0T\0Y\0 \0E\0Q\0U\0A\0L\0 \0S\0P\0E\0C\0H\0 \0A\0P\0A\0R\0A\0T\0 \0S\0C\0H\0E\0M\0E\0 \0Q\0U\0A\0N\0T\0I\0T\0Y\0 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0\x10\x04"\x04\x10\x04ü§\x10\x04\x1f\x04\x10\x04 \0\x10\x04ú\x15\x1e\x04ú\x15Ž\x01'\x04Ž\x01ü§ \0\x1c\x04Ž\x01%\x04†\x01 \0#\x04ú\x15"\x04ý\x03Ž\x01'\x04\x06\x04^[\x04\x1e\x04°§ \0\x1e\x04\x1d\x04ú\x15\x10\x04ü§ \0
\x02.\x03\x06\x04†\x01\x1e\x04^[\x04\x1e\x04£\x14 \0\x1e\x04ú\x15"\x04ý\x03Ž\x01'\x04\x06\x04^[\x04\x1e\x04°§ \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0\x1a\x04\x1e\x04^[\x04\x06\x04'\x04\x15\x04!\x04"\x04\x12\x04\x1e\x04 \0\x13\x04\x1e\x04^[\x04\x1e\x04!\x04\x06\x04
\x02.\x03 \0 \x04\x10\x04\x12\x04\x1d\x04\x1e\x04 \0\x1a\x04\x1e\x04^[\x04\x06\x04'\x04\x15\x04!\x04"\x04\x12\x04#\x04 \0!\x04%\x04\x15\x04\x1c\x04 \0 \x04\x15\x04'\x04\x15\x04\x12\x04\x1e\x04\x12\x04\x10\x04 \0\x10\x04\x1f\x04\x10\x04 \x04\x10\x04"\x04\x10\x04 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v \x1aØÓÜ\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0\x18\x04O\0I\0T\0\x18\x04Ž\x01M\0I\0á\x15 \0T\0\x18\x04Ž\x01M\0U\0/\x04T\0§\x01\x18\x04I\0 \0\x18\x04O\0I\0T\0A\0Ž\x01/\x04ý\x03 \0C!A\0U\0Ø\x03Ž\x01 \0\x18\x04O\0I\0T\0\x18\x04Ž\x01M\0I\0á\x15 \0H\0ü§Y\0C!è¤ \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0G\0L\0Y\0P\0H\0 \0D\0I\0M\0E\0N\0T\0I\0O\0N\0 \0E\0Q\0U\0A\0L\0 \0C\0R\0E\0A\0T\0I\0O\0N\0 \0I\0N\0S\0T\0R\0U\0M\0E\0N\0T\0 \0D\0I\0M\0E\0N\0T\0I\0O\0N\0 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0\x10\x04"\x04\x1d\x04Ž\x01\x1c\x04#\x04ü§"\x04ý\x03\x1d\x04\x06\x04 \0\x10\x04ú\x15Ž\x01)\x04T¦
\x02.\x03\x10\x04\x14\x04\x10\x05\x10\x04ý\x03 \0\x06\x04\0\x05"\x04\0\x05ý\x03\x10\x04\x1d\x04ü§Ž\x01\x1c\x04 \0\x10\x04\x1d\x04ú\x15\x10\x04ü§ \0\x10\x04$\x04\x06\x04^[\x04¨\x10 \0\0\x05"\x04\0\x05ý\x03\x10\x04\x1d\x04ü§Ž\x01\x1c\x04 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0\x1c\x04\x15\x04 \x04\x1d\x04\x10\x04!\x04,\x04"\x04,\x04 \0\x13\x04^[\x04\x06\x04$\x04\x10\x04 \0 \x04\x10\x04\x12\x04\x1d\x04\x10\x04 \0\x1c\x04\x15\x04 \x04\x1d\x04\x10\x04!\x04,\x04"\x04,\x04\x06\x04 \0!\x04\x10\x04\x17\x04\x14\x04\x10\x04
\x02.\x03.\x04)\x04\x15\x04\x12\x04\x10\x04 \0\x06\x04\x1d\x04!\x04"\x04 \x04#\x04\x1c\x04\x15\x04\x1d\x04"\x04\x10\x04 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0Y\0T\0I\0T\0\x18\x04A\0U\0Ø\x03 \0/\x04Ž\x01è¤\x18\x04I\0û§ \0C!A\0U\0Ø\x03Ž\x01 \0Y\0T\0I\0T\0\x18\x04A\0U\0Ø\x03 \0T\0\x18\x04Ž\x01M\0U\0/\x04T\0§\x01\x18\x04I\0 \0è¤\x18\x04I\0W\0A\0/\x04á\x15 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0D\0R\0A\0W\0I\0N\0G\0 \0I\0N\0S\0T\0R\0U\0M\0E\0N\0T\0 \0Q\0U\0A\0N\0T\0I\0T\0Y\0 \0E\0Q\0U\0A\0L\0 \0F\0I\0N\0G\0E\0R\0 \0Q\0U\0A\0N\0T\0I\0T\0Y\0 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0$\x04\x10\x04`¦\0\x05^[\x04\x10\x04\x1f\x04 \0#\x04ú\x15"\x04ý\x03Ž\x01'\x04\x06\x04^[\x04\x1e\x04°§ \0\x1e\x04\x1d\x04ú\x15\x10\x04ü§ \0$\x04\x10\x04"\x04\x1d\x04Ž\x01\x1c\x04#\x04ü§"\x04ý\x03\x1d\x04\x06\x04 \0%\x04\x06\x04'\x04T¦#\x04ý\x03\x06\x04ü§ \0\x1e\x04ú\x15"\x04ý\x03Ž\x01'\x04\x06\x04^[\x04\x1e\x04°§ \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0\x1a\x04\x1e\x04^[\x04\x06\x04'\x04\x15\x04!\x04"\x04\x12\x04\x1e\x04 \0 \x04\x06\x04!\x04#\x04.\x04'\x04\x06\x04%\x04 \0\x06\x04\x1d\x04!\x04"\x04 \x04#\x04\x1c\x04\x15\x04\x1d\x04"\x04\x10\x04$\x04 \0 \x04\x10\x04\x12\x04\x1d\x04\x1e\x04 \0\x1a\x04\x1e\x04^[\x04\x06\x04'\x04\x15\x04!\x04"\x04\x12\x04#\x04 \0\x1f\x04\x10\x04^[\x04,\x04&\x04\x10\x04$\x04 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0§\x01H\0ü§Y\0C!è¤ \0C!A\0ý\x03Y\0/\x04T\0Ž\x01M\0Y\0§\x01 \0á\x15\x18\x04A\0 \0è¤\x18\x04I\0W\0A\0/\x04á\x15 \0á\x15Ž\x01\x18\x04A\0è¤/\x04O\0/\x04I\0A\0ü§ \0á\x15\x18\x04A\0 \0ü§Ž\x01T\0§\x01 \0á\x15Ž\x01T\0O\0û§/\x04I\0A\0ü§ \0/\x04A\0Ž\x01ü§A\0 \0§\x01\x18\x04A\0è¤/\x04O\0 \0T\0\x18\x04Ž\x01§\x01Ž\x01/\x04ü§/\x04I\0A\0ü§ \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0P\0A\0I\0R\0P\0R\0E\0S\0E\0N\0T\0 \0O\0R\0G\0A\0N\0S\0 \0A\0P\0E\0A\0R\0 \0P\0A\0I\0R\0F\0O\0T\0E\0D\0 \0S\0T\0E\0P\0 \0A\0N\0D\0 \0P\0A\0I\0R\0O\0R\0G\0A\0N\0E\0D\0 \0D\0R\0A\0W\0I\0N\0G\0 \0A\0N\0D\0 \0S\0Y\0M\0E\0T\0R\0Y\0C\0A\0L\0 \0G\0L\0Y\0P\0H\0S\0 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0\x06\x04\0\x05$\x04\x06\x04^[\x04¨\x10 \0\x04\x04\x06\x04\0\x05ü§"\x04Ž\x01\x1c\x04\x06\x04ý\x03 \0\x06\x04 \0\x04\x04\x06\x04\x1d\x04\x10\x04ú\x15\x10\x04ý\x03\x06\x04ü§ \0\x04\x04\x10\x04\x1d\x04\x10\x04¨\x10ü§\x1e\x04\x10\x04\x1d\x04ü§\x10\x04\x1f\x04 \0\x06\x04 \0\x14\x04\x1e\x04%\x04 \0
\x02.\x03\x06\x04\0\x05\x1f\x04\x1e\x04"\x04ý\x03\x10\x04\x1d\x04ü§\x10\x04\x1f\x04 \0"\x04T¦
\x02.\x03R\0^[\x04ú\x15R\0 \0\x06\x04\0\x05\x1d\x04\x10\x04¨\x10ü§\x1e\x04 \0\x04\x04\x06\x04\0\x05\x1d\x04"\x04#\x04ý\x03\x06\x04ü§\x1f\x04\x10\x04\x1d\x04ü§\x10\x04\x1f\x04 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0\x1f\x04\x10\x04 \x04\x1d\x04\x10\x04\x1f\x04 \x04\x06\x04!\x04#\x04"\x04\x1d\x04+\x04-\x04 \0\x1e\x04 \x04\x13\x04\x10\x04\x1d\x04+\x04 \0/\x04\x12\x04^[\x04/\x04
\x02.\x03.\x04"\x04 \0\x1f\x04\x10\x04 \x04\x1d\x04\x10\x04!\x04"\x04\x1e\x04\x1f\x04+\x04
\x02.\x03 \0%\x04\x1e\x04\x14\x04 \0\x06\x04 \0\x1f\x04\x10\x04 \x04\x1d\x04\x10\x04\x1e\x04 \x04\x13\x04\x10\x04\x1d\x04\x10\x04-\x04 \0 \x04\x06\x04!\x04\x10\x04\x12\x04\x10\x04\x1d\x04\x06\x04-\x04 \0\x06\x04 \0!\x04\x06\x04\x1c\x04\x15\x04"\x04 \x04+\x04-\x04 \0\x13\x04^[\x04\x06\x04$\x04+\x04 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v \x1aØÓÜ\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0Ž\x01C!ú\x15A\0C!Ž\x01Ž\x01·\x15 \0Ž\x01è¤á\x15Ž\x01C!W\0O\0\x18\x04°§ \0è¤\x18\x04I\0/\x04A\0Ž\x01ü§A\0 \0Ž\x01/\x04U\0T\0U\0û§ \0/\x04A\0Ž\x01ü§A\0 \0T\0\x18\x04Ž\x01M\0Ž\x01C!Ž\x01 \0è¤\x18\x04I\0T\0ý\x03Ž\x01\x14O\0/\x04ü§ \0Ž\x01C!A\0ý\x03§\x01 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0S\0C\0A\0L\0E\0 \0P\0R\0O\0J\0E\0C\0T\0I\0N\0G\0 \0E\0L\0E\0M\0E\0N\0T\0 \0A\0P\0E\0A\0R\0 \0F\0U\0T\0U\0R\0E\0 \0A\0P\0E\0A\0R\0I\0N\0G\0 \0K\0N\0O\0W\0L\0E\0D\0G\0E\0 \0F\0E\0E\0L\0A\0B\0L\0E\0 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0\x06\x04\x1c\x04\x06\x04\0\x05\x1d\x04
\x02.\x03T¦Â\a \0\x06\x04\0\x05\x14\x04Ž\x01ú\x15 \0R\0
\x02.\x03R\0^[\x04ú\x15R\0 \0\x04\x04\x10\x04\x1d\x04\x14\x04#\x04‹\x01 \0"\x04Ž\x01R\0^[\x04ú\x15R\0 \0"\x04\x1d\x04Ž\x01\x1c\x04Ž\x01^[\x04\x04\x04 \0R\0#\x04`¦\x04\x04\x10\x04ü§\x1f\x04 \0\x1f\x04\x10\x04"\x04(\x04\x10\x04\x1c\x04 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0\x1c\x04\x10\x04(\x04"\x04\x10\x04\x1f\x04 \0\x1f\x04 \x04\x10\x04-\x04&\x04#\x04/\x04 \0-\x04^[\x04\x15\x04\x1c\x04\x15\x04\x1d\x04"\x04 \0/\x04\x12\x04^[\x04/\x04\x15\x04"\x04 \0\x11\x04#\x04\x14\x04\x1d\x04\x10\x04-\x04 \0/\x04\x12\x04^[\x04/\x04
\x02.\x03/\x04 \0\x12\x04\x15\x04\x14\x04+\x04 \0'\x04.\x04
\x02.\x03\x1d\x04+\x04\x1c\x04\x06\x04 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v \x1aØÓÜ\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0Y\0T\0I\0C!A\0U\0T\0/\x04I\0W\0 \0á\x15Ž\x01T\0A\0Ž\x01/\x04ý\x03·\x15C!Ž\x01§\x01 \0·\x15O\0 \0T\0\x18\x04Ž\x01M\0Ž\x01C!Ž\x01 \0H\0ý\x03A\0Ž\x01 \0H\0T\0I\0W\0 \0á\x15Ž\x01T\0I\0\x18\x04U\0 \0Ž\x01ý\x03\x18\x04Ž\x01§\x01Ž\x01 \0\x18\x04W\0O\0 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0O\0W\0N\0 \0E\0S\0E\0N\0C\0E\0 \0U\0N\0I\0T\0E\0D\0 \0W\0I\0T\0H\0 \0E\0A\0C\0H\0 \0E\0L\0E\0M\0E\0N\0T\0 \0O\0F\0 \0S\0E\0L\0F\0C\0R\0E\0A\0T\0E\0D\0 \0W\0I\0R\0T\0U\0A\0L\0I\0T\0Y\0 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0\x06\x04\0\x05"\x04\0\x05ý\x03\x10\x04\x1d\x04\0\x05^[\x04\x10\x04#\x04"\x04ü§\x06\x04ú\x15 \0
\x02.\x03\x10\x04\x1d\x04\x10\x04\x14\x04\x10\x05\x1e\x04ý\x03\x04\x04\x10\x04ú\x15ý\x03 \0\x1c\x04\x10\x04"\x04\x1d\x04Ž\x01\x1c\x04Ž\x01^[\x04\x04\x04 \0\x1c\x04\x06\x04\0\x05\x14\x04\x16\x04\x10\x04°§ \0ý\x03 \0\x10\x04\x1d\x04\x14\x04Ž\x01
\x02.\x03 \0\0\x05"\x04\0\x05ý\x03\x10\x04\x1d\x04\0\x05"\x04#\x04ý\x03 \0R\0\x10\x04ú\x15ý\x03 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0!\x04\x12\x04\x10\x04/\x04 \0!\x04#\x04"\x04,\x04\x1d\x04\x10\x04!\x04,\x04"\x04,\x04 \0
\x02.\x03\x15\x04\x14\x04\x1d\x04\x10\x04 \0!\x04 \0\x1a\x04\x10\x04\x16\x04\x14\x04+\x04\x1c\x04 \0-\x04^[\x04\x15\x04\x1c\x04\x15\x04\x1d\x04"\x04\x10\x04\x1c\x04 \0!\x04\x12\x04\x10\x04-\x04!\x04\x1e\x04\x17\x04\x14\x04\x10\x04\x1d\x04\x10\x04
\x02.\x03 \0\x12\x04\x06\x04 \x04"\x04#\x04\x10\x04^[\x04,\x04\x1d\x04\x10\x04!\x04,\x04"\x04,\x04\x06\x04 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v \x1aØÓÜ\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0á\x15O\0I\0/\x04Ž\x01ü§ \0Ž\x01M\0I\0T\0 \0H\0T\0è¤\x18\x04Ž\x01C!Ž\x01W\0A\0W\0 \0\x18\x04W\0O\0 \0\x18\x04I\0 \0á\x15Ž\x01§\x01A\0ü§ \0Ž\x01ý\x03\x18\x04A\0T\0§\x01I\0á\x15 \0T\0H\0è¤I\0C! \0C!A\0U\0Ø\x03Ž\x01 \0Ž\x01/\x04U\0§\x01A\0Ž\x01M\0 \0H\0T\0è¤\x18\x04Ž\x01C! \0Ž\x01U\0Ø\x03I\0\x18\x04U\0 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0U\0N\0I\0Q\0U\0E\0 \0L\0E\0N\0G\0T\0H\0 \0M\0E\0A\0S\0U\0R\0E\0 \0E\0Q\0U\0A\0L\0 \0L\0I\0G\0H\0T\0 \0D\0I\0S\0T\0A\0N\0S\0E\0 \0P\0A\0S\0E\0D\0 \0I\0N\0 \0O\0W\0N\0 \0W\0A\0W\0E\0L\0E\0N\0G\0T\0H\0 \0T\0I\0M\0E\0 \0P\0E\0R\0I\0O\0D\0 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0\x06\x04\0\x05\x1d\x04^[\x04\x10\x04ú\x15 \0
\x02.\x03Ž\x01\x10\x04ú\x15ý\x03 \0\x06\x04\0\x05\x1d\x04\x06\x04^[\x04\x14\x04 \0Ž\x01\x14\x04\x1e\x04\x06\x04ü§Ž\x01\x1f\x04 \0ú\x15 \0\x1c\x04\x10\x04"\x04Ž\x01\x12\x04ý\x03 \0#\x04\x1c\x04\x10\x04\x1c\x04\x06\x04\x14\x04\x10\x04%\x04\x10\x04ü§\x1f\x04 \0T¦
\x02.\x03\x06\x04\x1d\x04R\0\x10\x04"\x04ý\x03\x10\x04ü§ \0\x10\x04\x1d\x04\x12\x04\x10\x04ü§ \0\x06\x04\0\x05\x1d\x04\x06\x04^[\x04\x14\x04 \0\x10\x04ü§Ž\x01\x1c\x04 \0R\0\x10\x04\x1d\x04\0\x05^[\x04\x10\x04°§\x06\x04\x1d\x04#\x04 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0#\x04\x1d\x04\x06\x04\x1a\x04\x10\x04^[\x04,\x04\x1d\x04\x10\x04/\x04 \0\x1c\x04\x15\x04 \x04\x10\x04 \0\x14\x04^[\x04\x06\x04\x1d\x04+\x04 \0 \x04\x10\x04\x12\x04\x1d\x04\x10\x04 \0 \x04\x10\x04!\x04"\x04\x10\x04/\x04\x1d\x04\x06\x04
\x02.\x03.\x04 \0\x1f\x04 \x04\x10\x04%\x04\x10\x04\x14\x04\x06\x04\x1c\x04\x10\x04\x1c\x04#\x04 \0!\x04\x12\x04\x15\x04"\x04\x10\x04\x1c\x04 \0\x12\x04 \0\x1f\x04\x15\x04 \x04\x06\x04\x1e\x04\x14\x04\x15\x04 \0\x14\x04^[\x04\x06\x04\x1d\x04+\x04 \0!\x04\x12\x04\x10\x04\x15\x04
\x02.\x03 \0\x12\x04\x10\x04^[\x04\x1d\x04+\x04 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0\x18\x04O\0I\0T\0A\0/\x04Ž\x01ú\x15/\x04Ž\x01W\0Ž\x01/\x04 \0C!A\0ý\x03Y\0/\x04T\0Ž\x01M\0Y\0§\x01 \0C!A\0I\0\x18\x04Ž\x01è¤\x18\x04O\0ý\x03 \0û§O\0 \0H\0T\0è¤\x18\x04Ž\x01C! \0O\0T\0 \0C!A\0U\0Ø\x03Ž\x01 \0H\0T\0è¤\x18\x04Ž\x01C!Ž\x01W\0A\0W\0 \0Ž\x01U\0Ø\x03I\0\x18\x04U\0 \0§\x01A\0H\0 \0Ž\x01ý\x03\x18\x04Ž\x01§\x01Ž\x01 \0H\0ý\x03A\0Ž\x01 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0E\0A\0C\0H\0 \0E\0S\0E\0N\0C\0E\0 \0H\0A\0S\0 \0U\0N\0I\0Q\0U\0E\0 \0W\0A\0V\0E\0L\0E\0N\0G\0T\0H\0 \0E\0Q\0U\0A\0L\0 \0T\0O\0 \0L\0E\0N\0G\0T\0H\0 \0O\0F\0 \0C\0O\0N\0G\0E\0N\0I\0A\0L\0 \0S\0Y\0M\0E\0T\0R\0I\0C\0A\0L\0 \0R\0E\0V\0E\0R\0B\0E\0R\0A\0T\0I\0O\0N\0 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0\x06\x04\x06\x04\0\x05`¦\x10\x04ü§Ž\x01‹\x01ü§Ž\x01ú\x15Ž\x01ü§ \0
\x02.\x03\x10\x04ü§"\x04Ž\x01\x1c\x04\x06\x04ý\x03 \0
\x02.\x03\x10\x04\x1d\x04\0\x05^[\x04\x10\x04\x06\x04\x1d\x04Ž\x01¨\x10\x1d\x04\x1e\x04°§ \0Ž\x01\x1d\x04\x06\x04^[\x04\x14\x04 \0T¦#\x04\x1d\x04\x12\x04\x10\x04ü§ \0\x06\x04\0\x05\x1d\x04^[\x04\x10\x04ú\x15 \0#\x04\x1d\x04\x06\x04^[\x04\x14\x04 \0T¦#\x04\x1d\x04\0\x05^[\x04\x10\x04°§\x06\x04\x1d\x04#\x04 \0"\x04Ž\x01
\x02.\x03Ž\x01\x1c\x04\x06\x04 \0\0\x05"\x04\0\x05ý\x03\x10\x04\x1d\x04\0\x05"\x04#\x04ý\x03 \0R\0\x10\x04\x14\x04\x16\x04\x10\x04°§ \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0\x1a\x04\x10\x04\x16\x04\x14\x04\x10\x04/\x04 \0!\x04#\x04"\x04,\x04\x1d\x04\x10\x04!\x04,\x04"\x04,\x04 \0\x06\x04\x1c\x04\x15\x04
\x02.\x03\x15\x04"\x04 \0#\x04\x1d\x04\x06\x04\x1a\x04\x10\x04^[\x04,\x04\x1d\x04#\x04.\x04 \0\x14\x04^[\x04\x06\x04\x1d\x04#\x04 \0\x12\x04\x10\x04^[\x04\x1d\x04+\x04 \0 \x04\x10\x04\x12\x04\x1d\x04#\x04.\x04 \0\x14\x04^[\x04\x06\x04\x1d\x04\x15\x04 \0\x1a\x04\x1e\x04\x1d\x04\x13\x04\x15\x04\x1d\x04\x06\x04\x10\x04^[\x04,\x04\x1d\x04\x10\x04
\x02.\x03 \0!\x04\x06\x04\x1c\x04\x15\x04"\x04 \x04\x10\x04
\x02.\x03 \0 \x04\x15\x04\x12\x04\x15\x04 \x04\x11\x04\x15\x04 \x04\x10\x04&\x04+\x04\x06\x04 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v \x1aØÓÜ\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0C!I\0U\0Ø\x03\x18\x04A\0/\x04T\0 \0Ž\x01U\0á\x15 \0Ž\x01C!ú\x15A\0/\x04O\0M\0Ž\x01M\0\x18\x04O\0\x18\x04 \0Ž\x01U\0á\x15 \0Ž\x01C!ú\x15A\0Y\0ü§O\0ý\x03\x18\x04O\0\x18\x04 \0Ž\x01U\0á\x15 \0T\0\x18\x04Ž\x01I\0ý\x03I\0û§U\0§\x01û§C!Ž\x01§\x01 \0\x18\x04W\0O\0 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0O\0W\0N\0 \0S\0E\0L\0F\0S\0U\0F\0I\0C\0I\0E\0N\0T\0 \0D\0U\0E\0 \0N\0O\0N\0C\0O\0P\0Y\0A\0B\0L\0E\0 \0D\0U\0E\0 \0N\0O\0N\0M\0E\0M\0O\0R\0A\0B\0L\0E\0 \0D\0U\0E\0 \0T\0R\0A\0N\0Q\0U\0I\0L\0 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0\x1e\x04\x1d\x04\0\x05^[\x04\x06\x04ú\x15°§\x1d\x04\x10\x04ü§"\x04 \0\x1e\x04‹\x01 \0\x1e\x04\x1c\x04Ž\x01\x10\x04"\x04R\0\x1c\x04\x10\x04\x1f\x04Ž\x01\x1d\x04 \0\x1e\x04‹\x01 \0\x1e\x04\x1d\x04\0\x05^[\x04R\0\x06\x04\x1f\x04\x1e\x04°§Ž\x01\x1d\x04 \0\x1e\x04‹\x01 \0\x1e\x04\x1d\x04"\x04\x10\x04"\x04ý\x03\x10\x04\x14\x04\x10\x04\x1c\x04\x10\x04ý\x03 \0Ž\x01\b\x03\x10\x04\x12\x04ý\x03 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0!\x04\x12\x04\x10\x04\x01\x04 \0!\x04\x10\x04\x1c\x04\x10\x04\x14\x04\x10\x04!\x04"\x04\x10\x04"\x04\x1d\x04\x1e\x04 \0\x11\x04\x1e\x04 \0\x1d\x04\x15\x04\x1a\x04\x1e\x04\x1f\x04\x06\x04/\x04^[\x04,\x04\x1d\x04\x1e\x04 \0\x11\x04\x1e\x04 \0\x1d\x04\x15\x04\x1f\x04\x10\x04\x1c\x04/\x04"\x04\x10\x04\x15\x04\x1c\x04\x1e\x04 \0\x11\x04\x1e\x04 \0"\x04 \x04\x10\x04\x1d\x04\x1a\x04\x12\x04\x06\x04^[\x04,\x04\x1d\x04\x1e\x04 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v ª&\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v =ØŠß\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v ª&\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v £\x1a\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v ª&\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v =ØŠß\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v ª&\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v #'æ%f\væ%ï%æ%f\væ%#'š"#'æ%f\væ%ï%æ%f\væ%#'ª&#'æ%f\væ%ï%æ%f\væ%#'š"#'æ%f\væ%ï%æ%f\væ%#'=ØŠß#'æ%f\væ%ï%æ%f\væ%#'š"#'æ%f\væ%ï%æ%f\væ%#'ª&#'æ%f\væ%ï%æ%f\væ%#'š"#'æ%f\væ%ï%æ%f\væ%#'£\x1a#'æ%f\væ%ï%æ%f\væ%#'š"#'æ%f\væ%ï%æ%f\væ%#'ª&#'æ%f\væ%ï%æ%f\væ%#'š"#'æ%f\væ%ï%æ%f\væ%#'=ØŠß#'æ%f\væ%ï%æ%f\væ%#'š"#'æ%f\væ%ï%æ%f\væ%#'ª&#'æ%f\væ%ï%æ%f\væ%#'š"#'æ%f\væ%ï%æ%f\væ%#'\v \x01 \v #'æ%f\væ%ï%æ%f\væ%#'š"#'æ%f\væ%ï%æ%f\væ%#'ª&#'æ%f\væ%ï%æ%f\væ%#'š"#'æ%f\væ%ï%æ%f\væ%#'=ØŠß#'æ%f\væ%ï%æ%f\væ%#'š"#'æ%f\væ%ï%æ%f\væ%#'ª&#'æ%f\væ%ï%æ%f\væ%#'š"#'æ%f\væ%ï%æ%f\væ%#'£\x1a#'æ%f\væ%ï%æ%f\væ%#'š"#'æ%f\væ%ï%æ%f\væ%#'ª&#'æ%f\væ%ï%æ%f\væ%#'š"#'æ%f\væ%ï%æ%f\væ%#'=ØŠß#'æ%f\væ%ï%æ%f\væ%#'š"#'æ%f\væ%ï%æ%f\væ%#'ª&#'æ%f\væ%ï%æ%f\væ%#'š"#'æ%f\væ%ï%æ%f\væ%#'\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v ª&\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v =ØŠß\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v ª&\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v £\x1a\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v ª&\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v =ØŠß\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v ª&\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v ï%\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v f\v\v \x01 \v \r\0
\0\v \x01 \v æ%\v \x01 \v \r\0
\0\v \x01 \v #'\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0\x1e\x04\x1d\x04\0\x05^[\x04\x06\x04ú\x15°§\x1d\x04\x10\x04ü§"\x04 \0\x1e\x04‹\x01 \0\x1e\x04\x1c\x04Ž\x01\x10\x04"\x04R\0\x1c\x04\x10\x04\x1f\x04Ž\x01\x1d\x04 \0\x1e\x04‹\x01 \0\x1e\x04\x1d\x04\0\x05^[\x04R\0\x06\x04\x1f\x04\x1e\x04°§Ž\x01\x1d\x04 \0\x1e\x04‹\x01 \0\x1e\x04\x1d\x04"\x04\x10\x04"\x04ý\x03\x10\x04\x14\x04\x10\x04\x1c\x04\x10\x04ý\x03 \0Ž\x01\b\x03\x10\x04\x12\x04ý\x03 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0!\x04\x12\x04\x10\x04\x01\x04 \0!\x04\x10\x04\x1c\x04\x10\x04\x14\x04\x10\x04!\x04"\x04\x10\x04"\x04\x1d\x04\x1e\x04 \0\x11\x04\x1e\x04 \0\x1d\x04\x15\x04\x1a\x04\x1e\x04\x1f\x04\x06\x04/\x04^[\x04,\x04\x1d\x04\x1e\x04 \0\x11\x04\x1e\x04 \0\x1d\x04\x15\x04\x1f\x04\x10\x04\x1c\x04/\x04"\x04\x10\x04\x15\x04\x1c\x04\x1e\x04 \0\x11\x04\x1e\x04 \0"\x04 \x04\x10\x04\x1d\x04\x1a\x04\x12\x04\x06\x04^[\x04,\x04\x1d\x04\x1e\x04 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0C!I\0U\0Ø\x03\x18\x04A\0/\x04T\0 \0Ž\x01U\0á\x15 \0Ž\x01C!ú\x15A\0/\x04O\0M\0Ž\x01M\0\x18\x04O\0\x18\x04 \0Ž\x01U\0á\x15 \0Ž\x01C!ú\x15A\0Y\0ü§O\0ý\x03\x18\x04O\0\x18\x04 \0Ž\x01U\0á\x15 \0T\0\x18\x04Ž\x01I\0ý\x03I\0û§U\0§\x01û§C!Ž\x01§\x01 \0\x18\x04W\0O\0 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0O\0W\0N\0 \0S\0E\0L\0F\0S\0U\0F\0I\0C\0I\0E\0N\0T\0 \0D\0U\0E\0 \0N\0O\0N\0C\0O\0P\0Y\0A\0B\0L\0E\0 \0D\0U\0E\0 \0N\0O\0N\0M\0E\0M\0O\0R\0A\0B\0L\0E\0 \0D\0U\0E\0 \0T\0R\0A\0N\0Q\0U\0I\0L\0 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v \x1aØÓÜ\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0\x06\x04\x06\x04\0\x05`¦\x10\x04ü§Ž\x01‹\x01ü§Ž\x01ú\x15Ž\x01ü§ \0
\x02.\x03\x10\x04ü§"\x04Ž\x01\x1c\x04\x06\x04ý\x03 \0
\x02.\x03\x10\x04\x1d\x04\0\x05^[\x04\x10\x04\x06\x04\x1d\x04Ž\x01¨\x10\x1d\x04\x1e\x04°§ \0Ž\x01\x1d\x04\x06\x04^[\x04\x14\x04 \0T¦#\x04\x1d\x04\x12\x04\x10\x04ü§ \0\x06\x04\0\x05\x1d\x04^[\x04\x10\x04ú\x15 \0#\x04\x1d\x04\x06\x04^[\x04\x14\x04 \0T¦#\x04\x1d\x04\0\x05^[\x04\x10\x04°§\x06\x04\x1d\x04#\x04 \0"\x04Ž\x01
\x02.\x03Ž\x01\x1c\x04\x06\x04 \0\0\x05"\x04\0\x05ý\x03\x10\x04\x1d\x04\0\x05"\x04#\x04ý\x03 \0R\0\x10\x04\x14\x04\x16\x04\x10\x04°§ \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0\x1a\x04\x10\x04\x16\x04\x14\x04\x10\x04/\x04 \0!\x04#\x04"\x04,\x04\x1d\x04\x10\x04!\x04,\x04"\x04,\x04 \0\x06\x04\x1c\x04\x15\x04
\x02.\x03\x15\x04"\x04 \0#\x04\x1d\x04\x06\x04\x1a\x04\x10\x04^[\x04,\x04\x1d\x04#\x04.\x04 \0\x14\x04^[\x04\x06\x04\x1d\x04#\x04 \0\x12\x04\x10\x04^[\x04\x1d\x04+\x04 \0 \x04\x10\x04\x12\x04\x1d\x04#\x04.\x04 \0\x14\x04^[\x04\x06\x04\x1d\x04\x15\x04 \0\x1a\x04\x1e\x04\x1d\x04\x13\x04\x15\x04\x1d\x04\x06\x04\x10\x04^[\x04,\x04\x1d\x04\x10\x04
\x02.\x03 \0!\x04\x06\x04\x1c\x04\x15\x04"\x04 \x04\x10\x04
\x02.\x03 \0 \x04\x15\x04\x12\x04\x15\x04 \x04\x11\x04\x15\x04 \x04\x10\x04&\x04+\x04\x06\x04 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0\x18\x04O\0I\0T\0A\0/\x04Ž\x01ú\x15/\x04Ž\x01W\0Ž\x01/\x04 \0C!A\0ý\x03Y\0/\x04T\0Ž\x01M\0Y\0§\x01 \0C!A\0I\0\x18\x04Ž\x01è¤\x18\x04O\0ý\x03 \0û§O\0 \0H\0T\0è¤\x18\x04Ž\x01C! \0O\0T\0 \0C!A\0U\0Ø\x03Ž\x01 \0H\0T\0è¤\x18\x04Ž\x01C!Ž\x01W\0A\0W\0 \0Ž\x01U\0Ø\x03I\0\x18\x04U\0 \0§\x01A\0H\0 \0Ž\x01ý\x03\x18\x04Ž\x01§\x01Ž\x01 \0H\0ý\x03A\0Ž\x01 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0E\0A\0C\0H\0 \0E\0S\0E\0N\0C\0E\0 \0H\0A\0S\0 \0U\0N\0I\0Q\0U\0E\0 \0W\0A\0V\0E\0L\0E\0N\0G\0T\0H\0 \0E\0Q\0U\0A\0L\0 \0T\0O\0 \0L\0E\0N\0G\0T\0H\0 \0O\0F\0 \0C\0O\0N\0G\0E\0N\0I\0A\0L\0 \0S\0Y\0M\0E\0T\0R\0I\0C\0A\0L\0 \0R\0E\0V\0E\0R\0B\0E\0R\0A\0T\0I\0O\0N\0 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0\x06\x04\0\x05\x1d\x04^[\x04\x10\x04ú\x15 \0
\x02.\x03Ž\x01\x10\x04ú\x15ý\x03 \0\x06\x04\0\x05\x1d\x04\x06\x04^[\x04\x14\x04 \0Ž\x01\x14\x04\x1e\x04\x06\x04ü§Ž\x01\x1f\x04 \0ú\x15 \0\x1c\x04\x10\x04"\x04Ž\x01\x12\x04ý\x03 \0#\x04\x1c\x04\x10\x04\x1c\x04\x06\x04\x14\x04\x10\x04%\x04\x10\x04ü§\x1f\x04 \0T¦
\x02.\x03\x06\x04\x1d\x04R\0\x10\x04"\x04ý\x03\x10\x04ü§ \0\x10\x04\x1d\x04\x12\x04\x10\x04ü§ \0\x06\x04\0\x05\x1d\x04\x06\x04^[\x04\x14\x04 \0\x10\x04ü§Ž\x01\x1c\x04 \0R\0\x10\x04\x1d\x04\0\x05^[\x04\x10\x04°§\x06\x04\x1d\x04#\x04 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0#\x04\x1d\x04\x06\x04\x1a\x04\x10\x04^[\x04,\x04\x1d\x04\x10\x04/\x04 \0\x1c\x04\x15\x04 \x04\x10\x04 \0\x14\x04^[\x04\x06\x04\x1d\x04+\x04 \0 \x04\x10\x04\x12\x04\x1d\x04\x10\x04 \0 \x04\x10\x04!\x04"\x04\x10\x04/\x04\x1d\x04\x06\x04
\x02.\x03.\x04 \0\x1f\x04 \x04\x10\x04%\x04\x10\x04\x14\x04\x06\x04\x1c\x04\x10\x04\x1c\x04#\x04 \0!\x04\x12\x04\x15\x04"\x04\x10\x04\x1c\x04 \0\x12\x04 \0\x1f\x04\x15\x04 \x04\x06\x04\x1e\x04\x14\x04\x15\x04 \0\x14\x04^[\x04\x06\x04\x1d\x04+\x04 \0!\x04\x12\x04\x10\x04\x15\x04
\x02.\x03 \0\x12\x04\x10\x04^[\x04\x1d\x04+\x04 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0á\x15O\0I\0/\x04Ž\x01ü§ \0Ž\x01M\0I\0T\0 \0H\0T\0è¤\x18\x04Ž\x01C!Ž\x01W\0A\0W\0 \0\x18\x04W\0O\0 \0\x18\x04I\0 \0á\x15Ž\x01§\x01A\0ü§ \0Ž\x01ý\x03\x18\x04A\0T\0§\x01I\0á\x15 \0T\0H\0è¤I\0C! \0C!A\0U\0Ø\x03Ž\x01 \0Ž\x01/\x04U\0§\x01A\0Ž\x01M\0 \0H\0T\0è¤\x18\x04Ž\x01C! \0Ž\x01U\0Ø\x03I\0\x18\x04U\0 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0U\0N\0I\0Q\0U\0E\0 \0L\0E\0N\0G\0T\0H\0 \0M\0E\0A\0S\0U\0R\0E\0 \0E\0Q\0U\0A\0L\0 \0L\0I\0G\0H\0T\0 \0D\0I\0S\0T\0A\0N\0S\0E\0 \0P\0A\0S\0E\0D\0 \0I\0N\0 \0O\0W\0N\0 \0W\0A\0W\0E\0L\0E\0N\0G\0T\0H\0 \0T\0I\0M\0E\0 \0P\0E\0R\0I\0O\0D\0 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v \x1aØÓÜ\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0\x06\x04\0\x05"\x04\0\x05ý\x03\x10\x04\x1d\x04\0\x05^[\x04\x10\x04#\x04"\x04ü§\x06\x04ú\x15 \0
\x02.\x03\x10\x04\x1d\x04\x10\x04\x14\x04\x10\x05\x1e\x04ý\x03\x04\x04\x10\x04ú\x15ý\x03 \0\x1c\x04\x10\x04"\x04\x1d\x04Ž\x01\x1c\x04Ž\x01^[\x04\x04\x04 \0\x1c\x04\x06\x04\0\x05\x14\x04\x16\x04\x10\x04°§ \0ý\x03 \0\x10\x04\x1d\x04\x14\x04Ž\x01
\x02.\x03 \0\0\x05"\x04\0\x05ý\x03\x10\x04\x1d\x04\0\x05"\x04#\x04ý\x03 \0R\0\x10\x04ú\x15ý\x03 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0!\x04\x12\x04\x10\x04/\x04 \0!\x04#\x04"\x04,\x04\x1d\x04\x10\x04!\x04,\x04"\x04,\x04 \0
\x02.\x03\x15\x04\x14\x04\x1d\x04\x10\x04 \0!\x04 \0\x1a\x04\x10\x04\x16\x04\x14\x04+\x04\x1c\x04 \0-\x04^[\x04\x15\x04\x1c\x04\x15\x04\x1d\x04"\x04\x10\x04\x1c\x04 \0!\x04\x12\x04\x10\x04-\x04!\x04\x1e\x04\x17\x04\x14\x04\x10\x04\x1d\x04\x10\x04
\x02.\x03 \0\x12\x04\x06\x04 \x04"\x04#\x04\x10\x04^[\x04,\x04\x1d\x04\x10\x04!\x04,\x04"\x04,\x04\x06\x04 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0Y\0T\0I\0C!A\0U\0T\0/\x04I\0W\0 \0á\x15Ž\x01T\0A\0Ž\x01/\x04ý\x03·\x15C!Ž\x01§\x01 \0·\x15O\0 \0T\0\x18\x04Ž\x01M\0Ž\x01C!Ž\x01 \0H\0ý\x03A\0Ž\x01 \0H\0T\0I\0W\0 \0á\x15Ž\x01T\0I\0\x18\x04U\0 \0Ž\x01ý\x03\x18\x04Ž\x01§\x01Ž\x01 \0\x18\x04W\0O\0 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0O\0W\0N\0 \0E\0S\0E\0N\0C\0E\0 \0U\0N\0I\0T\0E\0D\0 \0W\0I\0T\0H\0 \0E\0A\0C\0H\0 \0E\0L\0E\0M\0E\0N\0T\0 \0O\0F\0 \0S\0E\0L\0F\0C\0R\0E\0A\0T\0E\0D\0 \0W\0I\0R\0T\0U\0A\0L\0I\0T\0Y\0 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v \x1aØÓÜ\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0\x06\x04\x1c\x04\x06\x04\0\x05\x1d\x04
\x02.\x03T¦Â\a \0\x06\x04\0\x05\x14\x04Ž\x01ú\x15 \0R\0
\x02.\x03R\0^[\x04ú\x15R\0 \0\x04\x04\x10\x04\x1d\x04\x14\x04#\x04‹\x01 \0"\x04Ž\x01R\0^[\x04ú\x15R\0 \0"\x04\x1d\x04Ž\x01\x1c\x04Ž\x01^[\x04\x04\x04 \0R\0#\x04`¦\x04\x04\x10\x04ü§\x1f\x04 \0\x1f\x04\x10\x04"\x04(\x04\x10\x04\x1c\x04 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0\x1c\x04\x10\x04(\x04"\x04\x10\x04\x1f\x04 \0\x1f\x04 \x04\x10\x04-\x04&\x04#\x04/\x04 \0-\x04^[\x04\x15\x04\x1c\x04\x15\x04\x1d\x04"\x04 \0/\x04\x12\x04^[\x04/\x04\x15\x04"\x04 \0\x11\x04#\x04\x14\x04\x1d\x04\x10\x04-\x04 \0/\x04\x12\x04^[\x04/\x04
\x02.\x03/\x04 \0\x12\x04\x15\x04\x14\x04+\x04 \0'\x04.\x04
\x02.\x03\x1d\x04+\x04\x1c\x04\x06\x04 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0Ž\x01C!ú\x15A\0C!Ž\x01Ž\x01·\x15 \0Ž\x01è¤á\x15Ž\x01C!W\0O\0\x18\x04°§ \0è¤\x18\x04I\0/\x04A\0Ž\x01ü§A\0 \0Ž\x01/\x04U\0T\0U\0û§ \0/\x04A\0Ž\x01ü§A\0 \0T\0\x18\x04Ž\x01M\0Ž\x01C!Ž\x01 \0è¤\x18\x04I\0T\0ý\x03Ž\x01\x14O\0/\x04ü§ \0Ž\x01C!A\0ý\x03§\x01 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0S\0C\0A\0L\0E\0 \0P\0R\0O\0J\0E\0C\0T\0I\0N\0G\0 \0E\0L\0E\0M\0E\0N\0T\0 \0A\0P\0E\0A\0R\0 \0F\0U\0T\0U\0R\0E\0 \0A\0P\0E\0A\0R\0I\0N\0G\0 \0K\0N\0O\0W\0L\0E\0D\0G\0E\0 \0F\0E\0E\0L\0A\0B\0L\0E\0 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v \x1aØÓÜ\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0\x06\x04\0\x05$\x04\x06\x04^[\x04¨\x10 \0\x04\x04\x06\x04\0\x05ü§"\x04Ž\x01\x1c\x04\x06\x04ý\x03 \0\x06\x04 \0\x04\x04\x06\x04\x1d\x04\x10\x04ú\x15\x10\x04ý\x03\x06\x04ü§ \0\x04\x04\x10\x04\x1d\x04\x10\x04¨\x10ü§\x1e\x04\x10\x04\x1d\x04ü§\x10\x04\x1f\x04 \0\x06\x04 \0\x14\x04\x1e\x04%\x04 \0
\x02.\x03\x06\x04\0\x05\x1f\x04\x1e\x04"\x04ý\x03\x10\x04\x1d\x04ü§\x10\x04\x1f\x04 \0"\x04T¦
\x02.\x03R\0^[\x04ú\x15R\0 \0\x06\x04\0\x05\x1d\x04\x10\x04¨\x10ü§\x1e\x04 \0\x04\x04\x06\x04\0\x05\x1d\x04"\x04#\x04ý\x03\x06\x04ü§\x1f\x04\x10\x04\x1d\x04ü§\x10\x04\x1f\x04 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0\x1f\x04\x10\x04 \x04\x1d\x04\x10\x04\x1f\x04 \x04\x06\x04!\x04#\x04"\x04\x1d\x04+\x04-\x04 \0\x1e\x04 \x04\x13\x04\x10\x04\x1d\x04+\x04 \0/\x04\x12\x04^[\x04/\x04
\x02.\x03.\x04"\x04 \0\x1f\x04\x10\x04 \x04\x1d\x04\x10\x04!\x04"\x04\x1e\x04\x1f\x04+\x04
\x02.\x03 \0%\x04\x1e\x04\x14\x04 \0\x06\x04 \0\x1f\x04\x10\x04 \x04\x1d\x04\x10\x04\x1e\x04 \x04\x13\x04\x10\x04\x1d\x04\x10\x04-\x04 \0 \x04\x06\x04!\x04\x10\x04\x12\x04\x10\x04\x1d\x04\x06\x04-\x04 \0\x06\x04 \0!\x04\x06\x04\x1c\x04\x15\x04"\x04 \x04+\x04-\x04 \0\x13\x04^[\x04\x06\x04$\x04+\x04 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0§\x01H\0ü§Y\0C!è¤ \0C!A\0ý\x03Y\0/\x04T\0Ž\x01M\0Y\0§\x01 \0á\x15\x18\x04A\0 \0è¤\x18\x04I\0W\0A\0/\x04á\x15 \0á\x15Ž\x01\x18\x04A\0è¤/\x04O\0/\x04I\0A\0ü§ \0á\x15\x18\x04A\0 \0ü§Ž\x01T\0§\x01 \0á\x15Ž\x01T\0O\0û§/\x04I\0A\0ü§ \0/\x04A\0Ž\x01ü§A\0 \0§\x01\x18\x04A\0è¤/\x04O\0 \0T\0\x18\x04Ž\x01§\x01Ž\x01/\x04ü§/\x04I\0A\0ü§ \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0P\0A\0I\0R\0P\0R\0E\0S\0E\0N\0T\0 \0O\0R\0G\0A\0N\0S\0 \0A\0P\0E\0A\0R\0 \0P\0A\0I\0R\0F\0O\0T\0E\0D\0 \0S\0T\0E\0P\0 \0A\0N\0D\0 \0P\0A\0I\0R\0O\0R\0G\0A\0N\0E\0D\0 \0D\0R\0A\0W\0I\0N\0G\0 \0A\0N\0D\0 \0S\0Y\0M\0E\0T\0R\0Y\0C\0A\0L\0 \0G\0L\0Y\0P\0H\0S\0 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0$\x04\x10\x04`¦\0\x05^[\x04\x10\x04\x1f\x04 \0#\x04ú\x15"\x04ý\x03Ž\x01'\x04\x06\x04^[\x04\x1e\x04°§ \0\x1e\x04\x1d\x04ú\x15\x10\x04ü§ \0$\x04\x10\x04"\x04\x1d\x04Ž\x01\x1c\x04#\x04ü§"\x04ý\x03\x1d\x04\x06\x04 \0%\x04\x06\x04'\x04T¦#\x04ý\x03\x06\x04ü§ \0\x1e\x04ú\x15"\x04ý\x03Ž\x01'\x04\x06\x04^[\x04\x1e\x04°§ \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0\x1a\x04\x1e\x04^[\x04\x06\x04'\x04\x15\x04!\x04"\x04\x12\x04\x1e\x04 \0 \x04\x06\x04!\x04#\x04.\x04'\x04\x06\x04%\x04 \0\x06\x04\x1d\x04!\x04"\x04 \x04#\x04\x1c\x04\x15\x04\x1d\x04"\x04\x10\x04$\x04 \0 \x04\x10\x04\x12\x04\x1d\x04\x1e\x04 \0\x1a\x04\x1e\x04^[\x04\x06\x04'\x04\x15\x04!\x04"\x04\x12\x04#\x04 \0\x1f\x04\x10\x04^[\x04,\x04&\x04\x10\x04$\x04 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0Y\0T\0I\0T\0\x18\x04A\0U\0Ø\x03 \0/\x04Ž\x01è¤\x18\x04I\0û§ \0C!A\0U\0Ø\x03Ž\x01 \0Y\0T\0I\0T\0\x18\x04A\0U\0Ø\x03 \0T\0\x18\x04Ž\x01M\0U\0/\x04T\0§\x01\x18\x04I\0 \0è¤\x18\x04I\0W\0A\0/\x04á\x15 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0D\0R\0A\0W\0I\0N\0G\0 \0I\0N\0S\0T\0R\0U\0M\0E\0N\0T\0 \0Q\0U\0A\0N\0T\0I\0T\0Y\0 \0E\0Q\0U\0A\0L\0 \0F\0I\0N\0G\0E\0R\0 \0Q\0U\0A\0N\0T\0I\0T\0Y\0 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v š"\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0\x10\x04"\x04\x1d\x04Ž\x01\x1c\x04#\x04ü§"\x04ý\x03\x1d\x04\x06\x04 \0\x10\x04ú\x15Ž\x01)\x04T¦
\x02.\x03\x10\x04\x14\x04\x10\x05\x10\x04ý\x03 \0\x06\x04\0\x05"\x04\0\x05ý\x03\x10\x04\x1d\x04ü§Ž\x01\x1c\x04 \0\x10\x04\x1d\x04ú\x15\x10\x04ü§ \0\x10\x04$\x04\x06\x04^[\x04¨\x10 \0\0\x05"\x04\0\x05ý\x03\x10\x04\x1d\x04ü§Ž\x01\x1c\x04 \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0\x1c\x04\x15\x04 \x04\x1d\x04\x10\x04!\x04,\x04"\x04,\x04 \0\x13\x04^[\x04\x06\x04$\x04\x10\x04 \0 \x04\x10\x04\x12\x04\x1d\x04\x10\x04 \0\x1c\x04\x15\x04 \x04\x1d\x04\x10\x04!\x04,\x04"\x04,\x04\x06\x04 \0!\x04\x10\x04\x17\x04\x14\x04\x10\x04
\x02.\x03.\x04)\x04\x15\x04\x12\x04\x10\x04 \0\x06\x04\x1d\x04!\x04"\x04 \x04#\x04\x1c\x04\x15\x04\x1d\x04"\x04\x10\x04 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0\x18\x04O\0I\0T\0\x18\x04Ž\x01M\0I\0á\x15 \0T\0\x18\x04Ž\x01M\0U\0/\x04T\0§\x01\x18\x04I\0 \0\x18\x04O\0I\0T\0A\0Ž\x01/\x04ý\x03 \0C!A\0U\0Ø\x03Ž\x01 \0\x18\x04O\0I\0T\0\x18\x04Ž\x01M\0I\0á\x15 \0H\0ü§Y\0C!è¤ \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0G\0L\0Y\0P\0H\0 \0D\0I\0M\0E\0N\0T\0I\0O\0N\0 \0E\0Q\0U\0A\0L\0 \0C\0R\0E\0A\0T\0I\0O\0N\0 \0I\0N\0S\0T\0R\0U\0M\0E\0N\0T\0 \0D\0I\0M\0E\0N\0T\0I\0O\0N\0 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v \x1aØÓÜ\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0\x10\x04"\x04\x10\x04ü§\x10\x04\x1f\x04\x10\x04 \0\x10\x04ú\x15\x1e\x04ú\x15Ž\x01'\x04Ž\x01ü§ \0\x1c\x04Ž\x01%\x04†\x01 \0#\x04ú\x15"\x04ý\x03Ž\x01'\x04\x06\x04^[\x04\x1e\x04°§ \0\x1e\x04\x1d\x04ú\x15\x10\x04ü§ \0
\x02.\x03\x06\x04†\x01\x1e\x04^[\x04\x1e\x04£\x14 \0\x1e\x04ú\x15"\x04ý\x03Ž\x01'\x04\x06\x04^[\x04\x1e\x04°§ \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0\x1a\x04\x1e\x04^[\x04\x06\x04'\x04\x15\x04!\x04"\x04\x12\x04\x1e\x04 \0\x13\x04\x1e\x04^[\x04\x1e\x04!\x04\x06\x04
\x02.\x03 \0 \x04\x10\x04\x12\x04\x1d\x04\x1e\x04 \0\x1a\x04\x1e\x04^[\x04\x06\x04'\x04\x15\x04!\x04"\x04\x12\x04#\x04 \0!\x04%\x04\x15\x04\x1c\x04 \0 \x04\x15\x04'\x04\x15\x04\x12\x04\x1e\x04\x12\x04\x10\x04 \0\x10\x04\x1f\x04\x10\x04 \x04\x10\x04"\x04\x10\x04 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\v \x01 \v n¦æ%f\væ%ï%æ%f\væ%\x1aØàÜ \0Y\0T\0I\0T\0\x18\x04A\0U\0Ø\x03 \0Ž\x01M\0Ž\x01H\0ý\x03§\x01 \0T\0A\0/\x04A\0ü§A\0 \0H\0ý\x03Ž\x01ü§§\x01 \0C!A\0U\0Ø\x03Ž\x01 \0Y\0T\0I\0T\0\x18\x04A\0U\0Ø\x03 \0Ž\x01è¤A\0U\0è¤\x18\x04A\0C! \0\x1aØàÜÀ\x1c\x1aØŒÜ\x02ØþÝh\x13T-‰§-.K'T-T-\x02ØþÝK'K'T-K'·\0\x02ØþÝK'K'9¥\x02ØþÝK'T-\x02ØþÝK'‰§T-T-T-·\0\x02ØþÝT-‰§\x02ØþÝT-h\x13·\0·\0\x02ØþÝ\x02ØþÝK'K'?(h\x13T-9¥T-X -.\x02ØþÝ\x02ØþÝK'-.6"6"T-?(T-X Ì%X K'\x1aØUÝæ%f\væ%ï%æ%f\væ%4دÝ\v \x01 \v 4Ø¯Ýæ%f\væ%ï%æ%f\væ%\x1aØUÝK'X Ì%X T-?(T-6"6"-.K'\x02ØþÝ\x02ØþÝ-.X T-9¥T-h\x13?(K'K'\x02ØþÝ\x02ØþÝ·\0·\0h\x13T-\x02Øþ݉§T-\x02ØþÝ·\0T-T-T-‰§K'\x02ØþÝT-K'\x02ØþÝ9¥K'K'\x02ØþÝ·\0K'T-K'K'\x02ØþÝT-T-K'-.‰§T-h\x13\x02ØþÝ\x1aØŒÜÀ\x1c\x1aØàÜ \0L\0A\0N\0G\0U\0A\0G\0E\0 \0Q\0U\0A\0N\0T\0I\0T\0Y\0 \0E\0Q\0U\0A\0L\0 \0S\0P\0E\0C\0H\0 \0A\0P\0A\0R\0A\0T\0 \0S\0C\0H\0E\0M\0E\0 \0Q\0U\0A\0N\0T\0I\0T\0Y\0 \0\x1aØàÜæ%f\væ%ï%æ%f\væ%n¦\v \x01 \v \r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(\r\0
\0\0(

[-- Attachment #13: ꓨИꟼ.⠀⊚◦୦◦◯◦୦◦𞢨𖢌ꖅ🟗Ⓞ🟗ꖅ𖢌𖢄·Ȋ̮·∣❁∣◇ꖅ⧲ꖅ◇∣❁∣·Ȋ̮·𖢄𖢌ꖅ🟗Ⓞ🟗ꖅ𖢌⚪🅯⚪𖢌ꖅ🟗Ⓞ🟗ꖅ𖢌𖢄·Ȋ̮·∣❁∣◇ꖅ⧲ꖅ◇∣❁∣·Ȋ̮·𖢄𖢌ꖅ🟗Ⓞ🟗ꖅ𖢌𞢨◦୦◦◯◦୦◦⊚⠀⊚◦୦◦◯◦୦◦𞢨𖢌ꖅ🟗Ⓞ🟗ꖅ𖢌𖢄·Ȋ̮·∣❁∣◇ꖅ⧲ꖅ◇∣❁∣·Ȋ̮·𖢄𖢌ꖅ🟗Ⓞ🟗ꖅ𖢌⚪🅯⚪𖢌ꖅ🟗Ⓞ🟗ꖅ𖢌𖢄·Ȋ̮·∣❁∣◇ꖅ⧲ꖅ◇∣❁∣·Ȋ̮·𖢄𖢌ꖅ🟗Ⓞ🟗ꖅ𖢌𞢨◦୦◦◯◦୦◦⊚⠀.PNG --]
[-- Type: image/png, Size: 248587 bytes --]

[-- Attachment #14: ꓨИꟼ..𖢌.. 𓇬◦୦◦◯◦୦◦𞢨ꖅ⦻✢⦻ꖅ𖢄𖢌𐫱⊞✢ⵙⰙⵙ✢⊞𐫱𖢌𖢄ⓄⓄⓄⓄⵔⵔⵔⵔⵔⵔⵔⵔⓄⓄⓄⓄ𖢄𖢌𐫱⊞✢ⵙⰙⵙ✢⊞𐫱𖢌𖢄ꖅ⦻✢⦻ꖅ𞢨◦୦◦◯◦୦◦𓇬 𓇬◦୦◦◯◦୦◦𞢨ꖅ⦻✢⦻ꖅ𖢄𖢌𐫱⊞✢ⵙⰙⵙ✢⊞𐫱𖢌𖢄ⓄⓄⓄⓄⵔⵔⵔⵔⵔⵔⵔⵔⓄⓄⓄⓄ𖢄𖢌𐫱⊞✢ⵙⰙⵙ✢⊞𐫱𖢌𖢄ꖅ⦻✢⦻ꖅ𞢨◦୦◦◯◦୦◦𓇬 ..𖢌..PNG --]
[-- Type: image/png, Size: 2370157 bytes --]

^ permalink raw reply

* [PATCH v2 2/2] docs: checkpatch: Drop networking comment style
From: Brian Norris @ 2025-10-17 20:37 UTC (permalink / raw)
  To: Dwaipayan Ray, Lukas Bulwahn, Jonathan Corbet
  Cc: linux-doc, linux-kernel, Joe Perches, Randy Dunlap, workflows,
	Brian Norris
In-Reply-To: <20251017203719.1554224-1-briannorris@chromium.org>

Networking no longer has their own comment style, and checkpatch no
longer checks for this.

Signed-off-by: Brian Norris <briannorris@chromium.org>
Suggested-by: Randy Dunlap <rdunlap@infradead.org>
---

Changes in v2:
 * new in v2

 Documentation/dev-tools/checkpatch.rst | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/Documentation/dev-tools/checkpatch.rst b/Documentation/dev-tools/checkpatch.rst
index d7fe023b3080..dfaad0a279ff 100644
--- a/Documentation/dev-tools/checkpatch.rst
+++ b/Documentation/dev-tools/checkpatch.rst
@@ -465,13 +465,6 @@ Comments
        * for multi line comments.
        */
 
-    The networking comment style is a bit different, with the first line
-    not empty like the former::
-
-      /* This is the preferred comment style
-       * for files in net/ and drivers/net/
-       */
-
     See: https://www.kernel.org/doc/html/latest/process/coding-style.html#commenting
 
   **C99_COMMENTS**
-- 
2.51.0.858.gf9c4a03a3a-goog


^ permalink raw reply related

* [PATCH v2 1/2] docs: checkpatch: Align block comment style
From: Brian Norris @ 2025-10-17 20:37 UTC (permalink / raw)
  To: Dwaipayan Ray, Lukas Bulwahn, Jonathan Corbet
  Cc: linux-doc, linux-kernel, Joe Perches, Randy Dunlap, workflows,
	Brian Norris

Ironically, the block style comments in the checkpatch documentation are
not aligned properly. Correct that.

Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
---

Changes in v2:
 * Add Randy's Reviewed/Tested-by

 Documentation/dev-tools/checkpatch.rst | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/Documentation/dev-tools/checkpatch.rst b/Documentation/dev-tools/checkpatch.rst
index d5c47e560324..d7fe023b3080 100644
--- a/Documentation/dev-tools/checkpatch.rst
+++ b/Documentation/dev-tools/checkpatch.rst
@@ -461,16 +461,16 @@ Comments
     line comments is::
 
       /*
-      * This is the preferred style
-      * for multi line comments.
-      */
+       * This is the preferred style
+       * for multi line comments.
+       */
 
     The networking comment style is a bit different, with the first line
     not empty like the former::
 
       /* This is the preferred comment style
-      * for files in net/ and drivers/net/
-      */
+       * for files in net/ and drivers/net/
+       */
 
     See: https://www.kernel.org/doc/html/latest/process/coding-style.html#commenting
 
-- 
2.51.0.858.gf9c4a03a3a-goog


^ permalink raw reply related

* Re: [PATCH] docs: checkpatch: Align block comment style
From: Randy Dunlap @ 2025-10-17 19:39 UTC (permalink / raw)
  To: Brian Norris, Dwaipayan Ray, Lukas Bulwahn, Jonathan Corbet
  Cc: workflows, linux-kernel, linux-doc, Joe Perches
In-Reply-To: <20251017180225.1489398-1-briannorris@chromium.org>



On 10/17/25 11:02 AM, Brian Norris wrote:
> Ironically, the block style comments in the checkpatch documentation are
> not aligned properly. Correct that.
> 
> Signed-off-by: Brian Norris <briannorris@chromium.org>

Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>

However, I would just remove the entire second comment block and
its lead-in comment.
Networking no longer has its own comment style and it looks like
checkpatch no longer checks for that.


> ---
> 
>  Documentation/dev-tools/checkpatch.rst | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/Documentation/dev-tools/checkpatch.rst b/Documentation/dev-tools/checkpatch.rst
> index d5c47e560324..d7fe023b3080 100644
> --- a/Documentation/dev-tools/checkpatch.rst
> +++ b/Documentation/dev-tools/checkpatch.rst
> @@ -461,16 +461,16 @@ Comments
>      line comments is::
>  
>        /*
> -      * This is the preferred style
> -      * for multi line comments.
> -      */
> +       * This is the preferred style
> +       * for multi line comments.
> +       */
>  
>      The networking comment style is a bit different, with the first line
>      not empty like the former::
>  
>        /* This is the preferred comment style
> -      * for files in net/ and drivers/net/
> -      */
> +       * for files in net/ and drivers/net/
> +       */
>  
>      See: https://www.kernel.org/doc/html/latest/process/coding-style.html#commenting
>  

-- 
~Randy

^ permalink raw reply

* [PATCH] docs: checkpatch: Align block comment style
From: Brian Norris @ 2025-10-17 18:02 UTC (permalink / raw)
  To: Dwaipayan Ray, Lukas Bulwahn, Jonathan Corbet
  Cc: workflows, linux-kernel, linux-doc, Joe Perches, Brian Norris

Ironically, the block style comments in the checkpatch documentation are
not aligned properly. Correct that.

Signed-off-by: Brian Norris <briannorris@chromium.org>
---

 Documentation/dev-tools/checkpatch.rst | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/Documentation/dev-tools/checkpatch.rst b/Documentation/dev-tools/checkpatch.rst
index d5c47e560324..d7fe023b3080 100644
--- a/Documentation/dev-tools/checkpatch.rst
+++ b/Documentation/dev-tools/checkpatch.rst
@@ -461,16 +461,16 @@ Comments
     line comments is::
 
       /*
-      * This is the preferred style
-      * for multi line comments.
-      */
+       * This is the preferred style
+       * for multi line comments.
+       */
 
     The networking comment style is a bit different, with the first line
     not empty like the former::
 
       /* This is the preferred comment style
-      * for files in net/ and drivers/net/
-      */
+       * for files in net/ and drivers/net/
+       */
 
     See: https://www.kernel.org/doc/html/latest/process/coding-style.html#commenting
 
-- 
2.51.0.858.gf9c4a03a3a-goog


^ permalink raw reply related

* Re: [PATCH] Documentation: kunit: Fix kunit_device_register() example
From: David Gow @ 2025-10-17  5:28 UTC (permalink / raw)
  To: Robin Murphy
  Cc: brendan.higgins, corbet, rmoar, linux-kselftest, kunit-dev,
	linux-doc, workflows
In-Reply-To: <dbc6ec47-78a7-45bc-8df3-4f009731d302@arm.com>

[-- Attachment #1: Type: text/plain, Size: 3473 bytes --]

Hi Robin,

On Fri, 17 Oct 2025 at 01:45, Robin Murphy <robin.murphy@arm.com> wrote:
>
> On 2025-10-15 2:46 pm, Robin Murphy wrote:
> > kunit_device_register() only returns error pointers, not NULL.
> > Furthermore for regular users who aren't testing the KUnit API
> > itself, errors most likely represent major system failure (e.g. OOM
> > or sysfs collision) beyond the scope of their own test conditions.
> > Replace the assert with straightforward error handling for clarity.
> >
> > Signed-off-by: Robin Murphy <robin.murphy@arm.com>
> > ---
> > This seemed the logical conclusion by inspection, but please do correct
> > me if I've misunderstood the intent...
> > ---
> >   Documentation/dev-tools/kunit/usage.rst | 3 ++-
> >   1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/dev-tools/kunit/usage.rst b/Documentation/dev-tools/kunit/usage.rst
> > index 038f480074fd..3452c739dd44 100644
> > --- a/Documentation/dev-tools/kunit/usage.rst
> > +++ b/Documentation/dev-tools/kunit/usage.rst
> > @@ -873,7 +873,8 @@ For example:
> >
> >               // Create a fake device.
> >               fake_device = kunit_device_register(test, "my_device");
> > -             KUNIT_ASSERT_NOT_ERR_OR_NULL(test, fake_device)
> > +             if (IS_ERR(fake_device))
> > +                     return;
>
> On further consideration, I guess kunit_skip() (as used in various other
> places) is actually what I want here?
>
> Basically, as someone looking at KUnit with fresh eyes it seems
> intuitive to me that not being able to run a test case is a not a
> failure of the thing being tested, so shouldn't be reported as such, and
> thus this example stood out. I for one wouldn't want to be getting CI
> notifications to go and debug a "regression" in my code just because a
> runner OOM'd, for example :)

Ultimately, I think this is up to the individual test author -- in
many cases, I think failing to create a device (for any reason) should
be considered a test failure. Certainly this is the pattern which
exists in most tests thus far. In general, KUNIT_ASSERT_* is used to
verify these sorts of failures (after which the test cannot continue).

That being said, I definitely think you'd need to use at least
kunit_skip() -- with a good message -- if you wanted to split
"infrastructure failures" out: having a test marked "success" in
situations where it couldn't run properly (as in the original patch)
would be even more misleading. kunit_skip() is definitely used to skip
tests if prerequisites aren't found, but this tends to be done at the
start of the test with deterministic, known-in-advance requirements
(e.g number of processors available), rather than in response to an
OOM situation. (And, realistically, if the system is so memory
constrained that we're getting OOMs here, chances are you'll want to
know about it and re-run the tests anyway.

Regardless, I'd prefer to keep the example in the documentation as-is:
KUNIT_ASSERT* will correctly exit the test and clean up in this case,
whereas manually writing the IS_ERR/return bit is a bit more
contingent on this not being in an init/helper/etc function.

But separating "test failures" from "infrastructure failures" is a
good idea in general, and our current splitting things up into
"failed", "skipped", and "crashed" (used by the tooling for cases
where the kernel dies without outputting the result) is clearly not
ideal for these OOM-adjacent cases.

Cheers,
-- David

[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 5281 bytes --]

^ permalink raw reply

* Re: [PATCH] Documentation: kunit: Fix kunit_device_register() example
From: Robin Murphy @ 2025-10-16 17:44 UTC (permalink / raw)
  To: brendan.higgins, davidgow, corbet
  Cc: rmoar, linux-kselftest, kunit-dev, linux-doc, workflows
In-Reply-To: <766a96de401a2c4361867144567bbc31edcf1a9e.1760535996.git.robin.murphy@arm.com>

On 2025-10-15 2:46 pm, Robin Murphy wrote:
> kunit_device_register() only returns error pointers, not NULL.
> Furthermore for regular users who aren't testing the KUnit API
> itself, errors most likely represent major system failure (e.g. OOM
> or sysfs collision) beyond the scope of their own test conditions.
> Replace the assert with straightforward error handling for clarity.
> 
> Signed-off-by: Robin Murphy <robin.murphy@arm.com>
> ---
> This seemed the logical conclusion by inspection, but please do correct
> me if I've misunderstood the intent...
> ---
>   Documentation/dev-tools/kunit/usage.rst | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/dev-tools/kunit/usage.rst b/Documentation/dev-tools/kunit/usage.rst
> index 038f480074fd..3452c739dd44 100644
> --- a/Documentation/dev-tools/kunit/usage.rst
> +++ b/Documentation/dev-tools/kunit/usage.rst
> @@ -873,7 +873,8 @@ For example:
>   
>   		// Create a fake device.
>   		fake_device = kunit_device_register(test, "my_device");
> -		KUNIT_ASSERT_NOT_ERR_OR_NULL(test, fake_device)
> +		if (IS_ERR(fake_device))
> +			return;

On further consideration, I guess kunit_skip() (as used in various other 
places) is actually what I want here?

Basically, as someone looking at KUnit with fresh eyes it seems 
intuitive to me that not being able to run a test case is a not a 
failure of the thing being tested, so shouldn't be reported as such, and 
thus this example stood out. I for one wouldn't want to be getting CI 
notifications to go and debug a "regression" in my code just because a 
runner OOM'd, for example :)

Thanks,
Robin.
  >
>   		// Pass it to functions which need a device.
>   		dev_managed_string = devm_kstrdup(fake_device, "Hello, World!");


^ permalink raw reply

* [PATCH] Documentation: kunit: Fix kunit_device_register() example
From: Robin Murphy @ 2025-10-15 13:46 UTC (permalink / raw)
  To: brendan.higgins, davidgow, corbet
  Cc: rmoar, linux-kselftest, kunit-dev, linux-doc, workflows

kunit_device_register() only returns error pointers, not NULL.
Furthermore for regular users who aren't testing the KUnit API
itself, errors most likely represent major system failure (e.g. OOM
or sysfs collision) beyond the scope of their own test conditions.
Replace the assert with straightforward error handling for clarity.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
---
This seemed the logical conclusion by inspection, but please do correct
me if I've misunderstood the intent...
---
 Documentation/dev-tools/kunit/usage.rst | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Documentation/dev-tools/kunit/usage.rst b/Documentation/dev-tools/kunit/usage.rst
index 038f480074fd..3452c739dd44 100644
--- a/Documentation/dev-tools/kunit/usage.rst
+++ b/Documentation/dev-tools/kunit/usage.rst
@@ -873,7 +873,8 @@ For example:
 
 		// Create a fake device.
 		fake_device = kunit_device_register(test, "my_device");
-		KUNIT_ASSERT_NOT_ERR_OR_NULL(test, fake_device)
+		if (IS_ERR(fake_device))
+			return;
 
 		// Pass it to functions which need a device.
 		dev_managed_string = devm_kstrdup(fake_device, "Hello, World!");
-- 
2.34.1


^ permalink raw reply related

* Re: [PATCH 3/3] mbox: Add a --add-link-note option to shazam
From: dan.j.williams @ 2025-10-14 18:28 UTC (permalink / raw)
  To: Dan Williams, konstantin; +Cc: ksummit, workflows
In-Reply-To: <20251014071530.3665691-4-dan.j.williams@intel.com>

Dan Williams wrote:
> While the Link: tag is disruptive to some top-level maintainer workflows
> [1], it is also useful to a significant number of developers and subsystem
> maintainers.
> 
> It is also the case that dynamic patch-id lookup [2] is an incomplete
> replacement for having the submission Link: trailer readily available.
> Specifically, navigating to a patch on gitweb or displaying the patch in
> the local developer tree it is convenient to have the metadata inline.
> 
> A method to have that metadata available without polluting upstream is to
> keep git notes locally.
> 
> Add a new option to shazam that annotates newly applied commits with the
> Link: trailer of the submission. Honor the b4.linkmask option to use the
> preferred namespace (patch.msgid.link) for these links.
> 
> Note: Claude Sonnet 4 was used to help early drafts of this patch, but all
> submitted lines are authored by me or copied from other parts of b4.
> 
> Link: http://lore.kernel.org/CAHk-=whP2zoFm+-EmgQ69-00cxM5jgoEGWyAYVQ8bQYFbb2j=Q@mail.gmail.com [1]
> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
> ---
>  src/b4/command.py |  2 ++
>  src/b4/mbox.py    | 58 +++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 60 insertions(+)
[..]
> diff --git a/src/b4/mbox.py b/src/b4/mbox.py
> index 8810ddd71b21..9479b8995019 100644
> --- a/src/b4/mbox.py
> +++ b/src/b4/mbox.py
[..]
> @@ -547,6 +552,59 @@ def thanks_record_am(lser: b4.LoreSeries, cherrypick: Optional[List[int]]) -> No
[..]
> +def shazam_notes(gitdir: Optional[str], lser: 'b4.LoreSeries', branch: str) -> None:
> +    """Match commits to LoreMessages using git patch-id and emit debug info for later git notes processing."""

Whoops, this stale comment is from a work-in-progress debug build.

^ permalink raw reply

* Re: [RFC PATCH 1/1] kbuild: add Makefile.container with CONTAINER option
From: Miguel Ojeda @ 2025-10-14 15:42 UTC (permalink / raw)
  To: Guillaume Tucker
  Cc: Nathan Chancellor, Nicolas Schier, Miguel Ojeda, rust-for-linux,
	linux-kbuild, linux-kernel, automated-testing, Arnd Bergmann,
	workflows, llvm, David Gow, Rae Moar, Shuah Khan
In-Reply-To: <fe53ad80-6eeb-495a-a870-9c42b71f9887@gtucker.io>

On Tue, Oct 14, 2025 at 4:31 PM Guillaume Tucker <gtucker@gtucker.io> wrote:
>
> This is what the CONTAINER_COMMAND variable is for.  You can easily
> set it in the environment e.g. `export CONTAINER_COMMAND=podman` or
> anything and be done with it.  The default is set to `docker`.

Yeah, that is what I mean, i.e. you have to more variables to make it
do what you want.

At that point, a user could also equally set up an alias or a quick
one liner script to call the real command with whatever setup they
need. That would be more flexible too with essentially the same
complexity on their side.

> As
> far as I know, there's no need for anything else than the container
> command and image name.  So it's not more hard-coded than say, the
> default $(CC) executable.

There is the `src` path there, no? e.g. I use upstream distro images
to test some builds.

> Then I was only suggesting using a minimalist alias e.g.:
>
>      alias kmake='make -f scripts/Makefile.container'

Yeah, what I was trying to say is that, at that point, you can just
have an alias (or a one liner script etc.) for the real command.

The user still needs to know how to use Docker/Podman/... anyway, i.e.
I would see the benefit if somehow this was the only command they
would need or if this handled some extra logic.

> hand with a volume and then run make inside.  It reduces the scope
> for differences and makes builds more reproducible, for example you
> can just share your command line and others will be using the exact
> same toolchain and build environment as you.  This is also to enable
> developers to easily reproduce builds from CI bots.  It's been one of
> the driving principles behind tuxmake except I'm looking at it from a
> neutral point of view here.  In other words, it's a step towards
> increasing quality control upstream.

Definitely, I am not saying containers are a bad idea (I use them
myself), i.e. I am only talking about what is the best way to provide
this (e.g. documentation, a script, this new file, directly in the
main `Makefile`...).

> A related topic which was covered at Plumbers is to have first-party
> container images, with Containerfiles maintained upstream to
> facilitate using the kernel.org toolchains.  It's not a requirement
> for this patch but both ideas enhance each other.

kernel.org images would be nice, indeed.

> Yes, I did think of writing a documentation page alongside this patch
> but eventually made the RFC with a cover letter instead to keep it
> more as an open discussion.  Any solution to run containerized builds
> would need to be documented, even if they're trivial to use.  I think
> the Makefile approach is the most elegant one but if others aren't
> convinced by it then starting with just some documentation might help
> getting to the bottom of this and decide what to do next.

Yeah, docs would be nice regardless of the way of wrapping it.

> Right but then I think we would have to deal with the variables
> handled by `make` which can be passed either via the environment or
> on the command line, so that's similar to the issues with an alias.

The script may be more involved, i.e. similar to the KUnit one, but
then you also gain the ability to provide more functionality/logic.

Say, for instance, the ability to test with a set of container images
that you define in the config file, to run certain things with the
built kernel (possibly in another container), and so on and so forth.

> We could do something like with Android builds (build/envsetup.sh)
> with a file to source:
>
>      . scripts/containerize
>      m CONTAINER=korg-clang:21 defconfig
>
> where `m` is just an arbitrary alias name obviously :)

Personally, for a new script, I would use a normal `--flags` like
interface, and leave the Make-like one if one wants to pass the actual
Make ones. I would also allow the user to define a default image too
in their config file too, and things like that.

In other words, the idea is that you can actually easily use it
without typing a lot, e.g.

    scripts/container b defconfig

(Possibly aliasing `scripts/container` itself to something shorter locally)

Or even more high-level operations like the "build with my set of
toolchain images", "build patch by patch this range of commits inside
the container", etc.

But I know this may be way out of scope :) After all, it gets into the
realm of essentially a lot of the custom tooling/scripts that
different subsystems build for themselves over time.

In fact, another possibility to think about is generalizing the
existing KUnit one to support containers.

> Thank you for your feedback.  I can spend some time investigating
> alternative approaches if they seem worthwhile.  I'd be interested to
> know what others think of this too.

You're welcome! I hope that helped at least.

Cc'ing David/Rae/Shuah as well for the KUnit bits.

Cheers,
Miguel

^ permalink raw reply

* Re: [PATCH v2] Documentation: process: Arbitrarily bump kernel major version number
From: Jonathan Corbet @ 2025-10-14 15:15 UTC (permalink / raw)
  To: Bagas Sanjaya, Linux Kernel Mailing List, Linux Documentation,
	Linux Kernel Workflows
  Cc: Dante Strock, Randy Dunlap, Bagas Sanjaya
In-Reply-To: <20250922074219.26241-1-bagasdotme@gmail.com>

Bagas Sanjaya <bagasdotme@gmail.com> writes:

> The big picture section of 2.Process.rst currently hardcodes major
> version number to 5 since fb0e0ffe7fc8e0 ("Documentation: bring process
> docs up to date"). As it can get outdated when it is actually
> incremented (the recent is 6 and will be 7 in the near future),
> arbitrarily bump it to 9, giving a headroom for a decade.
>
> Note that the version number examples are kept to illustrate the
> numbering scheme.
>
> Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>

I made a minor tweak to make it clear that 9.x is an example; applied,
thanks.

jon

^ permalink raw reply

* Re: [RFC PATCH 1/1] kbuild: add Makefile.container with CONTAINER option
From: Guillaume Tucker @ 2025-10-14 14:42 UTC (permalink / raw)
  To: Onur Özkan, Miguel Ojeda
  Cc: Nathan Chancellor, Nicolas Schier, Miguel Ojeda, rust-for-linux,
	linux-kbuild, linux-kernel, automated-testing, Arnd Bergmann,
	workflows, llvm
In-Reply-To: <20251014170842.2fc00c88@nimda.home>

Hi Onur,

On 14/10/2025 4:08 pm, Onur Özkan wrote:
> On Tue, 14 Oct 2025 13:58:10 +0200
> Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> wrote:
> 
>> On Tue, Oct 14, 2025 at 11:45 AM Guillaume Tucker
>> <gtucker@gtucker.io> wrote:
>>>
>>> Add scripts/Makefile.container to wrap the make command in a
>>> container using the CONTAINER= variable to specify the image name.
>>> For example:
>>>
>>>      make -f scripts/Makefile.container CONTAINER=korg-gcc defconfig
>>>
>>> The container image name is entirely arbitrary and the container
>>> tool may be Docker, Podman or any other compatible alternative
>>> specified by the CONTAINER_COMMAND variable.  The default is set to
>>> docker for now.
>>
>> IIUC, this wraps reruns `make` inside the container, but it means
>> hardcoding a particular tool and path, right? (unless one sets even
>> more variables)
>>
>> The cover letter says one can create an alias for this, but one could
>> also do that for the underlying call anyway, unless I am missing
>> something. And if we do this, then I would prefer one doesn't need to
>> type `-f ...`.
>>
>> Put another way, for a user, what is the benefit of having this extra
>> way of running in a container? For instance, I could see the benefit
>> if different tools had different flags or it was a complicated
>> procedure, but I think at least `podman` shares the flags used here.
>>
>> Should this instead be a document inside `Documentation/` somewhere
>> that explains how to do this, pitfalls, advanced options, etc. and
>> give example command lines for different tools?
>>
>> If we do end up with `CONTAINER=`, then I think it should make it work
>> without having to pass `-f ...`, to make it easier. Or, even better,
>> like the KUnit script, we could have a script that does the right
>> thing and reads a config from the user, so that one can just type
>> something like, picking whatever tooling the user configured (e.g.
>> Docker vs. Podman, default image, etc.):
>>
>>      scripts/container.py defconfig
>>
> 
> I think this functionality would be better implemented as a script
> (like you mentioned) rather than a Makefile. The current approach is
> likely to run into several practical issues (e.g. file permission
> mismatches between host and container, the need to manually remove
> containers with `docker rm`, etc.) and addressing all of these
> reliably in Makefile can become quite messy. Writing a python (or even
> perl) script would make it much easier to maintain. Also, it can be
> self-documented quite nicely with `scripts/container.py --help` command.

Our emails have crossed - OK I'll take a look into this.  I fear a
script is actually going to be more difficult to maintain and will
require additional dependencies on the host i.e. Python.  But like I
wrote in my previous email, I'm happy to consider some alternatives
and see if we can find a consensus.

The issue with file ownership can be addressed with user id mapping
in principle.  Garbage collecting containers is not something I've
looked into as it's not a new problem compared to starting containers
explicitly.  I'll keep these things in mind too when comparing
solutions.

Thanks,
Guillaume

^ permalink raw reply

* Re: [RFC PATCH 1/1] kbuild: add Makefile.container with CONTAINER option
From: Guillaume Tucker @ 2025-10-14 14:31 UTC (permalink / raw)
  To: Miguel Ojeda
  Cc: Nathan Chancellor, Nicolas Schier, Miguel Ojeda, rust-for-linux,
	linux-kbuild, linux-kernel, automated-testing, Arnd Bergmann,
	workflows, llvm
In-Reply-To: <CANiq72nVxPY8xB9xEnkZ=zNFh0EfQvaMAPH4ygRr-yEwpK=OWg@mail.gmail.com>

Hi Miguel,

On 14/10/2025 1:58 pm, Miguel Ojeda wrote:
> On Tue, Oct 14, 2025 at 11:45 AM Guillaume Tucker <gtucker@gtucker.io> wrote:
>>
>> Add scripts/Makefile.container to wrap the make command in a container
>> using the CONTAINER= variable to specify the image name.  For example:
>>
>>      make -f scripts/Makefile.container CONTAINER=korg-gcc defconfig
>>
>> The container image name is entirely arbitrary and the container tool
>> may be Docker, Podman or any other compatible alternative specified by
>> the CONTAINER_COMMAND variable.  The default is set to docker for now.
> 
> IIUC, this wraps reruns `make` inside the container, but it means
> hardcoding a particular tool and path, right? (unless one sets even
> more variables)

This is what the CONTAINER_COMMAND variable is for.  You can easily
set it in the environment e.g. `export CONTAINER_COMMAND=podman` or
anything and be done with it.  The default is set to `docker`.  As
far as I know, there's no need for anything else than the container
command and image name.  So it's not more hard-coded than say, the
default $(CC) executable.

> The cover letter says one can create an alias for this, but one could
> also do that for the underlying call anyway, unless I am missing
> something. And if we do this, then I would prefer one doesn't need to
> type `-f ...`.

Yes having to specify the path to the Makefile is an extra hurdle.  As 
the cover letter mentions, the first patch I made was in the top-level 
Makefile[1].

The issue here is that it means that all regular `make` commands
would be going through the `else` branch within a make sub-process
and I wasn't too comfortable with this.  There's every chance that
someone, somewhere is using a particular make version or environment
that will cause subtle differences, or mess things up for someone
keeping an eye on the steps taken by a build.  I couldn't figure out
a way of doing this with zero impact except than having a separate
Makefile and let people decide to opt-in when they want containers.

Then I was only suggesting using a minimalist alias e.g.:

     alias kmake='make -f scripts/Makefile.container'

which would appear to work just like in the original patch.

Defining an alias to run a build inside a container is a lot more
fragile, here it's using standard `make` variables such as $(MAKE),
$(MAKEFLAGS) etc. to keep the commands entirely compatible.

> Put another way, for a user, what is the benefit of having this extra
> way of running in a container? For instance, I could see the benefit
> if different tools had different flags or it was a complicated
> procedure, but I think at least `podman` shares the flags used here.

The advantage here is that it's easier to define your CONTAINER
variable and run make as usual than start an interactive container by
hand with a volume and then run make inside.  It reduces the scope
for differences and makes builds more reproducible, for example you
can just share your command line and others will be using the exact
same toolchain and build environment as you.  This is also to enable
developers to easily reproduce builds from CI bots.  It's been one of
the driving principles behind tuxmake except I'm looking at it from a
neutral point of view here.  In other words, it's a step towards
increasing quality control upstream.

A related topic which was covered at Plumbers is to have first-party
container images, with Containerfiles maintained upstream to
facilitate using the kernel.org toolchains.  It's not a requirement
for this patch but both ideas enhance each other.  An upstream CI bot
using these container images would just have to share i.e. `make
CONTAINER=korg-clang:21`.

> Should this instead be a document inside `Documentation/` somewhere
> that explains how to do this, pitfalls, advanced options, etc. and
> give example command lines for different tools?

Yes, I did think of writing a documentation page alongside this patch
but eventually made the RFC with a cover letter instead to keep it
more as an open discussion.  Any solution to run containerized builds
would need to be documented, even if they're trivial to use.  I think
the Makefile approach is the most elegant one but if others aren't
convinced by it then starting with just some documentation might help
getting to the bottom of this and decide what to do next.

> If we do end up with `CONTAINER=`, then I think it should make it work
> without having to pass `-f ...`, to make it easier. Or, even better,
> like the KUnit script, we could have a script that does the right
> thing and reads a config from the user, so that one can just type
> something like, picking whatever tooling the user configured (e.g.
> Docker vs. Podman, default image, etc.):
> 
>      scripts/container.py defconfig

Right but then I think we would have to deal with the variables
handled by `make` which can be passed either via the environment or
on the command line, so that's similar to the issues with an alias.

We could do something like with Android builds (build/envsetup.sh)
with a file to source:

     . scripts/containerize
     m CONTAINER=korg-clang:21 defconfig

where `m` is just an arbitrary alias name obviously :)

Thank you for your feedback.  I can spend some time investigating
alternative approaches if they seem worthwhile.  I'd be interested to
know what others think of this too.

Thanks,
Guillaume


[1] Initial patch:

diff --git a/Makefile b/Makefile
index c6f549f6a4ae..4cbd8e040db7 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,15 @@
  # SPDX-License-Identifier: GPL-2.0
+ifneq ($(CONTAINER),)
+CONTAINER_COMMAND ?= docker
+PHONY := __all
+__all:
+%:
+       @echo Running in $(CONTAINER_COMMAND) $(CONTAINER)
+       @$(CONTAINER_COMMAND) run -it -v $(PWD):/src -w /src \
+       $(CONTAINER) $(MAKE) \
+       $(subst CONTAINER=$(CONTAINER),,$(MAKEFLAGS)) \
+       $(GNUMAKEFLAGS) $(MAKECMDGOALS)
+else
  VERSION = 6
  PATCHLEVEL = 7
  SUBLEVEL = 0
@@ -2051,3 +2062,4 @@ FORCE:
  # Declare the contents of the PHONY variable as phony.  We keep that
  # information in a variable so we can use it in if_changed and friends.
  .PHONY: $(PHONY)
+endif # CONTAINER

^ permalink raw reply related

* Re: [RFC PATCH 1/1] kbuild: add Makefile.container with CONTAINER option
From: Onur Özkan @ 2025-10-14 14:08 UTC (permalink / raw)
  To: Miguel Ojeda
  Cc: Guillaume Tucker, Nathan Chancellor, Nicolas Schier, Miguel Ojeda,
	rust-for-linux, linux-kbuild, linux-kernel, automated-testing,
	Arnd Bergmann, workflows, llvm
In-Reply-To: <CANiq72nVxPY8xB9xEnkZ=zNFh0EfQvaMAPH4ygRr-yEwpK=OWg@mail.gmail.com>

On Tue, 14 Oct 2025 13:58:10 +0200
Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> wrote:

> On Tue, Oct 14, 2025 at 11:45 AM Guillaume Tucker
> <gtucker@gtucker.io> wrote:
> >
> > Add scripts/Makefile.container to wrap the make command in a
> > container using the CONTAINER= variable to specify the image name.
> > For example:
> >
> >     make -f scripts/Makefile.container CONTAINER=korg-gcc defconfig
> >
> > The container image name is entirely arbitrary and the container
> > tool may be Docker, Podman or any other compatible alternative
> > specified by the CONTAINER_COMMAND variable.  The default is set to
> > docker for now.
> 
> IIUC, this wraps reruns `make` inside the container, but it means
> hardcoding a particular tool and path, right? (unless one sets even
> more variables)
> 
> The cover letter says one can create an alias for this, but one could
> also do that for the underlying call anyway, unless I am missing
> something. And if we do this, then I would prefer one doesn't need to
> type `-f ...`.
> 
> Put another way, for a user, what is the benefit of having this extra
> way of running in a container? For instance, I could see the benefit
> if different tools had different flags or it was a complicated
> procedure, but I think at least `podman` shares the flags used here.
> 
> Should this instead be a document inside `Documentation/` somewhere
> that explains how to do this, pitfalls, advanced options, etc. and
> give example command lines for different tools?
> 
> If we do end up with `CONTAINER=`, then I think it should make it work
> without having to pass `-f ...`, to make it easier. Or, even better,
> like the KUnit script, we could have a script that does the right
> thing and reads a config from the user, so that one can just type
> something like, picking whatever tooling the user configured (e.g.
> Docker vs. Podman, default image, etc.):
> 
>     scripts/container.py defconfig
> 

I think this functionality would be better implemented as a script
(like you mentioned) rather than a Makefile. The current approach is
likely to run into several practical issues (e.g. file permission
mismatches between host and container, the need to manually remove
containers with `docker rm`, etc.) and addressing all of these
reliably in Makefile can become quite messy. Writing a python (or even
perl) script would make it much easier to maintain. Also, it can be
self-documented quite nicely with `scripts/container.py --help` command.

Regards,
Onur

> Thanks!
> 
> Cheers,
> Miguel


^ permalink raw reply

* Re: [RFC PATCH 1/1] kbuild: add Makefile.container with CONTAINER option
From: Miguel Ojeda @ 2025-10-14 11:58 UTC (permalink / raw)
  To: Guillaume Tucker
  Cc: Nathan Chancellor, Nicolas Schier, Miguel Ojeda, rust-for-linux,
	linux-kbuild, linux-kernel, automated-testing, Arnd Bergmann,
	workflows, llvm
In-Reply-To: <20251014094511.627258-2-gtucker@gtucker.io>

On Tue, Oct 14, 2025 at 11:45 AM Guillaume Tucker <gtucker@gtucker.io> wrote:
>
> Add scripts/Makefile.container to wrap the make command in a container
> using the CONTAINER= variable to specify the image name.  For example:
>
>     make -f scripts/Makefile.container CONTAINER=korg-gcc defconfig
>
> The container image name is entirely arbitrary and the container tool
> may be Docker, Podman or any other compatible alternative specified by
> the CONTAINER_COMMAND variable.  The default is set to docker for now.

IIUC, this wraps reruns `make` inside the container, but it means
hardcoding a particular tool and path, right? (unless one sets even
more variables)

The cover letter says one can create an alias for this, but one could
also do that for the underlying call anyway, unless I am missing
something. And if we do this, then I would prefer one doesn't need to
type `-f ...`.

Put another way, for a user, what is the benefit of having this extra
way of running in a container? For instance, I could see the benefit
if different tools had different flags or it was a complicated
procedure, but I think at least `podman` shares the flags used here.

Should this instead be a document inside `Documentation/` somewhere
that explains how to do this, pitfalls, advanced options, etc. and
give example command lines for different tools?

If we do end up with `CONTAINER=`, then I think it should make it work
without having to pass `-f ...`, to make it easier. Or, even better,
like the KUnit script, we could have a script that does the right
thing and reads a config from the user, so that one can just type
something like, picking whatever tooling the user configured (e.g.
Docker vs. Podman, default image, etc.):

    scripts/container.py defconfig

Thanks!

Cheers,
Miguel

^ permalink raw reply

* [RFC PATCH 1/1] kbuild: add Makefile.container with CONTAINER option
From: Guillaume Tucker @ 2025-10-14  9:45 UTC (permalink / raw)
  To: Nathan Chancellor, Nicolas Schier
  Cc: Guillaume Tucker, Miguel Ojeda, rust-for-linux, linux-kbuild,
	linux-kernel, automated-testing, Arnd Bergmann, workflows, llvm
In-Reply-To: <20251014094511.627258-1-gtucker@gtucker.io>

Add scripts/Makefile.container to wrap the make command in a container
using the CONTAINER= variable to specify the image name.  For example:

    make -f scripts/Makefile.container CONTAINER=korg-gcc defconfig

The container image name is entirely arbitrary and the container tool
may be Docker, Podman or any other compatible alternative specified by
the CONTAINER_COMMAND variable.  The default is set to docker for now.

Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Miguel Ojeda <ojeda@kernel.org>
Link: https://lore.kernel.org/all/affb7aff-dc9b-4263-bbd4-a7965c19ac4e@gtucker.io/
Signed-off-by: Guillaume Tucker <gtucker@gtucker.io>
---
 scripts/Makefile.container | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
 create mode 100644 scripts/Makefile.container

diff --git a/scripts/Makefile.container b/scripts/Makefile.container
new file mode 100644
index 000000000000..711cf9188016
--- /dev/null
+++ b/scripts/Makefile.container
@@ -0,0 +1,15 @@
+# SPDX-License-Identifier: GPL-2.0
+
+ifeq ($(CONTAINER),)
+$(error "Usage: make CONTAINER=<container-image-name> [...]")
+endif
+CONTAINER_COMMAND ?= docker
+PHONY := __all
+
+__all:
+%:
+	@echo Running in $(CONTAINER_COMMAND) $(CONTAINER)
+	@$(CONTAINER_COMMAND) run -it -v $(PWD):/src -w /src \
+	$(CONTAINER) $(MAKE) \
+	$(subst CONTAINER=$(CONTAINER),,$(MAKEFLAGS)) \
+	$(GNUMAKEFLAGS) $(MAKECMDGOALS)
-- 
2.47.3


^ permalink raw reply related

* [RFC PATCH 0/1] kbuild: introduce containerized builds
From: Guillaume Tucker @ 2025-10-14  9:45 UTC (permalink / raw)
  To: Nathan Chancellor, Nicolas Schier
  Cc: Guillaume Tucker, Miguel Ojeda, rust-for-linux, linux-kbuild,
	linux-kernel, automated-testing, Arnd Bergmann, workflows, llvm

This proposal emerged from an email discussion and a talk at Plumbers
last year:

    https://lore.kernel.org/all/affb7aff-dc9b-4263-bbd4-a7965c19ac4e@gtucker.io/

The aim is to facilitate reproducing builds for CI bots as well as
developers using containers.  It's achieved by providing a wrapper
around `make` in a separate Makefile.  Here's an illustrative example
with a kernel.org toolchain in a Docker image from tuxmake:

    $ make -f scripts/Makefile.container CONTAINER=tuxmake/korg-clang-21 LLVM=1 defconfig
    Running in docker tuxmake/korg-clang-21
      HOSTCC  scripts/basic/fixdep
      HOSTCC  scripts/kconfig/conf.o
    [...]
      HOSTCC  scripts/kconfig/util.o
      HOSTLD  scripts/kconfig/conf
    *** Default configuration is based on 'x86_64_defconfig'
    #
    # configuration written to .config
    #

    $ make -f scripts/Makefile.container CONTAINER=tuxmake/korg-clang-21 LLVM=1 -j8
    Running in docker tuxmake/korg-clang-21
    make: warning: -j8 forced in submake: resetting jobserver mode.
      SYNC    include/config/auto.conf
      GEN     arch/x86/include/generated/asm/orc_hash.h
      WRAP    arch/x86/include/generated/uapi/asm/bpf_perf_event.h
      WRAP    arch/x86/include/generated/uapi/asm/errno.h
    [...]
      LD      arch/x86/boot/setup.elf
      OBJCOPY arch/x86/boot/setup.bin
      BUILD   arch/x86/boot/bzImage
    Kernel: arch/x86/boot/bzImage is ready  (#1)

The initial idea was to add an if-else block for when $(CONTAINER)
was defined directly in the top-level Makefile but this seemed too
intrusive, hence the approach here with a separate file.  It's easy
enough to create an alias for development purposes if needed.

While the example above uses a tuxmake image, I've also started
preparing reference container images with kernel.org toolchains and
no third-party dependencies other than the base Debian distro:

    https://gitlab.com/gtucker/korg-containers

These are convenient for exercising this feature but any arbitrary
image may be used of course.

Guillaume Tucker (1):
  kbuild: add Makefile.container with CONTAINER option

 scripts/Makefile.container | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
 create mode 100644 scripts/Makefile.container

-- 
2.47.3


^ permalink raw reply

* [PATCH 3/3] mbox: Add a --add-link-note option to shazam
From: Dan Williams @ 2025-10-14  7:15 UTC (permalink / raw)
  To: konstantin; +Cc: ksummit, workflows
In-Reply-To: <20251014071530.3665691-1-dan.j.williams@intel.com>

While the Link: tag is disruptive to some top-level maintainer workflows
[1], it is also useful to a significant number of developers and subsystem
maintainers.

It is also the case that dynamic patch-id lookup [2] is an incomplete
replacement for having the submission Link: trailer readily available.
Specifically, navigating to a patch on gitweb or displaying the patch in
the local developer tree it is convenient to have the metadata inline.

A method to have that metadata available without polluting upstream is to
keep git notes locally.

Add a new option to shazam that annotates newly applied commits with the
Link: trailer of the submission. Honor the b4.linkmask option to use the
preferred namespace (patch.msgid.link) for these links.

Note: Claude Sonnet 4 was used to help early drafts of this patch, but all
submitted lines are authored by me or copied from other parts of b4.

Link: http://lore.kernel.org/CAHk-=whP2zoFm+-EmgQ69-00cxM5jgoEGWyAYVQ8bQYFbb2j=Q@mail.gmail.com [1]
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
 src/b4/command.py |  2 ++
 src/b4/mbox.py    | 58 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 60 insertions(+)

diff --git a/src/b4/command.py b/src/b4/command.py
index 455124d9726a..678b0b53d6b9 100644
--- a/src/b4/command.py
+++ b/src/b4/command.py
@@ -211,6 +211,8 @@ def setup_parser() -> argparse.ArgumentParser:
     sp_sh = subparsers.add_parser('shazam', help='Like b4 am, but applies the series to your tree')
     cmd_retrieval_common_opts(sp_sh)
     cmd_am_common_opts(sp_sh)
+    sp_sh.add_argument('-L', '--add-link-note', dest='addlinknote', action='store_true', default=False,
+                       help='Add a git note with Link: trailer for every created commit')
     sh_g = sp_sh.add_mutually_exclusive_group()
     sh_g.add_argument('-H', '--make-fetch-head', dest='makefetchhead', action='store_true', default=False,
                       help='Attempt to treat series as a pull request and fetch it into FETCH_HEAD')
diff --git a/src/b4/mbox.py b/src/b4/mbox.py
index 8810ddd71b21..9479b8995019 100644
--- a/src/b4/mbox.py
+++ b/src/b4/mbox.py
@@ -354,6 +354,8 @@ def make_am(msgs: List[EmailMessage], cmdargs: argparse.Namespace, msgid: str) -
             logger.info(out.strip())
             if ecode == 0:
                 thanks_record_am(lser, cherrypick=cherrypick)
+                if cmdargs.addlinknote:
+                    shazam_notes(topdir, lser, 'HEAD')
             sys.exit(ecode)
 
         base_commit = get_base_commit(topdir, first_body, lser, cmdargs)
@@ -448,6 +450,9 @@ def make_am(msgs: List[EmailMessage], cmdargs: argparse.Namespace, msgid: str) -
             # We exec git-merge and let it take over
             os.execvp(mergecmd[0], mergecmd)
 
+        if cmdargs.addlinknote:
+            shazam_notes(topdir, lser, 'FETCH_HEAD')
+
         logger.info('You can now merge or checkout FETCH_HEAD')
         logger.info('  e.g.: %s', ' '.join(mergecmd))
         sys.exit(0)
@@ -547,6 +552,59 @@ def thanks_record_am(lser: b4.LoreSeries, cherrypick: Optional[List[int]]) -> No
         b4.patchwork_set_state(msgids, pwstate)
 
 
+def commits_by_patchid(gitdir: Optional[str], branch: str, num_patches: int) -> b4.Dict[str, str]:
+    """Create a patch-id to commit lookup for the top N commits"""
+
+    commits = dict()
+
+    args = ['log', '--no-abbrev', '--no-decorate', '--oneline', f'-{num_patches}', branch]
+    lines = b4.git_get_command_lines(gitdir, args)
+    if not lines:
+        return commits
+
+    for line in lines:
+        commit_id, subject = line.split(maxsplit=1)
+
+        ecode, diff_out = b4.git_get_rev_diff(gitdir, commit_id)
+        if ecode != 0 or not diff_out.strip():
+            continue
+
+        patch_id = b4.LoreMessage.get_patch_id(diff_out)
+        if patch_id:
+            commits[patch_id] = commit_id
+
+    return commits
+
+
+def shazam_notes(gitdir: Optional[str], lser: 'b4.LoreSeries', branch: str) -> None:
+    """Match commits to LoreMessages using git patch-id and emit debug info for later git notes processing."""
+    if not lser or not lser.patches:
+        return
+
+    lmsgs = [lmsg for lmsg in lser.patches if lmsg is not None and lmsg.has_diff]
+    if not lmsgs:
+        return
+
+    # Cache recently applied commits by patch-id (account for a merge commit)
+    commits = commits_by_patchid(gitdir, branch, len(lmsgs) + 1)
+    if not commits:
+        return
+
+    # Add link trailer notes
+    for lmsg in lmsgs:
+        patch_id = lmsg.git_patch_id
+        if not patch_id:
+            continue
+
+        if patch_id not in commits:
+            continue
+
+        commit_id = commits[patch_id]
+        linktrailer = lmsg.linktrailer
+        note_message = f"{linktrailer.name}: {linktrailer.value}"
+
+        b4.git_run_command(gitdir, ['notes', 'append', '-m', note_message, commit_id])
+
 def save_as_quilt(am_msgs: List[EmailMessage], q_dirname: str) -> None:
     if os.path.exists(q_dirname):
         logger.critical('ERROR: Directory %s exists, not saving quilt patches', q_dirname)
-- 
2.51.0


^ permalink raw reply related

* [PATCH 2/3] b4, ty: Move git_get_rev_diff to __init__ for reuse in post processing shazam
From: Dan Williams @ 2025-10-14  7:15 UTC (permalink / raw)
  To: konstantin; +Cc: ksummit, workflows
In-Reply-To: <20251014071530.3665691-1-dan.j.williams@intel.com>

In support of adding link trailers as git notes, factor out
git_get_rev_diff() for reuse.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
 src/b4/__init__.py | 5 +++++
 src/b4/ty.py       | 7 +------
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/b4/__init__.py b/src/b4/__init__.py
index c608a4d7956a..c2cdb028fa54 100644
--- a/src/b4/__init__.py
+++ b/src/b4/__init__.py
@@ -2932,6 +2932,11 @@ def in_directory(dirname: str) -> Generator[bool, None, None]:
         os.chdir(cdir)
 
 
+def git_get_rev_diff(gitdir: Optional[str], rev: str) -> Tuple[int, str]:
+    args = ['diff', '%s~..%s' % (rev, rev)]
+    return git_run_command(gitdir, args)
+
+
 def setup_config(cmdargs: argparse.Namespace) -> None:
     """Setup configuration options. Needs to be called before accessing any of
     the config options."""
diff --git a/src/b4/ty.py b/src/b4/ty.py
index 9f01bd534c74..8d41a22e536b 100644
--- a/src/b4/ty.py
+++ b/src/b4/ty.py
@@ -70,11 +70,6 @@ def git_get_merge_id(gitdir: Optional[str], commit_id: str, branch: Optional[str
     return lines[-1]
 
 
-def git_get_rev_diff(gitdir: Optional[str], rev: str) -> Tuple[int, str]:
-    args = ['diff', '%s~..%s' % (rev, rev)]
-    return b4.git_run_command(gitdir, args)
-
-
 def git_get_commit_message(gitdir: Optional[str], rev: str) -> Tuple[int, str]:
     args = ['log', '--format=%B', '-1', rev]
     return b4.git_run_command(gitdir, args)
@@ -191,7 +186,7 @@ def get_all_commits(gitdir: Optional[str], branch: str, since: str = '1.week',
     # Get patch hash of each commit
     for line in lines:
         commit_id, subject = line.split(maxsplit=1)
-        ecode, out = git_get_rev_diff(gitdir, commit_id)
+        ecode, out = b4.git_get_rev_diff(gitdir, commit_id)
         pwhash = b4.LoreMessage.get_patchwork_hash(out)
         logger.debug('phash=%s', pwhash)
         # get all message-id or link trailers
-- 
2.51.0


^ permalink raw reply related

* [PATCH 1/3] b4: Move linktrailer to a LoreMessage property
From: Dan Williams @ 2025-10-14  7:15 UTC (permalink / raw)
  To: konstantin; +Cc: ksummit, workflows
In-Reply-To: <20251014071530.3665691-1-dan.j.williams@intel.com>

In preparation for appending Link: trailers as 'git notes'. Arrange for a
submission link trailer to be a property of a message object.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
 src/b4/__init__.py | 48 ++++++++++++++++++++++++++--------------------
 1 file changed, 27 insertions(+), 21 deletions(-)

diff --git a/src/b4/__init__.py b/src/b4/__init__.py
index ffa7a5d5c7d9..c608a4d7956a 100644
--- a/src/b4/__init__.py
+++ b/src/b4/__init__.py
@@ -715,27 +715,7 @@ class LoreSeries:
             if lmsg is not None:
                 extras = list()
                 if addlink:
-                    linktrailer = None
-                    ltrmask = config.get('linktrailermask')
-                    if ltrmask and isinstance(ltrmask, str):
-                        if ltrmask.find(':'):
-                            lparts = ltrmask.split(':', maxsplit=1)
-                            llname = lparts[0].strip()
-                            llval = lparts[1].strip() % lmsg.msgid
-                            linktrailer = LoreTrailer(name=llname, value=llval)
-                        else:
-                            logger.critical('linktrailermask does not look like a valid trailer, using defaults')
-
-                    if not linktrailer:
-                        defmask = LOREADDR + '/r/%s'
-                        cfg_llval = config.get('linkmask', defmask)
-                        if isinstance(cfg_llval, str) and '%s' in cfg_llval:
-                            linktrailer = LoreTrailer(name='Link', value=cfg_llval % lmsg.msgid)
-                        else:
-                            logger.critical('linkmask does not look like a valid mask, using defaults')
-                            linktrailer = LoreTrailer(name='Link', value=defmask % lmsg.msgid)
-
-                    extras.append(linktrailer)
+                    extras.append(lmsg.linktrailer)
 
                 if attsame and not attcrit:
                     if attmark:
@@ -1258,6 +1238,7 @@ class LoreMessage:
         self._git_patch_id: Optional[str] = None
         self._pwhash: Optional[str] = None
         self._blob_indexes: Optional[Set[Tuple[str, str, str, str]]] = None
+        self._linktrailer: Optional[str] = None
 
         # Handle [PATCH 6/5]
         if self.counter > self.expected:
@@ -1399,6 +1380,31 @@ class LoreMessage:
                 self._blob_indexes = set()
         return self._blob_indexes
 
+    @property
+    def linktrailer(self) -> Optional[str]:
+        if self._linktrailer is None:
+            config = get_main_config()
+            ltrmask = config.get('linktrailermask')
+            if ltrmask and isinstance(ltrmask, str):
+                if ltrmask.find(':'):
+                    lparts = ltrmask.split(':', maxsplit=1)
+                    llname = lparts[0].strip()
+                    llval = lparts[1].strip() % self.msgid
+                    self._linktrailer = LoreTrailer(name=llname, value=llval)
+                else:
+                    logger.critical('linktrailermask does not look like a valid trailer, using defaults')
+
+            if self._linktrailer is None:
+                defmask = LOREADDR + '/r/%s'
+                cfg_llval = config.get('linkmask', defmask)
+                if isinstance(cfg_llval, str) and '%s' in cfg_llval:
+                    self._linktrailer = LoreTrailer(name='Link', value=cfg_llval % self.msgid)
+                else:
+                    logger.critical('linkmask does not look like a valid mask, using defaults')
+                    self._linktrailer = LoreTrailer(name='Link', value=defmask % self.msgid)
+
+        return self._linktrailer
+
     @property
     def attestors(self) -> List['LoreAttestor']:
         if self._attestors is not None:
-- 
2.51.0


^ permalink raw reply related

* [PATCH 0/3] b4: Add git notes for submission link trailers
From: Dan Williams @ 2025-10-14  7:15 UTC (permalink / raw)
  To: konstantin; +Cc: ksummit, workflows

As detailed in patch3, after the fact / dynamic lore link generation
continues to be awkward for managing work-in-progress patches across
multiple versions. 'git notes' allows for workflow specific metadata
that does not pollute upstream. The other desirable feature of notes is
that they are displayed by default in cgit.

So the mainline history and upstream pull-requests remain clean, but
work-in-progress series development can readily display which commits
came from which messages.

Example:
$ b4 shazam -L 20250815010645.2980846-1-alison.schofield@intel.com
$ git show | grep -A1 Notes
Notes:
    Link: https://patch.msgid.link/20250815010645.2980846-1-alison.schofield@intel.com


Dan Williams (3):
  b4: Move linktrailer to a LoreMessage property
  b4, ty: Move git_get_rev_diff to __init__ for reuse in post processing
    shazam
  mbox: Add a --add-link-note option to shazam

 src/b4/__init__.py | 53 +++++++++++++++++++++++++-----------------
 src/b4/command.py  |  2 ++
 src/b4/mbox.py     | 58 ++++++++++++++++++++++++++++++++++++++++++++++
 src/b4/ty.py       |  7 +-----
 4 files changed, 93 insertions(+), 27 deletions(-)


base-commit: f760a0468f91296750af072f7b3aed916f217e77
-- 
2.51.0


^ permalink raw reply

* Re: [PATCH v7 22/23] docs: add KStackWatch document
From: Randy Dunlap @ 2025-10-10 20:02 UTC (permalink / raw)
  To: Jinchao Wang, Andrew Morton, Masami Hiramatsu, Peter Zijlstra,
	Mike Rapoport, Alexander Potapenko, Marco Elver, Jonathan Corbet,
	Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
	H. Peter Anvin, Juri Lelli, Vincent Guittot, Dietmar Eggemann,
	Steven Rostedt, Ben Segall, Mel Gorman, Valentin Schneider,
	Arnaldo Carvalho de Melo, Namhyung Kim, Mark Rutland,
	Alexander Shishkin, Jiri Olsa, Ian Rogers, Adrian Hunter,
	Liang, Kan, David Hildenbrand, Lorenzo Stoakes, Liam R. Howlett,
	Vlastimil Babka, Suren Baghdasaryan, Michal Hocko,
	Nathan Chancellor, Nick Desaulniers, Bill Wendling, Justin Stitt,
	Kees Cook, Alice Ryhl, Sami Tolvanen, Miguel Ojeda,
	Masahiro Yamada, Rong Xu, Naveen N Rao, David Kaplan,
	Andrii Nakryiko, Jinjie Ruan, Nam Cao, workflows, linux-doc,
	linux-kernel, linux-perf-users, linux-mm, llvm, Andrey Ryabinin,
	Andrey Konovalov, Dmitry Vyukov, Vincenzo Frascino, kasan-dev,
	David S. Miller, Mathieu Desnoyers, linux-trace-kernel
In-Reply-To: <20251009105650.168917-23-wangjinchao600@gmail.com>



On 10/9/25 3:55 AM, Jinchao Wang wrote:
> Add documentation for KStackWatch under Documentation/.
> 
> It provides an overview, main features, usage details, configuration
> parameters, and example scenarios with test cases. The document also
> explains how to locate function offsets and interpret logs.
> 
> Signed-off-by: Jinchao Wang <wangjinchao600@gmail.com>
> ---
>  Documentation/dev-tools/index.rst       |   1 +
>  Documentation/dev-tools/kstackwatch.rst | 314 ++++++++++++++++++++++++
>  2 files changed, 315 insertions(+)
>  create mode 100644 Documentation/dev-tools/kstackwatch.rst
> 

Tested-by: Randy Dunlap <rdunlap@infradead.org>

Thanks.

-- 
~Randy

^ permalink raw reply

* Re: [PATCH v7 00/23] mm/ksw: Introduce real-time KStackWatch debugging tool
From: Jinchao Wang @ 2025-10-10  7:58 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Masami Hiramatsu, Peter Zijlstra, Mike Rapoport,
	Alexander Potapenko, Randy Dunlap, Marco Elver, Jonathan Corbet,
	Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
	H. Peter Anvin, Juri Lelli, Vincent Guittot, Dietmar Eggemann,
	Steven Rostedt, Ben Segall, Mel Gorman, Valentin Schneider,
	Arnaldo Carvalho de Melo, Namhyung Kim, Mark Rutland,
	Alexander Shishkin, Jiri Olsa, Ian Rogers, Adrian Hunter,
	Liang, Kan, David Hildenbrand, Lorenzo Stoakes, Liam R. Howlett,
	Vlastimil Babka, Suren Baghdasaryan, Michal Hocko,
	Nathan Chancellor, Nick Desaulniers, Bill Wendling, Justin Stitt,
	Kees Cook, Alice Ryhl, Sami Tolvanen, Miguel Ojeda,
	Masahiro Yamada, Rong Xu, Naveen N Rao, David Kaplan,
	Andrii Nakryiko, Jinjie Ruan, Nam Cao, workflows, linux-doc,
	linux-kernel, linux-perf-users, linux-mm, llvm, Andrey Ryabinin,
	Andrey Konovalov, Dmitry Vyukov, Vincenzo Frascino, kasan-dev,
	David S. Miller, Mathieu Desnoyers, linux-trace-kernel
In-Reply-To: <20251009175107.ee07228e3253afca5b487316@linux-foundation.org>

On Thu, Oct 09, 2025 at 05:51:07PM -0700, Andrew Morton wrote:
> On Thu,  9 Oct 2025 18:55:36 +0800 Jinchao Wang <wangjinchao600@gmail.com> wrote:
> 
> > This patch series introduces KStackWatch, a lightweight debugging tool to detect
> > kernel stack corruption in real time. It installs a hardware breakpoint
> > (watchpoint) at a function's specified offset using `kprobe.post_handler` and
> > removes it in `fprobe.exit_handler`. This covers the full execution window and
> > reports corruption immediately with time, location, and a call stack.
> > 
> > The motivation comes from scenarios where corruption occurs silently in one
> > function but manifests later in another, without a direct call trace linking
> > the two. Such bugs are often extremely hard to debug with existing tools.
> > These scenarios are demonstrated in test 3–5 (silent corruption test, patch 20).
> > 
> > ...
> >
> >  20 files changed, 1809 insertions(+), 62 deletions(-)
> 
> It's obviously a substantial project.  We need to decide whether to add
> this to Linux.
> 
> There are some really important [0/N] changelog details which I'm not
> immediately seeing:

Thanks for the review and questions.

> 
> Am I correct in thinking that it's x86-only?  If so, what's involved in
> enabling other architectures?  Is there any such work in progress?

Currently yes.
There are two architecture-specific dependencies:

- Hardware breakpoint (HWPB) modification in atomic context.
  This has been implemented for x86 in patches 1–3.
  I think it is not a big problem for other architectures.

- Stack canary locating mechanism, which does not work on parisc:
  - Automatic canary discovery scans from the stack base to high memory.
  - This feature is optional; a stack offset address can be provided instead.

Future work could include enabling support for other architectures such
as arm64 and riscv once their hardware breakpoint implementations allow
safe modification in atomic context. I do not currently have the
environment to test those architectures, but the framework was designed
to be generic and can be extended by contributors familiar with them.

> What motivated the work?  Was there some particular class of failures
> which you were persistently seeing and wished to fix more efficiently?
> 
> Has this code (or something like it) been used in production systems? 
> If so, by whom and with what results?

The motivation came from silent stack corruption issues. They occur
rarely but are extremely difficult to debug. I personally encountered
two such bugs which each took weeks to isolate, and I know similar
issues exist in other environments. KStackWatch was developed as a
result of those debugging efforts. It has been used mainly in my own
debugging environment and verified with controlled test cases
(patches 17–21). If it had existed earlier, similar bugs could have
been resolved much faster.

> 
> Has it actually found some kernel bugs yet?  If so, details please.

It was designed to help diagnose bugs whose existence was already known
but whose root cause was difficult to locate. So far it has been used
in my personal environment and can be validated with controlled test
cases in patches 17–21.

> 
> Can this be enabled on production systems?  If so, what is the
> measured runtime overhead?

I believe it can.  The overhead is summarized below.

Without watching:
  - Per-task context: 2 * sizeof(ulong) + 4 bytes (≈20 bytes on x86_64)

With watching:
  - Same per-task context as above
  - One or more preallocated HWBPs (configurable, at least one)
  - Small additional memory for managing HWBP and context state
  - Runtime overhead (measured on x86_64):

       Type                 |   Time (ns)  |  Cycles
       -----------------------------------------------
       entry with watch     |     10892    |   32620
       entry without watch  |       159    |     466
       exit  with watch     |     12541    |   37556
       exit  without watch  |       124    |     369

Would you prefer that I include the measurement code (used to collect the
timing and cycle statistics shown above) in the next version of the patch
set, or submit it separately as an additional patch?

-- 
Jinchao

^ permalink raw reply

* Re: [PATCH v7 00/23] mm/ksw: Introduce real-time KStackWatch debugging tool
From: Andrew Morton @ 2025-10-10  0:51 UTC (permalink / raw)
  To: Jinchao Wang
  Cc: Masami Hiramatsu, Peter Zijlstra, Mike Rapoport,
	Alexander Potapenko, Randy Dunlap, Marco Elver, Jonathan Corbet,
	Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
	H. Peter Anvin, Juri Lelli, Vincent Guittot, Dietmar Eggemann,
	Steven Rostedt, Ben Segall, Mel Gorman, Valentin Schneider,
	Arnaldo Carvalho de Melo, Namhyung Kim, Mark Rutland,
	Alexander Shishkin, Jiri Olsa, Ian Rogers, Adrian Hunter,
	Liang, Kan, David Hildenbrand, Lorenzo Stoakes, Liam R. Howlett,
	Vlastimil Babka, Suren Baghdasaryan, Michal Hocko,
	Nathan Chancellor, Nick Desaulniers, Bill Wendling, Justin Stitt,
	Kees Cook, Alice Ryhl, Sami Tolvanen, Miguel Ojeda,
	Masahiro Yamada, Rong Xu, Naveen N Rao, David Kaplan,
	Andrii Nakryiko, Jinjie Ruan, Nam Cao, workflows, linux-doc,
	linux-kernel, linux-perf-users, linux-mm, llvm, Andrey Ryabinin,
	Andrey Konovalov, Dmitry Vyukov, Vincenzo Frascino, kasan-dev,
	David S. Miller, Mathieu Desnoyers, linux-trace-kernel
In-Reply-To: <20251009105650.168917-1-wangjinchao600@gmail.com>

On Thu,  9 Oct 2025 18:55:36 +0800 Jinchao Wang <wangjinchao600@gmail.com> wrote:

> This patch series introduces KStackWatch, a lightweight debugging tool to detect
> kernel stack corruption in real time. It installs a hardware breakpoint
> (watchpoint) at a function's specified offset using `kprobe.post_handler` and
> removes it in `fprobe.exit_handler`. This covers the full execution window and
> reports corruption immediately with time, location, and a call stack.
> 
> The motivation comes from scenarios where corruption occurs silently in one
> function but manifests later in another, without a direct call trace linking
> the two. Such bugs are often extremely hard to debug with existing tools.
> These scenarios are demonstrated in test 3–5 (silent corruption test, patch 20).
> 
> ...
>
>  20 files changed, 1809 insertions(+), 62 deletions(-)

It's obviously a substantial project.  We need to decide whether to add
this to Linux.

There are some really important [0/N] changelog details which I'm not
immediately seeing:

Am I correct in thinking that it's x86-only?  If so, what's involved in
enabling other architectures?  Is there any such work in progress?

What motivated the work?  Was there some particular class of failures
which you were persistently seeing and wished to fix more efficiently?

Has this code (or something like it) been used in production systems? 
If so, by whom and with what results?

Has it actually found some kernel bugs yet?  If so, details please.

Can this be enabled on production systems?  If so, what is the
measured runtime overhead?

^ permalink raw reply

* Re: [PATCH v2 0/2] checkpatch: add new check PLACEHOLDER_USE
From: Joe Perches @ 2025-10-09 20:01 UTC (permalink / raw)
  To: Onur Özkan, linux-kernel, Andrew Morton
  Cc: apw, dwaipayanray1, lukas.bulwahn, corbet, workflows, linux-doc
In-Reply-To: <20250917173725.22547-1-work@onurozkan.dev>

On Wed, 2025-09-17 at 20:37 +0300, Onur Özkan wrote:
> Changes in v2:
>   - The check is documented in Documentation/dev-tools/checkpatch.rst file.
>   - Used ERROR instead of WARN on detection.
> 
> Onur Özkan (2):
>   checkpatch: detect unhandled placeholders in cover letters
>   checkpatch: document new check PLACEHOLDER_USE
> 
>  Documentation/dev-tools/checkpatch.rst | 10 ++++++++++
>  scripts/checkpatch.pl                  |  7 +++++++
>  2 files changed, 17 insertions(+)

Acked-by: Joe Perches <joe@perches.com>

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox