+ argsPrefixmainChannelName windowWidth windowHeight _childChannel_windows _lastState_hwnds _lastPrune_pruning_ready _pendingSetup_sending_queued_lastSendErrorLog _handlerSet_busy_counterisOpen knownHwndsopenIdssendTileFromChild onTileActionsendDialogAnsweronDialogAnsweronWindowClosedopen _sanitize pushState _lastThumb_closing_sendCoalesced_send updateTitle_applySetupWhenReadyonClosed selftestChildclose pruneDeadstop_ensureHandler_onCall parseArgsCardWindowServiceTWindowMethodChannelmode ChannelModeunidirectionalMapStringWindowControllerdynamicintDateTimefromMillisecondsSinceEpochboolSet containsKeyvaluestoSetListkeystoListgrowableFuturevoidPaletteTileRequest invokeMethodtoJsontimeoutDurationseconds debugPrinteObjectforceremoveshow NativeBridgelistChildWindowscreateWindowConfigurationhiddenAtLaunch argumentsiwherecontainshreversedconfirmCardWindowdelayed millisecondshwndtitle unawaitedwindowIdlength replaceAlltrim isNotEmptyofnow differencesetCardWindowTitlesetupCardWindowwidthheightcalladdcloseCardWindowhideisEmptyentriescardWindowAlivevaluekeyclearsetMethodCallHandler MethodCallmethodhandleridstatefromJsonsplitfirst instanceIdtryParsey8·ÛØËºt/ÉžX©d„B dart:async„Z6package:desktop_multi_window/desktop_multi_window.dart„œpackage:flutter/foundation.dart„Çpackage:flutter/services.dart„ònative_bridge.dart…palette_tile.dart´3ÀxL‚ÁK€�€”€×��`�e�´‚‚J‚š‚Á‚ƃƒ`ƒ¬ƒø„5„?„A„W„Y„›„Æ„ï„ñ……,….…I…c…e…°…Յ׆†I†K†œ†£†ð‡;‡r‡•‡¹‡»ˆˆIˆ~ˆ”ˆ»ˆÁˆÃˆñ‰.‰0‰y‰¼‰¾Š Š:ЂУХŠ÷Šþ‹L‹•‹Á‹ëŒ0ŒwŒÃ��`��†�ÑŽŽKŽMŽ•ŽÊ��A�C�€�‡�Ò��l�»‘ ‘D‘ƒ‘¿‘è‘ê’6’…’©’Ç’ã’å““f“h“±“Ü“ã”5”„”Ε•J•L•�•ΕЖ––e–²——O—˜—£—¾—혘1˜k˜r˜w˜y˜Ì™™™`™g™²ššMšœšÜšã›+›w›Àœœ/œGœ]œsœ€œ‹œ¦œâ� �-�Q�_���£�æ�í�ò�ôžHžžž±ž³žóžúŸAŸ�ŸÝ   G I — Ñ¡¡!¡M¡T¡¢¡ê¢/¢n¢‘¢Þ£"£j£Œ£«£ó¤D¤Š¤”¤â¥1¥„¥Ï¥ý¦ ¦+¦q¦‰¦”¦©¦â¦ë§§5§<§‹§Õ§ç§ú¨N¨X¨m¨t¨‡¨’¨±¨î©©:©X©y©¿ªªTª`ªŽª¸ªºªú«>«@«d«n«½¬ ¬Q¬ ¬é¬ó­C­‘­à®/®|®Í¯¯\¯q¯«¯Ý°'°U°r°¸°Ð°û±5±L±`±m±x±’±Ü²²!²*²A²e²±²Ú²æ³6³ˆ³Ø´!´m´½µ µMµƒµ“µçµð¶¶O¶|¶†¶Î··`· ·´·Ç¸¸+¸M¸v¸‹¸œ¸²¸¹¸¾¸À¹¹[¹]¹–¹�¹êºººgº°º÷»F»�»Ò»Ù¼$¼q¼�¼¿¼×¼ø½½*½Q½o½˜½ã¾0¾?¾F¾}¾…¾Î¿¿_¿ª¿óÀ@:À@\À@dÀ@®À@úÀA-ÀA]ÀA£ÀAÆÀAñÀB!ÀBOÀB ÀBÛÀCÀC/ÀCXÀCaÀChÀC�ÀC¢ÀC¤ÀCèÀDÀDÀDeÀDlÀD³ÀDðÀE?ÀE†ÀEÔÀFÀF ÀFCÀFJÀF˜ÀFæÀG7ÀGŠÀGÂÀGÉÀHÀHfÀHžÀHÅÀHàÀHøÀIÀI&ÀIOÀIsÀI‚ÀI‰ÀI«ÀIÂÀIÍÀIãÀJÀJDÀJhÀJ€ÀJ‰ÀJšÀJ¿ÀJÆÀJËÀJÍÀJëÀKÀKÀK?ÀKLÀK›ÀKêÀL)ÀLYÀLdÀLuÀLžÀLÖÀLéÀM)ÀM3ÀM~ÀMÉÀNÀN3ÀNcÀNŒÀN®ÀN÷ÀOÀOÀO ÀOÀOUÀO\ÀOªÀOôÀP6ÀPRÀPYÀP¤ÀPëÀQ7ÀQbÀQ~ÀQÇÀR ÀRDÀRWÀRˆÀR�ÀRÞÀRãÀRåÀS%ÀS,ÀS{ÀSÇÀTÀTYÀT¡ÀTîÀU ÀU'ÀUsÀU©ÀUðÀV6ÀV„ÀV¨ÀVñÀW ÀWfÀWmÀW¤ÀWÆÀWúÀXÀX;ÀXXÀXˆÀX¥ÀXÄÀXÎÀYÀY0ÀYoÀYvÀYµÀYàÀZÀZ!ÀZ#ÀZaÀZœÀZ¾ÀZÞÀ[À[&À[MÀ[mÀ[ŽÀ[°À[ûÀ\JÀ\tÀ\›À\ À\¢À\îÀ]?À]À]¦À]ÄÀ]ÏÀ]àÀ^ À^<À^OÀ^“À^šÀ^ŸÀ^¡À^áÀ^èÀ_:À_ŒÀ_ÄÀ_ûÀ`À`AÀ`‹À`ÓÀaÀa7ÀaoÀawÀaÂÀb ÀbWÀb{ÀbšÀbÞÀc&ÀcIÀcyÀc¿ÀcÆÀcñÀd ÀdPÀddÀd�Àd§Àd¶ÀdþÀeÀeÀe&ÀeGÀe‰Àe«Àe°Àe²ÀfÀf:ÀfyÀf¦ÀfÇÀfÚÀg&Àg5Àg<ÀgSÀgiÀgtÀg²ÀgïÀhÀhÀh%Àh6ÀhOÀhVÀh[Àh]ÀhˆÀh Àh·ÀhÌÀhåÀhþÀiÀi/ÀiEÀi\ÀisÀixÀizÀiÈÀiüÀjJÀjLÀj|ÀjšÀjáÀk)ÀkvÀk±ÀkéÀlÀlÀl ÀlDÀl`ÀltÀlŠÀl¦ÀlòÀlþÀmHÀm—ÀmáÀn0ÀnYÀnyÀnžÀn¹ÀnãÀoÀo-ÀoiÀo”Ào£Ào°Ào»ÀoÑÀoæÀp2ÀpLÀpXÀp¦ÀpðÀq>Àq†Àq´ÀrÀr*ÀrCÀrjÀr¢Àr¸ÀrÌÀsÀs?Às_Às£ÀsÓÀsÞÀsôÀtÀtUÀt§Àt½ÀtÓÀtìÀu3Àu?ÀuUÀu\ÀunÀusÀuuÀuÃÀvÀvNÀvPÀv‰Àv×ÀvúÀw1ÀwgÀwnÀw|Àw¼ÀwñÀx<ÀxDÀxIÀxL„v/// 🪟 KART PENCERESİ — bir CATIA kartını bağımsız, taşınabilir pencereye /// "aktarır" (kullanıcı isteÄŸi: kartın saÄŸ üstündeki 🗖 düğmesi). /// /// MİMARİ (palette_service.dart ile AYNI kalıp, iki fark yerde): /// ana → alt : `state` (görünecek kartın tam verisi, JSON) /// alt → ana : `ready`, `tile` (kart aksiyonu — `PaletteTileRequest`) /// /// 📌 NEDEN AYRI PENCERE: kart penceresi `desktop_multi_window` ile açılır → /// kendi engine/isolate'ı vardır. Böylece (a) kartta CATIA meÅŸgulken ana /// pencere kilitlenmez, (b) kart baÅŸka bir sanal masaüstünde açıkken /// `provider` nesnesi PAYLAÅžILMAZ (bunun için kartın verisi JSON kanalından /// akar — bkz. `PaletteTileView`). /// /// 📌 TEK YAZICI KURALI: alt pencere KARAR VERMEZ; `ðŸ‘� öne getir`, `💾 kaydet`, /// `â–¶ makro` gibi her ÅŸey istek olarak ana pencereye gider ve orada /// `CatiaProvider.handlePaletteTileAction` ile YÜRÜTÜLÜR. Böylece "aynı /// fonksiyonlarla kontrol" isteÄŸi birebir karşılanır: alt pencere kendi /// iÅŸ kodu YAZMAZ, ana pencerenin aynı kapılarını çalar.„A„Y„›„Æ„ñ……K…\…^…K…K…]…Ì…¿…gk…¿M/// `multi_window` argümanının öneki (main.dart bu önekle yönlendirir).†1†…Ùm†6/// Alt pencerenin ana pencereye haber verdiÄŸi kanal.‡�‡�†M�E‡��1/// Pencere boyutu (FİZİKSEL px, mantıksal px DEĞİL — native böyle bekliyor). /// /// 📌 ORAN 16:10 — `CatiaListTile`'daki TV kartının `AspectRatio`'si ile /// AYNI. Pencere kart gibi görünsün diye oran birebir eÅŸitlenmiÅŸtir; /// farklı olursa içerik kırpılır / boÅŸluk kalır.‡³‡¤‡—‡¤ ˆhˆ{ˆ½ˆ‚ˆœˆ˜ˆžˆ©ˆªˆX‡½�ˆX€‡/// Alt pencere -> ana pencere kanali (ayri kanal adli: ayni pencere /// hem iki yonu kullanir ama `WindowMethodChannel` tek yonludur).‰)‰*‰ˆÅf‰./// 🪟 instanceId → pencere denetleyicisi.‰·‰¸‰ª‰2€‡‰ªP/// 🪟 instanceId → o kartın son gönderilen özeti (yeniden açılışta).Š5Š6Š,‰ÀwŠ,J/// instanceId -> kart penceresinin HWND'si (kapatma / canlilik kontrolu).ŠYŠaŠbŠ|Š~Š}ŠLŠŽEŽ?Ž5Чƒ¡Ž5ƒ…/// 🪟 Alt pencerenin kanala `setWindowMethodHandler` kaydını YAPTIGI kartlar. /// /// 🔴 KÖK NEDEN (ikinci pencere açılınca donma/çökme): `WindowController` /// oluÅŸturulurken alt motor HENÜZ baÅŸlamamıştır. `open()` bu arada /// `pushState` çağırırsa native taraf /// `CHANNEL_UNREGISTERED` döndürür: /// `Channel "mixin.one/window_controller/" not accessible` /// (bkz. `window_channel_plugin.cc` → `GetTarget`; pencere henüz /// `registerMethodHandler` çağırmamış). Her baÅŸarısız gönderim 700 ms /// `timeout` + günlük satırı demek; `open()` 8 kez denediÄŸi ve her pencere /// için ayrı çalıştığı için yük pencere sayısıyla KATLANARAK büyür ve /// UI thread'i kilitler. /// /// ÇÖZÜM: alt pencere `ready` gönderene kadar veri gönderilMEZ; veri /// `_lastState`'te bekler, `ready` gelince tek seferde gönderilir. �<�=��;��!�:�"�9�'�#�4�-�ŽO€ï�y/// instanceId -> `ready` geldikten sonra uygulanacak biçimlendirme. /// (HWND + baÅŸlık). Bkz. [_applySetupWhenReady].‘~‘‘p‘}‘q‘y‘e�E‚;‘e‚ /// Aynı pencereye aynı anda TEK gönderim (backpressure). /// /// 📌 NEDEN: `desktop_multi_window`ın `invokeMethod` çaÄŸrısı **senkron /// beklemelidir** (native'de `channel_->InvokeMethod` hedef engine'in /// yanıtını bekler). Alt pencere meÅŸgulse (PNG decode, kart çizimi) ana /// pencere bloklanır. `unawaited` çaÄŸrılar birikince kanal kuyruÄŸu ÅŸiÅŸer /// ve uygulama kilitlenir. Burada pencere başına tek uçuÅŸ sınırı koyup, /// sırada kalan veriyi EN YENİSİYLE birleÅŸtiriyoruz. ‘ã‘ä‘Å‘â‘Æ‘Αёá‘Ò‘Ú‘´‘…`‘´’\’d’e’’�’€’H‘쀖’HS/// Kanal hatası günlüğü için son yazma zamanı (hata fırtinasını kısar).’¡’“’‡’“’¿’·’«’·’ß’Ô’É’Ô™˜{€•™T/// 🗂 Alt pencereden gelen kart aksiyonu. `CatiaProvider` baÄŸlar (tek yazıcı).ž �ö€¸ž Z/// 💬➡ï¸� Alt pencereden gelen cevap isteÄŸi. `CatiaProvider` baÄŸlar (tek yazıcı). 6žµ�� 6�k/// 🪟✖ï¸� Kart penceresi kapandı (X, Alt+F4, ölüm temizliÄŸi). /// /// 📌 AMAÇ: `CatiaProvider` bu olayla kart başına tuttuÄŸu GÖNDERİM /// imzalarını/parmak izlerini temizler. Temizlenmezse aynı kart yeniden /// pencereye aktarıldığında ESKİ imza durur, ilk state "deÄŸiÅŸmemiÅŸ" sayılıp /// elenir ve pencere boÅŸ/karışık görünür.ÀDÀDÀD ÀC¦tÀD K/// Son gönderilen görüntü (kart başına) — deÄŸiÅŸim tespiti için.ÀFÀFÀEúÀFÀEûÀEïÀD!�ãÀEï�Í/// 🪟 Kapanış sürecindeki pencereler — bunlara GÖNDERİM YAPILMAZ. /// /// 🔴 ÇÖKMENİN KÖKÜ (29.09.2026): `invokeMethod` SENKRON beklidir; /// pencere motoru yok edilirken uçan bir çaÄŸrı native'da /// **use-after-free** yapıp uygulamayı düşürüyordu. Kullanıcı "iki pencere /// açtım, birini kapatırken program çöktü" diyordu — çünkü kapanan /// pencere hâlâ `_pushAllCardWindows` sırasındaki gönderim kuyruÄŸundaydı.“j“j�Þ•$�©/// 🪟 Kayıtlı KART penceresi HWND'leri (palet/ayarlar gibi diÄŸer alt /// pencereler BİLEREK dahil deÄŸildir). /// /// 📌 NEDEN: `PaletteService.ensure()` HWND'yi bulamayınca `listChildWindows` /// listesinden bir pencere seçiyordu ve `.last` alıyordu. Kart penceresi /// açıldığında liste sonunda O bulunduÄŸu için `setupPalette` yanlış /// pencereye uygulanıyordu. Bu liste onları ayırmak için.•N•N~•›3/// Açık kart pencerelerinin instance id listesi.“-“-“4’ç’ç}“&3/// Bu kart için zaten açık bir pencere var mı?—w—w—Š•Ò•Ò‚£—e�ˆ/// 🗂 Kart aksiyonu → ANA PENCERE (alt pencereden gönderilir). /// /// 📌 NEDEN BURADA: `onTileAction` geri çağırması yalnız ANA pencerede /// baÄŸlanır (bkz. `CatiaProvider` constructor). Alt pencerede o statik /// NULL'dur ve `?.call` sessizce hiçbir ÅŸey yapmaz — kullanıcı "düğmeler /// çalışmıyor" der. Bu metot alt pencereye özel, doÄŸrudan kanala yazar.œ3œ3œ:œKœKœOœaœaœe™™„Ùœƒ/// 💬➡ï¸� Kart penceresindeki sorunun [buttonIndex]. düğmesine tıklanır. /// /// ðŸ�› 29.09.2026 — KULLANICI: soru pencerede göründü ama cevap düğmesi /// çalışmıyordu. NEDEN: alt pencere `cardWindowMode`'da native snapshot /// dinlemez; `realWindowPid` boÅŸ olduÄŸu için `answerDialog` `pid <= 0` /// kontrolünde `false` dönüyor, tıklama hiç native'e gitmiyordu. Tıklama /// "tek yazıcı" kuralı gereÄŸi ANA pencerede yapılmalıdır. /// /// 📌 NOT: Pencere modu DIÅžINDA bu yol kullanılmaz; `CatiaProvider` /// doÄŸrudan `NativeBridge.answerCatiaDialog` çağırır. Alt pencere her /// zaman kendi `CatiaProvider`'ına sahip olduÄŸu için buradaki geri /// çağırma yalnız ana pencerede baÄŸlıdır (bkz. `onTileAction`).¢¢¢ ¢¢ ¢¡#¡#—™¢€Í/// 🪟 Kartı bağımsız pencereye aktarır. /// /// Aynı kart için zaten pencere varsa **yenisi açılmaz**, mevcut olan öne /// getirilir (kullanıcı düğmeye iki kez basıp iki pencere istemez).¹.¹.¹5¸Â¸Â€—¹$[/// BaÅŸlıktaki `|` karakterini temizler (argüman ayrıştırıcısını bozmamak için).¼Ã¼Ã¼Ê¼Û¼Û¼ð¹_¹_ŠA¼³ƒQ/// 📤 Kartın güncel verisini alt pencereye gönderir. /// /// Pencere henüz hazır deÄŸilse veri kaybolmaz: [_lastState]'a yazılır ve /// `open` tamamlanınca gönderilir. /// /// 📌 İMZA FİLTRESİ: `thumb` alanı base64 PNG'dir (yüzlerce KB). Her turda /// aynı kareyi yeniden göndermek kanalı boÄŸardı; bu yüzden görüntü /// deÄŸiÅŸmedikçe ATLANIR — alt pencerede o kare zaten duruyordur. /// 📌 İMZA FİLTRESİ: `thumb` alanı base64 PNG'dir (yüzlerce KB). Her turda /// aynı kareyi yeniden göndermek kanalı boÄŸardı; bu yüzden görüntü /// deÄŸiÅŸmedikçe ATLANIR — alt pencerede o kare zaten duruyordur. /// /// 🔴 HAZIR KAPISI: alt pencere `ready` göndermeden gönderim yapılmaz. /// Aksi halde native `CHANNEL_UNREGISTERED` döner ve her deneme 700 ms /// bekler (bkz. [_ready] açıklaması).ÀHÉÀHÉÀHÚÀHäÀHäÀHëÀHüÀHüÀIÀF ÀF „¾ÀH´‚˜/// 🔴 BACKPRESSURE: pencereye aynı anda TEK gönderim. /// /// `desktop_multi_window`ın `invokeMethod`'ı senkron beklemelidir (native /// `channel_->InvokeMethod` hedef engine'in cevabını bekler). Alt pencere /// meÅŸgulken (PNG decode + kartın tam yeniden çizimi) ana pencere bloklanır; /// `unawaited` çaÄŸrılar birikince kanal kuyruÄŸu ÅŸiÅŸer ve uygulama kilitlenir — /// pencereler arttıkça bu "kasma" katlanarak büyür. /// /// Burada pencere başına tek uçuÅŸ izni verilir; sıradaki veri [_queued]'ta /// TUTULUR ve en güncel haliyle birleÅŸtirilerek gönderilir (eski kareleri /// atarız — arayüz zaten en son durumu göstermeli).ÀJïÀJïÀKÀK ÀK ÀKÀK"ÀK"ÀK7ÀJÏÀJÏ„;ÀJãÀQ ÀQ ÀQÀQ ÀQ ÀQ'ÀOÀOƒÑÀQ�ý/// 🪟âœ�ï¸� Kart PENCERESİ baÅŸlığını günceller (konum/boyut deÄŸiÅŸmez). /// /// 📌 NEDEN: `SetupCardWindow` baÅŸlığı yalnız AÇILIÅžTA bir kez yazılıyor. /// Kart baÅŸlığı deÄŸiÅŸince (kullanıcı pencerede çift tıklayıp yazınca) /// Alt+Tab/görev çubuÄŸu ipucu ESKİ adı gösteriyordu → "baÅŸlık /// deÄŸiÅŸmedi" izlenimi. /// /// HWND yoksa (pencere henüz biçimlenmedi/yok) sessizce geçilir; görev /// `open` sırasında zaten `pending.title` ile yeni baÅŸlık yazılır.ÀUÔÀUÔÀUÛÀRçÀRç‡8ÀU¿‚Ð/// 🪗 `ready` geldikten SONRA pencerenin biçimlendirilmesi. /// /// 🔴 NEDEN GECİKLETİLDİ: `SetupCardWindow`, Flutter ÇOCUK HWND'sini bulup /// onu `CardChildProc` ile alt sınıflar (sürükleme + boyutlandırma bu /// alt sınıflamaya baÄŸlıdır). O çocuk pencere alt motorun `OnCreate` /// → `SetChildContent` adımında oluÅŸur. Motor henüz baÅŸlamadıysa /// `GetWindow(hwnd, GW_CHILD)` NULL döner, alt sınıflama sessizce /// atlanır ve pencere taşınamaz/kasılı kalır. Log kanıtı: `setup=true` /// 24.397'de, alt motor 24.472'de baÅŸlıyor. /// /// `ready` mesajı `setWindowMethodHandler` kaydından SONRA gönderildiÄŸi /// için o noktada çocuk HWND kesinlikle hazırdır.ÀZ€ÀZ€ÀZ‡ÀZ%ÀZ%‚yÀZw>/// ✕ ile pencere kapandı: kaydı sil (kart listede KALIR).À]cÀ]cÀ]jÀ\¤À\¤�ùÀ]U€£/// 🧪 Selftest: alt pencereye "kendi provider'ından düğmelere bas" der. /// Böylece zincir GERÇEK yoldan sınanır: alt provider → kanal → ana pencere.À_¨À_¨À_¯À^£À^£‡ À_¢€Þ/// Kart penceresini GERCEKTEN kapatir (kart listede KALIR). /// /// Onceki hata: `onClosed` yalniz kaydi siliyordu, pencere ekranda kaliyordu. /// Simdi native WM_CLOSE gonderilir; HWND yoksa/basarisizsa pencere gizlenir.Àf[Àf[Àf`ÀfhÀe´Àe´‚¥ÀfP€�/// Yikilmis (ornegin Alt+F4) pencerelerin kaydini temizler. Sik cagrilir, /// bu yuzden [force] olmadikca 1.5 sn'de bir calisir.Àh_Àh_�Àh–+/// Uygulama kapanışı / test temizliÄŸi.ÀjNÀjN�·ÀjbÀl*Àl*Àl5Àl Àl ‰fÀl"ÀvÈÀvÈ ÀvÏÀvRÀvR�õÀv¾:/// `multi_window` argümanından kart kimliÄŸini çözer.….….Às…4‚ÁK€�€”€×��`�e�´‚‚J‚š‚Á‚ƃƒ`ƒ¬ƒø„5„?„A„W„Y„›„Æ„ï„ñ……,….…I…c…e…°…Յ׆†I†K†œ†£†ð‡;‡r‡•‡¹‡»ˆˆIˆ~ˆ”ˆ»ˆÁˆÃˆñ‰.‰0‰y‰¼‰¾Š Š:ЂУХŠ÷Šþ‹L‹•‹Á‹ëŒ0ŒwŒÃ��`��†�ÑŽŽKŽMŽ•ŽÊ��A�C�€�‡�Ò��l�»‘ ‘D‘ƒ‘¿‘è‘ê’6’…’©’Ç’ã’å““f“h“±“Ü“ã”5”„”Ε•J•L•�•ΕЖ––e–²——O—˜—£—¾—혘1˜k˜r˜w˜y˜Ì™™™`™g™²ššMšœšÜšã›+›w›Àœœ/œGœ]œsœ€œ‹œ¦œâ� �-�Q�_���£�æ�í�ò�ôžHžžž±ž³žóžúŸAŸ�ŸÝ   G I — Ñ¡¡!¡M¡T¡¢¡ê¢/¢n¢‘¢Þ£"£j£Œ£«£ó¤D¤Š¤”¤â¥1¥„¥Ï¥ý¦ ¦+¦q¦‰¦”¦©¦â¦ë§§5§<§‹§Õ§ç§ú¨N¨X¨m¨t¨‡¨’¨±¨î©©:©X©y©¿ªªTª`ªŽª¸ªºªú«>«@«d«n«½¬ ¬Q¬ ¬é¬ó­C­‘­à®/®|®Í¯¯\¯q¯«¯Ý°'°U°r°¸°Ð°û±5±L±`±m±x±’±Ü²²!²*²A²e²±²Ú²æ³6³ˆ³Ø´!´m´½µ µMµƒµ“µçµð¶¶O¶|¶†¶Î··`· ·´·Ç¸¸+¸M¸v¸‹¸œ¸²¸¹¸¾¸À¹¹[¹]¹–¹�¹êºººgº°º÷»F»�»Ò»Ù¼$¼q¼�¼¿¼×¼ø½½*½Q½o½˜½ã¾0¾?¾F¾}¾…¾Î¿¿_¿ª¿óÀ@:À@\À@dÀ@®À@úÀA-ÀA]ÀA£ÀAÆÀAñÀB!ÀBOÀB ÀBÛÀCÀC/ÀCXÀCaÀChÀC�ÀC¢ÀC¤ÀCèÀDÀDÀDeÀDlÀD³ÀDðÀE?ÀE†ÀEÔÀFÀF ÀFCÀFJÀF˜ÀFæÀG7ÀGŠÀGÂÀGÉÀHÀHfÀHžÀHÅÀHàÀHøÀIÀI&ÀIOÀIsÀI‚ÀI‰ÀI«ÀIÂÀIÍÀIãÀJÀJDÀJhÀJ€ÀJ‰ÀJšÀJ¿ÀJÆÀJËÀJÍÀJëÀKÀKÀK?ÀKLÀK›ÀKêÀL)ÀLYÀLdÀLuÀLžÀLÖÀLéÀM)ÀM3ÀM~ÀMÉÀNÀN3ÀNcÀNŒÀN®ÀN÷ÀOÀOÀO ÀOÀOUÀO\ÀOªÀOôÀP6ÀPRÀPYÀP¤ÀPëÀQ7ÀQbÀQ~ÀQÇÀR ÀRDÀRWÀRˆÀR�ÀRÞÀRãÀRåÀS%ÀS,ÀS{ÀSÇÀTÀTYÀT¡ÀTîÀU ÀU'ÀUsÀU©ÀUðÀV6ÀV„ÀV¨ÀVñÀW ÀWfÀWmÀW¤ÀWÆÀWúÀXÀX;ÀXXÀXˆÀX¥ÀXÄÀXÎÀYÀY0ÀYoÀYvÀYµÀYàÀZÀZ!ÀZ#ÀZaÀZœÀZ¾ÀZÞÀ[À[&À[MÀ[mÀ[ŽÀ[°À[ûÀ\JÀ\tÀ\›À\ À\¢À\îÀ]?À]À]¦À]ÄÀ]ÏÀ]àÀ^ À^<À^OÀ^“À^šÀ^ŸÀ^¡À^áÀ^èÀ_:À_ŒÀ_ÄÀ_ûÀ`À`AÀ`‹À`ÓÀaÀa7ÀaoÀawÀaÂÀb ÀbWÀb{ÀbšÀbÞÀc&ÀcIÀcyÀc¿ÀcÆÀcñÀd ÀdPÀddÀd�Àd§Àd¶ÀdþÀeÀeÀe&ÀeGÀe‰Àe«Àe°Àe²ÀfÀf:ÀfyÀf¦ÀfÇÀfÚÀg&Àg5Àg<ÀgSÀgiÀgtÀg²ÀgïÀhÀhÀh%Àh6ÀhOÀhVÀh[Àh]ÀhˆÀh Àh·ÀhÌÀhåÀhþÀiÀi/ÀiEÀi\ÀisÀixÀizÀiÈÀiüÀjJÀjLÀj|ÀjšÀjáÀk)ÀkvÀk±ÀkéÀlÀlÀl ÀlDÀl`ÀltÀlŠÀl¦ÀlòÀlþÀmHÀm—ÀmáÀn0ÀnYÀnyÀnžÀn¹ÀnãÀoÀo-ÀoiÀo”Ào£Ào°Ào»ÀoÑÀoæÀp2ÀpLÀpXÀp¦ÀpðÀq>Àq†Àq´ÀrÀr*ÀrCÀrjÀr¢Àr¸ÀrÌÀsÀs?Às_Às£ÀsÓÀsÞÀsôÀtÀtUÀt§Àt½ÀtÓÀtìÀu3Àu?ÀuUÀu\ÀunÀusÀuuÀuÃÀvÀvNÀvPÀv‰Àv×ÀvúÀw1ÀwgÀwnÀw|Àw¼ÀwñÀx<ÀxDÀxIÀxLCardWindowService¢