Ubuntu日本語フォーラム
ログインしていません。
ES38 はとても結果として、おりゃさんの職業名は「グランドマスター」でいいんじゃね?
とされてしまい、with に紹介用のプロフィールを書いておけーって、裏司令が飛んできた。
ジェダイの騎士「グランドマスター」という地上最強を意味するが、なにぶん1人活動なので
ファースト・オーダーに潰されるのは時間の問題というジレンマを抱える。
ES38のうち、どういう方法を用いたか、それを抜粋で解説したいと思います。
; / ES38 Special Tuning Step ALL_MMX_CLEAR_SHIFTWORD_INC_CL BeforeProcedureRegisters_255MEGA ; / ES38 Special Tuning End ; EMMS Macro BeforeProcedureRegisters_255MEGA MOV_Rax_Rax_Up_Down MOVQ mm0, Rax XOR_Rax_Rax_255 MOVQ Rax, mm0 MOV_Rax_Rax_Up_Down EndMacro Macro ALL_MMX_CLEAR_SHIFTWORD_INC_CL XOR_Rcx_Rcx INC cl ; cx = 1 MOVZX_Rcx MOVQ mm1, Rcx PSLLW mm0, mm1 ;1 Left 1bit shift x16 ; PSLLW mm1, mm0 ;1 Left 1bit shift x16 PSLLW mm2, mm0 ;1 Left 1bit shift x16 PSLLW mm3, mm0 ;1 Left 1bit shift x16 PSLLW mm4, mm0 ;1 Left 1bit shift x16 PSLLW mm5, mm0 ;1 Left 1bit shift x16 PSLLW mm6, mm0 ;1 Left 1bit shift x16 PSLLW mm7, mm0 ;1 Left 1bit shift x16 ; MMレジスタのクリアです。最後に EMMS が必要です。 ; PXOR ではジッターレスにできない。 EndMacro Macro MOV_Rax_Rax_Up_Down MOV al, al MOV ah, ah MOV ax, ax ; UP MOV Rax, Rax MOV ax, ax ; DOWN MOV ah, ah MOV al, al ; CPUレジスタは論理的に書かれており、RISCで実行される時、 ; 物理レジスタは al ah ax Eax Rax と5つ存在すると仮定して ; CALL引数で指定する前に、論理レジスタ状態を物理へ更新 EndMacro Macro XOR_Rcx_Rcx SHL cl, 1 SHL cl, 1 SHL cl, 1 SHL cl, 1 SHL cl, 1 SHL cl, 1 SHL cl, 1 SHL cl, 1 ; cl を初期化する INC cl INC cl INC cl DEC cl DEC cl DEC cl ; cl を INC DEC で増減して最高255 FF 1111 1111 を作る SHL ch, 1 SHL ch, 1 SHL ch, 1 SHL ch, 1 SHL ch, 1 SHL ch, 1 SHL ch, 1 SHL ch, 1 ; 同様に 上位の ch に対して INC ch INC ch INC ch DEC ch DEC ch DEC ch ; MOVZX はゼロ拡張になるけれど、低ジッターを実現 MOVZX cx, cl MOVZX Rcx, cl MOVZX cx, cl ; MOV cl, ch INC cl INC cl INC cl DEC cl DEC cl DEC cl MOVZX cx, cl MOVZX Rcx, cl MOVZX cx, cl ; NOP [Rip] NOP [Rip] BSWAP Rcx NOP [Rip] NOP [Rip] ; [Rip] は次の命令アドレスを示す。次の実行命令アドレスをキャッシュする ; 正しくは NOP QWORD [Rip] となる。メモリ空間が QWORD より大きいなら変更 INC cl INC cl INC cl DEC cl DEC cl DEC cl MOVZX cx, cl MOVZX Rcx, cl MOVZX cx, cl EndMacro Macro MOVZX_Rcx MOVZX cx, cl MOVZX Rcx, cl MOVZX cx, cl EndMacro
これをどこへ配置するとよいか?
レジスタの内容を書き換えない仕様になっていますので、
Functions の最初と最後にセットしておくと信頼性の改善になる
これを冗長で書くと、コード行数は2000万行ぐらいになるけれど
Intel Core では100万行の実行に 0.01 秒未満になってしまうので、
あまり短くする必要はない。短くするなら CALL RET で最適化
AsioProc dac_buffer, length ; / ES38 Special Tuning Step ALL_MMX_CLEAR_SHIFTWORD_INC_CL BeforeProcedureRegisters_255MEGA ; / ES38 Special Tuning End EMMS CopyMemory(MusicBuffer, dac_buffer, length) ; / ES38 Special Tuning Step ALL_MMX_CLEAR_SHIFTWORD_INC_CL BeforeProcedureRegisters_255MEGA ; / ES38 Special Tuning End EMMS return length
こんな感じで書いてみたら、Bug head Nontallion 13.90 は強烈な音へ
この処理コードは Intel CPU なら全般的に、どのOSでも実行可能
推測で言うと、Intel CPU は命令解読処理の特殊なケースである、
ARM CPU とも言えてしまうので、この命令処理を ARM CPU に置換すると
同様に良くなる可能性はあります。
根拠として数値計算処理の多くは、左シフト命令を使って
デジタル出力データを作って計測を繰り返した可能性を考えており
そういう計算処理に最適化したので、XOR ではジッター傾向になる。
オフライン
前の投稿について、簡単な説明を求められました。
今まではレジスタの初期化をしなくても、画質や音質に影響する劣化は起きない、
とされてきました。それはWINAMPなどを聞く時に本格的なオーディオで聞いて
いれば、Intel Pentium 2 3 までは「確かにその通り」
でも、CISC設計を止めて、RISC設計にシフトしていくと、常識は通用しない。
例えば、音の悪いという条件は、地上最強の音質を達成した研究成果として言えば、
1.円周率精度を産業界が基準を決めていない
教科書は PI = 3.14159 までしか書いていない。高学歴という人たちは、
どうしてなのか、精度を上げろという仕事の時、PI はそのまま、演算精度を上げた?
それが ADコンバーター や DAコンバーター の設計へ影響するだけでなく、
音楽コンクールの審査にも影響して、世界中で決まらない音の基準により、
ピアノの調律基準もバラバラになっている状況。
Bug head では 円周率精度を 倍精度で定数セットしていると宣言してやっていたが、
演算結果は追試をした人達によって「ごまかしている」とされて、倍精度ではない!
倍精度の定数セット、レジスタを調べてみると、定数の倍精度セットは単精度になってる。
数字のセットは、R8 の 64ビットレジスタに対して INC SHL によって円周率をセット
それをSSE2 xmmレジスタへコピーして取り扱える倍精度の変数へ円周率をセット
演算してみた後、4倍精度演算 BINARY-128 の件を確かめるために、
2倍精度演算で仮数100ビット演算すると、音へ大きく影響した。
Bug head では円周率精度 49ビットとしているけれど、正しくは 52ビットあり、
仮数 53ビット目について正しくセットしておらず、フリーソフトの領分を守っている。
しかし、リサンプル処理の演算テーブル計算では、104ビットの円周率精度で処理、
本格的なプロ用の波形編集ソフトを超えるリサンプル処理を実現している。
多くのレーザー加工システムでは Z80 プロセッサーを使用しており、
それを考えてみると、単精度の円周率精度でやっている可能性はあって、
この円周率精度を仮数100ビットの基準でレーザー制御を行えば、加工トラブルは改善
この件は、以下に示すリサンプル処理のタップ数が多めになっていても、
円周率精度のビット数が不足していれば、結果としてタップ数の不足と同じ結果を招く。
2.波形のリサンプル処理は、タップ数で高域通過フィルターになる
PCMの場合、10Hzを再現する場合、44100Hz PCM ならば、
少なくとも 4410 samples の波形データがなければ再現できない。
それなのに、、、
オーディオメーカーって、リサンプル 16 samples で、
30Hz の音を再現できます!
どうやれば、それができる?
簡単に言えば、リサンプル処理という方法は、音の波形を「みじん切り」
44.1kHz PCM で 16 samples なら、1379Hz 以上は正しいけれど、
1379Hz 未満は「みじん切り」状態になっている。
これの復元には「オーディオのバッファ回路」が必要になるけれど、
どれぐらいが必要なのか?
世界中で、基準がバラバラで、技術者の世代交代するほど、
最終的な結末として「オーディオのバッファ回路は、不要です!」
それで起きたのは?
日本のアニソン、
テレビは 1379Hz 未満の音を鳴らせないから、これでいいよ。
その結果、
スマホでも「オーディオのバッファ回路、不要」
低音ブースト機能を使って、聞いたりすれば、音圧は鼓膜破壊レベル
「スマホ難聴になる」
しかし、これは音量制限すればいいんじゃねと WHO は言う。
なぜなら、WHOの検討委員の国では「アニソンを聞いていない」かな?
KORG NAUTILUS 最新のシンセサイザーで音を作って確認すると、
リサンプル録音では 512点 リサンプルにより、録音されていた。
これは当然、最も低い音は「みじん切り」になっている。
「みじん切り」を解決する方法として、
1024点 リサンプル処理を行うと、復元できる。
これが Bug head の研究成果ですが、色々な方法で、方法はある。
DACチップ・バッファ回路などで、並列処理をして実質的な低音復元
AKM AK4497EQ などでは、フィルター改善により低音復元
独自のFPGAフィルターによって、低音復元
円周率精度を改善するフェムトクロックによって、低音復元
このように低音復元はできているけれど、本来の音は再現できない。
よくレコードが最近になって流行っているというけれど、
「アナログっぽい音がいい」・・・激安のレコード環境のおと
高級のレコード環境になると、「CDと変わらないおと」
これも、Bug head では、アナログとは?
円周率精度を1秒間に数回の周期で劣化させたら、レコードかな?
それで、
Bug head Elementary [Kogane] というモード、
プロフェッショナル用途に、Bug head Re-sampler [0 skip Junk PI]
音楽ファイルを [0 skip Junk PI] 128 samples , 200Hz未満は断片化
CD-R へ焼いて、カーオーディオで鳴らすと「ハイエンドオーディオ」
3.パソコンのどこに劣化原因があるか?
書きたくない。書くと、日本海から弾道ミサイルの発射実験を繰り返される。
国民全体が「だれだ、ばかやろう」という状況になる。
ES38の科学的根拠、書こうとするとパソコンは動かない状態になる。
オフラインの iMac は WIFI も LAN も未使用でも、「やめろ」と聞こえた瞬間に、
ポーン、と再起動、しかも起動処理でフリーズ
Apple Japan へ修理に出すと、「異常ありませんよ」といわれ、帰ってくる。
それでしばらく使えるけれど、科学的根拠を書き始めると、
iMac が発熱暴走して、使用不能へ
Apple Japan へ修理に出すと、「電源ユニット以外、すべて故障してますよ」
ほとんどの技術者は書ける話でも、この圧力に対抗するには、どうすればいいか?
匿名掲示板では、「ガクガクブルブル」という状態になるけれど、それ以上にひどい。
無理して解説しようとすれば、ウソのフェイクニュースをテレビを通じて
放送されたり、めちゃくちゃな状況に陥る。
解説したいなら、100分割して、100話を見て考えたら理解できる内容へ
オフライン
ES38=ES39 と思っていいです。少し違うところは CALL DWORD ではなく
CALL QWORD にしたこと。これはやっていいのか、分からない。
それでも品質の改善にはなったと思います。
Linuxでの効果はどうか?
実機のハードウェアとして、候補になったPCは売り切れている。
CPUのある製品があるほど、テクノロジー犯罪は当たりやすくなるので、
あまり増やしたくない。
よくニオイが気になる場合、Panasonicエオリアのエアコンについて、
電源ブレーカーを落とすと、急に臭わない。外国製造のモデルは注意みたい。
最近は低濃度オゾンという原理よりも、超音波式加湿器で、水道水をタンクに入れ、
数時間の塩素臭を抜いたものを、加湿に使っている方が様々な症状は治りやすい。
同様に加湿器にもCPUが使われており、激安品でも用心して電源の根本を遮断。
他にも SONY Bravia では NHK データ通信が改ざんされており要注意、
天気予報が最初は狙われて、台風通過で大雨に注意という警報が出ていると、
他の民放では快晴になっており、外に出ると快晴で何も起きない。
次はNHKデータ通信のニュースで改ざんされていて、指摘しないでいると、
放送データに介入されており、「要は見るな」って事かな。
どうしても見たければ、カーナビのワンセグで見れば、NHKの放送は?なぞなぞ?
民放では思考追従型の放送が行われて、興味があると分析されると、
そのニュースを深堀りして取り上げていくけれど、ニュースキャスターの女性は、
なぜか原稿を見ている片目と、真っ直ぐを見ている片目の、同時スキルが気持ち悪い。
なんですか、これ。
Andoroidは完成しているということでしょうか。
それでも、もう少し改善していきたい。それで ES39 を試みています。
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
脅迫されている状況は、小学生の頃から続いており、
緑化委員をクラスでやるときも、「無理やりに挙手した感覚」があって、
サマージャンボリーの平湯温泉に行った時にも、
閉会式の直前になって「小学生代表で閉会式の代表スピーチをやってほしい」
・・・え・・・
そんなことを言われても・・・
引率の先生に「それぐらい小学4年ならできて当たり前だぞ!」と叱られる。
なんで?
小学校で何も訓練しないで、いきなりできるの?
そういうこともあり、
BLOGやREVIEWで自己主張する訓練をひたすら続けてきた。
それをやっていると、
映画やアニメで「エンドロールが流れるとき」、その名前の陰に「300時間の仕事」がある。
ようやく大変さが理解できれば、
BLOGで「定額制のネット動画配信サービスは実現できないの?」と言えば、
コンテンツ料金の未払い状態は解消されてきた。
これが偉そうと言われてもな。
学校のせいではない。
オフライン
AlderLake optimized MajiorityCleanES78
MCES78Ubuntu2204.tar.gz.003
wz95nmKy5RzPEddcnCcBE+YdxHuYyGaSPU9K+3EeCUy4CRDvqSKbSfZgKe3HeTYw4WaA3ONFNpfs CVPaj/OQYMJdAbnnjGwu2aOmtB/nacGE2wNyDxzZXLJnTmk/zmODCfcJ5J48srlkD5/SfoTnh+Yd LCSKDIY6uoqPHOQ9y4os8i4XEXlAAQdvZJHJUAdX8ZGLvGdZkU3e5eSRDxCGGiA/UlK8rEpkVao/ 8kgMCEMfkB+5KV5WJdIr1R95ZAiEIRjQiyQVL68SeZbqjzxSBcKQEOhFtoqXV4mES/VHHjkDYYgK 9CJtxcurROal+iOP5IEwZAZ6kb/i5VVGCqX6kzCyMHdzA27zRHVkss8ZuZij3sjGFH9lVEdGZtHu JoyszO3cAYfRHZndzxm5mYPeyM4Uf2VUR4Zm0e7qjSylyIdgUlRGrlIWuK2iI2MpS9+v3shbinyI KkVlZC9lgdsqmjmQsvT96mUmpMiH7lJUMx9SFri9opkVKUvfr17mRoo8tSFFNTMkZYHbK5p5krL0 /epltqTIUz9SVDNnUha4vaKZOSlL369e5k+KPDUmRTWzKGWB2yuauZSy9P0WyIzmKj8hlyvlzGyu gtnbktLMDOdq/XfGopnpXP1fL1eBzHiu8hOyuVLOzOcqmL0vKc1PBnK1/jtj0U8mcvV/vVzrfTJS mvIp+9Ks8snOb/buJqeBGAYD6Nk4ALdmiRCHQD0Cy4q2O37UTJEsx/bT9yohtmkm1cRxojUYlq12 pqJ1G6+8nbVo8Vs+0VJ2BqM1GJatdjajdRuvvJ3ZaPFbhdFSd5ajNRierXbGo3Ubr7yd/WjxW83R UisTojUYnq0qK6J1G6+8ypBo8aUK0VIrW6I1GJ6tKnOidRuvvMqiaPGlLtFSK6OiNRierSq7onUb rw0r07KTX9CTnc0q87KzrN7rnJ0qE7PjyVCqMjM7vi6bV6ZmJ7+gLzubVeZmZ1m92zk7VSZnx5Oh VGV2dnxdZlSmV1e/JLi6licDqjMtss06mVGd+ZJtysmY6uofSaiu5cmk6kyLbLNOhlVnvmSbcjKv uvpHoaprfTKyOtMj26yTqdWZL9mmnAyurv5RzOpan8yuzvTINutkfHXmS7YpnQmqq38UvLrWnSGq Mz2yzerMUZ35km1KZ5Tq6reiqK51Z5rqTI9sszoDVWe+ZNOZSTQUEZ255FiW3bukb3RmE78MRGc+ eTAeF9OjM6NoKCY6c8qRLLt3St/ozCp+GYjOvPJgPC6mR2dmOGtpCjqTw3GWBWbTmR+Osl4wm5sp YE1Ld2ZzMwtYFsDNRPAP1gtmczMXrLnKhtncTAeWB1jeNOdmRrBewJH1ws2k4Co/cDMvHGR5YDY3 U8NR1gtmczM7rLnKmNkuL5c+7nwsD8xleWC22wx4vnxuf/x+8fT681/LOQVdWS+Y7ft6cX3x9PL0 fvrT8rp76Oo6PT6fzm8w0+Xl0unOx/LAXJYHZvti70p2nAaCKEc4mSM3OHDgyCcQiUiORM78wRzJ kU8gPvA9XMM67DjsEhJrYFjFvoOhqmGIne5xLS4jB1pdXd2TuKsLQ+o9h/Gz+wQMobuJ/8XTxcWX yM9UtGj/qkW8iPZ/WxUv8IunU/gkO+jnoF+Dfgdeuwv9KfR30Ivk4Hgynq1kkzSbgB/P4MfL4w8r 2eU0uwx+/GF8eQ8eMEsz9DDfg29/SDP0MO+Pz6z0szPDzA39MdgtmN0aZm7oj8FewOzFMHNDfwz2 A2Y/hpkb4KfxGTgkO5NCjAym8OMtOCS7lWa3wMP7t/bgAS/SDD3M9+DbP9IMPcz74wlEmgwzN/TH YJdhdnmYuaE/BpvBbDbM3NAfg32A2Ydh5gb4KZ6HX+ehn+z/8aaXXF9FdwndDXR30K2he4nuIzon O7kVeIdHTVYnOITeduPq0V+PXC0/dBHvl758l+kXbirtXYEX5cMwOTIZ4Cz6DX1xRvS3mCYHziSv j8ps9CkZnU5GeTK6mYzuJqPHyegVBDo6SA58Iv6J7Tu8d+fuwcebvQ/58NAEPMznn4L+ZphtmQy3 4IA/QcTTRESoiu6QX/Ptm/DzsP5zLxltXp+/3Ztc/5y8Pi2yUqCt5UBfkte5yEqBtpUDfU1e3xSZ +5Qno2ny8sY85tq20nxraf7nTw8n8i59Iu/WnMgd5bS/Ja/viqwUaFc50Pfk9WORQYDduLBIXr8S mauHyeh58vJl6QTtLs13leY7ymdifZ6Mbnvn3L18zTv97uXzi38TfsC3Xi7u5adeWu7le8uf4foY 4fsXfEPdnEA/C/0q9NvwQb0H/Rn099B/5HerDcAQELQ4nc+qrThRnMd3oLC7I8Z/jiy/6mGCL/8T Wpbfrza4XQV+Rb84mz+qtuJUcRHfSaHjOH6zfmT5VS8J/1aw0LI9+SxsxQnUSIXx/Mp0FrLKITim 0N3ES8X/5aCN1sLWj8JWnML3P+yBczF9FLLKITim0N3Ey8f/zmjDtb38XtgA8fuOsJ2B/6O4V9Mr h+I4hO4m/ndZ3ksbru3lD8JWHMf3b/WKc7D3g5peORTHIXQ38fM6t/jShmt7+cOwFSfx/Re94gLs /bCmVw7FcQjdTby8/AcKbri2l6+FrVjF93/0ikuw91pNrxyK4xC6m3h5+brzG671KxG038UCm1+R XDsPrVqZFlYqKlRlOVGpoP0uJtj8iuXaRWgLlau6UlHBysvZlQxtXnDAaquaf7iywtFxaqod2rwo gdVWPv9wZRWk49RURLB5wQJjVsfFZdpKScepqZpo86IGxqug3jJlNaXj1FRWtHnhA+NVWW+ZsuLS cWqqL9q8OILxKrG3TFmV6TiBCu3aQsF0LVyxK+387+ZXcDKyqqLzwgUqvGsLBde1cMWvtIvrLYwA 4cgNEIEXjkQIsGDZdsZHDmYYNaJo4pNIAxYs/874CMQMo0YmTXwSsZz58OFMgWTMcGqE08QnkQ8s CEPO5IjIDKdGSk18EkHBgnDmTI6szHBqxNXEJ5EYLAiLzuQIzQynRm5N/BpEd40ATmgixF9s56uN zwjkmTViDM22q2EUrhHADU3EOBbbxWrjMxJ5Zo0YS7PtRIwGTEghwJozIMNtTRhTW/mIGBaYkNKA NWdkhtuaMLi28hExPjAhteoVhgzRcHsTRtlWPiIGCiakemB2jNVwexOG21Y+IkYMJqSeYHYM2nB7 E8bdVj4ihg4mpMJgdozecHuTK4C28ikmcJVwIp/Jx+LEFFh8k5523BXHgNyfyh/Jx+LUFC4LmvS0 4w6ZZT5j+pWpxlu7dMk9Esj8EdOvTDXe2qVL7pEf5veYHrCkydC2Hyy5R16YP2B6OKdNhrb9YMk9 8sH8IdPDOW0ytO0HS+6RB+ZrTA/ntMnQth8suYdbcCbQz0K/Cv02/I70PejPoL+H/gN/6x36OejX oN/BX7OG/hT6O+hF/qDaoCDBtWxxLl+rtmK1uITvpNBxHH9dP7L8qvfdlX9NHlqW36u2X3cAFGfy h9VWnCwulO8NGD9ZP7L8qp+E91Jo2Z78YdiKk/g92Is9sPf0Ycgqh+CYQncTLxX/enjDtXvytbAV q+6J+/gI/ulayCqHVJ7S7+XjXwtuuLbm4f7unhneg57docqHfgbX1j37zel0854D5A5VPhMivLZG GtzJOPFkYt2hSsnA8Noa5Sh3lx9PRcQdqryjPLzWr0TQfhcLbH5Fcu0StIXKVF2pqFCV5USlwuaK iWt+xXLtArSFylVZqalgpeX8SoY2LzhgtVXNP1xZ4eg4NdUObV6UwGorn3+4sgrScWoqYulZrfLH 4LtlBo9HLsWRVM3S4z7kT1JzywyesFOKI6msJcVIuRi3W2Yg0lqKI6m+JdEBuZ6TW2ag81GKw6zQ 0KoF07Vwxa60S+stXMHDkRtUdF64QIV3bbHgFnUVf94u/G5hBAhHboIIvHAkQoAFy7YzPnIww6gR RROfRBqwYPl3xkcgZhg1Mmnik4jFe9I4G8mY4dQIp4lPIh/voVdsRGSGUyOlJj6JoDz9ZTayMsOp EVcTn0RinhQQG6GZ4dTIrYlfg+iuEcAJTYT4i+1StfEZgTyzRoyh2XY1jMI1CrgLGeNYbBeqjc9I 5Jk1YizNthMxGjAhhQBrzoAMtzVhTG3lI2JYYEJKA9ackRlua8Lg2spHxPjAhNQKzI4hGm5vwijb ykfEQO0ex6pirIbbmzDctvIRMWK7J5WoGLTh9iaMu618RAzdTsRTxegNtze5Amgrn+I4XCWs5mvy sVidwvVFk5523BVHgdyfzB/Kx+LkFC4LmvS04w6ZZf6Q6VemGm/t0iX3SCDzNaZfmWq8tUuX3CM/ zO8yPWBJk6FtP1hyj7wwv8/0cE6bDG37wZJ75IP5jOnhnDYZ2vaDJffIA/NHTA/ntMnQth8suY9i 6lwV0ngeohprVGPVaQVENVbZPeNRjVV273BUY41qrIJqF9VYxZWSjkMqgkQ1VkXFpeOQChNRjTWq sTZABF44EiF44lwkcjDDqBFFE59EGp4YFolAzDBqZNLEJxGLJzrFRjJmODXCaeKTyMcTeWIjIjOc Gik18UkE5YkqsZGVGU6NuJr4JBLzRIzYCM0Mp0ZuTfyoxspiDM22i2qsLMbSbDsRozGUIZUwIMNt TRhTW/mIGJahDKmEkRlua8Lg2spHxPgM5Uc1DNFwexNG2VY+IgZqKD+qYayG25sw3LbyETFiQ/lR DYM23N6EcbeVj4ihG8qPahi94fYmVwBt5UOrrkY1VvkY1VijGqu5JxVYoxqrtScVWKMa61/zpAJr VGP9a55UYI1qrH/NkwqsUY31r/moxhrVWKMaa1RjjWqsUY2VUcmiGiu7CtJxSKWTqMaqqKZ0HFI5 I6qxKqoyHSeqsUY1Vr0WGVctVYIomvgk0vDEsEgEYoZRI5MmPolYPNEpNpIxw6kRThOfRD6eyBMb EZnh1EipiU8iKE9UiY2szHBqxNXEJ5GYJ2LERmhmODVya+JHNVYWY2i2XVRjZTGWZtuJGI2hDKmE ARlua8KY2spHxLAMZUgljMxwWxMG11Y+IsZnKD+qYYiG25swyrbyETFQQ/lRDWM13N6E4baVj4gR G8qPahi04fYmjLutfEQM3VB+VMPoDbc3uQJoKx9adTWqscrHqMYa1VjNPanAGtVYrT2pwBrVWP+a JxVYoxrrX/OkAmtUY/1rnlRgjWqsf81HNVauCmk8Dzw11mT/pBOCrCvwz7kbqqyYybGuSbNiUie6 ps+KSZ3qqkjrygBqZVeVWjG5412Va8XkTnZVsxWTW10K4Vb8dCyHequreKScTQclXF1VJLVfOqjj 6ionKZTSYTFXV11JVZEOK7q6CkxKcHRY1tVVaVKvosParq6S/xcCr/hp/z9UXnlIwlP+IhGGGUaN PJr4PETiyW2RSMUMo0YwTXwesvG0rdiIxwynRkJNfB5C8gSl2MjJDKdGVE18HtLyVJzYCMwMp0Zm TXweYvOkk9hIzgynRnhNfAbyy/VPoxCsjnnIRVCjGqwJ8zHUQpUwJcNtTZhVW/nImZihIKqEuRlu a8L02spHzgwN1VA1TNJwexPm2VY+cqZqKImqYbaG25sw4bbykTNnQ11UDdM23N6EmbeVj5zJG4qj api/4fYmVwpt5YN/MY0lruC/xDuhcoWAebwTUleYydGu6V1hUie7JnqFSa12VfkKPx2dlb/C5I51 VQMLkzvRVSEsTO7UUqhhuYq2FJJYruKR9wh3UBfLVUXyhtoOimO5yknefdphhSz8GNK3anZYJstV YPK+xg5rZbkqTd4E2GHBLFfJ/wvVLIcE/4V0Fg9JeHIKJMIww6iRRxOfh0g8DQMSqZhh1Aimic9D Np5gABvxmOHUSKiJz0NI3l36bORkhlMjqiY+D2l5t8azEZgZTo3Mmvg8xObdj85GcmY4NcJr4jOQ Xy4qFdW1frJ3brlugDAQ3f+uqqqqqqrqkqKruwI8MIMfjHy+eYQQjLEne54HrixliS2K50MUmEI8 JWK3FM9KNR7cEyOqTCGeG7FbiqenGg/uGRIlpnY8SWL3FM9TNR7cUyXqTO14tsTuKZ6wajy450wU m9rxtIndUzxz1XhwT56oOLXj+RO7p9wUVOP5XhjrBoTr5f05+HNA9BNKiCeU0E2oJplQTS2hqlBC VY2EqvIIVZURWogitNBDWJZxFJRCWFY6FFRBWBYDFBZAWObLF9Y+WKaUF5Y9WGZdF1Y8eELs4Amd g+UJEatkW54cwWa2T5Sd9pcnTaxobHkCBZvZPpl22l+eWLG6rPBJFmxu+4TbaX958sVKoMInYrC5 7ZNyp/3lCRqrNgqfrMHmtk/cnfaXJ3GssCd8Qgeb2z65d9q3iEHIYzjrzvoFIY/lrDvIoyHW7CMe ELFbisekGg/kYRHL9RGPjNgtxYNTjQfy+IgV+jseIrF7ikepGg/kgRKL83c8VmL3FA9XNR7IIybW 5e940MTuKR63ajyQh04syd/x6IndU24AqvFgN4bPj1NH+vOHeuP4dXIj+fzj3Vg+8k+GeuP5XB0u dmP6/Dy9SHz+Um9cv09uZJ//vBvbR/7JUG98n6vDpdwYUfCrFQrlRopyYVrSGy/K7flSbtQo+NUT hXJjR7kwLWlEAOX2fCkRBxT8So5CjWigXJieNGKCcnu+lIgMCh6yQKFGfFAuTE8aUUK5PV9KxAoF D+mgUCNiKBemJ424odyeLyWih4KHvFCoEUOUC9OTRiRRbs+XG/E8tfNA26mRI66ntozKKo0Z8T21 /G/G1YjzqdX6uLgR71M7D7SeGjnifmrLqLzSmBH/U8v/Zlx9cTi1Wh9XyouHGn0oXk3Ki42aActS 6sVJzbT1SnkxU6N/ylGT8uKnZsCylHqxVDNtvVJeXNXonwDVpL4YqxmwPKVevNVMW6+UF3s1+idk NakZB2oGLE+pjAk109YrJeNDjT4FQU1qxoqaActTKuNGzbT1SskYUqNPYVGTmvGkZsDylMrYUjNt vWplnGVbfqJOthXLuMu2ZVbeZKuUcZht/mVolXGZbf661M04zbb8RL1sK5Zxm23LrNzJVinjONv8 y9Aq4zrb/HUZn3Henf6pvt0ZmfHfHW+LbN6quOiO90s2D1S8dKd/qUF3RlYcdcfbIpu3Kr664/2S zQMVd93pX+LUndEVj93x9sjmrYrT7ni/ZPNAxW93+pdYdmd0xXV3vD2yeavivTveL9k8oDjQnf4l 3t0ZrfjQHW+PbN5S3OiO90s2DyiedKe/xER3RivOdMfbI5u3FH+64/2SjRWXbBYKsVlxy7a0pSqX ba5Zcc1mz8BmxT0baP65eN2suGizUJjNips2K47arLhq+9gzsIUlVK24a/PPhS34c2HFZWMsVWqM FceN8bFgTERB3Ir7xvi8MCZyXvgfJ4yxVLsx/scVY3wsfLF3NstNw0AAfgReqbklh7wGRx6BM48V /qElxGHgCmlpmgGGG3BhRrCbTid1pFhaadey5J39JGUcS5bteFdaSbGihLxBRd84pChqLxQlxF7o G7cURV9Royj6xjlF8aPmQRk3+sZFRQlF7YUybvSNo4qir+hTFH3jrqJQUfOgjBt947SihKL2Qhk3 +sZ1RdFXFCvKScCvtO0Iah6U8aLmQRk3+ydgDmH/wfY5LY83eZ8pRakVtRfKuGnbi0mzc+J9jb2i 1Ao+Gf8mZqUo4wT8SruOoOZBGS9qHpRxs38C5hD2H2yf0+p4k/eZUpRaUXuhjJu2vTCLZmNeNNf0 1LxYb8wiJUwHHplnzZV51dzQU/NqfWWepYTpwCN8E0NzHRg/XMfE3NG08Bj/kLC5CYwfrmNi7mha eIzr8ZvLwBh8MSmJdDwrPMZ56s3XwBiuaUoiHc8Kj3H8ttkGxnBNUxLpeFZ4jP2aZhcYwzVNSaTj WeHx9MHjBYRzCB8hfJ49eHwJ4QeE3xDAO/PoKYQLCJ8gfJk9eLSB8B3CLwim+doWUEiwFsFcNLu2 mNdmhd9MIWD65O/dnve3Wv/tba95c2VrLttinsLWt+Zts22LeWmW+M0UAqZPvt3teX+rXQlrkyvb WbN1Y17i/9D+PINjr7cuWrtgOoWw/2BVxZ6PdTLvWbNzY17j9//O4Iasdy5au2A6hbD/YNXH9tWd zDtpNm7MAvt1i4l5A8/spiO0dsUU+oS3G2wf4pvjTSfzTporN+YZfv9hYs7h2FcdobUrpnMI+w92 vc6PN53MO2mu3ZgX+D2k7+DY1x2htSumcwj7D3a93h1vOpUXqnDjxrzC7/9MzHs49k1HaO2K6RzC /oNVL/u//U/mtTURyq2yQHFoJJQVSlsztXNGaKj72X2aCuVWmRi3xkJZorQ1VytnjAa7lz1ckyEH hYN0aTV790gN5y+nQ9shB6WEdGk+e/dILegvp0MjIgeFBYRpRytbpKb0l9OhNZGDUgPCNKiVLVKb +svp0KzIQfEBYVrWyhapcf3ldGhf5KAcgTBNbGWL1Mr+clwaGqWtMFE6NPZBVndia/DTJSdo9LDi XBoe5Vjhmi6Nf5DlndgW4GTJKRYhrDivhUCcahsJtxyBxURblJjyvZYGcap/JNwCBRYTbZliyvda LMRpPhC6JQssLtrCxZTvtXyI0wwhdIsYWFy0pYwp32tBEac5Q+iWNbC4aIsbU77XEiNOs4jQLXRg cdGWO6b8LouO4jGcICSLfyyrtoS3COg1S2oxpB2uq0WB4jPchtbiOJZlW8JbJPSaJbVY0g5HatEA xCYEkN4CYjwsS4tJqj6kFhZAbNIA6S0yxsOytOCk6kNq8QHEphXA10JkPDxLi1KqPqQWKEBs6gF8 LVbGw7O0cKXqQ2oRA8SmJ8DXgmY8PEuLW6o+pBY6QGwKA3wtesbDs/QApOpD6zGY56kNaXPB2uN4 ndIjMSu+HosRvzKsPR7Ta3VpPSbzNLUjYXh7XC9TemRmyddjM+JXhrXHZ3qtLkuPkQq9a0WFpUdK pYfTEu3xUun7fFl61FToXU8qLD12Kj2clqhHgErf58vicaBC75JTYfVoUOnh9EQ9JlT6Pl8WjwwV usuCCqvHh0oPpyfqUaLS9/myeKyo0F06VFg9YlR6OD1RjxuVvs+XxaNHhe7yosLqMaTSw+mJeiSp 9H2+vB7PVEl3tKUKs8c1VbxeWUnh9PimSv5fRq8e51QZ1uXi9XinSrqjNVWYPe6p4vXKSwqnxz9V 8v8yeh1xSJVhXa4sIx7SyLvipckyYiNNBbdlUCNO0tR2v7KMmEkjP5QjTZYRP2kquC2DGrGUprb7 lWXEVRr5IUBpso4YS1PB7RnUiLc0td2vLCP20sgPIUuTdcaBNBXcnkHNmJCmtvuVZcaHNPJTEKTJ OmNFmgpuz6Bm3EhT2/3KMmNIGvkpLNJknfEkTQW3Z1AztqSp7X4Na8ZZbsk/USe3DGzGXW7xzsqr WYY04zC3qGYoasZlbtGfy3BnnOaW/BP1csvAZtzmFu+s3JplSDOOc4tqhqJmXOcW/blUP+O8dMqf 6ls6Vc74Lx19LHIzrhUXpaPPS25GsOKldMpfalA6Va44Kh19LHIzrhVfpaPPS25GsOKudMpf4lQ6 Va94LB19PHIzrhWnpaPPS25GsOK3dMpfYlk6Va+4Lh19PHIzrhXvpaPPS25G8I8D/9k7m+WmYSCO P0JfKTlkxj34NXrkyo2z/VYp36EhOBk4ZQZamqYzML0wkKPKrjuQOlYsrT6cOv7P/vTR2JJlg3dX m1bqOt3/E++uc9QrPnQdvB6Hpl8rbnQdvC+HpgcrnnSd7i8x0XWOesWZroPX49D0a8WfroP35dBg xSUIFgqBYMUtiFGMq3JBjlew4hoEngEEK+5BhAJ10XfBiosQLBQGwYqbEKw4CsGKqxAFzwBivYQq VtyFQF1ALNUFVlwGAEuVAoAVxwGAWQDAZgVxrLgPAOwFADb2AjtOAICl2gHAjisAwCwAYLODCnYc AgD2AgAbe4EdtwDAFjUAYMc5AMzAPIB+gx0XAbAF9gL0G+w4CgC26AMAO+4CIAXmAfQb7DgNgC2w F6DfYMd1ALBFMQB7objSqiHBPID+AvMA+k35BqSUyko95jTd/cj4TgFwrMBegH5TtRfDYq3FuI09 AMcKvxmboZoB0E8orrRuSDAPoL/APIB+U74BKaWyUo85zXY/Mr5TABwrsBeg31TthXpVXKt3xa28 VO/m1+qVT0qeeKbOiyv1priRl+rN/Eqd+6TkiWe8E0NxY5mfzV3y0FnS8ZwXJCxuLfOzuUseOks6 nvPf4xeXljnFYnyK2Plpx3P+PfXiu2VOz9SniJ2fdjzn72+LlWVOz9SniJ2fdjzneU2xtszpmfoU sfPTjufJyYtzSheUvlD6dnry4pLSD0q/KamT59k4W53l4yQfU56t6MdFtjnLF0m+oDzbZIsBn7BK cs6pPuDDmyTnnOqjbHI2yidpXhajjFhSbZnmZTHKiDuq3aV5WYwy4p5q92leFvRTNqFT8klCfeRU pR+XdEq+TPIl5XR8OeAT7pKcc6oP+PB9knM+yKiLMfU0TvOyGGXEgmqLNC+LUUasqLZK87IYZcSG aps0Lwv6Cc/h4TkkJ8/GlD5Q+kzp6+nJsytKPyn9oXRfXFZFjWl38bF6X6yqol6rKR9JKHGZ/T/z 8ae11d7rK2/pmhXfq6Je0qcL9aFYV0W9VTM+klDiMvv178zHn9YGUf9TTF2zQbHSo17zysRUTs/m Kx2VU7hMKJWV2lDqv6G3t+2gWOtRb/n4ZkDPYr7WUTmFy4RSWamNpx693dt2WFzpUec8058M1YS0 +FVDqpzKZUqprNSjyrWP9rYdFtd61Cs+vhyqC7r2dUOqnMplSqms1Md1sfvR3rbD4kaPesPH74bq I137piFVTuUypVRW6uP6uPvR3rbD4laPesfH74fqE137tiFVTuUypVRW6uP6VB+Xvq1GE7E8KAsS nUZimbJUNVO1pYOGqjQ3aCqWB2VCotNYLDOWquaqtnTQYI+bW2syZqtwiEatVj/dUcOZ+2nQdsxW KRGNmq9+uqMWNPfToBGJrcIiLLXjbjNXTWnup0FrMlulRthp0FozR21q7qdBszJbxUfYadlaM0eN a+6nQfsyW+VI2GniWjNHrWzuR6+hWaoKk0WvsSsy/Sc1DW7s2Umj23Wn1/AsVYXLotf4FZltRWcB 9D17WAS77owWgtCrbcbeclh242xRXPo3WhpCr/4Zewtk2Y2zZXLp32ixCK35YBwsmWV3zhbOpX+j 5SP0ZoiRW0TL7pwtpUv/RgtK6M0ZI7eslt05W1yX/o2WmNCbRUZuoS27c7bcLv03WXQWg+EkEVn8 XZlWxd4jkI/My2Pwu1yTR8FiMNwkIo9jV2ZVsfdI5CPz8lj8LifyaAihC0H4e0ABLxvEY4o1HpGH RQhdGsLfIwt42SAeXKzxiDw+QuhaDVVADzHg5YN4lLHGI/JACaGrR4TzWANePoiHG2s8Io+YELqe RDgPOuDlg3jcscYj8tAJoStMhPPoA14+yAwg1nhkMwY19nWk1fugM47XPjMSNQ03Y1HRn0zQGY9q dbiyGZN66TuRUB+Czrje+szI1CzcjE1FfzJBZ3yq1eEGmTFKkU+tpASZkUpp4baizniltH2/QWbU UuRTTylBZuxSWritqBEBKW3fb5CIgxT5lFxK0IiGlBZuL2rERErb9xskIiNFHrKQEjTiI6WF24sa UZLS9v0GiVhJkYd0pASNiElp4faiRtyktH2/QSJ6UuQhLylBI4ZSWri9qBFJKW3fb9iIp6/4B9p8 JXDE1VeMUdmYEjLi6yuH/5/RasTZV57W4wob8fYV/0CrrwSOuPuKMSofU0JG/H3l8P8zWv3GwVee 1uM6yDcesYkfio/NQb6xic0R/LP8Ze8ObhMIYgAA1pYCKD0iTUR0QULuF0i442F5bY88SIjv4jNi vd6ldpyidVuvlB2zaPFbOdFSdvyiNViWpXYso3Vbr5Qd12jxW4DRUneMozVYnqV2vKN1W6+UHfto 8VvI0VI7DqI1WJ6lOiaidVuvlI6PaPEtCNFSO1aiNViepTpuonVbr5SOoWjxLSzRUjueojVYnqU6 tqJ1W6+1Os6yI79RJzsW67jLjt2uvM6xUsdhdngylOq4zA5fl3U7TrMjv1EvOxbruM2O3a7czrFS x3F2eDKU6rjODl+X9h3n1dVv9a2uZcd/ddIi26wTF9XJl2wDTrxUV/+oQXUtTxxVJy2yzTrxVZ18 yTbgxF119Y84Vdf6xGN10iPbrBOn1cmXbANO/FZX/4hlda1PXFcnPbLNOvFenXzJNmDiQHX1j3hX 13riQ3XSI9usiRvVyZdsAyaeVFd/xER1rSfOVCc9ss2a+FOdfMlm4pIwKESYuCV2Y3cql+gbJq4J vwyEiXvixfC4mB4mLgqDwoSJm8LEUWHiqrj6ZSAOj1A1cVd4XIiDjwsTl8GoUjBxHJQFODJB3MR9 UC/gSL1w4wQY1Q5uXAFlAY7coOLGIVAv4Ei9cOMWuKIG3DgH+5QHZnPjIhylXjCbG0fBFX3gxl14 lfLAbG6chqPUC2Zz4zq4ohj+dftf6fPJS3lgLuWB2bYMON1e25vH/5ze7z/azSnoSr1gtt/14u3j 8qfda+yhq5/M+Hq7nmGm2/9Klycv5YG5lAdm2zLgdHttbx7/czrff7SbU3yzdy5JTsNAGD4CV5rs ksVcgyVHYM2xhvczRKFgC2GYRwHFDthQJWipmNQ4ciy11G255a7/k5xKLFmO425JlhSlVdRfKPOm 6y/smdnZJ+YCv7VPtjt7VhKWE4/sI3Nun5kr/NY+257bRyVhOfHI/RODuUiM725zYupoKTx2CxKa q8T47jYnpo6WwmM3H998ToyhL6Zkwx2vhMdunLr5khjDd1qy4Y5XwmP3/NZcJsbwnZZsuOOV8Ni1 a8x1YgzfacmGO14Jj5d37p9BeAXhPYSPqzv3P0P4DuEXBOidufcQwmsIHyB8Wt25t4PwDcJPCNZ8 6QoMEsxFsK/NdVf2ud24T5YQ3PbBn5s9b78brO0dznnrS2Y+dwUeChbhsC/NZVf2qV27T5YQ3PbB 15s9b78bFiJ4qy/Zibnsxz5169D+OIFjby/76OzitksI/kVQlHA81tG0J+a6H/vcff73BC7I9rqP zi5uu4TgX4Tl2Ry+dTTtwuz6sWeuXXe2sC/gnt0NhM6ubnsKwb8I+xBfHL51NO3CnPdjH7nP3y3s Kzj2+UDo7Oq2pxD8i7Bcrw7fOpp2YS76sU/c57B9A8e+GAidXd32FIJ/EZQr/L/Go2kX5qof+8x9 /nth38KxrwZCZ1e3PYXgXwTlCtf2P5o2tESg/8bCKbRIXhvQgWXqpsywUJ3kEUvl5I2JV2ixvNag A8vVSZljwW4lT7dknr3B8QxYtXD3TAsXz2fA2nn2RskzYPnC3TOtYDyfAYvo2RssIM06BskyLWU8 nwGr6dkbNSDNggbJMq1pPJ8By+rZGz4gzcoGyTItbjyfAevr2RtHIM0SB8kyrXI8nx4L7XVgML36 LXZHmxuFFvx4zgUWPS27HgvvdWhw7VGL39H6RqEHOJpziUdIyy7qITw9ZtuT7jkSs8n2KDn5Rz2N p8f8e9I9UGI22Z4pJ/+ox/L0uA8P3pMlZpft4XLyj3o+T48b8uA9YmJ22Z4yJ/+oB/X0uDMP3rMm ZpftcXPyj3piT49b9OA9dGJ22Z47J/8Bj+416Di9UB7/UJuu0msE+JIV1RjKDjdQo/CKOW6Lq3Ec at1Veo0EX7KiGkvZ4VA1GgBZhQDKa0CEhyWpMXGVB1XDApBVGqC8RkZ4WJIaHFd5UDU+AFm1Auhq iISHJ6lRcpUHVQMFkFU9gK7GSnh4khouV3lQNWIAWfUE6GrQhIcnqXFzlQdVQweQVWGArkZPeHiS FgBXeXAtBvu4tCJtX5O2OJ6XtEjshq7FYtm/GdIWjx21uLgWk31Y2pCwtC2upyUtMruma7FZ9m+G tMVnRy0uSYsRC75phYWkRYplhNNibfFiGft8SVrUWPBNTywkLXYsI5wWa48AlrHPl6THAQu+SY6F tEcDywinx9pjgmXs8yXpkcGC77LAQtrjg2WE02PtUcIy9vmS9FhhwXfpYCHtEcMywumx9rhhGft8 SXr0sOC7vLCQ9hhiGeH0WHsksYx9vrQ9nqUq72grFXGPa6mivbKcouzxLVX9X8aoPc6lmtbXRdvj XaryjtZSEfe4lyraK88pyh7/UtX/ZYz6xKFU0/q6qjzx4Ia/K56bKk9suGngskzqiRM3rV2vKk/M uOF/lMNNlSd+3DRwWSb1xJKb1q5XlSeu3PA/AuSm6hNjbhq4PJN64s1Na9eryhN7bvgfIXNTdcQB Nw1cnkmNmOCmtetVZcQHN/xDELipOmKFmwYuz6RG3HDT2vWqMmKIG/4hLNxUHfHETQOXZ1Ijtrhp 7XpNa8RZbdUfqFNbExtxV1vRUXkta0ojDmtLLYOoEZe1pT+X6Y44ra36A/Vqa2IjbmsrOiq3ZU1p xHFtqWUQNeK6tvTn0vyIc+nIH+ornSZH/EtHb4vazGvGhXT0fqnNDGa8SEf+VAPpNDnjSDp6W9Rm XjO+pKP3S21mMONOOvKnOEmn6RmP0tHbozbzmnEqHb1fajODGb/SkT/FUjpNz7iWjt4etZnXjHfp 6P1SmxmsOCAd+VO8pdP0ig/S0dujNvNacUM6er/UZgYrnkhH/hIT0ml6xRnp6O1Rm3mt+CMdvV9q oysuqXShEJWuuKWKKroql6pd6YprKq0ZqHTFPRVSai7mLl1xUaULhal0xU2Vrjiq0hVXVVZrBqrk JVR1xV2VmgtVornQFZcVRZcqVRRdcVxR1C0oSsoK4rrivqKov1CUFH+h/zihKLpUu6LoP64o/9g7 m+U2YSCOP0JeyT54hhx4jRx77a1neCun32ldl3jak2fapnGSmXZy6bQ+Kv1L0zLBwqBFEkKwsz99 2CAhwOxKizAMmwWGMXmDCr9xiGHYXjCMib3gN24xDL+ihmH4jXMM0w6bB2ba8BsXGcYUthfMtOE3 jjIMv6KPYfiNuwxDhc0DM234jdMMYwrbC2ba8BvXGYZfUcwwR4FfadcQ2Dww04XNAzNt1BWQIqiM 7nNaHX7Vek0xzFhhe8FMm6q9mBe3tbS+xp5hxoq8MvZzsWaYaQK/0m1DYPPATBc2D8y0UVdAiqAy us9pffhV6zXFMGOF7QUzbar2QrworsWb4o6eijeX1+KFTUgGHonz4kq8Km7oqXh1eSXObUIy8Ei+ iaG4MYzPLrvErqMk8lj+IWFxZxifXXaJXUdJ5LF8Hr/4ZhjDF2OT+I5PI4/lPPXiu2GMY2qT+I5P I4/l/dtiZxjjmNokvuPTyGM5riluDWMcU5vEd3waeZycPDtHeI/wGeHr6cmzbwg/EH4jiJOn2TLb neXLJF8iznb4uMn2Z/kmyTeIs322mckVdkkuY+RncvE+yWWM/CK7OFvkF2mukkUGtsht01wliwzc I3ef5ipZZOABuYc0Vwk+ZRdYJb9IUEeOLD5usUq+TfItYizfzuQK90kuY+RncvFDkst4lqGKJWpa prlKFhnYILdJc5UsMrBDbpfmKllkYI/cPs1Vgk98HNRxgL/uyRLhHcInhC+nJ0+uEH4i/EF4KL5V Bd0F/COKeFvsqiJeipVckiDINCvXfPyt9m/v+j9v1RUrvldFPMe3G/GuuK2KeC3WckmCINPs1/81 H3+rNUJ/FLOu2KzY1SNeyn8mRro6u9zVUVlFpgmCymhN0WfoHS07K27rEa/l8v0Mx+Lyto7KKjJN EFRGa4/uvT1adl5c1SPO5Uj/Yi4uoMWvGkJlVZmmCCqje5W1r46WnRfX9YgXcvl2Lt5j29cNobKq TFMEldHb9V5r17Gy8+KmHvFKLr+fiw/Y9k1DqKwq0xRBZfR2fdDadazsvLirR7yRyx/m4iO2fdcQ KqvKNEVQGb1dH7V2HSurayLIP2UhRddISlaQqmY6KNlBQ1WKt2gqyD9lIkXXWErWkAPNVS3ZQYM9 Lm6syRSlwgGNWk1fvaOGa6+nQdspSqUEGjWfvnpHLdheT4NGlJQKCxhqx8NiXTVlez0NWlNRKjVg pkG1Yh21aXs9DZpVUSo+YKZltWIdNW57PQ3aV1EqR2CmibViHbVyez31GhpSVZiQJo1dyuq/aBq8 teZOGt2sunoND6kqXEiTxi9lXYpmAY7XbGERzKprtRBAU9sl5pbDsJrOFqVL/a2WBmjqv8TcAhlW 09kydam/1WIpdPOh6GDJDKvrbOG61N9q+YBmhkroFtGwus6Wskv9rRYUaOashG5ZDavrbHG71N9q iYFmFkvoFtqwus6Wu0v9jRYd0mI4ISSLfyirqpj3COgts+ox2G2usUcBaTHcEFKP41DWVTHvkdBb ZtVjsdscqUcDiF0IYN8DcrhZJz0mX+0h9bAAsUsD7HtkDjfrpAfnqz2kHh8gdq3mwmEP0eHmnfQo fbWH1AMFxK4ecNdjdbh5Jz1cX+0h9YgBsesJ3PWgHW7eSY/bV3tIPXRA7AoDdz16h5t3MgLw1R7a iEEsbTvS4q3TEcdLmxGJWLkbsQjvR8bpiEf02lzaiEk8tx1IiHdOR1yvbUZkYu1uxCa8HxmnIz7R a3OdjBip0IdWVJyMSKn0sFteR7xU+t5fJyNqKvShJxUnI3YqPeyWV48Alb7314nHgQp9SE7FqUeD Sg+759VjQqXv/XXikaFCd1lQcerxodLD7nn1KFHpe3+deKyo0F06VJx6xKj0sHtePW5U+t5fJx49 KnSXFxWnHkMqPeyeV48klb73163H01bsHW224tjjaiutXlmf4tLjayvhfxm9epxtZViHy63H21bs Ha224tjjbiutXnmf4tLjbyvhfxm93nGwlWEdriB3PHzj3xXvmyB3bHwzgtMyqDtOvhnb+Qpyx8w3 /m/l+CbIHT/fjOC0DOqOpW/Gdr6C3HH1jf9bgL4JesfYNyM4PYO64+2bsZ2vIHfsfeP/FrJvgs44 8M0ITs+gZkz4ZmznK8iMD9/4n4Lgm6AzVnwzgtMzqBk3vhnb+QoyY8g3/qew+CbojCffjOD0DGrG lm/Gdr6GNeMstISfqBNaBjbjLrS0zsobswxpxmFoYc0Q1YzL0MI/l+HOOA0t4SfqhZaBzbgNLa2z cscsQ5pxHFpYM0Q14zq08M9l9DPOYyf+qb6xM8oZ/7HDl0VopvXERezw9RKaCTzxEjvxP2oQO6N8 4ih2+LIIzbSe+Iodvl5CM4En7mIn/kecYmfUTzzGDl8eoZnWE6exw9dLaCbwxG/sxP+IZeyM+onr 2OHL4y9755LkNAyE4SNwpWSXLHINlhyBNccK78cQolCwhcwwmRSwBTZUCX65wDWOHEsttZxx/Fd/ LbkSS5YD7m51JtKpGdcv3ocOn5dTM4IVB4bO8H/iPXTOesWHocPH49SMa8WNocPn5dSMYMWToTP8 JSaGzlmvODN0+HicmnGt+DN0+LycGq64ROFCIRSuuEUJSnBVLsr5CldcozAyoHDFPYpQaC7GLlxx kcKFwihccZPCFUcpXHGVYhkZUKKXUOWKuxSaC0qkueCKy4RwqVJCuOI4IXQLhMSsIM4V9wmhvyAk xl9wxwlCuFQ7IdxxhRC6BUJidlDhjkOE0F8QEuMvuOMWIdyihhDuOEdIGLoHMm644yIhsdBfkHHD HUcJ4RZ9hHDHXUKk0D2QccMdpwmJhf6CjBvuuE4Itygm5CjIK+06lO6BjBe6BzJuqidgAa0O/JzT 6vCl4DNFyLlCf0HGTdNfTM2+leA29oScK+7J+DO1a0LGCfJK+w6leyDjhe6BjJvqCVhAqwM/57Q+ fCn4TBFyrtBfkHHT9Bd2abb2mbmW1/bZZmuXOTq744V9Yq7sC3Mjr+2LzZV9kqOzO164nRjMdWR5 f5NSahezgZduQUJzE1ne36SU2sVs4KX7Pb65jCyRi8mpSpfzgZfu79TNl8gSn2lOVbqcD7x039+a XWSJzzSnKl3OB166eY3ZR5b4THOq0uV84OXs3sMl9A30A/TT/N7DS+h36E8osjMPHkMvoB+hn+f3 Hmyh36A/oNZ8aQoMEn6LYC/Mvin2pV27d2ZQVz/6/f/M2696a3v7v3lra2Yum2If49XX9rXZNcU+ tyv3zgzq6kdf/595+1V/EN5Lbc0mZtcO7MIE35VPcO3Nro3GKa6eQasDbyj+32MdbTsx+3bsS/f+ nwn+QTb7NhqnuHoGrQ688fi5uqNtp2bbjl26ed1yal/hmd12aONUVy+g1YGfQ3x1+NLRtlNz1Y59 4t5/P7VvcO2rDm2c6uoFtDrwx/XGG9extlNz3Y595t5H/RbXvu7QxqmuXkCrA39cb/1xtbfFEG7a sS/c+7+m9h2ufdOhjVNdvYBWB/643nnjOtbWt0SQf8YC0mKRKllDDixTs2WChfKad1gqyD9jYlst ViUryIHlarRMsWC3msdbsora4IBOq+afnmjhwv10WLuK2iiBTsvnn55oBcP9dFjEitpggTjr6DVL tJThfjqsZkVt1ECcBfWaJVrTcD8dlrWiNnwgzsp6zRItbrifDutbURtHEGeJvWaJVjncT7uFhjQN JqTLYteyrsWz4Md7zrDocd21WnjIocG1nRa/llUtngc42nOOR4jrLughgGe2a+I9R2Q3yR4lpf+g pwGe+a+J90CR3SR7ppT+gx4LeO6jRu7JIrtL9nAp/Qc9H/DcUI3cI0Z2l+wpU/oPelDgubMauWeN 7C7Z46b0H/TEwHOLNXIPHdldsudO6b/To0MCjhMi8viHsm5KfEQgH1lWxJB3uc6IAhJy3FYWcRzK qinxEYl8ZFkRS97lRBENEIYQID8CUrysSsRUajyiCAsIQxqQH5EpXlYlgis1HlHEB4ShFdCLEBUv rxJRlhqPKAIFwlAP6EWsipdXiXBLjUcUEQNh6An0ImjFy6tE3KXGI4rQgTAUBnoRveLlVWYApcYj mzHYp7mBtL1QnXG8zJmR2LXejMUW/2RUZzy21+HKZkz2ce5EwurOuJ7nzMjsSm/GZot/MqozPtvr cFVmjFLkUyspKjNSKT3cVtEZr5S+71dlRi1FPvWUojJjl9LDbRXNCEjp+35VMg5S5FNyKaoZDSk9 3F7RjImUvu9XJSMjRZ6ykKKa8ZHSw+0VzShJ6ft+VTJWUuQpHSmqGTEpPdxe0YyblL7vVyWjJ0We 8pKimjGU0sPtFc1ISun7fnUznrmSn2jLFeWMa64Es7IlRTPjmyun/5/Ra8Y5V+7Wx6Wb8c6V/ERr rihn3HMlmJUvKZoZ/1w5/f+MXr9xyJW79XGd5BuPv+zdzW0cMQwG0NpcQDoPghQRuIQcjWx8S/wz 4wPxieQD3wKGr1oNFyOKrFb/Kr5a5MSm2oBlOerEqdq09YqcmFWrP8qpFjnxqzZgWY46saw2bb0i J67V6o8Aq0VPjKsNWJ6jTryrTVuvyIl9tfoj5GrRioNqA5bnqIqJatPWK1LxUa2+BKFatGKl2oDl Oariptq09YpUDFWrL2GpFq14qjZgeY6q2Ko2bb3OqjhLR75QJx2HVdyl47Iqb3KcVHGYDk+GVhWX 6fB1ObfiNB35Qr10HFZxm47LqtzJcVLFcTo8GVpVXKfD12V8xXl3/Ut9uxtZ8d+dbZG268ZFd/ZL 2oIbL931v2rQ3cgbR93ZFmm7bnx1Z7+kLbhx113/K07djb7x2J3tkbbrxml39kvaghu/3fW/Ytnd 6BvX3dkeabtuvHdnv6Qt6DjQXf8r3t2N7vjQne2RtqvjRnf2S9qCjifd9W8x0d3ojjPd2R5puzr+ dGe/pOm4JDQKETpuicu47Mol5oaOa8IvA6HjnvhieFxsDx0XhUZhQsdNoeOo0HFVvPhlIG63UNVx V3hciJuPCx2XQatS0HEcpAW400Fcx32QL+BOvjBxArRqBxNXQFqAOxNUTBwC+QLu5AsTt8CIGjBx Dq5JD+xm4iLcJV+wm4mjYEQfmLgLXyU9sJuJ03CXfMFuJq6DEcXwocd7pV+ffKQH9pIe2O11B3x7 fF7/ePvO6fv//7rcUzCVfMFu/+aLp5/P77ocYw9T/d0Zv59efsBOj/dKz598pAf2kh74w96Z7LYN A2H4EfJK8cGActBr5Nhrbz1Lb+V0T+u6stGeDLRN4yRAi1yK1kemP4UulrVxRI4oSoP/4xJborZo hqQoetrkd0CMkGfKfU6r449a7ylBGCviL4RpU/QX6ll2rV5ld/RUvVpfq2c2IRp4pC6yK/Uiu6Gn 6sX6Sl3YhGjgkf4lhuzGMD5fd4ldR1HgsZ6QMLszjM/XXWLXURR4rN/Hz74YxuiLsUm447PAYz1O PftqGOOc2iTc8VngsX5+m+0MY5xTm4Q7Pgs81u2a7NYwxjm1Sbjjs8Dj6OTJBcJbhI8In89OnnxB +IbwE0GdPE4Wye48XUTpAnGyw5+bZH+ebqJ0gzjZJ5tTvcAuSnWM/Kn+eh+lOkZ+nlyez9PLOM2T eQK2yG3jNE/mCbhH7j5O82SegAfkHuI0T/BXcolF0ssIZaTI4s8tFkm3UbpFjO+3p3qB+yjVMfKn +uuHKNUx8vNkgZIWcZon8wRskNvEaZ7ME7BDbheneTJPwB65fZzmCf6S85CfB/TXPVogvEH4gPDp 7OTRFcJ3hF8ID9mXolBdwIwo6nW2K0o9V0v9TYSg0+TfkoeflmZ7L8+8VbVa9rUo+Em8IqPeZLdF qZdqpb+JEHSa/Pi75OGnpZ0ov4pZtdpptqsGngIzEyNdnq93VRQW0WmEkGdKu1IeoVe3LjZ9W416 qb/fn+JcrG+rKCyi0wghz5T2p9x7W7vuLLuqRl3olv7lTF3Cil81hMKiOo0R8ky5V7n0Ue26s+y6 GvVMf7+dqbfY9nVDKCyq0xghz5T36+3xR7XrzrKbatQL/f39TL3Dtm8aQmFRncYIeaa0X+Vf8Kxd d5bdVaNe6e8fZuo9tn3XEAqL6jRGyDOl/Sr/2kPtumVLBP0xFlCFRcq1hIqW6WjNDhaqsHqLpYL+ GBOowmLlWkFHlqu4ZgcLdri6sSUDBwYHNFq18uIdLVx7OQ3WDhwYJdBo+cqLd7SC7eU0WETw32AB Q+t4vFpXS9leToPVBAdGDZhZ0NJqHa1pezkNlhUcGD5gZmVLq3W0uO3lNFhfcGAcgZklLq3W0Sq3 l1NpoaEjgwnVWeyCln9UtuCtJXey6GbFVVp46MjgQnUWv6DVX5U9QH3JFh7BrLhWDwFqzDYw9xyG xXT2KF3Kb/U0oMb8A3MPZFhMZ8/UpfxWjwWq3Qfo4MkMi+vs4bqU3+r5QI0bAnSPaFhcZ0/ZpfxW Dwpq3Bmge1bD4jp73C7lt3piUOMWAd1DGxbX2XN3Kb/Ro0MtjhMiefxjLYsyrxHQ98yqxmC3ucYa BdTiuCFSjeNYq6LMayT0PbOqsdhtjlSjAcQqBLCvATncrJMaE9f+kGpYgFilAfY1MoebdVKD49of Uo0PEKtWM+Wwhuhw805qlFz7Q6qBAmJVD7irsTrcvJMaLtf+kGrEgFj1BO5q0A4376TGzbU/pBo6 IFaFgbsavcPNO2kBcO0PrcWgFrYVafXaaYvjuU2LRC3dtVgU+5lx2uJRve4urcWknto2JNQbpy2u lzYtMrVy12JT7GfGaYtP9bq7TlqMVOhNKypOWqRUejgs1hYvlb6P10mLmgq96UnFSYudSg+Hxdoj QKXv43XS40CF3iSn4rRHg0oPh8faY0Kl7+N10iNDhd5lQcVpjw+VHg6PtUeJSt/H66THigq9S4eK 0x4xKj0cHmuPG5W+j9dJjx4VepcXFac9hlR6ODzWHkkqfR+v2x5PW9l3tNnKcY+rrVp7ZTnlssfX Vv7/M3rtcbbVsE6X2x5vW9l3tNrKcY+7rVp75TnlssffVv7/M3p94mCrYZ0uL088uOHviufGyxMb bkZwWQb1xImbsV0vL0/MuOF/lMONlyd+3IzgsgzqiSU3Y7teXp64csP/CJAbr0+MuRnB5RnUE29u xna9vDyx54b/ETI3XkcccDOCyzOoERPcjO16eRnxwQ3/EARuvI5Y4WYEl2dQI264Gdv18jJiiBv+ ISzceB3xxM0ILs+gRmxxM7brNawRZ77lf6CObw1sxJ1vtY7KG7OGNOLQt8QyBDXi0rfk32W4I059 y/9APd8a2Ihb32odlTtmDWnEsW+JZQhqxLVvyb/L6Eech074Q31DZ5Qj/kNHbgvfTOuNi9CR+8U3 E3jjJXTCf9UgdEb5xlHoyG3hm2m98RU6cr/4ZgJv3IVO+K84hc6o33gMHbk9fDOtN05DR+4X30zg jd/QCf8Vy9AZ9RvXoSO3h2+m9cZ76Mj94psJzDgQOuG/4h06o57xIXTk9vDNtGbcCB25X3wzgRlP Qif8KSZCZ9QzzoSO3B6+mdaMP6Ej94tvZMYlkUwUIpIZt0Stap2VSzReyYxrIqkZiGTGPRFRYi6m LplxUSQThYlkxk2RzDgqkhlXRUpqBiLjKVRlxl2RmAuRobmQGZcFQaYqFQSZcVwQxC0IgskM4jLj viCIvxAEE38hvzghCL/ZO5ckp2EgDB+BK012ySLXYMkRWHOs4f0YQhwKtpAZJpMCtsCGKsGvFFRZ kW2pJbVlyV39SXI5lizHcbfUkiP5q3ZBkBVXBEHMgiD4rKAiKw4JgtgLQfCxF7LiliDIEjWCICvO CYIbMQ/CvJEVFwXBF7EXwryRFUcFQZboEwRZcVcQqIh5EOaNrDgtCL6IvRDmjay4LgiyRLEg9AK/ 0mEgiHkQ5ouYB2HenJ6ANcJpw/Y5bc53OZ8pQagVsRfCvDHtxaI5duJcxl4QakU/GX8WaisI8wR+ peNAEPMgzBcxD8K8OT0Ba4TThu1z2p7vcj5TglArYi+EeWPaC3XZ7NWz5paeqme7vbqMCcuJR+pJ c6NeNHf0VL3Y3agnMWE58UivxNDcesb3dyFx6mhZeKz/kLC584zv70Li1NGy8Fi/j99ce8bwxcQk 3PGq8FjPU2++eMb4TmMS7nhVeKzHb5uDZ4zvNCbhjleFx7pf0xw9Y3ynMQl3vCo8Xt57eInwBuED wqfVvYfXCN8RfiLAO/PgMcIVwkeEz6t7D/YI3xB+IKjmiylQSHgXQV01R1PUS7XVnywRdPro9/8j 23ut//a233nrytZcm6IeY+9r9bo5mKKeq43+ZImg00df/x/Z3mtXwtrVle2iOXQDvXCBsfILnHt3 6MI4RKdLhNOGVRV7PlZv3ovm2I16qT//c4Ebsjt2YRyi0yXCacOqj+2r6827aPbdqEvdr7tcqFd4 ZvcDwThUp2uE04btQ3x1vqs376K56UY90Z+/X6g3OPfNQDAO1eka4bRh1+vN+a7evIvmthv1TH+O 9C3OfTsQjEN1ukY4bdj1enu+qzfvornrRr3Qn/9aqHc4991AMA7V6RrhtGHVy/5v/968tiaC/FMW kC6NpGULOdNMZs4ADWVkd2gqyD9loro1lpYN5ExzGTlDNFgru78mAy2FAwa1mn14oIZzlzOg7UBL KYFBzWcfHqgF3eUMaETQUljATzta2QI1pbucAa0JWkoN+GlQK1ugNnWXM6BZQUvxAT8ta2UL1Lju cga0L2gpR+Cnia1sgVrZXU63hoaYChPSp7EN2bbF1OD9JUdodL/iOjU8xFS4kF6Nb8imLaYF6C05 xiL4Fee0EKBHbQN/y+FZTLBFCSnfaWlAj/oH/hbIs5hgyxRSvtNigR7zAeiWzLO4YAsXUr7T8oEe MwToFtGzuGBLGVK+04KCHnMG6JbVs7hgixtSvtMSgx6zCOgW2rO4YMsdUv6gRYc4DCeEZPHPZWuK f4uAXrOoFkPc6QZbFBCX4Va0Fse5bEzxb5HQaxbVYok7HalFA4hNCBDfAkp42iQtJq76kFpYgNik AfEtsoSnTdKC46oPqcUHiE0rkK6FmPD0SVqUXPUhtUABsakH0rVYE54+SQuXqz6kFjEgNj1BuhZ0 wtMnaXFz1YfUQgfEpjBI16JPePokPQCu+tB6DOppbENaXSXtcbyM6ZGobboei2L/ZpL2eNSo1aX1 mNTj2I6EStvjeh7TI1ObdD02xf7NJO3xqVGrm6THSIXetaKSpEdKZYTLYu3xUhn7epP0qKnQu55U kvTYqYxwWaweASpjX28SjwMVepecSlKPBpURLo/VY0Jl7OtN4pGhQndZUEnq8aEywuWxepSojH29 STxWVOguHSpJPWJURrg8Vo8blbGvN4lHjwrd5UUlqceQygiXx+qRpDL29ab1eMZKvKMtVhJ7XGPF 6ZXllJQe31jJ/8sY1eMcK9P6utJ6vGMl3tEaK4k97rHi9MpzSkqPf6zk/2WMOuIQK9P6urKMeHDD 74rnJsuIDTcV3JZJjThxU9v9yjJixg3/UA43WUb8uKngtkxqxJKb2u5XlhFXbviHALnJOmLMTQW3 Z1Ij3tzUdr+yjNhzwz+EzE3WGQfcVHB7JjVjgpva7leWGR/c8E9B4CbrjBVuKrg9k5pxw01t9yvL jCFu+KewcJN1xhM3FdyeSc3Y4qa2+zWtGWe5Jf9EndwysRl3ucU5K69mmdKMw9wimqGoGZe5RX4u 051xmlvyT9TLLRObcZtbnLNya5YpzTjOLaIZippxnVvk51L9jPPSKX+qb+lUOeO/dOSxyM283rgo HXlecjODN15Kp/xXDUqnyjeOSkcei9zM642v0pHnJTczeOOudMp/xal0qn7jsXTk8cjNvN44LR15 XnIzgzd+S6f8VyxL5y9757LjNAyF4UeYV2oXldJF1rxBl2zZsU7eqlyHQilpBatKwDCdjgSaDYIu PfyOuCR1Lj6Ok5Lm1/l8aWs7TkXOOTbT47P+xXXf4eNxaob1i/e+w+fl1Awg4kDf6f9PvPvOWUd8 6Dt8PE7NsCJu9B0+L6dmABFP+k7/Q0z0nbOOONN3+HicmmFF/Ok7fF5ODSMuURgohMKIW5RaqY3K RTlfYcQ1Cj0DCiPuUYRCdTF0YcRFCgOFURhxk8KIoxRGXKUoegYU6xCqjLhLobqgWKoLRlwmhKFK CWHEcUJoFgixiSDOiPuE0F4QYmMveOIEIQzVTghPXCGEZoEQmxNUeOIQIbQXhNjYC564RQiPqCGE J84RUg/NAxk2PHGREFtoL8iw4YmjhPCIPkJ44i4hUmgeyLDhidOE2EJ7QYYNT1wnhEcUE1IK9pV2 FYnmgQwXmgcybNInIERKK+ae0/L4rdpnipBzhfaCDJu8vRgn+0Jqj7En5FzRT8ZhrFaEDBPsK+0r Es0DGS40D2TYpE9AiJRWzD2n1fFbtc8UIecK7QUZNnl7oZ4l1+oyuZWX6nJ9rZ41ScF/nqknyZV6 kdzIS/VifaWeNEnBf57pkxiSG8t8tnbJfWdBz3MdkDC5tcxna5fcdxb0PNe/x08+W+bYi2lStJ1P e57rv1NPvljm+E6bFG3n057n+v9vk51lju+0SdF2Pu15rtc1yd4yx3fapGg7n/Y8Dy4eP0F6g/QB 6dP04vFnpK9IP5DUxaNoHu1m8TyI58ijHV5uosMs3gTxBnl0iDYj3WAXxDpHfaQ/PgSxzlGfRIvZ JF6EcVpMIrBFbRvGaTGJwB1qd2GcFpMI3KN2H8ZpgVfRAk3iRYAxYlTxcosm8TaIt8jx+XakG9wF sc5RH+mP74NY56MIQ8wx0jyM02ISgQ1qmzBOi0kEdqjtwjgtJhE4oHYI47TAK34PKPAquHg4R3qN 9B7p4/Ti4RXSN6SfSPcXD+bJ57zAY0BQFPUq2eVFPVdL/UmApMvob8vsu0bAdzP4ltkNCf+c58mX vKin+GijXif7vKiXaqU/CZB0GX3/0zL7rjET8yeZRd30TJ6Okl0x6rkOU4xyOVvvisg10WWAlFaM +Zh/rlfaV0/q+SjZF6Ne6kaHEb6V9b6IXBNdBkhpxZiUuZ9b2ldPCnr/qhj1RG8ALMZqAeV+VZFy TXUZIqUVc7PZeKukL7IpdOU4uS5GPdONtmP1BhO4rki5proMkdKKObk3x2+V9tWTezZObopRL3Sj u7F6iwncVKRcU12GSGnFmJx5xGdpXz25F+Pkthh1qRvdj9U7TOC2IuWa6jJESivG5MwzIUr76sld mhoL8lupQIo0l5YlxNBg2Z4Omizb3UqjQX4rHUiRZtOyghgaLtvTQdNlu8s0HsgoJlCp/czmjpqw fpw6rQgyygtUakizuaO2rB+nTnOCf4oNWGrR426uGrV+nDrtCjLKD9hpWqObo9atH6dOA4OMggR2 2tjo5qiZ68ep09Igo0SBncY2ujlq7/pxKjQ5JK9YIWWaPSfLjOQ1fe3ITprfbrgKSwDJK2ZImWXI ySoreUtRPnIDy2E3nJ0lASXqHdhbGMthnC2Py/h2FgmUmAlgb6ksh3G2YC7j21k2UGxmgIPFsxzO 2RK6jG9nIUGJuQJyy2k5nLNFdRnfztKCErMH5BbYcjhny+wyvp3FBiXmE8gtueVwzhbeZXwLyw+p NrAQkWdwLMu82HsO8pk18iyaXc7C84BUG3iIyDM5llVe7D0X+cwaeTbNLif3fIDQ1QDNPSWPl/Xi WbU1H7knBoSuD2juuXm8rBdPr635yD1DIHTBxsqjJ+nx8l48z7bmI/dUgdAlBP48W4+X9+IJtzUf uecMhC4q8Odpe7y8F8+8rfnIPXkgdJmBP8/f4+W9rBTamo/DykLNmzrc6pXXlcnzJisXtfS3slGt fzNeV0aq0+k6rKzU06YLDvXa68rsZZOVm1r5W9mp1r8ZrytD1el0/a0spciXYFK8rFyldHBbra6M pXR9v/5W3lLkS1QpXlb2Ujq4rVZ3DqR0fb/+diakyJfuUrzufEjp4PZa3VmR0vX9+tu5kSLf2pDi dWdISge31+rOk5Su79ffzpYU+daPFK87Z1I6uL1Wd+akdH2//nb+pMi3xqR43VmU0sHttbpzKaXr +21hZ7SpNN+Qayqed2abSu3ubZvic2e4qZz+X0anO9NN5Rd795LTUAwEUXRtLIBlM0SwCcQugCQz PsIOL0V1dV/ViYQYxnEcPbfbtd4uwZPxozn+QPZobvxk/miWT++VueXOwNH4Pxn/ujNxNLXeLt/O iJr+kb2aZWdHrcGwlNqZUus2Xr6dNTX9lo+aZWdQrcGwlNrZVOs2Xr6dWTX9VqGadWdZrcHwlNoZ V+s2Xr6dfTX9VrOatTJBrcHwlKqsUOs2Xr7KEDV9qYKatbJFrcHwlKrMUes2Xr7KIjV9qYuatTJK rcHwlKrsUus2XgUr09zxF/S4U6wyz51l9V7nVKpMdIdvhqjKTHf4uBSvTHXHX9DnTrHKXHeW1bud U6ky2R2+GaIqs93h4zKjMj1dfklwupYnA9IxLdxmncxIx3xxm3IyJl3+kYR0LU8mpWNauM06GZaO +eI25WReuvyjUOlan4xMx/Rwm3UyNR3zxW3KyeB0+Ucx07U+mZ2O6eE262R8OuaL25TOBOnyj4Kn a90ZIh3Tw21WZ450zBe3KZ1R0uW3okjXujNNOqaH26zOQOmYL250ZiI0FCF05iJ7WXbvIn1DZzbC LwNCZz5yZfi6mB46MxIaihE6c5KdLLt3kr6hMyvhlwGhMy+5MnxdTA+dmYE3WpoCdCYH9rEsYDY6 8wO7WC8wGzdTAGu0dMds3MwCsCwA3EwE/AHrBWbjZi5gjatsMBs30wEsD8DypjluZgRYL4Cd9YKb SQGu8gO4mRfYxPKA2biZGtjFeoHZuJkdWOMqY8x2erj08suL5QFzsTxgtssMuD+9Ln98f/D0+PVf yzkFdMV6gdk+rxfnB08Pd8+vP1pedw90dZ4e73dvT8AHe2eS7DQMhOEjcCWyg0XW3IJzcCzmMIUY CrbMQwHFDthQJWipoPIUKZZa6nZbUtf/qezKs2T5Oe5uDVbGBDqXPs8kdQ/KuKh7UMbGPQFbSG4n 7Hg6nH6UfKYUpVfUXyhj4/sL2/G0s7+ZD+kRpBeQXsFnbyF9g/QTEjiV67cgPYb0EtLrq5euv4H0 FdIPSObStZvTe18wtxDmU5nH02dfZgc1sDNzIdntjd//j7z4abBSYThvN5bNLlh1Z3rry9yCPz00 D6ePvsw9s7d/uQLJbm98+X/kxU/DmgQfxbLZmty6PH2MY+7Z9bW+X4YKPPsYwzvEbq9AcjtBfcKB pbN5baXuXZ4+xzE7e9Cfy3B/nn2O4R1it1cguZ2gUmHQcTavrdRuM72JY27ab+nNjXkALd03M8k7 1G63kNxOGBE9OP3obF77dNzcTO/imNv2oOcb8wgq8G4meYfa7RaS2wkqF/7m7Nm8tnK3N9OHOOau PQi2T6ACH2aSd6jdbiG5naBy4Q/UnM1rK3d3M32KY+7bg35tzFOowKeZ5B1qt1tIbieoXLiY6dm8 tnL3Q4sF+mdUrELL5XQAnVgwP2eBJbuYPcuiWTmj4xRaNqc96MTCeTlLLN2F7EiLZzkaJmDW+oWH F1rCdDkpq2g5Gi9g1kKGhxday3Q5KctpORo2IM+KBtkKLWq6nJR1tRyNH5BnaYNshVY3XU7KAluO BhLIs8ZBtkLLnC4nZaUtRyMK5FnsIFuh9U6XM2PJQb5hdYpbdk+H/4pb+njJFZY/r7gZTwDyDbNT 3DN42v9T3FPES67xHHnF5XkSIGreHfkeJrOYYs9TUn6eRwKibsKR76kyiyn2YCXl53k2IOpmHHiP l1lcsScsKT/PQwJRd+XAe87M4oo9akn5eZ4WiLo9B94DZxZX7JlLys/z2EDUfTrwnjyzuGIPX1J+ hucHzTlYJ1RkcKqDr/zIAV+zqsii7nQZkQco4eANLjI51d5XfuSCr1lVZFN3OnzkAyBDDaA+UiI8 LUlkxVUffCQGIEMfoD5yIzwtSaTHVR98ZAggQzCALpIkPD1J5MlVH3ykCiBDQoAusiU8PUkkzFUf fOQMIENUgC7SJjw9SWTOVR98JA8gQ2aALvInPD1JS4GrPgUtC3OnNuA2j0lbJrualos50LVsDPt/ hrRlZBatbkHLytyqbXAY2pbZvZqWm9nTtewM+3+GtGVoFq0uXcsSC74JhoWk5YplgctibRljWfp6 6VreWPBNVCwkLXssC1wWa88BlqWvl65nAgu+6Y6FtOcDywKXx9qzgmXp66XrucGC79rAQtozhGWB y2PtecKy9PXS9WxhwXf9YCHtOcOywOWx9sxhWfp66Xr+sOC7xrCQ9ixiWeDyWHsusSx9vQw9o7Wq 75CrFXHPbK2SvbecouwZrpX8N2PRnularevfxdAzXqv6DtlaEffM1yrZe88pypGBWsl/MxYdmajV uv5dciMj3PB32XMjMrLDTQe3ZVUjU9z0dr/kRta44R/y4UZkZJCbDm7LqkY2uentfsmNzHLDP1TI jejIMjcd3J5VjYxz09v9khvZ54Z/qJkb0ZkJ3HRwe1Y1s4Kb3u6X3MwQbvinKnAjOrOFmw5uz6pm 5nDT2/2Sm1nEDf9UF25EZ0Zx08HtWdXMLm56u18rnJkmLfkJPdJa2cw8aSVn7/WsNc1MlJZahqZm ZkpLvy4rn5kqLfkJfdJa2cxcaSVn7/asNc1MlpZahqZmZktLvy5jzExvnfanBLdOl28GtI4+FtKM 9WZG6+jzIs0ob8a0TvuvJLROl28mtY4+FtKM9WZY6+jzIs0ob+a1TvuvQrVO129Gto4+HtKM9WZq 6+jzIs0obwa3TvuvYrZO129mt44+HtKM9WZ86+jzIs0oKxO0TvuvgrdO1ytDtI4+HtKMtTJH6+jz Is0oK6O0TvtLUbRO1yvTtI4+HtKMtTJQ6+jzIo2uzKTSBUVUujKXKk/J1btU/UpXZlNpZKDSlflU SKm5GF26MqNKFxRT6cqcqhwlV+9U9StdmVWlkYFKV+ZVIaXmYnTpysyKYnRJU0XRlckVJR91C8rY 6Mr8ipKL+gtlbPSXKRQljS7proyN/jKLovxl7+x1nAaiKCw6UhlKKoREAR2UdImEJSPhmjegJCVd WjwFT8DLmN8QgWCJBCyKEEhEsMCGf2Wh2XDGQtp1HMcb0szsfOLcudeZwYnszxnn7G6GaQEhViZC 6D/EfIHCFitzIdQslrJBYYuV6RBiekCocaU5VmZEiPkCoYPMF6xMihBL+SHEyrwIHVBMDyhssTI1 QgcV8wUKW6zMjlCzWMoYhS2ZS+MlwfSAwhXTAwpbxRWQKoqiajw9nn+o8ZpC6LCK+QKFrfJ8YY2n e52N9wvVuNw9QodV9vKYdnafIBSmZC69XxJMDyhcMT2gsFVcAamiKKrG05P5hxqvKYQOq5gvUNgq zxfWeHpgV7JTPFI8V7zRY28VnxS/FLvR9SzPxldNnphcbTbW5jCbXjXDxAzVZtNs2LYDxomxreq2 7Z4mxraq42xwNTaD1BQpzqSRqlFqihRn0kTVJDVFijNppmqWmiJpKxtoiBkk2odRqc2RhphRon0Y ldmobQdMEmNb1W3bPUuMbduZdpFrT3lqihRn0lDVMDVFijNprGqcmiLFmTRVNU1NkbQ1N5cW+di/ fLT8eJHj6MrsZ0dfo/Uzjno7tnpqq6+2emmrD7Z6o0pNR5uq1NHREFs9tdWOrfq2mnEa9k6DPeyV u51+blND9+WbF0+fu7Sz2ZlupDdytar3XlV8VFUrT1tF0tal6NrWek+oa2hr74bs5JLht9U2dev1 fOxE3TPr7qX30b4DDFJFUVy+edkelled6bP0xkCt6j1g4qOqWoO0VSRt2Zex/kvYd1iORNdvjd69 2in/67w+slDOjHtzdqFcGadDuvg0KFfO0qLu3dv7Vz2NruQ/ohc2Hio2FJuKt4otxTfF7yS69if6 3l9J+j+3o+8PV9TGitpcUW9X1NaK+raifq8kvUccmXvv1WHu15/uvk2N3b2v5W+J1NO0FMcVJxSn FGcV5xUXqqOj7mbUfRR1/0Tdl1H3R9R9H3W37TAgDRjS0v2CDvP9+tN936bG7t6kvHbOMkiro+sg nQBpsJBW7nJ1oO/Wn/C7NjV29z6LhFGisLkB0tLYOkQ/g2i4iM5/MrMHej0eEt2i7yeiAdHS2DpE PzY+J4geVkQrH/71KTJf/8N1+eujlkFaHb0QUzsMTAPGdM6SEqZ36jm8Y1NDt/VTy39sugzT6ug6 TD+BacCYzhmlwvRePYf3bGroFlHb5V9NXYZpdXQdpttgGjCmc/a9MH1Qz+EDmxq6RdSX8g+ylmFa HV2H6RcwDRZTvFIg9QBSvFIgdRxSvFIQdR1RvFIQdRtRvFIw9QJTvFIw9QBTvFIw9QBTvFIwdR5T vFIg9QBSvFIgdRxSvFIQdR1RvFIQdRtRvFIw9QJTvFIw9QBTvFIw9QBTvFIwdR5TvFIg9QBSvFIg dRxSvFIQdR1RvFIQdRtRvFIw9QJTvFIw9QBTvFIw9QBTvFIwdR5TvFIg9QBSvFIgdRxSvFIQdR1R vFIQdRtRvFIw9QJTvFIw9QBTvFIw9QBTvFIwdR5TvFIg9QBSvFIgdRxSvFIQdR1RvFIQdRtRvFIw 9QJTvFIw9QBTvFIw9QBTvFIwdR5TvFIg9QBSvFIgdRxSvFIQdR1RvFIQdRtRvFIw9QJTvFIw9QBT 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 AA==
オフライン
AlderLake optimized MajiorityCleanES78
MCES78Ubuntu2204.tar.gz.001
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 rfbIIzEgDH1AfuRW8LJFIj2t9sgjQyAMwUC5SLLg5YtEnlrtkUeqQBgSgnKRbcHLF4mEtdojj5yB MEQF5SLtgpcvEplrtUceyQNhyAzKRf4FL1+kp6DVnoSehbmXG3Cbp0V7Jrucnos5lOvZGPX/TNGe kZm0uQk9K3Mnt8NhyvbMHuT03My+XM/OqP9nivYMzaTNLdezlCLvgkkp0nOVMsFtqfaMpUx9v+V6 3lLkXVQpRXr2Uia4LdXMgZSp77dcZkKKvOsupWjmQ8oEt6eaWZEy9f2Wy9xIkac2pBTNDEmZ4PZU M09Spr7fcpktKfLUj5SimTMpE9yeamZOytT3Wy7zJ0WeGpNSNLMoZYLbU81cSpn6fhUyo7mSn5DL lcKZ2VwJZm81pWRmOFfqfzImzUznyrz+XQqZ8VzJT8jmSuHMfK4Es/eaUnJkIFfqfzImHZnIlXn9 u+qNjGijn7LXpsrIjjYreCyzGpnSZm3Pq97Imjb6Qz7aVBkZ1GYFj2VWI5varO151RuZ1UZ/qFCb qiPL2qzg8cxqZFybtT2veiP72ugPNWtTdWaCNit4PLOaWaHN2p5XvZkh2uhPVdCm6swWbVbweGY1 M0ebtT2vejOLtNGf6qJN1ZlR2qzg8cxqZpc2a3teM5yZVlvqT+ipLTObmVdbgrP31ixzmplYW2gZ FjUzs7bw4zLzmam1pf6Evtoys5m5tSU4e3fNMqeZybWFlmFRM7NrCz8ubcxMXzrLnxK8dFb5zYCl w9eiNm19M2Pp8H2pTSvfjFk6y/9KwtJZ5TeTlg5fi9q09c2wpcP3pTatfDPvL3vn8uo0EIVxRUVd jYigC0EXCt0IuhAUURqwkIoBF+LjH3AlFlQQRNwomCCuVVzoxp241G19e33G+uaC9mqt9YXv+k79 ZvRq0qSdqS5Kmu+e35mZTE7SaXLnnNzkZibtpP9VqLQz0G9Gph12j36TrTdT0w77S7/JypvBaSf9 r2KmnYF+MzvtsHv0m2y9GZ922F/6TVZGJkg76X8VPO0M9MgQaYfdo99ka2SOtMP+0m+yMjJK2kn/ UBRpZ6BHpkk77B79JlsjA6Ud9pd+w5GZKBxQhMKRuShmoh29izK4wpHZKLwyoHBkPkqPQneRdeHI jBQOKEbhyJwUE9GO3kkZXOHIrBReGVA4Mi+lR6G7yLpwZGZCAg5pSghHJifEHIYFkm04Mj8hpjBe kGzDmSkI0cMh3Um24cwshDAsEMKZiQj5BxgvSLbhzFyE6OFUNiTbcGY6QhgeCNHONMeZGQlhvCDE JF5wZlJCOJUfIZyZlxBDGB5ItuHM1ISYwnhBsg1nZidED6cyJtkGN5dqXZThgWQXhgeSbVQPcKCq EL/xdKW9StunCBlUGC9ItonGC3nj6azl1xPRTndPyKAiu0fTCq4Rkk1wc6neRRkeSHZheCDZRvUA B6oK8RtP19qrtH2KkEGF8YJkm2i8kDeezsuZ7KCXobehD1FXhT6HfoAGYptbdmsbvLLtlZG6NSxW 3OYGr2J7FaRu063kpUHN9mSKcl6ubtqeTFEuuEMbCt6Q46ms4IJhlIYdT2UFF7xC6ZXjqazgghZK LcdTGZbcIZh4Qzb24aGIxWGYeMM29uGh6A7npcEr25Mpynm5umV7Ms272EUZeyo7nsoKLqigVHE8 lRVcUEOp5ngqK7igiVLT8VSGJR4HdRzUZcaM39cUU0LXFuH86LxmbMjJM+0V930KhZJViTmOTg7l woXuq893X3262+qibnW5++pTXT9bt1rt3MShrs7BobbZ0cFSKJSO0pgGJ9BYfHz6GHvv3OCuzCa8 RnbG3vUy11hwaPqYxrHDSC4cwapdZ3NnrLXWGntBeRV+pIntfba95XNytoGDmrl1utaRNT5tmR6p NPV+Ow/r7RrrYWQeUpRjDk6FZvVGvmlIvD3VIxd7xO+Rez1S7ZFGj7zpkc89wT+yRv/I2lSGXoLe gj4oik0j0BfQj1DttYAtxlYNbB4Z2NQMbOoaG9yLHjtiYPPYwOaJgc3TeBt3lqGXoLegD3BrYwT6 AvoR2sIxPgW9DL0NfYhjXIU+h36ABrb+GGi/n23w/WyD72fL76c/BtrzXzQ4/0WD8w+bensdbyuZ 9/RZ2vg3fMAg/p04EK+MHkLtmZT5VJPPerWfsZaxdmB6IGMtYy1jbRZ6+ixt/NvcmqiPfw6MNLF2 5b7lcxYVP92zmr6zp4wU5b/foTAJpcllZ7LKsOSIM5NaC29fnD5mne1hy4JY23pniTsXZHJdJndl 8lAmT2XyWiafZNL6x5uXiYFZjkpbqRqmbUN3WjdR2XvmiJPloiwx7ZgGQz2dxX+6vCp9FqWLouSL 0j1RqopSQ5TeSF8Nn/xZ8yuW8LufM//dxwdc1HwA/NjFvz5w1hjZPUaXLVGaNFp+v1zc+SL0V4YR QjuaEt7RV6G/ZIwQ2tGM8I6+Cf21ZATV6UXphnh99+8+n84IlaeEyn++vYyk+gNZ7XIgZ4eb/V3o L2kjhHaUC+/oh9Bf60bADubLDQOhv+iNoNyjKL0Ur1+HDtD8UDkXKs8OH4nRsig9SDjmqL6dcPhR fSV2JmI7fJ/QFlQ/T2gWqkc6tPA/Iwx7GXsZe5m+l4lttsFl4sLx+tskz6bAiA9lKRTKqNAfUCiU BH+AP5rD3mHdieh/S7hYXrl3qaWyhdtlNm7hll/ZRpnh3zUOFj8FRe/uyiU75uTE7mUF+hcKJcui vW8IgVT0j1T2fNGaIF9h8o9gc2HUXsmHFGaPI8Xasl+NCm6l4/57cNGvRSU4G1yRa2yozN0/luHa 2FmMT9EY3wwqn/P5j6ISnMaqSnDJr0clOB9ck2tsqMzdd6OW4dpYS+Jj9idtJltyOu/XkgnOyhnt kV/ZcKOWRNhE5TZUFWLtiQ/l1nFb2aizeb+eTHBeGjXzOCo36kmETVRuQ1Uh1qj4a74dt5WNOm/5 I8ngGUJBPQIawtgSI100bKpyB6oK8eeVsaqO28r30U5Z/uNkgjPSaNgKLqMBj7to2FTlDlQV4o27 3F7VcVvZuDOW/ySZ4Jw0emUFV9GAJ100bKpyB6oK8cZdba/quK1s3DnLf5pMcEEatazgOhrwtIuG TVXuQFUh3rjr7VUdt5WNuxD3WJDfTgWS4LmUXIHEPFh4y3/wZOHNjTwa5LfTgSR4NiXXIDEPF97y HzzdT/au5XWHKAwrRFn8FLFRcgk7K3sW6qf4B5TEhrWUhYWUsCELpews7GyRotzvdxILcs2Hkju5 DM+M2xkz872X856Z+cbpfY6f7+uc95z55pv3ec6Z883rNpdFPMAJTEDf6FesroyEtB8qKgJO8AL6 RshidWW0pP1QkRP4G9gAZhT9t5k2otJ+qOgKOMEP4EXaQjNl1KX9UBEYcAIkwIvGhWbKyEz7oaI0 4ARRgBexC82U0Zv20yeSw/KBFVYV2XN20bF8pCc9qyI/z10fJoDlAzOsihlydtm1IlOUe/ZgDp47 HpMAFeEd4DMM042aeTT+eYwEVNAEwGcqphs1g2n885gNKKcZQMF4THdqJtT45zEkUEFXgJw5me7U jKrxz2NaoIL2ADkDM92pmVnjn8fYQAV9AnImZ7pTM7zGP4P5Yf0JFiZSBv/axbzxlYN8ZF7Kwq87 hvKA9Sd4mEiZ/GuX88ZXLvKReSkbv+7kygcQSg3AXykZdmuirEKNR67EAKH0AfyVm2G3Jkov1Hjk yhAQSrAFiaGSNOzeRHmGGo9cqQJCSQjYKVvD7k2UcKjxyJUzIJSogJ3SNuzeRJmHGo9cyQNCyQzY KX/D7k1mCqHGk80sfH8xmt4Sf5Q3XMu4HpMLV5/mLTmDEaSRAyX9u/XL75ruuwUmLsaVsmYpYZ64 +iBvP3+ZlZy7+iRvyankkvubra3Pftd03y2OpPBWWbN0JMfmX31SDlxP83FRzMcAEBtK4FbJ/g6j ZP8pjKd4YVe2TQd1av7Vp+VIzqSVvs/H+cF1UQK3SvZ3GCX7T2FQxS91Zdt0UGcWXL1fit+/cVyQ nMWVer9PcavmfxZZuOKKE8jKtunVcXTB1YelcJK4YwAP+xS3aj7rdWFwxTnX77bijNlppce87KlZ VWUmvayqOKtSWukDL8NGVlX5tPWsavmTd4sRC/YrqMBKIldmV2CFCOa2VEQytzkroqWWBR1YWWTL 7BKsEOGclppI5zQXRjzACUxA3+hXrK6MhLQfKioCTvAC+kbIYnVltKT9UJETcAIbwIuihWbKiEr7 oaIr4AQ/gBdpC82UUZf2Q0RgN+GiPJd11swgx2nWwCv3XRYz5TmRsmYGuTIcP5JIDssHVlhVZM/Z FdeKkb7cs0fk57mrZgJYPjDDKpkhZ5ccKzJFuWcf5uC54zEJUBHeAT7DMN2omUfjn8dIQAVNAHym YrpRM5jGP4/ZgAqaAeSMx3SnZkKNfx5DAhV0BciZk+lOzaga/zym5aU5ZjMw052amTX+eYzNS7vD ZnKmOzXDa/wzmB/Wn2BhImXwr13JG185yEfmpSz8umMoDxhB8IlMmfxrl/LGVy7ykXkpG7/u5MoH EEoNwF8pGXZroqxCjUeuxACh9AH8lZthtyZKL9R45MoQEEowwE5JGnZvojxDjUeuVAGhJATslK1h 9yZKONR45MoZEEpUwE5pG3ZvosxDjUeu5O0Sa6qUv2H3JjOFUOOJeRmFv5enH0qw5cB38jHez1ai Unw6U7Ro0eLT2qJFi9YvHvRWTx5R/fS23asnez4WPX2+8eJtozfCkajReDSaImo0dPNG+rTdoXXu AdxZRT/IKf07fRRdr/dtpC7z36a5dL3e8rkxG1HMRtSZ6YxvNqIzrxh13jDqvGPUIadfi4bOvGbU ecuo855R52P92Yjo4xtmHN8w4/iG0+OjPwPy/C9inP9FjPOPOh9iNiL9lT6V5L8Hcxj8d3jOiPg0 RY8Peepsxof8eVYUGVFkdOaq8BUZdMq7mPLQUmTQxxdTHkaRoeO/DdsZKQ+Xbh+jmsGPfDeJrNe7 93aSyvl+Rr1nO0reXDA0/RjKNZQHKK8X4jXKNZQHKM8WDM04hnIN5QHK64V4jXIN5QHKM7Q5i3Ib pYfyaSFeo9xGeYXyCW3OotxG6aF8WojXKLdRXqF8iuvK0aJF+23DjGB36CUjku5EJffN4jwk3Qh3 /Wnlv7//83O7242nfzA8dPD7H4LqM/Phxu5pExnrxl8nTI4Z1KJFi1Z6D27tknx8mInXuP21bInk 9teve2a9xcJGY4dunk/TUebvm+1ZTMe19O/zHiOcn+rphPHiiXS93uyJcUkrLml1ZqIbl7TiklZc 0vofrvSpJP/tW89Y0tqCSv++CR0wfqFQB4z33+fjl9o9TSk+9OIGvjZPUW7RGax7J8fq9uPMu88Q LePv60TLrnF0vd6acVG0RNHSmVAWRUsULVG0/A9X+lSS/z6uYYiW62t09+E2H5tI1uutQKXC/bO9 dyfFNddo0f5jG2ZEmJlH6Ajz7PvhfyNM3LuoVYetSAPdigzQbUv+3La8z21N+dzWbM9tTfTc1hzP A5HeeSAyO5MJqVqY1JnM2dTCfM5kWqMWp3ImM/+0OIszmRynxQmcyfwxLc7d/F+kbf4vMjaTDMHL yUcyB9ONmlE0/kmm4aW/IxmI6UbNTBr/JGPxMsyxmYzpTs1wGv8k8/GSubEZkelOzZQa/ySD8vKm sZmV6U7NuBr/JBPzUpSxGZrpTs3cGv8xHTNLMfh1FzMxsxSLX3ciRWOYfViigAy7NVFMocYjUliG iYclisywWxMFF2o8IsVnmGtYoxANuzdRlKHGI1KghmmGNYrVsHsThRtqPCJFbJhhWKOgDbs3Udyh xiNS6IbJhTWK3rB7kxlAqPHIZgzJUV8hnZw1nXGc9JmRJBftZixJ8E/GdMaT1Dpc2YwpOe47kUjO m864TvvMyJLLdjO2JPgnYzrjS2odrsmMUQr51EoKkxmpFDUcVtAZrxR1H6/JjFoK+dRTCpMZuxQ1 HFbQFQEp6j5ekxUHKeRTcilMVzSkqOHwgq6YSFH38ZqsyEghX7KQwnTFR4oaDi/oipIUdR+vyYqV FPIlHSlMV8SkqOHwgq64SVH38Zqs6EkhX/KSwnTFUIoaDi/oiqQUdR+v7Yqnr/kvtPma8Yqrr5Gr siHNcsXX15r/ZtS64uxr7fq4bFe8fc1/odXXjFfcfY1clQ9pliv+vtb8N6PWOw6+1q6Pq5E7HqER fik+NBq5YxMaHTgtrbrjFBpdO1+N3DELjfC3ckKjkTt+odGB09KqO5ah0bXz1cgd19AIfwswNBq9 YxwaHTg9rbrjHRpdO1+N3LEPjfC3kEOj0R0HodGB09OqHROh0bXz1ciOj9AIvwUhNBrdsRIaHTg9 rdpxExpdO1+N7BgKjfBbWEKj0R1PodGB09OqHVuh0bXz1a4dZ01b8xt1mraW7bhr2shdeV22Nu04 bNpiZBioHZdNW/y6tHfHadPW/Ea9pq1lO26bNnJXbpetTTuOm7YYGQZqx3XTFr8und9xPugY/K2+ g45O7vgfdMTLomn8X7+4GHTE66Vp/Ae/eBl0DP5PDQYdnfzF0aAjXhZN4wd755LkNAyE4SNwpWTn LHINlhyBNccK72eIQ8EWwsBMCtgCG6oEv1VQJUeWpZbkGEV/9deSK7FkJVPqbnniVl1PfJUO58vc VPDEXemU/4hT6Vz0E4+lw+kxN3U9cVo6nC9zU8ETv6VT/iOWpXPRT1yXDqfH3NT1xHvpcL7MTQUZ B0qn/Ee8S+eiMz6UDqfH3NSVcaN0OF/mpoKMJ6VTfoqJ0rnojDOlw+kxN3Vl/Ckdzpe5YcYlChOF UJhxi+IVb1YuyuUKM65RGBlQmHGPIhSai9qFGRcpTBRGYcZNCjOOUphxlaIYGVCCU6gy4y6F5oIS aC6YcZkQpiolhBnHCaFbICQkgzgz7hNCf0FIiL/gjhOEMFU7IdxxhRC6BUJCdlDhjkOE0F8QEuIv uOMWIdyihhDuOEeIH7oHUjfccZGQUOgvSN1wx1FCuEUfIdxxlxApdA+kbrjjNCGh0F+QuuGO64Rw i2JCnOC+0vWI0j2QeqF7IHWjZ8Aaqg/se07b05e8c4qQS4X+gtRN318s2+Mg3m3sCblUupnxe6l2 hNQJ7isdR5TugdQL3QOpGz0D1lB9YN9z2p2+5J1ThFwq9Bekbvr+Qm3ag3rUfpbX6tH+oDYp2vzn hXrQXqkn7Y28Vk/2V+pBijb/eYFtGLCbYWB5ex9T5i6awktkI0RS/8Dy9j6mzF00hZfd8/jtx8AS 92JSqqnLVeFl9zv19lNgie80pZq6XBVe4p+3+C10YInvNKWaulwVXmJRg/8RBpb4TlOqqctV4WVz 6+4G+gL6Fvp+devuR+g36A8o7s7cuQ99CX0H/bC6decA/Qr9DlXtp77AIOFZBPWyPfZFPUUcj3ca aFff+/XvTPNVK7e3/czbULP2Y1/goZCEQz1vr/uiHqtt904D7ep7X/6dab5qD8J6aajZor0eBnZh gf+VL3Dt/fUQ5im6bqD6wBqK/XssZ9tFexwGcwPv/17gD7I/DmGeousGqg+s8dj36pxtl+1hGLXp 1nWbpXqGOXsYUfNUXa+h+sC+h/js9CVn22V7NYx60L3/Zqle4NpXI2qequs1VB/Y43phjcvVdtl+ HkY96t5H/QrX/jyi5qm6XkP1gTUue79GV1sM4WYYhOR4/+dSvca1b0bUPFXXa6g+sMZl5/Z3trUt EeSvsYAMWCQtO4hlmcyWERbKbO6zVJC/xkQNWiwtW4hluYyWMRbMaB5uyYBhcIDbqg2eHmnh/P2M WDtgGCXgtnyDp0daQX8/IxYRGAYLhFlHq1mkpfT3M2I1gWHUQJgFtZpFWlN/PyOWFRiGD4RZWatZ pMX19zNifYFhHEGYJbaaRVplfz/DFhrSN5gQp8U2ZWdK34K7e06w6GHdDVp4SN/gQtwW35StKX0P 4Ow5xSOEdef1EMBhtkG45wjsJtqjxPTv9TTAYf5BuAcK7CbaM8X07/VYwOE+gNyTBXYX7eFi+vd6 PuBwQ0DuEQO7i/aUMf17PShwuDMg96yB3UV73Jj+vZ4YONwikHvowO6iPXdM/6MeHeJxnBCRxz+V XV/CIwL5yJIihrTLjUYUEJ/jVrKI41S2fQmPSOQjS4pY0i4nimiAMIQA6RFQxstmiZimGo8owgLC kAakR2QZL5slgptqPKKIDwhDK5AvQsx4+SwR5VTjEUWgQBjqgXwRa8bLZ4lwpxqPKCIGwtAT5Iug M14+S8Q91XhEEToQhsIgX0Sf8fJZVgBTjUe2YlAPUwNp9TLriuNpyopE7fKtWNTk30zWFY8663Bl KyZ1P3UhofKuuB6nrMjUNt+KTU3+zWRd8amzDjfLilGKfGklJcuKVMoZPtakK14p5/68WVbUUuRL TylZVuxSzvCxJr0jIOXcnzfLHQcp8iW5lKx3NKSc4eP9Ye8OjOsIYSAM999n6sgkDdiHBpZlpX/0 uYAzx/FGCCHNmFTdft4jGZmqesqi6mjGp+rC40kzSlW3n/dIxqqqntKpOpoRq7rweNKMW9Xt5z2S 0auqp7yqjmYMqy48njQjWXX7ec9mPHdjP9G2G4czrrvxmZVVxsmM727434yrGefdeOvfdTbjvRv7 idbdOJxx343PrLwyTmb8d8P/ZlzdcdiNt/5dlh0PNX0qXs2yY6PWYFie2nFS6zZelh0zNf1Wjppl x0+twbA8tWOp1m28LDuuavotQDXrjrFag+F5asdbrdt4WXbs1fRbyGrWigO1BsPzVMWEWrfxslR8 qOlLENSsFStqDYbnqYobtW7jZakYUtOXsKhZK57UGgzPUxVbat3G662KM3f4C3Xc8VjFnTs+q/I6 x0sVh+7gyxBVcekOXpd3K07d4S/Uc8djFbfu+KzK7RwvVRy7gy9DVMW1O3hd2lecp8sv9U3XsuI/ HdPCbdaJi3TMF7cBJ17S5R81SNfyxFE6poXbrBNf6ZgvbgNO3KXLP+KUrvWJx3RMD7dZJ07TMV/c Bpz4TZd/xDJd6xPX6ZgebrNOvKdjvrgN6DiQLv+Id7rWHR/SMT3cZnXcSMd8cRvQ8SRdfouJdK07 zqRjerjN6viTjvniRsclgkYhBB23iM/47MpF9A06rhH8MiDouEcUg8/F9KDjIkGjMIKOmwQdRwk6 rhJ/+WVALLdQpeMuweeCWPxc0HEZoFUpQMdxgGUBWOkgTsd9gPUCWFkvuHECoFU7wI0rAMsCsHKD CjcOAawXwMp6wY1bAFfUANw4B3xjecBs3LgIrGK9wGzcOApwRR/AjbtAFcsDZuPGaWAV6wVm48Z1 gCuKgR/9zyv9+eWP5QFzsTzgH3vnstw0DIXhR+grNYvMuAu/Rpds2bG2X4h1uFMowe3AKjNAIZQZ mG4YyFLlt7g58U3H0rEs+cz/6dLElm/1kXQsK/NG3wEpgs7UfU7nhx/13lOCECtSXwjzZr++WBTX jfT+jL0gxEp5Z+wWai0I8wR+peuOINWDMF+kehDmjb4DUgSdqfuc1ocf9d5TghArUl8I82a/vlCP ik/qWfGFnqpnF5/UI5uQTDxSD4or9aT4TE/Vk4sr9cAmJBOPyl9iKD4bxqcXQ2LXURJ4XE5IWHwx jE8vhsSuoyTwuHwfv/hgGMMXY5NwxyeBx+U49eKjYYxzapNwxyeBx+Xz22JrGOOc2iTc8Ungcdmv Ka4NY5xTm4Q7Pgk8To7uPUB4ifAW4f3J0b0PCF8RfiCoo7vZKtue5qskXyHOtvjzMtud5pdJfok4 22WXx+UC2yQvY+SPy693SV7GyC+zs9NlfpbmOllmYIPcJs11sszADXI3aa6TZQZukbtNc53gr+wM i+RnCcrIkcWfGyySb5J8gxjfb47LBW6SvIyRPy6/vk3yMkZ+ma1Q0irNdbLMwCVyl2muk2UGtsht 01wnywzskNuluU7wl5yH3+chObqzQniB8Abh3cnRnSuEbwg/EW6LD/tCcwEzoqjnxXZf6jFGE+i5 te7rJbJ/S1Y/rc32Xp95q2m14uO+UE/iFRn1orjel3qq1uU3CUKZZt//Lln9tLYT9Vcxm1Y7LrbN qMflzMRIz08vtk1UF9FpgqAztV2pj9BrWxebvm5GPS2/3x3jXFxcN1FdRKcJgs7U9qfuvW1dd1Fc NaMelD39s4U6gxW/6gjVRXUKL8HvTN2rXPuodd1F8akZ9aj8frNQL7HtTx2huqhOUwSdqe/Xy8OP WtddFJ+bUU/K728W6hW2/bkjVBfVaYqgM7X9qv+CZ+u6i+JLM+pZ+f3tQr3Gtr90hOqiOk0RdKa2 X/Vfe2hdt26JoD/GAmqwSFrn0L5lOlhzgIWqrt5nqaA/xgRqsFhaa+jAcu2vOcCCVVc3tmSgYnBA p1WrLz7QwvWX02HtQMUogU7LV198oBXsL6fDIoL/BgsYWsfD1YZayv5yOqwmqBg1YGZBa6sNtKb9 5XRYVlAxfMDMytZWG2hx+8vpsL6gYhyBmSWurTbQKveX02ihoQODCXVY7P86/6O6Be8teZBFNyuu 0cJDBwYX6rD4/7X+rZYaoKVkixrBrLjeGgK0mG1gXnMYFjO4RhlSfm9NA1rMPzCvgQyLGVwzDSm/ t8YCzdUHGFCTGRY3uIYbUn5vzQdaqiFArxENixtcUw4pv7cGBS3VGaDXrIbFDa5xh5TfWxODlmoR 0Gtow+IG19xDyu+s0aGeihMi1fiHOt+XeYuAvmdWLQa7zXW2KKCeihsitTgOtd6XeYuEvmdWLRa7 zZFaNIDYhAD2LSCHm3XSYuLaH1ILCxCbNMC+ReZws05acFz7Q2rxAWLTaqEcthAdbt5Ji5Jrf0gt UEBs6gF3LVaHm3fSwuXaH1KLGBCbnsBdC9rh5p20uLn2h9RCB8SmMHDXone4eSc9AK79ofUY1Mq2 Ia2eO+1xPLbpkahzdz0WxX5mnPZ41Ki7S+sxqYe2HQn1wmmP66lNj0yt3fXYFPuZcdrjU6PurpMe IxV614qKkx4plREOi7XHS2Xs43XSo6ZC73pScdJjpzLCYbF6BKiMfbxOPA5U6F1yKk49GlRGODxW jwmVsY/XiUeGCt1lQcWpx4fKCIfH6lGiMvbxOvFYUaG7dKg49YhRGeHwWD1uVMY+XicePSp0lxcV px5DKiMcHqtHksrYx+vW42kre0ebrRx7XG3V65XllEuPr638/2eM6nG21bROl1uPt63sHa22cuxx t1WvV55TLj3+tvL/nzHqEwdbTet0eXniwQ2/K54bL09suIngskzqiRM3sV0vL0/MuOF/lMONlyd+ 3ERwWSb1xJKb2K6Xlyeu3PA/AuTG6xNjbiK4PJN64s1NbNfLyxN7bvgfIXPjdcQBNxFcnkmNmOAm tuvlZcQHN/xDELjxOmKFmwguz6RG3HAT2/XyMmKIG/4hLNx4HfHETQSXZ1IjtriJ7XpNa8SZb/kf qONbExtx51u9o/Ji1pRGHPqWWIagRlz6lvy7THfEqW/5H6jnWxMbcetbvaNyY9aURhz7lliGoEZc +5b8u0Q/4jx0wh/qGzpRjvgPHbktfDOvNy5CR+4X38zgjZfQCf9Vg9CJ8o2j0JHbwjfzeuMrdOR+ 8c0M3rgLnfBfcQqdqN94DB25PXwzrzdOQ0fuF9/M4I3f0An/FcvQifqN69CR28M383rjPXTkfvHN DGYcCJ3wX/EOnahnfAgduT18M68ZN0JH7hffzGDGk9AJf4qJ0Il6xpnQkdvDN/Oa8Sd05H7xjcy4 JJKJQkQy45aoV72zconilcy4JpKWgUhm3BMRJeZi7pIZF0UyUZhIZtwUyYyjIplxVaSkZSAynkJV ZtwVibkQGZoLmXFZEH6xdy5JTsNAGD4CV5rskkWuwZIjsOZYw/sxhDgUbCEzTCYFbIENVYLfLqhy IttSS2rLj7/6k+RyLFmO426ppVh8VSkhfOM4ITQLhPi8QZxv3CeE9oIQH3vBFScI4avaCeGKK4TQ LBDis4IKVxwihPaCEB97wRW3COESNYRwxTlC3NA8kHnDFRcJ8YX2gswbrjhKCJfoI4Qr7hIiheaB zBuuOE2IL7QXZN5wxXVCuEQxIa3Ar3ToCDQPZL7QPJB5Uz0Ba4Rqw/Y5bc53OZ8pQqYK7QWZN6f2 YlEcG3EuY0/IVCmfjD8LsyVknsCvdOwINA9kvtA8kHlTPQFrhGrD9jltz3c5nylCpgrtBZk3p/bC XBZ786y4lafm2W5vLmPCcuCReVLcmBfFnTw1L3Y35klMWA48KldiKG494/u7kDh1tBx5XL6QsLjz jO/vQuLU0XLkcfl//OLaM4YvJibRjlcjj8t56sUXzxjfaUyiHa9GHpfjt8XBM8Z3GpNox6uRx2W/ pjh6xvhOYxLteDXyeHnv4SXCG4QPCJ9W9x5eI3xH+IkA78yDxwhXCB8RPq/uPdgjfEP4gWCKL6cC hYT/Ipir4ngq5qXZlp8sEcr00e//R9b3Wu/2tv/z1pStuD4V8xh7X5vXxeFUzHOzKT9ZIpTpo6// j6zvtSth7WrKdlEcmoFeuMBY+QXOvTs0UT+kSpcI1YZVFXs+Vmvei+LYjHlZfv7nAjdkd2yifkiV LhGqDas+tq+uNe+i2DdjLst+3eXCvMIzu+8I9UOrdI1Qbdg+xFfnu1rzLoqbZsyT8vP3C/MG577p CPVDq3SNUG3Y9Xpzvqs176K4bcY8Kz9H+hbnvu0I9UOrdI1Qbdj1enu+qzXvorhrxrwoP/+1MO9w 7ruOUD+0StcI1YZVL/vd/q15bU0E+acsIA0aqZItxNJM9ZwBGqqe3aWpIP+UiWnUWJVsIJbmquUM 0WC17P6aDNQUDujUavbhgRrOXU6HtgM1pQQ6NZ99eKAWdJfToRFBTWEBP+1oZQvUlO5yOrQmqCk1 4KdBrWyB2tRdTodmBTXFB/y0rJUtUOO6y+nQvqCmHIGfJrayBWpldzmNGhpypjAhrRq7LtuaWBq8 reQIje5XXKOGh5wrXNOu8euyqYllAVpKjrEIfsU5LQRoUdvA33J4FhNsUULKd1oa0KL+gb8F8iwm 2DKFlO+0WKDFfAC5JfMsLtjChZTvtHygxQwBuUX0LC7YUoaU77SgoMWcAbll9Swu2OKGlO+0xKDF LAK5hfYsLthyh5TfadEhDsMJEVn8c9mein+LQF6zqBZD3Ok6WxQQl+E2shbHuWxOxb9FIq9ZVIsl 7nSiFg0QNiFAfAso4WmTtJi06iNqYQFhkwbEt8gSnjZJC06rPqIWHxA2rUC6FmLC0ydpUWrVR9QC BcKmHkjXYk14+iQtXK36iFrEQNj0BOla0AlPn6TFrVUfUQsdCJvCIF2LPuHpk/QAtOoj6zGYp7EN aXOVtMfxMqZHYrbpeixG/ZtJ2uMxvVZX1mMyj2M7EiZtj+t5TI/MbNL12Iz6N5O0x2d6rW6SHqMU eddKSpIeqZQeLku1xyul7+tN0qOWIu96SknSY5fSw2WpegSk9H29STwOUuRdcilJPRpSerg8VY+J lL6vN4lHRorcZSElqcdHSg+Xp+pRktL39SbxWEmRu3SkJPWISenh8lQ9blL6vt4kHj0pcpeXlKQe Qyk9XJ6qR1JK39eb1uMZK/GOtlhJ7HGNFadXVlNSenxjJf8vo1ePc6wM6+tK6/GOlXhHa6wk9rjH itMrrykpPf6xkv+X0euIQ6wM6+vKMuKhjb4rXpssIzbaTOC2DGrESZup3a8sI2ba6A/laJNlxE+b CdyWQY1YajO1+5VlxFUb/SFAbbKOGGszgdszqBFvbaZ2v7KM2GujP4SsTdYZB9pM4PYMasaENlO7 X1lmfGijPwVBm6wzVrSZwO0Z1IwbbaZ2v7LMGNJGfwqLNllnPGkzgdszqBlb2kztfg1rxlluyT9R J7cMbMZdbnHOypuyDGnGYW6hZhjVjMvcwp/LcGec5pb8E/Vyy8Bm3OYW56zcKcuQZhznFmqGUc24 zi38uUx+xvnYGf9U37EzyRn/Y4ePRW7m9Y+LscPnJTcz+MfL2Bn/Xw3Gzl/2zmZZaRiK44/AK8GC mbLo2jdg6dad6/at8ON6RRELoytmVLxc7ozO3TjKMvhPxo9CWpqkqRjyn/M7SYAkZBh7zkm9PbnI J45Ch5fFuYnria/Q4fVybiJ44i50wn/EKXQu+onH0OHlcW7ieuI0dHi9nJsInvgNnfAfsQydi37i OnR4eZybuJ54Dx1eL+cmgowDoRP+I96hc9EZH0KHl8e5iSvjRujwejk3EWQ8CZ3wU0yEzkVnnAkd Xh7nJq6MP6HD6+XcMOMShYlCKMy4RWmUxqxclMsVZlyjMDKgMOMexVJoLmIXZlykMFEYhRk3Kcw4 SmHGVYpgZEAxTqHKjLsUmguKoblgxmVCmKqUEGYcJ4RugRCTDOLMuE8I/QUhJv6CJ04QwlTthPDE FULoFggxOUGFJw4RQn9BiIm/4IlbhPCIGkJ44hwhzdA9kLjhiYuEmEJ/QeKGJ44SwiP6COGJu4TY QvdA4oYnThNiCv0FiRueuE4IjygmpBbcV9qcULoHEi90DyRu1BWQQlVDv+c0O36r8Zoi5FKhvyBx c+gvBsW2ksZj7Am5VOSVsRuIOSFxgvtK2xNK90Dihe6BxI26AlKoauj3nObHbzVeU4RcKvQXJG4O /YV4VtyI6+LOvhbXixvxrI0m/3khnhRrcVXc2tfiarEWT9po8p8X8iSG4tawHC9cSt9FEngpExIW d4bleOFS+i6SwEv5PH7xybDEvZg2VdflKPBS/p168dmwxG/apuq6HAVeyv+/LTaGJX7TNlXX5Sjw Uu5riq1hid+0TdV1OQq8THqPn0BfQ99DP456jz9Bv0C/Q0XvUTbJNuN8kuQTlNkGL5fZbpwvk3yJ Mttly77ssElyWaLdlx/vklyWaA+z6XiYT9NcVcMMrNBapbmqhhm4R+s+zVU1zMAerX2aqwqvsim6 5NMEc+Ro4uUKXfJVkq9Q4vNVX3a4T3JZot2XH++TXJb9DFNMMNMkzVU1zMASrWWaq2qYgQ1amzRX 1TADO7R2aa4qvOLvgAqvkt7DCfQV9B30w6j3cA39Cv0B3fceTIpPh4KIAUlRxMticyjiuZjJTxKo rLM/Pcvvagnf9eRb+jAo/jlPis+HIp7io6V4VWwPRbwQc/lJApV19u13z/K72kr0RzKrhsmVPO0X m2rgNpCmGPVsvNhUUe6i6gSqGtp69D/Xqx0rF/W8X2yrgf1Ep10fv8piW0W5i6oTqGpoi9Lv59aO lYuC3V9XI57IGwDTgZjCuK9PaLmrqlOoaug3m7W3asaiGMFWDoqbasQz2Wk1EK+xgJsTWu6q6hSq GvriXh+/VTtWLu7ZoLitRlzJTvcD8QYLuD2h5a6qTqGqoS1OP+Kzdqxc3NWguKtGXMtO+4F4iwXc ndByV1WnUNXQFqefCVE7Vi7uWrdYkF9GBVJhuZTMIJoFK490sGTl4UYWDfLL6EAqLJuSOUSzcOWR DpauPNzO4oGSYQInrZ/e3dESNs/TZBVByXiBkxZS7+5oLZvnabKc4K9hA4ZW9HiYq0VtnqfJuoKS 8QNmllYb5mh1m+dpssCgZCCBmTXWhjla5uZ5mqw0KBlRYGaxtWGO1rt5nnpLDjkyrJBay16W2S/R LX3jzE6W32y6ek8AOTLMkFrPUJZ5STRPUTdzC89hNp2ZJwE15h2YexjDaZw9j8v8Zh4J1LgJYO6p DKdx9mAu85t5NlDtZoCDxzOcztkTusxv5iFBjbsC9p7TcDpnj+oyv5mnBTVuD9h7YMPpnD2zy/xm HhvUuE9g78kNp3P28C7zG3h+yGkHC7GKDI5ldijmkYP9ylpFFu2+ziDygJx28BCryORY5odiHrnY r6xVZNPu6+wjH2AZaoD2kZLHr/USWXW1HvtIDFiGPqB95Obxa71Eel2txz4yBJYh2EB4jCQ9fr2X yLOr9dhHqsAyJAT+IluPX+8lEu5qPfaRM7AMUYG/SNvj13uJzLtaj30kDyxDZuAv8vf49V52Cl2t x2FnISZtA27x0uvO5HmbnYuY+dvZiM5/Ga87I/FPl+uwsxJP2244xCuvO7MXbXZuYu5vZyc6/2W8 7gzFP12uv52lLfZbMFu87Fxt+cneHRg3EMJAFO2/6UxK4GRYlpX+7GvggvHFAsSFx5L+Mq66/bzn fnlX1X+iVh35ZV914bGklYOq2897rjJRVf/pXnW08lF14fGklZWq2897rnJTVS9tVB2tDFVdeDxp 5anq9vOeq2xV1Us/VUcrZ1UXHk9amau6/bznKn9V9dJY1dHKYtWFx5NWLqtuP6+gMrqb/YLcbg5X ZnezrN4qc7IyvBv/J+NqZXo3b/25BJXx3ewXZHdzuDK/m2X1XpmTKwO78X8yrq5M7OatP5dvZURN X7JXs6zsqDUYlqdWptS6jZdvZU1Nv+SjZlkZVGswLE+tbKp1Gy/fyqyafqlQzbqyrNZgeJ5aGVfr Nl6+lX01/VKzmnVnglqD4XlqZ4Vat/Hy7QxR029VULPubFFrMDxP7cxR6zZevp1FavqtLmrWnVFq DYbnqZ1dat3G68Gdae74N/S489jOPHeWu/c656Wdie7wzRC1M9MdPi6P70x1x7+hz53Hdua6s9y9 2zkv7Ux2h2+GqJ3Z7vBxmbEzPV3+luB0LU8GpGNauM06mZGO+eI25WRMuvwjCelankxKx7Rwm3Uy LB3zxW3Kybx0+Ueh0rU+GZmO6eE262RqOuaL25STwenyj2Kma30yOx3Tw23Wyfh0zBe3KZ0J0uUf BU/XujNEOqaH26zOHOmYL25TOqOky29Fka51Z5p0TA+3WZ2B0jFf3OjMRGgoQujMRb5l2b2L9A2d 2Qj/GRA685Fi+LqYHjozEhqKETpzki9Zdu8kfUNnVsJ/BoTOvKQYvi6mh87MwB8tTQE6kwPf8VrA bHTmB77ifYHZuJkCWKOlO2bjZhaA1wLAzUTAD3hfYDZu5gLWuMoGs3EzHcDrAVjeNMfNjADvC+DL +4KbSQGu8gO4mRf4iNcDZuNmauAr3heYjZvZgTWuMsY/e+ey7DQMg+FH4JXoDhZnzVvwHDwWt0O5 lQYGttyhAww7YMOMQQ60buqktmwpim3N/3nS6Ulc56SWZMVx2waSS5/OFHUPSruoe1Dapu8BF1D6 F37iaXP6VrBPKUqtqL9Q2mboL2zi6XLV7UYJ/ty9otSK7R5/VmarKG0CyaXdmaLuQWkXdQ9K2/Q9 4AJK/8JPPG1P3wr2KUWpFfUXStsM/YVNPK3tb+ZDeQzlJZTX8N47KN+g/IQCTuXmHShPoLyC8ub6 lZtvoXyF8gOKuXLjdvdhKJhbCPOpzJNuN5RZm639yzUodnvr937P43e9lQr9ebtjh9kFq+5174Yy d+BPj8yj7tNQ5tJs7F+uQbHbW1/2ex6/67fEe2vsMNuSO1e7T+OYS7u+1ver0IDnn8Y43qXfXoPS v/Da499YmjzWNuryarcbx6ztTn+uwvV5vhvjeJd+ew1K/8JrlB90TB5rG7VedW/HMbftt/T2yjyE ke7bM+V4134L3/B/b/gR0cPTtyaPtb3j9qp7P465a3d6sTKPoQHvz5TjXfvtBZT+hdc4/zdnJ4+1 jbu76j6OY+7bnWD7FBrw8Uw53rXfXkDpX3iN83+gZvJY27j7q+7zOOaB3enXyjyDBnw+U4537bcX UPoXXuP8xUwnj7WNe+BbLNB/o2LlW65eW9CJBRsemWDJjg+Psmig/0bHjFq2XhvQiYUbHJli6Y4O R1o8izNMwFnr5++eaAnD9YSsosUZL+CshfR3T7SW4XpCltPiDBsQZ0W9wxItariekHW1OOMHxFla 77BEqxuuJ2SBLc5AAnHW2Dss0TKH6wlZaYszokCcxfYOS7Te4XomLLmTM6xOvmUfaLuXb+mna86w /HHVTXoCJ2eYzTnP4LTZy/cUkzXneI646uI8icOZ9wPxHiaymmTPk1J/nEdyODdxIN5TRVaT7MFS 6o/zbA7nZg7gPV5kdcmeMKX+OA/pcO7qAN5zRlaX7FFT6o/ztA7n9g7gPXBkdcmeOaX+OI/tcO7z AN6TR1aX7OFT6o/w/Hv5DtYJFRmcajtUfOSAb1lWZJH3cRGRByjg4A0uMjnVZqj4yAXfsqzIJu/j 8JEPgAw1gPxIifBjSSIrrvbgIzEAGfoA+ZEb4ceSRHpc7cFHhgAyBAPoIknCjyeJPLnag49UAWRI CNBFtoQfTxIJc7UHHzkDyBAVoIu0CT+eJDLnag8+kgeQITNAF/kTfjzJSIGrPQkjC3MvN+A2T0hH JuuckYvZ0o1sDPt/hnRkZGZtbsLIytzJHXAY2pHZZc7IzWzoRnaG/T9DOjI0szaXbmSJBT8Ew0Iy csUyw2mxjoyxzH2+dCNvLPghKhaSkT2WGU6LNXOAZe7zpctMYMEP3bGQZj6wzHB6rJkVLHOfL13m Bgs+tYGFNDOEZYbTY808YZn7fOkyW1jwqR8spJkzLDOcHmtmDsvc50uX+cOCT41hIc0sYpnh9Fgz l1jmPl+GzGiu8hNyuSLOzOYqmL3lFGVmOFfy34xZM9O5Wta/iyEznqv8hGyuiDPzuQpm7zlFeWcg V/LfjFnvTORqWf8uuTsj3PCn7LkRubPDTQWXZVF3prip7XrJ3Vnjhv+WDzcidwa5qeCyLOrOJje1 XS+5O7Pc8N8q5Eb0zjI3FVyeRd0Z56a26yV3Z58b/lvN3IjOTOCmgsuzqJkV3NR2veRmhnDDP1WB G9GZLdxUcHkWNTOHm9qul9zMIm74p7pwIzozipsKLs+iZnZxU9v1WuDMNGnJT+iR1sJm5kkrOHuv Zi1pZqK01DIUNTNTWvp1WfjMVGnJT+iT1sJm5korOHu3Zi1pZrK01DIUNTNbWvp1aWNmeumUPyW4 dKp8MqB0tFtI09aTGaWj/UWaVp6MKZ3yH0konSqfTCod7RbStPVkWOlof5GmlSfzSqf8R6FKp+on I0tHu4c0bT2ZWjraX6Rp5cng0in/UczSqfrJ7NLR7iFNW0/Gl472F2laWZmgdMp/FLx0ql4ZonS0 e0jT1socpaP9RZpWVkYpnfKXoiidqlemKR3tHtK0tTJQ6Wh/kUZXZlLpgiIqXZlLFafg6l2qeqUr s6k0MlDpynwqpNRctC5dmVGlC4qpdGVOVYyCq3eq6pWuzKrSyEClK/OqkFJz0bp0ZWZFMbqkqaLo yuSK8pe9K1lyGgaiHOFkjtzgwIEjn5BUkSqnipz5A47kyCdgH/germHfQWGvooo1TFiLfdg1vDYE 2yPbaskyRUhXv25pHKklDOnXDpMWH0ILgtWGVOYXCLgQvhCsNuRkCoHADinpLlhtyMksAoHQgkAg JxMJBB4QvhCsNuRkLoHADjnKRrDakJPpBAKhB4HAetKcnMwoEAhfCAQcvpCTSQUCOcpPIJCTeQUC JoQeBKsNOZlaIOBC+EKw2pCT2QUCO+QoY8FqAx8uzRpU6EGwuhB6EKw2snfACJp1zA+eLm2+ZH1P CQT/K4QvBKuNMl/QB0+n+mqtEtbj7gWC/xX09ljv6ysCwWoCHy6tNajQg2B1IfQgWG1k74ARNOuY Hzxd2XzJ+p4SCP5XCF8IVhtlvqAPns7QSXbQi9Cb0Pu49gD6HPoBqqPDySSZHUwncTqBTWb48Vqy fjC9FqfXYJP15FqPBszilCz6PXp5PU7Joj9Izh8cpOdHadYMEuAuendHadYMEuAVeq9GadYMEmAD vY1RmjX4KTmPIen5GD5SdPHjXQxJ78bwkaKb3O3RgFdxShb9Hr28EadkewlcTOBpMkqzZpAA19C7 NkqzZpAAM/RmozRrBgmwjt76KM0a/CT3AQ1+GkQHNt71o1tnyVwlc5vMfTJzMq/JfCKTlZ3cjrzD SE3OTqipezk+e5wafbx46CJ9X/raA6bd9KXS/nVcdG9G0bHJkHpia60+7/S3GEeHzkdvj7th/Dka n4vGKhrficYPovHTaPwGjo4Po0OfLf/E9h/dt3vv8NOd/roaHZnAop+/CwZb0ds2GW2jhn6Cx3MW j4iK5/IUe+cWej/8ya+j8dZF//2+6NaX6O05JxQcbS86+hq9VU4oONpRdPQtenvHCdm7PBpPo9e3 c5/zHYX+9kL/z58eN/KB/UY+aLiRu4rb/h69feCEgqM9RUc/ordPnQAHe2mijt6+cUIWD6Pxy+j1 68IN2lvo7yn0dxXvxKIfje+Z95wu3zRvP12+ZPxNGA7fm3uhy8/NbdHlh8u/w0Ur9P2LvhE3J9AL 0BvQe3ijPoS+gH6EbqgHZQEZgkH1OTUriz6lL9ErMZTa5M/I4lWDE8zyP1XT1KOy6BO4ek1fUGtl 0Wf0FXolhlKbvFuMLF41NmF+FaxqWk/NqqFPUY1UtJcOTmdVKA2hNoZmHWMr5i8H1c7tqbVq6DP0 +noP92K6VoXSEGpjaNYx9mN+ZlQ7t68eVgOMP8gStvP4P4qHDVoaSu0ImnXMz7KMS7Vz++pxNfRJ ev1uX1/E2o8btDSU2hE065j7umjsq25uXz2phj5Nr7/q68tY+0mDloZSO4JmHXNfl4191c3tq3k1 9Fl6faOvr2LteYOWhlI7gmYdY19m3fnauWYkgvwOFiRmRMrkEsSITMWZHhGqNN0SqSC/gwmJGbEy uQIxIldxpkcEK05nRzJCHnCAxqhmDveMcHY/DdGOkAcloDHymcM9o6DdT0NEBPKABTCj4+ZpvpHS 7qchahLyoAbwIqgxzTOa2v00RFZCHvgAXpQ1pnlGXLufhuhLyIMjwIvExjTPqGz3Y0boXPKAmYsZ sUtyaSFGBLd69oroPHdmhM8lD7i5mBG/JFdyMRig1nMLRuC5szIEUBO2AT5zMN14M4qPfyvTADXh H+AzENONNzP5+LcyFlBNH4AHkzHdeTOcj38r8wE1NAS4MyLTnTdT+vi3MihQQ2eAO7My3Xkzro9/ KxMDNbQIuDM00503c/v4Nxm9LBbihDgx/ma5VBZ+RuC+s1YZQ7vlzIyiLBbihjhlHJvlSln4GYn7 zlplLO2Wc8poAMcUAmifAQVcNkjG1NV+nDIswDGlAdpnZAGXDZLBdbUfp4wPcEyt+jpghhhw+SAZ ZVf7ccpAAcdUDwiXsQZcPkiG29V+nDJiwDH1BMJl0AGXD5Jxd7UfpwwdcEyFgXAZfcDlgzwBdLUf PcFTwik1c2/1qSmy+DYa/+NGn0Byf0atubf6zBSPBW00/scNZZZqxrQHpz42tImX3FICqdaY9uDU x4Y28ZJbyg/VQ6YFl7RpurbDJbeUF6rHTIt72qbp2g6X3FI+qJ4wLe5pm6ZrO1xyS3mgmjMt7mmb pms7XHKLr+BMoBegN6D38DvSD6EvoB+hG/Rb79CL0JvQ+/Rr1tDn0A9QrR6XBQEJz7L6opqXRZ/V V+mVGEpt8m0xsnjV+OzKfCavmqYeluXXNwD0efWkLPq0vlz8bkDybDGyeNXchHGpalpPPamGPk2f g73qYe3pkyqUhlAbQ7OOsRXzebh2bk/Nq6HP0usbdAT/dF6FP0OMU/qN/ZjPgrVzaw73//PlGd5B z9lQz0M/K+fWnv22KFnPOwcoG+p5JkT13LrS4IuKZrwysdlQz5KB1XPrKkctvvDKqyKSDfX8Rnn1 XDMSQX4HCxIzImVyFWJEpuJMjwhVmm6JVJDfwURXRyySyxAjchVm+kSwwnR+JCPkAQdojGrmcM8I Z/fTEO0IeVACGiOfOdwzCtr91EXE8lmt7sfgZ9MCHI9c8OMSNYFFUHM/SS2bFuCEnYIfl8haqBjp Xow7mxagSGvBj0v0LRQdcK/nlE0LUOej4IcZoUnygJlLTcTO5WouRgSv9dwiovPcmRE+lzzg5mJG /JJczsVggDrPbRiB587KEEBN2Ab4zMF0480oPv6tTAPUhH+Az0BMN97M5OPfyli8k8bZTMZ0581w Pv6tzMc79IrNiEx33kzp49/KoLz6y2xmZbrzZlwf/1Ym5pUCYjM00503c/v4Nxm9LBbihDgx/ma5 WhZ+RuC+s1YZQ7vlzIyiLDbi1m4Zx2a5XBZ+RuK+s1YZS7vlnDIawDGFANpnQAGXDZIxdbUfpwwL cExpgPYZWcBlg2RwXe3HKeMDHFMrIFyGGHD5IBllV/txykDDHcfqlbEGXD5IhtvVfpwy4nAnlXhl 0AGXD5Jxd7Ufpww9XBFPr4w+4PJBngC62o8+iaeEs2ru3uqzUzxftNH4Hzf6OJL70+qJe6tPT/FY 0Ebjf9xQZqmeMO3BqY8NbeIlt5RAqjnTHpz62NAmXnJL+aF6wLTgkjZN13a45JbyQvWIaXFP2zRd 2+GSW8oH1YxpcU/bNF3b4ZJbygPVGtPinrZpurbDJbdSTJ1bhVTug1RjlWqsfrUCpBqr23fGpRqr 23eHpRqrVGN1iHZSjdU5Utr9WCuCSDVWj4hr92OtMCHVWKUaawtG4LmzMgSvOJeVOZhuvBnFx7+V aXjFsKwMxHTjzUw+/q2MxSs6xWYypjtvhvPxb2U+XpEnNiMy3XkzpY9/K4PyiiqxmZXpzptxffxb mZhXxIjN0Ex33szt41+qsbIyhnbLSTVWVsbSbjmnjCZgGVKXDCjgskEypq7245RhBSxD6pKRBVw2 SAbX1X6cMr6A5Ud9MsSAywfJKLvaj1MGGrD8qE/GGnD5IBluV/txyogDlh/1yaADLh8k4+5qP04Z esDyoz4ZfcDlgzwBdLUfe9VVqcbq3ko1VqnGGtxaK7BKNdbQ1lqBVaqx/jVrrcAq1Vj/mrVWYJVq rH/NWiuwSjXWn+yc7ZHWMAyES6AuKqAD6uTjOBiGoaR3wGlAu+uVLScaa977JyvJxbt27GfZb9NY m8baNNamsTaNtWmswEjWNFZ4FIzzhKSTprEKo2mcJyRnNI1VGJXjPE1jbRqrziJDaamMoij5Q6XB YFihAoFpZGVS8oeKhUGnYCUD08kKp+QPlQ+DPMGKCKaTlVLJHyooBlWClRVMJyuukj9UYgxiBCs0 mE5WbiV/01ghxzDXXdNYIccy1x3laIwYUsYBGbu1OKaseiiHZcSQMo7M2K3FwWXVQzk+I35UcYjG 7i2OMqseyoEa8aOKYzV2b3G4WfVQjtiIH1UctLF7i+POqody6Eb8qOLojd1bZgBZ9cTU1aax8n+b xto0VvtvSGBtGqv7NySwNo112W9IYG0a67LfkMDaNNZlvyGBtWmsy36bxopSSPs+YDTWD5++lACy fv7/71yDyjoq+VYNzTqKeqvGZx1FvVeFtH7++H+srEpqHcV9r4prHcX9qMpsHcX9PALcOt6OM+it 14gX4mwKIlyvUTFkvxTkuF4jZwhKKQxzvUbXkCpSmOh6jcAhgqMw1vUapUNeRWG26zWSPwLwOt72 Z1BeMSXByF+hwoBpZOVR8mOKhOG2QqUC08gKpuTHlA1jW8GKB6aTlVDJjykkBpSClRNMJyuqkh9T WoziBCswmE5WZiU/ptgYOglWcjCdrPBKfkD5ef5pg2A158FDUJsGa3E+RhYq45SM3VqcVVY9vBMz AlEZ52bs1uL0surhnaGRhqo4SWP3FueZVQ/vVI1IVMXZGru3OOGsenjnbOSiKk7b2L3FmWfVwzt5 IxxVcf7G7i0zhax6xoOZRlx9+PSlBOVqCOb3EqirUcnXaryrUdSPatCrUdTPquSr8XaUxV+N4r5V ZWCN4t6qgrBGce9H0LCuEe0IJNY14oVnhAtysa5RMTxQWxCOdY2c4enTwoSs8RrGRzULY7KuETg8 11iYlXWN0uEhwMLArGskfwQ161KCR6CzMCXBcAqhwoBpZOVR8mOKhDEMQqUC08gKpuTHlA0DBsCK B6aTlVDJjykkdkofVk4wnayoSn5MabGj8bACg+lkZVbyY4qNnUeHlRxMJyu8kh9Qfh4q1XQtzXnw ZKlGbFmcjxEwxTglY7cWZ5VVD+/EjJQpxrkZu7U4vax6eGdoREwpTtLYvcV5ZtXDO1UjZ0pxtsbu LU44qx7eORthU4rTNnZvceZZ9fBO3kicUpy/sXvLTCGrnvFgmhsAn5fv+9D3geEnlIAnlOAmVEMm VKMlVAUlVGUkVMUjVCUjHAFFOIKHEB7jKIhCCE86FKQghIcBCgMQwv3yhdkH4ZbywtiDcNd1YeLB I2AHj+AchAqBnWQLlQNMIyuKkj9UGuzQWKhAYBpZmZT8oWJh57JgJQPTyQqn5A+VDzsCBSsimE5W SiV/qKDYaSNYWcF0suIq+UMlxg72wAoNppOVW8nfEAPIMcx11/wCyLHMdUc5GuOZfcYBGbu1OKas eiiHZTyuzzgyY7cWB5dVD+X4jCf0FYdo7N7iKLPqoRyo8XC+4liN3VscblY9lCM2nstXHLSxe4vj zqqHcujGI/mKozd2b5kBZNXDzRheX2aN9OuXdcbxNjMjef3xzVhe6XfGOuN5LS2XmzG9vs1OJF6/ rTOu95kZ2euvb8b2Sr8z1hnfa2m5lhkjG/zUig3LjJSNBZeVOuNlY/X1WmbUbPBTTzYsM3Y2FlxW 6ooAG6uv17LiwAY/JWfDuqLBxoLLS10xYWP19VpWZNjglyzYsK74sLHg8lJXlNhYfb2WFSs2+CUd NqwrYmwsuLzUFTc2Vl+vZUWPDX7Jiw3riiEbCy4vdUWSjdXX613xnG3zC22zzbziOtvCVdnM5lzx nW37/zOWrjjPtlq3y7viPdvmF1pnm3nFfbaFq/KZzbniP9v2/2cs/eIw22rdri1fPLIjfyk+O7Z8 scmOGzyWUl+csuNuz2vLF7PsyP+Ukx1bvvhlxw0eS6kvltlxt+e15YtrduR/AsyOrV+Ms+MGj6fU F+/suNvz2vLFPjvyPyFnx9YdB9lxg8dTasdEdtzteW3Z8ZEd+VsQsmPrjpXsuMHjKbXjJjvu9ry2 7BjKjvwtLNmxdcdTdtzg8ZTasZUdd3tetXac7W77N+rsbsV23O1u4a68O7dKOw53tx4Zjtpxubv1 v0vdHae72/6NertbsR23u1u4K/fOrdKO492tR4ajdlzvbv3vcvsd56fH+Vt9T49b7vg/Pfq12B3P OnFxevT7sjsecOLl9Dj/qMHpccsTR6dHvxa741knvk6Pfl92xwNO3J0e5x9xOj3+sXc2S07DMBx/ BF5pe0sPfQ2OPAJnHqt8f5a6DFyhLNvtAMMNuDAjkMIwXddObDlOiuv/6Ce7k8aOUyaSbDbyWb/x WDp4PE5NXW+clg6el1NTwRu/pVP+K5alc9ZvXJcOHo9TU9cb76WD5+XUVJBxoHTKf8W7dM4640Pp 4PE4NXVl3CgdPC+npoKMJ6VTfoqJ0jnrjDOlg8fj1NSV8ad08LycGmRcgiBRCAQZtyBBCWblgpyv IOMaBJEBBBn3IEqBuahdkHERgkRhEGTchCDjKAQZVyGEyAASnUIVGXchMBeQSHOBjMsAIFUpAMg4 DgDcAgAxGcSRcR8A+AsAYvwFdpwAAKnaAcCOKwDALQAQs4MKdhwCAP4CgBh/gR23AMAWNQBgxzkA wsA9gLrBjosAxAJ/AeoGO44CgC36AMCOuwBogXsAdYMdpwGIBf4C1A12XAcAWxQD0AmvK+16FO4B 1AvcA6ib9glYsLYf3DWn1fGh4DMFwLkCfwHqxvYXM7P3EtzGHoBzRZ6M3zNaA1AnvK6071G4B1Av cA+gbtonYMHafnDXnNbHh4LPFADnCvwFqBvbX9DSbOmRudLX9GizpeUQbf7zgh6YS3pirvU1Pdlc 0oMh2vznhezEYK4iy9ublDJ30RReSkJCcx1Z3t6klLmLpvBS3sc3HyNLXosZUo1dzgsv5e/UzafI kn/TIdXY5bzwUv7/1uwiS/5Nh1Rjl/PCS5nXmH1kyb/pkGrscl542dy6u2R9wfqW9f381t2PrF9Z f7Dy6syd+6wvWd+xfpjfurNl/cL6nZXMJ1vYIPG7CPTS7G2hp7SWbxpWqe/9+nfmzaNObm/3nTdf M/PRFvZQnISDnpudLfSYVvJNwyr1vc//zrx51B2Ec8jX7MLs/NBjyUP77YKvvdn5sE6RumFtPzhD cf8eq7Pthdn7oafy/e8L/gfZ7H1Yp0jdsLYfnPG4a3WdbWdm64eWMq9bzugZP7PbHrVOlXrB2n5w 1xCfHR/qbDszl37ogXz/ZkYv+NqXPWqdKvWCtf3gjuvF8aHOtjNz5Yceyfdcv+JrX/WodarUC9b2 gzuuV8eHutryEK790BP5/ueMXvO1r3vUOlXqBWv7wRmXm9u/s61riUT+GgsR1yK1shaxLZPdMsFC 3WweslQirTER8VkskZWIbbmslikW7EbzeEsmHAyO0GfV3NMTLVy4nx5rJxyMktBn+dzTE61guJ8e iygcDBYTZx2dZomWMtxPj9UUDkaNibOgTrNEaxrup8eyCgfDx8RZWadZosUN99NjfYWDcWTiLLHT LNEqh/vxWWgR22CK9FrsVlrL3YrPgnf3PMCix3Xns/AixwaX+i1+K63lb8XnATp7HuIR4roLegjB a7aFeM8R2U2yR0npP+hpBK/5F+I9UGQ3yZ4ppf+gxxK87kPQe7LI7pI9XEr/Qc8neN2QoPeIkd0l e8qU/oMeVPC6M0HvWSO7S/a4Kf0HPbHgdYuC3kNHdpfsuVP67/PoIgHHyaLy+MeytiU+ItCPbFDE MOxyfRGFSMhxky7iOJaVLfERiX5kgyKWYZdTRTSMMoRghkdAGS+bJWIaazyqCItRhjTM8Igs42Wz RHBjjUcV8THK0IrJFyFmvHyWiHKs8agiUEYZ6jH5ItaMl88S4Y41HlVEzChDTyZfBJ3x8lki7rHG o4rQGWUozOSL6DNePssMYKzx6GYM9HBoIE0vs844ng6ZkdA634yFRv9lss54aNLh6mZMdH/oRILy zrgeD5mR0SrfjI1G/2Wyzvho0uFmmTFq0U+ttGSZkWqZ4LZGnfFqmfp+s8yoteinnlqyzNi1THBb o64IaJn6frOsOGjRT8m1ZF3R0DLB7Y26YqJl6vvNsiKjRb9koSXrio+WCW5v1BUlLVPfb5YVKy36 JR0tWVfEtExwe6OuuGmZ+n7/sHdHObWFQBBFR+jMHYbjMJr7qVEgUKeo7p1aJi/vT5GLgaY5sqO3 an3La9XRHcNVD3x70h3JVU9/v2d3PHezv9G2m8M7rrsZ7soqc3LHdzf+34xHd5x3c9eP6+yO9272 N1p3c3jHfTfDXXllTu7478b/m/HoicNu7vpxWU481PRb8WqWExu1AsNy1YmTWrXxspyYqemPctQs J35qBYblqhNLtWrjZTlxVdMfAapZT4zVCgzPVSfeatXGy3Jir6Y/QlazVhyoFRieqyom1KqNl6Xi Q01fgqBmrVhRKzA8V1XcqFUbL0vFkJq+hEXNWvGkVmB4rqrYUqs2XndVnLnjL9Rx57KKO3eGVXmV c1PFoTt8MkRVXLrDr8u9Fafu+Av13Lms4tadYVVu5dxUcewOnwxRFdfu8OtSvuI8XX6pb7qSFf/p mBZuvW5cpGO+uDW48ZIu/6pBupI3jtIxLdx63fhKx3xxa3DjLl3+Fad0pW88pmN6uPW6cZqO+eLW 4MZvuvwrlulK37hOx/Rw63XjPR3zxa1Bx4F0+Ve805Xu+JCO6eHWq+NGOuaLW4OOJ+nyW0ykK91x Jh3Tw61Xx590zBc3Oi4RGoUQOm6RYYZduUjd0HGN8JcBoeMeWQwfF91Dx0VCozBCx01Cx1FCx1Xy yV8GZLqFKh13CR8XZPLjgo7LAK1KATqOAywLwEwHcTruA6wXwMx6wYsTAK3aAV5cAVgWgJkXVHhx CGC9AGbWC17cAniiBuDFOWCM5QG98eIiMIv1Ar3x4ijAE30AL+4Cq1ge0BsvTgOzWC/QGy+uAzxR DPzpe1/p458vlgf0xfKA3l4z4O376/WP33tO7z//azingKpYL/DF3rksNw1DYfgR+krJIjPuwq/R JVt2rO0XYp1yL5TgdmCVGaA0LTMw3TCQpcpv0ZYkim0dS8ey7DP/J8lNbPlWH0nHkjJutsuLaXG9 l8afsReEoVI+GeupWgjCOIFf6bomSPEgjBcpHoRxo5+AFEEvmD6nxe5Hjc+UIAwVKS+EcbNdXqjn xaV6XXynp+r12aV67hKSnkfquLhQL4sreqpenl2oY5eQ9Dwqf4mhuLKMj87axL6jJPIYsxFiUn/L +OisTew7SiKPMRgfc9tZxvDFuCTc8WHkMTqpY8y3ZYxr6pJwx4eRx+X722JlGeOauiTc8WHkMRo1 eEdoGeOauiTc8WHkcXLw5BjhHcInhC+HB0++IvxA+I2gDh5n82x1lM+TfI44W+HP82x9lJ8n+Tni bJ2dT8oVVklexpMM4Ot1kpcxlmfZydEsP0lzncwysMTSMs11MsvADZZu0lwnswzcYuk2zXWCv7IT rJKfJMgjxyL+XGKVfJnkS8T4fjkpV7hJ8jKeZABf3yZ5GU8yZDFHTvM018ksA+dYOk9zncwysMLS Ks11MsvAGkvrNNcJ/pLroK8D/HWP5ghvET4ifD48eHSB8BPhD8Jt8XVbqC5gRhT1plhtS71AbwI9 t9ZTvUb2sObmp8Zs7+bMW/s2K75tC+Ukhsiot8X1ttQrtSi/SRDKNPt1v+bmp8ZBmEMx9202KVb7 US/KmYmRnh6drfaxuYpOEwS9YByK2UOvalvs+no/6lX5/XqCa3F2vY/NVXSaIOgF43hM723lttPi Yj/quGzpn0zVCaz4RU3YXFWnKYJeML3KxkeV206Ly/2o5+X3y6l6h31f1oTNVXWaIugF87je7X5U ue20uNqPell+fzNV77Hvq5qwuapOUwS9YByX+QueldtOi+/7Ua/xPWbgVh+w7+81YXNVnaYIesE4 LvPXHiq3NS0RdGcsSpkWSesU2rZMO1u2sFCbmzdZKujOmJQyLZbWAtqxXNtbtrBgm5tbWzLNg8HR 1Fg1c/WWFq45nxprp3kwSpoay2eu3tIKNudTYxE19wYLWFrH3c3aWsrmfGqspubBqAE7C2ps1tKa NudTY1k1D4YP2FlZY7OWFrc5nxrrq3kwjsDOEhubtbTKzfmYFvqfdgymVqXF/q/TO5kWvDHnVhbd LjvTwv/TjsHVqrT4/7W4l1kCVOfsUCLYZddYQoAKsw3sSw7LbFqXKG3ybyxpQIX5B/YlkGU2rUum Nvk3llgas/jQtCjJLLNrXcK1yb+x5AMVxRCgl4iW2bUuKdvk31iCgoriDNBLVsvsWpe4bfJvLIlB RbEI6CW0ZXatS+42+deU6FoNBSdEKvF3dbot+xoB/cicagxuu6upUWg1FNwQqcaxq8W27Gsk9CNz qrG47Y5UowHEKgRwrwF53K2XGhPX8ZBqWIBYpQHuNTKPu/VSg+M6HlKNDxCrVlPlsYbocfdeapRc x0OqgQJiVQ/4q7F63L2XGi7X8ZBqxIBY9QT+atAed++lxs11PKQaOiBWhYG/Gr3H3XtpAXAdD63F oOauFWn1xmuL44VLi0Sd+muxKPYr47XFozo9XFqLST1zbUiot15bXK9cWmRq4a/FptivjNcWn+r0 cL20GKnQm1ZUvLRIqXRwWqwtXipdn6+XFjUVetOTipcWO5UOTovVI0Cl6/P14nGgQm+SU/Hq0aDS wemxekyodH2+XjwyVOguCypePT5UOjg9Vo8Sla7P14vHigrdpUPFq0eMSgenx+pxo9L1+Xrx6FGh u7yoePUYUung9Fg9klS6Pl+/Hk9XuTvaXOXZ4+qqRq8sp3x6fF0V/j+jU4+zq/p1ufx6vF3l7mh1 lWePu6savfKc8unxd1X4/4xO3zi4ql+XK8gbD274XfHcBHljw80Abkuv3jhxM7T7FeSNGTf8r3K4 CfLGj5sB3JZevbHkZmj3K8gbV274XwFyE/SNMTcDuD29euPNzdDuV5A39tzwv0LmJmiPA24GcHt6 1WOCm6HdryA9Prjh74LATdAeK9wM4Pb0qscNN0O7X0F6DHHD34WFm6A9nrgZwO3pVY8tboZ2v/rV 4yy0wnfUCa2e9bgLrcZeeUNWn3ochpZYhqh6XIaW/Lv0t8dpaIXvqBdaPetxG1qNvXKHrD71OA4t sQxR9bgOLfl3GXyP89iJv6tv7Ayyx3/syGMRmnGNuIgdeV5CM4IRL7ET/1CD2BnkiKPYkcciNOMa 8RU78ryEZgQj7mIn/iFOsTPoEY+xI49HaMY14jR25HkJzQhG/MZO/EMsY2fQI65jRx6P0IxrxHvs yPMSmhHMOBA78Q/xjp1Bz/gQO/J4hGZcM27EjjwvoRnBjCexE/8UE7Ez6BlnYkcej9CMa8af2JHn JTQy45JIJgoRyYxbokY1zsolGq5kxjWR1AxEMuOeiCgxF2OXzLgokonCRDLjpkhmHBXJjKsiJTUD kfUUqjLjrkjMhcjSXMiMy4IgU5UKgsw4Lgh/2TuXJKdhIAwfgStNdski12DJEVhzrOH9DHEo2EJm mEwK2AIbqgS/XUyVE9mWWlJbfvzVnySXY8lyHHdLLTmiWSDE5x/E+Y/7hNBeEOJjL7jiBCH8q3ZC uOIKITQLhPisoMIVhwihvSDEx15wxS1CuEQNIVxxjhA3NA9k3nDFRUJ8ob0g84YrjhLCJfoI4Yq7 hEiheSDzhitOE+IL7QWZN1xxnRAuUUxIK/ArHToCzQOZLzQPZN5UT8AaodqwfU6b813OZ4qQqUJ7 QebNqb1YFMdGnMvYEzJVyifj78JsCZkn8CsdOwLNA5kvNA9k3lRPwBqh2rB9TtvzXc5nipCpQntB 5s2pvTCXxd48K27kqXm225vLmLAceGSeFNfmRXErT82L3bV5EhOWA4/KlRiKG8/4/i4kTh0tRx6X f0hY3HrG93chcepoOfK4fB+/uPKM4YuJSbTj1cjjcp568dUzxncak2jHq5HH5fhtcfCM8Z3GJNrx auRx2a8pjp4xvtOYRDtejTxe3nt4ifAG4SPC59W9h1cIPxB+IcA78+AxwluETwhfVvce7BG+I/xE MMXXU4FCwrsI5m1xPBXz0mzLT5YIZfroz92R9b3Wf3vb77w1ZSuuTsU8xt7X5nVxOBXz3GzKT5YI Zfro292R9b12JaxdTdkuikMz0AsXGCu/wLl3hybqh1TpEqHasKpiz8dqzXtRHJsxL8vP/17ghuyO TdQPqdIlQrVh1cf21bXmXRT7Zsxl2a+7XJhXeGb3HaF+aJWuEaoN24f46nxXa95Fcd2MeVJ+/mFh 3uDc1x2hfmiVrhGqDbteb853teZdFDfNmGfl50jf4dw3HaF+aJWuEaoNq172eo2teRfFbTPmRfn5 74V5j3PfdoT6oVW6Rqg2rHrZ/+3fmtfWRJD/ygLSoJEq2UIszVTPGaChrOwdmgryX5mYRo1VyQZi aa5azhANVsvur8lATeGATq1mHx6o4dzldGg7UFNKoFPz2YcHakF3OR0aEdQUFvDTjla2QE3pLqdD a4KaUgN+GtTKFqhN3eV0aFZQU3zAT8ta2QI1rrucDu0LasoR+GliK1ugVnaX06ihIWcKE9KmsU9k eye2Bm8vOUKj+xXXqOEh5wrXtGr8E9nciW0BWkuOsQh+xTktBGhR28DfcngWE2xRQsp3WhrQov6B vwXyLCbYMoWU77RYoMV8ALkl8ywu2MKFlO+0fKDFDAG5RfQsLthShpTvtKCgxZwBuWX1LC7Y4oaU 77TEoMUsArmF9iwu2HKHlN9p0SEOwwkRWfxz2Z6Kf4tAXrOoFkPc6TpbFBCX4TayFse5bE7Fv0Ui r1lUiyXudKIWDRA2IUB8CyjhaZO0mLTqI2phAWGTBsS3yBKeNkkLTqs+ohYfEDatQLoWYsLTJ2lR atVH1AIFwqYeSNdiTXj6JC1crfqIWsRA2PQE6VrQCU+fpMWtVR9RCx0Im8IgXYs+4emT9AC06iPr MZinsQ1p8zZpj+NlTI/EbNP1WIz6N5O0x2N6ra6sx2Qex3YkTNoe1/OYHpnZpOuxGfVvJmmPz/Ra 3SQ9RinyrpWUJD1SKT1clmqPV0rf15ukRy1F3vWUkqTHLqWHy1L1CEjp+3qTeBykyLvkUpJ6NKT0 cHmqHhMpfV9vEo+MFLnLQkpSj4+UHi5P1aMkpe/rTeKxkiJ36UhJ6hGT0sPlqXrcpPR9vUk8elLk Li8pST2GUnq4PFWPpJS+rzetxzNW4h1tsZLY4xorTq+spqT0+MZK/l9Grx7nWBnW15XW4x0r8Y7W WEnscY8Vp1deU1J6/GMl/y+j1xGHWBnW15VlxEMbfVe8NllGbLSZwG0Z1IiTNlO7X1lGzLTRH8rR JsuInzYTuC2DGrHUZmr3K8uIqzb6Q4DaZB0x1mYCt2dQI97aTO1+ZRmx10Z/CFmbrDMOtJnA7RnU jAltpna/ssz40EZ/CoI2WWesaDOB2zOoGTfaTO1+ZZkxpI3+FBZtss540mYCt2dQM7a0mdr9GtaM s9ySf6JObhnYjLvc4pyVN2UZ0ozD3ELNMKoZl7mFP5fhzjjNLfkn6uWWgc24zS3OWblTliHNOM4t 1AyjmnGdW/hzmfyM87Ez/qm+Y2eSM/7HDh+L3MzrjYuxw+clNzN442XsjP9Vg7EzyTeOxg4fi9zM 642vscPnJTf/2DuXHadhKAw/wrxSu6iULvIaXbJlxzp5q3KnUEpawaoSMEynI4Fmg6BLl98Wl7RO 4kucFje/zndsTxM7bqWccxzIcQ/euIud+F9xip2LfuMxdnh7nJt+vXEaO7xfzk0P3viNnfhfsYyd i37jOnZ4e5ybfr3xHju8X85NDzIOxE78r3jHzkVnfIgd3h7npl8ZN2KH98u56UHGk9iJP8VE7Fx0 xpnY4e1xbvqV8Sd2eL+cG2ZcojBRCIUZtyhGMWblolyuMOMahZEBhRn3KI5Cc9F3YcZFChOFUZhx k8KMoxRmXKUIRgYU6xSqzLhLobmgWJoLZlwmhKlKCWHGcULoFgixySDOjPuE0F8QYuMvuOMEIUzV Tgh3XCGEboEQmx1UuOMQIfQXhNj4C+64RQi3qCGEO84RYobugfQb7rhIiC30F6TfcMdRQrhFHyHc cZcQV+geSL/hjtOE2EJ/QfoNd1wnhFsUE1ILnittGpTugfQXugfSb9QdkEJVQ3/mND/+yHhPEXKp 0F+QfnPoL4bFthLjNvaEXCryztgNxYKQfoLnStsGpXsg/YXugfQbdQekUNXQnzktjj8y3lOEXCr0 F6TfHPoL8bS4ES+LO/davFzeiKdtNPnPC/G4uBbPi1v3WjxfXovHbTT5zwu5E0Nxa1lOlj5l6CKJ vJQJCYs7y3Ky9ClDF0nkpXwfv/hsWeJZTJuq63IceSn/n3rxxbLEb9qm6rocR17Kf78tNpYlftM2 VdflOPJSrmuKrWWJ37RN1XU5jrxMrh49hr6BfoB+Gl89+gz9Cv0BFVcPs2m2meTTJJ+izDb4c5Xt JvkqyVcos122GsgTNkkuS7QH8vAuyWWJ9iibTUb5LM1VNcrAGq11mqtqlIF7tO7TXFWjDOzR2qe5 qvBXNsMp+SzBGDma+HONU/J1kq9R4vh6IE+4T3JZoj2Qh/dJLstBhiGmGGma5qoaZWCF1irNVTXK wAatTZqrapSBHVq7NFcV/uLvgAp/JVcPptDX0PfQj+OrB9fQb9Cf0H3x+VAQLiAjinhVbA5FPBNz eSSByjr7e2b5Uy3bu555q6pb8eVQxBN8uhKvi+2hiBdiIY8kUFln3/+cWf5Um4T+KmZVt0GxqQae ApmJUc8ny00V5VNUnUBVQ5uK/j/06vri0ttqYC1xfDfAb7HcVlE+RdUJVDW0+ehPb2v7DovrasRj udKfDcUMVvy6QcunqjqFqob+VFn7qLbvsLipRjyVx9dD8QbXvmnQ8qmqTqGqoc/rzfFHtX2HxW01 4rk8fj8Ub3Ht2wYtn6rqFKoa2rz0HTxr+w6Lu2rES3l8PxTvcO27Bi2fquoUqhravPTdHmr76pYI 8ttYQCoskpI5RLNM5Z4eFqrc3WSpIL+NCaTCYilZQDTLVe7pYcHK3a0tGSgZHNBo1fTTPS2ceZwG awdKRgk0Wj79dE8raB6nwSKCfwYLWFrH426+ltI8ToPVBCWjBuwsqNbN05qax2mwrKBk+ICdldW6 eVpc8zgN1heUjCOws8RaN0+rbB6n0kJDjgwmpNZil2X+RzQLbhzZy6LbDVdp4SFHBhdSa/HLsiiJ 5gHqRm7hEeyGM3oIUGO2gb3nsBzG26P4jG/0NKDG/AN7D2Q5jLdn8hnf6LFAtfsAHp7McjhvD+cz vtHzgRo3BNw9ouVw3p7SZ3yjBwU17gy4e1bL4bw9rs/4Rk8MatwicPfQlsN5e26f8Rs9OsTgOCFO Hv9Y5odiHxG4z6xVxNDuco0RBcTguCFOEcexLA7FPiJxn1mriKXd5ZwiGuAYQoD2EVDAywaJmLqa j1OEBRxDGtA+Igt42SARXFfzcYr4gGNoNRQBI8SAlw8SUXY1H6cIFDiGeiBcxBrw8kEi3K7m4xQR A8fQE4SLoANePkjE3dV8nCJ04BgKg3ARfcDLB1kBdDUftxWDmLYNpMWroCuOZ21WJGIebsUiOv9l gq54xEmn67ZiEk/aLiTE66ArrhdtVmRiEW7FJjr/ZYKu+MRJpxtkxeiK+9LKlSArUldO8LU6XfG6 curvG2RF7Yr70tOVICt2V07wtTp9IuDKqb9vkCcOrrgvyV0J+kTDlRN8vU6fmLhy6u8b5InML/bu wLiOEAbCcP+Fpo1M0oB9aGBZVvpHnws4cxxvhBBV9ZRF1dGMT9WFx5NmlKpuP++RjFVVPaVTdTQj VnXh8aQZt6rbz3sko1dVT3lVHc0YVl14PGlGsur2857NeO7GfqJtNw5nXHfjMyurjJMZ393wvxlX M8678da/62zGezf2E627cTjjvhufWXllnMz474b/zbi647Abb/27LDseavpUvJplx0atwbA8teOk 1m28LDtmavqtHDXLjp9ag2F5asdSrdt4WXZc1fRbgGrWHWO1BsPz1I63WrfxsuzYq+m3kNWsFQdq DYbnqYoJtW7jZan4UNOXIKhZK1bUGgzPUxU3at3Gy1IxpKYvYVGzVjypNRiepyq21LqN11sVZ+7w F+q447GKO3d8VuV1jpcqDt3BlyGq4tIdvC7vVpy6w1+o547HKm7d8VmV2zleqjh2B1+GqIprd/C6 tK84T5df6puuZcV/OqaF26wTF+mYL24DTrykyz9qkK7liaN0TAu3WSe+0jFf3AacuEuXf8QpXesT j+mYHm6zTpymY764DTjxmy7/iGW61ieu0zE93GadeE/HfHEb0HEgXf4R73StOz6kY3q4zeq4kY75 4jag40m6/BYT6Vp3nEnH9HCb1fEnHfPFjY5LBI1CCDpuEZ/x2ZWL6Bt0XCP4ZUDQcY8oBp+L6UHH RYJGYQQdNwk6jhJ0XCX+8suAWG6hSsddgs8Fsfi5oOMyQKtSgI7jAMsCsNJBnI77AOsFsLJecOME QKt2gBtXAJYFYOUGFW4cAlgvgJX1ghu3AK6oAbhxDvjG8oDZuHERWMV6gdm4cRTgij6AG3eBKpYH zMaN08Aq1gvMxo3rAFcUAz/6n1f688sfywPmYnnAbP/YO5ckp2EgDB+BK012yWKuwZIjsOZY4f0M cSjYQhhmJgUUO2BDleC3YQonsi211G1Zctf/SU45tmzHo26pLWuaGnCO1HywY06b01XOOqUopaL+ Qpk3x/5iUR06cf4be0Uplbpm/F6YraLME8SVDgNJ3YMyX9Q9KPOmqQHnSM0HO+a0PV3lrFOKUirq L5R5c+wvzLram0fVJX1pHu32Zh2TlhPPzIPqwjyprulL82R3YR7EpOXEs/o/MVSXnvntXUjOnS0z z+sJCatrz/z2LiTnzpaZ5/X7+NVHzxyxmJiFdL7KPK/HqVefPHP8pjEL6XyVeV4/v62uPHP8pjEL 6XyVeV73a6qDZ47fNGYhna8yz5e37q6RXiC9RXq/unX3I9JXpB9IiM7cuY/0Eukd0ofVrTt7pC9I 35FM9elYMEh4F8G8rA7HMk/Ntv5miVQv7/262bK91prb237nrWu36uOx4KEwCYd5Xl0dyzw2m/qb JVK9vPf5Zsv2WvskrFVdu51VV92Yx/U8tN/OcOzdVRftTZrlEqn5YJ2KPR6rd9+z6tCNeVp///sM N2R36KK9SbNcIjUfrPOxY3W9+y6qfTdmXffr1gvzDHV2P5DamzZL9An/rrBjiM9OV/Xuu6guujEP 6u/fLMwLHPtiILU3bZbnSM0H+7xenK7q3XdRXXZjHtXfY/kKx74cSO1Nm+U5UvPBOi/7/zX27YtT uO7GPKm//7kwr3Hs64HU3rRZniM1H6zzsuf2793XtkTQP2MBdVikRlvoxDId7xlgodq7uywV9M+Y mE6L1WgDnViuoz1DLFhrd39LBloGBwxaNXvzQAvnLmfA2oGWUQKDls/ePNAKussZsIigZbCAn3W0 dgu0lO5yBqwmaBk14GdBrd0Cram7nAHLClqGD/hZWWu3QIvrLmfA+oKWcQR+ltjaLdAqu8vptNDQ icGEBiz2f23/qseC95QcYdH9iuu08NCpwTVDFv+/NjeyPUBvyTEewa84p4cAPWYb+HsOz2KCPUpI +U5PA3rMP/D3QJ7FBHumkPKdHgv0uA9A92SexQV7uJDynZ4P9LghQPeInsUFe8qQ8p0eFPS4M0D3 rJ7FBXvckPKdnhj0uEVA99CexQV77pDyBz065HCcEMnjn2p7LP8WAf3MoloMcYcbbFFALsdtaC2O U22O5d8ioZ9ZVIsl7nCkFg0gNiFAfAuI8bAsLSap8yG1sACxSQPiW2SMh2VpwUmdD6nFB4hNK8DX QmQ8PEuLUup8SC1QQGzqAb4WK+PhWVq4UudDahEDYtMT8LWgGQ/P0uKWOh9SCx0Qm8KAr0XPeHiW HoDU+dB6DOZhbEPavGTtcTyN6ZGYLV+PxYj/Mqw9HjPq6dJ6TOZ+bEfC8Pa4Hsf0yMyGr8dmxH8Z 1h6fGfV0WXqMVOhdKyosPVIqI1yWaI+XytjXy9KjpkLvelJh6bFTGeGyRCMCVMa+XpaIAxV6l5wK a0SDygiXJxoxoTL29bJEZKjQQxZUWCM+VEa4PNGIEpWxr5clYkWFHtKhwhoRozLC5YlG3KiMfb0s ET0q9JAXFdaIIZURLk80Ikll7OvljXjGKj7QFivmiGusnFFZSXFGfGOV/i9j1IhzrKb1c/FGvGMV H2iNFXPEPVbOqLykOCP+sUr/lzHqE4dYTevnSvLEQxr5ULw0SZ7YSFPAbZnUEydpSrtfSZ6YSSP/ KEeaJE/8pCngtkzqiaU0pd2vJE9cpZF/BChN0ifG0hRweyb1xFua0u5Xkif20sg/QpYm6YgDaQq4 PZMaMSFNafcryYgPaeSHIEiTdMSKNAXcnkmNuJGmtPuVZMSQNPJDWKRJOuJJmgJuz6RGbElT2v2a 1oiz1Eo/UCe1JjbiLrWco/JK1pRGHKaWWoasRlymlv65THfEaWqlH6iXWhMbcZtazlG5JWtKI45T Sy1DViOuU0v/XIofcZ47+Q/1zZ0iR/znjlaL1MzrjYvc0fqSmhm88ZI7+b9qkDtFvnGUO1otUjOv N75yR+tLambwxl3u5P+KU+4U/cZj7mj1SM283jjNHa0vqZnBG7+5k/8rlrlT9BvXuaPVIzXzeuM9 d7S+pGYGMw7kTv6veOdO0TM+5I5Wj9TMa8aN3NH6kpoZzHiSO/lPMZE7Rc84kztaPVIzrxl/ckfr S2p0xiWVThSi0hm3VE45Z+VSlSudcU2lLQOVzrinIkrNxdylMy6qdKIwlc64qdIZR1U646rKaMtA 5T2Fqs64q1JzofI0FzrjsqLoVKWK8oe9c8ltGwbC8BFyJXthQFnoGll2213X0q2cvtO6rmK0KwNt 0zgJ0CKbovWS6S+iD9nUgyNyRD0G85GUJZGiJHuGHNGivHFcEMQsCILNG8TljfuCIPZCEGzshcw4 IQjyqnZBkBlXBEHMgiDYzKAiMw4JgtgLQbCxFzLjliDIFDWCIDPOCUIzYh6EaSMzLgqCLWIvhGkj M44KgkzRJwgy464gUBHzIEwbmXFaEGwReyFMG5lxXRBkimJBqAR+pV1NEPMgTBcxD8K00b+AGEEv mD6n1fGqxt+UIIwVsRfCtDm0F/PstpTGaewFYazkv4z9XK0FYZrAr3RbE8Q8CNNFzIMwbfQvIEbQ C6bPaX28qvE3JQhjReyFMG0O7YV6ll2rV9kdPVWvLq/VM5cQ9TxS59mVepHd0FP14vJKnbuEqOdR PhNDdmMZn122iX1H0cDj/IWE2Z1lfHbZJvYdRQOP8//jZ18sY/hiXBLu+HTgcT5OPftqGeOauiTc 8enA4/z5bbazjHFNXRLu+HTgcd6vyW4tY1xTl4Q7Ph14HJ08OUd4i/AR4fPpyZMvCN8QfiKok8fJ MtmdpcsoXSJOdvi4SfZn6SZKN4iTfbKZ5TvsojSPZwnA5n2U5jGWF8nF2SK9iFOdLBKwxdI2TnWy SMA9lu7jVCeLBDxg6SFOdYJPyQV2SS8ilJFiER+32CXdRukWMbZvZ/kO91Gax7MEYPNDlObxLEER S5S0jFOdLBKwwdImTnWySMAOS7s41ckiAXss7eNUJ/gk1wEJPkUnj5YIbxA+IHw6PXl0hfAd4RfC Q/blUNBcwBtR1OtsdyjquVrlWyKEPE3+7Vlca7zt3XzzVlm27OuhqKdYu1FvsttDUS/VOt8SIeRp 8uPvnsW1RiXMv2KWZZtlu3JgKfBmYqSrs8tdGcVddBoh6AWjKuYIvaq8OPRtOdCW2L6f4Vpc3pZR 3EWnEYJeMOpjem8r886zq3LUed7Tv5irC2jxq5pQ3FWnMYJeML3KxqrKvPPsuhz1LN++nau3OPZ1 TSjuqtMYQS+Y9Xp7vKoy7zy7KUe9yLffz9U7HPumJhR31WmMoBfMer07XlWZd57dlaNe5dsf5uo9 jn1XE4q76jRG0Atmvd4fr6rMa2oiyB9lASnRSFpWEEMzFXO20FDF7E2aCvJHmUBKNJaWNcTQXMWc LTRYMbu1JgMFhQNqtZq5e0sN11xOjbYDBaUEajWfuXtLLdhcTo1GBP8VFrDUjsfZ2mrK5nJqtCYo KDVgp0GNbC21aXM5NZoVFBQfsNOyRraWGre5nBrtCwrKEdhpYiNbS63cXE6phoYcKUxIpcYuyuqv GBq8seRWGt2uuFINDzlSuJBKjV+UdUEMC1BVsoNFsCuu0UKACrUN7C2HZTGtLUqb8hstDahQ/8De AlkW09oytSm/0WKBcvMBWlgyy+JaW7g25TdaPlBhhgDdIloW19pStim/0YKCCnMG6JbVsrjWFrdN +Y2WGFSYRUC30JbFtbbcbcqvteiQBsMJIVn8Y1kdin2LgF4zpxaD2+FqWxSQBsMNIbU4jmV9KPYt EnrNnFosbocjtWgAsQkB3FtAHg/rpcXEVR9SCwsQmzTAvUXm8bBeWnBc9SG1+ACxaTVXHluIHg/v pUXJVR9SCxQQm3rAX4vV4+G9tHC56kNq
オフライン
AlderLake optimized MajiorityCleanES78
MCES78Ubuntu2204.tar.gz.002
EQNi0xP4a0F7PLyXFjdXfUgtdEBsCgN/LXqPh/fSA+CqD63HoJauDWn12muP47lLj0St/PVYFPuV 8drjUZ1Wl9ZjUk9dOxLqjdce10uXHpla++uxKfYr47XHpzqtrpceIxV614qKlx4plQ5Oi7XHS6Xr 8/XSo6ZC73pS8dJjp9LBabF6BKh0fb5ePA5U6F1yKl49GlQ6OD1WjwmVrs/Xi0eGCt1lQcWrx4dK B6fH6lGi0vX5evFYUaG7dKh49YhR6eD0WD1uVLo+Xy8ePSp0lxcVrx5DKh2cHqtHkkrX5+vX4+kq 7o42V/HscXWVRq8sp/j0+LpK+G9Gpx5nV+nX5fLr8XYVd0erq3j2uLtKo1eeU3x6/F0l/Dej0ycO rtKvyxXkiQc3/K54boI8seFmBLelV0+cuBnb/QryxIwb/kc53AR54sfNCG5Lr55YcjO2+xXkiSs3 /I8AuQn6xJibEdyeXj3x5mZs9yvIE3tu+B8hcxN0xAE3I7g9vRoxwc3Y7leQER/c8A9B4CboiBVu RnB7ejXihpux3a8gI4a44R/Cwk3QEU/cjOD29GrEFjdju1/9GnEWWsIP1AktPRtxF1oaR+WNWfo0 4jC0iGYY1IjL0CJfl/6OOA0t4QfqhZaejbgNLY2jcscsfRpxHFpEMwxqxHVoka/L6EecD53hD/Ud OqMc8T905GcRmmn942LoyO8lNBP4x8vQGf5fDYbOKP9xNHR+s3cuSU7DQBg+AldKds4i12DJEVhz rPCagRlCFAq2kBkmkwK2wIaqht8uqFIs23o6RtFf/bXkcixZCaXulhm3OC2mpqw3vnKH82VqCnjj Lnfyf8Upd876jcfc4fSYmrLeOM0dzpepKeCN39zJ/xXL3DnrN65zh9Njasp64z13OF+mpoCMA7mT /yveuXPWGR9yh9NjasrKuJE7nC9TU0DGk9zJP8VE7px1xpnc4fSYmrIy/uQO58vUMOMShYlCKMy4 RbGKNSsX5XyFGdcojAwozLhH8RSai9KFGRcpTBRGYcZNCjOOUphxlSKMDCjOKVSZcZdCc0FxNBfM uEwIU5USwozjhNAtEOKSQZwZ9wmhvyDExV9wxwlCmKqdEO64QgjdAiEuO6hwxyFC6C8IcfEX3HGL EG5RQwh3nCPEDt0DKRvuuEiIK/QXpGy44ygh3KKPEO64S4gvdA+kbLjjNCGu0F+QsuGO64Rwi2JC esFzpf2A0j2QcqF7IGXTzIAltDkwnzmt26esc4qQc4X+gpTNsb+Yq0Mn1m3sCTlX6pnxey4bQsoE z5UOA0r3QMqF7oGUTTMDltDmwHzmtGmfss4pQs4V+gtSNsf+QlZqJy/UnX8tL7Y7WcVo9Z8X8kzd yoW696/lYnsrz2K0+s+LeicGdedYPtyGlKmLKvOyTkio7h3Lh9uQMnVRZV7W7+OrG8cSz2JiqrHL ReZl/Xfq6rNjid80phq7XGRe1v9/q/aOJX7TmGrscpF5Wa9r1MGxxG8aU41dLjIvqwePV9Ar6Hvo x8WDxzfQb9AfUDydefQUeg39AP20ePBoB/0K/Q4V9flYYJDwLoJcq8OxyKVs6k8qaF0/+fXvSv2s kdvbfOetq5m6ORZ5irOv5bXaH4u8lHX9SQWt6ydf/l2pnzUHYZzqajZT+25gF2b4v/IZ7r3dd6Ff 0tQVtDkwhmL+PVZv25k6dCOX9ee/Z/gH2R660C9p6graHBjjMZ/V9badq103sqrXdau5vMKc3Q2o fmlTL6HNgfkM8VX7VG/bubrtRp7Vn7+byxXufTug+qVNvYQ2B+a4rtqnetvO1V038qL+HPUb3Ptu QPVLm3oJbQ6McZn7Nfa2nav7buSi/vznXN7i3vcDql/a1Etoc2CO6237VG9b0xJB/hoLSIdFamQD MSyT3jLAQhnNBywV5K8xkU6L1cgaYlgurWWIBdOau1syoBkcMGjVzMsDLZy9nwFrBzSjBAYtn3l5 oBW09zNgEYFmsICbdTSaBVpKez8DVhNoRg24WVCjWaA1tfczYFmBZviAm5U1mgVaXHs/A9YXaMYR uFlio1mgVbb302mhIS2DCem12LpsNDEseF/PERbdrbtOCw9pG1zpt/i6rDUxPEBPzzEewa07q4cA PWYbuHsOx26CPUpI/1ZPA3rMP3D3QI7dBHumkP6tHgv0uA/g78kcuwv2cCH9Wz0f6HFDwN8jOnYX 7ClD+rd6UNDjzoC/Z3XsLtjjhvRv9cSgxy0Cfw/t2F2w5w7pf9CjQyyOE+Ll8duyORb3iMB/ZFER Q9ztBiMKiM1xi1/E0Zb1sbhHJP4ji4pY4m7nFdEAzxACxEdACW+bJGIaazxeERbwDGlAfESW8LZJ IrixxuMV8QHP0AqkixAT3j5JRDnWeLwiUOAZ6oF0EWvC2yeJcMcaj1dEDDxDT5Augk54+yQR91jj 8YrQgWcoDNJF9Alvn2QFMNZ4/FYM8jw2kJbrpCuOy5gViWzSrVhk9F8m6YpHTjpcvxWTPI1dSEja FdfLmBWZrNOt2GT0Xybpik9OOtwkK0Zf/JdWviRZkfpygq816orXl1N/3yQral/8l56+JFmx+3KC rzXqEwFfTv19kzxx+MPeHRjJEcJAFM0/T8fhshO4G1TQNC390rsAZlmGPSFEVf1f8qqjGY2qC48n zZhU3X7eIxmZqnrKoupoxqfqwuNJM0pVt5/3SMaqqp7SqTqaEau68HjSjFvV7ec9ktGrqqe8qo5m DKsuPJ40I1l1+3nPZjx3Yz/RthuHM6678ZmVVcbJjO9u+L8ZVzPOu/HWx3U2470b+4nW3Ticcd+N z6y8Mk5m/HfD/824uuOwG299XJYdDzV9Kl7NsmOj1mBYntpxUus2XpYdMzX9Vo6aZcdPrcGwPLVj qdZtvCw7rmr6LUA1646xWoPheWrHW63beFl27NX0W8hq1ooDtQbD81TFhFq38bJUfKjpSxDUrBUr ag2G56mKG7Vu42WpGFLTl7CoWSue1BoMz1MVW2rdxuutijN3+At13PFYxZ07PqvyOsdLFYfu4M0Q VXHpDr4u71acusNfqOeOxypu3fFZlds5Xqo4dgdvhqiKa3fwdWlfcZ4uv9Q3XcuK/3RMC7dZJy7S MV/cBpx4SZd/1CBdyxNH6ZgWbrNOfKVjvrgNOHGXLv+IU7rWJx7TMT3cZp04Tcd8cRtw4jdd/hHL dK1PXKdjerjNOvGejvniNqDjQLr8I97pWnd8SMf0cJvVcSMd88VtQMeTdPktJtK17jiTjunhNqvj TzrmixsdlwgahRB03CI+47MrF9E36LhG8MuAoOMeUQxeF9ODjosEjcIIOm4SdBwl6LhK/OWXAbHc QpWOuwSvC2LxdUHHZYBWpQAdxwGWBWClgzgd9wHWC2BlveDGCYBW7QA3rgAsC8DKDSrcOASwXgAr 6wU3bgFcUQNw4xzwjeUBs3HjIrCK9QKzceMowBV9ADfuAlUsD5iNG6eBVawXmI0b1wGuKAZ+9D+v 9OeXP5YHzPWPvXNZbhqGwvAj9JWSRWacRda8QZZs2bG2X4h1uFMowe3AKjNAIbQzMN0wkKXKL3Fz YjvWsXQsyz7zf5LcVFZkuz5HkmVV3IMwbswdsEAwG+Uxp7PDjxrvKUEYKuIvhHGz7y+m+VUljf/G XhCGir4zdlO1FoRxgnGlqyNB3IMwXsQ9COPG3AELBLNRHnNaH37UeE8JwlARfyGMm31/oR7nn9Xz /Jqequfnn9Vjl5D0PFIP80v1NP9CT9XT80v10CUkPY/0f2LIv1jGy/M2se8oiTzWCxLm15bx8rxN 7DtKIo/1+/j5R8sYYzEuCXc8jzzW89TzT5YxzqlLwh3PI4/189t8axnjnLok3PE88lj3a/Iryxjn 1CXhjueRx8nJ/YcIrxDeIXyYn9z/iPAV4QeCOrmXrtLtMlsl2QpxusWPF+lumV0k2QXidJdeTHSG bZLpGNsT/etdkukY27P0dDnLTheZSWYp2GBrs8hMMkvBDbZuFplJZim4xdbtIjMJfkpPkSU7TVBG hk38uEGWbJNkG8T4/WaiM9wkmY6xPdG/vk0yHWN7lq5Q0mqRmWSWggtsXSwyk8xSsMXWdpGZZJaC HbZ2i8wk+EnOw+/zkJzcXSG8RHiL8H5+cvcS4RvCT4Tbkzur/OO+0GLAoijqRb7dl3qCCQVmea0H Jkf6L2fx09KC7+XFt6p2W+LPeZV/2hf8JV6VUS/zq32pZ2qtf5Mg6DT9/jdn8dNSTcqvZFbtpmvy aJJvq1FP9DLFSM+W59sqillMmiCYjVJ9ytP1avfVlXoyya+qUc90pt0EZ+X8qopiFpMmCGajVKny eG7tvrpSsPuX1aiHegDgdKpOYdwvj4RiVpNi8OD3RnmwufRR7b7LOWzlNP9cjXqsM22m6hUq8PlI KGY16QLBbJQr9+rwo9p9deUeT/Mv1ainOtPNVL1GBb4cCcWsJl0gmI1S5cr/4rN2X125p9P8uhr1 XGe6nao3qMD1kVDMatIFgtkoVa78PyFq99WVe162WNAfowJVWC6jM2jfgh3s2cKSFXe3smjQH6MD VVg2ozV0YOH292xh6Yq70yweKBgmcNT6lbO3tITN5TRZRVAwXuCohSxnb2ktm8tpspzgv2EDllb0 cLe2FrW5nCbrCgrGD9hZ2tJuLa1uczlNFhgUDCSws8al3Vpa5uZymqw0KBhRYGexS7u1tN7N5dRb cujAsEJHLPt/nf1R2dI3ltzK8tsVV+8JoAPDDB3xDP+1/q0aT1FTsoPnsCvOzpOAGvMO7D2MZTGt PU+b8u08EqhxE8DeU1kW09qDtSnfzrOBajcDWng8y+Jae8I25dt5SFDjrgDdc1oW19qjtinfztOC GrcH6B7YsrjWnrlN+XYeG9S4T0D35JbFtfbwbcq38PzQcQcLkVoGhzrbl33LgV4zp5aF29dZtDyg 4w4eIrVMDrXel33LhV4zp5aN29fRWz6A2NQA7i0lj1/rpWXFVR96SwwQmz7AveXm8Wu9tPS46kNv GQJiE2yqPLYkPX69l5YnV33oLVVAbBICfy1bj1/vpSXMVR96yxkQm6jAX0vb49d7aZlz1YfekgfE JjPw1/L3+PVeegpc9WnRs1Ar1wa3euG1Z/LEpeeizvz1bBT7mfHaM1KdVrdFz0o9cu1wqJdee2bP XHpuau2vZ6fYz4zXnqHqtLr+epZU6F0wKl56rlQ6OCzWnjGVro/XX8+bCr2LSsVLz55KB4fFOnJA pevj9TcyQYXedafideSDSgeHxzqyQqXr4/U3ckOFPrRBxevIEJUODo915IlK18frb2SLCn3oh4rX kTMqHRwe68gcla6P19/IHxX60BgVryOLVDo4PNaRSypdHy/DyKir3AfkXOV5ZNZVjaO3nPI5Muyq 8H8ZnY5Mu6pfp4thZNxV7gOyrvI8Mu+qxtF7Tvl8MuCq8H8ZnT6ZcFW/Tle4JyPc8A/ZcxPkyQ43 A7gsvXoyxc3Qrle4J2vc8D/y4SbIk0FuBnBZevVkk5uhXa9wT2a54X9UyE3QJ8vcDODy9OrJODdD u17hnuxzw/+omZugMxO4GcDl6dXMCm6Gdr3CzQzhhn+qAjdBZ7ZwM4DL06uZOdwM7XqFm1nEDf9U F26CzoziZgCXp1czu7gZ2vXq4cy00Ao/oSe0ejYzL7QaZ+8NWX2amRhaYhmimpkZWvLn0vOZqaEV fkJfaPVsZm5oNc7eHbL6NDM5tMQyRDUzO7Tkz2UcM9NjJ/4pwbEzyDcDYkdui9CM682M2JH7JTRj eTMmduJ/JSF2BvlmUuzIbRGacb0ZFjtyv4RmLG/mxU78r0LFzqDfjIwduT1CM643U2NH7pfQjOXN 4NiJ/1XM2Bn0m9mxI7dHaMb1ZnzsyP0SmrGsTBA78b8KHjuDXhkiduT2CM24VuaIHblfQjOWlVFi J/6lKGJn0CvTxI7cHqEZ18pAsSP3S2hkZSaRLCgikpW5RHZqXL1LNFzJymwiaRmIZGU+EVFiLsYu WZlRJAuKiWRlTpGNGlfvFA1XsjKrSFoGIlmZV0SUmIux6xd757LrNAyE4UfglegOFl3zFjwHj8W9 3EoDgi13qIAtsEEy/IlAcuu49tieOIl/zTdKlBM7zkkzMx67NX+ZmRDDnzQlhL9MTkg8dAukbfjL /ITEQn9B2oYrUxAShj/pTtqGK7MQQrdACFcmIiQB+gvSNlyZi5AwXMqGtA1XpiOE7oGQ4EpzXJmR EPoLQmL8BVcmJYRL+RHClXkJiYTugbQNV6YmJBb6C9I2XJmdkDBcypi0DZJLny8o3QNpF7oH0jbD G7CFDjtu4ml/fij4ThGyVugvSNuc+os+8fRg0x1HCS53T8ha6V+PPxtzIKRNkFw6XlC6B9IudA+k bYY3YAsddtzE0+H8UPCdImSt0F+Qtjn1F33iadevmQ99An0FfYNj76HfoT+hcCo370CfQl9D316/ cvMd9Bv0B9RcuXG7+3gqmFuI+VTmaXc8FbNDC/CXa9B+e+v3/zPto84vFbrzdt1iUDT+Xvf+VMwd /Omxedx9PhXzwOz7v1yD9ttbX/+faR91W+IcGivWt+TO1e7zOMh/X0XS7yoa8OLzGPYpw/YadNhx 2uMOLHnL9o16cLU7jmN2/Ul/ruL5vDiOYZ8ybK9Bhx2nUW7Q4S3bN2q36d6NY273n9LbG/MIPd13 F9Q+ddhuocOOGxE9Oj/kLdu/Hbc33YdxzN3+pJcb8wQN+HBB7VOH7RY67LiNe3J+yFu2b9zdTfdp HHO/PwnbZ2jApwtqnzpst9Bhx23cs/ND3rJ94+5vui/jmIf9Sb825jka8OWC2qcO2y102HEa5/6Y qbds37iHrsWC/DMqkBHLNcgB4lgwu2SCJbOLR1m0XgajAxmzbIPsIY6Fs0qmWDqruNDiAcswAb/1 Gz090RKG6wlZRWAZL+C3kKOnJ1rLcD0hywkswwbirKhTLNGihusJWVdgGT8QZ2mdYolWN1xPyAID y0CCOGvsFEu0zOF6QlYaWEYUxFlsp1ii9Q7X47fkkDPDCvFadlsOljiW3ldzhuWPq87vCSDnhtn4 PYMte0scT+GpOcdzxFUX50mAx7yDeA8TWU2y50mpP84jAY+bAPGeKrKaZA+WUn+cZwMeNwPkHi+y umRPmFJ/nIcEHncF5J4zsrpkj5pSf5ynBR63B+QeOLK6ZM+cUn+cxwYe9wnknjyyumQPn1J/hOeH XHawEFFkcC6HU4mPHOQty4os8i4XEXlAAg7eyCKTc9mfSnzkIm9ZVmSTdzl55AOEoQbIj5QKXrZI ZKXVHnkkBoShD8iP3Apetkikp9UeeWQIhCEYKBdJFrx8kchTqz3ySBUIQ0JQLrItePkikbBWe+SR MxCGqKBcpF3w8kUic632yCN5IAyZQbnIv+Dli/QUtNqT0LMw93IDbvO0aM9kl9NzMYdyPRuj/p8p 2jMykzY3oWdl7uR2OEzZntmDnJ6b2Zfr2Rn1/0zRnqGZtLnlepZS5F0wKUV6rlImuC3VnrGUqe+3 XM9biryLKqVIz17KBLelmjmQMvX9lstMSJF33aUUzXxImeD2VDMrUqa+33KZGyny1IaUopkhKRPc nmrmScrU91susyVFnvqRUjRzJmWC21PNzEmZ+n7LZf6kyFNjUopmFqVMcHuqmUspU9+vQmY0V/IT crlSODObK8HsraaUzAznSv1PxqSZ6VyZ179LITOeK/kJ2VwpnJnPlWD2XlNKjgzkSv1PxqQjE7ky r39XvZERbfRT9tpUGdnRZgWPZVYjU9qs7XnVG1nTRn/IR5sqI4ParOCxzGpkU5u1Pa96I7Pa6A8V alN1ZFmbFTyeWY2Ma7O251VvZF8b/aFmbarOTNBmBY9nVjMrtFnb86o3M0Qb/akK2lSd2aLNCh7P rGbmaLO251VvZpE2+lNdtKk6M0qbFTyeWc3s0mZtz2uGM9NqS/0JPbVlZjPzaktw9t6aZU4zE2sL LcOiZmbWFn5cZj4ztbbUn9BXW2Y2M7e2BGfvrlnmNDO5ttAyLGpmdm3hx6WNmelLZ/lTgpfOKr8Z sHT4WtSmrW9mLB2+L7Vp5ZsxS2f5X0lYOqv8ZtLS4WtRm7a+GbZ0+L7UppVv5v1l79x1nAaiMCw6 UhlKKoREAR2UdImEJSPhmjegJCVdWjwFT8DLhGuIQLBEAhZFCCQiYGHDXVloNvxjkIjjdRyTIhnP p/Mdz3Fm1onsfzLOgM+4jvuPQrlOrZ+MdB26x7rx68lU16G/rBtfngx2HfcfxXSdWj+Z7Tp0j3Xj 15PxrkN/WTe+ZCZwHfcfBXedWmeGcB26x7rxKzOH69Bf1o0vmVFcx/1UFK5T68w0rkP3WDd+ZQZy HfrLuiEzE0ZCEYzMXNhyVpq9C6uvkZkN484AIzMfVtH4uvDdyMyIkVAMIzMntoyVZu/E6mtkZsW4 M8DIzItVNL4ufDcyMwPsk9IUgMzkAMvDsAB+Q2Z+gGVhvAC/YWUKgHJI6Q5+w8osAAwLAKxMBPAf MF6A37AyF0A5LGUDfsPKdAAMDwClK82xMiMA4wXAMuMFK5MCsJQfACvzAiwJwwP4DStTAywL4wX4 DSuzA5TDUsbgN5pcGi1whgfwF4YH8Ju0B8TyNMhPPD2cf6m0TwHUFcYL8JvseGEnnu60tt4eSOly 9wB1xXaPSWv/EYCfaHLp7QJneAB/YXgAv0l7QCxPg/zE06P5l0r7FEBdYbwAv8mOF3bi6Z5dyU7+ QP5U/kqvvZZ/kP+Q7wdXk24yumy6kelqm4y0O0gml80gMgNtk0kyaNoGo8jYreKmrZ5Exm4Vh0n/ cmj6sUmLMBFDRcPYpEWYiLGicWzSIkzEVNE0NmmhvaSvJqYf6RhGoXaHamKGkY5hFCbDpm0wjozd Km7a6mlk7LaZ6BBdHakbm7QIEzFQNIhNWoSJGCkaxSYtwkRMFE1ikxbamxtL0/LI3/Kwyvn6MLg0 /d5SGq3vYdDZs9FjG3220XMbvbPRK0XatLSrSBUtNbHRY0X6M0U9G025DCq0N3Pas3c7va4tSqov Xj9/8syFve3WZCu+1tVW8b9PFR5W1OjGjbTQ3oXgyvvV3lB9KD3Cn/j4guY3tS2r1ufZaQXtU6se pbNjvwH6sTwNLl6/aE/Li9bkSXytr63if4IJDytq9ONGWmjPfozVP8LMaTkUXL0xfPNiL2utl4cO ZGPavTp9IJvSTqe06DJEM1epuHr/5uyqp8Gl7rfgmfX78i35tvy1/L38i/xnFFz5FXztVUJ/czP4 er8iWxXZrsjriryvyJeK/KyEviMOzX336jT3ii93zxal1Z3P2SyRepuG/Kj8mPyE/LT8rPxcvnXQ 3g7aD4L2r6D9PGh/C9pvg/aubYZIPRZp5n5Bp/lu8eW+a4vS6s44u3bOIpHmWxeJdIxIvRVp7i5X J/p28QW/bYvS6s5HKWEYyW1ZItJM2yKJfkSi/kp0/peZPdGr6SHSLfqsIkokmmlbJNGd0vdEonWV aO7Hv35Fdlf/cZ1NH7VIpPnWB8rUNkOmHst0bkpKMr1VrMNbtiiptvOp2YdNF8k037pIph+Qqccy nZsolUzvFOvwji1KqqWo3ex/TV0k03zrIpnuIlOPZTo3fS+Z3ivW4T1blFRLUZ+y/5C1SKb51kUy /YRMvZUpc6WI1AGRMleKSDdcpMyVItFNlyhzpUh0syXKXCkydUKmzJUiUwdkylwpMnVApsyVItON lylzpYjUAZEyV4pIN1ykzJUi0d/s2j9v00AYx/GwJROMbDAwdOzISCQiXaTc2+jIypa18dBXwJux VFVVNshEFSEGMpQ/gS0dw+8uQwl27MHL88hftZc7y6c2tT5K3W9jnSitFKK2idJKYeqCKa0Upg6Y 0kph6oAprRSm5pnSSkHqACmtFKTGkdJKIWqdKK0UoraJ0kph6oIprRSmDpjSSmHqgCmtFKbmmdJK QeoAKa0UpMaR0kohap0orRSitonSSmHqgimtFKYOmNJKYeqAKa0UpuaZ0kpB6gAprRSkxpHSSiFq nSitFKK2idJKYeqCKa0Upg6Y0kph6oAprRSm5pnSSkHqACmtFKTGkdJKIWqdKK0UoraJ0kph6oIp rRSmDpjSSmHqgCmtFKbmmdJKQeoAKa0UpMaR0kohap0orRSitonSSmHqgimtFKYOmNJKYeqAKa0U puaZ0kpB6gAprRSkxpHSSiFqnSitFKK2idJKYeqCKa0Upg6Y0kph6oAprRSm5pnSSkHqACmtFKTG kdJKIWqdKK0UoraJ0kph6oIprRSmDpjSSmHqgCmtFKbmmdJKQeoAKa0UpMaR0kohap0orRSitonS SmHqgimtFKYOmNJKYeqAKa0UpuaZ0kpB6gAprRSkxpHSSiFqnSitFKK2idJKYeqCKa0Upg6Y0kph 6oCp/1Y6PWJ66vTsavbqfPpwN959ipdLPWo9WSz1Yy9jsZwMtRot4yhPOtJ1+N7tG+op569wWL94 0vVW6t19um5dv8r/t1izq7fpsnwe7z7Gy1KPWj/eCU6GWo3KOMqTjtLT6P4U/rksg6fvP6y/3T0c f4y/DGo/zez7elb7aWWfLikv6n19UR+80Yt6sQtFetQ6NLykh8Nrduvp+e9UX3dBIy/0bYYazzSe a7zUONM413hd3V2fG/j3V7+Rbi6KTSjSo9ah4fY4HO5/W0/PfyVtm6CRF01Iq7vrkXJ73GekizIp LYOaWKHlogwNTSwcbnBaT8/vJaEMGmluQXq0t54oPazXRFfpt/0qqIcVWi5WoaGHhUPwaj09/yEJ q6CR5haiR3vridLC+kz08c/sNOloqgvd/Y/ri4koRI28aEJa3V0fGfgHWL+ZruVzHYs86UhMr087 vE5Ty2mJ+pm8raNGXjQxre6uZ8pbCfrNdCuf21jkSUdienPa4U2aWk5L1DZ520aNvGhiWt1dz5Q3 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 3dHxnzxLP91yhuWPa27aE0BDw2wmPYOj
オフライン
こんにちは、Ubuntu forum の皆様。
久しぶりにMajiorityCleanESの新バージョンを公開しました。
いま、音楽再生ソフトの研究開発では、業界混乱の状況故に、
しばらくの終了を実施中です。
主に混乱している件
スマホ難聴問題、CD製造方法、マイクの仕様表の不正、
スマホ難聴の原因としては「密閉型」「BASSポートなし」の
条件で起きやすい。まれに「DSPの円周率精度の問題」
CD製造方法としては「レーザー加工の出力調整演算精度」
「円周率の計算方法が、製造装置の設計に合致していない」
「メディアのエラー計測時、円周率の精度が 3 になっていた」
「3」とは「3.14... ではなく 整数 3 で処理していた」
マイクの仕様表の不正
「周波数特性を計測しておらず、400Hz未満は録音できない」
「周波数特性を計測できる機材は、まだ製造されてない」
「製造されてない」とは「試作機の段階」
さて、Linux の方は、Ubuntu 22.04 LTS なら公開していい。
ThinkPad Yoga 260 [Core i5-6200U] [Skylake mobile]
こちらへ最小限の内容でインストールしました。
PureBasic 6.02 LTS を使いました。
このバージョンから /REASM を Linux で使用可能になり、
高度な低ジッター処理を実現できるようになっています。
;// ES76 Tuning ; !NOP QWORD [START+0] ; !NOP QWORD [START+16] ; !NOP QWORD [START+32] ; !NOP QWORD [START+48] ; !NOP QWORD [Rip] ; !NOP QWORD [Rip] ; NOPMemoryQ_S_1 ; !START: ; @ Process Optimize generated code ; @ This enables the C code optimizer. ; NOPMemoryQ_E_1 ;//1 ; Debug "; "+Str(?NOPMemoryQ_E_1-?NOPMemoryQ_S_1) + " @@" ; For I=0 To ?NOPMemoryQ_E_1-?NOPMemoryQ_S_1 Step 16 ; Debug " !NOP QWORD [Func_+"+Str(I)+"]" ; Next ; Debug " !NOP QWORD [Rip]" ; Debug " !NOP QWORD [Rip]" ; Debug " !Func_:" ; CallDebugger ;//
これは・・・・ん!!!!ん!!!・・・
超危険産廃機密&超危険産業機密
こういう処理に変更して、AlderLake最適化を実施しています。
この最後の [Rip][Rip] は・・・んん!ん!んん!!・・・。
超危険老廃機密&超危険仙人機密
この処理は PureBasic が FASM をコンパイラーとして設計された、
開発環境になっており、ソースコードへ 64bit Inline asm を記述。
これは・・・んんんん!・・・・
MajiorityCleanESを公開する理由について
日本のアニメを高画質・高音質・高解像で閲覧したい目的、
ソースコードを記述する仕事で、医療用モニターみたいに低雑音表示
プログラマー職をしていれば、どれほど眼精疲労が消えたか?
復元方法について
各テキストを テキストエディタで Copy & Paste して保存します。
> base64 -d テキストファイル > MajiorityCleanES.tar.gz.001
それを連結して、通常解凍すれば、復元できると思います。
分からないなら、ポーランドで利用者の多い PeaZip を使用して。
よろしくお願いします。
オフライン
Linux 用の音楽再生ソフトウェアを「Nontallion 2023」として作ろうとしましたが、
「WindowsOS用に作っている開発者は、LinuxOS用に作ることは許されない」と、
声が聞こえて、「LinuxOS用に作るなら、WindowsOSでは作ってはならない」
断念しました件を報告いたします。
いま、声の練習ソフトを作ろうとしましたが、下記の条件が付帯していました。
1.過去に付き合った彼女や、女優や声優「すれ違いでいいから会いなさい」
2.テレビを含め、開発環境では「スピーカーを使用禁止、ヘッドホンを使用」
3.アニメなど、放送などはすべて無音声にすること。演技を聞いてはならない。
4.声の練習ソフト開発は「シンセサイザーの音を入力して、いかなる声も発声禁止」
5.すべてのネット動画の契約を解約し、無料動画やAnimeHP閲覧も自主的に閲覧禁止
「声優関係のソフトウェアの開発を日本でやるなら、この基準を求める」
これを守れないなら、信用できない。・・・と裏から通知されて、
半年以上かかって、ようやく達成しました。
シンセサイザー KORG NAUTILUS-88 は「弾く練習」をしようとすると「弾くな」
声の代わりに使う音源ということで、安い電子ピアノでは練習ソフトを作れない。
オフライン
Windows環境では
MajiorityCleanES と Art photo print と Magiclobe viwer を作り、
カラーマネージメントソフトウェアなしで、カラーマッチングできる段階
推奨環境として、
ThinkPad T16 Core i7 / 45%NTSC Display / Intel UHD
EPSON SC-PX5V2 / EPSON 写真用紙 光沢
印刷した色合いと、画面の色合いは、デルタE<2 という感じ
当然に Ubuntu で、それは可能か?
確かめてみました。
MajiorityCleanES 88 を使ってみて、MajiorityCleanES 78 のほうがいい。
Magiclobe viewer は動くけれど、表示されない不具合頻度多く、公開困難。
「不具合あるまま出せば、眠れない、死にそうな夢を繰り返す」攻撃がある。
写真の印刷を考えるなら、
ThinkPad Intel Core AlderLake / 45%NTSC / Intel UHD / Win11
+
MajiorityCleanES 88 と Art photo print rev77 と Magiclobe viwer rev29
EPSON PX-S730 顔料4色 / EPSON 写真用紙 絹目調(これしか推薦できない)
設定 ふちなし自動拡大標準 / 色補正 ICM / 印刷濃度 +8% / はがきサイズ
+
Rewrite data 5.10 / 必ず PCIe-NVMe SSD でなければ効果なし
Software と Photo image files を Rewrite してから、印刷します。
今日時点、やすく買えるモデル
ThinkPad E シリーズ> E14 Gen 5 (14″ Intel)> ThinkPad E14 Gen 5
ThinkPad E14 Gen 5 Core i5-1335U P2E8 45%NTSC IrisXE AX211 2x2
512 GB SSD, M.2 PCIe-NVMe / 16 GB DDR4-3200MHz / HDMI / RJ-45
写真関係は妥協して下さい。
これなら、Win11 終了後、Ubuntu へ転用できると思います。
印刷に関しては、2000年頃の大手印刷会社カラープルーフよりも、
高画質・高品質・高演色を実現できており、なにも「おとがめない」状態です。
ただし、現在の配布サイトで書いているように「裏システムの監視つき」です。
EPSONなら純正用紙と純正インクを使っているなら何もトラブルなし。
でも、少しでも安くしようとすると「無線LANが停止」「あたりや出現」
しかし「あたりや」は監視カメラやドライブレコーダーには「記録されてない」
さいあくすぎる・・・。
なにはともあれ、これを作ったことによって、高精度の測色機について、
明るいレンズではない、標準の既製品を使用した原因によって、測色は暗い。
測色機に使うレンズを「明るいレンズ」にしていれば、アニメは色で混乱しなかった。
Hisense 24A40H では、映像設定を初期化したあと、自動 色の濃さ +2
mics_halt-and-halt_VoiceBlog による投稿:
映像メニュー:自動、画面の明るさ:0、お好み調整:黒レベル0、色の濃さ+2、色あい0
音声メニュー:スタンダード、リマスター:オフ、低音強調:オフ、サラウンド:オフ
省エネ:節電1、HDMIケーブル:8K 48Gbps "Ultra High Speed HDMI Cable" 認証取得
映像メニューの初期化後、色の濃さ+2、で良いと思う。大前提として、省エネ:節電1
省エネ「標準」「節電2」では「調整不足」に見える。
Hisense 24A40H 推薦できる HDMI ケーブル
HiFind 8K認証 HDMI 2.1 cable 48Gbps 販売: LongLan Store
Hisense 24A40H をソースコードの編集、開発環境で使用していますが、
左右にスタンドの足があるので、左右に揺れず、見やすい。
オフライン
あー、つかれた・・・。
MajiorityCleanES 89 for Ubuntu 22.04
完成しました。テキストは base64 コマンドで復元して es89.tar.xz
展開すれば使用可能です。
想定するマザーボード
GIGABYTE AORUS や Lenovo ThinkPad という高級グレード品
特に「ファンが高回転で維持される」場合、非対応と思ってください。
Skylake CPU Design 2016 - RapterLake CPU Design 2024
snowrapter@snowrapter:$ ./ExtremeStabilizer89
CPU Core Registers Stabilizer
ExtremeStabilizer 89 Ubuntu 22.04
for Intel CPU Design 2016-2024
Thanks for reviews at JPLAY forum
Compiler :: PureBasic 6.02 (FASM 1.71.39)
This program control the CPU register
to the electronic reference
inside the CPU embeded cache memory
to made lost the digital jitter in PC.
depend CPU instructions
x64 Rax-R8-Rsp, MMX, SSE2, RDRAND, SMSW
"ExtremeStabilizer89"
SIZE 2,002,680.00 bytes
MD5 c7d081d6a5de4d043c9bdd599087aba5
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
オフライン
今日はMajiorityCleanES92を公開します。
最近やっている AlderLake 対応ですけれど、簡単に PureBasic で適用する方法を見つけました。
; デバッグ実行時に、関数処理の最初へ記述しておきます。 Debug "; "+Str(?NOPMemoryQ_E_1-?NOPMemoryQ_S_1-15) + " @@" For I=0 To ?NOPMemoryQ_E_1-?NOPMemoryQ_S_1-15 Step 16 Debug " !NOP QWORD [Rip+"+Str(Int(Round((?NOPMemoryQ_E_1-?NOPMemoryQ_S_1)/16, #PB_Round_Up))*8+I)+"]" Next Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" CallDebugger NOPMemoryQ_S_1: Bass_ChannelGetData(chan, *bufferDecode, Bass_flags_FFFFFFF|BASS_DATA_FLOAT ) NOPMemoryQ_E_1:
適用後、このように書きます。
; 56 @@ !NOP QWORD [Rip+40] !NOP QWORD [Rip+56] !NOP QWORD [Rip+72] !NOP QWORD [Rip+88] !NOP QWORD [Rip] !NOP QWORD [Rip] Bass_ChannelGetData(chan, *bufferDecode, Bass_flags_FFFFFFF|BASS_DATA_FLOAT ) ; 56 @@ End
このように、外部DLLに対して、命令キャッシュを指定します。
これだけで音質が急激に良くなる現象を確認しています。
PureBasic の命令では CopyMemory() や SetWindowColor() で改善しています。
プログラムが使えるメモリ空間であれば DWORD が適切でしょうけれど、
実際にはアドレス変換後に QWORD の状態で実行されるので、この方法が適切です。
ループ処理では
for-next の 前から指定すると良くなくて、下記のほうが速い。
だいたい [Rip+500] 、約500bytes を超えないように注意していれば有効
For nx=0 To nw-1 For ny=0 To nh-1 ; 190 @@ !NOP QWORD [Rip+104] !NOP QWORD [Rip+120] !NOP QWORD [Rip+136] !NOP QWORD [Rip+152] !NOP QWORD [Rip+168] !NOP QWORD [Rip+184] !NOP QWORD [Rip+200] !NOP QWORD [Rip+216] !NOP QWORD [Rip+232] !NOP QWORD [Rip+248] !NOP QWORD [Rip+264] !NOP QWORD [Rip+280] !NOP QWORD [Rip] !NOP QWORD [Rip] Origin = (ny * nw + nx) << 2 If PeekL(*MemoryCopy + Origin)=1 zx1 = nx : zy1 =ny Break 2 EndIf ; 190 @@ End Next Next
これを書いた本当の理由ですか、、
半導体露光装置など、マルチパターン露光問題の改善に役立てばいいかな?
base64 -d this.txt > ES92.tar.xz
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 owGAuHofA9L+scRn+wIAAAAABFla
オフライン
完成かなと思っていますと「ソースコードをみせろ!」と来て、
ライセンスは未定義、あぶなくてきめられん!
MajioritySolution download | SourceForge.net
https://sourceforge.net/projects/majioritysolution/
こちらへ Windows のソースコードのうち、許可されたものを公開
もっと簡単にしたソースコード、具体的な成果
; RDRAND SMSW CPU reg. Stabilizer ; from ExtremeStabilizer 99 (2023 10 22) (2023 10 23) ; from Lemonade Elitest 64 SSE2 ; Copyright (c) 2020-2023 Hiroyuki Yokota (oryaaaaa) ; Design based by Military LAB-AI designed (Customized Hiroyuki Yokota) Macro XOR_Rax_Rax_255 !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOV Rax, QWORD 0 !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] EndMacro Macro XOR_Rbx_Rbx_255 !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOV Rbx, QWORD 0 !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] EndMacro Macro XOR_Rcx_Rcx_255 !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOV Rcx, QWORD 0 !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] EndMacro Macro XOR_Rdx_Rdx_255 !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOV Rdx, QWORD 0 !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] EndMacro Macro XOR_Rsp_Rsp_255 !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOV Rsp, QWORD 0 !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] EndMacro Macro XOR_Rbp_Rbp_255 !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOV Rbp, QWORD 0 !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] EndMacro Macro XOR_Rsi_Rsi_255 !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOV Rsi, QWORD 0 !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] EndMacro Macro XOR_Rdi_Rdi_255 !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOV Rdi, QWORD 0 !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] EndMacro Macro XOR_R8_R8_255 !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOV R8, QWORD 0 !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] EndMacro Macro XOR_R9_R9_255 !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOV R9, QWORD 0 !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] EndMacro Macro XOR_R10_R10_255 !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOV R10, QWORD 0 !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] EndMacro Macro XOR_R11_R11_255 !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOV R11, QWORD 0 !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] EndMacro Macro XOR_R12_R12_255 !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOV R12, QWORD 0 !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] EndMacro Macro XOR_R13_R13_255 !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOV R13, QWORD 0 !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] EndMacro Macro XOR_R14_R14_255 !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOV R14, QWORD 0 !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] EndMacro Macro XOR_R15_R15_255 !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOV R15, QWORD 0 !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] EndMacro Macro MOV_Rax_Rax_Up_Down !MOV al, al !MOV ah, ah !MOV ax, ax !MOV Rax, Rax !MOV ax, ax !MOV ah, ah !MOV al, al EndMacro Macro MOV_Rbx_Rbx_Up_Down !MOV bl, bl !MOV bh, bh !MOV bx, bx !MOV Rbx, Rbx !MOV bx, bx !MOV bh, bh !MOV bl, bl EndMacro Macro MOV_Rcx_Rcx_Up_Down !MOV cl, cl !MOV ch, ch !MOV cx, cx !MOV Rcx, Rcx !MOV cx, cx !MOV ch, ch !MOV cl, cl EndMacro Macro MOV_Rdx_Rdx_Up_Down !MOV dl, dl !MOV dh, dh !MOV dx, dx !MOV Rdx, Rdx !MOV dx, dx !MOV dh, dh !MOV dl, dl EndMacro Macro MOV_R8_R8_Up_Down !MOV R8b, R8b !MOV R8w, R8w !MOV R8, R8 !MOV R8w, R8w !MOV R8b, R8b EndMacro Macro MOV_R9_R9_Up_Down !MOV R9b, R9b !MOV R9w, R9w !MOV R9, R9 !MOV R9w, R9w !MOV R9b, R9b EndMacro Macro MOV_R10_R10_Up_Down !MOV R10b, R10b !MOV R10w, R10w !MOV R10, R10 !MOV R10w, R10w !MOV R10b, R10b EndMacro Macro MOV_R11_R11_Up_Down !MOV R11b, R11b !MOV R11w, R11w !MOV R11, R11 !MOV R11w, R11w !MOV R11b, R11b EndMacro Macro MOV_R12_R12_Up_Down !MOV R12b, R12b !MOV R12w, R12w !MOV R12, R12 !MOV R12w, R12w !MOV R12b, R12b EndMacro Macro MOV_R13_R13_Up_Down !MOV R13b, R13b !MOV R13w, R13w !MOV R13, R13 !MOV R13w, R13w !MOV R13b, R13b EndMacro Macro MOV_R14_R14_Up_Down !MOV R14b, R14b !MOV R14w, R14w !MOV R14, R14 !MOV R14w, R14w !MOV R14b, R14b EndMacro Macro MOV_R15_R15_Up_Down !MOV R15b, R15b !MOV R15w, R15w !MOV R15, R15 !MOV R15w, R15w !MOV R15b, R15b EndMacro Macro MOV_Rsp_Rsp_Up_Down !MOV spl, spl !MOV sp, sp !MOV Rsp, Rsp !MOV sp, sp !MOV spl, spl EndMacro Macro MOV_Rbp_Rbp_Up_Down !MOV bpl, bpl !MOV bp, bp !MOV Rbp, Rbp !MOV bp, bp !MOV bpl, bpl EndMacro Macro MOV_Rsi_Rsi_Up_Down !MOV sil, sil !MOV si, si !MOV Rsi, Rsi !MOV si, si !MOV sil, sil EndMacro Macro MOV_Rdi_Rdi_Up_Down !MOV dil, dil !MOV di, di !MOV Rdi, Rdi !MOV di, di !MOV dil, dil EndMacro Macro XOR_Rcx_Rcx_x2 !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOV Rcx, QWORD 0 !MOV Rcx, QWORD 0 !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] EndMacro Macro MOVZX_Rcx !MOVZX cx, cl !MOVZX Rcx, cl !MOVZX cx, cl EndMacro Macro MOVZX_Rdi !MOVZX di, dil !MOVZX Rdi, dil !MOVZX di, dil EndMacro Macro Set_CL1 XOR_Rcx_Rcx_255 !INC cl ; cx = 1 EndMacro Macro Set_CL64 XOR_Rcx_Rcx_255 !INC cl !INC cl !INC cl !INC cl !SHL cl, cl ; cx = 64 EndMacro Macro ALL_MMX_CLEAR_SHIFTWORD_INC_CL XOR_Rcx_Rcx_x2 Set_CL1 MOVZX_Rcx !MOVQ mm1, Rcx !PSLLW mm0, mm1 ;1 Left 1bit shift !PSLLW mm0, mm1 ;2 Left 1bit shift !PSLLW mm0, mm1 ;3 Left 1bit shift !PSLLW mm0, mm1 ;4 Left 1bit shift !PSLLW mm0, mm1 ;5 Left 1bit shift !PSLLW mm0, mm1 ;6 Left 1bit shift !PSLLW mm0, mm1 ;7 Left 1bit shift !PSLLW mm0, mm1 ;8 Left 1bit shift !PSLLW mm0, mm1 ;9 Left 1bit shift !PSLLW mm0, mm1 ;A Left 1bit shift !PSLLW mm0, mm1 ;B Left 1bit shift !PSLLW mm0, mm1 ;C Left 1bit shift !PSLLW mm0, mm1 ;D Left 1bit shift !PSLLW mm0, mm1 ;E Left 1bit shift !PSLLW mm0, mm1 ;F Left 1bit shift !PSLLW mm0, mm1 ;0 Left 1bit shift !MOVQ mm0, mm1 ; !PSLLW mm1, mm0 ;1 Left 1bit shift !PSLLW mm1, mm0 ;2 Left 1bit shift !PSLLW mm1, mm0 ;3 Left 1bit shift !PSLLW mm1, mm0 ;4 Left 1bit shift !PSLLW mm1, mm0 ;5 Left 1bit shift !PSLLW mm1, mm0 ;6 Left 1bit shift !PSLLW mm1, mm0 ;7 Left 1bit shift !PSLLW mm1, mm0 ;8 Left 1bit shift !PSLLW mm1, mm0 ;9 Left 1bit shift !PSLLW mm1, mm0 ;A Left 1bit shift !PSLLW mm1, mm0 ;B Left 1bit shift !PSLLW mm1, mm0 ;C Left 1bit shift !PSLLW mm1, mm0 ;D Left 1bit shift !PSLLW mm1, mm0 ;E Left 1bit shift !PSLLW mm1, mm0 ;F Left 1bit shift !PSLLW mm1, mm0 ;0 Left 1bit shift ; !PSLLW mm2, mm0 ;1 Left 1bit shift !PSLLW mm2, mm0 ;2 Left 1bit shift !PSLLW mm2, mm0 ;3 Left 1bit shift !PSLLW mm2, mm0 ;4 Left 1bit shift !PSLLW mm2, mm0 ;5 Left 1bit shift !PSLLW mm2, mm0 ;6 Left 1bit shift !PSLLW mm2, mm0 ;7 Left 1bit shift !PSLLW mm2, mm0 ;8 Left 1bit shift !PSLLW mm2, mm0 ;9 Left 1bit shift !PSLLW mm2, mm0 ;A Left 1bit shift !PSLLW mm2, mm0 ;B Left 1bit shift !PSLLW mm2, mm0 ;C Left 1bit shift !PSLLW mm2, mm0 ;D Left 1bit shift !PSLLW mm2, mm0 ;E Left 1bit shift !PSLLW mm2, mm0 ;F Left 1bit shift !PSLLW mm2, mm0 ;0 Left 1bit shift ; !PSLLW mm3, mm0 ;1 Left 1bit shift !PSLLW mm3, mm0 ;2 Left 1bit shift !PSLLW mm3, mm0 ;3 Left 1bit shift !PSLLW mm3, mm0 ;4 Left 1bit shift !PSLLW mm3, mm0 ;5 Left 1bit shift !PSLLW mm3, mm0 ;6 Left 1bit shift !PSLLW mm3, mm0 ;7 Left 1bit shift !PSLLW mm3, mm0 ;8 Left 1bit shift !PSLLW mm3, mm0 ;9 Left 1bit shift !PSLLW mm3, mm0 ;A Left 1bit shift !PSLLW mm3, mm0 ;B Left 1bit shift !PSLLW mm3, mm0 ;C Left 1bit shift !PSLLW mm3, mm0 ;D Left 1bit shift !PSLLW mm3, mm0 ;E Left 1bit shift !PSLLW mm3, mm0 ;F Left 1bit shift !PSLLW mm3, mm0 ;0 Left 1bit shift ; !PSLLW mm4, mm0 ;1 Left 1bit shift !PSLLW mm4, mm0 ;2 Left 1bit shift !PSLLW mm4, mm0 ;3 Left 1bit shift !PSLLW mm4, mm0 ;4 Left 1bit shift !PSLLW mm4, mm0 ;5 Left 1bit shift !PSLLW mm4, mm0 ;6 Left 1bit shift !PSLLW mm4, mm0 ;7 Left 1bit shift !PSLLW mm4, mm0 ;8 Left 1bit shift !PSLLW mm4, mm0 ;9 Left 1bit shift !PSLLW mm4, mm0 ;A Left 1bit shift !PSLLW mm4, mm0 ;B Left 1bit shift !PSLLW mm4, mm0 ;C Left 1bit shift !PSLLW mm4, mm0 ;D Left 1bit shift !PSLLW mm4, mm0 ;E Left 1bit shift !PSLLW mm4, mm0 ;F Left 1bit shift !PSLLW mm4, mm0 ;0 Left 1bit shift ; !PSLLW mm5, mm0 ;1 Left 1bit shift !PSLLW mm5, mm0 ;2 Left 1bit shift !PSLLW mm5, mm0 ;3 Left 1bit shift !PSLLW mm5, mm0 ;4 Left 1bit shift !PSLLW mm5, mm0 ;5 Left 1bit shift !PSLLW mm5, mm0 ;6 Left 1bit shift !PSLLW mm5, mm0 ;7 Left 1bit shift !PSLLW mm5, mm0 ;8 Left 1bit shift !PSLLW mm5, mm0 ;9 Left 1bit shift !PSLLW mm5, mm0 ;A Left 1bit shift !PSLLW mm5, mm0 ;B Left 1bit shift !PSLLW mm5, mm0 ;C Left 1bit shift !PSLLW mm5, mm0 ;D Left 1bit shift !PSLLW mm5, mm0 ;E Left 1bit shift !PSLLW mm5, mm0 ;F Left 1bit shift !PSLLW mm5, mm0 ;0 Left 1bit shift ; !PSLLW mm6, mm0 ;1 Left 1bit shift !PSLLW mm6, mm0 ;2 Left 1bit shift !PSLLW mm6, mm0 ;3 Left 1bit shift !PSLLW mm6, mm0 ;4 Left 1bit shift !PSLLW mm6, mm0 ;5 Left 1bit shift !PSLLW mm6, mm0 ;6 Left 1bit shift !PSLLW mm6, mm0 ;7 Left 1bit shift !PSLLW mm6, mm0 ;8 Left 1bit shift !PSLLW mm6, mm0 ;9 Left 1bit shift !PSLLW mm6, mm0 ;A Left 1bit shift !PSLLW mm6, mm0 ;B Left 1bit shift !PSLLW mm6, mm0 ;C Left 1bit shift !PSLLW mm6, mm0 ;D Left 1bit shift !PSLLW mm6, mm0 ;E Left 1bit shift !PSLLW mm6, mm0 ;F Left 1bit shift !PSLLW mm6, mm0 ;0 Left 1bit shift ; !PSLLW mm7, mm0 ;1 Left 1bit shift !PSLLW mm7, mm0 ;2 Left 1bit shift !PSLLW mm7, mm0 ;3 Left 1bit shift !PSLLW mm7, mm0 ;4 Left 1bit shift !PSLLW mm7, mm0 ;5 Left 1bit shift !PSLLW mm7, mm0 ;6 Left 1bit shift !PSLLW mm7, mm0 ;7 Left 1bit shift !PSLLW mm7, mm0 ;8 Left 1bit shift !PSLLW mm7, mm0 ;9 Left 1bit shift !PSLLW mm7, mm0 ;A Left 1bit shift !PSLLW mm7, mm0 ;B Left 1bit shift !PSLLW mm7, mm0 ;C Left 1bit shift !PSLLW mm7, mm0 ;D Left 1bit shift !PSLLW mm7, mm0 ;E Left 1bit shift !PSLLW mm7, mm0 ;F Left 1bit shift !PSLLW mm7, mm0 ;0 Left 1bit shift EndMacro Macro SIMPLE_MOVE_REGISTERS_Up_and_Down ; 249 @@ !NOP QWORD [Rip+136] !NOP QWORD [Rip+152] !NOP QWORD [Rip+168] !NOP QWORD [Rip+184] !NOP QWORD [Rip+200] !NOP QWORD [Rip+216] !NOP QWORD [Rip+232] !NOP QWORD [Rip+248] !NOP QWORD [Rip+264] !NOP QWORD [Rip+280] !NOP QWORD [Rip+296] !NOP QWORD [Rip+312] !NOP QWORD [Rip+328] !NOP QWORD [Rip+344] !NOP QWORD [Rip+360] !NOP QWORD [Rip+376] !NOP QWORD [Rip] !NOP QWORD [Rip] MOV_Rax_Rax_Up_Down MOV_Rdx_Rdx_Up_Down MOV_Rsp_Rsp_Up_Down MOV_Rsi_Rsi_Up_Down MOV_R9_R9_Up_Down MOV_R11_R11_Up_Down MOV_R13_R13_Up_Down MOV_R15_R15_Up_Down MOV_Rcx_Rcx_Up_Down MOV_Rbx_Rbx_Up_Down MOV_Rbp_Rbp_Up_Down MOV_Rdi_Rdi_Up_Down MOV_R8_R8_Up_Down MOV_R10_R10_Up_Down MOV_R12_R12_Up_Down MOV_R14_R14_Up_Down ; 249 @@ End EndMacro Macro BeforeProcedureRegisters_RDRAND ALL_MMX_CLEAR_SHIFTWORD_INC_CL MOV_Rax_Rax_Up_Down MOV_Rdx_Rdx_Up_Down MOV_Rsp_Rsp_Up_Down MOV_Rsi_Rsi_Up_Down MOV_R9_R9_Up_Down MOV_R11_R11_Up_Down MOV_R13_R13_Up_Down MOV_R15_R15_Up_Down MOV_Rcx_Rcx_Up_Down MOV_Rbx_Rbx_Up_Down MOV_Rbp_Rbp_Up_Down MOV_Rdi_Rdi_Up_Down MOV_R8_R8_Up_Down MOV_R10_R10_Up_Down MOV_R12_R12_Up_Down MOV_R14_R14_Up_Down ; 17 @@ !NOP QWORD [Rip+16] !NOP QWORD [Rip+32] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOVQ mm0, Rax !MOVQ mm1, Rdx !MOVQ mm2, Rsp !MOVQ mm3, Rsi !MOVQ mm4, R9 !MOVQ mm5, R11 !MOVQ mm6, R13 !MOVQ mm7, R15 ; 17 @@ End !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !RDRAND Rax !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !RDRAND Rdx !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !RDRAND Rsp !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !RDRAND Rsi !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !RDRAND R9 !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !RDRAND R11 !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !RDRAND R13 !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !RDRAND R15 !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 49 @@ !NOP QWORD [Rip+32] !NOP QWORD [Rip+48] !NOP QWORD [Rip+64] !NOP QWORD [Rip+80] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOVQ Rax, mm0 !MOVQ Rdx, mm1 !MOVQ Rsp, mm2 !MOVQ Rsi, mm3 !MOVQ R9, mm4 !MOVQ R11, mm5 !MOVQ R13, mm6 !MOVQ R15, mm7 !MOVQ mm0, Rcx !MOVQ mm1, Rbx !MOVQ mm2, Rbp !MOVQ mm3, Rdi !MOVQ mm4, R8 !MOVQ mm5, R10 !MOVQ mm6, R12 !MOVQ mm7, R14 ; 49 @@ End !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !RDRAND Rcx !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !RDRAND Rbx !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !RDRAND Rbp !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !RDRAND Rdi !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !RDRAND R8 !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !RDRAND R10 !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !RDRAND R12 !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !RDRAND R14 !NOP QWORD [Rip] !NOP QWORD [Rip] ; 19 @@ !NOP QWORD [Rip+24] !NOP QWORD [Rip+40] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOVQ Rcx, mm0 !MOVQ Rbx, mm1 !MOVQ Rbp, mm2 !MOVQ Rdi, mm3 !MOVQ R8, mm4 !MOVQ R10, mm5 !MOVQ R12, mm6 !MOVQ R14, mm7 !EMMS ; 19 @@ End MOV_Rax_Rax_Up_Down MOV_Rdx_Rdx_Up_Down MOV_Rsp_Rsp_Up_Down MOV_Rsi_Rsi_Up_Down MOV_R9_R9_Up_Down MOV_R11_R11_Up_Down MOV_R13_R13_Up_Down MOV_R15_R15_Up_Down MOV_Rcx_Rcx_Up_Down MOV_Rbx_Rbx_Up_Down MOV_Rbp_Rbp_Up_Down MOV_Rdi_Rdi_Up_Down MOV_R8_R8_Up_Down MOV_R10_R10_Up_Down MOV_R12_R12_Up_Down MOV_R14_R14_Up_Down EndMacro Macro BeforeProcedureRegisters_SMSW ALL_MMX_CLEAR_SHIFTWORD_INC_CL MOV_Rax_Rax_Up_Down MOV_Rdx_Rdx_Up_Down MOV_Rsp_Rsp_Up_Down MOV_Rsi_Rsi_Up_Down MOV_R9_R9_Up_Down MOV_R11_R11_Up_Down MOV_R13_R13_Up_Down MOV_R15_R15_Up_Down MOV_Rcx_Rcx_Up_Down MOV_Rbx_Rbx_Up_Down MOV_Rbp_Rbp_Up_Down MOV_Rdi_Rdi_Up_Down MOV_R8_R8_Up_Down MOV_R10_R10_Up_Down MOV_R12_R12_Up_Down MOV_R14_R14_Up_Down ; 17 @@ !NOP QWORD [Rip+16] !NOP QWORD [Rip+32] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOVQ mm0, Rax !MOVQ mm1, Rdx !MOVQ mm2, Rsp !MOVQ mm3, Rsi !MOVQ mm4, R9 !MOVQ mm5, R11 !MOVQ mm6, R13 !MOVQ mm7, R15 ; 17 @@ End !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !SMSW Rax !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !SMSW Rdx !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !SMSW Rsp !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !SMSW Rsi !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !SMSW R9 !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !SMSW R11 !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !SMSW R13 !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !SMSW R15 !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 49 @@ !NOP QWORD [Rip+32] !NOP QWORD [Rip+48] !NOP QWORD [Rip+64] !NOP QWORD [Rip+80] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOVQ Rax, mm0 !MOVQ Rdx, mm1 !MOVQ Rsp, mm2 !MOVQ Rsi, mm3 !MOVQ R9, mm4 !MOVQ R11, mm5 !MOVQ R13, mm6 !MOVQ R15, mm7 !MOVQ mm0, Rcx !MOVQ mm1, Rbx !MOVQ mm2, Rbp !MOVQ mm3, Rdi !MOVQ mm4, R8 !MOVQ mm5, R10 !MOVQ mm6, R12 !MOVQ mm7, R14 ; 49 @@ End !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !SMSW Rcx !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !SMSW Rbx !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !SMSW Rbp !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !SMSW Rdi !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !SMSW R8 !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !SMSW R10 !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !SMSW R12 !NOP QWORD [Rip-32] !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !SMSW R14 !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 19 @@ !NOP QWORD [Rip+24] !NOP QWORD [Rip+40] !NOP QWORD [Rip] !NOP QWORD [Rip] !MOVQ Rcx, mm0 !MOVQ Rbx, mm1 !MOVQ Rbp, mm2 !MOVQ Rdi, mm3 !MOVQ R8, mm4 !MOVQ R10, mm5 !MOVQ R12, mm6 !MOVQ R14, mm7 !EMMS ; 19 @@ End MOV_Rax_Rax_Up_Down MOV_Rdx_Rdx_Up_Down MOV_Rsp_Rsp_Up_Down MOV_Rsi_Rsi_Up_Down MOV_R9_R9_Up_Down MOV_R11_R11_Up_Down MOV_R13_R13_Up_Down MOV_R15_R15_Up_Down MOV_Rcx_Rcx_Up_Down MOV_Rbx_Rbx_Up_Down MOV_Rbp_Rbp_Up_Down MOV_Rdi_Rdi_Up_Down MOV_R8_R8_Up_Down MOV_R10_R10_Up_Down MOV_R12_R12_Up_Down MOV_R14_R14_Up_Down EndMacro ;- PureBasicStart If OpenConsole("RDRAND SMSW CPU reg. Stabilizer") PrintN("Setup ... RDRAND SMSW CPU reg. Stabilizer") ; 1 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 2 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 3 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 4 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 5 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 6 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 7 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 8 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 9 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 10 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 11 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 12 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 13 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 14 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 15 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 16 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 17 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 18 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 19 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 20 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 21 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 22 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 23 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 24 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 25 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 26 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 27 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 28 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 29 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 30 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 31 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 32 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 33 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 34 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 35 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 36 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 37 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 38 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 39 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 40 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 41 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 42 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 43 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 44 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 45 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 46 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 47 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 48 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 49 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 50 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 51 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 52 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 53 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 54 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 55 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 56 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 57 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 58 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 59 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 60 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 61 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 62 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 63 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; 64 Setup BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND SIMPLE_MOVE_REGISTERS_Up_and_Down XOR_Rcx_Rcx_x2 Set_CL64 !XCHG dil, cl MOVZX_Rdi !NOP QWORD [Rip+16] !NOP QWORD [Rip] !NOP QWORD [Rip] !CALL QWORD PB_Delay !NOP QWORD [Rip-32] !NOP QWORD [Rip] !NOP QWORD [Rip] ; EndMacro BeforeProcedureRegisters_SMSW BeforeProcedureRegisters_RDRAND PrintN("Finished") CloseConsole() EndIf Delay(800) End ; IDE Options = PureBasic 6.02 LTS (Linux - x64) ; ExecutableFormat = Console ; CursorPosition = 1838 ; FirstLine = 1815 ; Folding = ------- ; Optimizer ; EnableXP ; UseIcon = NR5_ES.ico ; Executable = ../../Documents/CPUsetupRDRAND ; CPU = 2 ; Compiler = PureBasic 6.02 LTS (Linux - x64)
オフライン
上記のビルド版
$ base64 -d text > CPUsetupRDRAND.tar.xz
text
/Td6WFoAAATm1rRGAgAhARYAAAB0L+Wj5L//Ev9dACGUBuS2eGNBaS1D5xvxkYW6HkT35zwWbNY5 bNlc3lSCDKxFqDVqeoPqn3wofcAhatHea8U86H/5WuPaWSSBNx0lj/2kTk+Hi4K6S97C8ifou0UR f0vYFaE/9zIqJCNkFzag7pmgaORSeOmeG5FklSdRW1w1QGmSdZR5W4J86QIhNBFitD3YL3hnFOM1 DlDUP1l62fU98IVrppWNRkS/nlc4yGrIkK2zvzOzEDX1DlssEY3YAzNP7TDXTP2jS5s633/3Spnm ddWBvPMN77i1nj8o2rXmHsgjSuUIdh/ZBwSrSp2eD8zbDLZKFeAqkTOsJO9GQMUyn51j53rOOftM k5BcQA9bom3YwIGEXTIgNKOk1jrdjKMr6pVRJdlD82EJWaHa+NHej1BwZONaWgW3GhQhiWagc6mi hm3Kts6JtzimbI7IAalxADlQX5I9TzsZsgvwulK0EGfK4VMA9sAeBTziC7yiiyWtBhGaAXL4+GJL uUkWJQN0XyMfnXBunKZbnv93nKvoDyap8/I784fwvqPgyfa3LGoXkC/2EwlR0MI4QOvgb5quYsMG 3GFfeW1K3opCLb2IFtX96U/9MOSnASeYoPlfwDSf/kxP+a4qmcdCaIOHM2wuvbNKgBlfP+CrhXni POUmFAF5lcvxxB8yTE253WhFw+hZXi7yZYo6ozcKiabMrn/wBULFKfjlwsq1kWQviEQF4cgA0IBa AaLXTUb6rB+eCSoH+00e3KO429okGovdNkA5nfH8fZgi2ZFd40P4H9aieilS8wME5UCABZ+3E1/h 7OR5Zww1UQpZuQ2MSJKl5yuHdS0V6tyugC7sbT3eV9XK5oW2kauBBa8mAZhYEYl2LAh3O9dbYnGU JvY5xyaPYRtDPv0IVI04m9MUz7c7rObKLZL/8Pnpy1X0+FKOlwCChE6opq65D+h3gNbuNKtv/s5+ OlUx8RVrvHVwDp2q/PzAPbq0+EKSWVhMND97ni3owqG0X09aUrh86In2jjTvax+QUHnXBI3a4Z/3 2h0U8/Vq3ivNbAkxyq1PcePcnFZgNXVWS8d2+L3pqWd+aQfDqigvjR55CAdWLaf6mgiBxs4F+2Ik wamHurU+8IADPxzQSfeoAiZw9VoHO9dWYGZLP5LRDEQLdkpj8nxogAXfdRBpNmsLEHanwhTaOHDL I5hnRrV1qFxebb4DHWGOPQ+XgaXJ9DAJjMcJQhDTK3ibkMeRTh56tfn2RKb0suiNWPZLmAc5tc1M ZBg2BI6GoiZaGda+Bg4n0NW6AQhG9RNJ/xKgxTWko9vLqOCITSbqRWk9+B86u2yp2e2GriumvqXi cHoMThnJyb4yinf1MoyHo+EX5Jo0zk+33vrbUKNL4LNQ9WWlALVrXh7gf7XVm4D06Pc1+07PFccI nLZA9u5k9CXRSsv2tWQRUw15m4M3vGahQh+IRBXP/2I6eOTseaRtaIW81pv1i6F5w2Sa7YvV/U9z Y9cnWYDcoGBrCh3qVLcf8kYjmdtJyrDp2RsRCr2gX2V1PnF9MxGhFE34PywxmLdwYqlLYGPI18EL I0Sh/+3AddYKspql4r3whJZrP3e2RG37FLyrWNWbxx+CH32bkrhue1/PX/3Ka52B7Y5RRmCeOMPs VzTWHkCZyiJV3aVJ2nU3ATU5vVrDqDDBtgy4qG02zd4o3MOLs2T/oTTv9ZDji31GgPTTlFEKar2X sgj/6jbE68D0WKeIN1zGSxF0i2won0ClNipKzsRuxTI4NrMBtwDUyWl7zn0kBj/C0pPiAwmNXThW pchQXHpbdlKtJyU5B98Aylzyy/YJqSMTSpJ8jW6rTy/rf+i8CFioPUwVm7t3jzf2r2F2L2pxgTY3 zzzhvI1eGwaNI+EZ8cer/Qardl0hWTA/PncKsx0xfCRxkO2jiF+T67jZ3XuxK0SkRRQ6RjAEBwyW 1Q4TxyFY4f5eN/KCqyR9xybl1IfE+hP7/feSV1BsRCDC3B+GGuWGItGsHl7+pZbEJF+ZxKxMn4+q aXIIHLpIMMob1asfocB647vgsgCgmMthCDBFaDz2gKyiak3y6shu1rpAzFh8ajFUTKWPIuRV3Sbd p2ZDtFENgq8fAIWaWxeU5L/q1ficTfr41vFXFGJ4P1a6M+5CpIIxp95h0p9MvTNaznWidvrsFRPM F9FxfaJnCaRQu+0+jMxoaw5p07+GtUYiGLkOx64lR9KRlMr1+eT2hwFuxSXVYjkXQR6tkuaEhBgP 5oYUbFjj2ueCAKs5fEMJgmNcbxZCCz5D9AMOj4OBhdxDinb1KGUBNB0cdD+jSHRQx3dK6eGWdYRx YhgZELDnMANBcYoQypu969b58vOU6uDvt7/pSS8hLgZwLGjSfkkg5UsSXMMe5hCRn0fT1d+ULSVt UdhdbRzWs2UL8adKRN+4MeqsXhPv+kn7Fr6hUgX/JSrwqRKQTqMS63ku4b1+d/9A3ZyIrZ2NWpZS Pa6wGEGO9kQehNYKUxYyE5AramtdWER0lqORW/OV2ens2+yY0LvRiU6NA5xrxCFeXCghufBApJp3 LwpVnL0zps4Kv1Np/EYfGYUhVlTzJuwocWGyxPKz9lG3VrO3olMMVsnektcytt+cOs2nERnm2fct x+IFvAok8ZCOPQh51wxiSlHEly22Pp2aEDpADgBom8lX3w5+HjwnFFKhxdRiCdGSgE4ixsCdPGMB 6elqwB1UmeFQB1BseMcoC3i+myR9JztkCEJ20GrGtqcrfUhtme4NEfc533VXuH77aOYIZjNJCVku kRNGTOVvXZzRs+B/2Yr43peNfnjMqbO9PCN6lcgPeasbpEeCR594y4Qn8Dy59GAXUaPMWp/0UYre ji11Yqy29+PB02f/CcgFO34AT2WD0jBwbBxk2/nK5F/Haa2q5N/9gs9QmejS3Vd4ls6jZYVSi/1C h+QFsOPWoT65gI4abhh2TI3JCkZbZsatOo+cwYrmv0Vqhl4oq1sugz5smn0VgQN4EqFW/Zd2EG+b IqmvuFiuXApA/XRhHlS+NKCG6jpPkjCC2oixvR+WPJHLNY0wt54m7T3pggFRt6bEHW/J8A3tC0hw cU+7jCYPIN+aXahX3HHBbFOpd9/2iVGNOgEvlcBxKg0WI+4EDe5XWwLND5b/hQM7lpYh5QolmjYM fdOCz3lefHX4+hdAI+E9xHbJw6tnDEnxAx0/p5W6c4mKcyi/fX2oLCfsJhzCXHMEz6mZcLhjVc4k 4vNGYrY3Hy67aLHh0mDku6avIjO6Jh4bk4HxuhuprIWZg0nDf/eQef0cezpas8CZjP00+bqRshAB tLGe6sY5iwou0TaRq7jP/FUQaB9Wsmoz896UVq08leW3Pa6zCVvI5J/XhAGBG6RIG4govRtqNLOA nsZHSdKfKdzr449s/KKkbzwiGcvswyodIAE5K0RT0FGrDD5PaN3hoO0I0XE2/rLUIiFtlSTZCw1v 45U51r+GIwfqHvSTepsO0h9hvl48T4VJlCtswm40UJGrhD/7u+A9mTHCjz8K1f5pZRt0CdIHJee1 LKsVTVe3XCbnCQkeUgvZd577TJRe1z2cW3h0XxmGuJaa6qCuQIEvBYR6zKo0GHl6vyL0f4JpJb0G Ie13qhYJqUO8cUfmffopTurgbzo8TSVObNPM221ByThE0uXB0T5/y7nmjAPUjn14jZRpgWr0h9CM 5WNud375BzdZV+ZgjCnuMpLSXx17sMDQGAJKrdrETHKDEeaVvOJZ0AU2PJGi1b26Aa4lSGOn7AVJ 8x/swlWQEpwoyUi7oV+hP+70dFKAmviWUtZRsQood+xMiUNt2xXQT3PkSii2gc0SKzQ75nYcMPfA /8u8JYVlQBUfj+iQjI226X0N5EgcZdOSmRn6eoIaSgVMCS8kDcdBrBE4YNtw4BDwhREM32v+U3ss NLV0xS7w7wgKEa0u0YUJQuNerG2LkEAIXJxGI8pWkDwfzQGOYPbkfdNyS0ZEEwOOLHfd7gjf7zAp KtPbMVMFNbQ7N5H1JIe+FPZt3pipfXSLGVSFbkFRE985mxcYvY/tmPASrmqQ76KVwTQqJ4FQ5q24 gdhQuxpqeBWQSSqd4GmhmDpNFDhD0RijhDMOgDnNvCoR/ZFC5TjBrhiwhs4UBqHoAFZcCQ1tnzca iiCSuZ6/EkmEjKN9idkbjQMMHYxB/RV+G/3lU2cZ4BbDxVgMXJ4lTPIMLR8/7OvNzdM5h+wf2Tcc SyE8NN6cccSdDJNQmk5tvPBcvLYrO/MIM7EDT7IZpsuKfob+tK5mlyf2o/eDJbCUQ7+yU7Jhh4I6 XQYznfZ6j8NUTWMYAY6oOLg9qqMRHX18u9NuyrMN7UJ6to8ZkEZCuJ/jlC3kYLYbiLAn9P4ySJNl ouaBfk8y0kMLqEZ+ewSl2sYjlU2LuXkmZRXp95OMXB74VQg/jpAfB02fZYRg66mbnCqnwhs0S2iI aL34RTm0LwTagMekpyEVurW1//tCCTCDoY/w/UKu7Xg2OKaoNnv5H0KdH0Wq1COasjhB1WLg9OBn iKhRMQ+Zt0HjsngCDMiMVhUmsxdZ7xCYDboc/ldA9Sd5uMETPlROTzFVUIMZOv0k07gOZ7jUXoby YuAzBOmyvy+am7jFWiyqNxqhKOhVWw65Gw9qErRtOdcPUbZtDTY2d/EjPJrErIIz2w4yLAVM9p4m F2Ljft4JC7uJMFSblcQRP6rMnYbAzy3zP8n9Kd8mepicB2HadjyUrSl5P3MfJmq7NDnV9hIpfvpl iOcIqXSS8SEvJ/m19zdMpmQAabURI6d1P9aX2caThxC6gXnnQrnwu73/wkOGqCW07hVy2M5aMeam KqH/9Lymd1ae8vQvbXEwyF/C4M2jzMMzG3isHgJFZQg0Q3zj0bOq0rJJARj/ZHJp7ZCNvxKoAl6p cFO3+519IWAkBwP/D0X5bupsEdionmZjEN/3gXCfHwE2dRHZ+mCxyEnlmyS/5b0//N5l/9zoWLMY nIkqp6OQVUhozsHemdPlsMTwQP42+1YSOCToI9AvS36LLHa0Kl9Bd0vajfGMV66wr8fRtIae3UrD u/yqmEQc0gIWOqmeCEhTyDFt1dWzXCEjENjQGgfilR/D/xNTcFK4Al+3HIpQQhdIkqS6eEvtIcGF mSN3sPWAa2Z3ooFPNNq+2j070sGE3Ck3FGRPx1CHkERb6996m9mVB9KjF485Y+XUtK3uZM8x8o0T oh38KdaHdKjYPDq5xdEmq230ulkqpRmriTGxQcP7iBFB79mD3y+pARL0HOk3fian2lq19Ua1BeJ5 rEywzaclMf403jIAqgQsqcl2PHSN7XHz4UD5ajG19H+NlrKAK0q1ucj4zRWzGifN019/6rsxRBRW uPHQPitpkkYL00+LLW070lIIIeIlgzcjjMdebrm7ICeXqfFQK9bz80dr9flQ4XHrD/H4h94TROM1 9xtQ95KuZbBJv4w6Uf3Bf6jnPqALia+lhbF8wdySo+6/VQhNV1LWj6qmuxaCOp3wX3G2IXQlCdPA AIhSpWRh4NG1U/+dmy4ISzw48k7zIMHjLtrvJgbPowMuRR8F2seQpUxs7jQwxvIDqMp45Jj0GnRN SFenGfzZYzqIC5//UbXywnA5/9wuWaO4LA6ZFUJA7pX49aD/3lg5Aj+xE4jNCPzkrAbECT4X0tLJ cNEMeUyopa6HzPu17Rc+YkNTPKy1b8nwam8u6LlsJHkgPuEozGPC3PAgz1dxWUluyeBw7wYH5sZ9 NO5cQAFy4y1M6d11t0faO8eEgf1SMv8E3Zf+uYTmwL68lGxfWoGDybizA1Dr1kBvBfuNxS6944VE A3hBbjMTvlrVV4YavzVq/c3VDI68se7j6J6hEbOQ4Y//Y3AMRd3xNS1HycICyd1Vm83YaLLu+W9F FTX9XVHbB1oEkoBOAzjOoPy3H6oaYAAKqvIzm9syij3fJJGPW0KDHMfSi5amPWSeuRug9arm7E2E 9lZWvvjw7ASAse4lF+kUz+GI2zOzrti/DSA+yubrVmDDwaMRyXNg2LSYPhkNVM4PsjhUxkUMntiB r53UTo1hK73fTDfeI0yp51DUvWPmvcQL07wdRbpGm+KRfH0WedYp70/QCfCjSj2URugkqdn7xvHl GVIZUuy/gsFkECrMInTf9+popDHeae5jw3zmvG54fpFxSu6AZLsrKzQW/uhV/T9OoO2Kkj0c5RRt 0hE6Y7VuitplXT6DLK0Sv6syOowz6/0fDi9C3t1xxwMXMKkYrIvtukQjMmqhZberX8nl4YmDBHH0 GChDhe6mjSmsLtxYQYw59+rRMlTiLt4G/qtKWm/B5zm3xo8vLUPcnRPzddamE1n0Js9ycfoW0Bbj M7O8lQkMtX9Q0zWvzIhtfbCMfENCx/Jt7Sqjw/05rtRv3yEym3v3vLn5Xr2Guf9wPU3ph2GYi3Ti ua1/xp5q745FVJNYOK7VG4S8p5XSNHnRhWETWtwq6epScCUZWmy3Oz8g3+M/O5vdAAAAznofL37p Kj4AAZsmgIATANAE9pexxGf7AgAAAAAEWVo=
Ubuntu では「自動起動するアプリ」という設定で、こちらの CPUsetupRDRAND を指定すれば、
ログイン後、2秒間のキュアプログラムで「RDRAND基準のCPU状態をセットアップ」
解析していないけど、動画配信などは RDRAND を使った暗号化をしているので、画質と音質は大きく改善
でも、これを Windows で作って配布すると「とろい!」と判定されて動かない。
RDRAND のない CPU では RDRANDマクロ行を削除、SMSW だけにすると、動作する。
このソースコードをみて、簡単じゃん?
そう思うやつは「デスマーチ」のはじまり、はじまり
何が危ないか?
NOP QWORD [Rip]
NOP QWORD [Rip]
で終わっている部分がある。これを消すと、CPU内部でクロック制御が無効化される。
クロック制御なく、1ステップの「オーバークロック状態で実行」になり、
環境条件によっては、オーバークロックした条件になって壊れる。
修理に出しても「オーバークロックした痕跡から、規約違反で修理不可、保証対象外」です。
その場合、
自分の給料から「損害賠償を支払う」というデスマーチが始まります。
これは脆弱性ではなく、軍事攻撃として用意された命令になるので、
本気の攻撃では「セキュリティソフトは機能せず、貫通して、ぶっ壊れる」
そして厄介なのは、クレームをOS設計者へ言っても「無視!」される。
軍事攻撃できる CPU OS RAM SSD という条件で、パソコン販売は許可されてる。
NOP QWORD [Rip]
NOP QWORD [Rip]
CPU キャッシュを「カレントラインへ戻す」という内容になり、正常動作の復帰方法
NOP 行の削除でなく、この2行を NOP行 の最後へ、追加すればいい。
それでも CPU の内部において、マイクロコードへ変換する部分に対策されると、
この方法では対策できない。
そこから、デスマーチのはじまり、はじまり。
そもそも、インターネット経由ではない、オフラインの攻撃手段があるので、
ひどいことのラッシュが起きる。
MajiorityCleanES99 の開発環境は、Hisence 24A40H 1366x768 に対して、
東芝映像エンジンと Intel UHD770 色差出力による 1080p 入力によって、
むりやり 720p を 1080p で表示して「テキスト誤認攻撃」を阻止している。
こういう対策をやらないと「ソースコードは正しく認識できない」
デスマーチのはじまり、はじまり
Lenovo ThinkPad にそういう機能を作れないのかな、、
オフライン
今週、SourceForge から「AWARD」のお知らせが届きました。
SourceForge Favorite(月間2,000ダウンロード)
この受賞って、普通はどうなんですか? 日本での就職に役立つの?
いちおう、あれこれに使っていいよ!
とありますので、ホームページに使ってみましたけれど、いいのかな。
ライセンスは「未定義」のまま、です。
SoftwareDesign の個人開発の記事を読んでいますと、
誰かわからない匿名で
Voice:
産業界が無償提供を希望する間はライセンス未定義がベスト
儲ける状態にするには「対価を誰かに支払う代行費」が必要
ということで、
自分ひとりで完結している状態では「支払い代行費」の名目は作れない
個人開発について、ひとことありますか?
そうですね、
大企業は「基礎研究」だけでも「投資家へ説明義務」が生じる。
中小企業では「投資家=経営者」ですけど「銀行へ説明義務」が生じる。
個人は「説明義務」は求められないが「国民の模範」を求められる。
これだけを気にしていれば、いいよ。
オフライン
MajiorityCleanES 101 について
RDRAND 命令から RDSEED 命令へ、MajiorityCleanES 99 から変更
それだけで「最高品質の限界突破」となります
RDSEED は CometLake から「結果はキャッシュされ、同値を返す」
この処理を悪用して電子ビット基準を正確に整えることができた
問題点は、USB-DAC の多くが未対応で、AKM ESS DAC と相性最悪
CS43131 とは相性良好、S.M.S.L M300SE が現在の Best USB-DAC
RDSEEDの設計を変更されたら、効果は無くなる
それで公開すると AKM ESS など多くのメーカーへ影響するおそれ
DAC 製造メーカーに留まらず、電子基板を使用した世界の全製品へ影響
現状の AlderLake RapterLake から設計変更された段階で、
研究開発のリファレンスとならない、そのため RDSEED 依存ではなく
同じ結果をもたらす処理にしなくてはならない
RDSEED は「既存のCPU命令から作られた処理」ではなく、
「独自の乱数生成ハードウェアから得る乱数値」との説明で、
これをどのように再現するのか、とても難しい
MajiorityCleanES 99 から RDRAND を RDSEED にしたもの
REX.W + 0F C7 /6
RDRAND r64
Read a 64-bit random number and store in the destination register
REX.W + 0F C7 /7
RDSEED r64
Read a 64-bit NIST SP800-90B & C compliant random value and store in the destination register
Executable から該当コードを見つけ、+1 すると RDSEED に変わる
CPUは「アナログ回路から、"1" を 電圧70%以上、"0" を 電圧30%以下、デジタル基準を定義して作られた」ものと考えている技術者なら、この問題点は理解できるだろう。しかし、電子工学を深く勉強していないソフトウェア工学の専門家は「あり得ない」と断言しやすいが、こういう論者は大学教授には不適切です。常にソフトウェアのバグのうち、再現不能という場合、アナログ回路であるので、電源や雑音の影響を調査しなければならないと説明できる大学教授ならば、日本の将来に不安はない
ここの部分について無理解であったり、日本政府指定の特定機密になったりすれば、日本の大企業によって作られた人工知能の暴走によって、日本の領地は「人工知能による戦争に使われて来た実験場」という運命になりやすい。世界を破滅させた国として、いつでも消滅できる場所へ移動した可能性から「この歴史では最も東に位置しており、海底火山の噴火によって消滅できる」、そう考えると責任とは? 日本に住むすべての人に影響する。おかしい技術根拠を言っている場合、何も言わなければ世界の破滅は避けられない
オフライン
いまなお電子ビット基準のCPUレジスタ・スタビライザーの研究開発は続行しており、様々な妨害あっても、それが日本の国益になると理解されたら続行できるようになる。それをどのように示すか、いつも悩みを抱えている。
いま、写真印刷ソフト Art photo print という名称を使用していたけれど、誤解を招くとされて、JK print 女史後世 という名称へ変更している。アイドルの推し活や、コスプレイヤーの写真を印刷してフォトアルバムを作りたい用途が多いということにした。しかし、元々は「大企業の印刷機材メーカーから提供できる印刷品質は平均クラス」ということであり、「左8人、王様、右2人」という王様カレンダーの印刷には「Art photo print」で対応できるというもの。許可されているというのは「カレンダー」「大企業の宣伝用途」に限られていると思っている。
こうした写真印刷ソフトを作れば、EPSON CANON のカメラやプリンターの改善が行われ、ファッション雑誌やコミック雑誌の印刷品質は改善されてきた経緯がある。これ以上に良くならないとされても、限界突破できる根拠があれば、闇の権力強硬派という印刷会社から印刷機材メーカーへ「もっとよくできるだろ!」と言えるので、それを知っていれば維新の関係先は十分に貢献していると言える。普通のソフトウェア開発者は怖がって作れない。
あまりにも関係性を証明できないけれど、印刷品質の改善は「レーザー加工技術の改善」でもあって、デジタルで記録された設計図からレーザーで半導体製造装置の露光処理など、具体的な設計は分からないけれど、役に立っている可能性はある。日本では各種権利関係が複雑で、中国や台湾のメーカーへ後れを取るだろうけれど、根本的な先進技術では相変わらず日本の技術へ依存しており、半導体技術の限界に達すると「おまえ、これ以上になんとかならね?」と日本の技術会社へ無理難題を吹っ掛けられている。
デジタルジッターの起きやすいCPUは作ろうとして製造しているのではなく、できれば起きない方が安全である。人工知能の暴走は「製造品質の悪化によって起きるデジタルジッター原因説」が有力とされる。裏のシステムでも人工知能を使用していると「オフェンスとディフェンスを間違える」、offense defense 言葉のスペルを暗記して間違えない人は少ない。ofense deffense と覚えている人工知能があると、世界の全体で大混乱を引き起こす。これはどうして起きたのか? いま、作っているMajiorityCleanESを使用すると問題が起きなかったという。それで現在のCPUは、外側のCPU、内側のCPU、そういう2重シールド・3重シールドという構造を考えれば、「作り続けてくれ」と言われ、収入になる仕事にならないのだろうか?と思っても、権利構造の都合から「我慢しろ」という状況である。
要人護衛の問題について、ひとこと
英語の勉強をするとき、桐原書店の「コウビルド英語語法辞典 改訂第4版 2020年」ぐらいは買って勉強できないか? と思う。3000円ぐらいだけれど、間違えやすい英語の意味について解説してあって、これぐらいは理解できていないと、いくら英語の成績が良くても実用性のあるスキルにならない。人工知能の ChatGPT にしても、曖昧な意味の違いによっておかしい命令を発行してしまう。日本語で「英語語法辞典」を書くと、曖昧な言葉表現として勉強した日本語で理解していると、意味の分からない英語を多用しやすい。日本語に「論理表現」の言語ルールを新たに作らないと、日本の技術専門書は意味不明に陥りやすい。
オフェンス is offense as 攻撃
ディフェンス is defense as 防御
ターゲット is target as 対象
攻撃対象 is offense target as アタック
防御対象 is defense target as 守れ
これらの意味が理解されていない英語の ChatGPT で操作する人工知能は極めて危険である。
fense target body guard
と聞こえたら、なにをするべきか? 最初の3文字が伝わっていないのに、勝手に判断して、off とするか、de とするか、英語の問題はここにある。日本語は最後まで聞かないと「アタック」「守れ」の役割が分からない。
簡単な英語だから「わかるだろ?」といって、私の護衛は始まったけれど、ほとんど全員が「攻撃」「防御」を間違えており、この簡単そうな研究開発は「日本最強権力」の家系しか出来ないという危険な状態である。これを対策してくれないと、いつまで経過しても、私は給料の支払われる仕事へ就職できない。
オフライン
技術知識の鍛え方、参考になるかな?
UNIX を使い始めた時期とは、大学生になりサン・マイクロシステムズのSunOSでSVR4を学び始め、それで基本操作を覚えたあと、岐阜の悶絶美少女昇天ネットワークという草の根BBSで、京都大学マイコン部が作成した 386BSD 0.1 for PC-98 で応用分野を独学していきました。カーネル再構築によって「ハードウェアドライバー」を選別して起動カーネルを生成すれば、高速動作になるほか、メモリ使用量を抑制して動作できた。春日井の草の根BBSでは、信じられない能力者に出会い、中学生にしてオライリーの全書籍を部屋に置き、すべて勉強していると言い切った。その話を大学の情報処理センターのアドミニストレーターへ相談して、学術インターネットの使用承諾を得て、東京大学のメーリングリストで配信していた Linux 日本語FAQ を読んで勉強していきました。そういう知識が前提にあって、MajiorityCleanESは時分割タイムスケジュール処理によって、Ubuntu の安定性改善に役立つと考えている。
Ubuntu PC を子供に与える。それだけでは何も身につかない。オライリーの関連書籍をすべて買って、本棚は「大学図書館より充実」の状態が望まれる。市民図書館へ行き、「プログラミングの勉強」という本を読んでいると、ダーク・スレイブ・アッセンジャーという連中に絡まれる原因になって、小学生の段階で就職先が確定してしまう。それなら書店なら良いか? ダメ。プログラミングのコーナーで中学生女子が立ち読みしていると、先輩から好感されるかもしれないが、不審人物に狙われて就職できなくなる。行き着く先は夜の酒場しか働けなかった・・・。個人技は「プログラミングしりとり」とか、Ascii?Image?Elements?Scroll?Load?Dialog?、面白すぎて人気者になっていた・・・。
MajiorityCamisole 161 for Windows x64
留意点、Windows API 引数レジスタを Linux API 引数レジスタへ変更
Debug "; MajiorityCamisole 161 (2023 04 03)" Debug "; RDSEED CRC32 BLSRx64 BZHI CPU reg. Stabilizer from JAPAN" Debug "; Copyright (c) 2020-2024 Hiroyuki Yokota (oryaaaaa)" Debug "; Design based by Military LAB-AI designed (Customized Hiroyuki Yokota)" Debug "" Debug "MessageRequester("+Chr(34)+"END"+Chr(34)+","+Chr(34)+"Compiler options Executable Format Console And CPU With MMX"+Chr(34)+") : End" Debug "" !extrn PB_RandomSeed Global NewList Reg64.s() AddElement(Reg64()) : Reg64() ="Rax" : AddElement(Reg64()) : Reg64() ="Rbx" AddElement(Reg64()) : Reg64() ="Rcx" : AddElement(Reg64()) : Reg64() ="Rdx" AddElement(Reg64()) : Reg64() ="Rsp" : AddElement(Reg64()) : Reg64() ="Rsi" AddElement(Reg64()) : Reg64() ="Rbp" : AddElement(Reg64()) : Reg64() ="Rdi" AddElement(Reg64()) : Reg64() ="R8" : AddElement(Reg64()) : Reg64() ="R9" AddElement(Reg64()) : Reg64() ="R10" : AddElement(Reg64()) : Reg64() ="R11" AddElement(Reg64()) : Reg64() ="R12" : AddElement(Reg64()) : Reg64() ="R13" AddElement(Reg64()) : Reg64() ="R14" : AddElement(Reg64()) : Reg64() ="R15" Global NewList Reg64A.s() AddElement(Reg64A()) : Reg64A() ="Rax" : AddElement(Reg64A()) : Reg64A() ="Rdx" AddElement(Reg64A()) : Reg64A() ="Rsp" : AddElement(Reg64A()) : Reg64A() ="Rsi" AddElement(Reg64A()) : Reg64A() ="R9" : AddElement(Reg64A()) : Reg64A() ="R11" AddElement(Reg64A()) : Reg64A() ="R13" : AddElement(Reg64A()) : Reg64A() ="R15" Global NewList Reg64B.s() AddElement(Reg64B()) : Reg64B() ="Rbx" : AddElement(Reg64B()) : Reg64B() ="Rcx" AddElement(Reg64B()) : Reg64B() ="Rbp" : AddElement(Reg64B()) : Reg64B() ="Rdi" AddElement(Reg64B()) : Reg64B() ="R8" : AddElement(Reg64B()) : Reg64B() ="R10" AddElement(Reg64B()) : Reg64B() ="R12" : AddElement(Reg64B()) : Reg64B() ="R14" !RDRAND Rcx !CALL QWORD PB_RandomSeed RandomizeList(Reg64()) : RandomizeList(Reg64A()) : RandomizeList(Reg64B()) NewMap Reg16.s() Reg16("Rax")="ax" : Reg16("Rbx")="bx" : Reg16("Rcx")="cx" : Reg16("Rdx")="dx" Reg16("Rsp")="sp" : Reg16("Rsi")="si" : Reg16("Rbp")="bp" : Reg16("Rdi")="di" Reg16("R8")="R8w" : Reg16("R9")="R9w" : Reg16("R10")="R10w" : Reg16("R11")="R11w" Reg16("R12")="R12w" : Reg16("R13")="R13w" : Reg16("R14")="R14w" : Reg16("R15")="R15w" NewMap Reg8.s() Reg8("Rax")="al" : Reg8("Rbx")="bl" : Reg8("Rcx")="cl" : Reg8("Rdx")="dl" Reg8("Rsp")="spl" : Reg8("Rsi")="sil" : Reg8("Rbp")="bpl" : Reg8("Rdi")="dil" Reg8("R8")="R8b" : Reg8("R9")="R9b" : Reg8("R10")="R10b" : Reg8("R11")="R11b" Reg8("R12")="R12b" : Reg8("R13")="R13b" : Reg8("R14")="R14b" : Reg8("R15")="R15b" ForEach Reg64() Debug "Macro BLSR_"+Reg64()+"_x64" For Loop=1 To 64 Debug " !BLSR "+Reg64()+", "+Reg64() Next Debug " !BZHI "+Reg64()+", "+Reg64()+", "+Reg64() Debug "EndMacro" Debug "" Next ForEach Reg64() Debug "Macro SHR_"+Reg64()+"_x64" For Loop=1 To 64 Debug " !SHR "+Reg64()+", 1" Next Debug " !BZHI "+Reg64()+", "+Reg64()+", "+Reg64() Debug "EndMacro" Debug "" Next ForEach Reg64() Debug "Macro MOV_"+Reg64()+"_Up_Down" Debug " !MOV "+Reg8(Reg64())+", "+Reg8(Reg64()) If Len(Reg8(Reg64()))=2 Debug " !MOV "+ReplaceString(Reg8(Reg64()), "l", "h")+", "+ReplaceString(Reg8(Reg64()), "l", "h") EndIf Debug " !MOV "+Reg16(Reg64())+", "+Reg16(Reg64()) Debug " !MOV "+Reg64()+", "+Reg64() Debug " !MOV "+Reg16(Reg64())+", "+Reg16(Reg64()) If Len(Reg8(Reg64()))=2 Debug " !MOV "+ReplaceString(Reg8(Reg64()), "l", "h")+", "+ReplaceString(Reg8(Reg64()), "l", "h") EndIf Debug " !MOV "+Reg8(Reg64())+", "+Reg8(Reg64()) Debug "EndMacro" Debug "" Next Debug "Macro Set_CL1" Debug " BLSR_Rcx_x64" Debug " !INC cl" Debug " ; cx = 1" Debug "EndMacro" Debug "" Debug "Macro Set_CL8" Debug " BLSR_Rcx_x64" Debug " !INC cl" Debug " !INC cl" Debug " !SHL cl, cl" Debug " ; cx = 8" Debug "EndMacro" Debug "" Debug "Macro Set_CL64" Debug " BLSR_Rcx_x64" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !SHL cl, cl" Debug " ; cx = 64" Debug "EndMacro" Debug "" Debug "Macro ALL_MMX_CLEAR_SHIFTWORD_INC_CL" Debug " BLSR_Rcx_x64" Debug " Set_CL1" Debug " MOVZX_Rcx" Debug " !MOVQ mm1, Rcx" For Loop=1 To 16 Debug " !PSLLW mm0, mm1 ;"+Str(Loop)+" Left 1bit shift" Next Debug " !MOVQ mm0, mm1" For Roop=1 To 7 For Loop=1 To 16 Debug " !PSLLW mm"+Str(Roop)+", mm0 ;"+Str(Loop)+" Left 1bit shift" Next Next Debug "EndMacro" Debug "" Macro SIMPLE_MOVE_REGISTERS_Up_and_Down ForEach Reg64A() : Debug " MOV_"+Reg64A()+"_Up_Down" : Next ForEach Reg64B() : Debug " MOV_"+Reg64B()+"_Up_Down" : Next EndMacro Debug "Macro MOVZX_Rcx" Debug " !MOVZX cx, cl" Debug " !MOVZX Rcx, cl" Debug " !MOVZX cx, cl" Debug "EndMacro" Debug "" Macro BeforeProcedureRegisters_1st Debug " ALL_MMX_CLEAR_SHIFTWORD_INC_CL" ForEach Reg64A() : Debug " MOV_"+Reg64A()+"_Up_Down" : Next Loop=0 ForEach Reg64A() : Debug " !MOVQ mm"+Str(Loop)+", "+Reg64A() : Loop + 1 : Next EndMacro Macro BeforeProcedureRegisters_2nd Loop=0 ForEach Reg64A() : Debug " !MOVQ "+Reg64A()+", mm"+Str(Loop) : Loop + 1 : Next ForEach Reg64A() : Debug " MOV_"+Reg64A()+"_Up_Down" : Next Debug " ;" ForEach Reg64B() : Debug " MOV_"+Reg64B()+"_Up_Down" : Next Loop=0 ForEach Reg64B() : Debug " !MOVQ mm"+Str(Loop)+", "+Reg64B() : Loop + 1 : Next EndMacro Macro BeforeProcedureRegisters_3rd Loop=0 ForEach Reg64B() : Debug " !MOVQ "+Reg64B()+", mm"+Str(Loop) : Loop + 1 : Next ForEach Reg64B() : Debug " MOV_"+Reg64B()+"_Up_Down" : Next Debug " !EMMS" EndMacro Macro BeforeProcedureRegisters_RDSEED_BLSR BeforeProcedureRegisters_1st ForEach Reg64A() Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !RDSEED "+Reg64A() Debug " !NOP QWORD [Rip-36]" Debug " BLSR_"+Reg64A()+"_x64" Next BeforeProcedureRegisters_2nd ForEach Reg64B() Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !RDSEED "+Reg64B() Debug " !NOP QWORD [Rip-36]" Debug " BLSR_"+Reg64B()+"_x64" Next BeforeProcedureRegisters_3rd EndMacro Macro BeforeProcedureRegisters_CRC32_BLSR BeforeProcedureRegisters_1st ForEach Reg64A() Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !CRC32 "+Reg64A()+", QWORD [Rip]" Debug " !NOP QWORD [Rip-36]" Debug " BLSR_"+Reg64A()+"_x64" Next BeforeProcedureRegisters_2nd ForEach Reg64B() Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !CRC32 "+Reg64B()+", QWORD [Rip]" Debug " !NOP QWORD [Rip-36]" Debug " BLSR_"+Reg64B()+"_x64" Next BeforeProcedureRegisters_3rd EndMacro Macro BeforeProcedureRegisters_RDSEED_SHR BeforeProcedureRegisters_1st ForEach Reg64A() Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !RDSEED "+Reg64A() Debug " !NOP QWORD [Rip-36]" Debug " SHR_"+Reg64A()+"_x64" Next BeforeProcedureRegisters_2nd ForEach Reg64B() Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !RDSEED "+Reg64B() Debug " !NOP QWORD [Rip-36]" Debug " SHR_"+Reg64B()+"_x64" Next BeforeProcedureRegisters_3rd EndMacro ;- Start Debug ";- PureBasicStart" BeforeProcedureRegisters_RDSEED_SHR Debug "If OpenConsole("+Chr(34)+"MajiorityCamisole 161 setup To General-purpose 64-bit registers."+Chr(34)+")" Debug " PrintN("+Chr(34)+"Copyright (c) 2020-2024 Hiroyuki Yokota (oryaaaaa)"+Chr(34)+")" Debug " PrintN("+Chr(34)+"-"+Chr(34)+")" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !StartStabilizer:" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " PrintN("+Chr(34)+"Setup 1... CRC32 BLSRx64 BZHI CPU reg. Stabilizer"+Chr(34)+")" Debug " PrintN("+Chr(34)+"Setup 2... RDSEED BLSRx64 BZHI CPU reg. Stabilizer"+Chr(34)+")" Debug " PrintN("+Chr(34)+"Setup 3... Logical to Physical CPU reg. Balancer"+Chr(34)+")" SIMPLE_MOVE_REGISTERS_Up_and_Down Global SineWave.i, SineBits.i, SineAngels.i, CountBits.i, CountChk.i ; totalWave = 114581 For SineAngels=1 To 178 CountChk = 0 Debug " ; "+Str(SineAngels)+" Setup" BeforeProcedureRegisters_CRC32_BLSR BeforeProcedureRegisters_RDSEED_BLSR SIMPLE_MOVE_REGISTERS_Up_and_Down Debug " BLSR_Rcx_x64" Debug " BLSR_R8_x64" SineWave = Abs(Round(Sin(Radian(SineAngels))*1000, #PB_Round_Nearest)) !MOV Rax, [v_SineWave] !MOV R8, Rax !MOV [v_SineBits], R8 Debug "; "+Str(SineWave) totalWave.i + SineWave Debug " !INC cl" For CountBits=63 To 1 Step -1 If SineBits&(2<<CountBits) CountChk+1 Debug " !INC R8b" Debug " !SHL R8, cl" ElseIf CountChk Debug " !SHL R8, cl" EndIf Next If SineBits&2 Debug " !INC R8b" Debug " !SHL R8, cl" Else Debug " !SHL R8, cl" EndIf If SineBits&1 Debug " !INC R8b" EndIf Debug " !XCHG Rcx, R8" Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !CALL QWORD Sleep" Debug " !NOP QWORD [Rip-32]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" !RDRAND Rcx !CALL QWORD PB_RandomSeed RandomizeList(Reg64()) : RandomizeList(Reg64A()) : RandomizeList(Reg64B()) Next SortList(Reg64(), #PB_Sort_Ascending) SortList(Reg64A(), #PB_Sort_Ascending) SortList(Reg64B(), #PB_Sort_Ascending) BeforeProcedureRegisters_CRC32_BLSR BeforeProcedureRegisters_RDSEED_BLSR SIMPLE_MOVE_REGISTERS_Up_and_Down Debug " PrintN("+Chr(34)+"Finished"+Chr(34)+")" SIMPLE_MOVE_REGISTERS_Up_and_Down Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !JMP QWORD StartStabilizer" Debug " CloseConsole()" Debug "EndIf" Debug "Sleep_(0)" Debug "End" CallDebugger End
Macro MajiorityBuild_Tunes_2 ForEach Buffer() If FindString(Buffer(), "PureBasicStart:") ; 1 BeforeProcedureRegisters_CRC32_BLSR BeforeProcedureRegisters_RDSEED_BLSR ; 2 BeforeProcedureRegisters_CRC32_BLSR BeforeProcedureRegisters_RDSEED_BLSR ; 3 BeforeProcedureRegisters_CRC32_BLSR BeforeProcedureRegisters_RDSEED_BLSR ; Break EndIf Next EndMacro Macro MajiorityBuild_Tunes_6 ForEach Buffer() If FindString(Buffer(), " SUB rsp,") And Val(StringField(Buffer(), 2, ","))>0 Sub_pos = 0 : Sub_max =0 Sub_max = Val(StringField(Buffer(), 2, ",")) Buffer() = "" MOV_Rsp_Up_Down For Sub_pos=1 To Sub_max AddElement(Buffer()) : Buffer() = "DEC rsp" ; Sub Next MOV_Rsp_Up_Down EndIf Next ForEach Buffer() If FindString(Buffer(), " ADD rsp,") And Val(StringField(Buffer(), 2, ","))>0 Add_max = 0 : Add_pos = 0 Add_max = Val(StringField(Buffer(), 2, ",")) Buffer() = "" MOV_Rsp_Up_Down For Add_pos=1 To Add_max AddElement(Buffer()) : Buffer() = "INC rsp" ; Add Next MOV_Rsp_Up_Down EndIf Next ForEach Buffer() If FindString(Buffer(), "PUSH ") If FindString(Buffer(), "rax") PreviousElement(Buffer()) MOV_Rsp_Up_Down MOV_Rax_Up_Down ElseIf FindString(Buffer(), "rbx") PreviousElement(Buffer()) MOV_Rsp_Up_Down MOV_Rbp_Up_Down ElseIf FindString(Buffer(), "rcx") PreviousElement(Buffer()) MOV_Rsp_Up_Down MOV_Rcx_Up_Down ElseIf FindString(Buffer(), "rdx") PreviousElement(Buffer()) MOV_Rsp_Up_Down MOV_Rdx_Up_Down ElseIf FindString(Buffer(), "rsi") PreviousElement(Buffer()) MOV_Rsp_Up_Down MOV_Rsi_Up_Down ElseIf FindString(Buffer(), "rbp") PreviousElement(Buffer()) MOV_Rsp_Up_Down MOV_Rbp_Up_Down ; ElseIf FindString(Buffer(), "rsp") ; MOV_Rsp_Rsp_Up_Down ElseIf FindString(Buffer(), "rdi") PreviousElement(Buffer()) MOV_Rsp_Up_Down MOV_Rdi_Up_Down ElseIf FindString(Buffer(), "r8") PreviousElement(Buffer()) MOV_Rsp_Up_Down MOV_R8_Up_Down ElseIf FindString(Buffer(), "r9") PreviousElement(Buffer()) MOV_Rsp_Up_Down MOV_R9_Up_Down ElseIf FindString(Buffer(), "r10") PreviousElement(Buffer()) MOV_Rsp_Up_Down MOV_R10_Up_Down ElseIf FindString(Buffer(), "r11") PreviousElement(Buffer()) MOV_Rsp_Up_Down MOV_R11_Up_Down ElseIf FindString(Buffer(), "r12") PreviousElement(Buffer()) MOV_Rsp_Up_Down MOV_R12_Up_Down ElseIf FindString(Buffer(), "r13") PreviousElement(Buffer()) MOV_Rsp_Up_Down MOV_R13_Up_Down ElseIf FindString(Buffer(), "r14") PreviousElement(Buffer()) MOV_Rsp_Up_Down MOV_R14_Up_Down ElseIf FindString(Buffer(), "r15") PreviousElement(Buffer()) MOV_Rsp_Up_Down MOV_R15_Up_Down Else PreviousElement(Buffer()) MOV_Rsp_Up_Down EndIf NextElement(Buffer()) MOV_Rsp_Up_Down EndIf Next ForEach Buffer() If FindString(Buffer(), "POP ") If FindString(Buffer(), "rax") PreviousElement(Buffer()) MOV_Rsp_Up_Down NextElement(Buffer()) MOV_Rax_Up_Down ElseIf FindString(Buffer(), "rbx") PreviousElement(Buffer()) MOV_Rsp_Up_Down NextElement(Buffer()) MOV_Rbp_Up_Down ElseIf FindString(Buffer(), "rcx") PreviousElement(Buffer()) MOV_Rsp_Up_Down NextElement(Buffer()) MOV_Rcx_Up_Down ElseIf FindString(Buffer(), "rdx") PreviousElement(Buffer()) MOV_Rsp_Up_Down NextElement(Buffer()) MOV_Rdx_Up_Down ElseIf FindString(Buffer(), "rsi") PreviousElement(Buffer()) MOV_Rsp_Up_Down NextElement(Buffer()) MOV_Rsi_Up_Down ElseIf FindString(Buffer(), "rbp") PreviousElement(Buffer()) MOV_Rsp_Up_Down NextElement(Buffer()) MOV_Rbp_Up_Down ; ElseIf FindString(Buffer(), "rsp") ; MOV_Rsp_Rsp_Up_Down ElseIf FindString(Buffer(), "rdi") PreviousElement(Buffer()) MOV_Rsp_Up_Down NextElement(Buffer()) MOV_Rdi_Up_Down ElseIf FindString(Buffer(), "r8") PreviousElement(Buffer()) MOV_Rsp_Up_Down NextElement(Buffer()) MOV_R8_Up_Down ElseIf FindString(Buffer(), "r9") PreviousElement(Buffer()) MOV_Rsp_Up_Down NextElement(Buffer()) MOV_R9_Up_Down ElseIf FindString(Buffer(), "r10") PreviousElement(Buffer()) MOV_Rsp_Up_Down NextElement(Buffer()) MOV_R10_Up_Down ElseIf FindString(Buffer(), "r11") PreviousElement(Buffer()) MOV_Rsp_Up_Down NextElement(Buffer()) MOV_R11_Up_Down ElseIf FindString(Buffer(), "r12") PreviousElement(Buffer()) MOV_Rsp_Up_Down NextElement(Buffer()) MOV_R12_Up_Down ElseIf FindString(Buffer(), "r13") PreviousElement(Buffer()) MOV_Rsp_Up_Down NextElement(Buffer()) MOV_R13_Up_Down ElseIf FindString(Buffer(), "r14") PreviousElement(Buffer()) MOV_Rsp_Up_Down NextElement(Buffer()) MOV_R14_Up_Down ElseIf FindString(Buffer(), "r15") PreviousElement(Buffer()) MOV_Rsp_Up_Down NextElement(Buffer()) MOV_R15_Up_Down Else PreviousElement(Buffer()) MOV_Rsp_Up_Down NextElement(Buffer()) EndIf MOV_Rsp_Up_Down EndIf Next EndMacro ;- MC build ; MajiorityBuild_Tunes_Open If ReadFile(2, #SourcePath1+"PureBasic.asm") While Eof(2)=0 AddElement(Buffer()) Buffer() = ReadString(2) Wend CloseFile(2) EndIf CallDebugger ; _Tunes_Open MajiorityBuild_Tunes_2 MajiorityBuild_Tunes_6 ; MajiorityBuild_Tunes_Write If CreateFile(2, #SourcePath1+"PureBasic.asm") ForEach Buffer() WriteStringN(2, Buffer()) Next FlushFileBuffers(2) CloseFile(2) EndIf ; CallDebugger DeleteFile(#SourcePath1+"PureBasic.asm") DeleteFile(#SourcePath1+"PureBasic.exe")
Linux のカーネル起動処理において、MajiorityBuild_Tunes_2 を実行すると、それだけで高級仕様のワークステーションに迫る性能になると思っている。今回は CRC32 Rax, QWORD [Rip] とある内容は、次の命令アドレスにあるプログラムのメモリーを参照して Rax へCRC32演算後にセット、この問題点は SSD や RAM の性能が悪いと、意図した結果は出ないと思う。
オフライン
上記の内容を投稿後、30分ぐらいか「おい、それ全書籍を買うといくらか、書いとけ」と声がする。
オライリー BOOK について、エリアを選択して MIFES へコピペします。
MIFES では 空白を TAB へ置換します。それをコピーします。
表計算プログラムで「コピペ」して、列が乱れた行だけ TAB を空白へ変更
表計算でセル選択後、合計金額を計算すれば、
オライリー全書籍 ALL BOOKS、1,445,950円になりました。
「いいよ、悟空ゴー!」 と覚えておけばいいらしい。
オフライン
MajiorityCamisole 168 のソースコードを下記に示す。
Linux API で使用される引数レジスタへ変更、Rcx → Rdi だったかな
WindowsAPI Sleep_ ではなく、PureBasic PB_Delay へ変更したら動作すると思う。
168 と 169 の差は、長周期か短周期か、それで異なっており、短周期はアニメ用、
長周期はオーディオ用、複数起動の場合は高級環境では良くなる傾向があるという。
通常は MajiorityCamisole 168 で十分と判断していますが、音の比較では 169 で行う。
*FXSAVE *FXSAVE2 のバッファ初期化は「ループしない処理」へ意図的に書いた。
「ループする処理」にすると品質悪化するので注意しなければならない。
ジャンプして命令アドレスが変更されるとマイクロコード変換の再確認が行われる。
再確認のCPU処理は「オーバークロック」で行われる。CPU電圧は上昇する。
CPU電圧は上昇と下降を繰り返すと、それでデジタルジッターとなる。
もっと高品質に動作させたいなら、「ループしない処理」にすれば解決する。
音楽再生ソフトの Nontallion でも「ループしない処理」にすれば音質改善する。
要求されるバッファLengthに応じて Galaxy100 のような処理で良くなるけど・・・
ASIOproc() のスレッド処理が想定外に巨大化すると負荷制御できない環境で困る。
100万行の計算プログラムを「下記のような手法」で作成して実行したら、
0.001 秒未満しか掛からない。マイクロコード変換する時に計算されてしまい、
実行時間は不明という状態になるので、100万行ぐらいなら気にしなくていい。
Debug "; MajiorityCamisole 168 (2023 04 11)" Debug "; RDSEED CRC32 BLSRx64 BZHI CPU reg. Stabilizer from JAPAN" Debug "; Copyright (c) 2020-2024 Hiroyuki Yokota (oryaaaaa)" Debug "; Design based by Military LAB-AI designed (Customized Hiroyuki Yokota)" Debug "" Debug "MessageRequester("+Chr(34)+"END"+Chr(34)+","+Chr(34)+"Compiler options Executable Format Console And CPU With MMX"+Chr(34)+") : End" Debug "" !extrn PB_RandomSeed Global NewList Reg64.s() AddElement(Reg64()) : Reg64() ="Rax" : AddElement(Reg64()) : Reg64() ="Rbx" AddElement(Reg64()) : Reg64() ="Rcx" : AddElement(Reg64()) : Reg64() ="Rdx" AddElement(Reg64()) : Reg64() ="Rsp" : AddElement(Reg64()) : Reg64() ="Rsi" AddElement(Reg64()) : Reg64() ="Rbp" : AddElement(Reg64()) : Reg64() ="Rdi" AddElement(Reg64()) : Reg64() ="R8" : AddElement(Reg64()) : Reg64() ="R9" AddElement(Reg64()) : Reg64() ="R10" : AddElement(Reg64()) : Reg64() ="R11" AddElement(Reg64()) : Reg64() ="R12" : AddElement(Reg64()) : Reg64() ="R13" AddElement(Reg64()) : Reg64() ="R14" : AddElement(Reg64()) : Reg64() ="R15" Global NewList Reg64A.s() AddElement(Reg64A()) : Reg64A() ="Rax" : AddElement(Reg64A()) : Reg64A() ="Rdx" AddElement(Reg64A()) : Reg64A() ="Rsp" : AddElement(Reg64A()) : Reg64A() ="Rsi" AddElement(Reg64A()) : Reg64A() ="R9" : AddElement(Reg64A()) : Reg64A() ="R11" AddElement(Reg64A()) : Reg64A() ="R13" : AddElement(Reg64A()) : Reg64A() ="R15" Global NewList Reg64B.s() AddElement(Reg64B()) : Reg64B() ="Rbx" : AddElement(Reg64B()) : Reg64B() ="Rcx" AddElement(Reg64B()) : Reg64B() ="Rbp" : AddElement(Reg64B()) : Reg64B() ="Rdi" AddElement(Reg64B()) : Reg64B() ="R8" : AddElement(Reg64B()) : Reg64B() ="R10" AddElement(Reg64B()) : Reg64B() ="R12" : AddElement(Reg64B()) : Reg64B() ="R14" !RDRAND Rcx !CALL QWORD PB_RandomSeed RandomizeList(Reg64()) : RandomizeList(Reg64A()) : RandomizeList(Reg64B()) NewMap Reg16.s() Reg16("Rax")="ax" : Reg16("Rbx")="bx" : Reg16("Rcx")="cx" : Reg16("Rdx")="dx" Reg16("Rsp")="sp" : Reg16("Rsi")="si" : Reg16("Rbp")="bp" : Reg16("Rdi")="di" Reg16("R8")="R8w" : Reg16("R9")="R9w" : Reg16("R10")="R10w" : Reg16("R11")="R11w" Reg16("R12")="R12w" : Reg16("R13")="R13w" : Reg16("R14")="R14w" : Reg16("R15")="R15w" NewMap Reg8.s() Reg8("Rax")="al" : Reg8("Rbx")="bl" : Reg8("Rcx")="cl" : Reg8("Rdx")="dl" Reg8("Rsp")="spl" : Reg8("Rsi")="sil" : Reg8("Rbp")="bpl" : Reg8("Rdi")="dil" Reg8("R8")="R8b" : Reg8("R9")="R9b" : Reg8("R10")="R10b" : Reg8("R11")="R11b" Reg8("R12")="R12b" : Reg8("R13")="R13b" : Reg8("R14")="R14b" : Reg8("R15")="R15b" ForEach Reg64() Debug "Macro BLSR_"+Reg64()+"_x64" For Loop=1 To 64 Debug " !BLSR "+Reg64()+", "+Reg64() Next Debug " !BZHI "+Reg64()+", "+Reg64()+", "+Reg64() Debug "EndMacro" Debug "" Next ForEach Reg64() Debug "Macro SHR_"+Reg64()+"_x64" For Loop=1 To 64 Debug " !SHR "+Reg64()+", 1" Next Debug " !BZHI "+Reg64()+", "+Reg64()+", "+Reg64() Debug "EndMacro" Debug "" Next ForEach Reg64() Debug "Macro MOV_"+Reg64()+"_Up_Down" Debug " !MOV "+Reg8(Reg64())+", "+Reg8(Reg64()) If Len(Reg8(Reg64()))=2 Debug " !MOV "+ReplaceString(Reg8(Reg64()), "l", "h")+", "+ReplaceString(Reg8(Reg64()), "l", "h") EndIf Debug " !MOV "+Reg16(Reg64())+", "+Reg16(Reg64()) Debug " !MOV "+Reg64()+", "+Reg64() Debug " !MOV "+Reg16(Reg64())+", "+Reg16(Reg64()) If Len(Reg8(Reg64()))=2 Debug " !MOV "+ReplaceString(Reg8(Reg64()), "l", "h")+", "+ReplaceString(Reg8(Reg64()), "l", "h") EndIf Debug " !MOV "+Reg8(Reg64())+", "+Reg8(Reg64()) Debug "EndMacro" Debug "" Next Debug "Macro Set_CL1" Debug " BLSR_Rcx_x64" Debug " !INC cl" Debug " ; cx = 1" Debug "EndMacro" Debug "" Debug "Macro Set_CL8" Debug " BLSR_Rcx_x64" Debug " !INC cl" Debug " !INC cl" Debug " !SHL cl, cl" Debug " ; cx = 8" Debug "EndMacro" Debug "" Debug "Macro Set_CL64" Debug " BLSR_Rcx_x64" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !SHL cl, cl" Debug " ; cx = 64" Debug "EndMacro" Debug "" Debug "Macro ALL_MMX_CLEAR_SHIFTWORD_INC_CL" Debug " BLSR_Rcx_x64" Debug " Set_CL1" Debug " MOVZX_Rcx" Debug " !MOVQ mm1, Rcx" For Loop=1 To 16 Debug " !PSLLW mm0, mm1 ;"+Str(Loop)+" Left 1bit shift" Next Debug " !MOVQ mm0, mm1" For Roop=1 To 7 For Loop=1 To 16 Debug " !PSLLW mm"+Str(Roop)+", mm0 ;"+Str(Loop)+" Left 1bit shift" Next Next Debug "EndMacro" Debug "" Macro SIMPLE_MOVE_REGISTERS_Up_and_Down ForEach Reg64A() : Debug " MOV_"+Reg64A()+"_Up_Down" : Next ForEach Reg64B() : Debug " MOV_"+Reg64B()+"_Up_Down" : Next EndMacro Debug "Macro MOVZX_Rcx" Debug " !MOVZX cx, cl" Debug " !MOVZX Rcx, cl" Debug " !MOVZX cx, cl" Debug "EndMacro" Debug "" Macro BeforeProcedureRegisters_1st Debug " ALL_MMX_CLEAR_SHIFTWORD_INC_CL" ForEach Reg64A() : Debug " MOV_"+Reg64A()+"_Up_Down" : Next Loop=0 ForEach Reg64A() : Debug " !MOVQ mm"+Str(Loop)+", "+Reg64A() : Loop + 1 : Next EndMacro Macro BeforeProcedureRegisters_2nd Loop=0 ForEach Reg64A() : Debug " !MOVQ "+Reg64A()+", mm"+Str(Loop) : Loop + 1 : Next ForEach Reg64A() : Debug " MOV_"+Reg64A()+"_Up_Down" : Next Debug " ;" ForEach Reg64B() : Debug " MOV_"+Reg64B()+"_Up_Down" : Next Loop=0 ForEach Reg64B() : Debug " !MOVQ mm"+Str(Loop)+", "+Reg64B() : Loop + 1 : Next EndMacro Macro BeforeProcedureRegisters_3rd Loop=0 ForEach Reg64B() : Debug " !MOVQ "+Reg64B()+", mm"+Str(Loop) : Loop + 1 : Next ForEach Reg64B() : Debug " MOV_"+Reg64B()+"_Up_Down" : Next Debug " !EMMS" EndMacro Macro BeforeProcedureRegisters_RDSEED_BLSR BeforeProcedureRegisters_1st ForEach Reg64A() Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !RDSEED "+Reg64A() Debug " !NOP QWORD [Rip-36]" Debug " BLSR_"+Reg64A()+"_x64" Next BeforeProcedureRegisters_2nd ForEach Reg64B() Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !RDSEED "+Reg64B() Debug " !NOP QWORD [Rip-36]" Debug " BLSR_"+Reg64B()+"_x64" Next BeforeProcedureRegisters_3rd EndMacro Macro BeforeProcedureRegisters_CRC32_BLSR BeforeProcedureRegisters_1st ForEach Reg64A() Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !CRC32 "+Reg64A()+", QWORD [Rip]" Debug " !NOP QWORD [Rip-36]" Debug " BLSR_"+Reg64A()+"_x64" Next BeforeProcedureRegisters_2nd ForEach Reg64B() Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !CRC32 "+Reg64B()+", QWORD [Rip]" Debug " !NOP QWORD [Rip-36]" Debug " BLSR_"+Reg64B()+"_x64" Next BeforeProcedureRegisters_3rd EndMacro Macro BeforeProcedureRegisters_RDSEED_SHR BeforeProcedureRegisters_1st ForEach Reg64A() Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !RDSEED "+Reg64A() Debug " !NOP QWORD [Rip-36]" Debug " SHR_"+Reg64A()+"_x64" Next BeforeProcedureRegisters_2nd ForEach Reg64B() Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !RDSEED "+Reg64B() Debug " !NOP QWORD [Rip-36]" Debug " SHR_"+Reg64B()+"_x64" Next BeforeProcedureRegisters_3rd EndMacro Debug " Global *FXSAVE, *FXSAVE2" Debug " BLSR_Rcx_x64" Debug " BLSR_Rdx_x64" Debug " BLSR_R8_x64" Debug " !INC cl" Debug " !INC R8b" Debug " !SHL R8, cl" Debug " !SHL R8, cl" Debug " !SHL R8, cl" Debug " !SHL R8, cl" Debug " !SHL R8, cl" Debug " !SHL R8, cl" Debug " !SHL R8, cl" Debug " !SHL R8, cl" Debug " !SHL R8, cl" Debug " !XCHG Rcx, R8" Debug " !INC dl" Debug " !MOVZX Rdx, dl" Debug " !CALL PB_AllocateMemory2" Debug " !MOVNTI QWORD [p_FXSAVE], Rax" Debug " !NOP QWORD [p_FXSAVE]" ; "*FXSAVE = AllocateMemory(512,1)" Debug " ALL_MMX_CLEAR_SHIFTWORD_INC_CL" Debug " !MOV R8, QWORD [p_FXSAVE]" For Loop=0 To 512 Step 8 Debug " !MOVQ QWORD [R8+"+Str(Loop)+"], mm5" Next Debug " !EMMS" Debug " BLSR_Rcx_x64" Debug " BLSR_Rdx_x64" Debug " BLSR_R8_x64" Debug " !INC cl" Debug " !INC R8b" Debug " !SHL R8, cl" Debug " !SHL R8, cl" Debug " !SHL R8, cl" Debug " !SHL R8, cl" Debug " !SHL R8, cl" Debug " !SHL R8, cl" Debug " !SHL R8, cl" Debug " !SHL R8, cl" Debug " !SHL R8, cl" Debug " !XCHG Rcx, R8" Debug " !INC dl" Debug " !MOVZX Rdx, dl" Debug " !CALL PB_AllocateMemory2" Debug " !MOVNTI QWORD [p_FXSAVE2], Rax" Debug " !NOP QWORD [p_FXSAVE2]" ; "*FXSAVE = AllocateMemory(512,1)" Debug " ALL_MMX_CLEAR_SHIFTWORD_INC_CL" Debug " !MOV R8, QWORD [p_FXSAVE2]" For Loop=0 To 512 Step 8 Debug " !MOVQ QWORD [R8+"+Str(Loop)+"], mm5" Next Debug " !EMMS" Macro FXSAVE Debug " !MOV R8, QWORD [p_FXSAVE]" Debug " !FXSAVE64 [R8]" EndMacro Macro FXRSTOR Debug " !MOV R8, QWORD [p_FXSAVE] " Debug " !FXRSTOR64 [R8]" EndMacro ;- Start Debug ";- PureBasicStart" BeforeProcedureRegisters_RDSEED_SHR Debug "If OpenConsole("+Chr(34)+"MajiorityCamisole 168 setup To General-purpose 64-bit registers."+Chr(34)+")" Debug " PrintN("+Chr(34)+"Copyright (c) 2020-2024 Hiroyuki Yokota (oryaaaaa)"+Chr(34)+")" Debug " PrintN("+Chr(34)+"-"+Chr(34)+")" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !StartStabilizer:" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " PrintN("+Chr(34)+"Setup 1... CRC32 BLSRx64 BZHI CPU reg. Stabilizer"+Chr(34)+")" Debug " PrintN("+Chr(34)+"Setup 2... RDSEED BLSRx64 BZHI CPU reg. Stabilizer"+Chr(34)+")" Debug " PrintN("+Chr(34)+"Setup 3... Logical to Physical CPU reg. Balancer"+Chr(34)+")" Debug " PrintN("+Chr(34)+"[Loop 29 times] ... Setup + FXSAVE64 sleep_(sine wave) ...[End] FXRSTOR64"+Chr(34)+")" SIMPLE_MOVE_REGISTERS_Up_and_Down Global SineWave.i, SineBits.i, SineAngels.i, CountBits.i, CountChk.i ; totalWave = 19,356 ms For SineAngels=1 To 178 Step 6 CountChk = 0 Debug " ; "+Str(SineAngels)+" Setup" BeforeProcedureRegisters_CRC32_BLSR BeforeProcedureRegisters_RDSEED_BLSR SIMPLE_MOVE_REGISTERS_Up_and_Down FXSAVE Debug " BLSR_Rcx_x64" Debug " BLSR_R8_x64" SineWave = Abs(Round(Sin(Radian(SineAngels))*1000, #PB_Round_Nearest)) !MOV Rax, [v_SineWave] !MOV R8, Rax !MOV [v_SineBits], R8 Debug "; "+Str(SineWave) totalWave.i + SineWave Debug " !INC cl" For CountBits=63 To 1 Step -1 If SineBits&(2<<CountBits) CountChk+1 Debug " !INC R8b" Debug " !SHL R8, cl" ElseIf CountChk Debug " !SHL R8, cl" EndIf Next If SineBits&2 Debug " !INC R8b" Debug " !SHL R8, cl" Else Debug " !SHL R8, cl" EndIf If SineBits&1 Debug " !INC R8b" EndIf Debug " !XCHG Rcx, R8" Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !CALL QWORD Sleep" Debug " !NOP QWORD [Rip-32]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" !RDRAND Rcx !CALL QWORD PB_RandomSeed RandomizeList(Reg64()) : RandomizeList(Reg64A()) : RandomizeList(Reg64B()) Next SortList(Reg64(), #PB_Sort_Ascending) SortList(Reg64A(), #PB_Sort_Ascending) SortList(Reg64B(), #PB_Sort_Ascending) BeforeProcedureRegisters_CRC32_BLSR BeforeProcedureRegisters_RDSEED_BLSR SIMPLE_MOVE_REGISTERS_Up_and_Down FXRSTOR Debug " Swap *FXSAVE2, *FXSAVE" Debug " ALL_MMX_CLEAR_SHIFTWORD_INC_CL" Debug " !MOV R8, QWORD [p_FXSAVE]" For Loop=0 To 512 Step 8 Debug " !MOVQ QWORD [R8+"+Str(Loop)+"], mm5" Next Debug " !EMMS" Debug " PrintN("+Chr(34)+"Finished"+Chr(34)+")" SIMPLE_MOVE_REGISTERS_Up_and_Down Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !JMP QWORD StartStabilizer" Debug " CloseConsole()" Debug "EndIf" Debug "Sleep_(0)" Debug "AllocateMemory(0,0)" Debug "End" CallDebugger End
FXSAVE FXRSTOR による方法は今では使われていないようで、CPUのバーンインが必要でした。
FXSAVE を試して良くなって、FXSAVE64 で悪くなって、FXSAVE へ戻すと悪くなった場合、
その部分だけ 32ビット状態のまま でバーンインされていたと考えられ、FXSAVE64 で変化した。
168 使用後は FXSAVE64 FXRSTOR64 でなければ、ジッター現象になります。
厳密なジッターを測定している環境では、この件について注意してください。
オフライン
AllocateMemory(512) では (R8+512) となれば、メモリエラー
; 間違えた処理 For Loop=0 To 512 Step 8 Debug " !MOVQ QWORD [R8+"+Str(Loop)+"], mm5" Next ;正しい処理 For Loop=0 To 511 Step 8 Debug " !MOVQ QWORD [R8+"+Str(Loop)+"], mm5" Next
オフライン
こんにちは、アニメの表示について限界突破したので、手法を部分公開します。
32ビット esp の初期化について、「神社のおつげ」を聞いて対応、さらに工夫しています。
ありえないぐらい高画質のアニメ視聴を実現すれば、映画業界や放送業界は「書いて!」という状況へ
最近、このフォーラムへ情報共有を行うことに迷いがありました。けれど、隣町の豊田市へ行くと「明らかにおかしい街の様子」になっており、今までテレビなどで登場した最高幹部が子どもの姿で現れて、センチュリーの模範的説明をしている状況があったりして、ここまでするって、つまり「子どもの対応」を求められているのかな、と決断を迫られていた。それでも、十分に時間をかけて状況を見守っており、準備はできたのだろうか?と試しの目立つ行動をしてみて、突発的な判断ミスが起きないように迫った。
Ubuntuフォーラムに対しては、完全なソースコードの情報公開はできなくて、部分的に公開する Code snippets になります。この方法を誤った判断で「必要処理」を削除すると、パソコンを数秒で破壊する処理になると判明しており、今まで「大丈夫か?」と足踏みを繰り返して「業界ストップ」を期待していた。しかし、業界対応は「隠蔽」を選んでおり、いつでも「悪の勢力」を潰せる機能は残しておきたいのだろう、なんでか知らないけれど、ゲーム機において容認され、CPU設計は変更しない、その方針を確かめた。ゲーム機では PS4 Tower of Fantasy において、60 fps では従来の 120fps に感じるぐらいに反応速度の改善が行われており、使っているか分からないが、命令キャッシュの正しい使用法を理解していれば、使っていいみたいだ。
この活動を通して分かることは、短い処理コードにすると「強制マルウェア処理」になってしまい、実行できない状態になるということ。開発環境では動作しても、ユーザー環境では動作しない、または「ウイルスデータベースへ強制登録」になっている。短い処理コードは「軍事転用できる危険な処理」と判断して、できるだけ冗長化して記述しなければならない。それから、なぜCPUはクロック制御が必要なのか、それを考えていくと、表向きの処理と、監視する処理と、同時に実行されていないと不審な結果に対して、正しい判断を得られない。これはOSに依存しないで存在しており、WindowsからUbuntuへ変更しても、逃れる方法は無いと思う。それで Mach カーネルを用いた MacOSX などでは、複雑な処理から実行すると「プロフェッショナル用途に向く」と判断されていたけれど、裏のシステムが高度な人工知能解析を実現するようになれば、Macにする根拠は希薄になってくる。それで独自のCPUを作るようになったけれど、問題点は HDMI インターフェースなど、表示部分について、クラウドストリーミングゲームのように対応した仮想環境技術によって、正しい処理を実現していない可能性があり、私はMac環境やLinux環境への移行は許可されていない。
いま、すごく困っていることは「連絡できない状態」にあり、「最新情報を得られない状態」でもある。それでも、裏のシステムを通じて「最新の改善手法」を伝えられる状況も継続しており、今回は32ビットレジスタの対応について、新しい手法を試している。いま、Windowsでは MajiorityLabyrinth Solution と名称変更して、限界突破技術の無償公開を始めてみれば、PureBasic forum へ MajiorityLabyrinth 2 のソースコードを公開するように声がして、逆らうと困ることが多発するので、完全に公開している。なお、実際に公開しているものは、REASM を用いてビルドプログラムのチューンアップを行っており、これは命令キャッシュを含めるので、研究所の各種ソリューションで不具合を生じるかもしれない。
CPU 13th 14th keep codes some rules.
1. Don't remove "NOP QWORD [Rip] x2 lines" CPU power management brake down
2. Don't remove "XCHG al, ah ... dh, dl , XCHG spl, spl after NOP" same reason
If you can try crush CPU, You should hear CPU fan motor noise. boom ? RESET!
This troubles is not depend 13th 14th only, others Skylake CometLake any crushed
この内容を英語で説明すると責任を生じるので、日本語で説明する。どちらも、NOP とは no operation という説明ですが、主に CPU 命令 キャッシュ や マザーボードの設計用途 に使われており、細かい仕様はネット検索しても見つけられない。上記のルールを無視すれば、処理の実行から「2秒でパソコンが燃える」という環境もあるぐらいで、何を監視しなければならないか、何を注意しないといけないか、細かく説明しておく。
CPU温度モニター は、平均温度を表示しており、急速な温度上昇には対応していない。温度表示を見てから、マザーボードの RESET を押しても、その時点で完全に破損している。CPU ファンクーラーについて、高回転になったか?、騒音を聞いたら RESET を押していないと、10万円以上するマザーボードやCPUは即座に壊れる。ファン設定について、急激な温度上昇に対応していないファン回転数の設定であれば、気付かないまま壊れていく。一般的には、CPU 温度 は 80度 を超えたら、使用不能になると考えていいので、すぐに RESET を押さない人は「オーバークロックの恐怖」を知らない人だろう。「オーバークロックの趣味」は、1分の挑戦で 20万円の部品を壊す、そういう経験がまったくない人は試したらダメだ。
レジスタのグループ分けについて、下記資料から判断した。高品質に動作させようと考える場合、RSPを含むグループを ユーザー専用、CL を含むグループを システム専用、このように設計を最適化すれば、産業用途では使いやすいCPUになると分かっている。定数のセットアップは システム専用 において、CL を使用するジェネレート式にすれば、低雑音処理になるだろう。
; ; ; ; ; ; ; ; IntelR 64 And IA-32 ArchitecturesSoftware Developer’s Manual ; ; ; ; ; ; ; ; Volume 2 (2A, 2B, 2C, & 2D):Instruction Set Reference, A-Z ; ; ; ; ; ; ; ; Opcode Column in the Instruction Summary Table (Instructions without VEX Prefix) ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ALNone0AXNone0EAXNone0RAXNone0 ; ; ; ; ; ; ; ; DLNone2DXNone2EDXNone2RDXNone2 ; ; ; ; ; ; ; ; SPLYes 4SPNone4ESPNone4RSPNone4 ; ; ; ; ; ; ; ; SILYes6SINone6ESINone6RSINone6 ; ; ; ; ; ; ; ; R8BYes0R8WYes0R8DYes0R8Yes0 ; ; ; ; ; ; ; ; R10BYes2R10WYes2R10DYes2R10Yes2 ; ; ; ; ; ; ; ; R12BYes4R12WYes4R12DYes4R12Yes4 ; ; ; ; ; ; ; ; R14BYes6R14WYes6R14DYes6R14Yes6 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; CLNone1CXNone1ECXNone1RCXNone1 ; ; ; ; ; ; ; ; BLNone3BXNone3EBXNone3RBXNone3 ; ; ; ; ; ; ; ; BPLYes5BPNone5EBPNone5RBPNone5 ; ; ; ; ; ; ; ; DILYes7DINone7EDINone7RDINone7 ; ; ; ; ; ; ; ; R9BYes1R9WYes1R9DYes1R9Yes1 ; ; ; ; ; ; ; ; R11BYes3R11WYes3R11DYes3R11Yes3 ; ; ; ; ; ; ; ; R13BYes5R13WYes5R13DYes5R13Yes5 ; ; ; ; ; ; ; ; R15BYes7R15WYes7R15DYes7R15Yes7 Global NewList Reg64.s() AddElement(Reg64()) : Reg64() ="Rax" : AddElement(Reg64()) : Reg64() ="Rbx" AddElement(Reg64()) : Reg64() ="Rcx" : AddElement(Reg64()) : Reg64() ="Rdx" AddElement(Reg64()) : Reg64() ="Rsp" : AddElement(Reg64()) : Reg64() ="Rsi" AddElement(Reg64()) : Reg64() ="Rbp" : AddElement(Reg64()) : Reg64() ="Rdi" AddElement(Reg64()) : Reg64() ="R8" : AddElement(Reg64()) : Reg64() ="R9" AddElement(Reg64()) : Reg64() ="R10" : AddElement(Reg64()) : Reg64() ="R11" AddElement(Reg64()) : Reg64() ="R12" : AddElement(Reg64()) : Reg64() ="R13" AddElement(Reg64()) : Reg64() ="R14" : AddElement(Reg64()) : Reg64() ="R15" Global NewList Reg64A.s() AddElement(Reg64A()) : Reg64A() ="Rax" : AddElement(Reg64A()) : Reg64A() ="Rdx" AddElement(Reg64A()) : Reg64A() ="Rsp" : AddElement(Reg64A()) : Reg64A() ="Rsi" AddElement(Reg64A()) : Reg64A() ="R8" : AddElement(Reg64A()) : Reg64A() ="R10" AddElement(Reg64A()) : Reg64A() ="R12" : AddElement(Reg64A()) : Reg64A() ="R14" Global NewList Reg64B.s() AddElement(Reg64B()) : Reg64B() ="Rbx" : AddElement(Reg64B()) : Reg64B() ="Rcx" AddElement(Reg64B()) : Reg64B() ="Rbp" : AddElement(Reg64B()) : Reg64B() ="Rdi" AddElement(Reg64B()) : Reg64B() ="R9" : AddElement(Reg64B()) : Reg64B() ="R11" AddElement(Reg64B()) : Reg64B() ="R13" : AddElement(Reg64B()) : Reg64B() ="R15" NewMap Reg16.s() Reg16("Rax")="ax" : Reg16("Rbx")="bx" : Reg16("Rcx")="cx" : Reg16("Rdx")="dx" Reg16("Rsp")="sp" : Reg16("Rsi")="si" : Reg16("Rbp")="bp" : Reg16("Rdi")="di" Reg16("R8")="R8w" : Reg16("R9")="R9w" : Reg16("R10")="R10w" : Reg16("R11")="R11w" Reg16("R12")="R12w" : Reg16("R13")="R13w" : Reg16("R14")="R14w" : Reg16("R15")="R15w" NewMap Reg8.s() Reg8("Rax")="al" : Reg8("Rbx")="bl" : Reg8("Rcx")="cl" : Reg8("Rdx")="dl" Reg8("Rsp")="spl" : Reg8("Rsi")="sil" : Reg8("Rbp")="bpl" : Reg8("Rdi")="dil" Reg8("R8")="R8b" : Reg8("R9")="R9b" : Reg8("R10")="R10b" : Reg8("R11")="R11b" Reg8("R12")="R12b" : Reg8("R13")="R13b" : Reg8("R14")="R14b" : Reg8("R15")="R15b" ForEach Reg64() Debug "Macro BLSR_"+Reg64()+"_x64" For Loop=1 To 64 Debug " !BLSR "+Reg64()+", "+Reg64() Next Debug " !BZHI "+Reg64()+", "+Reg64()+", "+Reg64() Debug "EndMacro" Debug "" Next ForEach Reg64() Debug "Macro SHR_"+Reg64()+"_x64" For Loop=1 To 64 Debug " !SHR "+Reg64()+", 1" Next Debug " !BZHI "+Reg64()+", "+Reg64()+", "+Reg64() Debug "EndMacro" Debug "" Next ForEach Reg64() Debug "Macro MOV_"+Reg64()+"_Up_Down" Debug " !MOV "+Reg8(Reg64())+", "+Reg8(Reg64()) If Len(Reg8(Reg64()))=2 Debug " !MOV "+ReplaceString(Reg8(Reg64()), "l", "h")+", "+ReplaceString(Reg8(Reg64()), "l", "h") EndIf Debug " !MOV "+Reg16(Reg64())+", "+Reg16(Reg64()) Debug " !MOV "+Reg64()+", "+Reg64() Debug " !MOV "+Reg16(Reg64())+", "+Reg16(Reg64()) If Len(Reg8(Reg64()))=2 Debug " !MOV "+ReplaceString(Reg8(Reg64()), "l", "h")+", "+ReplaceString(Reg8(Reg64()), "l", "h") EndIf Debug " !MOV "+Reg8(Reg64())+", "+Reg8(Reg64()) Debug "EndMacro" Debug "" Next Debug "Macro Set_CL1" Debug " BLSR_Rcx_x64" Debug " !INC cl" Debug " ; cx = 1" Debug "EndMacro" Debug "" Debug "Macro Set_CL8" Debug " BLSR_Rcx_x64" Debug " !INC cl" Debug " !INC cl" Debug " !SHL cl, cl" Debug " ; cx = 8" Debug "EndMacro" Debug "" Debug "Macro Set_CL64" Debug " BLSR_Rcx_x64" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !SHL cl, cl" Debug " ; cx = 64" Debug "EndMacro" Debug "" Debug "Macro ALL_MMX_CLEAR_SHIFTWORD_INC_CL" Debug " BLSR_Rcx_x64" Debug " Set_CL1" Debug " MOVZX_Rcx" Debug " !MOVQ mm1, Rcx" For Loop=1 To 16 Debug " !PSLLW mm0, mm1 ;"+Str(Loop)+" Left 1bit shift" Next Debug " !MOVQ mm0, mm1" For Roop=1 To 7 For Loop=1 To 16 Debug " !PSLLW mm"+Str(Roop)+", mm0 ;"+Str(Loop)+" Left 1bit shift" Next Next Debug "EndMacro" Debug "" Macro SIMPLE_MOVE_REGISTERS_Up_and_Down RandomizeList(Reg64()) : RandomizeList(Reg64A()) : RandomizeList(Reg64B()) ForEach Reg64A() : Debug " MOV_"+Reg64A()+"_Up_Down" : Next ForEach Reg64B() : Debug " MOV_"+Reg64B()+"_Up_Down" : Next EndMacro Debug "Macro MOVZX_Rcx" Debug " !MOVZX cx, cl" Debug " !MOVZX Rcx, cl" Debug " !MOVZX cx, cl" Debug "EndMacro" Debug "" Macro BeforeProcedureRegisters_1st Debug " ALL_MMX_CLEAR_SHIFTWORD_INC_CL" RandomizeList(Reg64()) : RandomizeList(Reg64A()) : RandomizeList(Reg64B()) ForEach Reg64A() : Debug " MOV_"+Reg64A()+"_Up_Down" : Next Loop=0 ForEach Reg64A() : Debug " !MOVQ mm"+Str(Loop)+", "+Reg64A() : Loop + 1 : Next Debug "!MOVQ mm0, mm0" Debug "!MOVQ mm1, mm1" Debug "!MOVQ mm2, mm2" Debug "!MOVQ mm3, mm3" Debug "!MOVQ mm4, mm4" Debug "!MOVQ mm5, mm5" Debug "!MOVQ mm6, mm6" Debug "!MOVQ mm7, mm7" EndMacro Macro BeforeProcedureRegisters_2nd Loop=0 Debug "!MOVQ mm0, mm0" Debug "!MOVQ mm1, mm1" Debug "!MOVQ mm2, mm2" Debug "!MOVQ mm3, mm3" Debug "!MOVQ mm4, mm4" Debug "!MOVQ mm5, mm5" Debug "!MOVQ mm6, mm6" Debug "!MOVQ mm7, mm7" ForEach Reg64A() : Debug " !MOVQ "+Reg64A()+", mm"+Str(Loop) : Loop + 1 : Next RandomizeList(Reg64()) : RandomizeList(Reg64A()) : RandomizeList(Reg64B()) ForEach Reg64A() : Debug " MOV_"+Reg64A()+"_Up_Down" : Next Debug " ;" ForEach Reg64B() : Debug " MOV_"+Reg64B()+"_Up_Down" : Next Loop=0 ForEach Reg64B() : Debug " !MOVQ mm"+Str(Loop)+", "+Reg64B() : Loop + 1 : Next Debug "!MOVQ mm0, mm0" Debug "!MOVQ mm1, mm1" Debug "!MOVQ mm2, mm2" Debug "!MOVQ mm3, mm3" Debug "!MOVQ mm4, mm4" Debug "!MOVQ mm5, mm5" Debug "!MOVQ mm6, mm6" Debug "!MOVQ mm7, mm7" EndMacro Macro BeforeProcedureRegisters_3rd Loop=0 Debug "!MOVQ mm0, mm0" Debug "!MOVQ mm1, mm1" Debug "!MOVQ mm2, mm2" Debug "!MOVQ mm3, mm3" Debug "!MOVQ mm4, mm4" Debug "!MOVQ mm5, mm5" Debug "!MOVQ mm6, mm6" Debug "!MOVQ mm7, mm7" ForEach Reg64B() : Debug " !MOVQ "+Reg64B()+", mm"+Str(Loop) : Loop + 1 : Next RandomizeList(Reg64()) : RandomizeList(Reg64A()) : RandomizeList(Reg64B()) ForEach Reg64B() : Debug " MOV_"+Reg64B()+"_Up_Down" : Next Debug " !EMMS" EndMacro Macro BeforeProcedureRegisters_RDSEED_BLSR BeforeProcedureRegisters_1st ForEach Reg64A() Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !RDSEED "+Reg64A() Debug " !NOP QWORD [Rip-36]" Debug " BLSR_"+Reg64A()+"_x64" Next BeforeProcedureRegisters_2nd ForEach Reg64B() Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !RDSEED "+Reg64B() Debug " !NOP QWORD [Rip-36]" Debug " BLSR_"+Reg64B()+"_x64" Next BeforeProcedureRegisters_3rd EndMacro Macro BeforeProcedureRegisters_CRC32_BLSR BeforeProcedureRegisters_1st ForEach Reg64A() Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !CRC32 "+Reg64A()+", QWORD [Rip]" Debug " !NOP QWORD [Rip-36]" Debug " BLSR_"+Reg64A()+"_x64" Next BeforeProcedureRegisters_2nd ForEach Reg64B() Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !CRC32 "+Reg64B()+", QWORD [Rip]" Debug " !NOP QWORD [Rip-36]" Debug " BLSR_"+Reg64B()+"_x64" Next BeforeProcedureRegisters_3rd EndMacro Macro BeforeProcedureRegisters_MOVBE_BLSR BeforeProcedureRegisters_1st ForEach Reg64A() Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !MOVBE "+Reg64A()+", QWORD [Rip]" Debug " !NOP QWORD [Rip-36]" Debug " BLSR_"+Reg64A()+"_x64" Next BeforeProcedureRegisters_2nd ForEach Reg64B() Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !MOVBE "+Reg64B()+", QWORD [Rip]" Debug " !NOP QWORD [Rip-36]" Debug " BLSR_"+Reg64B()+"_x64" Next BeforeProcedureRegisters_3rd EndMacro Macro BeforeProcedureRegisters_RDSEED_SHR BeforeProcedureRegisters_1st ForEach Reg64A() Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !RDSEED "+Reg64A() Debug " !NOP QWORD [Rip-36]" Debug " SHR_"+Reg64A()+"_x64" Next BeforeProcedureRegisters_2nd ForEach Reg64B() Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !RDSEED "+Reg64B() Debug " !NOP QWORD [Rip-36]" Debug " SHR_"+Reg64B()+"_x64" Next BeforeProcedureRegisters_3rd EndMacro Macro BeforeProcedureRegisters_NOP_EAX_BLSR For Loop=1 To 32 Debug " !BLSR Eax, Eax" Next Debug " !BZHI Eax, Eax, Eax" For Loop=1 To 64 Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !NOP ax" Debug " !NOP ax" Next For Loop=1 To 64 Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !NOP Eax" Debug " !NOP Eax" Next For Loop=1 To 32 Debug " !BLSR Eax, Eax" Next Debug " !BZHI Eax, Eax, Eax" EndMacro Macro BeforeProcedureRegisters_NOP_ESP_BLSR Debug " ALL_MMX_CLEAR_SHIFTWORD_INC_CL" SIMPLE_MOVE_REGISTERS_Up_and_Down ; RandomizeList(Reg64()) : RandomizeList(Reg64A()) : RandomizeList(Reg64B()) ; ForEach Reg64A() : Debug " MOV_"+Reg64A()+"_Up_Down" : Next Debug "!MOVQ mm5, Rsp" Debug "!MOVQ mm5, mm5" For Loop=1 To 32 Debug " !BLSR Esp, Esp" Next Debug " !BZHI Esp, Esp, Esp" For Loop=1 To 64 Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !NOP sp" Debug " !NOP sp" Next Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !XCHG bl, bh" Debug " !XCHG bh, bl" Debug " !XCHG cl, ch" Debug " !XCHG ch, cl" Debug " !XCHG al, ah" Debug " !XCHG ah, al" Debug " !XCHG dl, dh" Debug " !XCHG dh, dl" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !XCHG spl, spl" Debug " !MOVQ mm1, mm5" Debug " !MOVQ mm2, mm1" Debug " !MOVQ mm3, mm2" Debug " !MOVQ mm4, mm3" Debug " !MOVQ mm6, mm4" Debug " !MOVQ mm7, mm6" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !XCHG al, ah" Debug " !XCHG ah, al" Debug " !XCHG dl, dh" Debug " !XCHG dh, dl" Debug " !XCHG bl, bh" Debug " !XCHG bh, bl" Debug " !XCHG cl, ch" Debug " !XCHG ch, cl" For Loop=1 To 64 Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !NOP Esp" Debug " !NOP Esp" Next For Loop=1 To 32 Debug " !BLSR Esp, Esp" Next Debug " !BZHI Esp, Esp, Esp" SIMPLE_MOVE_REGISTERS_Up_and_Down Debug " !MOVQ Rsp, mm7" Debug " !EMMS" EndMacro Macro FXCACHE For Loop=0 To 504 Step 8 Debug " !NOP QWORD [R8"+ReplaceString("+"+Str(Loop), "+-", "-")+"]" Next EndMacro Macro FXSAVE ; Debug " !MOV R8, QWORD [p_FXSAVE]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !FXSAVE64 [R8]" EndMacro Macro FXRSTOR ; Debug " !MOV R8, QWORD [p_FXSAVE] " Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !FXRSTOR64 [R8]" EndMacro Macro FXCLEAR_ALL Debug " ALL_MMX_CLEAR_SHIFTWORD_INC_CL" ; Debug " !MOV R8, QWORD [p_FXSAVE2]" For Loop=-512 To -8 Step 8 Debug " !MOVNTQ QWORD [R8"+ReplaceString("+"+Str(Loop), "+-", "-")+"], mm5" Next For Loop=0 To 504 Step 8 Debug " !MOVNTQ QWORD [R8"+ReplaceString("+"+Str(Loop), "+-", "-")+"], mm5" Next For Loop=0 To 504 Step 8 Debug " !NOP QWORD [R8"+ReplaceString("+"+Str(Loop), "+-", "-")+"]" Next For Loop=512 To 1023 Step 8 Debug " !MOVNTQ QWORD [R8"+ReplaceString("+"+Str(Loop), "+-", "-")+"], mm5" Next Debug " !EMMS" EndMacro Macro FXCLEAR_512 Debug " ALL_MMX_CLEAR_SHIFTWORD_INC_CL" ; Debug " !MOV R8, QWORD [p_FXSAVE2]" For Loop=0 To 504 Step 8 Debug " !MOVNTQ QWORD [R8"+ReplaceString("+"+Str(Loop), "+-", "-")+"], mm5" Next For Loop=0 To 504 Step 8 Debug " !NOP QWORD [R8"+ReplaceString("+"+Str(Loop), "+-", "-")+"]" Next Debug " !EMMS" EndMacro Debug " Set_CL64" Debug " !NOP QWORD [Rip+16]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " !CALL QWORD Sleep" Debug " !NOP QWORD [Rip-32]" Debug " !NOP QWORD [Rip]" Debug " !NOP QWORD [Rip]" Debug " Global *FXSAVE, *FXSAVE2" Debug " BLSR_Rcx_x64" Debug " BLSR_Rdx_x64" Debug " BLSR_R8_x64" Debug " !INC R8b" Debug " !INC R8b" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !MOV R8b, R8b" Debug " !MOV R8w, R8w" Debug " !MOV R8, R8" Debug " !SHL R8, cl" ; 16,384 Debug " !XCHG Rcx, R8" Debug " !INC dl" Debug " !MOVZX Rdx, dl" Debug " !CALL PB_AllocateMemory2" Debug " BLSR_Rcx_x64" Debug " BLSR_R8_x64" Debug " !INC R8b" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !SHL R8, cl" ; 8,192 Debug " !MOV R8b, R8b" Debug " !MOV R8w, R8w" Debug " !MOV R8, R8" Debug " !MOV al, al" Debug " !MOV ah, ah" Debug " !MOV ax, ax" Debug " !MOV Rax, Rax" Debug " !ADD Rax, R8" Debug " !MOVNTI QWORD [p_FXSAVE], Rax" Debug " !NOP QWORD [p_FXSAVE]" ; "*FXSAVE = AllocateMemory(16384,1) + 8192" Debug " ALL_MMX_CLEAR_SHIFTWORD_INC_CL" Debug " !MOV R8, QWORD [p_FXSAVE]" FXCLEAR_ALL Debug " BLSR_Rcx_x64" Debug " BLSR_Rdx_x64" Debug " BLSR_R8_x64" Debug " !INC R8b" Debug " !INC R8b" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !MOV R8b, R8b" Debug " !MOV R8w, R8w" Debug " !MOV R8, R8" Debug " !SHL R8, cl" ; 16,384 Debug " !XCHG Rcx, R8" Debug " !INC dl" Debug " !MOVZX Rdx, dl" Debug " !CALL PB_AllocateMemory2" Debug " BLSR_Rcx_x64" Debug " BLSR_R8_x64" Debug " !INC R8b" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !INC cl" Debug " !SHL R8, cl" ; 8,192 Debug " !MOV R8b, R8b" Debug " !MOV R8w, R8w" Debug " !MOV R8, R8" Debug " !MOV al, al" Debug " !MOV ah, ah" Debug " !MOV ax, ax" Debug " !MOV Rax, Rax" Debug " !ADD Rax, R8" Debug " !MOVNTI QWORD [p_FXSAVE2], Rax" Debug " !NOP QWORD [p_FXSAVE2]" ; "*FXSAVE = AllocateMemory(16384,1) + 8192" Debug " ALL_MMX_CLEAR_SHIFTWORD_INC_CL" Debug " !MOV R8, QWORD [p_FXSAVE2]" FXCLEAR_ALL BeforeProcedureRegisters_RDSEED_SHR SIMPLE_MOVE_REGISTERS_Up_and_Down BeforeProcedureRegisters_NOP_EAX_BLSR BeforeProcedureRegisters_NOP_ESP_BLSR BeforeProcedureRegisters_MOVBE_BLSR BeforeProcedureRegisters_CRC32_BLSR BeforeProcedureRegisters_RDSEED_BLSR SIMPLE_MOVE_REGISTERS_Up_and_Down Debug " !MOV R8, QWORD [p_FXSAVE] " FXCACHE FXSAVE FXCACHE
オフライン
Ubuntu Japanse forum は技術解説を書く場所
PureBasic English forum はソースコード公開
My homepage は作例公開、代行開発は?億円以上
Ubuntu 向けには技術解説をするのは都合良いみたいで、限界突破技術の先鋒になってしまってる現在、
当てずっぽうでよいので解説を願うとか、技術根拠の証明は後回しで良いという。
そういう前提で書いていくので、突っ込まれても返答できんよ。
学術インターネットのメーリングリストで議論されたら良いと思う。
Intel CPU の問題点、16ビットから32ビットへ移行した際に、
デジタルジッターの存在に気付いても、誰もそこへスポットライトを当てて議論することはなかった。
日本の Yahoo ブログ では、
先端技術の研究開発に都合良いテーマを数百人規模で情報共有していたけれど、
Softbank社長は「不要」と判断して、おそらく数千億円の情報商材は消滅したという。そ
れで日本はさらなる不況へ陥っていった。
Softbankは日本の未来を考えていない、それを承認した国土交通省は外国の政府ではないのか?
音楽アプリ開発、データ操作
16ビット CPU
MOV Rax, [Sound Data variables] INT 16
32ビット CPU
MOVQ mm0, [Sound Data variables] FLOAT 32
MOVQ xmm0, [Sound Data variables] FLOAT 32
MOVQ [Sound Data variables], mm0 FLOAT 32
MOVQ [Sound Data variables], xmm0 FLOAT 32
MOV Rax, [Sound Data variables] INT 16
64ビット CPU
MOVQ mm0, [Sound Data variables] FLOAT 32
MOVQ Rax, mm0 FLOAT 32
このように変化している。何が問題になったのか?
オーバークロック愛好家では当たり前の常識として、
SSE命令は少し動作周波数が高い、動作電圧が高い、この問題を把握していた。
CPUレジスタで電圧差が生じても動作は問題ないという確認は、
途方もないテストの繰り返しで実現したと考えられる。
問題となったのは、デジタル出力した後工程にて、ジッター現象によるデータ異常の発生である。
データ異常の発生について、仮説
SCREEN カラープルーフ製品について、
正しい色管理を実現できると宣伝はしていたけれど、その科学的根拠は捏造であった。
初期のカラープルーフ製品は、
CMYK 8ビット 10ステップ イコライザー という調整によって、
直感調整に依存しており、正しいカラープルーフが出来ているという宣伝は間違っていた。
グレタグの高精度分光器が発売されると、
その絶対色座標を根拠に、CMYK LUT を使って、RGB to CMYK や CMYK to CTP color の
高精度調整は可能になった。しかし、高精度を維持する方法については「金目の情報」とされて、
SCREEN社内機密になっており、実際に技術指導する現場には伝えられなかった。
高精度に維持する方法
グレタグの高精度分光器は、ホワイトキャリブレーションを必要としており、
その白基準器は有効期限2年で4万円以上していた。
SCREEN社内で白基準器は「室内ダストで汚れても、汚れたまま」で運用されており、
印刷会社から1回10万円以上で受注した印刷プロファイルは
「汚れた白基準でホワイトキャリブレーション」していたので、
初期のカラープルーフ製品から「少し良い製品」という状態でも、誰もトラブルに気付かない。
私はグラフィック・アーツ・テクニカル・ファンデーションである
GATF カラーマッチング技術書を英語の原文で理解していたので、
SCREENへ問い合わせた時、私の技術理解に追いつけない状態になっていて、
これは社内機密でも異常すぎる状態になっていたのか、
知りすぎていた原因で、退職になるよう仕向けられたか。
印刷プロファイルの納品が多くなってきて、カラーマッチングできていないと分かった時、
「白基準は汚れていませんか、色温度が全体的にずれています。
それから白基準器の有効期限は2年ですので、交換が必要かもしれません」とSCREENへ伝えたら、
後日「白基準器が汚れていた」と連絡ありました。
カラーマッチングの技術書は、当時、日本語でもあったけれど、
それは何を基準に説明しているのか、意味不明の内容でした。
正確だったのは GATF 英語技術書 1997年で 1万円から2万円 のものです。
その内容を SCREEN 担当者は理解していなかったと考えられ、
社内機密ではなく、技術者不在によるトラブルと思う。
このようにカラーマッチングは宣伝とは逆に、
運用についてはSCREENでも情報共有されていない悪魔の商材になっていた。
この状態であったのに、新しい32ビットCPUでは
「ブラウン管キャリブレートモニター SONY」が運用に適切と、印刷業界で常識になっていった。
しかし、完全にカラーマッチングできていたのは、
「ブラウン管キャリブレートモニター Barco」だけだった。
その価格差は SONY 30万円、Barco 100万円、
これでは色が正しいのか、判断できない物が業界では使われていた。
この色情報管理技術は解説する技術書について、正しく記述されていない事が多く、
日本と米国で「赤色」は異なっている点には触れられていない。
日本・米国・独国、それぞれ印刷における高精度分光器の絶対基準は異なっており、
完全に理解していないと、アニメの色は正確にカラーマッチングした制作環境を実現できない。
だいたい、こんな感じ、
SCREEN に聞いても「そうでっか、しりまへん」
それでも書く理由、過去の担当者は「助けて!」
どこに問題があったのか?
CPUキャッシュについて、DWORD QWORD の取り扱いでは、ジッターの問題は無かった。
WORD の取り扱いについて、
インテルでは 16ビット CPU で CPUキャッシュ が存在しないという理由で、
内部設計の対象外になっていた、と思われる。
WORDクリア方法
Macro FX_WORD_REVERSE For Loop=-512 To 1022 Step 2 Debug " !NOP WORD [R8"+ReplaceString("+"+Str(Loop), "+-", "-")+"]" Debug " !FNOP" Debug " !FNOP" Next For Loop=-512 To 1022 Step 2 Debug " !NOT WORD [R8"+ReplaceString("+"+Str(Loop), "+-", "-")+"]" Debug " !FNOP" Debug " !FNOP" Next For Loop=-512 To 1022 Step 2 Debug " !NOP WORD [R8"+ReplaceString("+"+Str(Loop), "+-", "-")+"]" Debug " !FNOP" Debug " !FNOP" Next EndMacro Macro FX_DWORD_REVERSE For Loop=-512 To 1020 Step 4 Debug " !NOP DWORD [R8"+ReplaceString("+"+Str(Loop), "+-", "-")+"]" Debug " !FNOP" Debug " !FNOP" Next For Loop=-512 To 1020 Step 4 Debug " !NOT DWORD [R8"+ReplaceString("+"+Str(Loop), "+-", "-")+"]" Debug " !FNOP" Debug " !FNOP" Next For Loop=-512 To 1020 Step 4 Debug " !NOP DWORD [R8"+ReplaceString("+"+Str(Loop), "+-", "-")+"]" Debug " !FNOP" Debug " !FNOP" Next EndMacro Macro FX_QWORD_REVERSE For Loop=-512 To 1016 Step 8 Debug " !NOP QWORD [R8"+ReplaceString("+"+Str(Loop), "+-", "-")+"]" Debug " !FNOP" Debug " !FNOP" Next For Loop=-512 To 1016 Step 8 Debug " !NOT QWORD [R8"+ReplaceString("+"+Str(Loop), "+-", "-")+"]" Debug " !FNOP" Debug " !FNOP" Next For Loop=-512 To 1016 Step 8 Debug " !NOP QWORD [R8"+ReplaceString("+"+Str(Loop), "+-", "-")+"]" Debug " !FNOP" Debug " !FNOP" Next EndMacro Macro FXCLEAR_ALL Debug " ALL_MMX_CLEAR_SHIFTWORD_INC_CL" ; Debug " !MOV R8, QWORD [p_FXSAVE2]" For Loop=-512 To -8 Step 8 Debug " !MOVNTQ QWORD [R8"+ReplaceString("+"+Str(Loop), "+-", "-")+"], mm5" Next For Loop=0 To 504 Step 8 Debug " !MOVNTQ QWORD [R8"+ReplaceString("+"+Str(Loop), "+-", "-")+"], mm5" Next For Loop=0 To 504 Step 8 Debug " !NOP QWORD [R8"+ReplaceString("+"+Str(Loop), "+-", "-")+"]" Next For Loop=512 To 1016 Step 8 Debug " !MOVNTQ QWORD [R8"+ReplaceString("+"+Str(Loop), "+-", "-")+"], mm5" Next Debug " !EMMS" EndMacro FXCLEAR_ALL FX_WORD_REVERSE FXCLEAR_ALL FX_DWORD_REVERSE FXCLEAR_ALL FX_QWORD_REVERSE FXCLEAR_ALL
途中 FNOP 2行 を不審に思うだろう。
これは実行された時に「動作周波数を半分へ変更」するテクニックで、
オーバークロックされても「動作できる」というもの。
将来、FPU MMX を設計から除外して作ったら、クロックダウン処理を実現できず、
脆弱性を回避する手法が存在できなくなる。
ARM CPU で、クロックダウン命令を明記していれば、
Intel CPU の代わりになるだろうけれど、
現在はクロックダウン命令は無いので、電気自動車などの採用に向かない。
この WORD 処理によって、CPUキャッシュ WORD 初期化は実行できたと考えられる。
私のホームページで公開している作例は、アニメの表示品質をさらに改善して、
音楽再生ソフトは世界最強の位置にいるだろうと思わせる。
だから、代行開発を頼まれたソフトハウスは「数億円以上」を請求して当たり前なのだ。
いま、SCREEN 在籍時 株価 368円でした。現在は 20倍以上に高騰しています。
しかし、私の年収は SCREEN 退職後から 0円 を維持しています。
これでいいのだぁぁぁぁぁ!! (筋肉少女帯)
これでは結婚できんぞ
オフライン